Constant Contact Forms - Version 1.0.0

Version Description

  • Initial Release
Download this release

Release Info

Developer constantcontact
Plugin Icon 128x128 Constant Contact Forms
Version 1.0.0
Comparing to
See all releases

Version 1.0.0

Files changed (98) hide show
  1. assets/css/README.md +4 -0
  2. assets/css/admin-forms.css +373 -0
  3. assets/css/admin-global-no-connection.css +195 -0
  4. assets/css/admin-notices.css +24 -0
  5. assets/css/admin-pages.css +315 -0
  6. assets/css/oath.css +80 -0
  7. assets/css/style.css +115 -0
  8. assets/css/style.min.css +1 -0
  9. assets/images/README.md +4 -0
  10. assets/images/add-forms.png +0 -0
  11. assets/images/builder.png +0 -0
  12. assets/images/cc-login-connect.png +0 -0
  13. assets/images/cc-login.png +0 -0
  14. assets/images/cc-modal-bg.png +0 -0
  15. assets/images/cc-modal-logo.png +0 -0
  16. assets/images/check_circle.svg +6 -0
  17. assets/images/coffee-hero.jpg +0 -0
  18. assets/images/constant-contact-logo.png +0 -0
  19. assets/images/contacts.png +0 -0
  20. assets/images/ctct-icon-2x.png +0 -0
  21. assets/images/ctct-icon.png +0 -0
  22. assets/images/error.svg +6 -0
  23. assets/images/form-display.png +0 -0
  24. assets/images/icon.jpg +0 -0
  25. assets/images/question-mail-connect.png +0 -0
  26. assets/images/question-mail.png +0 -0
  27. assets/images/reporting.png +0 -0
  28. assets/images/stay-connected.png +0 -0
  29. assets/js/ctct-plugin-admin.js +371 -0
  30. assets/js/ctct-plugin-admin.min.js +1 -0
  31. assets/js/ctct-plugin-admin/builder.js +221 -0
  32. assets/js/ctct-plugin-admin/forms.js +30 -0
  33. assets/js/ctct-plugin-admin/modal.js +39 -0
  34. assets/js/ctct-plugin-admin/optins.js +78 -0
  35. assets/js/ctct-plugin-frontend.js +107 -0
  36. assets/js/ctct-plugin-frontend.min.js +1 -0
  37. assets/js/ctct-plugin-frontend/util.js +24 -0
  38. assets/js/ctct-plugin-frontend/validation.js +82 -0
  39. assets/sass/README.md +4 -0
  40. assets/sass/_forms.scss +35 -0
  41. assets/sass/_global.scss +31 -0
  42. assets/sass/_inputs.scss +51 -0
  43. assets/sass/_layout.scss +59 -0
  44. assets/sass/_mixins.scss +32 -0
  45. assets/sass/_modal.scss +231 -0
  46. assets/sass/_variables.scss +41 -0
  47. assets/sass/admin-forms.scss +117 -0
  48. assets/sass/admin-global-no-connection.scss +184 -0
  49. assets/sass/admin-notices.scss +25 -0
  50. assets/sass/admin-pages.scss +291 -0
  51. assets/sass/oath.scss +83 -0
  52. assets/sass/style.scss +12 -0
  53. assets/wporg/banner-1544x500.jpg +0 -0
  54. assets/wporg/banner-772x250.jpg +0 -0
  55. assets/wporg/icon-128x128.png +0 -0
  56. assets/wporg/icon-256x256.png +0 -0
  57. assets/wporg/screenshot-1.png +0 -0
  58. assets/wporg/screenshot-2.png +0 -0
  59. assets/wporg/screenshot-3.png +0 -0
  60. assets/wporg/screenshot-4.png +0 -0
  61. constant-contact-forms.php +586 -0
  62. gulpfile.js +173 -0
  63. includes/class-admin-pages.php +349 -0
  64. includes/class-admin.php +370 -0
  65. includes/class-api.php +791 -0
  66. includes/class-auth-redirect.php +90 -0
  67. includes/class-builder-fields.php +321 -0
  68. includes/class-builder.php +342 -0
  69. includes/class-check.php +149 -0
  70. includes/class-connect.php +461 -0
  71. includes/class-cpts.php +329 -0
  72. includes/class-display-shortcode.php +256 -0
  73. includes/class-display.php +1112 -0
  74. includes/class-lists.php +882 -0
  75. includes/class-mail.php +268 -0
  76. includes/class-middleware.php +171 -0
  77. includes/class-notification-content.php +90 -0
  78. includes/class-notifications.php +423 -0
  79. includes/class-process-form.php +579 -0
  80. includes/class-settings.php +649 -0
  81. includes/class-shortcode-admin.php +103 -0
  82. includes/class-shortcode.php +68 -0
  83. includes/class-updates.php +138 -0
  84. includes/helper-functions.php +59 -0
  85. languages/.gitkeep +0 -0
  86. languages/constant-contact-forms.pot +1236 -0
  87. license.txt +743 -0
  88. package.json +36 -0
  89. readme.txt +35 -0
  90. vendor/CMB2/bootstrap.php +66 -0
  91. vendor/CMB2/css/cmb2-front-rtl.css +2648 -0
  92. vendor/CMB2/css/cmb2-front-rtl.min.css +1 -0
  93. vendor/CMB2/css/cmb2-front.css +2648 -0
  94. vendor/CMB2/css/cmb2-front.css.map +7 -0
  95. vendor/CMB2/css/cmb2-front.min.css +1 -0
  96. vendor/CMB2/css/cmb2-rtl.css +3635 -0
  97. vendor/CMB2/css/cmb2-rtl.min.css +1 -0
  98. vendor/CMB2/css/cmb2.css +1309 -0
assets/css/README.md ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ # WDS Product Plugin Framework #
2
+ http://webdevstudios.com
3
+ Copyright (c) 2016 WebDevStudios
4
+ Licensed under the GPLv2 license.
assets/css/admin-forms.css ADDED
@@ -0,0 +1,373 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .ctct-modal {
2
+ -moz-osx-font-smoothing: grayscale;
3
+ -webkit-font-smoothing: antialiased;
4
+ background-color: rgba(0, 0, 0, 0.3);
5
+ bottom: 0;
6
+ display: none;
7
+ left: 0;
8
+ overflow: hidden;
9
+ position: fixed;
10
+ right: 0;
11
+ top: 0;
12
+ z-index: 9999;
13
+ }
14
+
15
+ .ctct-modal:after {
16
+ clear: both;
17
+ content: "";
18
+ display: table;
19
+ }
20
+
21
+ .ctct-modal h2 {
22
+ color: #fff;
23
+ font-size: 28px;
24
+ font-weight: 400;
25
+ line-height: 1.2;
26
+ margin: 0;
27
+ }
28
+
29
+ .ctct-modal h3 {
30
+ color: #005990;
31
+ font-size: 18px;
32
+ line-height: 1.2;
33
+ margin-bottom: 15px;
34
+ margin-top: 10px;
35
+ }
36
+
37
+ .ctct-modal p {
38
+ color: #555555;
39
+ font-size: 14.7px;
40
+ }
41
+
42
+ .ctct-modal.ctct-modal-open {
43
+ display: block;
44
+ overflow-x: hidden;
45
+ overflow-y: auto;
46
+ }
47
+
48
+ .ctct-modal .ctct-modal-dialog {
49
+ left: 50%;
50
+ position: absolute;
51
+ top: 50%;
52
+ transform: translate(-50%, -50%);
53
+ width: 100%;
54
+ max-width: 720px;
55
+ }
56
+
57
+ @media screen and (max-width: 1024px) {
58
+ .ctct-modal .ctct-modal-dialog {
59
+ max-width: 75%;
60
+ }
61
+ }
62
+
63
+ @media screen and (max-width: 782px) {
64
+ .ctct-modal .ctct-modal-dialog {
65
+ left: 7.5%;
66
+ top: 15%;
67
+ transform: translate(0, 0);
68
+ margin-bottom: 15%;
69
+ max-width: 85%;
70
+ }
71
+ }
72
+
73
+ .ctct-modal .ctct-modal-content {
74
+ background-clip: padding-box;
75
+ background-color: #ffffff;
76
+ border-radius: 8px;
77
+ box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.4);
78
+ outline: 0;
79
+ padding: rem(10);
80
+ position: relative;
81
+ }
82
+
83
+ .ctct-modal .ctct-modal-content .ctct-modal-header {
84
+ background: #88C5E2 url(../images/cc-modal-bg.png) 50% 50% no-repeat;
85
+ border-top-left-radius: 8px;
86
+ border-top-right-radius: 8px;
87
+ padding: 65px 20px 40px;
88
+ text-align: center;
89
+ }
90
+
91
+ .ctct-modal .ctct-modal-content .ctct-modal-header p {
92
+ color: #333333;
93
+ font-size: 16px;
94
+ margin-bottom: 0;
95
+ }
96
+
97
+ .ctct-modal .ctct-modal-content .ctct-modal-header .ctct-modal-close {
98
+ color: #ffffff;
99
+ cursor: pointer;
100
+ font-size: 26px;
101
+ height: 16px;
102
+ line-height: 0;
103
+ margin: 0;
104
+ outline: none;
105
+ padding: 0;
106
+ padding: 0;
107
+ position: absolute;
108
+ right: 10px;
109
+ text-decoration: none;
110
+ top: 18px;
111
+ width: 16px;
112
+ }
113
+
114
+ .ctct-modal .ctct-modal-content .ctct-modal-header .ctct-modal-close:after {
115
+ clear: both;
116
+ content: "";
117
+ display: table;
118
+ }
119
+
120
+ .ctct-modal .ctct-modal-content .ctct-modal-footer {
121
+ background-color: #EFEFEE;
122
+ border-bottom-left-radius: 8px;
123
+ border-bottom-right-radius: 8px;
124
+ border-top: 3px solid #fff;
125
+ padding: 15px 15px 18px;
126
+ text-align: center;
127
+ }
128
+
129
+ .ctct-modal .ctct-modal-content .ctct-modal-footer p {
130
+ margin: 0;
131
+ font-size: 16px;
132
+ }
133
+
134
+ .ctct-modal .ctct-modal-content .ctct-modal-footer a {
135
+ color: #0078C3;
136
+ text-decoration: underline;
137
+ }
138
+
139
+ .ctct-modal .ctct-modal-content .ctct-modal-body {
140
+ padding: 15px;
141
+ position: relative;
142
+ }
143
+
144
+ .ctct-modal .ctct-modal-content .ctct-modal-body:after {
145
+ clear: both;
146
+ content: "";
147
+ display: table;
148
+ }
149
+
150
+ .ctct-modal .ctct-modal-content .ctct-modal-body .ctct-modal-left,
151
+ .ctct-modal .ctct-modal-content .ctct-modal-body .ctct-modal-right {
152
+ float: left;
153
+ padding: 15px 50px 15px;
154
+ text-align: center;
155
+ width: 50%;
156
+ box-sizing: border-box;
157
+ }
158
+
159
+ @media screen and (max-width: 782px) {
160
+ .ctct-modal .ctct-modal-content .ctct-modal-body .ctct-modal-left,
161
+ .ctct-modal .ctct-modal-content .ctct-modal-body .ctct-modal-right {
162
+ width: 100%;
163
+ float: none;
164
+ }
165
+ }
166
+
167
+ .ctct-modal .ctct-modal-content .ctct-modal-body .ctct-modal-left img.ctct-modal-flare,
168
+ .ctct-modal .ctct-modal-content .ctct-modal-body .ctct-modal-left svg.ctct-modal-flare,
169
+ .ctct-modal .ctct-modal-content .ctct-modal-body .ctct-modal-right img.ctct-modal-flare,
170
+ .ctct-modal .ctct-modal-content .ctct-modal-body .ctct-modal-right svg.ctct-modal-flare {
171
+ max-width: 120px;
172
+ height: auto;
173
+ }
174
+
175
+ .ctct-modal .ctct-modal-content .ctct-modal-body .ctct-modal-left p,
176
+ .ctct-modal .ctct-modal-content .ctct-modal-body .ctct-modal-right p {
177
+ max-width: 90%;
178
+ margin: 0 auto 25px;
179
+ }
180
+
181
+ .ctct-modal .ctct-modal-content .ctct-modal-body .ctct-modal-left p.small,
182
+ .ctct-modal .ctct-modal-content .ctct-modal-body .ctct-modal-right p.small {
183
+ line-height: 1;
184
+ margin: 0;
185
+ max-width: 100%;
186
+ }
187
+
188
+ .ctct-modal .ctct-modal-content .ctct-modal-body .ctct-modal-left small,
189
+ .ctct-modal .ctct-modal-content .ctct-modal-body .ctct-modal-right small {
190
+ font-style: italic;
191
+ }
192
+
193
+ .ctct-modal .ctct-modal-content .ctct-modal-body .ctct-modal-left {
194
+ border-right: 1px solid #EFEFEE;
195
+ }
196
+
197
+ @media screen and (max-width: 782px) {
198
+ .ctct-modal .ctct-modal-content .ctct-modal-body .ctct-modal-left {
199
+ border-bottom: 1px solid #EFEFEE;
200
+ border-right: 0;
201
+ }
202
+ }
203
+
204
+ .ctct-modal .ctct-modal-content .ctct-modal-body .ctct-modal-right {
205
+ border-left: 2px solid #EFEFEE;
206
+ }
207
+
208
+ @media screen and (max-width: 782px) {
209
+ .ctct-modal .ctct-modal-content .ctct-modal-body .ctct-modal-right {
210
+ border-top: 1px solid #EFEFEE;
211
+ border-left: 0;
212
+ }
213
+ }
214
+
215
+ .ctct-modal .ctct-modal-content .ctct-modal-body .button {
216
+ border-radius: 4px;
217
+ color: #fff;
218
+ font-size: 16px;
219
+ font-weight: 600;
220
+ height: auto;
221
+ line-height: 1;
222
+ margin-bottom: 10px;
223
+ min-width: 180px;
224
+ padding: 14px 30px;
225
+ }
226
+
227
+ .ctct-modal .ctct-modal-content .ctct-modal-body .button.button-orange {
228
+ background-color: #FFA901;
229
+ border: 1px solid #cd8800;
230
+ }
231
+
232
+ .ctct-modal .ctct-modal-content .ctct-modal-body .button.button-orange:hover, .ctct-modal .ctct-modal-content .ctct-modal-body .button.button-orange:focus {
233
+ background-color: #cd8800;
234
+ }
235
+
236
+ .ctct-modal .ctct-modal-content .ctct-modal-body .button.button-blue {
237
+ background-color: #0078C3;
238
+ border: 1px solid #005990;
239
+ }
240
+
241
+ .ctct-modal .ctct-modal-content .ctct-modal-body .button.button-blue:hover, .ctct-modal .ctct-modal-content .ctct-modal-body .button.button-blue:focus {
242
+ background-color: #005990;
243
+ }
244
+
245
+ .misc-pub-section.misc-pub-visibility, .misc-pub-section.misc-pub-curtime {
246
+ display: none;
247
+ }
248
+
249
+ body.post-type-ctct_lists .misc-pub-post-status {
250
+ display: none;
251
+ }
252
+
253
+ body.post-type-ctct_forms #titlediv #title {
254
+ height: 2.7em;
255
+ }
256
+
257
+ .ctct-admin-title-details {
258
+ font-size: .6em;
259
+ vertical-align: middle;
260
+ display: block;
261
+ line-height: 2em;
262
+ }
263
+
264
+ #cmb2-metabox-ctct_1_optin_metabox .cmb2-id--ctct-opt-in-instructions,
265
+ #cmb2-metabox-ctct_1_optin_metabox .cmb2-id--ctct-opt-in {
266
+ display: none;
267
+ }
268
+
269
+ #ctct_0_description_metabox #custom_fields_group_repeat .cmb-field-list .cmb-row:not(:last-of-type),
270
+ #ctct_1_optin_metabox #custom_fields_group_repeat .cmb-field-list .cmb-row:not(:last-of-type),
271
+ #ctct_2_fields_metabox #custom_fields_group_repeat .cmb-field-list .cmb-row:not(:last-of-type) {
272
+ border-bottom: none;
273
+ padding-bottom: 0.1em;
274
+ }
275
+
276
+ #ctct_0_description_metabox #custom_fields_group_repeat .required,
277
+ #ctct_1_optin_metabox #custom_fields_group_repeat .required,
278
+ #ctct_2_fields_metabox #custom_fields_group_repeat .required {
279
+ padding-bottom: 0.1em;
280
+ padding-top: 0.1em;
281
+ }
282
+
283
+ #ctct_0_description_metabox #default_fields_group_repeat .cmb-field-list > .cmb-row,
284
+ #ctct_1_optin_metabox #default_fields_group_repeat .cmb-field-list > .cmb-row,
285
+ #ctct_2_fields_metabox #default_fields_group_repeat .cmb-field-list > .cmb-row {
286
+ padding-top: 0.5em;
287
+ }
288
+
289
+ #ctct_0_description_metabox #default_fields_group_repeat .cmb-field-list > .cmb-row:not(:last-of-type),
290
+ #ctct_1_optin_metabox #default_fields_group_repeat .cmb-field-list > .cmb-row:not(:last-of-type),
291
+ #ctct_2_fields_metabox #default_fields_group_repeat .cmb-field-list > .cmb-row:not(:last-of-type) {
292
+ padding-bottom: 0.1em;
293
+ border-bottom: 1px solid #e9e9e9 !important;
294
+ }
295
+
296
+ #ctct_0_description_metabox .cmb-repeat-group-wrap .cmb-repeatable-grouping,
297
+ #ctct_1_optin_metabox .cmb-repeat-group-wrap .cmb-repeatable-grouping,
298
+ #ctct_2_fields_metabox .cmb-repeat-group-wrap .cmb-repeatable-grouping {
299
+ margin: 0 0 1.5em 0;
300
+ }
301
+
302
+ #ctct_0_description_metabox .cmb-repeat-group-wrap .cmb-repeatable-grouping .cmb-row,
303
+ #ctct_1_optin_metabox .cmb-repeat-group-wrap .cmb-repeatable-grouping .cmb-row,
304
+ #ctct_2_fields_metabox .cmb-repeat-group-wrap .cmb-repeatable-grouping .cmb-row {
305
+ margin: 0 0 0 0.3em;
306
+ }
307
+
308
+ #ctct_0_description_metabox .postbox-container .cmb-remove-field-row,
309
+ #ctct_1_optin_metabox .postbox-container .cmb-remove-field-row,
310
+ #ctct_2_fields_metabox .postbox-container .cmb-remove-field-row {
311
+ padding-top: 0.8em;
312
+ padding-bottom: 0.8em;
313
+ }
314
+
315
+ #ctct_0_description_metabox .cmb-repeat-group-wrap,
316
+ #ctct_1_optin_metabox .cmb-repeat-group-wrap,
317
+ #ctct_2_fields_metabox .cmb-repeat-group-wrap {
318
+ padding: 0 !important;
319
+ }
320
+
321
+ #ctct_0_description_metabox .cmb-repeat-group-wrap .cmb-repeat-group-field,
322
+ #ctct_1_optin_metabox .cmb-repeat-group-wrap .cmb-repeat-group-field,
323
+ #ctct_2_fields_metabox .cmb-repeat-group-wrap .cmb-repeat-group-field {
324
+ padding-top: 0.2em;
325
+ }
326
+
327
+ #ctct_0_description_metabox button.cmb-add-group-row,
328
+ #ctct_1_optin_metabox button.cmb-add-group-row,
329
+ #ctct_2_fields_metabox button.cmb-add-group-row {
330
+ color: white !important;
331
+ background: #008ec2 !important;
332
+ border-color: #006799 !important;
333
+ }
334
+
335
+ #ctct_0_description_metabox .cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row,
336
+ #ctct_1_optin_metabox .cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row,
337
+ #ctct_2_fields_metabox .cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row {
338
+ top: .3em;
339
+ }
340
+
341
+ #ctct_0_description_metabox button.cmb-remove-group-row,
342
+ #ctct_1_optin_metabox button.cmb-remove-group-row,
343
+ #ctct_2_fields_metabox button.cmb-remove-group-row {
344
+ background: #ffdfa3 !important;
345
+ }
346
+
347
+ #ctct_0_description_metabox button.cmb-remove-group-row,
348
+ #ctct_1_optin_metabox button.cmb-remove-group-row,
349
+ #ctct_2_fields_metabox button.cmb-remove-group-row {
350
+ display: none;
351
+ }
352
+
353
+ #ctct_0_description_metabox h3.cmb-group-title.cmbhandle-title,
354
+ #ctct_1_optin_metabox h3.cmb-group-title.cmbhandle-title,
355
+ #ctct_2_fields_metabox h3.cmb-group-title.cmbhandle-title {
356
+ padding-left: 1em;
357
+ }
358
+
359
+ #ctct_1_optin_metabox .cmb-row {
360
+ border-bottom: none;
361
+ }
362
+
363
+ #ctct_1_optin_metabox .cmb2-id--ctct-list {
364
+ padding-bottom: 0.5em;
365
+ }
366
+
367
+ #ctct_1_optin_metabox .cmb-th {
368
+ width: 25%;
369
+ }
370
+
371
+ #ctct_1_optin_metabox .cmb-th + .cmb-td {
372
+ width: 70%;
373
+ }
assets/css/admin-global-no-connection.css ADDED
@@ -0,0 +1,195 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #adminmenu .wp-submenu a[href="edit.php?post_type=ctct_forms&page=ctct_options_connect"] {
2
+ color: #3ad182;
3
+ }
4
+
5
+ .ctct_options_connect {
6
+ box-sizing: border-box;
7
+ padding: 70px;
8
+ text-align: center;
9
+ width: 100%;
10
+ }
11
+
12
+ @media screen and (max-width: 782px) {
13
+ .ctct_options_connect {
14
+ padding: 30px 30px 0;
15
+ margin-left: -10px;
16
+ }
17
+ }
18
+
19
+ .ctct_options_connect img {
20
+ width: 100%;
21
+ max-width: 400px;
22
+ height: auto;
23
+ }
24
+
25
+ .ctct_options_connect h3 {
26
+ color: #005990;
27
+ font-size: 20px;
28
+ line-height: 1.2;
29
+ margin-bottom: 10px;
30
+ margin-top: 10px;
31
+ }
32
+
33
+ .ctct_options_connect p {
34
+ color: #606d78;
35
+ font-size: 14.7px;
36
+ }
37
+
38
+ .ctct_options_connect p.ctct-description {
39
+ font-size: 16px;
40
+ margin-bottom: 15px;
41
+ margin-top: 5px;
42
+ }
43
+
44
+ .ctct_options_connect p.small {
45
+ color: #747e88;
46
+ font-size: 13.3px;
47
+ margin: 15px auto 0;
48
+ max-width: 60%;
49
+ }
50
+
51
+ @media screen and (max-width: 782px) {
52
+ .ctct_options_connect p.small {
53
+ max-width: 100%;
54
+ }
55
+ }
56
+
57
+ .ctct_options_connect .ctct-body {
58
+ margin: 0 auto;
59
+ max-width: 75%;
60
+ overflow-y: hidden;
61
+ position: relative;
62
+ }
63
+
64
+ .ctct_options_connect .ctct-body:after {
65
+ clear: both;
66
+ content: "";
67
+ display: table;
68
+ }
69
+
70
+ .ctct_options_connect .ctct-body .clear {
71
+ width: 100%;
72
+ clear: both;
73
+ height: 0;
74
+ }
75
+
76
+ .ctct_options_connect .ctct-body .left,
77
+ .ctct_options_connect .ctct-body .right {
78
+ box-sizing: border-box;
79
+ box-sizing: border-box;
80
+ float: left;
81
+ margin-bottom: -500px;
82
+ padding: 15px 0px 520px;
83
+ text-align: center;
84
+ width: 50%;
85
+ }
86
+
87
+ @media screen and (max-width: 782px) {
88
+ .ctct_options_connect .ctct-body .left,
89
+ .ctct_options_connect .ctct-body .right {
90
+ float: none;
91
+ margin-bottom: 0;
92
+ padding: 15px 0;
93
+ width: 100%;
94
+ }
95
+ }
96
+
97
+ .ctct_options_connect .ctct-body .left img.flare,
98
+ .ctct_options_connect .ctct-body .left svg.flare,
99
+ .ctct_options_connect .ctct-body .right img.flare,
100
+ .ctct_options_connect .ctct-body .right svg.flare {
101
+ width: 180px;
102
+ height: auto;
103
+ }
104
+
105
+ .ctct_options_connect .ctct-body .left {
106
+ border-right: 1px solid #ddd;
107
+ padding-right: 70px;
108
+ }
109
+
110
+ @media screen and (max-width: 782px) {
111
+ .ctct_options_connect .ctct-body .left {
112
+ border-bottom: 1px solid #ddd;
113
+ border-right: 0;
114
+ padding-bottom: 30px;
115
+ padding-right: 0;
116
+ }
117
+ }
118
+
119
+ .ctct_options_connect .ctct-body .left p {
120
+ max-width: 220px;
121
+ margin: 0 auto 25px;
122
+ }
123
+
124
+ @media screen and (max-width: 782px) {
125
+ .ctct_options_connect .ctct-body .left p {
126
+ max-width: 100%;
127
+ }
128
+ }
129
+
130
+ .ctct_options_connect .ctct-body .right {
131
+ padding-left: 70px;
132
+ }
133
+
134
+ @media screen and (max-width: 782px) {
135
+ .ctct_options_connect .ctct-body .right {
136
+ padding-left: 0;
137
+ padding-top: 30px;
138
+ }
139
+ }
140
+
141
+ .ctct_options_connect .ctct-body .right p {
142
+ display: block;
143
+ max-width: 350px;
144
+ margin: 0 auto 25px;
145
+ }
146
+
147
+ @media screen and (max-width: 782px) {
148
+ .ctct_options_connect .ctct-body .right p {
149
+ max-width: 100%;
150
+ }
151
+ }
152
+
153
+ .ctct_options_connect .ctct-body .button {
154
+ border-radius: 4px;
155
+ color: #fff;
156
+ font-size: 16px;
157
+ font-weight: 600;
158
+ height: auto;
159
+ line-height: 1;
160
+ margin-bottom: 10px;
161
+ min-width: 180px;
162
+ padding: 14px 30px;
163
+ }
164
+
165
+ .ctct_options_connect .ctct-body .button.button-orange {
166
+ background-color: #FFA901;
167
+ border: 1px solid #cd8800;
168
+ }
169
+
170
+ .ctct_options_connect .ctct-body .button.button-orange:hover, .ctct_options_connect .ctct-body .button.button-orange:focus {
171
+ background-color: #cd8800;
172
+ }
173
+
174
+ .ctct_options_connect .ctct-body .button.button-blue {
175
+ background-color: #0078C3;
176
+ border: 1px solid #005990;
177
+ }
178
+
179
+ .ctct_options_connect .ctct-body .button.button-blue:hover, .ctct_options_connect .ctct-body .button.button-blue:focus {
180
+ background-color: #005990;
181
+ }
182
+
183
+ .error {
184
+ background: none !important;
185
+ border-left: 1px solid #FF4136 !important;
186
+ border-radius: 3px;
187
+ border: 1px solid #FF4136;
188
+ box-shadow: none !important;
189
+ display: inline-block;
190
+ margin: 0 0 20px 0 !important;
191
+ }
192
+
193
+ .error p {
194
+ color: #FF4136 !important;
195
+ }
assets/css/admin-notices.css ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .updated.ctct-admin-notice,
2
+ .error.ctct-admin-notice {
3
+ padding: 1em 38px 1em 1em;
4
+ position: relative;
5
+ }
6
+
7
+ a.ctct-notice-dismiss {
8
+ text-decoration: none;
9
+ }
10
+
11
+ #ctct-admin-notice-activation {
12
+ padding: 1em 1em 0 1em;
13
+ }
14
+
15
+ #ctct-admin-notice-activation .ctct-notice-intro {
16
+ max-width: 600px;
17
+ line-height: 1.5em;
18
+ }
19
+
20
+ #ctct-admin-notice-activation .ctct-notice-button,
21
+ #ctct-admin-notice-activation .ctct-notice-button:active {
22
+ vertical-align: middle;
23
+ margin: .5em;
24
+ }
assets/css/admin-pages.css ADDED
@@ -0,0 +1,315 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .constant-contact-about {
2
+ padding: 15px;
3
+ }
4
+
5
+ @media screen and (max-width: 782px) {
6
+ .constant-contact-about {
7
+ padding: 0;
8
+ }
9
+ }
10
+
11
+ .constant-contact-about h1.about-header {
12
+ color: #1a5285;
13
+ font-size: 26px;
14
+ margin: 0 0 15px 0;
15
+ }
16
+
17
+ .constant-contact-about h3 {
18
+ padding: 20px 0;
19
+ }
20
+
21
+ .constant-contact-about p {
22
+ font-size: 16px;
23
+ font-weight: 300;
24
+ color: #333333;
25
+ }
26
+
27
+ .constant-contact-about .clear {
28
+ width: 100%;
29
+ clear: both;
30
+ height: 0;
31
+ }
32
+
33
+ .constant-contact-about .button {
34
+ border-radius: 4px;
35
+ color: #fff;
36
+ font-size: 16px;
37
+ font-weight: 600;
38
+ height: auto;
39
+ line-height: 1;
40
+ margin-bottom: 10px;
41
+ min-width: 180px;
42
+ padding: 14px 30px;
43
+ text-align: center;
44
+ }
45
+
46
+ .constant-contact-about .button.button-orange {
47
+ background-color: #FFA901;
48
+ border: 1px solid #cd8800;
49
+ }
50
+
51
+ .constant-contact-about .button.button-orange:hover, .constant-contact-about .button.button-orange:focus {
52
+ background-color: #cd8800;
53
+ }
54
+
55
+ .constant-contact-about .button.button-blue {
56
+ background-color: #0078C3;
57
+ border: 1px solid #005990;
58
+ }
59
+
60
+ .constant-contact-about .button.button-blue:hover, .constant-contact-about .button.button-blue:focus {
61
+ background-color: #005990;
62
+ }
63
+
64
+ .constant-contact-about .about-text {
65
+ margin: 0 50px 0 0;
66
+ }
67
+
68
+ @media screen and (max-width: 482px) {
69
+ .constant-contact-about .about-text {
70
+ margiun: 0;
71
+ }
72
+ }
73
+
74
+ .constant-contact-about .feature-section.two-col > div {
75
+ width: 49%;
76
+ float: left;
77
+ }
78
+
79
+ .constant-contact-about .headline-feature {
80
+ max-width: 90%;
81
+ }
82
+
83
+ @media screen and (max-width: 782px) {
84
+ .constant-contact-about .headline-feature {
85
+ max-width: 100%;
86
+ }
87
+ }
88
+
89
+ .constant-contact-about .headline-feature p {
90
+ margin-bottom: 0;
91
+ }
92
+
93
+ .constant-contact-about .headline-feature h5 {
94
+ font-weight: 300;
95
+ color: #747e88;
96
+ font-style: italic;
97
+ }
98
+
99
+ .constant-contact-about .headline-title, .constant-contact-about .c-text {
100
+ text-align: center;
101
+ }
102
+
103
+ .constant-contact-about .featured-image {
104
+ min-height: 150px;
105
+ position: relative;
106
+ }
107
+
108
+ .constant-contact-about .fff-img {
109
+ height: 315px;
110
+ margin: 20px;
111
+ overflow: hidden;
112
+ max-width: 720px;
113
+ }
114
+
115
+ .constant-contact-about .introduction {
116
+ padding: 20px 0;
117
+ }
118
+
119
+ .constant-contact-about .featured-title {
120
+ color: white;
121
+ font-size: 2em;
122
+ font-weight: bold;
123
+ margin: 0 auto;
124
+ position: absolute;
125
+ text-align: center;
126
+ text-shadow: 0 0 15px #000;
127
+ top: 80px;
128
+ width: 100%;
129
+ }
130
+
131
+ @media screen and (max-width: 482px) {
132
+ .constant-contact-about .featured-title {
133
+ color: #1a5285;
134
+ font-size: 26px;
135
+ line-height: 28px;
136
+ margin-top: 15px;
137
+ position: relative;
138
+ text-shadow: none;
139
+ top: 0;
140
+ }
141
+ }
142
+
143
+ .constant-contact-about .featured-introduction {
144
+ color: white;
145
+ font-size: 1.2em;
146
+ margin: 0 auto;
147
+ position: absolute;
148
+ text-align: center;
149
+ text-shadow: 0 0 15px #000;
150
+ top: 120px;
151
+ width: 100%;
152
+ }
153
+
154
+ @media screen and (max-width: 482px) {
155
+ .constant-contact-about .featured-introduction {
156
+ color: #1a5285;
157
+ line-height: 1;
158
+ margin-top: 15px;
159
+ position: relative;
160
+ text-shadow: none;
161
+ top: 0;
162
+ }
163
+ }
164
+
165
+ .constant-contact-about .hide-overflow {
166
+ overflow: hidden;
167
+ position: relative;
168
+ }
169
+
170
+ .constant-contact-about .hide-overflow hr {
171
+ margin-top: 30px;
172
+ }
173
+
174
+ .constant-contact-about .hide-overflow h2 {
175
+ font-weight: 400;
176
+ font-size: 16px;
177
+ color: #1a5285;
178
+ text-align: left;
179
+ margin-top: 30px;
180
+ }
181
+
182
+ .constant-contact-about .left-side {
183
+ float: left;
184
+ box-sizing: border-box;
185
+ padding-right: 160px;
186
+ }
187
+
188
+ @media screen and (max-width: 482px) {
189
+ .constant-contact-about .left-side {
190
+ padding-right: 0;
191
+ }
192
+ }
193
+
194
+ .constant-contact-about .plugin-badge {
195
+ position: absolute;
196
+ top: 10px;
197
+ right: 0;
198
+ max-height: 180px;
199
+ max-width: 160px;
200
+ }
201
+
202
+ @media screen and (max-width: 482px) {
203
+ .constant-contact-about .plugin-badge {
204
+ display: none;
205
+ }
206
+ }
207
+
208
+ .constant-contact-about .feature-image {
209
+ text-align: center;
210
+ }
211
+
212
+ .cc-a-block {
213
+ margin: 0 auto;
214
+ max-width: 90%;
215
+ padding: 50px 0;
216
+ text-align: center;
217
+ }
218
+
219
+ .cc-a-block:after {
220
+ clear: both;
221
+ content: "";
222
+ display: table;
223
+ }
224
+
225
+ @media screen and (max-width: 482px) {
226
+ .cc-a-block {
227
+ padding: 25px 0;
228
+ }
229
+ }
230
+
231
+ .cc-a-block h3 {
232
+ color: #1a5285;
233
+ font-size: 21px;
234
+ font-weight: 300;
235
+ height: 63px;
236
+ margin: 0 auto;
237
+ max-width: 70%;
238
+ }
239
+
240
+ @media screen and (max-width: 782px) {
241
+ .cc-a-block h3 {
242
+ height: auto;
243
+ max-width: 100%;
244
+ }
245
+ }
246
+
247
+ .cc-a-block .left,
248
+ .cc-a-block .right {
249
+ float: left;
250
+ width: 50%;
251
+ }
252
+
253
+ .cc-a-block .left:after,
254
+ .cc-a-block .right:after {
255
+ clear: both;
256
+ content: "";
257
+ display: table;
258
+ }
259
+
260
+ @media screen and (max-width: 482px) {
261
+ .cc-a-block .left,
262
+ .cc-a-block .right {
263
+ width: 100%;
264
+ float: none;
265
+ }
266
+ }
267
+
268
+ .cc-a-block .left .ad-1,
269
+ .cc-a-block .left .ad-2,
270
+ .cc-a-block .right .ad-1,
271
+ .cc-a-block .right .ad-2 {
272
+ width: 90%;
273
+ }
274
+
275
+ @media screen and (max-width: 482px) {
276
+ .cc-a-block .left .ad-1,
277
+ .cc-a-block .left .ad-2,
278
+ .cc-a-block .right .ad-1,
279
+ .cc-a-block .right .ad-2 {
280
+ width: 100%;
281
+ float: none;
282
+ }
283
+ }
284
+
285
+ .cc-a-block .left .ad-1 img,
286
+ .cc-a-block .left .ad-2 img,
287
+ .cc-a-block .right .ad-1 img,
288
+ .cc-a-block .right .ad-2 img {
289
+ width: 100%;
290
+ height: auto;
291
+ }
292
+
293
+ .cc-a-block .left .ad-1,
294
+ .cc-a-block .right .ad-1 {
295
+ float: left;
296
+ }
297
+
298
+ .cc-a-block .left .ad-1 h3,
299
+ .cc-a-block .right .ad-1 h3 {
300
+ padding-top: 35px;
301
+ height: 47px;
302
+ }
303
+
304
+ .cc-a-block .left .ad-2,
305
+ .cc-a-block .right .ad-2 {
306
+ float: right;
307
+ }
308
+
309
+ .ctct-bonus-points {
310
+ list-style: circle;
311
+ padding-left: 50px;
312
+ font-size: 16px;
313
+ font-weight: 300;
314
+ color: #2b5e8c;
315
+ }
assets/css/oath.css ADDED
@@ -0,0 +1,80 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .ctct-logo {
2
+ max-width: 400px;
3
+ }
4
+
5
+ .ctct_options_connect {
6
+ box-sizing: border-box;
7
+ padding: 70px;
8
+ text-align: center;
9
+ width: 100%;
10
+ }
11
+
12
+ @media screen and (max-width: 782px) {
13
+ .ctct_options_connect {
14
+ padding: 30px 30px 0;
15
+ margin-left: -10px;
16
+ }
17
+ }
18
+
19
+ .ctct_options_connect img {
20
+ width: 100%;
21
+ max-width: 400px;
22
+ height: auto;
23
+ }
24
+
25
+ .ctct_options_connect p {
26
+ color: #606d78;
27
+ font-size: 16px;
28
+ }
29
+
30
+ .ctct_options_connect .ctct-body {
31
+ margin: 0 auto;
32
+ max-width: 75%;
33
+ overflow-y: hidden;
34
+ padding: 0 15px;
35
+ position: relative;
36
+ }
37
+
38
+ .ctct_options_connect .ctct-body:after {
39
+ clear: both;
40
+ content: "";
41
+ display: table;
42
+ }
43
+
44
+ .ctct_options_connect .ctct-body .notice {
45
+ background: none;
46
+ border-left: none;
47
+ box-shadow: none;
48
+ margin: 0 0 20px 0;
49
+ padding: 0;
50
+ }
51
+
52
+ .ctct_options_connect .ctct-body .button {
53
+ border-radius: 4px;
54
+ color: #fff;
55
+ font-size: 16px;
56
+ font-weight: 600;
57
+ height: auto;
58
+ line-height: 1;
59
+ margin-bottom: 10px;
60
+ min-width: 180px;
61
+ padding: 14px 30px;
62
+ }
63
+
64
+ .ctct_options_connect .ctct-body .button.button-orange {
65
+ background-color: #FFA901;
66
+ border: 1px solid #cd8800;
67
+ }
68
+
69
+ .ctct_options_connect .ctct-body .button.button-orange:hover, .ctct_options_connect .ctct-body .button.button-orange:focus {
70
+ background-color: #cd8800;
71
+ }
72
+
73
+ .ctct_options_connect .ctct-body .button.button-blue {
74
+ background-color: #0078C3;
75
+ border: 1px solid #005990;
76
+ }
77
+
78
+ .ctct_options_connect .ctct-body .button.button-blue:hover, .ctct_options_connect .ctct-body .button.button-blue:focus {
79
+ background-color: #005990;
80
+ }
assets/css/style.css ADDED
@@ -0,0 +1,115 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .ctct-form-wrapper .ctct-button {
2
+ font-size: 0.9em;
3
+ }
4
+
5
+ .ctct-form-wrapper .ctct-message {
6
+ border: 1px solid;
7
+ padding: 1em;
8
+ }
9
+
10
+ .ctct-form-wrapper .error {
11
+ background-color: rgba(255, 65, 54, 0.02);
12
+ border-color: #FF4136;
13
+ color: #cf0b00;
14
+ }
15
+
16
+ .ctct-form-wrapper .success {
17
+ background-color: rgba(46, 204, 64, 0.02);
18
+ border-color: #2ECC40;
19
+ color: #1b7926;
20
+ }
21
+
22
+ .ctct-form-wrapper .ctct-form-field {
23
+ margin: 0 0 1em;
24
+ }
25
+
26
+ .ctct-form-wrapper .ctct-field-inline {
27
+ display: inline-block;
28
+ }
29
+
30
+ .ctct-form-wrapper input[type="text"]:required:valid, .ctct-form-wrapper input[type="email"]:required:valid, .ctct-form-wrapper input[type="password"]:required:valid, .ctct-form-wrapper input[type="tel"]:required:valid, .ctct-form-wrapper input[type="number"]:required:valid {
31
+ background: url("../images/check_circle.svg") no-repeat;
32
+ background-position: 8px 50%;
33
+ background-size: 24px;
34
+ border-color: #2ECC40;
35
+ padding-left: 40px;
36
+ }
37
+
38
+ .ctct-form-wrapper input[type="text"]:required.ctct-invalid, .ctct-form-wrapper input[type="text"].ctct-invalid, .ctct-form-wrapper input[type="email"]:required.ctct-invalid, .ctct-form-wrapper input[type="email"].ctct-invalid, .ctct-form-wrapper input[type="password"]:required.ctct-invalid, .ctct-form-wrapper input[type="password"].ctct-invalid, .ctct-form-wrapper input[type="tel"]:required.ctct-invalid, .ctct-form-wrapper input[type="tel"].ctct-invalid, .ctct-form-wrapper input[type="number"]:required.ctct-invalid, .ctct-form-wrapper input[type="number"].ctct-invalid {
39
+ background: url("../images/error.svg") no-repeat;
40
+ background-color: rgba(255, 65, 54, 0.02);
41
+ background-position: 8px 50%;
42
+ background-size: 24px;
43
+ border-color: #FF4136;
44
+ padding-left: 40px;
45
+ }
46
+
47
+ .ctct-form-wrapper .ctct-field-error {
48
+ font-size: 0.85em;
49
+ font-style: italic;
50
+ }
51
+
52
+ .ctct-form-wrapper input.ctct-invalid {
53
+ background: url("../images/error.svg") no-repeat;
54
+ background-color: rgba(255, 65, 54, 0.02);
55
+ background-position: 8px 50%;
56
+ background-size: 24px;
57
+ border-color: #FF4136;
58
+ padding-left: 40px;
59
+ }
60
+
61
+ .ctct-form-wrapper .ctct-form:after {
62
+ clear: both;
63
+ content: "";
64
+ display: table;
65
+ }
66
+
67
+ .ctct-form-wrapper .ctct-form abbr {
68
+ border: none;
69
+ color: #FF4136;
70
+ font-size: 0.9em;
71
+ }
72
+
73
+ .ctct-form-wrapper .ctct-input-container label {
74
+ color: #aaa;
75
+ font-size: 0.8em;
76
+ }
77
+
78
+ .ctct-form-wrapper .ctct-field-error {
79
+ color: #FF4136;
80
+ }
81
+
82
+ @media (min-width: 992px) {
83
+
84
+ .ctct-form-wrapper .ctct-field-half {
85
+ float: left;
86
+ margin-right: 2%;
87
+ width: 48%;
88
+ }
89
+
90
+ .ctct-form-wrapper .ctct-field-half:last-of-type {
91
+ margin-right: 0;
92
+ }
93
+
94
+ .ctct-form-wrapper .ctct-field-third {
95
+ float: left;
96
+ margin-right: 2%;
97
+ width: 32%;
98
+ }
99
+
100
+ .ctct-form-wrapper .ctct-field-third:last-of-type {
101
+ margin-right: 0;
102
+ }
103
+
104
+ .ctct-form-wrapper .ctct-field-fourth {
105
+ float: left;
106
+ margin-right: 2%;
107
+ width: 24%;
108
+ }
109
+
110
+ .ctct-form-wrapper .ctct-field-fourth:last-of-type {
111
+ margin-right: 0;
112
+ }
113
+ }
114
+
115
+ /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGlCQUFpQjtDQUNsQjs7QUFFRDtFQUNFLGtCQUFrQjtFQUNsQixhQUFhO0NBQ2Q7O0FBRUQ7RUFDRSwwQ0FBMEM7RUFDMUMsc0JBQXNCO0VBQ3RCLGVBQWU7Q0FDaEI7O0FBRUQ7RUFDRSwwQ0FBMEM7RUFDMUMsc0JBQXNCO0VBQ3RCLGVBQWU7Q0FDaEI7O0FBRUQ7RUFDRSxnQkFBZ0I7Q0FDakI7O0FBRUQ7RUFDRSxzQkFBc0I7Q0FDdkI7O0FBbUNEO0VBQ0Usd0RBQXdEO0VBQ3hELDZCQUE2QjtFQUM3QixzQkFBc0I7RUFDdEIsc0JBQXNCO0VBQ3RCLG1CQUFtQjtDQUNwQjs7QUFFRDtFQUNFLGlEQUFpRDtFQUNqRCwwQ0FBMEM7RUFDMUMsNkJBQTZCO0VBQzdCLHNCQUFzQjtFQUN0QixzQkFBc0I7RUFDdEIsbUJBQW1CO0NBQ3BCOztBQUVEO0VBQ0Usa0JBQWtCO0VBQ2xCLG1CQUFtQjtDQUNwQjs7QUFFRDtFQUNFLGlEQUFpRDtFQUNqRCwwQ0FBMEM7RUFDMUMsNkJBQTZCO0VBQzdCLHNCQUFzQjtFQUN0QixzQkFBc0I7RUFDdEIsbUJBQW1CO0NBQ3BCOztBQUVEO0VBQ0UsWUFBWTtFQUNaLFlBQVk7RUFDWixlQUFlO0NBQ2hCOztBQUVEO0VBQ0UsYUFBYTtFQUNiLGVBQWU7RUFDZixpQkFBaUI7Q0FDbEI7O0FBRUQ7RUFDRSxZQUFZO0VBQ1osaUJBQWlCO0NBQ2xCOztBQUVEO0VBQ0UsZUFBZTtDQUNoQjs7QUFuRkQ7O0VBQ0U7SUFDRSxZQUFZO0lBQ1osaUJBQWlCO0lBQ2pCLFdBQVc7R0FDWjs7RUFDRDtJQUNFLGdCQUFnQjtHQUNqQjs7RUFJRDtJQUNFLFlBQVk7SUFDWixpQkFBaUI7SUFDakIsV0FBVztHQUNaOztFQUNEO0lBQ0UsZ0JBQWdCO0dBQ2pCOztFQUlEO0lBQ0UsWUFBWTtJQUNaLGlCQUFpQjtJQUNqQixXQUFXO0dBQ1o7O0VBQ0Q7SUFDRSxnQkFBZ0I7R0FDakI7Q0FyQkYiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LWJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1tZXNzYWdlIHtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIHBhZGRpbmc6IDFlbTtcbn1cblxuLmN0Y3QtZm9ybS13cmFwcGVyIC5lcnJvciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCA2NSwgNTQsIDAuMDIpO1xuICBib3JkZXItY29sb3I6ICNGRjQxMzY7XG4gIGNvbG9yOiAjY2YwYjAwO1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgLnN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ2LCAyMDQsIDY0LCAwLjAyKTtcbiAgYm9yZGVyLWNvbG9yOiAjMkVDQzQwO1xuICBjb2xvcjogIzFiNzkyNjtcbn1cblxuLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LWZvcm0tZmllbGQge1xuICBtYXJnaW46IDAgMCAxZW07XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1maWVsZC1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtZmllbGQtaGFsZiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAyJTtcbiAgICB3aWR0aDogNDglO1xuICB9XG4gIC5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1maWVsZC1oYWxmOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtZmllbGQtdGhpcmQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMiU7XG4gICAgd2lkdGg6IDMyJTtcbiAgfVxuICAuY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtZmllbGQtdGhpcmQ6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1maWVsZC1mb3VydGgge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMiU7XG4gICAgd2lkdGg6IDI0JTtcbiAgfVxuICAuY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtZmllbGQtZm91cnRoOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciBpbnB1dFt0eXBlPVwidGV4dFwiXTpyZXF1aXJlZDp2YWxpZCwgLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpyZXF1aXJlZDp2YWxpZCwgLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpyZXF1aXJlZDp2YWxpZCwgLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9XCJ0ZWxcIl06cmVxdWlyZWQ6dmFsaWQsIC5jdGN0LWZvcm0td3JhcHBlciBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOnJlcXVpcmVkOnZhbGlkIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2NoZWNrX2NpcmNsZS5zdmdcIikgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA4cHggNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDI0cHg7XG4gIGJvcmRlci1jb2xvcjogIzJFQ0M0MDtcbiAgcGFkZGluZy1sZWZ0OiA0MHB4O1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgaW5wdXRbdHlwZT1cInRleHRcIl06cmVxdWlyZWQuY3RjdC1pbnZhbGlkLCAuY3RjdC1mb3JtLXdyYXBwZXIgaW5wdXRbdHlwZT1cInRleHRcIl0uY3RjdC1pbnZhbGlkLCAuY3RjdC1mb3JtLXdyYXBwZXIgaW5wdXRbdHlwZT1cImVtYWlsXCJdOnJlcXVpcmVkLmN0Y3QtaW52YWxpZCwgLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9XCJlbWFpbFwiXS5jdGN0LWludmFsaWQsIC5jdGN0LWZvcm0td3JhcHBlciBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06cmVxdWlyZWQuY3RjdC1pbnZhbGlkLCAuY3RjdC1mb3JtLXdyYXBwZXIgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLmN0Y3QtaW52YWxpZCwgLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9XCJ0ZWxcIl06cmVxdWlyZWQuY3RjdC1pbnZhbGlkLCAuY3RjdC1mb3JtLXdyYXBwZXIgaW5wdXRbdHlwZT1cInRlbFwiXS5jdGN0LWludmFsaWQsIC5jdGN0LWZvcm0td3JhcHBlciBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOnJlcXVpcmVkLmN0Y3QtaW52YWxpZCwgLmN0Y3QtZm9ybS13cmFwcGVyIGlucHV0W3R5cGU9XCJudW1iZXJcIl0uY3RjdC1pbnZhbGlkIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2Vycm9yLnN2Z1wiKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCA2NSwgNTQsIDAuMDIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA4cHggNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDI0cHg7XG4gIGJvcmRlci1jb2xvcjogI0ZGNDEzNjtcbiAgcGFkZGluZy1sZWZ0OiA0MHB4O1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtZmllbGQtZXJyb3Ige1xuICBmb250LXNpemU6IDAuODVlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgaW5wdXQuY3RjdC1pbnZhbGlkIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2Vycm9yLnN2Z1wiKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCA2NSwgNTQsIDAuMDIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA4cHggNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDI0cHg7XG4gIGJvcmRlci1jb2xvcjogI0ZGNDEzNjtcbiAgcGFkZGluZy1sZWZ0OiA0MHB4O1xufVxuXG4uY3RjdC1mb3JtLXdyYXBwZXIgLmN0Y3QtZm9ybTphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LWZvcm0gYWJiciB7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6ICNGRjQxMzY7XG4gIGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5jdGN0LWZvcm0td3JhcHBlciAuY3RjdC1pbnB1dC1jb250YWluZXIgbGFiZWwge1xuICBjb2xvcjogI2FhYTtcbiAgZm9udC1zaXplOiAwLjhlbTtcbn1cblxuLmN0Y3QtZm9ybS13cmFwcGVyIC5jdGN0LWZpZWxkLWVycm9yIHtcbiAgY29sb3I6ICNGRjQxMzY7XG59XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= */
assets/css/style.min.css ADDED
@@ -0,0 +1 @@
 
1
+ .ctct-form-wrapper .ctct-button{font-size:.9em}.ctct-form-wrapper .ctct-message{border:1px solid;padding:1em}.ctct-form-wrapper .error{background-color:rgba(255,65,54,.02);border-color:#ff4136;color:#cf0b00}.ctct-form-wrapper .success{background-color:rgba(46,204,64,.02);border-color:#2ecc40;color:#1b7926}.ctct-form-wrapper .ctct-form-field{margin:0 0 1em}.ctct-form-wrapper .ctct-field-inline{display:inline-block}.ctct-form-wrapper input[type=email]:required:valid,.ctct-form-wrapper input[type=number]:required:valid,.ctct-form-wrapper input[type=password]:required:valid,.ctct-form-wrapper input[type=tel]:required:valid,.ctct-form-wrapper input[type=text]:required:valid{background:url(../images/check_circle.svg) no-repeat;background-position:8px 50%;background-size:24px;border-color:#2ecc40;padding-left:40px}.ctct-form-wrapper input[type=email].ctct-invalid,.ctct-form-wrapper input[type=email]:required.ctct-invalid,.ctct-form-wrapper input[type=number].ctct-invalid,.ctct-form-wrapper input[type=number]:required.ctct-invalid,.ctct-form-wrapper input[type=password].ctct-invalid,.ctct-form-wrapper input[type=password]:required.ctct-invalid,.ctct-form-wrapper input[type=tel].ctct-invalid,.ctct-form-wrapper input[type=tel]:required.ctct-invalid,.ctct-form-wrapper input[type=text].ctct-invalid,.ctct-form-wrapper input[type=text]:required.ctct-invalid{background:url(../images/error.svg) no-repeat;background-color:rgba(255,65,54,.02);background-position:8px 50%;background-size:24px;border-color:#ff4136;padding-left:40px}.ctct-form-wrapper .ctct-field-error{font-size:.85em;font-style:italic}.ctct-form-wrapper input.ctct-invalid{background:url(../images/error.svg) no-repeat;background-color:rgba(255,65,54,.02);background-position:8px 50%;background-size:24px;border-color:#ff4136;padding-left:40px}.ctct-form-wrapper .ctct-form:after{clear:both;content:"";display:table}.ctct-form-wrapper .ctct-form abbr{border:none;color:#ff4136;font-size:.9em}.ctct-form-wrapper .ctct-input-container label{color:#aaa;font-size:.8em}.ctct-form-wrapper .ctct-field-error{color:#ff4136}@media (min-width:992px){.ctct-form-wrapper .ctct-field-half{float:left;margin-right:2%;width:48%}.ctct-form-wrapper .ctct-field-half:last-of-type{margin-right:0}.ctct-form-wrapper .ctct-field-third{float:left;margin-right:2%;width:32%}.ctct-form-wrapper .ctct-field-third:last-of-type{margin-right:0}.ctct-form-wrapper .ctct-field-fourth{float:left;margin-right:2%;width:24%}.ctct-form-wrapper .ctct-field-fourth:last-of-type{margin-right:0}}
assets/images/README.md ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ # WDS Product Plugin Framework #
2
+ http://webdevstudios.com
3
+ Copyright (c) 2016 WebDevStudios
4
+ Licensed under the GPLv2 license.
assets/images/add-forms.png ADDED
Binary file
assets/images/builder.png ADDED
Binary file
assets/images/cc-login-connect.png ADDED
Binary file
assets/images/cc-login.png ADDED
Binary file
assets/images/cc-modal-bg.png ADDED
Binary file
assets/images/cc-modal-logo.png ADDED
Binary file
assets/images/check_circle.svg ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generated by IcoMoon.io -->
3
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24">
5
+ <path fill="#2ecc40" d="M9.984 17.016l9-9-1.406-1.453-7.594 7.594-3.563-3.563-1.406 1.406zM12 2.016c5.531 0 9.984 4.453 9.984 9.984s-4.453 9.984-9.984 9.984-9.984-4.453-9.984-9.984 4.453-9.984 9.984-9.984z"></path>
6
+ </svg>
assets/images/coffee-hero.jpg ADDED
Binary file
assets/images/constant-contact-logo.png ADDED
Binary file
assets/images/contacts.png ADDED
Binary file
assets/images/ctct-icon-2x.png ADDED
Binary file
assets/images/ctct-icon.png ADDED
Binary file
assets/images/error.svg ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generated by IcoMoon.io -->
3
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24">
5
+ <path fill="#ff4136" d="M12.984 12.984v-6h-1.969v6h1.969zM12.984 17.016v-2.016h-1.969v2.016h1.969zM12 2.016c5.531 0 9.984 4.453 9.984 9.984s-4.453 9.984-9.984 9.984-9.984-4.453-9.984-9.984 4.453-9.984 9.984-9.984z"></path>
6
+ </svg>
assets/images/form-display.png ADDED
Binary file
assets/images/icon.jpg ADDED
Binary file
assets/images/question-mail-connect.png ADDED
Binary file
assets/images/question-mail.png ADDED
Binary file
assets/images/reporting.png ADDED
Binary file
assets/images/stay-connected.png ADDED
Binary file
assets/js/ctct-plugin-admin.js ADDED
@@ -0,0 +1,371 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ window.CTCTBuilder = {};
2
+ ( function( window, $, that ) {
3
+
4
+ // Constructor.
5
+ that.init = function() {
6
+
7
+ // If we do actually have an email field set, then remove our error
8
+ if ( $( "#cmb2-metabox-ctct_2_fields_metabox option[value='email']:selected" ).length ) {
9
+ $( '#ctct-no-email-error' ).remove();
10
+ }
11
+
12
+ // Cache it all
13
+ that.cache();
14
+
15
+ // Bind our events
16
+ that.bindEvents();
17
+
18
+ // Bind our select dropdown events
19
+ that.selectBinds();
20
+
21
+ // Trigger any field modifications we need to do
22
+ that.modifyFields();
23
+
24
+ // Make description non-draggable, so we don't run into weird cmb2 issues
25
+ $( '#ctct_0_description_metabox h2.hndle' ).removeClass( 'ui-sortable-handle, hndle' );
26
+
27
+ // Inject our new labels for the up/down CMB2 buttons, so they can be properly localized.
28
+ // Because we're using :after, we can't use .css() to do this, we need to inject a style tag
29
+ $( 'head' ).append( '<style> #cmb2-metabox-ctct_2_fields_metabox a.move-up::after { content: "' + ctct_texts.move_up + '" } #cmb2-metabox-ctct_2_fields_metabox a.move-down::after { content: "' + ctct_texts.move_down + '" }</style>' );
30
+ }
31
+
32
+ // Cache all the things.
33
+ that.cache = function() {
34
+
35
+ that.$c = {
36
+ window: $( window ),
37
+ body: $( 'body' ),
38
+ };
39
+
40
+ that.isLeaveWarningBound = false;
41
+ }
42
+
43
+ // Triggers our leave warning if we modify things in the form
44
+ that.bindLeaveWarning = function() {
45
+
46
+ // Don't double-bind it
47
+ if ( ! that.isLeaveWarningBound ) {
48
+
49
+ // Bind our error that displays before leaving page
50
+ $( window ).bind( 'beforeunload', function(){
51
+ return ctct_texts.leavewarning;
52
+ });
53
+
54
+ // Save our state
55
+ that.isLeaveWarningBound = true;
56
+ }
57
+ }
58
+
59
+ // Removes our binding of our leave warning
60
+ that.unbindLeaveWarning = function() {
61
+ $( window ).unbind( 'beforeunload' );
62
+ }
63
+
64
+ // Combine all events.
65
+ that.bindEvents = function() {
66
+
67
+ // Trigger before saving post
68
+ $( '#post' ).submit( function () {
69
+
70
+ // Make sure our email dropdown reverts from disbled, as CMB2 doesn't save those values
71
+ $( '.ctct-email-disabled' ).removeClass( 'disabled' ).prop( 'disabled', false );
72
+
73
+ // Unbind our leave warning, so we don't trigger it when we shouldn't.
74
+ that.unbindLeaveWarning();
75
+ });
76
+
77
+ // On cmb2 select changes, fire our leave warning function
78
+ $( '.cmb2-wrap input, .cmb2-wrap textarea' ).on( 'input', function() {
79
+ that.bindLeaveWarning();
80
+ });
81
+
82
+ // Disable email options on row change trigger.
83
+ $( document ).on( 'cmb2_shift_rows_complete', function() {
84
+
85
+ // Fire our field modifications function
86
+ // functionality to apply to all saved values
87
+ that.modifyFields();
88
+
89
+ // Bind our leave warning
90
+ that.bindLeaveWarning();
91
+
92
+ // Re-run our mapping de-dupe
93
+ that.removeDuplicateMappings();
94
+ });
95
+
96
+ // If we get a row added, then do our stuff
97
+ $( document ).on( 'cmb2_add_row', function( newRow ) {
98
+
99
+ // Automatically set new rows to be 'custom' field type
100
+ $( '#custom_fields_group_repeat .postbox' ).last().find( '.map select' ).val( 'custom' );
101
+
102
+ // Trigger bind events again for our selects, as well as our field changes
103
+ that.modifyFields();
104
+ that.selectBinds();
105
+ that.removeDuplicateMappings();
106
+ });
107
+
108
+ // Remove any duplicate mappings in fields
109
+ that.removeDuplicateMappings();
110
+ }
111
+
112
+ // When .cmb2_select <selects> get changed, do some actions
113
+ that.selectBinds = function() {
114
+
115
+ // For each fields select
116
+ $( '#cmb2-metabox-ctct_2_fields_metabox .cmb2_select' ).change( function() {
117
+
118
+ // Modify our fields
119
+ that.modifyFields();
120
+
121
+ // Don't allow duplicate mappings in form
122
+ that.removeDuplicateMappings();
123
+
124
+ // Bind our leave warning
125
+ that.bindLeaveWarning();
126
+ });
127
+ }
128
+
129
+ // We need to manipulate our form builder a bit. We do this here.
130
+ that.modifyFields = function() {
131
+
132
+ // Set that we haven't found an email
133
+ var foundEmail = false;
134
+
135
+ // Loop through all fields to modify them
136
+ $( '#cmb2-metabox-ctct_2_fields_metabox #custom_fields_group_repeat .cmb-repeatable-grouping' ).each( function( key, value ) {
137
+
138
+ // Set some of our helper paramaters
139
+ var $field_parent = $( this ).find( '.cmb-field-list' );
140
+ var $button = $( $field_parent ).find( '.cmb-remove-group-row' );
141
+ var $required = $( $field_parent ).find( '.required input[type=checkbox]' );
142
+ var $requiredRow = $required.closest( '.cmb-row' );
143
+ var $map = $( $field_parent ).find( '.map select option:selected' );
144
+ var $mapName = $map.text();
145
+ var $fieldTitle = $( this ).find( 'h3' );
146
+ var $labelField = $( this ).find( "input[name*='_ctct_field_label']" )
147
+
148
+ // Set our field row to be the name of the selected option
149
+ $fieldTitle.text( $mapName );
150
+
151
+ // If we have a blank field label, then use the name of the field to fill it in
152
+ if ( ( $labelField.val().length === 0 ) || $labelField.hasClass( 'ctct-label-filled' ) ) {
153
+ $labelField.val( $mapName ).addClass( 'ctct-label-filled' );
154
+ }
155
+
156
+ // If we haven't yet found an email field, and this is our email field
157
+ if ( ! foundEmail && ( 'email' === $( $map ).val() ) ) {
158
+
159
+ // Set that we found an email field
160
+ foundEmail = true;
161
+
162
+ // Make it required
163
+ $required.prop( 'checked', true );
164
+
165
+ // Set it to be 'disabled'
166
+ $( value ).find( 'select' ).addClass( 'disabled ctct-email-disabled' ).prop( 'disabled', true );
167
+
168
+ // Hide the required row
169
+ $requiredRow.hide();
170
+
171
+ // Hide the remove row button
172
+ $button.hide();
173
+
174
+ } else {
175
+
176
+ // Verify its not disabled
177
+ $( value ).find( 'select' ).removeClass( 'disabled ctct-email-disabled' ).prop( 'disabled', false );
178
+
179
+ // If we're not an email field, reshow the required field
180
+ $requiredRow.show();
181
+
182
+ // and the remove button
183
+ $button.show();
184
+ }
185
+ });
186
+ }
187
+
188
+ // Go through all dropdowns, and remove used options
189
+ that.removeDuplicateMappings = function() {
190
+
191
+ // Set up an array for our mappings
192
+ var usedMappings = [];
193
+
194
+ // Get all our dropdowns on the page
195
+ var dropdowns = '#cmb2-metabox-ctct_2_fields_metabox #custom_fields_group_repeat .cmb-repeatable-grouping select';
196
+ var $dropdowns = $( dropdowns );
197
+
198
+ // For each dropdown, build up our array of used values
199
+ $dropdowns.each( function( key, value ) {
200
+ usedMappings.push( $( value ).val() );
201
+ });
202
+
203
+ // Re-show all the children options we may have hidden
204
+ $dropdowns.children().show();
205
+
206
+ // For each of our mappings that we already have, remove them from all selects
207
+ usedMappings.forEach( function( value ) {
208
+
209
+ // But only do it if the value isn't one of our custom ones
210
+ if ( ( 'custom_text_area' != value ) && ( 'custom' != value ) ) {
211
+
212
+ // Remove all options from our dropdowns with the value
213
+ $( dropdowns + ' option[value=' + value +']:not( :selected )' ).hide();
214
+ }
215
+ });
216
+ }
217
+
218
+ // Engage!
219
+ $( that.init );
220
+
221
+ })( window, jQuery, window.CTCTBuilder );
222
+
223
+ window.CTCTForms = {};
224
+ ( function( window, $, that ) {
225
+
226
+ // Constructor.
227
+ that.init = function() {
228
+ that.cache();
229
+ that.bindEvents();
230
+ }
231
+
232
+ // Cache all the things.
233
+ that.cache = function() {
234
+ that.$c = {
235
+ window: $( window ),
236
+ body: $( 'body' ),
237
+ disconnect: '.ctct-disconnect',
238
+ };
239
+ }
240
+
241
+ // Combine all events.
242
+ that.bindEvents = function() {
243
+
244
+ $( that.$c.disconnect ).on( 'click', function(e) {
245
+ confirm( ctct_texts.disconnectconfirm );
246
+ });
247
+ }
248
+
249
+ // Engage!
250
+ $( that.init );
251
+
252
+ })( window, jQuery, window.CTCTForms );
253
+
254
+ window.CTCTModal = {};
255
+ ( function( window, $, app ) {
256
+
257
+ // Constructor
258
+ app.init = function() {
259
+ app.cache();
260
+ app.bindEvents();
261
+ };
262
+
263
+ // Cache all the things
264
+ app.cache = function() {
265
+ app.$c = {
266
+ window: $( window ),
267
+ modalSelector: $( '.ctct-modal' ),
268
+ modalClose: $( '.ctct-modal-close' ),
269
+ };
270
+ };
271
+
272
+ // Combine all events
273
+ app.bindEvents = function() {
274
+ app.$c.modalClose.click( function() {
275
+ app.$c.modalSelector.removeClass( 'ctct-modal-open' );
276
+
277
+ jQuery.ajax({
278
+ type : "post",
279
+ dataType : "json",
280
+ url : ajaxurl,
281
+ data : {
282
+ action: 'ctct_dismiss_first_modal',
283
+ 'ctct_is_dismissed' : 'true',
284
+ }
285
+ });
286
+ });
287
+ };
288
+
289
+ // Engage
290
+ $( app.init );
291
+
292
+ })( window, jQuery, window.CTCTModal );
293
+
294
+ window.CTCT_OptIns = {};
295
+ ( function( window, $, app ) {
296
+
297
+ // Constructor
298
+ app.init = function() {
299
+ app.cache();
300
+ app.bindEvents();
301
+ };
302
+
303
+ // Cache all the things
304
+ app.cache = function() {
305
+ app.$c = {
306
+ optin_no_conn : $( '#cmb2-metabox-ctct_1_optin_metabox #_ctct_opt_in_not_connected' ),
307
+ list : $( '#cmb2-metabox-ctct_1_optin_metabox #_ctct_list' ),
308
+
309
+ optin : $( '#cmb2-metabox-ctct_1_optin_metabox .cmb2-id--ctct-opt-in' ),
310
+ instruct : $( '#cmb2-metabox-ctct_1_optin_metabox .cmb2-id--ctct-opt-in-instructions' ),
311
+ };
312
+ };
313
+
314
+ // Combine all events
315
+ app.bindEvents = function() {
316
+
317
+ // Only fire show/hide if we have the normal checkbox
318
+ if ( app.$c.optin_no_conn.length ) {
319
+
320
+ // Fire once to get our loaded state set up
321
+ app.toggleNoConnectionFields();
322
+
323
+ // Bind to fire when needed
324
+ app.$c.optin_no_conn.change( function() {
325
+ app.toggleNoConnectionFields();
326
+ });
327
+ }
328
+
329
+ // Only fire show/hide if we have the normal checkbox
330
+ if ( app.$c.list.length ) {
331
+
332
+ // Fire once to get our loaded state set up
333
+ app.toggleConnectionFields();
334
+
335
+ // Bind to fire when needed
336
+ app.$c.list.change( function() {
337
+ app.toggleConnectionFields();
338
+ });
339
+ }
340
+ };
341
+
342
+ // Toggle un-needed optin fields if we're not showing the opt-in.
343
+ // this runs for the not-connected fields
344
+ app.toggleNoConnectionFields = function() {
345
+
346
+ // If checked, show them, else hide it.
347
+ if ( app.$c.optin_no_conn.prop( 'checked' ) ) {
348
+ app.$c.instruct.slideDown();
349
+ } else {
350
+ app.$c.instruct.slideUp();
351
+ }
352
+ }
353
+
354
+ // Toggle un-needed optin fields if we're not showing the opt-in.
355
+ // this runs for our connected fields
356
+ app.toggleConnectionFields = function() {
357
+
358
+ // If checked, show them, else hide it.
359
+ if ( '' != app.$c.list.val() ) {
360
+ app.$c.optin.slideDown();
361
+ app.$c.instruct.slideDown();
362
+ } else {
363
+ app.$c.optin.slideUp();
364
+ app.$c.instruct.slideUp();
365
+ }
366
+ }
367
+
368
+ // Engage
369
+ $( app.init );
370
+
371
+ })( window, jQuery, window.CTCT_OptIns );
assets/js/ctct-plugin-admin.min.js ADDED
@@ -0,0 +1 @@
 
1
+ window.CTCTBuilder={},function(t,n,e){e.init=function(){n("#cmb2-metabox-ctct_2_fields_metabox option[value='email']:selected").length&&n("#ctct-no-email-error").remove(),e.cache(),e.bindEvents(),e.selectBinds(),e.modifyFields(),n("#ctct_0_description_metabox h2.hndle").removeClass("ui-sortable-handle, hndle"),n("head").append('<style> #cmb2-metabox-ctct_2_fields_metabox a.move-up::after { content: "'+ctct_texts.move_up+'" } #cmb2-metabox-ctct_2_fields_metabox a.move-down::after { content: "'+ctct_texts.move_down+'" }</style>')},e.cache=function(){e.$c={window:n(t),body:n("body")},e.isLeaveWarningBound=!1},e.bindLeaveWarning=function(){e.isLeaveWarningBound||(n(t).bind("beforeunload",function(){return ctct_texts.leavewarning}),e.isLeaveWarningBound=!0)},e.unbindLeaveWarning=function(){n(t).unbind("beforeunload")},e.bindEvents=function(){n("#post").submit(function(){n(".ctct-email-disabled").removeClass("disabled").prop("disabled",!1),e.unbindLeaveWarning()}),n(".cmb2-wrap input, .cmb2-wrap textarea").on("input",function(){e.bindLeaveWarning()}),n(document).on("cmb2_shift_rows_complete",function(){e.modifyFields(),e.bindLeaveWarning(),e.removeDuplicateMappings()}),n(document).on("cmb2_add_row",function(t){n("#custom_fields_group_repeat .postbox").last().find(".map select").val("custom"),e.modifyFields(),e.selectBinds(),e.removeDuplicateMappings()}),e.removeDuplicateMappings()},e.selectBinds=function(){n("#cmb2-metabox-ctct_2_fields_metabox .cmb2_select").change(function(){e.modifyFields(),e.removeDuplicateMappings(),e.bindLeaveWarning()})},e.modifyFields=function(){var t=!1;n("#cmb2-metabox-ctct_2_fields_metabox #custom_fields_group_repeat .cmb-repeatable-grouping").each(function(e,i){var c=n(this).find(".cmb-field-list"),o=n(c).find(".cmb-remove-group-row"),d=n(c).find(".required input[type=checkbox]"),a=d.closest(".cmb-row"),s=n(c).find(".map select option:selected"),l=s.text(),m=n(this).find("h3"),u=n(this).find("input[name*='_ctct_field_label']");m.text(l),(0===u.val().length||u.hasClass("ctct-label-filled"))&&u.val(l).addClass("ctct-label-filled"),t||"email"!==n(s).val()?(n(i).find("select").removeClass("disabled ctct-email-disabled").prop("disabled",!1),a.show(),o.show()):(t=!0,d.prop("checked",!0),n(i).find("select").addClass("disabled ctct-email-disabled").prop("disabled",!0),a.hide(),o.hide())})},e.removeDuplicateMappings=function(){var t=[],e="#cmb2-metabox-ctct_2_fields_metabox #custom_fields_group_repeat .cmb-repeatable-grouping select",i=n(e);i.each(function(e,i){t.push(n(i).val())}),i.children().show(),t.forEach(function(t){"custom_text_area"!=t&&"custom"!=t&&n(e+" option[value="+t+"]:not( :selected )").hide()})},n(e.init)}(window,jQuery,window.CTCTBuilder),window.CTCTForms={},function(t,n,e){e.init=function(){e.cache(),e.bindEvents()},e.cache=function(){e.$c={window:n(t),body:n("body"),disconnect:".ctct-disconnect"}},e.bindEvents=function(){n(e.$c.disconnect).on("click",function(t){confirm(ctct_texts.disconnectconfirm)})},n(e.init)}(window,jQuery,window.CTCTForms),window.CTCTModal={},function(t,n,e){e.init=function(){e.cache(),e.bindEvents()},e.cache=function(){e.$c={window:n(t),modalSelector:n(".ctct-modal"),modalClose:n(".ctct-modal-close")}},e.bindEvents=function(){e.$c.modalClose.click(function(){e.$c.modalSelector.removeClass("ctct-modal-open"),jQuery.ajax({type:"post",dataType:"json",url:ajaxurl,data:{action:"ctct_dismiss_first_modal",ctct_is_dismissed:"true"}})})},n(e.init)}(window,jQuery,window.CTCTModal),window.CTCT_OptIns={},function(t,n,e){e.init=function(){e.cache(),e.bindEvents()},e.cache=function(){e.$c={optin_no_conn:n("#cmb2-metabox-ctct_1_optin_metabox #_ctct_opt_in_not_connected"),list:n("#cmb2-metabox-ctct_1_optin_metabox #_ctct_list"),optin:n("#cmb2-metabox-ctct_1_optin_metabox .cmb2-id--ctct-opt-in"),instruct:n("#cmb2-metabox-ctct_1_optin_metabox .cmb2-id--ctct-opt-in-instructions")}},e.bindEvents=function(){e.$c.optin_no_conn.length&&(e.toggleNoConnectionFields(),e.$c.optin_no_conn.change(function(){e.toggleNoConnectionFields()})),e.$c.list.length&&(e.toggleConnectionFields(),e.$c.list.change(function(){e.toggleConnectionFields()}))},e.toggleNoConnectionFields=function(){e.$c.optin_no_conn.prop("checked")?e.$c.instruct.slideDown():e.$c.instruct.slideUp()},e.toggleConnectionFields=function(){""!=e.$c.list.val()?(e.$c.optin.slideDown(),e.$c.instruct.slideDown()):(e.$c.optin.slideUp(),e.$c.instruct.slideUp())},n(e.init)}(window,jQuery,window.CTCT_OptIns);
assets/js/ctct-plugin-admin/builder.js ADDED
@@ -0,0 +1,221 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ window.CTCTBuilder = {};
2
+ ( function( window, $, that ) {
3
+
4
+ // Constructor.
5
+ that.init = function() {
6
+
7
+ // If we do actually have an email field set, then remove our error
8
+ if ( $( "#cmb2-metabox-ctct_2_fields_metabox option[value='email']:selected" ).length ) {
9
+ $( '#ctct-no-email-error' ).remove();
10
+ }
11
+
12
+ // Cache it all
13
+ that.cache();
14
+
15
+ // Bind our events
16
+ that.bindEvents();
17
+
18
+ // Bind our select dropdown events
19
+ that.selectBinds();
20
+
21
+ // Trigger any field modifications we need to do
22
+ that.modifyFields();
23
+
24
+ // Make description non-draggable, so we don't run into weird cmb2 issues
25
+ $( '#ctct_0_description_metabox h2.hndle' ).removeClass( 'ui-sortable-handle, hndle' );
26
+
27
+ // Inject our new labels for the up/down CMB2 buttons, so they can be properly localized.
28
+ // Because we're using :after, we can't use .css() to do this, we need to inject a style tag
29
+ $( 'head' ).append( '<style> #cmb2-metabox-ctct_2_fields_metabox a.move-up::after { content: "' + ctct_texts.move_up + '" } #cmb2-metabox-ctct_2_fields_metabox a.move-down::after { content: "' + ctct_texts.move_down + '" }</style>' );
30
+ }
31
+
32
+ // Cache all the things.
33
+ that.cache = function() {
34
+
35
+ that.$c = {
36
+ window: $( window ),
37
+ body: $( 'body' ),
38
+ };
39
+
40
+ that.isLeaveWarningBound = false;
41
+ }
42
+
43
+ // Triggers our leave warning if we modify things in the form
44
+ that.bindLeaveWarning = function() {
45
+
46
+ // Don't double-bind it
47
+ if ( ! that.isLeaveWarningBound ) {
48
+
49
+ // Bind our error that displays before leaving page
50
+ $( window ).bind( 'beforeunload', function(){
51
+ return ctct_texts.leavewarning;
52
+ });
53
+
54
+ // Save our state
55
+ that.isLeaveWarningBound = true;
56
+ }
57
+ }
58
+
59
+ // Removes our binding of our leave warning
60
+ that.unbindLeaveWarning = function() {
61
+ $( window ).unbind( 'beforeunload' );
62
+ }
63
+
64
+ // Combine all events.
65
+ that.bindEvents = function() {
66
+
67
+ // Trigger before saving post
68
+ $( '#post' ).submit( function () {
69
+
70
+ // Make sure our email dropdown reverts from disbled, as CMB2 doesn't save those values
71
+ $( '.ctct-email-disabled' ).removeClass( 'disabled' ).prop( 'disabled', false );
72
+
73
+ // Unbind our leave warning, so we don't trigger it when we shouldn't.
74
+ that.unbindLeaveWarning();
75
+ });
76
+
77
+ // On cmb2 select changes, fire our leave warning function
78
+ $( '.cmb2-wrap input, .cmb2-wrap textarea' ).on( 'input', function() {
79
+ that.bindLeaveWarning();
80
+ });
81
+
82
+ // Disable email options on row change trigger.
83
+ $( document ).on( 'cmb2_shift_rows_complete', function() {
84
+
85
+ // Fire our field modifications function
86
+ // functionality to apply to all saved values
87
+ that.modifyFields();
88
+
89
+ // Bind our leave warning
90
+ that.bindLeaveWarning();
91
+
92
+ // Re-run our mapping de-dupe
93
+ that.removeDuplicateMappings();
94
+ });
95
+
96
+ // If we get a row added, then do our stuff
97
+ $( document ).on( 'cmb2_add_row', function( newRow ) {
98
+
99
+ // Automatically set new rows to be 'custom' field type
100
+ $( '#custom_fields_group_repeat .postbox' ).last().find( '.map select' ).val( 'custom' );
101
+
102
+ // Trigger bind events again for our selects, as well as our field changes
103
+ that.modifyFields();
104
+ that.selectBinds();
105
+ that.removeDuplicateMappings();
106
+ });
107
+
108
+ // Remove any duplicate mappings in fields
109
+ that.removeDuplicateMappings();
110
+ }
111
+
112
+ // When .cmb2_select <selects> get changed, do some actions
113
+ that.selectBinds = function() {
114
+
115
+ // For each fields select
116
+ $( '#cmb2-metabox-ctct_2_fields_metabox .cmb2_select' ).change( function() {
117
+
118
+ // Modify our fields
119
+ that.modifyFields();
120
+
121
+ // Don't allow duplicate mappings in form
122
+ that.removeDuplicateMappings();
123
+
124
+ // Bind our leave warning
125
+ that.bindLeaveWarning();
126
+ });
127
+ }
128
+
129
+ // We need to manipulate our form builder a bit. We do this here.
130
+ that.modifyFields = function() {
131
+
132
+ // Set that we haven't found an email
133
+ var foundEmail = false;
134
+
135
+ // Loop through all fields to modify them
136
+ $( '#cmb2-metabox-ctct_2_fields_metabox #custom_fields_group_repeat .cmb-repeatable-grouping' ).each( function( key, value ) {
137
+
138
+ // Set some of our helper paramaters
139
+ var $field_parent = $( this ).find( '.cmb-field-list' );
140
+ var $button = $( $field_parent ).find( '.cmb-remove-group-row' );
141
+ var $required = $( $field_parent ).find( '.required input[type=checkbox]' );
142
+ var $requiredRow = $required.closest( '.cmb-row' );
143
+ var $map = $( $field_parent ).find( '.map select option:selected' );
144
+ var $mapName = $map.text();
145
+ var $fieldTitle = $( this ).find( 'h3' );
146
+ var $labelField = $( this ).find( "input[name*='_ctct_field_label']" )
147
+
148
+ // Set our field row to be the name of the selected option
149
+ $fieldTitle.text( $mapName );
150
+
151
+ // If we have a blank field label, then use the name of the field to fill it in
152
+ if ( ( $labelField.val().length === 0 ) || $labelField.hasClass( 'ctct-label-filled' ) ) {
153
+ $labelField.val( $mapName ).addClass( 'ctct-label-filled' );
154
+ }
155
+
156
+ // If we haven't yet found an email field, and this is our email field
157
+ if ( ! foundEmail && ( 'email' === $( $map ).val() ) ) {
158
+
159
+ // Set that we found an email field
160
+ foundEmail = true;
161
+
162
+ // Make it required
163
+ $required.prop( 'checked', true );
164
+
165
+ // Set it to be 'disabled'
166
+ $( value ).find( 'select' ).addClass( 'disabled ctct-email-disabled' ).prop( 'disabled', true );
167
+
168
+ // Hide the required row
169
+ $requiredRow.hide();
170
+
171
+ // Hide the remove row button
172
+ $button.hide();
173
+
174
+ } else {
175
+
176
+ // Verify its not disabled
177
+ $( value ).find( 'select' ).removeClass( 'disabled ctct-email-disabled' ).prop( 'disabled', false );
178
+
179
+ // If we're not an email field, reshow the required field
180
+ $requiredRow.show();
181
+
182
+ // and the remove button
183
+ $button.show();
184
+ }
185
+ });
186
+ }
187
+
188
+ // Go through all dropdowns, and remove used options
189
+ that.removeDuplicateMappings = function() {
190
+
191
+ // Set up an array for our mappings
192
+ var usedMappings = [];
193
+
194
+ // Get all our dropdowns on the page
195
+ var dropdowns = '#cmb2-metabox-ctct_2_fields_metabox #custom_fields_group_repeat .cmb-repeatable-grouping select';
196
+ var $dropdowns = $( dropdowns );
197
+
198
+ // For each dropdown, build up our array of used values
199
+ $dropdowns.each( function( key, value ) {
200
+ usedMappings.push( $( value ).val() );
201
+ });
202
+
203
+ // Re-show all the children options we may have hidden
204
+ $dropdowns.children().show();
205
+
206
+ // For each of our mappings that we already have, remove them from all selects
207
+ usedMappings.forEach( function( value ) {
208
+
209
+ // But only do it if the value isn't one of our custom ones
210
+ if ( ( 'custom_text_area' != value ) && ( 'custom' != value ) ) {
211
+
212
+ // Remove all options from our dropdowns with the value
213
+ $( dropdowns + ' option[value=' + value +']:not( :selected )' ).hide();
214
+ }
215
+ });
216
+ }
217
+
218
+ // Engage!
219
+ $( that.init );
220
+
221
+ })( window, jQuery, window.CTCTBuilder );
assets/js/ctct-plugin-admin/forms.js ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ window.CTCTForms = {};
2
+ ( function( window, $, that ) {
3
+
4
+ // Constructor.
5
+ that.init = function() {
6
+ that.cache();
7
+ that.bindEvents();
8
+ }
9
+
10
+ // Cache all the things.
11
+ that.cache = function() {
12
+ that.$c = {
13
+ window: $( window ),
14
+ body: $( 'body' ),
15
+ disconnect: '.ctct-disconnect',
16
+ };
17
+ }
18
+
19
+ // Combine all events.
20
+ that.bindEvents = function() {
21
+
22
+ $( that.$c.disconnect ).on( 'click', function(e) {
23
+ confirm( ctct_texts.disconnectconfirm );
24
+ });
25
+ }
26
+
27
+ // Engage!
28
+ $( that.init );
29
+
30
+ })( window, jQuery, window.CTCTForms );
assets/js/ctct-plugin-admin/modal.js ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ window.CTCTModal = {};
2
+ ( function( window, $, app ) {
3
+
4
+ // Constructor
5
+ app.init = function() {
6
+ app.cache();
7
+ app.bindEvents();
8
+ };
9
+
10
+ // Cache all the things
11
+ app.cache = function() {
12
+ app.$c = {
13
+ window: $( window ),
14
+ modalSelector: $( '.ctct-modal' ),
15
+ modalClose: $( '.ctct-modal-close' ),
16
+ };
17
+ };
18
+
19
+ // Combine all events
20
+ app.bindEvents = function() {
21
+ app.$c.modalClose.click( function() {
22
+ app.$c.modalSelector.removeClass( 'ctct-modal-open' );
23
+
24
+ jQuery.ajax({
25
+ type : "post",
26
+ dataType : "json",
27
+ url : ajaxurl,
28
+ data : {
29
+ action: 'ctct_dismiss_first_modal',
30
+ 'ctct_is_dismissed' : 'true',
31
+ }
32
+ });
33
+ });
34
+ };
35
+
36
+ // Engage
37
+ $( app.init );
38
+
39
+ })( window, jQuery, window.CTCTModal );
assets/js/ctct-plugin-admin/optins.js ADDED
@@ -0,0 +1,78 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ window.CTCT_OptIns = {};
2
+ ( function( window, $, app ) {
3
+
4
+ // Constructor
5
+ app.init = function() {
6
+ app.cache();
7
+ app.bindEvents();
8
+ };
9
+
10
+ // Cache all the things
11
+ app.cache = function() {
12
+ app.$c = {
13
+ optin_no_conn : $( '#cmb2-metabox-ctct_1_optin_metabox #_ctct_opt_in_not_connected' ),
14
+ list : $( '#cmb2-metabox-ctct_1_optin_metabox #_ctct_list' ),
15
+
16
+ optin : $( '#cmb2-metabox-ctct_1_optin_metabox .cmb2-id--ctct-opt-in' ),
17
+ instruct : $( '#cmb2-metabox-ctct_1_optin_metabox .cmb2-id--ctct-opt-in-instructions' ),
18
+ };
19
+ };
20
+
21
+ // Combine all events
22
+ app.bindEvents = function() {
23
+
24
+ // Only fire show/hide if we have the normal checkbox
25
+ if ( app.$c.optin_no_conn.length ) {
26
+
27
+ // Fire once to get our loaded state set up
28
+ app.toggleNoConnectionFields();
29
+
30
+ // Bind to fire when needed
31
+ app.$c.optin_no_conn.change( function() {
32
+ app.toggleNoConnectionFields();
33
+ });
34
+ }
35
+
36
+ // Only fire show/hide if we have the normal checkbox
37
+ if ( app.$c.list.length ) {
38
+
39
+ // Fire once to get our loaded state set up
40
+ app.toggleConnectionFields();
41
+
42
+ // Bind to fire when needed
43
+ app.$c.list.change( function() {
44
+ app.toggleConnectionFields();
45
+ });
46
+ }
47
+ };
48
+
49
+ // Toggle un-needed optin fields if we're not showing the opt-in.
50
+ // this runs for the not-connected fields
51
+ app.toggleNoConnectionFields = function() {
52
+
53
+ // If checked, show them, else hide it.
54
+ if ( app.$c.optin_no_conn.prop( 'checked' ) ) {
55
+ app.$c.instruct.slideDown();
56
+ } else {
57
+ app.$c.instruct.slideUp();
58
+ }
59
+ }
60
+
61
+ // Toggle un-needed optin fields if we're not showing the opt-in.
62
+ // this runs for our connected fields
63
+ app.toggleConnectionFields = function() {
64
+
65
+ // If checked, show them, else hide it.
66
+ if ( '' != app.$c.list.val() ) {
67
+ app.$c.optin.slideDown();
68
+ app.$c.instruct.slideDown();
69
+ } else {
70
+ app.$c.optin.slideUp();
71
+ app.$c.instruct.slideUp();
72
+ }
73
+ }
74
+
75
+ // Engage
76
+ $( app.init );
77
+
78
+ })( window, jQuery, window.CTCT_OptIns );
assets/js/ctct-plugin-frontend.js ADDED
@@ -0,0 +1,107 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * General purpose utility stuff for CC plugin.
3
+ */
4
+ (function( global, $ ){
5
+ /**
6
+ * Temporarily prevent the submit button from being clicked.
7
+ */
8
+ $( document ).ready( function() {
9
+ $( '#ctct-submitted' ).on( 'click', function() {
10
+ setTimeout( function() {
11
+ disable_send_button();
12
+ setTimeout( enable_send_button, 3000 );
13
+ }, 100 );
14
+ } );
15
+ } );
16
+
17
+ function disable_send_button() {
18
+ return $( '#ctct-submitted' ).attr( 'disabled', 'disabled' );
19
+ }
20
+
21
+ function enable_send_button() {
22
+ return $( '#ctct-submitted' ).attr( 'disabled', null );
23
+ }
24
+ })( window, jQuery );
25
+
26
+ window.CTCTSupport = {};
27
+ ( function( window, $, that ) {
28
+
29
+ // Constructor.
30
+ that.init = function() {
31
+ that.cache();
32
+ that.bindEvents();
33
+ that.removePlaceholder();
34
+ }
35
+
36
+ that.removePlaceholder = function() {
37
+ $( '.ctct-form-field input,textarea' ).focus( function() {
38
+ $( this ).data( 'placeholder', $( this ).attr( 'placeholder' ) ).attr( 'placeholder','' );
39
+ }).blur( function() {
40
+ $( this ).attr( 'placeholder', $( this ).data( 'placeholder' ) );
41
+ });
42
+ }
43
+
44
+ // Cache all the things.
45
+ that.cache = function() {
46
+ that.$c = {
47
+ window: $( window ),
48
+ body: $( 'body' ),
49
+ form: '.ctct-form-wrapper form',
50
+ };
51
+ that.timeout = null;
52
+ }
53
+
54
+ that.setAllInputsValid = function() {
55
+ $( that.$c.form + ' .ctct-invalid' ).removeClass( 'ctct-invalid' );
56
+ }
57
+
58
+ that.processError = function( error ) {
59
+
60
+ // If we have an id property set
61
+ if ( typeof( error.id ) !== 'undefined' ) {
62
+ $( '#' + error.id ).addClass( 'ctct-invalid' );
63
+ }
64
+
65
+ }
66
+
67
+ // Combine all events.
68
+ that.bindEvents = function() {
69
+ $( that.$c.form ).on( 'click', 'input[type=submit]', function() {
70
+
71
+ clearTimeout( that.timeout );
72
+
73
+ that.timeout = setTimeout( function() {
74
+ $.post(
75
+ ajaxurl,
76
+ {
77
+ 'action': 'ctct_process_form',
78
+ 'data': $( that.$c.form ).serialize(),
79
+ },
80
+ function( response ) {
81
+
82
+ // Make sure we got the 'status' attribut in our response
83
+ if ( typeof( response.status ) !== 'undefined' ) {
84
+
85
+ if ( 'success' == response.status ) {
86
+ // Do nothing, we're golden
87
+ } else {
88
+ // Here we'll want to disable the submit button and
89
+ // add some error classes
90
+ if ( typeof( response.errors ) !== 'undefined' ) {
91
+ that.setAllInputsValid();
92
+ response.errors.forEach( that.processError );
93
+ }
94
+
95
+ }
96
+ }
97
+ }
98
+ );
99
+ }, 500 )
100
+ })
101
+ }
102
+
103
+
104
+ // Engage!
105
+ $( that.init );
106
+
107
+ })( window, jQuery, window.CTCTSupport );
assets/js/ctct-plugin-frontend.min.js ADDED
@@ -0,0 +1 @@
 
1
+ !function(t,e){function o(){return e("#ctct-submitted").attr("disabled","disabled")}function i(){return e("#ctct-submitted").attr("disabled",null)}e(document).ready(function(){e("#ctct-submitted").on("click",function(){setTimeout(function(){o(),setTimeout(i,3e3)},100)})})}(window,jQuery),window.CTCTSupport={},function(t,e,o){o.init=function(){o.cache(),o.bindEvents(),o.removePlaceholder()},o.removePlaceholder=function(){e(".ctct-form-field input,textarea").focus(function(){e(this).data("placeholder",e(this).attr("placeholder")).attr("placeholder","")}).blur(function(){e(this).attr("placeholder",e(this).data("placeholder"))})},o.cache=function(){o.$c={window:e(t),body:e("body"),form:".ctct-form-wrapper form"},o.timeout=null},o.setAllInputsValid=function(){e(o.$c.form+" .ctct-invalid").removeClass("ctct-invalid")},o.processError=function(t){"undefined"!=typeof t.id&&e("#"+t.id).addClass("ctct-invalid")},o.bindEvents=function(){e(o.$c.form).on("click","input[type=submit]",function(){clearTimeout(o.timeout),o.timeout=setTimeout(function(){e.post(ajaxurl,{action:"ctct_process_form",data:e(o.$c.form).serialize()},function(t){"undefined"!=typeof t.status&&("success"==t.status||"undefined"!=typeof t.errors&&(o.setAllInputsValid(),t.errors.forEach(o.processError)))})},500)})},e(o.init)}(window,jQuery,window.CTCTSupport);
assets/js/ctct-plugin-frontend/util.js ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * General purpose utility stuff for CC plugin.
3
+ */
4
+ (function( global, $ ){
5
+ /**
6
+ * Temporarily prevent the submit button from being clicked.
7
+ */
8
+ $( document ).ready( function() {
9
+ $( '#ctct-submitted' ).on( 'click', function() {
10
+ setTimeout( function() {
11
+ disable_send_button();
12
+ setTimeout( enable_send_button, 3000 );
13
+ }, 100 );
14
+ } );
15
+ } );
16
+
17
+ function disable_send_button() {
18
+ return $( '#ctct-submitted' ).attr( 'disabled', 'disabled' );
19
+ }
20
+
21
+ function enable_send_button() {
22
+ return $( '#ctct-submitted' ).attr( 'disabled', null );
23
+ }
24
+ })( window, jQuery );
assets/js/ctct-plugin-frontend/validation.js ADDED
@@ -0,0 +1,82 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ window.CTCTSupport = {};
2
+ ( function( window, $, that ) {
3
+
4
+ // Constructor.
5
+ that.init = function() {
6
+ that.cache();
7
+ that.bindEvents();
8
+ that.removePlaceholder();
9
+ }
10
+
11
+ that.removePlaceholder = function() {
12
+ $( '.ctct-form-field input,textarea' ).focus( function() {
13
+ $( this ).data( 'placeholder', $( this ).attr( 'placeholder' ) ).attr( 'placeholder','' );
14
+ }).blur( function() {
15
+ $( this ).attr( 'placeholder', $( this ).data( 'placeholder' ) );
16
+ });
17
+ }
18
+
19
+ // Cache all the things.
20
+ that.cache = function() {
21
+ that.$c = {
22
+ window: $( window ),
23
+ body: $( 'body' ),
24
+ form: '.ctct-form-wrapper form',
25
+ };
26
+ that.timeout = null;
27
+ }
28
+
29
+ that.setAllInputsValid = function() {
30
+ $( that.$c.form + ' .ctct-invalid' ).removeClass( 'ctct-invalid' );
31
+ }
32
+
33
+ that.processError = function( error ) {
34
+
35
+ // If we have an id property set
36
+ if ( typeof( error.id ) !== 'undefined' ) {
37
+ $( '#' + error.id ).addClass( 'ctct-invalid' );
38
+ }
39
+
40
+ }
41
+
42
+ // Combine all events.
43
+ that.bindEvents = function() {
44
+ $( that.$c.form ).on( 'click', 'input[type=submit]', function() {
45
+
46
+ clearTimeout( that.timeout );
47
+
48
+ that.timeout = setTimeout( function() {
49
+ $.post(
50
+ ajaxurl,
51
+ {
52
+ 'action': 'ctct_process_form',
53
+ 'data': $( that.$c.form ).serialize(),
54
+ },
55
+ function( response ) {
56
+
57
+ // Make sure we got the 'status' attribut in our response
58
+ if ( typeof( response.status ) !== 'undefined' ) {
59
+
60
+ if ( 'success' == response.status ) {
61
+ // Do nothing, we're golden
62
+ } else {
63
+ // Here we'll want to disable the submit button and
64
+ // add some error classes
65
+ if ( typeof( response.errors ) !== 'undefined' ) {
66
+ that.setAllInputsValid();
67
+ response.errors.forEach( that.processError );
68
+ }
69
+
70
+ }
71
+ }
72
+ }
73
+ );
74
+ }, 500 )
75
+ })
76
+ }
77
+
78
+
79
+ // Engage!
80
+ $( that.init );
81
+
82
+ })( window, jQuery, window.CTCTSupport );
assets/sass/README.md ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ # WDS Product Plugin Framework #
2
+ http://webdevstudios.com
3
+ Copyright (c) 2016 WebDevStudios
4
+ Licensed under the GPLv2 license.
assets/sass/_forms.scss ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ //--------------------------------------------------------------
2
+ // FORMS
3
+ //--------------------------------------------------------------
4
+ .ctct-form-wrapper{
5
+ // <form class="ctct-form">
6
+ .ctct-form {
7
+ @include clearfix;
8
+
9
+ label {
10
+
11
+ } // <label>
12
+
13
+ abbr {
14
+ border: none;
15
+ color: $color-red;
16
+ font-size: 0.9em;
17
+ } // <abbr>
18
+
19
+ } // .ctct-form
20
+
21
+ // If Field Description (optional) is provided
22
+ // we wrap an extra div around <input> and <label>
23
+ .ctct-input-container {
24
+
25
+ label {
26
+ color: $color-gray;
27
+ font-size: 0.8em;
28
+ } // label
29
+
30
+ } // .ctct-input-container
31
+
32
+ .ctct-field-error {
33
+ color: $color-red;
34
+ }
35
+ }
assets/sass/_global.scss ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ //--------------------------------------------------------------
2
+ // Global styling goes here
3
+ //--------------------------------------------------------------
4
+
5
+ .ctct-form-wrapper{
6
+
7
+ // 'Edit Form' link
8
+ .ctct-button {
9
+ font-size: 0.9em;
10
+ } // .ctct-button
11
+
12
+ // form messages / validation
13
+ .ctct-message {
14
+ border: 1px solid;
15
+ padding: $padding;
16
+ } // .message
17
+
18
+ // message Error
19
+ .error {
20
+ background-color: fade-out( $color-error, 0.98 );
21
+ border-color: $color-error;
22
+ color: darken( $color-error, 20% );
23
+ } // .error
24
+
25
+ // message Success
26
+ .success {
27
+ background-color: fade-out( $color-success, 0.98 );
28
+ border-color: $color-green;
29
+ color: darken( $color-success, 20% );
30
+ } // .success
31
+ }
assets/sass/_inputs.scss ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ //--------------------------------------------------------------
2
+ // INPUTS
3
+ //--------------------------------------------------------------
4
+
5
+ .ctct-form-wrapper{
6
+
7
+ input {
8
+
9
+ &[type="text"],
10
+ &[type="email"],
11
+ &[type="password"],
12
+ &[type="tel"],
13
+ &[type="number"] {
14
+
15
+ // show success!
16
+ &:required:valid {
17
+ background: url( '../images/check_circle.svg' ) no-repeat;
18
+ background-position: 8px 50%;
19
+ background-size: 24px;
20
+ border-color: $color-success;
21
+ padding-left: 40px;
22
+ }
23
+
24
+ // show error.
25
+ &:required.ctct-invalid,
26
+ &.ctct-invalid {
27
+ background: url( '../images/error.svg' ) no-repeat;
28
+ background-color: fade-out($color-error, 0.98);
29
+ background-position: 8px 50%;
30
+ background-size: 24px;
31
+ border-color: $color-error;
32
+ padding-left: 40px;
33
+ }
34
+ }
35
+
36
+ } // <input>
37
+
38
+ .ctct-field-error {
39
+ font-size: 0.85em;
40
+ font-style: italic;
41
+ }
42
+
43
+ input.ctct-invalid {
44
+ background: url( '../images/error.svg' ) no-repeat;
45
+ background-color: fade-out($color-error, 0.98);
46
+ background-position: 8px 50%;
47
+ background-size: 24px;
48
+ border-color: $color-error;
49
+ padding-left: 40px;
50
+ }
51
+ }
assets/sass/_layout.scss ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ //--------------------------------------------------------------
2
+ // Layout helpers
3
+ //--------------------------------------------------------------
4
+
5
+ .ctct-form-wrapper{
6
+
7
+ .ctct-form-field {
8
+ margin: 0 0 1em;
9
+ } // .ctct-form-field
10
+
11
+ .ctct-field-inline {
12
+ display: inline-block;
13
+ } // .ctct-field-inline
14
+
15
+ // 2-col layout helper for desktop
16
+ .ctct-field-half {
17
+
18
+ @include wider-than( 'medium' ) {
19
+ float: left;
20
+ margin-right: 2%;
21
+ width: 48%;
22
+
23
+ &:last-of-type {
24
+ margin-right: 0;
25
+ }
26
+ }
27
+
28
+ } // .ctct-field-half
29
+
30
+ // 3-col layout helper for desktop
31
+ .ctct-field-third {
32
+
33
+ @include wider-than( 'medium' ) {
34
+ float: left;
35
+ margin-right: 2%;
36
+ width: 32%;
37
+
38
+ &:last-of-type {
39
+ margin-right: 0;
40
+ }
41
+ }
42
+
43
+ } // .ctct-field-third
44
+
45
+ // 4-col layout helper for desktop
46
+ .ctct-field-fourth {
47
+
48
+ @include wider-than('medium') {
49
+ float: left;
50
+ margin-right: 2%;
51
+ width: 24%;
52
+
53
+ &:last-of-type {
54
+ margin-right: 0;
55
+ }
56
+ }
57
+
58
+ } // .ctct-field-fourth
59
+ }
assets/sass/_mixins.scss ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ //--------------------------------------------------------------
2
+ // MIXINS
3
+ //--------------------------------------------------------------
4
+
5
+ /// Mixin to manage responsive breakpoints
6
+ /// @author Hugo Giraudel
7
+ /// @param {String} $breakpoint - Breakpoint name
8
+ /// @require $breakpoints
9
+ @mixin wider-than($breakpoint) {
10
+ // If the key exists in the map
11
+ @if map-has-key($breakpoints, $breakpoint) {
12
+ // Prints a media query based on the value
13
+ @media (min-width: map-get($breakpoints, $breakpoint)) {
14
+ @content;
15
+ }
16
+ }
17
+
18
+ // If the key doesn't exist in the map
19
+ @else {
20
+ @warn "Unfortunately, no value could be retrieved from `#{$breakpoint}`. "
21
+ + "Available breakpoints are: #{map-keys($breakpoints)}.";
22
+ }
23
+ } // wider-than
24
+
25
+ // Clearfix
26
+ @mixin clearfix {
27
+ &:after {
28
+ clear: both;
29
+ content: "";
30
+ display: table;
31
+ }
32
+ } // clearfix
assets/sass/_modal.scss ADDED
@@ -0,0 +1,231 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @import 'variables';
2
+ @import 'mixins';
3
+
4
+ // start modal
5
+ .ctct-modal {
6
+ @include clearfix;
7
+
8
+ -moz-osx-font-smoothing: grayscale;
9
+ -webkit-font-smoothing: antialiased;
10
+ background-color: rgba(0,0,0,0.3);
11
+ bottom: 0;
12
+ display: none;
13
+ left: 0;
14
+ overflow: hidden;
15
+ position: fixed;
16
+ right: 0;
17
+ top: 0;
18
+ z-index: 9999;
19
+
20
+ // global heading/text
21
+ h2 {
22
+ color: $color-white;
23
+ font-size: 28px;
24
+ font-weight: 400;
25
+ line-height: 1.2;
26
+ margin: 0;
27
+ } // h2
28
+
29
+ h3 {
30
+ color: darken($color-prussian-blue,10%);
31
+ font-size: 18px;
32
+ line-height: 1.2;
33
+ margin-bottom: 15px;
34
+ margin-top: 10px;
35
+ } // h3
36
+
37
+ p {
38
+ color: $color-modal-text;
39
+ font-size: 14.7px;
40
+ } // p
41
+
42
+ // When the .modal-open class is set.
43
+ &.ctct-modal-open {
44
+ display: block;
45
+ overflow-x: hidden;
46
+ overflow-y: auto;
47
+ } // modal open
48
+
49
+ // Center the modal container.
50
+ .ctct-modal-dialog {
51
+ left: 50%;
52
+ position: absolute;
53
+ top: 50%;
54
+ transform: translate(-50%, -50%);
55
+ width: 100%;
56
+ max-width: 720px;
57
+
58
+ @media screen and (max-width: 1024px) {
59
+ max-width: 75%;
60
+ }
61
+
62
+ @media screen and (max-width: 782px) {
63
+ left: 7.5%;
64
+ top: 15%;
65
+ transform: translate(0,0);
66
+ margin-bottom: 15%;
67
+ max-width: 85%;
68
+ }
69
+ } // modal dialog
70
+
71
+ // The modal content container.
72
+ .ctct-modal-content {
73
+ background-clip: padding-box;
74
+ background-color: #ffffff;
75
+ border-radius: 8px;
76
+ box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.4);
77
+ outline: 0;
78
+ padding: rem(10);
79
+ position: relative;
80
+
81
+ // The modal header container.
82
+ .ctct-modal-header {
83
+ background: $color-sky-blue url(../images/cc-modal-bg.png) 50% 50% no-repeat;
84
+ border-top-left-radius: 8px;
85
+ border-top-right-radius: 8px;
86
+ padding: 65px 20px 40px;
87
+ text-align: center;
88
+
89
+ p {
90
+ color: $color-modal-header;
91
+ font-size: 16px;
92
+ margin-bottom: 0;
93
+ } // p
94
+
95
+ // Close "X" button.
96
+ .ctct-modal-close {
97
+ @include clearfix;
98
+
99
+ color: #ffffff;
100
+ cursor: pointer;
101
+ font-size: 26px;
102
+ height: 16px;
103
+ line-height: 0;
104
+ margin: 0;
105
+ outline: none;
106
+ padding: 0;
107
+ padding: 0;
108
+ position: absolute;
109
+ right: 10px;
110
+ text-decoration: none;
111
+ top: 18px;
112
+ width: 16px;
113
+ } // modal close
114
+ } // modal header
115
+
116
+ // No thanks
117
+ .ctct-modal-footer {
118
+ background-color: $color-alt-silver;
119
+ border-bottom-left-radius: 8px;
120
+ border-bottom-right-radius: 8px;
121
+ border-top: 3px solid $color-white;
122
+ padding:15px 15px 18px; // line-height fix
123
+ text-align: center;
124
+
125
+ p {
126
+ margin: 0;
127
+ font-size: 16px;
128
+ } // p
129
+
130
+ a {
131
+ color: $color-prussian-blue;
132
+ text-decoration: underline;
133
+ } // a
134
+ } // modal no thanks
135
+
136
+ // The modal body container.
137
+ .ctct-modal-body {
138
+ @include clearfix;
139
+ padding: 15px;
140
+ position: relative;
141
+
142
+ .ctct-modal-left,
143
+ .ctct-modal-right {
144
+ float:left;
145
+ padding: 15px 50px 15px;
146
+ text-align: center;
147
+ width: 50%;
148
+ box-sizing: border-box;
149
+
150
+ @media screen and (max-width: 782px) {
151
+ width: 100%;
152
+ float: none;
153
+ }
154
+
155
+ img,
156
+ svg {
157
+
158
+ &.ctct-modal-flare {
159
+ max-width: 120px;
160
+ height: auto;
161
+ } // flare
162
+ } // img
163
+
164
+ p {
165
+ max-width: 90%;
166
+ margin: 0 auto 25px;
167
+
168
+ &.small {
169
+ line-height: 1;
170
+ margin: 0;
171
+ max-width: 100%;
172
+ } // &.small
173
+ } // p
174
+
175
+ small {
176
+ font-style: italic;
177
+ } // small
178
+ } // left/right
179
+
180
+ .ctct-modal-left {
181
+ border-right: 1px solid $color-alt-silver;
182
+
183
+ @media screen and (max-width: 782px) {
184
+ border-bottom: 1px solid $color-alt-silver;
185
+ border-right: 0;
186
+ }
187
+ } // left
188
+
189
+ .ctct-modal-right {
190
+ border-left: 2px solid $color-alt-silver;
191
+
192
+ @media screen and (max-width: 782px) {
193
+ border-top: 1px solid $color-alt-silver;
194
+ border-left: 0;
195
+ }
196
+ } // right
197
+
198
+ .button {
199
+ border-radius: 4px;
200
+ color: $color-white;
201
+ font-size: 16px;
202
+ font-weight: 600;
203
+ height: auto;
204
+ line-height: 1;
205
+ margin-bottom: 10px;
206
+ min-width: 180px;
207
+ padding: 14px 30px;
208
+
209
+ &.button-orange {
210
+ background-color: $color-chrome-yellow;
211
+ border: 1px solid darken($color-chrome-yellow, 10%);
212
+
213
+ &:hover,
214
+ &:focus {
215
+ background-color: darken($color-chrome-yellow, 10%);
216
+ }
217
+ } // button orange
218
+
219
+ &.button-blue {
220
+ background-color: $color-prussian-blue;
221
+ border: 1px solid darken($color-prussian-blue, 10%);
222
+
223
+ &:hover,
224
+ &:focus {
225
+ background-color: darken($color-prussian-blue, 10%);
226
+ }
227
+ } // button blue
228
+ } // button
229
+ } // modal-body
230
+ } // modal content
231
+ } // modal
assets/sass/_variables.scss ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ //--------------------------------------------------------------
2
+ // COLORS
3
+ //--------------------------------------------------------------
4
+
5
+ // Primary palette
6
+ $color-blue: #0074D9;
7
+ $color-green: #2ECC40;
8
+ $color-red: #FF4136;
9
+
10
+ // Grayscale
11
+ $color-black: #000;
12
+ $color-gray: #aaa;
13
+ $color-silver: #ddd;
14
+ $color-white: #fff;
15
+
16
+ // Theming
17
+ $color-error: $color-red;
18
+ $color-success: $color-green;
19
+
20
+ // constant contact colors
21
+ $color-sky-blue: #88C5E2;
22
+ $color-chrome-yellow: #FFA901;
23
+ $color-prussian-blue: #0078C3;
24
+ $color-cc-blue: #1a5285;
25
+ $color-alt-silver: #EFEFEE;
26
+
27
+ // text
28
+ $color-modal-alt-text: #606d78;
29
+ $color-modal-header: #333333;
30
+ $color-modal-text: #555555;
31
+ $color-light-silver: #747e88;
32
+
33
+ // box model
34
+ $padding: 1em;
35
+
36
+ // Breakpoints
37
+ $breakpoints: (
38
+ 'small': 767px,
39
+ 'medium': 992px,
40
+ 'large': 1200px
41
+ ) !default;
assets/sass/admin-forms.scss ADDED
@@ -0,0 +1,117 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @import 'variables';
2
+ @import 'mixins';
3
+ @import 'modal';
4
+
5
+
6
+ .misc-pub-section {
7
+ &.misc-pub-visibility,
8
+ &.misc-pub-curtime {
9
+ display: none;
10
+ }
11
+ }
12
+
13
+ body.post-type-ctct_lists .misc-pub-post-status {
14
+ display: none;
15
+ }
16
+
17
+ body.post-type-ctct_forms #titlediv #title {
18
+ height: 2.7em;
19
+ }
20
+
21
+ .ctct-admin-title-details {
22
+ font-size: .6em;
23
+ vertical-align: middle;
24
+ display: block;
25
+ line-height: 2em;
26
+ }
27
+
28
+ #cmb2-metabox-ctct_1_optin_metabox .cmb2-id--ctct-opt-in-instructions,
29
+ #cmb2-metabox-ctct_1_optin_metabox .cmb2-id--ctct-opt-in {
30
+ display: none;
31
+ }
32
+
33
+ #ctct_0_description_metabox,
34
+ #ctct_1_optin_metabox,
35
+ #ctct_2_fields_metabox {
36
+
37
+ #custom_fields_group_repeat .cmb-field-list .cmb-row:not(:last-of-type) {
38
+ border-bottom: none;
39
+ padding-bottom: 0.1em;
40
+ }
41
+
42
+ #custom_fields_group_repeat .required {
43
+ padding-bottom: 0.1em;
44
+ padding-top: 0.1em;
45
+ }
46
+
47
+ #default_fields_group_repeat .cmb-field-list > .cmb-row {
48
+ padding-top: 0.5em;
49
+ }
50
+
51
+ #default_fields_group_repeat .cmb-field-list > .cmb-row:not(:last-of-type) {
52
+ padding-bottom: 0.1em;
53
+ border-bottom: 1px solid #e9e9e9 !important;
54
+ }
55
+
56
+ .cmb-repeat-group-wrap .cmb-repeatable-grouping {
57
+ margin: 0 0 1.5em 0;
58
+ }
59
+
60
+ .cmb-repeat-group-wrap .cmb-repeatable-grouping .cmb-row {
61
+ margin: 0 0 0 0.3em;
62
+ }
63
+
64
+ .postbox-container .cmb-remove-field-row {
65
+ padding-top: 0.8em;
66
+ padding-bottom: 0.8em;
67
+ }
68
+
69
+ .cmb-repeat-group-wrap {
70
+ padding: 0 !important;
71
+ }
72
+
73
+ .cmb-repeat-group-wrap .cmb-repeat-group-field {
74
+ padding-top: 0.2em;
75
+ }
76
+
77
+ button.cmb-add-group-row {
78
+ color: white !important;
79
+ background: #008ec2 !important;
80
+ border-color: #006799 !important;
81
+ }
82
+
83
+ .cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row {
84
+ top: .3em;
85
+ }
86
+
87
+ button.cmb-remove-group-row {
88
+ background: #ffdfa3 !important;
89
+ }
90
+
91
+ button.cmb-remove-group-row {
92
+ display: none;
93
+ }
94
+
95
+ h3.cmb-group-title.cmbhandle-title {
96
+ padding-left: 1em;
97
+ }
98
+ }
99
+
100
+ #ctct_1_optin_metabox {
101
+
102
+ .cmb-row {
103
+ border-bottom: none;
104
+ }
105
+
106
+ .cmb2-id--ctct-list {
107
+ padding-bottom: 0.5em;
108
+ }
109
+
110
+ .cmb-th {
111
+ width: 25%;
112
+ }
113
+
114
+ .cmb-th + .cmb-td {
115
+ width: 70%;
116
+ }
117
+ }
assets/sass/admin-global-no-connection.scss ADDED
@@ -0,0 +1,184 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @import 'variables';
2
+ @import 'mixins';
3
+
4
+
5
+ #adminmenu .wp-submenu a[href="edit.php?post_type=ctct_forms&page=ctct_options_connect"] {
6
+ color: rgb(58, 209, 130);
7
+ }
8
+
9
+ //--------------------------------------------------------------
10
+ // Connect Page
11
+ //--------------------------------------------------------------
12
+
13
+ .ctct_options_connect {
14
+ box-sizing: border-box;
15
+ padding: 70px;
16
+ text-align: center;
17
+ width: 100%;
18
+
19
+ @media screen and (max-width: 782px) {
20
+ padding: 30px 30px 0;
21
+ margin-left: -10px;
22
+ }
23
+
24
+ img {
25
+ width: 100%;
26
+ max-width: 400px;
27
+ height: auto;
28
+ }
29
+
30
+ h3 {
31
+ color: darken($color-prussian-blue,10%);
32
+ font-size: 20px;
33
+ line-height: 1.2;
34
+ margin-bottom: 10px;
35
+ margin-top: 10px;
36
+ } // h3
37
+
38
+ p {
39
+ color: $color-modal-alt-text;
40
+ font-size: 14.7px;
41
+
42
+ &.ctct-description {
43
+ font-size: 16px;
44
+ margin-bottom: 15px;
45
+ margin-top: 5px;
46
+ } // ctct-description
47
+
48
+ &.small {
49
+ color: $color-light-silver;
50
+ font-size: 13.3px;
51
+ margin: 15px auto 0;
52
+ max-width: 60%;
53
+
54
+ @media screen and (max-width: 782px) {
55
+ max-width: 100%;
56
+ }
57
+ }
58
+ } // p
59
+
60
+ .ctct-body {
61
+ @include clearfix;
62
+
63
+ margin: 0 auto;
64
+ max-width: 75%;
65
+ overflow-y: hidden;
66
+ position: relative;
67
+
68
+ .clear {
69
+ width: 100%;
70
+ clear: both;
71
+ height: 0;
72
+ }
73
+
74
+ .left,
75
+ .right {
76
+ box-sizing: border-box;
77
+ box-sizing: border-box;
78
+ float:left;
79
+ margin-bottom: -500px;
80
+ padding: 15px 0px 520px;
81
+ text-align: center;
82
+ width: 50%;
83
+
84
+ @media screen and (max-width: 782px) {
85
+ float: none;
86
+ margin-bottom: 0;
87
+ padding: 15px 0;
88
+ width: 100%;
89
+ }
90
+
91
+ img,
92
+ svg {
93
+
94
+ &.flare {
95
+ width: 180px;
96
+ height: auto;
97
+ } // flare
98
+ } // img
99
+ } // left-right
100
+ .left {
101
+ border-right: 1px solid $color-silver;
102
+ padding-right: 70px;
103
+
104
+ @media screen and (max-width: 782px) {
105
+ border-bottom: 1px solid $color-silver;
106
+ border-right: 0;
107
+ padding-bottom: 30px;
108
+ padding-right: 0;
109
+ }
110
+
111
+ p {
112
+ max-width: 220px;
113
+ margin: 0 auto 25px;
114
+
115
+ @media screen and (max-width: 782px) {
116
+ max-width: 100%;
117
+ }
118
+ } // p
119
+ } // left
120
+ .right {
121
+ padding-left: 70px;
122
+
123
+ @media screen and (max-width: 782px) {
124
+ padding-left: 0;
125
+ padding-top: 30px;
126
+ }
127
+
128
+ p {
129
+ display: block;
130
+ max-width: 350px;
131
+ margin: 0 auto 25px;
132
+
133
+ @media screen and (max-width: 782px) {
134
+ max-width: 100%;
135
+ }
136
+ } // p
137
+ } // right
138
+ .button {
139
+ border-radius: 4px;
140
+ color: $color-white;
141
+ font-size: 16px;
142
+ font-weight: 600;
143
+ height: auto;
144
+ line-height: 1;
145
+ margin-bottom: 10px;
146
+ min-width: 180px;
147
+ padding: 14px 30px;
148
+
149
+ &.button-orange {
150
+ background-color: $color-chrome-yellow;
151
+ border: 1px solid darken($color-chrome-yellow, 10%);
152
+
153
+ &:hover,
154
+ &:focus {
155
+ background-color: darken($color-chrome-yellow, 10%);
156
+ }
157
+ } // button orange
158
+
159
+ &.button-blue {
160
+ background-color: $color-prussian-blue;
161
+ border: 1px solid darken($color-prussian-blue, 10%);
162
+
163
+ &:hover,
164
+ &:focus {
165
+ background-color: darken($color-prussian-blue, 10%);
166
+ }
167
+ } // button blue
168
+ } // button
169
+ } // ctct-body
170
+ } // ctct_options_connect
171
+
172
+ .error {
173
+ background: none !important;
174
+ border-left: 1px solid $color-red !important;
175
+ border-radius: 3px;
176
+ border: 1px solid $color-red;
177
+ box-shadow: none !important;
178
+ display: inline-block;
179
+ margin: 0 0 20px 0 !important;
180
+
181
+ p {
182
+ color: $color-red !important;
183
+ } // p
184
+ } // error
assets/sass/admin-notices.scss ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .updated.ctct-admin-notice,
2
+ .error.ctct-admin-notice {
3
+ padding: 1em 38px 1em 1em ;
4
+ position: relative;
5
+ }
6
+
7
+ a.ctct-notice-dismiss {
8
+ text-decoration: none;
9
+ }
10
+
11
+ #ctct-admin-notice-activation {
12
+
13
+ padding: 1em 1em 0 1em;
14
+
15
+ .ctct-notice-intro {
16
+ max-width: 600px;
17
+ line-height: 1.5em;
18
+ }
19
+
20
+ .ctct-notice-button,
21
+ .ctct-notice-button:active {
22
+ vertical-align: middle;
23
+ margin: .5em;
24
+ }
25
+ }
assets/sass/admin-pages.scss ADDED
@@ -0,0 +1,291 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @import 'variables';
2
+ @import 'mixins';
3
+
4
+ //--------------------------------------------------------------
5
+ // About Page
6
+ //--------------------------------------------------------------
7
+
8
+ .constant-contact-about {
9
+ padding: 15px;
10
+
11
+ @media screen and (max-width: 782px) {
12
+ padding: 0;
13
+ }
14
+
15
+ h1.about-header {
16
+ color: $color-cc-blue;
17
+ font-size: 26px;
18
+ margin: 0 0 15px 0;
19
+ } // h1
20
+
21
+ h3 {
22
+ padding: 20px 0;
23
+ } // h3
24
+
25
+ p {
26
+ font-size: 16px;
27
+ font-weight: 300;
28
+ color: $color-modal-header;
29
+ } // p
30
+
31
+ .clear {
32
+ width: 100%;
33
+ clear: both;
34
+ height: 0;
35
+ }
36
+
37
+ .button {
38
+ border-radius: 4px;
39
+ color: $color-white;
40
+ font-size: 16px;
41
+ font-weight: 600;
42
+ height: auto;
43
+ line-height: 1;
44
+ margin-bottom: 10px;
45
+ min-width: 180px;
46
+ padding: 14px 30px;
47
+ text-align: center;
48
+
49
+ &.button-orange {
50
+ background-color: $color-chrome-yellow;
51
+ border: 1px solid darken($color-chrome-yellow, 10%);
52
+
53
+ &:hover,
54
+ &:focus {
55
+ background-color: darken($color-chrome-yellow, 10%);
56
+ }
57
+ } // button orange
58
+
59
+ &.button-blue {
60
+ background-color: $color-prussian-blue;
61
+ border: 1px solid darken($color-prussian-blue, 10%);
62
+
63
+ &:hover,
64
+ &:focus {
65
+ background-color: darken($color-prussian-blue, 10%);
66
+ }
67
+ } // button blue
68
+ } // button
69
+
70
+ .about-text {
71
+ margin: 0 50px 0 0;
72
+
73
+ @media screen and (max-width: 482px) {
74
+ margiun: 0;
75
+ }
76
+ }
77
+
78
+ .feature-section.two-col > div {
79
+ width: 49%;
80
+ float: left;
81
+ } // div
82
+
83
+ .headline-feature {
84
+ max-width: 90%;
85
+
86
+ @media screen and (max-width: 782px) {
87
+ max-width: 100%;
88
+ }
89
+
90
+ p {
91
+ margin-bottom: 0;
92
+ } // p
93
+
94
+ h5 {
95
+ font-weight: 300;
96
+ color: $color-light-silver;
97
+ font-style: italic;
98
+ } // h5
99
+ } // headline feature
100
+
101
+ .headline-title, .c-text {
102
+ text-align: center;
103
+ } // c-text
104
+
105
+ .featured-image {
106
+ min-height: 150px;
107
+ position: relative;
108
+ } // featured image
109
+
110
+ .fff-img {
111
+ height: 315px;
112
+ margin: 20px;
113
+ overflow: hidden;
114
+ max-width: 720px;
115
+ } // fff-img
116
+
117
+ .introduction {
118
+ padding: 20px 0;
119
+ } // introduction
120
+
121
+ .featured-title {
122
+ color: white;
123
+ font-size: 2em;
124
+ font-weight: bold;
125
+ margin: 0 auto;
126
+ position: absolute;
127
+ text-align: center;
128
+ text-shadow: 0 0 15px #000;
129
+ top: 80px;
130
+ width: 100%;
131
+
132
+ @media screen and (max-width: 482px) {
133
+ color: $color-cc-blue;
134
+ font-size: 26px;
135
+ line-height: 28px;
136
+ margin-top: 15px;
137
+ position: relative;
138
+ text-shadow: none;
139
+ top: 0;
140
+ }
141
+ } // featured-title
142
+
143
+ .featured-introduction {
144
+ color: white;
145
+ font-size: 1.2em;
146
+ margin: 0 auto;
147
+ position: absolute;
148
+ text-align: center;
149
+ text-shadow: 0 0 15px #000;
150
+ top: 120px;
151
+ width: 100%;
152
+
153
+ @media screen and (max-width: 482px) {
154
+ color: $color-cc-blue;
155
+ line-height: 1;
156
+ margin-top: 15px;
157
+ position: relative;
158
+ text-shadow: none;
159
+ top: 0;
160
+ }
161
+ } // featured-introduction
162
+
163
+ .hide-overflow {
164
+ overflow: hidden;
165
+ position: relative;
166
+
167
+ hr {
168
+ margin-top: 30px;
169
+ } // hr
170
+
171
+ h2 {
172
+ font-weight: 400;
173
+ font-size: 16px;
174
+ color: $color-cc-blue;
175
+ text-align: left;
176
+ margin-top: 30px;
177
+ } // h2
178
+ } // hide overflow
179
+
180
+ .left-side {
181
+ float:left;
182
+ box-sizing: border-box;
183
+ padding-right: 160px;
184
+
185
+ @media screen and (max-width: 482px) {
186
+ padding-right: 0;
187
+ }
188
+ } // left side
189
+
190
+ .plugin-badge {
191
+ position: absolute;
192
+ top: 10px;
193
+ right: 0;
194
+ max-height: 180px;
195
+ max-width: 160px;
196
+
197
+ @media screen and (max-width: 482px) {
198
+ display: none;
199
+ }
200
+ } // plugin-badge
201
+
202
+ .feature-image {
203
+ text-align: center;
204
+ } // featured image
205
+ } // constant-contact-about
206
+
207
+ // advert-block
208
+ .cc-a-block {
209
+ @include clearfix;
210
+
211
+ margin: 0 auto;
212
+ max-width: 90%;
213
+ padding: 50px 0;
214
+ text-align: center;
215
+
216
+ @media screen and (max-width: 482px) {
217
+ padding: 25px 0;
218
+ }
219
+
220
+ h3 {
221
+ color: $color-cc-blue;
222
+ font-size: 21px;
223
+ font-weight: 300;
224
+ height: 63px;
225
+ margin: 0 auto;
226
+ max-width: 70%;
227
+
228
+ @media screen and (max-width: 782px) {
229
+ height: auto;
230
+ max-width: 100%;
231
+ }
232
+ } // h3
233
+
234
+ // ad block containers
235
+ .left,
236
+ .right {
237
+ @include clearfix;
238
+
239
+ float:left;
240
+ width: 50%;
241
+
242
+ @media screen and (max-width: 482px) {
243
+ width: 100%;
244
+ float:none;
245
+ }
246
+
247
+ // ad blocks
248
+ .ad-1,
249
+ .ad-2 {
250
+ width: 90%;
251
+
252
+ @media screen and (max-width: 482px) {
253
+ width: 100%;
254
+ float: none;
255
+ }
256
+
257
+ img {
258
+ width: 100%;
259
+ height: auto;
260
+ }
261
+ } // ad-1, ad-2
262
+
263
+ // ad-1
264
+ .ad-1 {
265
+ float:left;
266
+
267
+ h3 {
268
+ padding-top: 35px;
269
+ height: 47px;
270
+ }
271
+ }
272
+ // ad-2
273
+ .ad-2 {
274
+ float:right;
275
+ }
276
+ } // left/right
277
+ } // advert block
278
+
279
+
280
+ .ctct-bonus-points {
281
+
282
+ list-style: circle;
283
+ padding-left: 50px;
284
+ font-size: 16px;
285
+ font-weight: 300;
286
+ color: #2b5e8c;
287
+
288
+ li {
289
+
290
+ }
291
+ }
assets/sass/oath.scss ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @import 'variables';
2
+ @import 'mixins';
3
+
4
+ //--------------------------------------------------------------
5
+ // Disconnect Page
6
+ //--------------------------------------------------------------
7
+
8
+ .ctct-logo {
9
+ max-width: 400px;
10
+ }
11
+
12
+ .ctct_options_connect {
13
+ box-sizing: border-box;
14
+ padding: 70px;
15
+ text-align: center;
16
+ width: 100%;
17
+
18
+ @media screen and (max-width: 782px) {
19
+ padding: 30px 30px 0;
20
+ margin-left: -10px;
21
+ }
22
+
23
+ img {
24
+ width: 100%;
25
+ max-width: 400px;
26
+ height: auto;
27
+ }
28
+
29
+ p {
30
+ color: $color-modal-alt-text;
31
+ font-size: 16px;
32
+ } // p
33
+
34
+ .ctct-body {
35
+ @include clearfix;
36
+
37
+ margin: 0 auto;
38
+ max-width: 75%;
39
+ overflow-y: hidden;
40
+ padding: 0 15px;
41
+ position: relative;
42
+
43
+ .notice {
44
+ background: none;
45
+ border-left: none;
46
+ box-shadow: none;
47
+ margin: 0 0 20px 0;
48
+ padding: 0;
49
+ } // notice
50
+
51
+ .button {
52
+ border-radius: 4px;
53
+ color: $color-white;
54
+ font-size: 16px;
55
+ font-weight: 600;
56
+ height: auto;
57
+ line-height: 1;
58
+ margin-bottom: 10px;
59
+ min-width: 180px;
60
+ padding: 14px 30px;
61
+
62
+ &.button-orange {
63
+ background-color: $color-chrome-yellow;
64
+ border: 1px solid darken($color-chrome-yellow, 10%);
65
+
66
+ &:hover,
67
+ &:focus {
68
+ background-color: darken($color-chrome-yellow, 10%);
69
+ }
70
+ } // button orange
71
+
72
+ &.button-blue {
73
+ background-color: $color-prussian-blue;
74
+ border: 1px solid darken($color-prussian-blue, 10%);
75
+
76
+ &:hover,
77
+ &:focus {
78
+ background-color: darken($color-prussian-blue, 10%);
79
+ }
80
+ } // button blue
81
+ } // button
82
+ } // ctct-body
83
+ } // ctct_options_connect
assets/sass/style.scss ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ //--------------------------------------------------------------
2
+ // Let's import all the things - style.css
3
+ //--------------------------------------------------------------
4
+
5
+ @import "variables";
6
+ @import "mixins";
7
+
8
+ @import "global";
9
+ @import "layout";
10
+
11
+ @import "inputs";
12
+ @import "forms";
assets/wporg/banner-1544x500.jpg ADDED
Binary file
assets/wporg/banner-772x250.jpg ADDED
Binary file
assets/wporg/icon-128x128.png ADDED
Binary file
assets/wporg/icon-256x256.png ADDED
Binary file
assets/wporg/screenshot-1.png ADDED
Binary file
assets/wporg/screenshot-2.png ADDED
Binary file
assets/wporg/screenshot-3.png ADDED
Binary file
assets/wporg/screenshot-4.png ADDED
Binary file
constant-contact-forms.php ADDED
@@ -0,0 +1,586 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Constant Contact Main Plugin File
4
+ *
5
+ * @package ConstantContactForms
6
+ * @subpackage Loader
7
+ * @author Pluginize
8
+ * @since 1.0.0
9
+ * @license GPLv3
10
+ *
11
+ * @wordpress-plugin
12
+ * Plugin Name: Constant Contact Forms for WordPress
13
+ * Plugin URI: http://constantcontact.com
14
+ * Description: Be a better marketer. All it takes is Constant Contact email marketing.
15
+ * Version: 1.0.0
16
+ * Author: Pluginize
17
+ * Author URI: http://pluginize.com
18
+ * License: GPLv3
19
+ * Text Domain: constant-contact-forms
20
+ * Domain Path: /languages
21
+ */
22
+
23
+ /**
24
+ * Looking to extend this plugin at all? There are a series of helper
25
+ * functions in includes/helper-functions.php for you to use. There are also
26
+ * filters throughout the plugin, to customize most areas.
27
+ */
28
+
29
+ /**
30
+ * Copyright (c) 2016 Constant Contact (email : contact@constantcontact.com)
31
+ *
32
+ * This program is free software: you can redistribute it and/or modify
33
+ * it under the terms of the GNU General Public License as published by
34
+ * the Free Software Foundation, either version 3 of the License, or
35
+ * (at your option) any later version.
36
+ *
37
+ * This program is distributed in the hope that it will be useful,
38
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
39
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
40
+ * GNU General Public License for more details.
41
+ *
42
+ * You should have received a copy of the GNU General Public License
43
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
44
+ */
45
+
46
+ /**
47
+ * Autoloads files with classes when needed
48
+ *
49
+ * @since 1.0.0
50
+ * @param string $class_name Name of the class being requested.
51
+ * @return void
52
+ */
53
+ function constant_contact_autoload_classes( $class_name ) {
54
+ if ( 0 !== strpos( $class_name, 'ConstantContact_' ) ) {
55
+ return;
56
+ }
57
+
58
+ $filename = strtolower( str_replace(
59
+ '_', '-',
60
+ substr( $class_name, strlen( 'ConstantContact_' ) )
61
+ ) );
62
+
63
+ Constant_Contact::include_file( $filename );
64
+ }
65
+ spl_autoload_register( 'constant_contact_autoload_classes' );
66
+
67
+ /**
68
+ * Main initiation class
69
+ *
70
+ * @since 1.0.0
71
+ */
72
+ class Constant_Contact {
73
+
74
+ /**
75
+ * Current version
76
+ *
77
+ * @var string
78
+ * @since 1.0.0
79
+ */
80
+ const VERSION = '1.0.0';
81
+
82
+ /**
83
+ * URL of plugin directory
84
+ *
85
+ * @var string
86
+ * @since 1.0.0
87
+ */
88
+ protected $url = '';
89
+
90
+ /**
91
+ * Path of plugin directory
92
+ *
93
+ * @var string
94
+ * @since 1.0.0
95
+ */
96
+ protected $path = '';
97
+
98
+ /**
99
+ * Plugin basename
100
+ *
101
+ * @var string
102
+ * @since 1.0.0
103
+ */
104
+ protected $basename = '';
105
+
106
+ /**
107
+ * Plugin name
108
+ *
109
+ * @var string
110
+ * @since 1.0.0
111
+ */
112
+ public $plugin_name = '';
113
+
114
+ /**
115
+ * Text domain
116
+ *
117
+ * @var string
118
+ * @since 1.0.0
119
+ */
120
+ public $text_domain = 'constant-contact-forms';
121
+
122
+ /**
123
+ * Menu Icon
124
+ *
125
+ * @var string
126
+ * @since 1.0.0
127
+ */
128
+ public $menu_icon = 'dashicons-megaphone';
129
+
130
+ /**
131
+ * Does site support encrpytions?
132
+ *
133
+ * @var boolean
134
+ * @since 1.0.1
135
+ */
136
+ public $is_encryption_ready = false;
137
+
138
+ /**
139
+ * Singleton instance of plugin
140
+ *
141
+ * @var WDS_Product_Plugin_Framework
142
+ * @since 1.0.0
143
+ */
144
+ protected static $single_instance = null;
145
+
146
+ /**
147
+ * All our class instances
148
+ *
149
+ * @since 1.0.1
150
+ */
151
+ private $admin;
152
+ private $admin_pages;
153
+ private $auth_redirect;
154
+ private $api;
155
+ private $builder;
156
+ private $builder_fields;
157
+ private $check;
158
+ private $connect;
159
+ private $cpts;
160
+ private $display;
161
+ private $display_shortcode;
162
+ private $lists;
163
+ private $process_form;
164
+ private $settings;
165
+ private $mail;
166
+ private $notifications;
167
+ private $notification_content;
168
+ private $authserver;
169
+ private $updates;
170
+
171
+ /**
172
+ * License file.
173
+ *
174
+ * @var string
175
+ * @since 1.0.1
176
+ */
177
+ const LICENSE_FILE = 'license.txt';
178
+
179
+ /**
180
+ * Creates or returns an instance of this class.
181
+ *
182
+ * @since 1.0.0
183
+ * @return Constant_Contact A single instance of this class.
184
+ */
185
+ public static function get_instance() {
186
+ if ( null === self::$single_instance ) {
187
+ self::$single_instance = new self();
188
+ }
189
+
190
+ return self::$single_instance;
191
+ }
192
+
193
+ /**
194
+ * Sets up our plugin
195
+ *
196
+ * @since 1.0.0
197
+ */
198
+ protected function __construct() {
199
+
200
+ // Set up our plugin name
201
+ $this->plugin_name = __( 'Constant Contact', 'constant-contact-forms' );
202
+
203
+ // Set up some helper properties
204
+ $this->basename = plugin_basename( __FILE__ );
205
+ $this->url = plugin_dir_url( __FILE__ );
206
+ $this->path = plugin_dir_path( __FILE__ );
207
+
208
+ // Load our plugin and our libraries
209
+ $this->plugin_classes();
210
+ $this->load_libs();
211
+
212
+ // If we're in the admin, also load up the admin classes
213
+ if ( is_admin() ) {
214
+ $this->admin_plugin_classes();
215
+ }
216
+
217
+ // Include our helper functions function for end-users
218
+ Constant_Contact::include_file( 'helper-functions', false );
219
+ }
220
+
221
+ /**
222
+ * Attach other plugin classes to the base plugin class.
223
+ *
224
+ * @since 1.0.0
225
+ * @return void
226
+ */
227
+ public function plugin_classes() {
228
+ $this->api = new ConstantContact_API( $this );
229
+ $this->builder = new ConstantContact_Builder( $this );
230
+ $this->builder_fields = new ConstantContact_Builder_Fields( $this );
231
+ $this->check = new ConstantContact_Check( $this );
232
+ $this->cpts = new ConstantContact_CPTS( $this );
233
+ $this->display = new ConstantContact_Display( $this );
234
+ $this->display_shortcode = new ConstantContact_Display_Shortcode( $this );
235
+ $this->lists = new ConstantContact_Lists( $this );
236
+ $this->process_form = new ConstantContact_Process_Form( $this );
237
+ $this->settings = new ConstantContact_Settings( $this );
238
+ $this->auth_redirect = new ConstantContact_Auth_Redirect( $this );
239
+ $this->connect = new ConstantContact_Connect( $this );
240
+ $this->mail = new ConstantContact_Mail( $this );
241
+ $this->notifications = new ConstantContact_Notifications( $this );
242
+ $this->notification_content = new ConstantContact_Notification_Content( $this );
243
+ $this->authserver = new ConstantContact_Middleware( $this );
244
+ $this->updates = new ConstantContact_Updates( $this );
245
+ }
246
+
247
+ /**
248
+ * Attach other plugin classes to the base plugin class, but only in the admin
249
+ *
250
+ * @since 1.0.0
251
+ * @return void
252
+ */
253
+ public function admin_plugin_classes() {
254
+ $this->admin = new ConstantContact_Admin( $this, $this->basename );
255
+ $this->admin_pages = new ConstantContact_Admin_Pages( $this );
256
+ }
257
+
258
+ /**
259
+ * Add hooks and filters
260
+ *
261
+ * @since 1.0.0
262
+ * @return void
263
+ */
264
+ public function hooks() {
265
+
266
+ // Hook in our older includes and our init method
267
+ add_action( 'init', array( $this, 'init' ) );
268
+ add_action( 'init', array( $this, 'includes' ), 5 );
269
+
270
+ // Our vendor files will do a check for ISSSL, so we want to set it to be that.
271
+ // See Guzzle for more info and usage of this
272
+ if ( is_ssl() || ! defined( 'ISSSL' ) ) {
273
+ define( 'ISSSL', true );
274
+ }
275
+
276
+ // Allow shortcodes in widgets for our plugin
277
+ add_filter( 'widget_text', 'do_shortcode' );
278
+
279
+ if ( is_admin() ) {
280
+ add_action( 'wp_ajax_ctct_dismiss_first_modal', array( $this, 'ajax_save_clear_first_form' ) );
281
+ add_action( 'wp_ajax_nopriv_ctct_dismiss_first_modal', array( $this, 'ajax_save_clear_first_form' ) );
282
+ }
283
+ }
284
+
285
+ /**
286
+ * Activate the plugin
287
+ *
288
+ * @since 1.0.0
289
+ * @return void
290
+ */
291
+ function _activate() { }
292
+
293
+ /**
294
+ * Deactivate the plugin
295
+ *
296
+ * @since 1.0.0
297
+ * @return void
298
+ */
299
+ function _deactivate() {
300
+
301
+ // If we deactivate the plugin, remove our saved dismiss state for the activation
302
+ // admin notice that pops up, so we can re-prompt the user to connect
303
+ $this->notifications->delete_dismissed_notification( 'activation' );
304
+
305
+ // Remove our saved transients for our lists, so we force a refresh on re-connection
306
+ delete_transient( 'ctct_lists' );
307
+
308
+ }
309
+
310
+ /**
311
+ * Init hooks
312
+ *
313
+ * @since 1.0.0
314
+ * @return void
315
+ */
316
+ public function init() {
317
+
318
+ // Load our textdomain
319
+ load_plugin_textdomain( $this->text_domain, false, dirname( $this->basename ) . '/languages/' );
320
+ }
321
+
322
+ /**
323
+ * Load Vendor libraries
324
+ *
325
+ * @since 1.0.0
326
+ * @return void
327
+ */
328
+ public function load_libs() {
329
+
330
+ // Set an array of libraries we need to load
331
+ $libs = array(
332
+ 'CMB2/init.php',
333
+ 'constantcontact/autoload.php',
334
+ 'constantcontact/constantcontact/constantcontact/src/Ctct/autoload.php',
335
+
336
+ 'defuse-php-encryption/Exception/CryptoException.php',
337
+ 'defuse-php-encryption/Exception/BadFormatException.php',
338
+ 'defuse-php-encryption/Exception/EnvironmentIsBrokenException.php',
339
+ 'defuse-php-encryption/Exception/IOException.php',
340
+ 'defuse-php-encryption/Exception/WrongKeyOrModifiedCiphertextException.php',
341
+
342
+ 'defuse-php-encryption/Core.php',
343
+ 'defuse-php-encryption/Crypto.php',
344
+ 'defuse-php-encryption/DerivedKeys.php',
345
+ 'defuse-php-encryption/Encoding.php',
346
+ 'defuse-php-encryption/Key.php',
347
+ 'defuse-php-encryption/KeyOrPassword.php',
348
+ 'defuse-php-encryption/RuntimeTests.php',
349
+ );
350
+
351
+ // If we don't alrady have WDS_Shortcodes loaded somewhere else, load it up
352
+ if ( ! function_exists( 'wds_shortcodes' ) ) {
353
+ $libs[] = 'WDS-Shortcodes/wds-shortcodes.php';
354
+ }
355
+
356
+ // Loop through our vendor libraries and load them
357
+ foreach ( $libs as $lib ) {
358
+
359
+ // Require_once our file
360
+ require_once( $this->dir( "vendor/{$lib}" ) );
361
+ }
362
+ }
363
+
364
+ /**
365
+ * Load includes.
366
+ *
367
+ * @since 1.0.0
368
+ */
369
+ public function includes() {
370
+
371
+ // Only load this if we have the WDS Shortcodes class
372
+ if ( class_exists( 'WDS_Shortcodes' ) ) {
373
+
374
+ // Set up our base WDS_Shortcodes class
375
+ $this->shortcode = new ConstantContact_Shortcode();
376
+
377
+ // Set our custom shortcode with correct version and data
378
+ $this->shortcode_admin = new ConstantContact_Shortcode_Admin(
379
+ $this->shortcode->shortcode,
380
+ self::VERSION,
381
+ $this->shortcode->atts_defaults
382
+ );
383
+
384
+ // Launch it
385
+ $this->shortcode_admin->hooks();
386
+ }
387
+ }
388
+
389
+ /**
390
+ * Checks to see if the server will support encryption functionality
391
+ *
392
+ * @since 1.0.0
393
+ * @return boolean if we should load/use the encryption libraries
394
+ */
395
+ public function is_encryption_ready() {
396
+
397
+ // Make sure we have our openssl libraries
398
+ if ( ! function_exists( 'openssl_encrypt' ) || ! function_exists( 'openssl_decrypt' ) ) {
399
+ return false;
400
+ }
401
+
402
+ // Check to make sure we dont' get any exceptions when loading the class
403
+ if ( ! $this->check_crypto_class() ) {
404
+ return false;
405
+ }
406
+
407
+ // We should be good
408
+ return true;
409
+ }
410
+
411
+ /**
412
+ * Helper method to check our crypto clases
413
+ *
414
+ * @since 1.0.0
415
+ * @return boolean if we can encrpyt or not
416
+ */
417
+ public function check_crypto_class() {
418
+
419
+ try {
420
+ $return = false;
421
+ $this->load_libs( true );
422
+
423
+ // If we have the Runtime test class
424
+ if ( class_exists( 'Defuse\Crypto\RuntimeTests' ) ) {
425
+
426
+ // If we have our Crpyto class, we'll run the included
427
+ // runtime tests and see if we get the correct response.
428
+ $tests = new Defuse\Crypto\RuntimeTests;
429
+ $tests = $tests->runtimeTest();
430
+ $return = true;
431
+ }
432
+ } catch ( Exception $exception ) {
433
+
434
+ // If we caught an exception of some kind, then we're not able
435
+ // to use this library
436
+ if ( $exception ) {
437
+ $return = false;
438
+ }
439
+ }
440
+
441
+ // Send back if we can or can't use the library
442
+ return $return;
443
+ }
444
+
445
+ /**
446
+ * Save our dismissed first form notification
447
+ *
448
+ * @since 1.0.0
449
+ * @return void
450
+ */
451
+ public function ajax_save_clear_first_form() {
452
+
453
+ if ( isset( $_POST['action'] ) && 'ctct_dismiss_first_modal' === $_POST['action'] ) { // Input var okay
454
+
455
+ // Save our dismiss for the first form modal
456
+ update_option( 'ctct_first_form_modal_dismissed', time() );
457
+ }
458
+ wp_die();
459
+ }
460
+
461
+ /**
462
+ * Magic getter for our object.
463
+ *
464
+ * @since 1.0.0
465
+ * @param string $field Field to get.
466
+ * @throws Exception Throws an exception if the field is invalid.
467
+ * @return mixed
468
+ */
469
+ public function __get( $field ) {
470
+ switch ( $field ) {
471
+ case 'version':
472
+ return self::VERSION;
473
+ case 'admin':
474
+ case 'admin_pages':
475
+ case 'auth_redirect':
476
+ case 'api':
477
+ case 'basename':
478
+ case 'builder':
479
+ case 'builder_fields':
480
+ case 'connect':
481
+ case 'check':
482
+ case 'cpts':
483
+ case 'display':
484
+ case 'display_shortcode':
485
+ case 'lists':
486
+ case 'path':
487
+ case 'plugin_name':
488
+ case 'process_form':
489
+ case 'settings':
490
+ case 'url':
491
+ case 'mail':
492
+ case 'notifications':
493
+ case 'notification_content':
494
+ case 'authserver':
495
+ case 'updates':
496
+ return $this->$field;
497
+ default:
498
+ throw new Exception( 'Invalid ' . __CLASS__ . ' property: ' . $field );
499
+ }
500
+ }
501
+
502
+ /**
503
+ * Include a file from the classes directory
504
+ *
505
+ * @since 1.0.0
506
+ * @param string $filename Name of the file to be included.
507
+ * @return bool Result of include call.
508
+ */
509
+ public static function include_file( $filename, $include_class = true ) {
510
+
511
+ // By default, all files are named 'class-something.php'
512
+ if ( $include_class ) {
513
+ $filename = 'class-' . $filename;
514
+ }
515
+
516
+ // Get the file
517
+ $file = self::dir( 'includes/' . $filename . '.php' );
518
+
519
+ // If its there, include it
520
+ if ( file_exists( $file ) ) {
521
+ return include_once( $file );
522
+ }
523
+
524
+ // Wasn't there
525
+ return false;
526
+ }
527
+
528
+ /**
529
+ * This plugin's directory
530
+ *
531
+ * @since 1.0.0
532
+ * @param string $path (optional) appended path.
533
+ * @return string Directory and path
534
+ */
535
+ public static function dir( $path = '' ) {
536
+ static $dir;
537
+ $dir = $dir ? $dir : trailingslashit( dirname( __FILE__ ) );
538
+ return $dir . $path;
539
+ }
540
+
541
+ /**
542
+ * This plugin's url
543
+ *
544
+ * @since 1.0.0
545
+ * @param string $path (optional) appended path.
546
+ * @return string URL and path
547
+ */
548
+ public static function url( $path = '' ) {
549
+ static $url;
550
+ $url = $url ? $url : trailingslashit( plugin_dir_url( __FILE__ ) );
551
+ return $url . $path;
552
+ }
553
+
554
+ /**
555
+ * Retrieve license as text.
556
+ *
557
+ * @since 1.0.0
558
+ * @return string License text.
559
+ */
560
+ public function get_license_text() {
561
+ $license = $this->dir( self::LICENSE_FILE );
562
+
563
+ if ( ! is_readable( $license ) ) {
564
+ return __( 'Error loading licensce.', 'constant-contact-forms' );
565
+ }
566
+
567
+ return file_get_contents( $license );
568
+ }
569
+ }
570
+ // Kick it off.
571
+ add_action( 'plugins_loaded', array( constant_contact(), 'hooks' ) );
572
+
573
+ // Hook in Activation / Deactivation hooks
574
+ register_activation_hook( __FILE__ , array( constant_contact(), '_activate' ) );
575
+ register_deactivation_hook( __FILE__ , array( constant_contact(), '_deactivate' ) );
576
+
577
+ /**
578
+ * Grab the Constant_Contact object and return it.
579
+ * Wrapper for Constant_Contact::get_instance()
580
+ *
581
+ * @since 1.0.0
582
+ * @return Constant_Contact Singleton instance of plugin class.
583
+ */
584
+ function constant_contact() {
585
+ return Constant_Contact::get_instance();
586
+ }
gulpfile.js ADDED
@@ -0,0 +1,173 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ var gulp = require('gulp');
2
+
3
+ var autoprefixer = require('autoprefixer');
4
+ var concat = require('gulp-concat');
5
+ var cssnano = require('gulp-cssnano');
6
+ var del = require('del');
7
+ var fs = require('fs'); // node file system manipulation
8
+ var gulp = require('gulp');
9
+ var gutil = require('gulp-util');
10
+ var mqpacker = require('css-mqpacker');
11
+ var notify = require('gulp-notify');
12
+ var path = require('path'); // node path module
13
+ var plumber = require('gulp-plumber');
14
+ var postcss = require('gulp-postcss');
15
+ var rename = require('gulp-rename');
16
+ var sass = require('gulp-sass');
17
+ var sort = require('gulp-sort');
18
+ var sourcemaps = require('gulp-sourcemaps');
19
+ var uglify = require('gulp-uglify');
20
+
21
+ // Set variable for paths
22
+ var scriptsPath = 'assets/js';
23
+
24
+ /**
25
+ * Handle errors and alert the user.
26
+ */
27
+ function handleErrors () {
28
+ var args = Array.prototype.slice.call(arguments);
29
+
30
+ notify.onError({
31
+ title: 'Task Failed [<%= error.message %>',
32
+ message: 'See console.',
33
+ sound: 'Sosumi' // See: https://github.com/mikaelbr/node-notifier#all-notification-options-with-their-defaults
34
+ }).apply(this, args);
35
+
36
+ gutil.beep(); // Beep 'sosumi' again
37
+
38
+ // Prevent the 'watch' task from stopping
39
+ this.emit('end');
40
+ }
41
+
42
+ /**
43
+ * Read directory name for filename
44
+ */
45
+ function getFolders(dir) {
46
+ return fs.readdirSync(dir)
47
+ .filter(function(file) {
48
+ return fs.statSync(path.join(dir, file)).isDirectory();
49
+ });
50
+ }
51
+
52
+ /**
53
+ * Get folder names in /assets/js/, and map to filename
54
+ * based on foldername, concatenate all scripts in folder,
55
+ * and minify, e.g.
56
+ * assets/js/wp-admin/*.js -> assets/js/wp-admin.js and assets/js/wp-admin.min.js
57
+ */
58
+ gulp.task('scripts', function() {
59
+ var folders = getFolders(scriptsPath);
60
+
61
+ var tasks = folders.map(function(folder) {
62
+ return gulp.src(path.join(scriptsPath, folder, '/**/*.js'))
63
+ // concat into foldername.js
64
+ .pipe(concat(folder + '.js'))
65
+ // write to output
66
+ .pipe(gulp.dest(scriptsPath))
67
+ // minify
68
+ .pipe(uglify())
69
+ // rename to folder.min.js
70
+ .pipe(rename(folder + '.min.js'))
71
+ // write to output again
72
+ .pipe(gulp.dest(scriptsPath));
73
+ });
74
+
75
+ return tasks;
76
+ });
77
+
78
+ /**
79
+ * Delete style.css and style.min.css before we minify and optimize
80
+ */
81
+ gulp.task('clean:styles', function() {
82
+ return del(['assets/css/style.css', 'assets/css/style.min.css'])
83
+ });
84
+
85
+ /**
86
+ * Compile Sass
87
+ *
88
+ * https://www.npmjs.com/package/gulp-sass
89
+ */
90
+ gulp.task('sass', function() {
91
+ return gulp.src('assets/sass/*.scss')
92
+
93
+ // Deal with errors.
94
+ .pipe(plumber({ errorHandler: handleErrors }))
95
+
96
+ // Compile Sass using LibSass.
97
+ .pipe(sass({
98
+ outputStyle: 'expanded' // Options: nested, expanded, compact, compressed
99
+ }))
100
+
101
+ // Create style.css.
102
+ .pipe(gulp.dest('./assets/css'))
103
+ });
104
+
105
+ /**
106
+ * Run stylesheet through PostCSS.
107
+ *
108
+ * https://www.npmjs.com/package/gulp-postcss
109
+ * https://www.npmjs.com/package/gulp-autoprefixer
110
+ * https://www.npmjs.com/package/css-mqpacker
111
+ */
112
+ gulp.task('postcss', ['sass'], function() {
113
+ return gulp.src('assets/css/style.css')
114
+
115
+ // Wrap tasks in a sourcemap.
116
+ .pipe(sourcemaps.init())
117
+
118
+ // Deal with errors.
119
+ .pipe(plumber({ errorHandler: handleErrors }))
120
+
121
+ // Parse with PostCSS plugins.
122
+ .pipe(postcss([
123
+ autoprefixer({
124
+ browsers: ['last 2 version']
125
+ }),
126
+ mqpacker({
127
+ sort: true
128
+ }),
129
+ ]))
130
+
131
+ // Create sourcemap.
132
+ .pipe(sourcemaps.write())
133
+
134
+ // Create style.css.
135
+ .pipe(gulp.dest('./assets/css'))
136
+ });
137
+
138
+ /**
139
+ * Minify and optimize style.css.
140
+ *
141
+ * https://www.npmjs.com/package/gulp-cssnano
142
+ */
143
+ gulp.task('cssnano', ['postcss'], function() {
144
+ return gulp.src('assets/css/style.css')
145
+
146
+ // handle any errors
147
+ .pipe(plumber({ errorHandler: handleErrors }))
148
+
149
+ .pipe(cssnano({
150
+ safe: true // Use safe optimizations
151
+ }))
152
+
153
+ // rename file from style.css to style.min.css
154
+ .pipe(rename('style.min.css'))
155
+
156
+ .pipe(gulp.dest('./assets/css'))
157
+ });
158
+
159
+ /**
160
+ * Define default Gulp watch task
161
+ */
162
+ gulp.task('watch', function() {
163
+ gulp.watch('./assets/sass/*.scss', ['cssnano']);
164
+ gulp.watch('./assets/js/**/*.js', ['scripts']);
165
+ });
166
+
167
+ /**
168
+ * Create individual tasks.
169
+ */
170
+ //gulp.task('scripts', ['scripts']);
171
+ gulp.task('js', ['scripts']);
172
+ gulp.task('styles', ['cssnano']);
173
+ gulp.task('default', ['styles', 'js']);
includes/class-admin-pages.php ADDED
@@ -0,0 +1,349 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @package ConstantContact
4
+ * @subpackage AdminPages
5
+ * @author Pluginize
6
+ * @since 1.0.1
7
+ */
8
+
9
+ /**
10
+ * Powers admin pages and activation message.
11
+ */
12
+ class ConstantContact_Admin_Pages {
13
+
14
+ /**
15
+ * Parent plugin class
16
+ *
17
+ * @var class
18
+ * @since 0.0.1
19
+ */
20
+ protected $plugin = null;
21
+
22
+ /**
23
+ * Constructor
24
+ *
25
+ * @since 1.0.0
26
+ * @return void
27
+ */
28
+ public function __construct( $plugin ) {
29
+ $this->plugin = $plugin;
30
+ $this->hooks();
31
+ }
32
+
33
+ /**
34
+ * Initiate our hooks.
35
+ *
36
+ * @since 1.0.0
37
+ * @return void
38
+ */
39
+ public function hooks() {
40
+
41
+ // Add our styles to the site
42
+ add_action( 'admin_init', array( $this, 'styles' ) );
43
+ }
44
+
45
+ /**
46
+ * Global admin style enqueue stuff
47
+ *
48
+ * @since 1.0.0
49
+ */
50
+ public function styles() {
51
+
52
+ // Register our admin form styles
53
+ wp_register_style(
54
+ 'constant-contact-forms',
55
+ constant_contact()->url() . 'assets/css/admin-forms.css',
56
+ array(),
57
+ constant_contact()->version
58
+ );
59
+
60
+ // Register our admin pages styles
61
+ wp_register_style(
62
+ 'constant_contact_admin_pages',
63
+ constant_contact()->url() . 'assets/css/admin-pages.css',
64
+ array(),
65
+ constant_contact()->version
66
+ );
67
+ }
68
+
69
+ /**
70
+ * Gets the help text for help page
71
+ *
72
+ * @since 1.0.0
73
+ * @return array array of all the help text
74
+ */
75
+ public function get_help_texts() {
76
+
77
+ // Grab our help text. This can be filtered elsewhere, as well.
78
+ return apply_filters( 'constant_contact_help_texts', array(
79
+ array(
80
+ 'title' => __( 'This is a sample help header', 'constant-contact-forms' ),
81
+ 'content' => __( 'This is some sample help text.', 'constant-contact-forms' ),
82
+ ),
83
+ array(
84
+ 'title' => __( 'This is another sample header', 'constant-contact-forms' ),
85
+ 'content' => __( 'This is also some sample help text.', 'constant-contact-forms' ),
86
+ ),
87
+ ) );
88
+ }
89
+
90
+ /**
91
+ * Get faq text for help page
92
+ *
93
+ * @since 1.0.0
94
+ * @return array array of all the text
95
+ */
96
+ public function get_faq_texts() {
97
+
98
+ // Get our FAQ texts. This can be filtered
99
+ return apply_filters( 'constant_contact_faq_texts', array(
100
+ array(
101
+ 'title' => __( 'Is this a sample question?', 'constant-contact-forms' ),
102
+ 'content' => __( 'This is a sample answer', 'constant-contact-forms' ),
103
+ ),
104
+ array(
105
+ 'title' => __( 'This is also a sample question', 'constant-contact-forms' ),
106
+ 'content' => __( 'This is another sample answer', 'constant-contact-forms' ),
107
+ ),
108
+ ) );
109
+ }
110
+
111
+ /**
112
+ * Display our help page
113
+ *
114
+ * @since 1.0.0
115
+ */
116
+ public function help_page() {
117
+
118
+ // Enqueue our JS and styles
119
+ wp_enqueue_script( 'ctct_form' );
120
+ wp_enqueue_style( 'constant_contact_admin_pages' );
121
+
122
+ ?>
123
+ <h1>
124
+ <?php esc_attr_e( 'Help / FAQ', 'constant-contact-forms' ); ?>
125
+ </h1>
126
+ <div class="ctct-wrap wrap">
127
+ <table id="ctct-support" class="ctct-form-table">
128
+ <tr>
129
+ <td class="outer outer-first">
130
+ <h2>
131
+ <?php esc_html_e( 'Help', 'constant-contact-forms' ); ?>
132
+ </h2>
133
+ <ol id="help_ctct">
134
+ <?php
135
+ // Grab our FAQs
136
+ $helps = $this->get_help_texts();
137
+
138
+ // Make sure we have some
139
+ if ( is_array( $helps ) ) {
140
+
141
+ // Loop through each$help
142
+ foreach ( $helps as $help ) {
143
+
144
+ // Make sure we have the right data
145
+ if ( ! isset( $help['title'] ) || ! isset( $help['content'] ) ) {
146
+ continue;
147
+ }
148
+ ?>
149
+ <li>
150
+ <span class="question" aria-controls="q1" aria-expanded="false">
151
+ <?php echo esc_html( $help['title'] ); ?>
152
+ </span>
153
+ <div class="answer">
154
+ <?php echo esc_html( $help['content'] ); ?>
155
+ </div>
156
+ </li>
157
+ <?php
158
+ }
159
+ }
160
+ ?>
161
+ </ol>
162
+ </td>
163
+ <td class="outter">
164
+ <h2>
165
+ <?php esc_html_e( 'FAQ', 'constant-contact-forms' ); ?>
166
+ </h2>
167
+ <ol id="faq_ctct">
168
+ <?php
169
+ // Grab our FAQs
170
+ $faqs = $this->get_faq_texts();
171
+
172
+ // Make sure we have some
173
+ if ( is_array( $faqs ) ) {
174
+
175
+ // Loop through each faq
176
+ foreach ( $faqs as $faq ) {
177
+
178
+ // Make sure we have the right data
179
+ if ( ! isset( $faq['title'] ) || ! isset( $faq['content'] ) ) {
180
+ continue;
181
+ }
182
+ ?>
183
+ <li>
184
+ <span class="question" aria-controls="q1" aria-expanded="false">
185
+ <?php echo esc_html( $faq['title'] ); ?>
186
+ </span>
187
+ <div class="answer">
188
+ <?php echo esc_html( $faq['content'] ); ?>
189
+ </div>
190
+ </li>
191
+ <?php
192
+ }
193
+ }
194
+ ?>
195
+ </ol>
196
+ </td>
197
+ </tr>
198
+ </table
199
+ </div>
200
+ <?php
201
+ }
202
+
203
+ /**
204
+ * Display our about page
205
+ *
206
+ * @since 1.0.0
207
+ */
208
+ public function about_page() {
209
+
210
+ // make it so pretty
211
+ wp_enqueue_style( 'constant_contact_admin_pages' );
212
+
213
+ // Set our placeholder vars for links and stuff
214
+ $proof = $auth_link = $new_link = '';
215
+
216
+ // @codingStandardsIgnoreStart
217
+ if ( ! constant_contact()->api->is_connected() ) {
218
+ // @codingStandardsIgnoreEnd
219
+
220
+ // Get our middleware link
221
+ $proof = constant_contact()->authserver->set_verification_option();
222
+ $auth_link = constant_contact()->authserver->do_connect_url( $proof );
223
+ $new_link = constant_contact()->authserver->do_signup_url( $proof );
224
+
225
+ // @codingStandardsIgnoreStart
226
+ }
227
+ // @codingStandardsIgnoreEnd
228
+
229
+ ?>
230
+ <div class="wrap about-wrap constant-contact-about">
231
+ <div class="hide-overflow">
232
+ <div class="left-side">
233
+ <h1 class="about-header"><?php esc_attr_e( 'Constant Contact Forms', 'constant-contact-forms' ); ?></h1>
234
+ <div class="about-text">
235
+ <p>
236
+ <?php echo wp_kses_post( __( 'This plugin makes it fast and easy to capture all kinds of visitor information right from your WordPress site—even if you don’t have a Constant Contact account.', 'constant-contact-forms' ) ); ?>
237
+ </p>
238
+ <p>
239
+ <?php esc_attr_e( 'Whether you’re looking to collect email addresses, contact info, event sign-ups, or visitor feedback, you can customize your forms with data fields that work best for you.', 'constant-contact-forms' ); ?>
240
+ <ul class="ctct-bonus-points">
241
+ <li> <?php esc_attr_e( 'Quickly create different types of forms that are clear, simple, and mobile-optimized.', 'constant-contact-forms' ); ?></li>
242
+ <li> <?php esc_attr_e( 'Choose forms that automatically select the theme and style of your WordPress site.', 'constant-contact-forms' ); ?></li>
243
+ <li> <?php esc_attr_e( 'Customize the form data fields, so you can tailor the type of information you collect.', 'constant-contact-forms' ); ?></li>
244
+ </ul>
245
+ </p>
246
+ <p>
247
+ <?php esc_attr_e( 'Using your sign-up forms to collect email addresses? Email marketing is a great way to stay connected with visitors after they’ve left your site. And with an active Constant Contact account, every new subscriber you capture will be automatically added to your selected email lists. ', 'constant-contact-forms' ); ?>
248
+ </p>
249
+ <?php if ( $new_link ) { // If we have a link, then display the connect button ?>
250
+ <a href="<?php echo esc_url_raw( $new_link ); ?>" target="_blank" class="button button-orange" title="<?php esc_attr_e( 'Try us Free', 'constant-contact-forms' ); ?>"><?php esc_attr_e( 'Try us Free', 'constant-contact-forms' ); ?></a>
251
+ <?php } ?>
252
+ </div>
253
+ </div>
254
+ <span class="plugin-badge">
255
+ <img src="<?php echo esc_url_raw( $this->plugin->url . 'assets/images/icon.jpg' ); ?>">
256
+ </span>
257
+ <div class="clear"></div>
258
+ <hr>
259
+ <?php if ( $auth_link ) { // If we have a link, then display the connect button ?>
260
+ <h2><?php esc_attr_e( 'Already have a Constant Contact account?', 'constant-contact-forms' ); ?></h2>
261
+ <a href="<?php echo esc_url_raw( $auth_link ); ?>" class="button button-blue ctct-connect">
262
+ <?php esc_html_e( 'Connect the plugin', 'constant-contact-forms' ); ?>
263
+ </a>
264
+ <?php } ?>
265
+ </div>
266
+ <div class="headline-feature">
267
+ <h3></h3>
268
+ <div class="featured-image">
269
+ <img src="<?php echo esc_url_raw( $this->plugin->url . 'assets/images/coffee-hero.jpg' ); ?>">
270
+ <p class="featured-title c-text">
271
+ <?php esc_attr_e( 'Powerful Email Marketing, Made Simple.', 'constant-contact-forms' ); ?>
272
+ </p>
273
+ <p class="featured-introduction c-text">
274
+ <?php esc_attr_e( 'Create professional emails that bring customers to your door', 'constant-contact-forms' ) ?>
275
+ </p>
276
+ </div>
277
+ <p class="introduction c-text">
278
+ <?php esc_attr_e( 'Email marketing is good for your business. $44-back-for-every-$1-spent kind of good.* And with the Constant Contact Forms plugin, you can easily add sign-up forms to your site so you can stay connected with visitors long after they’ve left.', 'constant-contact-forms' ); ?>
279
+ </p>
280
+ <?php
281
+ // Include our license link if we have it.
282
+ if ( $license_link = $this->plugin->admin->get_admin_link( __( 'GPLv3 license', 'constant-contact-forms' ), 'license' ) ) { ?>
283
+ <p class="c-text">
284
+ <?php
285
+ echo wp_kses_post( sprintf( __( 'This software is released under a modified %s.', 'constant-contact-forms' ), $license_link ) );
286
+ ?>
287
+ </p>
288
+ <?php
289
+ }
290
+ ?>
291
+ <h5>
292
+ <?php esc_attr_e( '*Direct Marketing Association 2013 Statistical Fact Book', 'constant-contact-forms' ); ?>
293
+ </h5>
294
+ </p>
295
+ <div class="clear"></div>
296
+ </div>
297
+ <hr>
298
+ <div class="cc-a-block">
299
+ <div class="left">
300
+ <div class="ad-1">
301
+ <h3><?php esc_html_e( 'Easily Add Forms', 'constant-contact-forms' ); ?></h3>
302
+ <img
303
+ src="<?php echo esc_url_raw( $this->plugin->url . 'assets/images/add-forms.png' ); ?>"
304
+ alt="<?php echo esc_attr_x( 'add forms screenshot', 'add forms alt text', 'constant-contact-forms' ); ?>"
305
+ />
306
+ <p>
307
+ <?php esc_html_e( 'Create forms that automatically select the theme and styling of your WordPress site for a perfect match. ', 'constant-contact-forms' ); ?>
308
+ </p>
309
+ </div>
310
+ </div>
311
+ <div class="right">
312
+ <div class="ad-2">
313
+ <h3><?php esc_html_e( 'Stay Connected With Your WordPress Visitors', 'constant-contact-forms' ); ?></h3>
314
+ <img
315
+ src="<?php echo esc_url_raw( $this->plugin->url . 'assets/images/stay-connected.png' ); ?>"
316
+ alt="<?php echo esc_attr_x( 'stay connected screenshot', 'stay connected alt text', 'constant-contact-forms' ); ?>"
317
+ />
318
+ <p>
319
+ <?php esc_html_e( 'Form completions from site visitors are conveniently added to your Constant Contact email list.', 'constant-contact-forms' ); ?>
320
+ </p>
321
+ </div>
322
+ </div>
323
+ </div>
324
+ </div>
325
+ <?php
326
+ }
327
+
328
+ /**
329
+ * Display our license page.
330
+ *
331
+ * @since 1.0.1
332
+ */
333
+ public function license_page() {
334
+ $license_text = $this->plugin->get_license_text();
335
+ ?>
336
+ <div class="wrap license-wrap constant-contact-license">
337
+ <div class="hide-overflow">
338
+ <div class="left-side">
339
+ <h1 class="license-header"><?php esc_attr_e( 'Constant Contact Forms - License', 'constant-contact-forms' ); ?></h1>
340
+ <div class="license-text">
341
+ <pre><?php echo $license_text; ?></pre>
342
+ </div>
343
+ </div>
344
+ </div>
345
+ </div>
346
+ <?php
347
+ }
348
+ }
349
+
includes/class-admin.php ADDED
@@ -0,0 +1,370 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @package ConstantContact
4
+ * @subpackage Admin
5
+ * @author Pluginize
6
+ * @since 1.0.1
7
+ */
8
+
9
+ /**
10
+ * Powers admin options pages, customized display for plugin listing, and admin scripts.
11
+ */
12
+ class ConstantContact_Admin {
13
+
14
+ /**
15
+ * Option key, and option page slug.
16
+ *
17
+ * @since 1.0.0
18
+ * @var string
19
+ */
20
+ private $key = 'ctct_options';
21
+
22
+ /**
23
+ * Options page metabox id.
24
+ *
25
+ * @since 1.0.0
26
+ * @var string
27
+ */
28
+ private $metabox_id = 'ctct_option_metabox';
29
+
30
+ /**
31
+ * Options Page title.
32
+ *
33
+ * @since 1.0.0
34
+ * @var string
35
+ */
36
+ protected $title = '';
37
+
38
+ /**
39
+ * Options Page hook.
40
+ *
41
+ * @since 1.0.0
42
+ * @var string
43
+ */
44
+ protected $options_page = '';
45
+
46
+ /**
47
+ * Parent plugin class
48
+ *
49
+ * @var class
50
+ * @since 0.0.1
51
+ */
52
+ protected $plugin = null;
53
+
54
+ /**
55
+ * The parent menu page slug.
56
+ *
57
+ * @var string
58
+ * @since 1.0.1
59
+ */
60
+ protected $parent_menu_slug = 'edit.php?post_type=ctct_forms';
61
+
62
+ /**
63
+ * Constructor
64
+ *
65
+ * @since 1.0.0
66
+ * @return void
67
+ */
68
+ public function __construct( $plugin, $basename ) {
69
+ $this->plugin = $plugin;
70
+ $this->basename = $basename;
71
+ $this->hooks();
72
+ }
73
+
74
+ /**
75
+ * Initiate our hooks.
76
+ *
77
+ * @since 1.0.0
78
+ */
79
+ public function hooks() {
80
+ add_action( 'admin_init', array( $this, 'init' ) );
81
+ add_action( 'admin_menu', array( $this, 'add_options_page' ), 999 );
82
+
83
+ add_filter( 'manage_ctct_forms_posts_columns', array( $this, 'set_custom_columns' ) );
84
+ add_action( 'manage_ctct_forms_posts_custom_column' , array( $this, 'custom_columns' ), 10, 2 );
85
+
86
+ add_filter( 'plugin_action_links_' . $this->basename, array( $this, 'add_social_links' ) );
87
+ add_action( 'admin_enqueue_scripts', array( $this, 'scripts' ) );
88
+ }
89
+
90
+
91
+ /**
92
+ * Register our setting to WP.
93
+ *
94
+ * @since 1.0.0
95
+ */
96
+ public function init() {
97
+ register_setting( $this->key, $this->key );
98
+ }
99
+
100
+ /**
101
+ * Add menu options page.
102
+ *
103
+ * @since 1.0.0
104
+ */
105
+ public function add_options_page() {
106
+
107
+ add_submenu_page(
108
+ $this->parent_menu_slug,
109
+ __( 'About', 'constant-contact-forms' ),
110
+ __( 'About', 'constant-contact-forms' ),
111
+ 'manage_options',
112
+ $this->key . '_about',
113
+ array( $this, 'admin_page_display' )
114
+ );
115
+
116
+ add_submenu_page(
117
+ $this->parent_menu_slug,
118
+ __( 'License', 'constant-contact-forms' ),
119
+ __( 'License', 'constant-contact-forms' ),
120
+ 'manage_options',
121
+ $this->key . '_license',
122
+ array( $this, 'admin_page_display' )
123
+ );
124
+
125
+ remove_submenu_page( $this->parent_menu_slug, $this->key . '_license' );
126
+ // Include CMB CSS in the head to avoid FOUC.
127
+ add_action( "admin_print_styles-{$this->options_page}", array( 'CMB2_hookup', 'enqueue_cmb_css' ) );
128
+ }
129
+
130
+ /**
131
+ * Admin page markup. Mostly handled by CMB2.
132
+ *
133
+ * @since 1.0.0
134
+ */
135
+ public function admin_page_display() {
136
+
137
+ do_action( 'constant_contact_admin_before' );
138
+
139
+ ?>
140
+ <div class="wrap cmb2-options-page <?php echo esc_attr( $this->key ); ?>">
141
+
142
+ <div id="options-wrap">
143
+ <?php
144
+
145
+ // If we have a page get var set, let's try to pull out the page we're looking for
146
+ if ( isset( $_GET['page'] ) ) { // Input var okay.
147
+
148
+ $page_key = sanitize_text_field( wp_unslash( $_GET['page'] ) ); // Input var okay.
149
+
150
+ $page = explode( $this->key . '_', $page_key );
151
+ } else {
152
+ $page = array();
153
+ }
154
+
155
+ // If we have a second element set, let's check out what it should be
156
+ if ( isset( $page[1] ) && $page[1] ) {
157
+
158
+ // switch through our whitelisted pages that we shoud include
159
+ switch ( esc_attr( $page[1] ) ) {
160
+ case 'about':
161
+ constant_contact()->admin_pages->about_page();
162
+ break;
163
+ case 'help':
164
+ constant_contact()->admin_pages->help_page();
165
+ break;
166
+ case 'license':
167
+ constant_contact()->admin_pages->license_page();
168
+ break;
169
+ }
170
+ } else {
171
+ cmb2_metabox_form( $this->metabox_id, $this->key );
172
+ }
173
+ ?>
174
+ </div>
175
+ </div>
176
+ <?php
177
+ do_action( 'constant_contact_admin_after' );
178
+ }
179
+
180
+ /**
181
+ * Register settings notices for display.
182
+ *
183
+ * @since 1.0.0
184
+ *
185
+ * @param int $object_id Option key.
186
+ * @param array $updated Array of updated fields.
187
+ */
188
+ public function settings_notices( $object_id, $updated ) {
189
+ if ( $object_id !== $this->key || empty( $updated ) ) {
190
+ return;
191
+ }
192
+ add_settings_error( $this->key . '-notices', '', __( 'Settings updated.', 'constant-contact-forms' ), 'updated' );
193
+ settings_errors( $this->key . '-notices' );
194
+ }
195
+
196
+ /**
197
+ * Public getter method for retrieving protected/private variables.
198
+ *
199
+ * @since 1.0.0
200
+ *
201
+ * @throws Exception Throws an exception if the field is invalid.
202
+ *
203
+ * @param string $field Field to retrieve.
204
+ * @return mixed Field value or exception is thrown.
205
+ */
206
+ public function __get( $field ) {
207
+
208
+ $field = esc_attr( $field );
209
+
210
+ // Allowed fields to retrieve.
211
+ if ( in_array( $field, array( 'key', 'metabox_id', 'title', 'options_page' ), true ) ) {
212
+ return $this->{$field};
213
+ } else {
214
+ return constant_contact()->{$field};
215
+ }
216
+ }
217
+
218
+ /**
219
+ * Add shortcode columns to each cpt.
220
+ *
221
+ * @internal
222
+ *
223
+ * @since 1.0.0
224
+ * @param array $columns post list columns.
225
+ * @return array $columns Array of columns to add.
226
+ */
227
+ public function set_custom_columns( $columns ) {
228
+
229
+ $columns['description'] = __( 'Description', 'constant-contact-forms' );
230
+ $columns['shortcodes'] = __( 'Shortcode', 'constant-contact-forms' );
231
+
232
+ return $columns;
233
+ }
234
+
235
+ /**
236
+ * Content of custom post columns.
237
+ *
238
+ * @internal
239
+ *
240
+ * @since 1.0.0
241
+ * @param string $column Column title.
242
+ * @param integer $post_id Post id of post item.
243
+ */
244
+ public function custom_columns( $column, $post_id ) {
245
+
246
+ // Force our $post_id to an int
247
+ $post_id = absint( $post_id );
248
+
249
+ // if its a 0 bail out
250
+ if ( ! $post_id ) {
251
+ return;
252
+ }
253
+
254
+ switch ( $column ) {
255
+ case 'shortcodes':
256
+ echo esc_attr( '[ctct form="' . $post_id . '"]' );
257
+ break;
258
+ case 'description':
259
+ echo wp_kses_post( wpautop( get_post_meta( $post_id, '_ctct_description', true ) ) );
260
+ break;
261
+ }
262
+ }
263
+
264
+ /**
265
+ * Add social media links to plugin screen
266
+ *
267
+ * @since 1.0.0
268
+ * @param array $links plugin action links.
269
+ */
270
+ public function add_social_links( $links ) {
271
+ // Get twitter share link
272
+ $twitter_cta = __( 'Check out the official WordPress plugin from @constantcontact :', 'constant-contact-forms' );
273
+
274
+ // Add about page.
275
+ $add_links[] = $this->get_admin_link( __( 'About', 'constant-contact-forms' ), 'about' );
276
+ $add_links[] = $this->get_admin_link( __( 'License', 'constant-contact-forms' ), 'license' );
277
+
278
+ $site_link = apply_filters( 'constant_contact_social_base_url' , 'https://constantcontact.com/' );
279
+
280
+ // Start our social share links
281
+ $social_share = __( 'Spread the word!', 'constant-contact-forms' );
282
+ $add_links[] = '<a title="' . $social_share . '" href="https://www.facebook.com/sharer/sharer.php?u=' . urlencode( $site_link ) . '" target="_blank" class="dashicons-before dashicons-facebook"></a>';
283
+ $add_links[] = '<a title="' . $social_share . '" href="https://twitter.com/home?status=' . $twitter_cta . ' ' . $site_link . '" target="_blank" class="dashicons-before dashicons-twitter"></a>';
284
+ $add_links[] = '<a title="' . $social_share . '" href="https://plus.google.com/share?url=' . urlencode( $site_link ) . '" target="_blank" class="dashicons-before dashicons-googleplus"></a>';
285
+
286
+ // Allow filtering our links
287
+ $add_links = apply_filters( 'constant_contact_social_links', $add_links );
288
+
289
+ // Send it back
290
+ return array_merge( $links, $add_links );
291
+ }
292
+
293
+ /**
294
+ * Get a link to an admin page.
295
+ *
296
+ * @since 1.0.1
297
+ * @param string $text The link text to use.
298
+ * @param string $link_slug The slug of the admin page.
299
+ * @return string
300
+ */
301
+ public function get_admin_link( $text, $link_slug ) {
302
+
303
+ // Resuse these.
304
+ static $link_template = '<a title="%1$s" href="%2$s" target="_blank">%1$s</a>';
305
+ static $link_args = array(
306
+ 'post_type' => 'ctct_forms',
307
+ 'page' => '',
308
+ );
309
+
310
+ $link_args['page'] = 'ctct_options_' . $link_slug;
311
+ $link = add_query_arg( $link_args, admin_url( 'edit.php' ) );
312
+ return sprintf( $link_template, $text, $link );
313
+ }
314
+
315
+ /**
316
+ * Scripts
317
+ *
318
+ * @since 1.0.0
319
+ * @return void
320
+ */
321
+ public function scripts() {
322
+
323
+ global $pagenow;
324
+
325
+ // Check if we are in debug mode. allow
326
+ $debug = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG === true ? true : false;
327
+
328
+ // based on our debug mode, potentially add a min prefix
329
+ $suffix = ( true === $debug ) ? '' : '.min';
330
+
331
+ // Register our javascript file.
332
+ wp_register_script(
333
+ 'ctct_form',
334
+ constant_contact()->url() . 'assets/js/ctct-plugin-admin' . $suffix . '.js',
335
+ array(),
336
+ constant_contact()->version,
337
+ true
338
+ );
339
+
340
+ wp_localize_script(
341
+ 'ctct_form',
342
+ 'ctct_texts',
343
+ apply_filters( 'constant_contact_localized_js_texts', array(
344
+ 'leavewarning' => __( 'You have unsaved changes.', 'constant-contact-forms' ),
345
+ 'move_up' => __( 'move up', 'constant-contact-forms' ),
346
+ 'move_down' => __( 'move down', 'constant-contact-forms' ),
347
+ ) )
348
+ );
349
+
350
+ // Allow filtering of allowed pages that we load scripts on
351
+ $allowed_pages = apply_filters( 'constant_contact_script_load_pages', array( 'post.php', 'post-new.php' ) );
352
+
353
+ if ( $pagenow && in_array( $pagenow, $allowed_pages, true ) ) {
354
+ // Enqueued script with localized data.
355
+ wp_enqueue_script( 'ctct_form' );
356
+ }
357
+ }
358
+ }
359
+
360
+ /**
361
+ * Wrapper function around cmb2_get_option.
362
+ *
363
+ * @since 1.0.0
364
+ *
365
+ * @param string $key Options array key.
366
+ * @return mixed Option value.
367
+ */
368
+ function constantcontact_get_option( $key = '' ) {
369
+ return cmb2_get_option( constantcontact()->admin->key, $key );
370
+ }
includes/class-api.php ADDED
@@ -0,0 +1,791 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @package ConstantContact
4
+ * @subpackage API
5
+ * @author Pluginize
6
+ * @since 1.0.0
7
+ */
8
+
9
+ use Ctct\ConstantContact;
10
+ use Ctct\Components\Contacts\Contact;
11
+ use Ctct\Components\Contacts\Contacts;
12
+ use Ctct\Components\Contacts\ContactList;
13
+ use Ctct\Exceptions\CtctException;
14
+
15
+ /**
16
+ * Powers connection between site and Constant Contact API.
17
+ */
18
+ class ConstantContact_API {
19
+
20
+ /**
21
+ * Parent plugin class
22
+ *
23
+ * @var class
24
+ * @since 0.0.1
25
+ */
26
+ protected $plugin = null;
27
+
28
+ /**
29
+ * Constructor
30
+ *
31
+ * @since 1.0.0
32
+ * @return void
33
+ */
34
+ public function __construct( $plugin ) {
35
+ $this->plugin = $plugin;
36
+ }
37
+
38
+ /**
39
+ * Get new instance of ConstantContact.
40
+ *
41
+ * @since 1.0.0
42
+ * @return object ConstantContact_API
43
+ */
44
+ public function cc() {
45
+ return new ConstantContact( $this->get_api_token( 'CTCT_APIKEY' ) );
46
+ }
47
+
48
+ /**
49
+ * Returns api token string to access api
50
+ *
51
+ * @since 1.0.0
52
+ * @param string $type api key type.
53
+ * @return string api token
54
+ */
55
+ public function get_api_token( $type = '' ) {
56
+
57
+ // Depending on our request, we'll try to grab a defined value
58
+ // otherwise we'll grab it from our options
59
+ switch ( $type ) {
60
+ case 'CTCT_APIKEY':
61
+
62
+ if ( defined( 'CTCT_APIKEY' ) && CTCT_APIKEY ) {
63
+ return CTCT_APIKEY;
64
+ }
65
+
66
+ return constant_contact()->connect->e_get( '_ctct_api_key' );
67
+
68
+ break;
69
+ case 'CTCT_SECRETKEY':
70
+
71
+ if ( defined( 'CTCT_SECRETKEY' ) && CTCT_SECRETKEY ) {
72
+ return CTCT_SECRETKEY;
73
+ }
74
+
75
+ return constant_contact()->connect->e_get( '_ctct_api_secret' );
76
+
77
+ break;
78
+ default;
79
+ return constant_contact()->connect->get_api_token();
80
+ break;
81
+ }
82
+
83
+ }
84
+
85
+ /**
86
+ * Info of the connected CTCT account
87
+ *
88
+ * @since 1.0.0
89
+ * @return array current connected ctct account info
90
+ */
91
+ public function get_account_info() {
92
+
93
+ // If we're not connectd, bail out
94
+ if ( ! $this->is_connected() ) {
95
+ return;
96
+ }
97
+
98
+ // Get our saved account info
99
+ $acct_data = get_transient( 'constant_contact_acct_info' );
100
+
101
+ // allow bypassing transient with a filter
102
+ $bypass_acct_cache = apply_filters( 'constant_contact_bypass_acct_info_cache', false );
103
+
104
+ // IF we dont' have a transient, or we want to bypass, hit our api
105
+ if ( false === $acct_data || $bypass_acct_cache ) {
106
+ try {
107
+
108
+ // Grab our account
109
+ $acct_data = $this->cc()->accountService->getAccountInfo( $this->get_api_token() );
110
+
111
+ // Make sure we got a response before trying to save our transient
112
+ if ( $acct_data ) {
113
+ // Save our data to a transient for a day
114
+ set_transient( 'constant_contact_acct_info', $acct_data, 1 * DAY_IN_SECONDS );
115
+ }
116
+ } catch ( CtctException $ex ) {
117
+ $this->log_errors( $ex->getErrors() );
118
+ }
119
+ }
120
+
121
+ // Return our account data
122
+ return $acct_data;
123
+ }
124
+
125
+ /**
126
+ * Contacts of the connected CTCT account
127
+ *
128
+ * @since 1.0.0
129
+ * @return array current connect ctct account contacts
130
+ */
131
+ public function get_contacts() {
132
+
133
+ // Verify we're connected
134
+ if ( ! $this->is_connected() ) {
135
+ return array();
136
+ }
137
+
138
+ // first, check our saved transient for a value
139
+ $contacts = get_transient( 'ctct_contact' );
140
+
141
+ // If we didn't get anything, then re-do the API call
142
+ if ( false === $contacts ) {
143
+ try {
144
+ $contacts = $this->cc()->contactService->getContacts( $this->get_api_token() );
145
+ set_transient( 'ctct_contact', $contacts, 1 * HOUR_IN_SECONDS );
146
+ return $contacts;
147
+
148
+ } catch ( CtctException $ex ) {
149
+ $this->log_errors( $ex->getErrors() );
150
+ }
151
+ }
152
+
153
+ return $contacts;
154
+ }
155
+
156
+ /**
157
+ * Lists of the connected CTCT account
158
+ *
159
+ * @since 1.0.0
160
+ * @return array current connect ctct lists
161
+ */
162
+ public function get_lists( $force_skip_cache = false ) {
163
+
164
+ // Verify we're connected
165
+ if ( ! $this->is_connected() ) {
166
+ return array();
167
+ }
168
+
169
+ // first, check our saved transient for a value
170
+ $lists = get_transient( 'ctct_lists' );
171
+
172
+ // If we passed in our force skip cache flag, we hit the API directly
173
+ if ( $force_skip_cache ) {
174
+ $lists = false;
175
+ }
176
+
177
+ // If we didn't get anything, then re-do the API call
178
+ if ( false === $lists ) {
179
+ try {
180
+
181
+ // Get our lists
182
+ $lists = $this->cc()->listService->getLists( $this->get_api_token() );
183
+
184
+ // If its an array, then set our transient and return it
185
+ if ( is_array( $lists ) ) {
186
+ set_transient( 'ctct_lists', $lists, 1 * HOUR_IN_SECONDS );
187
+ return $lists;
188
+ }
189
+ } catch ( CtctException $ex ) {
190
+ $this->log_errors( $ex->getErrors() );
191
+ }
192
+ }
193
+
194
+ return $lists;
195
+ }
196
+
197
+ public function get_list( $id ) {
198
+
199
+ // Clean our id
200
+ $id = esc_attr( $id );
201
+
202
+ // Sanity check that
203
+ if ( ! $id ) {
204
+ return;
205
+ }
206
+
207
+ // Verify we're connected
208
+ if ( ! $this->is_connected() ) {
209
+ return array();
210
+ }
211
+
212
+ // first, check our saved transient for a value
213
+ $list = get_transient( 'ctct_list_' . $id );
214
+
215
+ // If we didn't get anything, then re-do the API call
216
+ if ( false === $list ) {
217
+ try {
218
+ $list = $this->cc()->listService->getList( $this->get_api_token(), $id );
219
+ set_transient( 'ctct_lists_' . $id, $list, 1 * HOUR_IN_SECONDS );
220
+ return $list;
221
+ } catch ( CtctException $ex ) {
222
+ $this->log_errors( $ex->getErrors() );
223
+ }
224
+ }
225
+
226
+ return $list;
227
+ }
228
+
229
+
230
+ /**
231
+ * Add List to the connected CTCT account
232
+ *
233
+ * @since 1.0.0
234
+ * @param array $new_list api data for new list.
235
+ * @return array current connect ctct lists
236
+ */
237
+ public function add_list( $new_list = array() ) {
238
+
239
+ // Bail out early if we don't have the data we need
240
+ if ( empty( $new_list ) || ! isset( $new_list['id'] ) ) {
241
+ return;
242
+ }
243
+
244
+ // Set our return list to empty array
245
+ $return_list = array();
246
+
247
+ try {
248
+ // Try to get the list from the API
249
+ $list = $this->cc()->listService->getList( $this->get_api_token(), esc_attr( $new_list['id'] ) );
250
+ } catch ( CtctException $ex ) {
251
+ // If we get an error, bail out
252
+ $this->log_errors( $ex->getErrors() );
253
+ }
254
+
255
+ // If we got the list, return it.
256
+ if ( isset( $list ) ) {
257
+ return $list;
258
+ }
259
+
260
+ try {
261
+
262
+ // Generate a new list
263
+ $list = new ContactList();
264
+
265
+ // name it our passed in list
266
+ $list->name = isset( $new_list['name'] ) ? esc_attr( $new_list['name'] ) : '';
267
+
268
+ // Set status to hidden
269
+ $list->status = apply_filters( 'constant_contact_list_status', 'HIDDEN' );
270
+
271
+ // Push list to API
272
+ $return_list = $this->cc()->listService->addList( $this->get_api_token(), $list );
273
+
274
+ } catch ( CtctException $ex ) {
275
+ // Log an error we get
276
+ $this->log_errors( $ex->getErrors() );
277
+ }
278
+
279
+ // This will either have our data, or be an empty array
280
+ return $return_list;
281
+ }
282
+
283
+ /**
284
+ * Update List from the connected CTCT account
285
+ *
286
+ * @since 1.0.0
287
+ * @param array $updated_list api data for list.
288
+ * @return array current connect ctct list
289
+ */
290
+ public function update_list( $updated_list = array() ) {
291
+
292
+ // set our var to do things with
293
+ $return_list = false;
294
+
295
+ try {
296
+
297
+ $list = new ContactList();
298
+
299
+ $list->id = isset( $updated_list['id'] ) ? esc_attr( $updated_list['id'] ) : '';
300
+ $list->name = isset( $updated_list['name'] ) ? esc_attr( $updated_list['name'] ) : '';
301
+ $list->status = $list->status = apply_filters( 'constant_contact_list_status', 'HIDDEN' );
302
+
303
+ $return_list = $this->cc()->listService->updateList( $this->get_api_token(), $list );
304
+
305
+ } catch ( CtctException $ex ) {
306
+ $this->log_errors( $ex->getErrors() );
307
+ }
308
+
309
+ return $return_list;
310
+ }
311
+
312
+ /**
313
+ * Delete List from the connected CTCT account
314
+ *
315
+ * @since 1.0.0
316
+ * @param array $updated_list api data for list.
317
+ * @return array current connect ctct list
318
+ */
319
+ public function delete_list( $updated_list = array() ) {
320
+
321
+ // bail early
322
+ if ( ! isset( $updated_list['id'] ) ) {
323
+ return;
324
+ }
325
+
326
+ // Set up our potential return var
327
+ $list = false;
328
+
329
+ // Attempt deletion
330
+ try {
331
+ $list = $this->cc()->listService->deleteList( $this->get_api_token(), $updated_list['id'] );
332
+ } catch ( CtctException $ex ) {
333
+ $this->log_errors( $ex->getErrors() );
334
+ }
335
+
336
+ // Send back the list
337
+ return $list;
338
+ }
339
+
340
+ /**
341
+ * Add constact to the connected CTCT account
342
+ *
343
+ * @since 1.0.0
344
+ * @param array $new_contact New contact data.
345
+ * @return array current connect ctct lists
346
+ */
347
+ public function add_contact( $new_contact = array() ) {
348
+
349
+ // Make sure we're passed a full set of data
350
+ if ( empty( $new_contact ) ) {
351
+ return;
352
+ }
353
+
354
+ // If we don't get an email, it does us no good
355
+ if ( ! isset( $new_contact['email'] ) ) {
356
+ return;
357
+ }
358
+
359
+ // Set our API Token
360
+ $api_token = $this->get_api_token();
361
+
362
+ // Clean our email address.
363
+ $email = sanitize_email( $new_contact['email'] );
364
+
365
+ // Set our list data. If we didn't get passed a list and got this far, just generate a random ID
366
+ $list = isset( $new_contact['list'] ) ? esc_attr( $new_contact['list'] ) : 'cc_' . wp_generate_password( 15, false );
367
+
368
+ $return_contact = false;
369
+
370
+ try {
371
+ // Check to see if a contact with the email address already exists in the account.
372
+ $response = $this->cc()->contactService->getContacts( $api_token, array( 'email' => $email ) );
373
+
374
+ if ( isset( $response->results ) && ! empty( $response->results ) ) {
375
+ // Update the existing contact if address already existed.
376
+ $return_contact = $this->_update_contact( $response, $api_token, $list, $new_contact );
377
+
378
+ } else {
379
+
380
+ // Create a new contact if one does not exist.
381
+ $return_contact = $this->_create_contact( $api_token, $list, $email, $new_contact );
382
+ }
383
+ } catch ( CtctException $ex ) {
384
+ $this->log_errors( $ex->getErrors() );
385
+ }
386
+
387
+ return $return_contact;
388
+ }
389
+
390
+
391
+ /**
392
+ * Helper method to creat contact
393
+ *
394
+ * @since 1.0.0
395
+ * @param array $response response from api call
396
+ * @param string $api_token token
397
+ * @param string $list list name
398
+ * @param string $email email address
399
+ * @param string $f_name first name
400
+ * @param string $l_name last name
401
+ * @return mixed response from api
402
+ */
403
+ public function _create_contact( $api_token, $list, $email, $user_data ) {
404
+
405
+ // Get a new instance of our contact
406
+ $contact = new Contact();
407
+
408
+ // Set our email
409
+ $contact->addEmail( sanitize_text_field( $email ) );
410
+
411
+ // Set our list
412
+ $contact->addList( esc_attr( $list ) );
413
+
414
+ // Map the rest of our properties to
415
+ $contact = $this->set_contact_properties( $contact, $user_data );
416
+
417
+ /*
418
+ * See: http://developer.constantcontact.com/docs/contacts-api/contacts-index.html#opt_in
419
+ */
420
+ return $this->cc()->contactService->addContact(
421
+ $api_token,
422
+ $contact,
423
+ array( 'action_by' => 'ACTION_BY_VISITOR' )
424
+ );
425
+
426
+ }
427
+
428
+ /**
429
+ * Helper method to update contact
430
+ *
431
+ * @since 1.0.0
432
+ * @param array $response response from api call
433
+ * @param string $api_token token
434
+ * @param string $list list name
435
+ * @param string $f_name first name
436
+ * @param string $l_name last name
437
+ * @return mixed response from api
438
+ */
439
+ public function _update_contact( $response, $api_token, $list, $user_data ) {
440
+
441
+ // Sanity checks on our response
442
+ if (
443
+ isset( $response->results ) &&
444
+ isset( $response->results[0] ) &&
445
+ ( $response->results[0] instanceof Contact )
446
+ ) {
447
+
448
+ // set our returned contact
449
+ $contact = $response->results[0];
450
+
451
+ // Attach our list
452
+ $contact->addList( esc_attr( $list ) );
453
+
454
+ // set the rest of our properties
455
+ $contact = $this->set_contact_properties( $contact, $user_data );
456
+
457
+ /*
458
+ * See: http://developer.constantcontact.com/docs/contacts-api/contacts-index.html#opt_in array( 'action_by' => 'ACTION_BY_VISITOR' )
459
+ */
460
+ return $this->cc()->contactService->updateContact(
461
+ $api_token,
462
+ $contact,
463
+ array( 'action_by' => 'ACTION_BY_VISITOR' )
464
+ );
465
+ } else {
466
+ $error = new CtctException();
467
+ $error->setErrors( array( 'type', __( 'Contact type not returned', 'constant-contact-forms' ) ) );
468
+ throw $error;
469
+ }
470
+ }
471
+
472
+ /**
473
+ * Helper method to push as much data from a form as we can into the
474
+ * Constant Contact contact thats in a list
475
+ *
476
+ * @param object $contact Contact object
477
+ * @param array $user_data bunch of user data
478
+ * @return object Contact object, with new properties
479
+ */
480
+ public function set_contact_properties( $contact, $user_data ) {
481
+
482
+ // First, verify we have what we need
483
+ if ( ! is_object( $contact ) || ! is_array( $user_data ) ) {
484
+ return;
485
+ }
486
+
487
+ // Remove some values we don't need
488
+ unset( $user_data['list'] );
489
+
490
+ $address = null;
491
+ $count = 0;
492
+
493
+ // Loop through each of our values and set it as a property.
494
+ foreach ( $user_data as $original => $value ) {
495
+
496
+ // Set our key and value to our value's actual key/value
497
+ $key = sanitize_text_field( isset( $value['key'] ) ? $value['key'] : false );
498
+ $value = sanitize_text_field( isset( $value['val'] ) ? $value['val'] : false );
499
+
500
+ // If for some reason, we don't have those, then we'll just skip this one
501
+ if ( ! $key || ! $value ) {
502
+ continue;
503
+ }
504
+
505
+ // Based on our key, theres a few different things we should do
506
+ switch ( $key ) {
507
+ case 'email':
508
+ // do nothing, as we already captured
509
+ break;
510
+ case 'company':
511
+ $contact->company_name = $value;
512
+ break;
513
+ case 'street_address':
514
+ case 'line_2_address':
515
+ case 'city_address':
516
+ case 'state_address':
517
+ case 'zip_address':
518
+
519
+ // set our global address so we can append more data
520
+ if ( is_null( $address ) ) {
521
+ $address = new Ctct\Components\Contacts\Address();
522
+ }
523
+
524
+ // Nested switch to set all our address properties how they should be mapped
525
+ switch ( $key ) {
526
+ case 'street_address':
527
+ $address->address_type = 'PERSONAL';
528
+ $address->line1 = $value;
529
+ break;
530
+ case 'line_2_address':
531
+ $address->line2 = $value;
532
+ break;
533
+ case 'city_address':
534
+ $address->city = $value;
535
+ break;
536
+ case 'state_address':
537
+ $address->state = $value;
538
+ $address->country_code = 'us';
539
+ break;
540
+ case 'zip_address':
541
+ $address->postal_code = $value;
542
+ break;
543
+ }
544
+ break;
545
+ case 'birthday_month':
546
+ case 'birthday_day':
547
+ case 'birthday_year':
548
+ case 'anniversery_day':
549
+ case 'anniversary_month':
550
+ case 'anniversary_year':
551
+ case 'custom':
552
+ // Dont overload custom fields
553
+ if ( 15 >= $count ) {
554
+ break;
555
+ }
556
+
557
+ // Otherwise, set up our custom field
558
+ $custom = new Ctct\Components\Contacts\CustomField();
559
+
560
+ // Create, name it the way the API needs
561
+ $custom = $custom->create( array(
562
+ 'name' => 'CustomField' . $count,
563
+ 'value' => $key . ' : ' . $value,
564
+ ) );
565
+
566
+ // Attach it
567
+ $contact->addCustomField( $custom );
568
+ break;
569
+ default:
570
+ // if we got here, try to map our field to the key
571
+ try {
572
+ // Try it
573
+ $contact->$key = $value;
574
+ } catch (Exception $e) {
575
+ // If we get an exception, then break.
576
+ break;
577
+ }
578
+
579
+ // Otherwise break anyway
580
+ break;
581
+ }
582
+
583
+ $count = $count + 1;
584
+ }
585
+
586
+ // If we did set address properties, then push it to our contact
587
+ if ( ! is_null( $address ) ) {
588
+ $contact->addAddress( $address );
589
+ }
590
+
591
+ return $contact;
592
+ }
593
+
594
+ /**
595
+ * Pushes all error to api_error_message
596
+ *
597
+ * @since 1.0.0
598
+ * @param array $errors errors from api
599
+ * @return void
600
+ */
601
+ public function log_errors( $errors ) {
602
+
603
+ // Make sure we have an array
604
+ if ( is_array( $errors ) ) {
605
+
606
+ // Loop through all errors
607
+ foreach ( $errors as $error ) {
608
+ $this->api_error_message( $error );
609
+ }
610
+ }
611
+ }
612
+
613
+ /**
614
+ * Process api error response
615
+ *
616
+ * @since 1.0.0
617
+ * @param array $error api error repsonse.
618
+ * @return mixed
619
+ */
620
+ private function api_error_message( $error ) {
621
+
622
+ // Make sure we have our expected error key
623
+ if ( ! isset( $error->error_key ) ) {
624
+ return false;
625
+ }
626
+
627
+ // If we have our debugging turned on, push that error to the error log
628
+ if ( defined( 'CONSTANT_CONTACT_DEBUG' ) && CONSTANT_CONTACT_DEBUG ) {
629
+ error_log( $error->error_key );
630
+ error_log( serialize( debug_backtrace() ) );
631
+ }
632
+
633
+ // Otherwise work through our list of error keys we know
634
+ switch ( $error->error_key ) {
635
+ case 'http.status.authentication.invalid_token':
636
+ $this->access_token = false;
637
+ return __( 'Your API access token is invalid. Reconnect to Constant Contact to receive a new token.', 'constant-contact-forms' );
638
+ case 'mashery.not.authorized.over.qps':
639
+ $this->pause_api_calls();
640
+ return;
641
+ break;
642
+ default:
643
+ return false;
644
+ break;
645
+
646
+ }
647
+ }
648
+
649
+ /**
650
+ * Rate limit ourselves to not bust API call rate limit
651
+ *
652
+ * @since 1.0.0
653
+ * @param string $time amount of time to pause api calls
654
+ */
655
+ public function pause_api_calls() {
656
+ // @TODO
657
+ sleep( 1 );
658
+ }
659
+
660
+ /**
661
+ * Make sure we don't over-do API requests, helper method to check if we're connected
662
+ *
663
+ * @return boolean if connected
664
+ */
665
+ public function is_connected() {
666
+
667
+ // Make sure we only grab our token once during a page load
668
+ static $token = null;
669
+
670
+ // If we haven't grabbed it yet, grab it
671
+ if ( is_null( $token ) ) {
672
+ $token = get_option( 'ctct_token', false ) ? true : false;
673
+ }
674
+
675
+ // Return it
676
+ return $token;
677
+ }
678
+
679
+ /**
680
+ * Helper method to output a link for our connect modal
681
+ *
682
+ * @since 1.0.0
683
+ * @param string $type type of link to output
684
+ */
685
+ public function get_connect_link() {
686
+
687
+ // Allow us to re-use the same verification twice on one page load
688
+ static $proof = null;
689
+
690
+ // If we haven't set a proof yet, generate it
691
+ if ( is_null( $proof ) ) {
692
+ $proof = constant_contact()->authserver->set_verification_option();
693
+ }
694
+
695
+ // Send back our connect url
696
+ return constant_contact()->authserver->do_connect_url( $proof );
697
+ }
698
+
699
+ /**
700
+ * Helper method to output a link for our connect modal
701
+ *
702
+ * @since 1.0.0
703
+ * @param string $type type of link to output
704
+ */
705
+ public function get_signup_link() {
706
+
707
+ // Allow us to re-use the same verification twice on one page load
708
+ static $proof = null;
709
+
710
+ // If we haven't set a proof yet, generate it
711
+ if ( is_null( $proof ) ) {
712
+ $proof = constant_contact()->authserver->set_verification_option();
713
+ }
714
+
715
+ // Send back our connect url
716
+ return constant_contact()->authserver->do_signup_url( $proof );
717
+ }
718
+
719
+ /**
720
+ * Maybe get the disclosure address from the API Organization Information.
721
+ *
722
+ * @since 1.0.0
723
+ * @param bool $as_parts If true return an array.
724
+ * Array (
725
+ * [name] => Business Name
726
+ * [address] => 555 Business Place Ln., Beverly Hills, CA, 90210
727
+ * ).
728
+ *
729
+ * @return mixed
730
+ */
731
+ public function get_disclosure_info( $as_parts = false ) {
732
+
733
+ // These fields are used to try and buld the full address.
734
+ static $address_fields = array( 'line1', 'city', 'state_code', 'postal_code' );
735
+
736
+ // Grab disclosure info from the API.
737
+ $account_info = $this->get_account_info();
738
+
739
+ // Bail on empty.
740
+ if ( empty( $account_info ) ) {
741
+ return $as_parts ? array() : '';
742
+ }
743
+
744
+ $disclosure = array(
745
+ 'name' => empty( $account_info->organization_name ) ? ctct_get_settings_option( '_ctct_disclose_name' ) : $account_info->organization_name,
746
+ 'address' => ctct_get_settings_option( '_ctct_disclose_address' ),
747
+ );
748
+
749
+ // Bail if we don't have a name.
750
+ if ( empty( $disclosure['name'] ) ) {
751
+ return $as_parts ? array() : '';
752
+ }
753
+
754
+ // Determine the address to use for disclosure from the API.
755
+ if (
756
+ isset( $account_info->organization_addresses )
757
+ && count( $account_info->organization_addresses )
758
+ ) {
759
+ // Assume the first address.
760
+ $organization_address = array_shift( $account_info->organization_addresses );
761
+ $disclosure_address = array();
762
+
763
+ // Add in our disclouse address
764
+ if ( is_array( $address_fields ) ) {
765
+ foreach ( $address_fields as $field ) {
766
+ if ( isset( $organization_address[ $field ] ) && strlen( $organization_address[ $field ] ) ) {
767
+ $disclosure_address[] = $organization_address[ $field ];
768
+ }
769
+ }
770
+ }
771
+
772
+ // Join it all together.
773
+ $disclosure['address'] = implode( ', ', $disclosure_address );
774
+ } elseif ( empty( $disclosure['address'] ) ) {
775
+ // Remove the address so we don't get a disclosure like "Business Name, ".
776
+ unset( $disclosure['address'] );
777
+ }
778
+
779
+ return $as_parts ? $disclosure : implode( ', ', array_values( $disclosure ) );
780
+ }
781
+ }
782
+
783
+ /**
784
+ * Helper function to get/return the ConstantContact_API object.
785
+ *
786
+ * @since 1.0.0
787
+ * @return object ConstantContact_API
788
+ */
789
+ function constantcontact_api() {
790
+ return constant_contact()->api;
791
+ }
includes/class-auth-redirect.php ADDED
@@ -0,0 +1,90 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @package ConstantContact
4
+ * @subpackage AuthRedirect
5
+ * @author Pluginize
6
+ * @since 1.0.0
7
+ */
8
+
9
+ /**
10
+ * Hooks in to allow for our query args for connecting to Constant Contact, and helps with authentication to it.
11
+ */
12
+ class ConstantContact_Auth_Redirect {
13
+
14
+ /**
15
+ * Parent plugin class
16
+ *
17
+ * @var class
18
+ * @since 0.0.1
19
+ */
20
+ protected $plugin = null;
21
+
22
+ /**
23
+ * Constructor
24
+ *
25
+ * @since 1.0.0
26
+ * @return void
27
+ */
28
+ public function __construct( $plugin ) {
29
+ $this->plugin = $plugin;
30
+ $this->hooks();
31
+ }
32
+
33
+ /**
34
+ * Initiate our hooks.
35
+ *
36
+ * @since 1.0.0
37
+ * @return void
38
+ */
39
+ public function hooks() {
40
+ add_filter( 'query_vars', array( $this, 'rewrite_add_var' ) );
41
+ add_action( 'template_redirect', array( $this, 'rewrite_catch' ) );
42
+ }
43
+
44
+ /**
45
+ * Add auth params to query_vars
46
+ *
47
+ * @since 1.0.0
48
+ * @param array $vars url params.
49
+ */
50
+ function rewrite_add_var( $vars ) {
51
+ $vars[] = 'auth';
52
+ $vars[] = 'code';
53
+ $vars[] = 'username';
54
+ return $vars;
55
+ }
56
+
57
+ /**
58
+ * Check for query params and redirect
59
+ *
60
+ * @since 1.0.0
61
+ * @return boolean
62
+ */
63
+ function rewrite_catch() {
64
+ global $wp_query;
65
+
66
+ // So many data checks!
67
+ if (
68
+ current_user_can( 'manage_options' ) &&
69
+ ! is_admin() &&
70
+ isset( $wp_query ) &&
71
+ $wp_query &&
72
+ isset( $wp_query->query_vars ) &&
73
+ is_array( $wp_query->query_vars ) &&
74
+ isset( $wp_query->query_vars['code'] ) &&
75
+ isset( $wp_query->query_vars['auth'] ) &&
76
+ isset( $wp_query->query_vars['username'] ) &&
77
+ 'ctct' === $wp_query->query_vars['auth']
78
+ ) {
79
+
80
+ // Create a redirect back to connect page.
81
+ wp_safe_redirect( add_query_arg( array(
82
+ 'post_type' => 'ctct_forms',
83
+ 'page' => 'ctct_options_connect',
84
+ 'code' => sanitize_text_field( $wp_query->query_vars['code'] ),
85
+ 'user' => sanitize_text_field( $wp_query->query_vars['username'] ),
86
+ ), admin_url( 'edit.php' ) ) );
87
+ exit;
88
+ }
89
+ }
90
+ }
includes/class-builder-fields.php ADDED
@@ -0,0 +1,321 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @package ConstantContact
4
+ * @subpackage BuilderFields
5
+ * @author Pluginize
6
+ * @since 1.0.0
7
+ */
8
+
9
+ /**
10
+ * Helper class for dealing with our form builder field functionality.
11
+ */
12
+ class ConstantContact_Builder_Fields {
13
+
14
+ /**
15
+ * Parent plugin class
16
+ *
17
+ * @var class
18
+ * @since 0.0.1
19
+ */
20
+ protected $plugin = null;
21
+
22
+ /**
23
+ * Prefix for our meta fields / boxes
24
+ * @var string
25
+ */
26
+ public $prefix = '_ctct_';
27
+
28
+ /**
29
+ * Constructor
30
+ *
31
+ * @since 1.0.0
32
+ * @return void
33
+ */
34
+ public function __construct( $plugin ) {
35
+ $this->plugin = $plugin;
36
+ $this->hooks();
37
+ }
38
+
39
+ /**
40
+ * Initiate our hooks
41
+ *
42
+ * @since 1.0.0
43
+ */
44
+ public function init() {
45
+ add_action( 'init', array( $this, 'hooks' ) );
46
+ }
47
+
48
+ /**
49
+ * Initiate our hooks
50
+ *
51
+ * @since 1.0.0
52
+ */
53
+ public function hooks() {
54
+ global $pagenow;
55
+
56
+ // Allow filtering the pages to load form build actions
57
+ $form_builder_pages = apply_filters(
58
+ 'constant_contact_form_builder_pages',
59
+ array( 'post-new.php', 'post.php' )
60
+ );
61
+
62
+ // Only load the cmb2 fields on our specified pages
63
+ if ( $pagenow && in_array( $pagenow, $form_builder_pages, true ) ) {
64
+
65
+ add_action( 'cmb2_admin_init', array( $this, 'description_metabox' ) );
66
+ add_action( 'cmb2_admin_init', array( $this, 'opt_ins_metabox' ) );
67
+ add_action( 'cmb2_admin_init', array( $this, 'fields_metabox' ) );
68
+ }
69
+
70
+ }
71
+
72
+ /**
73
+ * Form description CMB2 metabox
74
+ *
75
+ * @since 1.0.0
76
+ * @return void
77
+ */
78
+ public function description_metabox() {
79
+
80
+ /**
81
+ * Initiate the $description_metabox
82
+ */
83
+ $description_metabox = new_cmb2_box( array(
84
+ 'id' => 'ctct_0_description_metabox',
85
+ 'title' => __( 'Form Description', 'constant-contact-forms' ),
86
+ 'object_types' => array( 'ctct_forms' ),
87
+ 'context' => 'normal',
88
+ 'priority' => 'high',
89
+ 'show_names' => true,
90
+ ) );
91
+
92
+ $description_metabox->add_field( array(
93
+ 'description' => __( 'This message will display above the form fields, so use it as an opportunity to pitch your email list. Tell visitors why they should subscribe to your emails, focusing on benefits like insider tips, discounts, subscriber coupons, and more.', 'constant-contact-forms' ),
94
+ 'id' => $this->prefix . 'description',
95
+ 'type' => 'wysiwyg',
96
+ 'options' => array(
97
+ 'media_buttons' => false,
98
+ 'textarea_rows' => '5',
99
+ 'teeny' => false,
100
+ ),
101
+ ) );
102
+ }
103
+
104
+ /**
105
+ * Form options CMB2 metabox
106
+ *
107
+ * @since 1.0.0
108
+ * @return void
109
+ */
110
+ public function opt_ins_metabox() {
111
+
112
+ // Initiate the $options_metabox, as this is used either way
113
+ $options_metabox = new_cmb2_box( array(
114
+ 'id' => 'ctct_1_optin_metabox',
115
+ 'title' => __( 'Form Options', 'constant-contact-forms' ),
116
+ 'object_types' => array( 'ctct_forms' ),
117
+ 'context' => 'normal',
118
+ 'priority' => 'high',
119
+ 'show_names' => true,
120
+ ) );
121
+
122
+ // Depending on if we're connected or not, show different opt-in fields
123
+ if ( constant_contact()->api->is_connected() ) {
124
+ $this->show_optin_connected_fields( $options_metabox );
125
+ } else {
126
+ $this->show_optin_not_connected_fields( $options_metabox );
127
+ }
128
+ }
129
+
130
+ /**
131
+ * Helper method to show our connected optin fields
132
+ *
133
+ * @since 1.0.0
134
+ * @param object $options_metabox CMB2 options metabox object
135
+ * @return void
136
+ */
137
+ public function show_optin_connected_fields( $options_metabox ) {
138
+
139
+ // Get our lists
140
+ $lists = $this->plugin->builder->get_lists();
141
+
142
+ // Add field if conncted to API.
143
+ if ( $lists ) {
144
+
145
+ // Allow choosing a list to add to
146
+ $options_metabox->add_field( array(
147
+ 'name' => __( 'Add subscribers to', 'constant-contact-forms' ),
148
+ 'id' => $this->prefix . 'list',
149
+ 'type' => 'select',
150
+ 'show_option_none' => __( 'No List Selected', 'constant-contact-forms' ),
151
+ 'default' => 'none',
152
+ 'options' => $lists,
153
+ ) );
154
+ }
155
+
156
+ // Show our show/hide checkbox field
157
+ $this->show_enable_show_checkbox_field( $options_metabox );
158
+
159
+ // Show our affirmation textbox field
160
+ $this->show_affirmation_field( $options_metabox );
161
+ }
162
+
163
+ /**
164
+ * Helper method to show our non connected optin fields
165
+ *
166
+ * @since 1.0.0
167
+ * @param object $options_metabox CMB2 options metabox object
168
+ * @return void
169
+ */
170
+ public function show_optin_not_connected_fields( $options_metabox ) {
171
+
172
+ $options_metabox->add_field( array(
173
+ 'name' => __( 'Enable email subscriber opt-in', 'constant-contact-forms' ),
174
+ 'id' => $this->prefix . 'opt_in_not_connected',
175
+ 'description' => __( 'Adds an opt-in to the bottom of your form.', 'constant-contact-forms' ),
176
+ 'type' => 'checkbox',
177
+ 'attributes' => array(
178
+ 'disabled' => 'disabled',
179
+ ),
180
+ ) );
181
+
182
+ // Show our affirmation textbox field
183
+ $this->show_affirmation_field( $options_metabox );
184
+ }
185
+
186
+ /**
187
+ * Helper method to show our show/hide checkbox field
188
+ *
189
+ * @since 1.0.0
190
+ * @param object $options_metabox CMB2 options metabox object
191
+ * @return void
192
+ */
193
+ public function show_enable_show_checkbox_field( $options_metabox ) {
194
+
195
+ $description = __( 'Show opt-in checkbox to allow visitors to opt-in to your email list.', 'constant-contact-forms' );
196
+ $description .= '<br>';
197
+ $description .= __( '(usually used with a Contact Us type form)', 'constant-contact-forms' );
198
+
199
+ $options_metabox->add_field( array(
200
+ 'name' => __( 'Show Opt-in checkbox', 'constant-contact-forms' ),
201
+ 'id' => $this->prefix . 'opt_in',
202
+ 'description' => $description,
203
+ 'type' => 'checkbox',
204
+ ) );
205
+ }
206
+
207
+ /**
208
+ * Helper method to show our affirmation textarea field
209
+ *
210
+ * @since 1.0.0
211
+ * @param object $options_metabox CMB2 options metabox object
212
+ * @return void
213
+ */
214
+ public function show_affirmation_field( $options_metabox ) {
215
+
216
+ // Get our site name, and if we don't have it, then use a placeholder
217
+ $business_name = get_bloginfo( 'name' );
218
+ $business_name ? $business_name : __( 'Your Business Name', 'constant-contact-forms' );
219
+
220
+ $options_metabox->add_field( array(
221
+ 'name' => __( 'Opt-in Affirmation', 'constant-contact-forms' ),
222
+ 'id' => $this->prefix . 'opt_in_instructions',
223
+ 'type' => 'textarea_small',
224
+ 'default' => sprintf( __( 'Example: Yes, I would like to receive emails from %s. (You can unsubscribe anytime)', 'constant-contact-forms' ), $business_name ),
225
+ ) );
226
+ }
227
+
228
+ /**
229
+ * Fields builder CMB2 metabox
230
+ *
231
+ * @since 1.0.0
232
+ * @return void
233
+ */
234
+ public function fields_metabox() {
235
+
236
+ /**
237
+ * Initiate the $fields_metabox
238
+ */
239
+ $fields_metabox = new_cmb2_box( array(
240
+ 'id' => 'ctct_2_fields_metabox',
241
+ 'title' => __( 'Form Fields', 'constant-contact-forms' ),
242
+ 'object_types' => array( 'ctct_forms' ),
243
+ 'context' => 'normal',
244
+ 'priority' => 'low',
245
+ 'show_names' => true,
246
+ ) );
247
+
248
+ // Custom CMB2 fields.
249
+ $fields_metabox->add_field( array(
250
+ 'name' => __( 'Add Fields', 'constant-contact-forms' ),
251
+ 'description' => __( 'Create a field for each piece of information you want to collect. Good basics include email address, first name, and last name. You can also collect birthday and anniversary dates to use with Constant Contact autoresponders! ', 'constant-contact-forms' ),
252
+ 'id' => $this->prefix . 'title',
253
+ 'type' => 'title',
254
+ ) );
255
+
256
+ // Form builder repeater
257
+ $custom_group = $fields_metabox->add_field( array(
258
+ 'id' => 'custom_fields_group',
259
+ 'type' => 'group',
260
+ 'repeatable' => true,
261
+ 'options' => array(
262
+ 'group_title' => __( 'Field {#}', 'constant-contact-forms' ),
263
+ 'add_button' => __( 'Add Another Field', 'constant-contact-forms' ),
264
+ 'remove_button' => __( 'Remove Field', 'constant-contact-forms' ),
265
+ 'sortable' => true,
266
+ ),
267
+ ) );
268
+
269
+ // Add a field label
270
+ $fields_metabox->add_group_field( $custom_group, array(
271
+ 'name' => __( 'Field Label', 'constant-contact-forms' ),
272
+ 'id' => $this->prefix . 'field_label',
273
+ 'type' => 'text',
274
+ 'default' => __( 'Email', 'constant-contact-forms' ),
275
+ ) );
276
+
277
+ // Add our field description
278
+ $fields_metabox->add_group_field( $custom_group, array(
279
+ 'name' => __( 'Field Description', 'constant-contact-forms' ),
280
+ 'desc' => __( '', 'constant-contact-forms' ),
281
+ 'id' => $this->prefix . 'field_desc',
282
+ 'type' => 'text',
283
+ 'default' => 'Ex: Enter email address',
284
+ ) );
285
+
286
+ $default_fields = apply_filters( 'constant_contact_field_types', array(
287
+ 'email' => __( 'Email (required)', 'constant-contact-forms' ),
288
+ 'first_name' => __( 'First Name', 'constant-contact-forms' ),
289
+ 'last_name' => __( 'Last Name', 'constant-contact-forms' ),
290
+ 'phone_number' => __( 'Phone Number', 'constant-contact-forms' ),
291
+ 'address' => __( 'Address', 'constant-contact-forms' ),
292
+ 'job_title' => __( 'Job Title', 'constant-contact-forms' ),
293
+ 'company' => __( 'Company', 'constant-contact-forms' ),
294
+ 'website' => __( 'Website', 'constant-contact-forms' ),
295
+ 'birthday' => __( 'Birthday', 'constant-contact-forms' ),
296
+ 'anniversary' => __( 'Anniversary', 'constant-contact-forms' ),
297
+ 'custom' => __( 'Custom Text Field', 'constant-contact-forms' ),
298
+ 'custom_text_area' => __( 'Custom Text Area', 'constant-contact-forms' ),
299
+ ) );
300
+
301
+ // Choose which field
302
+ $fields_metabox->add_group_field( $custom_group, array(
303
+ 'name' => __( 'Select a Field', 'constant-contact-forms' ),
304
+ 'id' => $this->prefix . 'map_select',
305
+ 'type' => 'select',
306
+ 'show_option_none' => false,
307
+ 'default' => 'email',
308
+ 'row_classes' => 'map',
309
+ 'options' => $default_fields,
310
+ ) );
311
+
312
+ // Allow toggling of required fields
313
+ $fields_metabox->add_group_field( $custom_group, array(
314
+ 'name' => __( 'Required', 'constant-contact-forms' ),
315
+ 'id' => $this->prefix . 'required_field',
316
+ 'type' => 'checkbox',
317
+ 'row_classes' => 'required',
318
+ ) );
319
+
320
+ }
321
+ }
includes/class-builder.php ADDED
@@ -0,0 +1,342 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @package ConstantContact
4
+ * @subpackage Builder
5
+ * @author Pluginize
6
+ * @since 1.0.0
7
+ */
8
+
9
+ /**
10
+ * Main class for dealing with our form builder functionality.
11
+ */
12
+ class ConstantContact_Builder {
13
+
14
+ /**
15
+ * Parent plugin class
16
+ *
17
+ * @var class
18
+ * @since 0.0.1
19
+ */
20
+ protected $plugin = null;
21
+
22
+ /**
23
+ * Prefix for our meta fields / boxes
24
+ * @var string
25
+ */
26
+ public $prefix = '_ctct_';
27
+
28
+ /**
29
+ * Constructor
30
+ *
31
+ * @since 1.0.0
32
+ * @return void
33
+ */
34
+ public function __construct( $plugin ) {
35
+ $this->plugin = $plugin;
36
+ $this->hooks();
37
+ }
38
+
39
+ /**
40
+ * Initiate our hooks
41
+ *
42
+ * @since 1.0.0
43
+ */
44
+ public function init() {
45
+ add_action( 'init', array( $this, 'hooks' ) );
46
+ }
47
+
48
+ /**
49
+ * Initiate our hooks
50
+ *
51
+ * @since 1.0.0
52
+ */
53
+ public function hooks() {
54
+ global $pagenow;
55
+
56
+ // Allow filtering the pages to load form build actions
57
+ $form_builder_pages = apply_filters(
58
+ 'constant_contact_form_builder_pages',
59
+ array( 'post-new.php', 'post.php' )
60
+ );
61
+
62
+ // Only load the cmb2 fields on our specified pages
63
+ if ( in_array( $pagenow, $form_builder_pages, true ) ) {
64
+
65
+ add_action( 'cmb2_after_post_form_ctct_0_description_metabox', array( $this, 'add_form_css' ) );
66
+
67
+ add_action( 'cmb2_save_field', array( $this, 'override_save' ), 10, 4 );
68
+ add_action( 'admin_notices', array( $this, 'admin_notice' ) );
69
+ add_action( 'save_post', array( $this, 'save_post' ), 10, 2 );
70
+ }
71
+
72
+ }
73
+
74
+ /**
75
+ * Get lists for dropdown option
76
+ *
77
+ * @since 1.0.0
78
+ * @return array array of lists
79
+ */
80
+ public function get_lists() {
81
+
82
+ // Grab our lists
83
+ $lists = constant_contact()->lists->get_lists();
84
+
85
+ // Data verification
86
+ if ( $lists && is_array( $lists ) ) {
87
+
88
+ // Loop though our lists
89
+ foreach ( $lists as $list => $value ) {
90
+
91
+ // Make sure we have something to use as a key and a value,
92
+ // and that we don't overwrite our 'new' value we set before
93
+ if ( ! empty( $list ) && ! empty( $value ) && 'new' !== $list ) {
94
+ $get_lists[ $list ] = $value;
95
+ }
96
+ }
97
+
98
+ // Return those lists
99
+ return $get_lists;
100
+ }
101
+
102
+ // If we got this far, we didn't get any lists
103
+ return array();
104
+ }
105
+
106
+ /**
107
+ * Custom CMB2 meta box css
108
+ *
109
+ * @since 1.0.0
110
+ */
111
+ public function add_form_css() {
112
+
113
+ // Let's style this thing
114
+ wp_enqueue_style( 'constant-contact-forms' );
115
+ }
116
+
117
+ /**
118
+ * Hook into CMB2 save meta to check if email field has been added
119
+ *
120
+ * @since 1.0.0
121
+ * @param string $field_id CMB2 Field id.
122
+ * @param object $updated
123
+ * @param string $action
124
+ * @param object $cmbobj CMB2 field object
125
+ * @return void
126
+ */
127
+ public function override_save( $field_id, $updated, $action, $cmbobj ) {
128
+
129
+ // Hey $post nice to see you
130
+ global $post;
131
+
132
+ // Do all our existence checks
133
+ if (
134
+ isset( $post->ID ) &&
135
+ $post->ID &&
136
+ isset( $post->post_type ) &&
137
+ $post->post_type &&
138
+ 'ctct_forms' === $post->post_type &&
139
+ $cmbobj &&
140
+ isset( $cmbobj->data_to_save ) &&
141
+ isset( $cmbobj->data_to_save['custom_fields_group'] ) &&
142
+ is_array( $cmbobj->data_to_save['custom_fields_group'] )
143
+ ) {
144
+
145
+ // Save post meta with a random key that we can verify later
146
+ update_post_meta( $post->ID, '_ctct_verify_key', wp_generate_password( 25, false ) );
147
+
148
+ // We want to set our meta to false, as we'll want to loop through
149
+ // and see if we should set it to true, but we want it to be false most
150
+ // of the time
151
+ update_post_meta( $post->ID, '_ctct_has_email_field', 'false' );
152
+
153
+ // Loop through all of our custom fields group fields
154
+ foreach ( $cmbobj->data_to_save['custom_fields_group'] as $data ) {
155
+
156
+ // If we have a an email field set in our map select:
157
+ if ( ( isset( $data['_ctct_map_select'] ) && 'email' === $data['_ctct_map_select'] ) || ! isset( $data['_ctct_map_select'] ) ) {
158
+
159
+ // update our post meta to mark that we have email
160
+ update_post_meta( $post->ID, '_ctct_has_email_field', 'true' );
161
+
162
+ // bail out, more than one email fields are fine, but we know we have at least one
163
+ break;
164
+ }
165
+ }
166
+ }
167
+ }
168
+
169
+ /**
170
+ * Set admin notice if no email field
171
+ *
172
+ * @since 1.0.0
173
+ * @return void
174
+ */
175
+ public function admin_notice() {
176
+
177
+ global $post;
178
+
179
+ // data verification
180
+ if (
181
+ $post &&
182
+ isset( $post->ID ) &&
183
+ isset( $post->post_type ) &&
184
+ 'ctct_forms' === $post->post_type &&
185
+ isset( $post->post_status ) &&
186
+ 'auto-draft' !== $post->post_status
187
+ ) {
188
+
189
+ // Check to see if we have an email set on our field
190
+ $has_email = get_post_meta( $post->ID, '_ctct_has_email_field', true );
191
+
192
+ // If we don't have an email, then display our admin notice to the user
193
+ if ( ! $has_email || 'false' === $has_email ) {
194
+ echo '<div id="ctct-no-email-error" class="notice notice-error ctct-no-email-error"><p>';
195
+ esc_attr_e( 'Please add an email field to continue.', 'constant-contact-forms' );
196
+ echo '</p></div>';
197
+ }
198
+
199
+ // Check for our query arg
200
+ if ( isset( $_GET['ctct_not_connected'] ) && sanitize_text_field( wp_unslash( $_GET['ctct_not_connected'] ) ) ) { //Input var okay.
201
+
202
+ // Double check that we're not connected
203
+ if ( ! constant_contact()->api->is_connected() ) {
204
+
205
+ // See if we dismissed the modal, if not, show it
206
+ if ( ! get_option( 'ctct_first_form_modal_dismissed', false ) ) {
207
+
208
+ // Show our modal
209
+ $this->output_not_connected_modal();
210
+ }
211
+ }
212
+ }
213
+ }
214
+ }
215
+
216
+ /**
217
+ * On post save, see if we should trigger the not connected modal
218
+ *
219
+ * @since 1.0.0
220
+ * @param int $post_id post id
221
+ * @param object $post post object
222
+ * @return void
223
+ */
224
+ public function save_post( $post_id, $post ) {
225
+
226
+ // Sanity checks to make sure it only applies to
227
+ // what we want to deal with, which is saving a form
228
+ // and not connected to constant contact
229
+ if (
230
+ $post &&
231
+ $post_id &&
232
+ isset( $post->post_type ) &&
233
+ 'ctct_forms' === $post->post_type &&
234
+ ! wp_is_post_revision( $post ) &&
235
+ ! constant_contact()->api->is_connected()
236
+ ) {
237
+ // Inject in a query arg that we can read later
238
+ add_filter( 'redirect_post_location', array( $this, 'add_not_conn_query_arg' ), 99 );
239
+ }
240
+ }
241
+
242
+ /**
243
+ * Return our query arg, and reomve our filter that we added before
244
+ *
245
+ * @since 1.0.0
246
+ */
247
+ public function add_not_conn_query_arg( $location ) {
248
+
249
+ // Remove our filter that we added before
250
+ remove_filter( 'redirect_post_location', array( $this, 'add_notice_query_var' ), 99 );
251
+
252
+ // Inject in our query arg
253
+ return add_query_arg( array( 'ctct_not_connected' => 'true' ), $location );
254
+ }
255
+
256
+ /**
257
+ * Gets our form title for our connect modal window
258
+ *
259
+ * @since 1.0.0
260
+ * @return string markup with form title
261
+ */
262
+ public function get_form_name_markup_for_modal() {
263
+
264
+ // Get the post object
265
+ global $post;
266
+
267
+ // If we have a post title set, use that for our modal
268
+ if ( isset( $post->post_title ) ) {
269
+ return esc_attr( $post->post_title );
270
+ }
271
+ }
272
+
273
+ /**
274
+ * Displays our not connected modal to the user
275
+ *
276
+ * @since 1.0.0
277
+ * @return void
278
+ */
279
+ public function output_not_connected_modal() {
280
+
281
+ // output markup of non connected modal here ?>
282
+ <div class="ctct-modal ctct-modal-open">
283
+
284
+ <?php // modal header ?>
285
+ <div class="ctct-modal-dialog" role="document">
286
+ <div class="ctct-modal-content">
287
+ <div class="ctct-modal-header">
288
+ <a href="#" class="ctct-modal-close" aria-hidden="true">&times;</a>
289
+ <h2><?php esc_attr_e( 'Your first form is ready!', 'constant-contact-forms' ); ?></h2>
290
+ <p>
291
+ <?php esc_html_e( 'Now, how would you like to manage the information you collect?', 'constant-contact-forms' ); ?>
292
+ </p>
293
+ </div>
294
+ <div class="ctct-modal-body">
295
+ <div class="ctct-modal-left">
296
+ <img
297
+ class="ctct-modal-flare"
298
+ src="<?php echo esc_url_raw( $this->plugin->url . 'assets/images/question-mail.png' ); ?>"
299
+ alt="<?php echo esc_attr_x( '? mail', 'email marketing alt text', 'constant-contact-forms' ); ?>"
300
+ />
301
+ <h3><?php esc_attr_e( 'Try email marketing.', 'constant-contact-forms' ); ?></h3>
302
+ <p>
303
+ <?php esc_attr_e( 'Import everything into Constant Contact so I can see what email marketing can do for me.', 'constant-contact-forms' ); ?>
304
+ </p>
305
+ <a href="<?php echo esc_url_raw( constant_contact()->api->get_signup_link() ); ?>" target="_blank" class="button button-orange" title="Try Us Free">Try Us Free</a><br/>
306
+ <img
307
+ class="flare"
308
+ src="<?php echo esc_url_raw( $this->plugin->url . 'assets/images/cc-modal-logo.png' ); ?>"
309
+ alt="<?php esc_attr_e( 'Constant Contact', 'constant-contact-forms' ); ?>"
310
+ />
311
+ </div>
312
+ <div class="ctct-modal-right">
313
+ <img
314
+ class="ctct-modal-flare"
315
+ src="<?php echo esc_url_raw( $this->plugin->url . 'assets/images/cc-login.png' ); ?>"
316
+ alt="<?php echo esc_attr_x( 'hand holding phone', 'connect alt text', 'constant-contact-forms' ); ?>"
317
+ />
318
+ <h3><?php esc_attr_e( 'Connect my account.', 'constant-contact-forms' ); ?></h3>
319
+ <p>
320
+ <?php esc_attr_e( 'Automatically add collected information to contacts in my Constant Contact account.', 'constant-contact-forms' ); ?>
321
+ </p>
322
+ <a href="<?php echo esc_url_raw( constant_contact()->api->get_connect_link() ); ?>" target="_blank" class="button button-blue" title="Connect Plugin">
323
+ <?php esc_attr_e( 'Connect Plugin', 'constant-contact-forms' ); ?>
324
+ </a><br/>
325
+ <p class="small"><small><?php esc_attr_e( 'By connecting, you authorize this
326
+ plugin to access your account.', 'constant-contact-forms' ); ?></small></p>
327
+ </div>
328
+ </div><!-- modal body -->
329
+ <div class="ctct-modal-footer">
330
+ <p><?php
331
+ printf( '<a class="ctct-modal-close" href="%s">%s</a>. %s',
332
+ '#',
333
+ esc_attr__( "I'm all set", 'constant-contact-forms' ),
334
+ esc_attr__( "I'll manage the information on my own for now.", 'constant-contact-forms' )
335
+ );
336
+ ?></p>
337
+ </div>
338
+ </div><!-- .modal-content -->
339
+ </div><!-- .modal-dialog -->
340
+ </div>
341
+ <?php }
342
+ }
includes/class-check.php ADDED
@@ -0,0 +1,149 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @package ConstantContact
4
+ * @subpackage Check
5
+ * @author Pluginize
6
+ * @since 1.0.0
7
+ */
8
+
9
+ /**
10
+ * Helper class to allow for checking and displaying server status.
11
+ */
12
+ class ConstantContact_Check {
13
+
14
+ /**
15
+ * Parent plugin class
16
+ *
17
+ * @var class
18
+ * @since 0.0.1
19
+ */
20
+ protected $plugin = null;
21
+
22
+
23
+ /**
24
+ * Constructor
25
+ *
26
+ * @since 1.0.0
27
+ * @return void
28
+ */
29
+ public function __construct( $plugin ) {
30
+ $this->plugin = $plugin;
31
+ }
32
+
33
+ /**
34
+ * Lets you add 'ctct-debug-server-check' to the query
35
+ * args of a page to load a server requirements check
36
+ *
37
+ * @since 1.0.0
38
+ */
39
+ public function maybe_display_debug_info() {
40
+
41
+ // Make sure we have our query arg, we're an admin, and we can manage options
42
+ if ( isset( $_GET['ctct-debug-server-check'] ) && is_admin() && current_user_can( 'manage_options' ) ) { // Input var okay.
43
+ ?>
44
+ <div class="ctct-server-requirements">
45
+ <p>
46
+ <h4><?php esc_attr_e( 'Server Check', 'constant-contact-forms' ); ?></h4>
47
+ <?php $this->display_server_checks(); ?>
48
+ </p>
49
+ </div>
50
+ <?php
51
+ }
52
+ }
53
+
54
+ /**
55
+ * Gets the list of functions / classes we need ot check on the server
56
+ * to be considered 'valid'
57
+ *
58
+ * @since 1.0.0
59
+ * @return array nested array of functions/classes needed
60
+ */
61
+ public function get_checks_to_make() {
62
+
63
+ // All the functions, classes, etc that we want to check on the server
64
+ return apply_filters( 'constant_contact_server_checks', array(
65
+ 'functions' => array(
66
+ 'openssl_encrypt',
67
+ 'openssl_decrypt',
68
+ ),
69
+ 'classes' => array(
70
+ 'CMB2',
71
+ 'WDS_Shortcodes',
72
+ ),
73
+ ) );
74
+ }
75
+
76
+
77
+ /**
78
+ * Displays our server check
79
+ *
80
+ * @since 1.0.0
81
+ * @return string html markup
82
+ */
83
+ public function display_server_checks() {
84
+
85
+ // Get everything we should check
86
+ $checks = $this->get_checks_to_make();
87
+
88
+ echo '<table class="ctct-server-check">';
89
+ // If we have a functions array
90
+ if (
91
+ isset( $checks['functions'] ) &&
92
+ is_array( $checks['functions'] ) &&
93
+ 1 <= count( $checks['functions'] )
94
+ ) {
95
+
96
+ // Loop through ech function
97
+ foreach ( $checks['functions'] as $function ) {
98
+
99
+ // Check to see if its available
100
+ echo '<tr><td>' . esc_attr( $function ) . '</td><td>' . esc_attr( $this->exists_text( $function, 'f' ) ) . '</td></tr>';
101
+ }
102
+ }
103
+
104
+ // See if we have any classes we should check for
105
+ if (
106
+ isset( $checks['classes'] ) &&
107
+ is_array( $checks['classes'] ) &&
108
+ 1 <= count( $checks['classes'] )
109
+ ) {
110
+
111
+ // Loop through em
112
+ foreach ( $checks['classes'] as $class ) {
113
+
114
+ // check to see if its available
115
+ echo '<tr><td>' . esc_attr( $class ) . '</td><td>' . esc_attr( $this->exists_text( $class, 'c' ) ) . '</td></tr>';
116
+ }
117
+ }
118
+
119
+ // Check to see if we can load the encryption library
120
+ $crypto = constant_contact()->check_crypto_class();
121
+ echo '<tr><td>' . esc_attr_e( 'Encrpytion Library: ', 'constant-contact-forms' ) . '</td><td>' . esc_attr( $this->exists_text( $crypto ) ) . '</td></tr>';
122
+
123
+ echo '</table>';
124
+ }
125
+
126
+ /**
127
+ * Helper method to give us a display of something exists or not
128
+ *
129
+ * @since 1.0.0
130
+ * @param string $name function/class to check
131
+ * @param string $type function or class?
132
+ * @return string emoji of checkmark
133
+ */
134
+ public function exists_text( $name, $type = '' ) {
135
+ if ( 'f' === $type ) {
136
+ $exists = function_exists( esc_attr( $name ) );
137
+ } elseif ( 'c' === $type ) {
138
+ $exists = class_exists( esc_attr( $name ) );
139
+ } else {
140
+ $exists = $name;
141
+ }
142
+
143
+ if ( $exists ) {
144
+ return '✅';
145
+ } else {
146
+ return '🚫';
147
+ }
148
+ }
149
+ }
includes/class-connect.php ADDED
@@ -0,0 +1,461 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @package ConstantContact
4
+ * @subpackage Connect
5
+ * @author Pluginize
6
+ * @since 1.0.0
7
+ */
8
+
9
+ use Ctct\ConstantContact;
10
+ use Ctct\Auth\CtctOAuth2;
11
+ use Ctct\Exceptions\OAuth2Exception;
12
+ use Defuse\Crypto\Key;
13
+ use Defuse\Crypto\Crypto;
14
+
15
+ /**
16
+ * Powers our admin connect page, as well as misc functionality around connecting to Constant Contact.
17
+ */
18
+ class ConstantContact_Connect {
19
+
20
+ /**
21
+ * Option key, and option page slug
22
+ *
23
+ * @var string
24
+ * @since 1.0.0
25
+ */
26
+ private $key = 'ctct_options_connect';
27
+
28
+ /**
29
+ * CtctOAuth2 object
30
+ *
31
+ * @var object
32
+ * @since 1.0.0
33
+ */
34
+ private $oauth = '';
35
+
36
+ /**
37
+ * Api Error message
38
+ *
39
+ * @var string
40
+ * @since 1.0.0
41
+ */
42
+ public $error_message = '';
43
+
44
+ /**
45
+ * Current page redirect Url
46
+ *
47
+ * @var string
48
+ * @since 1.0.0
49
+ */
50
+ private $redirect_url = '';
51
+
52
+ /**
53
+ * Parent plugin class
54
+ *
55
+ * @var class
56
+ * @since 0.0.1
57
+ */
58
+ protected $plugin = null;
59
+
60
+ public $should_encrypt = false;
61
+
62
+ /**
63
+ * Constructor
64
+ *
65
+ * @since 1.0.0
66
+ * @return void
67
+ */
68
+ public function __construct( $plugin ) {
69
+ $this->plugin = $plugin;
70
+ $this->hooks();
71
+ }
72
+
73
+ /**
74
+ * Initiate our hooks
75
+ *
76
+ * @since 1.0.0
77
+ * @return void
78
+ */
79
+ public function hooks() {
80
+
81
+ add_action( 'init', array( $this, 'maybe_connect' ) );
82
+
83
+ add_action( 'plugins_loaded', array( $this, 'maybe_disconnect' ) );
84
+ add_action( 'admin_menu', array( $this, 'add_options_page' ) );
85
+ }
86
+
87
+ /**
88
+ * Watches for our specific $_GET paramaters and if we get a connect request,
89
+ * pass it to our auth server class to process
90
+ *
91
+ * @since 0.0.1
92
+ * @return void
93
+ */
94
+ public function maybe_connect() {
95
+
96
+ // If we have this get, we may be getting an connect attempt, so lets
97
+ // verify it and potentially process it
98
+ if ( isset( $_GET['cc_connect_attempt'] ) && is_user_logged_in() ) { // Input var okay.
99
+
100
+ // Call our access token processing
101
+ $verified = constant_contact()->authserver->verify_and_save_access_token_return();
102
+
103
+ $redirect_args = array(
104
+ 'post_type' => 'ctct_forms',
105
+ 'page' => 'ctct_options_connect',
106
+ );
107
+
108
+ if ( ! $verified ) {
109
+ $redirect_args['ctct_connect_error'] = 'true';
110
+ }
111
+
112
+ // Redirect back to our connection page
113
+ wp_redirect( add_query_arg( $redirect_args, admin_url( 'edit.php' ) ) );
114
+ die;
115
+ }
116
+ }
117
+
118
+ /**
119
+ * Add menu options page
120
+ *
121
+ * @since 1.0.0
122
+ */
123
+ public function add_options_page() {
124
+
125
+ if ( ! constant_contact()->api->is_connected() ) {
126
+ // Set our default title of the connect link
127
+ $connect_title = __( 'Connect Now', 'constant-contact-forms' );
128
+ $connect_link = 'edit.php?post_type=ctct_forms';
129
+
130
+ } else {
131
+
132
+ // If we've already been connected, then we can set it to be a disconnect button
133
+ $connect_title = __( 'Disconnect', 'constant-contact-forms' );
134
+ $connect_link = 'edit.php?post_type=ctct_forms';
135
+ }
136
+
137
+ // Set up our page
138
+ $this->options_page = add_submenu_page(
139
+ $connect_link,
140
+ $connect_title,
141
+ $connect_title,
142
+ 'manage_options',
143
+ $this->key,
144
+ array( $this, 'admin_page_display' )
145
+ );
146
+ }
147
+
148
+ /**
149
+ * Admin page markup. Mostly handled by CMB2
150
+ *
151
+ * @since 1.0.0
152
+ * @return mixed page markup or false if not admin.
153
+ */
154
+ public function admin_page_display() {
155
+
156
+ wp_register_style(
157
+ 'constant_contact_admin_global_no_connection',
158
+ constant_contact()->url() . 'assets/css/admin-global-no-connection.css',
159
+ array(),
160
+ constant_contact()->version
161
+ );
162
+
163
+ wp_enqueue_style( 'constant_contact_admin_global_no_connection' );
164
+
165
+ // Only run if logged in user can manage site options.
166
+ if ( ! current_user_can( 'manage_options' ) ) {
167
+ return false;
168
+ }
169
+
170
+ wp_enqueue_style( 'constant-contact-oath', constant_contact()->url() . 'assets/css/oath.css' );
171
+
172
+ wp_localize_script( 'ctct_form', 'ctct_texts', array( 'disconnectconfirm' => __( 'Are you sure you want to disconnect?', 'constant-contact-forms' ) ) );
173
+
174
+ wp_enqueue_script( 'ctct_form' );
175
+ ?>
176
+ <div class="wrap cmb2-options-page <?php echo esc_attr( $this->key ); ?>">
177
+ <img class="ctct-logo" src="<?php echo esc_url( constant_contact()->url . 'assets/images/constant-contact-logo.png' ); ?>">
178
+ <div class="ctct-body">
179
+ <?php if ( constantcontact_api()->get_api_token() ) : ?>
180
+ <div class="message notice">
181
+ <p>
182
+ <?php esc_html_e( 'Plugin connected to Constant Contact.', 'constant-contact-forms' ); ?>
183
+ </p>
184
+ </div>
185
+
186
+ <form method="post" action="<?php echo esc_url( $this->redirect_url ); ?>">
187
+ <?php wp_nonce_field( 'ctct-admin-disconnect', 'ctct-admin-disconnect' ); ?>
188
+ <input type="hidden" id="ctct-disconnect" name="ctct-disconnect" value="true">
189
+ <input type="submit" class="button button-orange ctct-disconnect" value="<?php esc_html_e( 'Disconnect', 'constant-contact-forms' ); ?>">
190
+ </form>
191
+
192
+ <?php else : ?>
193
+
194
+ <?php
195
+ if ( isset( $_GET['ctct_connect_error'] ) ) { // Input var okay.
196
+ ?>
197
+ <div id="message" class="error"><p>
198
+ <?php esc_html_e( 'There was an error connecting your account. Please try again.', 'constant-contact-forms' ); ?>
199
+ </p></div>
200
+ <?php
201
+ }
202
+ ?>
203
+ <p class="ctct-description">
204
+ <?php esc_html_e( 'To take full advantage of this plugin, we recommend having an active Constant Contact account.', 'constant-contact-forms' ); ?>
205
+ </p>
206
+
207
+ <!-- Start Columns Here -->
208
+ <div class="left">
209
+ <img
210
+ class="flare"
211
+ src="<?php echo esc_url_raw( $this->plugin->url . 'assets/images/question-mail-connect.png' ); ?>"
212
+ alt="<?php echo esc_attr_x( '? mail', 'email marketing alt text', 'constant-contact-forms' ); ?>"
213
+ />
214
+ <h3><?php esc_attr_e( 'Need an account?', 'constant-contact-forms' ); ?></h3>
215
+ <p>
216
+ <?php esc_attr_e( 'Sign up for a free 60-day trial to connect with visitors beyond your website.', 'constant-contact-forms' ); ?>
217
+ </p>
218
+ <a class="button button-orange" href="<?php echo esc_url_raw( constant_contact()->api->get_signup_link() ); ?>"><?php esc_attr_e( 'Try us Free', 'constant-contact-forms' ); ?></a>
219
+ </div>
220
+ <div class="right">
221
+ <img
222
+ class="flare"
223
+ src="<?php echo esc_url_raw( $this->plugin->url . 'assets/images/cc-login-connect.png' ); ?>"
224
+ alt="<?php echo esc_attr_x( 'hand holding phone', 'connect alt text', 'constant-contact-forms' ); ?>"
225
+ />
226
+ <h3><?php esc_attr_e( 'Have an account?', 'constant-contact-forms' ); ?></h3>
227
+ <p>
228
+ <?php esc_attr_e( 'Connect the plugin to log in to your Constant Contact account', 'constant-contact-forms' ); ?>
229
+ <em><?php esc_attr_e( '(by connecting, you authorize this plugin to access your account).', 'constant-contact-forms' ); ?></em>
230
+ </p>
231
+ <?php
232
+
233
+ // Get our middleware link
234
+ $proof = constant_contact()->authserver->set_verification_option();
235
+ $auth_link = constant_contact()->authserver->do_connect_url( $proof );
236
+
237
+ // If we have a link, then display the connect button
238
+ if ( $auth_link ) { ?>
239
+ <a href="<?php echo esc_url_raw( $auth_link ); ?>" class="button button-blue ctct-connect">
240
+ <?php esc_html_e( 'Connect Plugin', 'constant-contact-forms' ); ?>
241
+ </a>
242
+ <?php } ?>
243
+ </div>
244
+ </div>
245
+
246
+ <p class="ctct-description small">
247
+ <strong><?php esc_html_e( 'NOTE: ', 'constant-contact-forms' ); ?></strong><?php esc_html_e( 'It’s possible to use the plugin without connecting to a Constant Contact account. In this case, all information collected by the forms will be individually emailed to the Site Admin.', 'constant-contact-forms' ); ?>
248
+ </p>
249
+ <?php endif; ?>
250
+ </div>
251
+ <?php
252
+ }
253
+
254
+ /**
255
+ * Disconnect from api
256
+ *
257
+ * @since 1.0.0
258
+ * @return boolean
259
+ */
260
+ public function maybe_disconnect() {
261
+
262
+ // Make sure we ahve our nonce key
263
+ if ( ! isset( $_POST['ctct-admin-disconnect'] ) ) { // Input var okay.
264
+ return;
265
+ }
266
+
267
+ // Make sure we want to disconnect
268
+ if ( ! isset( $_POST['ctct-disconnect'] ) ) { // Input var okay.
269
+ return;
270
+ }
271
+
272
+ // Only run if logged in user can manage site options.
273
+ if ( ! is_admin() || ! current_user_can( 'manage_options' ) ) {
274
+ return;
275
+ }
276
+
277
+ // Verify that nonce
278
+ if ( wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['ctct-admin-disconnect'] ) ), 'ctct-admin-disconnect' ) ) { // Input var okay.
279
+
280
+ // Delete access token and delete our legacy token as well.
281
+ delete_option( 'ctct_token' );
282
+ delete_option( '_ctct_token' );
283
+ }
284
+ }
285
+
286
+ /**
287
+ * Get an encrypted value
288
+ *
289
+ * @since 1.0.0
290
+ * @param string $key key to save to
291
+ */
292
+ public function e_get( $check_key, $fallback_to_ctct_opt = false ) {
293
+
294
+ if ( ! constant_contact()->is_encryption_ready() ) {
295
+ return get_option( $check_key, '' );
296
+ }
297
+
298
+ // Get our key
299
+ $key = $this->get_encrpyt_key();
300
+
301
+ // Get our saved token
302
+ if ( $fallback_to_ctct_opt ) {
303
+
304
+ // if we want to fallback, we'll get the nested option
305
+ $options = get_option( 'ctct_options_settings', false );
306
+ if ( $options && isset( $options[ $check_key ] ) ) {
307
+ $encrypted_token = $options[ $check_key ];
308
+ } else {
309
+ return false;
310
+ }
311
+ } else {
312
+
313
+ // Otherwise get normal option
314
+ $encrypted_token = get_option( $check_key );
315
+
316
+ // Make sure we have something
317
+ if ( ! $encrypted_token ) {
318
+ return false;
319
+ }
320
+ }
321
+
322
+ try {
323
+ // Try to decrypt it
324
+ $return = Crypto::decrypt( $encrypted_token, $key );
325
+ } catch ( Exception $e ) {
326
+ // otherwise just return the raw val
327
+ $return = '';
328
+ }
329
+
330
+ // Return data
331
+ return $return;
332
+
333
+ }
334
+
335
+ /**
336
+ * Set an encrypted value
337
+ *
338
+ * @since 1.0.0
339
+ * @param string $key key to save to
340
+ * @param string $data data to save
341
+ */
342
+ public function e_set( $check_key, $data, $autoload = false ) {
343
+
344
+ if ( ! constant_contact()->is_encryption_ready() ) {
345
+ update_option( $check_key, $data );
346
+ return $data;
347
+ }
348
+
349
+ // Get our key
350
+ $key = $this->get_encrpyt_key();
351
+
352
+ // Encrypt
353
+ $saved = Crypto::encrypt( $data, $key );
354
+
355
+ // Save option
356
+ update_option( $check_key, $saved, $autoload );
357
+
358
+ // Return data
359
+ return $saved;
360
+ }
361
+
362
+ /**
363
+ * Secure API access token
364
+ *
365
+ * @since 1.0.0
366
+ * @param string $access_token api access token.
367
+ * @return void
368
+ */
369
+ public function update_token( $access_token ) {
370
+ return $this->e_set( 'ctct_token', $access_token, true );
371
+ }
372
+
373
+ /**
374
+ * Get saved API token
375
+ *
376
+ * @since 1.0.0
377
+ * @return string token
378
+ */
379
+ public function get_api_token() {
380
+
381
+ // Clean up our old tokens
382
+ $this->check_deleted_legacy_token();
383
+
384
+ return $this->e_get( 'ctct_token' );
385
+ }
386
+
387
+ /**
388
+ * If we have a legacy token, let's re-save it
389
+ *
390
+ * @since 1.0.0
391
+ */
392
+ public function check_deleted_legacy_token() {
393
+
394
+ // Get our old token
395
+ $legacy = get_option( '_ctct_token' );
396
+
397
+ // If we got a legacy value, reencrypt and delete it
398
+ if ( $legacy ) {
399
+ // Update our token with our legacy data
400
+ $this->update_token( $legacy );
401
+ delete_option( '_ctct_token' );
402
+ }
403
+ }
404
+
405
+ /**
406
+ * Get our encrypt key
407
+ *
408
+ * @since 1.0.0
409
+ * @return string key to use for encrypt
410
+ */
411
+ public function get_encrpyt_key() {
412
+
413
+ if ( ! constant_contact()->is_encryption_ready() ) {
414
+ return 'ctct_key';
415
+ }
416
+
417
+ // Get our key
418
+ $key = get_option( 'ctct_key', false );
419
+
420
+ // If we don't have one, make one
421
+ if ( ! $key ) {
422
+ $key = $this->generate_and_save_key();
423
+ }
424
+
425
+ // return it
426
+ return Key::loadFromAsciiSafeString( $key );
427
+ }
428
+
429
+ /**
430
+ * Generates and saves a new key
431
+ *
432
+ * @since 1.0.0
433
+ * @return object key
434
+ */
435
+ public function generate_and_save_key( $first_try = true ) {
436
+
437
+ // If we can't run encryption stuff, then don't.
438
+ if ( ! constant_contact()->is_encryption_ready() ) {
439
+ return 'ctct_key';
440
+ }
441
+
442
+ // Generate a random key from our Encryption library
443
+ $key = Key::createNewRandomKey();
444
+
445
+ // Save our key as a safe string, so we can add it to the DB
446
+ $key = $key->saveToAsciiSafeString();
447
+
448
+ // Save it as our ctct_key, so that we can use it later
449
+ $updated = update_option( 'ctct_key', $key );
450
+
451
+ // If we weren't able to update it, try again, but only do it once
452
+ if ( ! $updated || $first_try ) {
453
+
454
+ // try generating and saving again, but only one more time.
455
+ $key = $this->generate_and_save_key( false );
456
+ }
457
+
458
+ // Send that key back
459
+ return $key;
460
+ }
461
+ }
includes/class-cpts.php ADDED
@@ -0,0 +1,329 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @package ConstantContact
4
+ * @subpackage CPTS
5
+ * @author Pluginize
6
+ * @since 1.0.0
7
+ */
8
+
9
+ /**
10
+ * Powers our custom post types.
11
+ *
12
+ * @internal
13
+ *
14
+ * @since 1.0.0
15
+ */
16
+ class ConstantContact_CPTS {
17
+
18
+ /**
19
+ * Parent plugin class.
20
+ *
21
+ * @var object
22
+ * @since 1.0.0
23
+ */
24
+ protected $plugin = null;
25
+
26
+ /**
27
+ * Holds an instance of the object.
28
+ *
29
+ * @var object ConstantContact_CPTS
30
+ * @since 1.0.0
31
+ */
32
+ private static $instance = null;
33
+
34
+ /**
35
+ * Constructor.
36
+ *
37
+ * @since 1.0.0
38
+ * @param object $plugin this class.
39
+ */
40
+ public function __construct( $plugin ) {
41
+ $this->plugin = $plugin;
42
+ $this->hooks();
43
+ }
44
+
45
+ /**
46
+ * Initiate our hooks.
47
+ *
48
+ * @since 1.0.0
49
+ */
50
+ public function hooks() {
51
+ add_action( 'init', array( $this, 'forms_post_type' ) );
52
+ add_action( 'init', array( $this, 'lists_post_type' ) );
53
+
54
+ add_filter( 'post_updated_messages', array( $this, 'post_updated_messages' ) );
55
+ add_filter( 'enter_title_here', array( $this, 'change_default_title' ) );
56
+ }
57
+
58
+ /**
59
+ * Register Custom Post Type.
60
+ *
61
+ * @since 1.0.0
62
+ */
63
+ public function forms_post_type() {
64
+
65
+ $labels = array(
66
+ 'name' => _x( 'Forms', 'Post Type General Name', 'constant-contact-forms' ),
67
+ 'singular_name' => _x( 'Form', 'Post Type Singular Name', 'constant-contact-forms' ),
68
+ 'menu_name' => __( 'Contact Form', 'constant-contact-forms' ),
69
+ 'name_admin_bar' => __( 'Contact Form', 'constant-contact-forms' ),
70
+ 'archives' => __( 'Form Archives', 'constant-contact-forms' ),
71
+ 'parent_item_colon' => __( 'Parent Form:', 'constant-contact-forms' ),
72
+ 'all_items' => __( 'All Forms', 'constant-contact-forms' ),
73
+ 'add_new_item' => __( 'Add New Form', 'constant-contact-forms' ),
74
+ 'add_new' => __( 'Add New Form', 'constant-contact-forms' ),
75
+ 'new_item' => __( 'New Form', 'constant-contact-forms' ),
76
+ 'edit_item' => __( 'Edit Form', 'constant-contact-forms' ),
77
+ 'update_item' => __( 'Update Form', 'constant-contact-forms' ),
78
+ 'view_item' => __( 'View Form', 'constant-contact-forms' ),
79
+ 'search_items' => __( 'Search Form', 'constant-contact-forms' ),
80
+ 'not_found' => __( 'Not found', 'constant-contact-forms' ),
81
+ 'not_found_in_trash' => __( 'Not found in Trash', 'constant-contact-forms' ),
82
+ 'featured_image' => __( 'Featured Image', 'constant-contact-forms' ),
83
+ 'set_featured_image' => __( 'Set featured image', 'constant-contact-forms' ),
84
+ 'remove_featured_image' => __( 'Remove featured image', 'constant-contact-forms' ),
85
+ 'use_featured_image' => __( 'Use as featured image', 'constant-contact-forms' ),
86
+ 'insert_into_item' => __( 'Insert into Form', 'constant-contact-forms' ),
87
+ 'uploaded_to_this_item' => __( 'Uploaded to this Form', 'constant-contact-forms' ),
88
+ 'items_list' => __( 'Forms list', 'constant-contact-forms' ),
89
+ 'items_list_navigation' => __( 'Forms list navigation', 'constant-contact-forms' ),
90
+ 'filter_items_list' => __( 'Filter forms list', 'constant-contact-forms' ),
91
+ );
92
+ $args = array(
93
+ 'label' => __( 'Constant Contact', 'constant-contact-forms' ),
94
+ 'description' => __( 'Constant Contact forms.', 'constant-contact-forms' ),
95
+ 'labels' => $labels,
96
+ 'supports' => array( 'title' ),
97
+ 'taxonomies' => array(),
98
+ 'hierarchical' => false,
99
+ 'public' => false,
100
+ 'show_ui' => true,
101
+ 'show_in_menu' => true,
102
+ 'menu_position' => 20,
103
+ 'menu_icon' => constant_contact()->url . 'assets/images/ctct-icon.png',
104
+ 'show_in_admin_bar' => false,
105
+ 'show_in_nav_menus' => false,
106
+ 'can_export' => true,
107
+ 'has_archive' => false,
108
+ 'exclude_from_search' => false,
109
+ 'publicly_queryable' => false,
110
+ 'capability_type' => 'page',
111
+ );
112
+ register_post_type( 'ctct_forms', $args );
113
+
114
+ }
115
+
116
+ /**
117
+ * Register Custom Post Type.
118
+ *
119
+ * @since 1.0.0
120
+ */
121
+ public function lists_post_type() {
122
+
123
+ $labels = array(
124
+ 'name' => _x( 'Lists', 'Post Type General Name', 'constant-contact-forms' ),
125
+ 'singular_name' => _x( 'List', 'Post Type Singular Name', 'constant-contact-forms' ),
126
+ 'menu_name' => __( 'Lists', 'constant-contact-forms' ),
127
+ 'name_admin_bar' => __( 'Lists', 'constant-contact-forms' ),
128
+ 'archives' => __( 'List Archives', 'constant-contact-forms' ),
129
+ 'parent_item_colon' => __( 'Parent List:', 'constant-contact-forms' ),
130
+ 'all_items' => __( 'Lists', 'constant-contact-forms' ),
131
+ 'add_new_item' => __( 'Add New List', 'constant-contact-forms' ),
132
+ 'add_new' => __( 'Add New List', 'constant-contact-forms' ),
133
+ 'new_item' => __( 'New List', 'constant-contact-forms' ),
134
+ 'edit_item' => __( 'Edit List', 'constant-contact-forms' ),
135
+ 'update_item' => __( 'Update List', 'constant-contact-forms' ),
136
+ 'view_item' => __( 'View List', 'constant-contact-forms' ),
137
+ 'search_items' => __( 'Search List', 'constant-contact-forms' ),
138
+ 'not_found' => __( 'Not found', 'constant-contact-forms' ),
139
+ 'not_found_in_trash' => __( 'Not found in Trash', 'constant-contact-forms' ),
140
+ 'featured_image' => __( 'Featured Image', 'constant-contact-forms' ),
141
+ 'set_featured_image' => __( 'Set featured image', 'constant-contact-forms' ),
142
+ 'remove_featured_image' => __( 'Remove featured image', 'constant-contact-forms' ),
143
+ 'use_featured_image' => __( 'Use as featured image', 'constant-contact-forms' ),
144
+ 'insert_into_item' => __( 'Insert into List', 'constant-contact-forms' ),
145
+ 'uploaded_to_this_item' => __( 'Uploaded to this List', 'constant-contact-forms' ),
146
+ 'items_list' => __( 'Lists list', 'constant-contact-forms' ),
147
+ 'items_list_navigation' => __( 'Lists list navigation', 'constant-contact-forms' ),
148
+ 'filter_items_list' => __( 'Filter lists list', 'constant-contact-forms' ),
149
+ );
150
+ $args = array(
151
+ 'label' => __( 'Constant Contact', 'constant-contact-forms' ),
152
+ 'description' => __( 'Constant Contact lists.', 'constant-contact-forms' ),
153
+ 'labels' => $labels,
154
+ 'supports' => array( 'title' ),
155
+ 'taxonomies' => array(),
156
+ 'hierarchical' => false,
157
+ 'public' => false,
158
+ 'show_ui' => true,
159
+ 'show_in_menu' => 'edit.php?post_type=ctct_forms',
160
+ 'menu_position' => 20,
161
+ 'menu_icon' => 'dashicons-megaphone',
162
+ 'show_in_admin_bar' => false,
163
+ 'show_in_nav_menus' => false,
164
+ 'can_export' => true,
165
+ 'has_archive' => false,
166
+ 'exclude_from_search' => true,
167
+ 'publicly_queryable' => false,
168
+ 'capability_type' => 'page',
169
+ );
170
+
171
+ // Only register if we're connected
172
+ if ( constantcontact_api()->is_connected() ) {
173
+ register_post_type( 'ctct_lists', $args );
174
+ }
175
+ }
176
+
177
+ /**
178
+ * Custom post udate messages to match CPT naming
179
+ *
180
+ * @since 1.0.0
181
+ * @param array $messages default update messages.
182
+ * @return array appended update messages with custom post types
183
+ */
184
+ public function post_updated_messages( $messages ) {
185
+
186
+ global $post;
187
+
188
+ $messages['ctct_lists'] = array(
189
+ 0 => '', // Unused. Messages start at index 1.
190
+ 1 => __( 'List updated.', 'constant-contact-forms' ),
191
+ 2 => __( 'Custom field updated.', 'constant-contact-forms' ),
192
+ 3 => __( 'Custom field deleted.', 'constant-contact-forms' ),
193
+ 4 => __( 'List updated.', 'constant-contact-forms' ),
194
+ 5 => isset( $_GET['revision'] ) ? sprintf( __( 'List restored to revision from %s', 'constant-contact-forms' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false, // Input var okay.
195
+ 6 => __( 'List published.', 'constant-contact-forms' ),
196
+ 7 => __( 'List saved.', 'constant-contact-forms' ),
197
+ 8 => __( 'List submitted.', 'constant-contact-forms' ),
198
+ 9 => __( 'List scheduled for: <strong>%1$s</strong>.', 'constant-contact-forms' ), date_i18n( 'M j, Y @ G:i', strtotime( $post->post_date ) ),
199
+ 10 => __( 'List draft updated.', 'constant-contact-forms' ),
200
+ );
201
+
202
+ $messages['ctct_forms'] = array(
203
+ 0 => '', // Unused. Messages start at index 1.
204
+ 1 => __( 'Form updated.', 'constant-contact-forms' ),
205
+ 2 => __( 'Custom field updated.', 'constant-contact-forms' ),
206
+ 3 => __( 'Custom field deleted.', 'constant-contact-forms' ),
207
+ 4 => __( 'Form updated.', 'constant-contact-forms' ),
208
+ 5 => isset( $_GET['revision'] ) ? sprintf( __( 'Form restored to revision from %s', 'constant-contact-forms' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false, // Input var okay.
209
+ 6 => __( 'Form published.', 'constant-contact-forms' ),
210
+ 7 => __( 'Form saved.', 'constant-contact-forms' ),
211
+ 8 => __( 'Form submitted.', 'constant-contact-forms' ),
212
+ 9 => __( 'Form scheduled for: <strong>%1$s</strong>.', 'constant-contact-forms' ), date_i18n( 'M j, Y @ G:i', strtotime( $post->post_date ) ),
213
+ 10 => __( 'Form draft updated.', 'constant-contact-forms' ),
214
+ );
215
+
216
+ return $messages;
217
+ }
218
+
219
+ /**
220
+ * Customize the "Enter your title" placeholder text for Title field
221
+ *
222
+ * @since 1.0.0
223
+ * @param string $title desired placeholder text.
224
+ * @return string $title output string
225
+ */
226
+ public function change_default_title( $title ) {
227
+ global $post;
228
+
229
+ // Sanity check
230
+ if ( ! isset( $post ) ) {
231
+ return $title;
232
+ }
233
+
234
+ // Check for post type
235
+ if ( ! isset( $post->post_type ) ) {
236
+ return $title;
237
+ }
238
+
239
+ // If we're on our forms post type
240
+ if ( 'ctct_forms' === $post->post_type ) {
241
+ $title = sprintf(
242
+ '%s <span class="ctct-admin-title-details">%s</span>',
243
+ __( 'Enter a form name', 'constant-contact-forms' ),
244
+ __( '(Examples: Join Our Email List, Contact Us)', 'constant-contact-forms' )
245
+ );
246
+
247
+ }
248
+
249
+ return $title;
250
+ }
251
+
252
+ /**
253
+ * Returns array of form ids
254
+ *
255
+ * @since 1.0.0
256
+ * @return array
257
+ */
258
+ public function get_forms( $expanded_data = false, $bust_cache = false ) {
259
+
260
+ // Grab our saved transient.
261
+ $forms = get_transient( 'constant_contact_shortcode_form_list' );
262
+
263
+ // Allow bypassing transient check.
264
+ $bypass_forms = apply_filters( 'constant_contact_bypass_shotcode_forms', false );
265
+
266
+ // If we dont have a transient or we bypass, go through the motions.
267
+ if ( false === $forms || $bypass_forms || $bust_cache ) {
268
+
269
+ // Get all our forms that we have.
270
+ $query = new WP_Query( array(
271
+ 'post_status' => 'publish',
272
+ 'post_type' => 'ctct_forms',
273
+ 'no_found_rows' => true,
274
+ 'update_post_term_cache' => false,
275
+ ) );
276
+
277
+ // Grab the posts.
278
+ $q_forms = $query->get_posts();
279
+
280
+ // If for some reason we got an error, just return a blank array.
281
+ if ( is_wp_error( $q_forms ) && ! is_array( $q_forms ) ) {
282
+ return array();
283
+ }
284
+
285
+ // If we're not using this for the shortcode in the admin, just return
286
+ // the IDs of our forms
287
+ if ( ! $expanded_data ) {
288
+ return $q_forms;
289
+ }
290
+
291
+ // Set up our default array.
292
+ $forms = array();
293
+
294
+ // Foreach form we have, lets build up our return array.
295
+ foreach ( $q_forms as $form ) {
296
+
297
+ // Make sure we have the data we want to use.
298
+ if (
299
+ isset( $form->ID ) &&
300
+ $form->ID &&
301
+ isset( $form->post_title ) &&
302
+ isset( $form->post_modified )
303
+ ) {
304
+
305
+ // Get our title
306
+ $title = ( $form->post_title ) ? $form->post_title : __( 'No title', 'constant-contact-forms' );
307
+
308
+ // Get the last modified time in human text
309
+ $last_modified = human_time_diff( strtotime( $form->post_modified ), time() );
310
+
311
+ // Build up our title for the shortcode form admin
312
+ $title = sprintf(
313
+ esc_html__( '%s (last modified %s ago)', 'constant-contact-forms' ),
314
+ $title,
315
+ $last_modified
316
+ );
317
+
318
+ // Clean that data before we use it.
319
+ $forms[ absint( $form->ID ) ] = $title;
320
+ }
321
+ }
322
+
323
+ // Save that.
324
+ set_transient( 'constant_contact_shortcode_form_list', $forms, 1 * HOUR_IN_SECONDS );
325
+ }
326
+
327
+ return $forms;
328
+ }
329
+ }
includes/class-display-shortcode.php ADDED
@@ -0,0 +1,256 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @package ConstantContact
4
+ * @subpackage DisplayShortcode
5
+ * @author Pluginize
6
+ * @since 1.0.0
7
+ */
8
+
9
+ /**
10
+ * Helper class that gets called to display our stuff on the front-end via a shortcode.
11
+ */
12
+ class ConstantContact_Display_Shortcode {
13
+
14
+ /**
15
+ * Parent plugin class
16
+ *
17
+ * @var class
18
+ * @since 0.0.1
19
+ */
20
+ protected $plugin = null;
21
+
22
+
23
+ /**
24
+ * Constructor
25
+ *
26
+ * @since 1.0.0
27
+ * @return void
28
+ */
29
+ public function __construct( $plugin ) {
30
+ $this->plugin = $plugin;
31
+ }
32
+
33
+ /**
34
+ * Acts as a wrapper so our shortcode class doesnt have to do this
35
+ *
36
+ * @since 1.0.0
37
+ * @param array $atts shortcode attributes
38
+ */
39
+ public function shortcode_wrapper( $atts ) {
40
+
41
+ // Bail if we don't have a form set.
42
+ if ( ! isset( $atts['form'] ) ) {
43
+ return;
44
+ }
45
+
46
+ return $this->get_form( $atts['form'] );
47
+ }
48
+
49
+ /**
50
+ * Get a form from ID
51
+ *
52
+ * @since 1.0.0
53
+ * @param int $form_id form ID
54
+ */
55
+ public function get_form( $form_id ) {
56
+
57
+ // sanity check it
58
+ $form_id = absint( $form_id );
59
+ if ( ! $form_id ) {
60
+ return;
61
+ }
62
+
63
+ // Grab all post meta.
64
+ $meta = get_post_meta( $form_id );
65
+
66
+ // Bail if we didn't get meta.
67
+ if ( ! $meta ) {
68
+ return;
69
+ }
70
+
71
+ // Pass our data into our field method.
72
+ $form_data = $this->get_field_meta( $meta, $form_id );
73
+
74
+ // Return our markup.
75
+ $form = constant_contact()->display->form( $form_data, $form_id );
76
+
77
+ return '<div class="ctct-form-wrapper">' . $form . '</div><!-- .ctct-form-wrapper -->';
78
+
79
+ }
80
+
81
+ /**
82
+ * Display a form to the screen
83
+ *
84
+ * @since 1.0.0
85
+ * @param int $form_id form ID to display
86
+ */
87
+ public function display_form( $form_id ) {
88
+
89
+ // @codingStandardsIgnoreStart
90
+ echo $this->get_form( absint( $form_id ) );
91
+ // @codingStandardsIgnoreEnd
92
+ }
93
+
94
+ /**
95
+ * Proccess cmb2 options into form data array
96
+ *
97
+ * @since 1.0.0
98
+ * @param array $form_meta post meta.
99
+ * @return array form field data
100
+ */
101
+ public function get_field_meta( $form_meta, $form_id ) {
102
+
103
+ // Bail if we don't have form meta.
104
+ if ( empty( $form_meta ) || ! is_array( $form_meta ) ) {
105
+ return false;
106
+ }
107
+
108
+ // Data verificiation for our custom fields group.
109
+ if (
110
+ isset( $form_meta['custom_fields_group'] ) &&
111
+ $form_meta['custom_fields_group'] &&
112
+ isset( $form_meta['custom_fields_group'][0] )
113
+ ) {
114
+ // If we passed all the checks, try to grab the data.
115
+ return $this->get_field_values( $form_meta['custom_fields_group'][0], $form_meta, $form_id );
116
+ }
117
+ }
118
+
119
+ /**
120
+ * Get custom field values from post meta data from form CPT post
121
+ *
122
+ * @since 1.0.0
123
+ * @param array $custom_fields custom fields to parse through.
124
+ * @return string form field markup
125
+ */
126
+ public function get_field_values( $custom_fields, $full_data, $form_id ) {
127
+
128
+ // Get all our data from our fields, while we unserialize them
129
+ $fields = $this->generate_field_values_for_fields( maybe_unserialize( $custom_fields ) );
130
+
131
+ // Now that we've finished checking all of our form fields, we'll
132
+ // want to set some general form information here.
133
+ if ( $form_id ) {
134
+ $fields['options']['form_id'] = $form_id;
135
+ }
136
+
137
+ // add in our form description, if we have one
138
+ $fields['options']['description'] = $this->get_nested_value_from_data( '_ctct_description', $full_data );
139
+
140
+ // Get our optin data
141
+ $fields['options']['optin'] = $this->generate_optin_data( $full_data );
142
+
143
+ return $fields;
144
+ }
145
+
146
+ /**
147
+ * Get all our data from our fields
148
+ *
149
+ * @since 1.0.0
150
+ * @param array $custom_fields all custom fields data
151
+ * @return array fields array of converted data
152
+ */
153
+ public function generate_field_values_for_fields( $custom_fields ) {
154
+
155
+ // Set up our base fields value
156
+ $fields = array();
157
+
158
+ // Sanity check
159
+ if ( ! is_array( $custom_fields ) ) {
160
+ return $fields;
161
+ }
162
+
163
+ // Loop through each of our fields.
164
+ foreach ( $custom_fields as $key => $value ) {
165
+
166
+ // Make sure we have the parts of our array that we expect
167
+ if ( ! isset( $custom_fields ) || ! isset( $custom_fields[ $key ] ) ) {
168
+ continue;
169
+ }
170
+
171
+ // Set our field name, if we can.
172
+ $fields = $this->set_field( '_ctct_field_label', 'name', $key, $fields, $custom_fields );
173
+
174
+ // Set our field mapping, if we can.
175
+ $fields = $this->set_field( '_ctct_map_select', 'map_to', $key, $fields, $custom_fields );
176
+ $fields = $this->set_field( '_ctct_map_select', 'type', $key, $fields, $custom_fields );
177
+
178
+ // Set our field description, if we can.
179
+ $fields = $this->set_field( '_ctct_field_desc', 'description', $key, $fields, $custom_fields );
180
+
181
+ // Set our field requirement, if we can. We do this by casting the results of our two checks to a boolean
182
+ $fields['fields'][ $key ]['required'] = (
183
+ isset( $custom_fields[ $key ]['_ctct_required_field'] ) &&
184
+ 'on' === $custom_fields[ $key ]['_ctct_required_field']
185
+ );
186
+ }
187
+
188
+ return $fields;
189
+ }
190
+
191
+ /**
192
+ * Helper method to set our $fields array keys
193
+ *
194
+ * @since 1.0.0
195
+ * @param string $from_key key to grab from $custom_fields
196
+ * @param string $to_key key to use for return $fields
197
+ * @param array $fields current $fields array
198
+ * @param array $custom_fields all $custom_fields
199
+ */
200
+ public function set_field( $from_key, $to_key, $key, $fields, $custom_fields ) {
201
+
202
+ // Data sanity check / verification
203
+ if (
204
+ is_array( $custom_fields ) &&
205
+ isset( $custom_fields[ $key ] ) &&
206
+ $custom_fields[ $key ] &&
207
+ isset( $custom_fields[ $key ][ $from_key ] ) &&
208
+ $custom_fields[ $key ][ $from_key ]
209
+ ) {
210
+ // Set our data to the correct key
211
+ $fields['fields'][ $key ][ $to_key ] = $custom_fields[ $key ][ $from_key ];
212
+ }
213
+
214
+ // Send it all back
215
+ return $fields;
216
+ }
217
+
218
+ /**
219
+ * Helper method to get our optin data
220
+ *
221
+ * @since 1.0.0
222
+ * @param array $form_data form data array
223
+ * @return array array of opt-in data
224
+ */
225
+ public function generate_optin_data( $form_data ) {
226
+
227
+ // Return our data for our optin
228
+ return array(
229
+ 'list' => $this->get_nested_value_from_data( '_ctct_list', $form_data ),
230
+ 'show' => $this->get_nested_value_from_data( '_ctct_opt_in', $form_data ),
231
+ 'instructions' => $this->get_nested_value_from_data( '_ctct_opt_in_instructions', $form_data ),
232
+ );
233
+ }
234
+
235
+ /**
236
+ * Helper method to get opt in instructions or other text from form data
237
+ *
238
+ * @since 1.0.0
239
+ * @param array $form_data form data
240
+ * @return string instructions
241
+ */
242
+ public function get_nested_value_from_data( $key, $form_data ) {
243
+
244
+ // Get our instructions for our opt in
245
+ if (
246
+ isset( $form_data[ $key ] ) &&
247
+ $form_data[ $key ] &&
248
+ isset( $form_data[ $key ][0] ) &&
249
+ $form_data[ $key ][0]
250
+ ) {
251
+ return $form_data[ $key ][0];
252
+ }
253
+
254
+ return '';
255
+ }
256
+ }
includes/class-display.php ADDED
@@ -0,0 +1,1112 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @package ConstantContact
4
+ * @subpackage Display
5
+ * @author Pluginize
6
+ * @since 1.0.0
7
+ */
8
+
9
+ /**
10
+ * Powers displaying our forms to the front end, generating field markup, and output.
11
+ */
12
+ class ConstantContact_Display {
13
+
14
+ /**
15
+ * Parent plugin class
16
+ *
17
+ * @var class
18
+ * @since 0.0.1
19
+ */
20
+ protected $plugin = null;
21
+
22
+ /**
23
+ * Constructor
24
+ *
25
+ * @since 1.0.0
26
+ * @return void
27
+ */
28
+ public function __construct( $plugin ) {
29
+ $this->plugin = $plugin;
30
+ }
31
+
32
+ /**
33
+ * Scripts
34
+ *
35
+ * @since 1.0.0
36
+ * @return void
37
+ */
38
+ public function scripts() {
39
+
40
+ // Check if we are in debug mode. allow
41
+ $debug = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG === true ? true : false;
42
+
43
+ // based on our debug mode, potentially add a min prefix
44
+ $suffix = ( true === $debug ) ? '' : '.min';
45
+
46
+ // Register our javascript file.
47
+ wp_register_script(
48
+ 'ctct_frontend_forms',
49
+ constant_contact()->url() . 'assets/js/ctct-plugin-frontend' . $suffix . '.js',
50
+ array(),
51
+ constant_contact()->version,
52
+ true
53
+ );
54
+ }
55
+
56
+ /**
57
+ * Main wrapper for getting our form display
58
+ *
59
+ * @since 1.0.0
60
+ * @return string Form markup
61
+ */
62
+ public function form( $form_data, $form_id = '', $skip_styles = false ) {
63
+
64
+ // Also enqueue our scripts
65
+ $this->scripts();
66
+
67
+ // Conditionally enqueue our styles
68
+ if ( ! $skip_styles ) {
69
+
70
+ wp_enqueue_style(
71
+ 'ctct_form_styles',
72
+ constant_contact()->url() . 'assets/css/style.css',
73
+ array(),
74
+ constant_contact()->version
75
+ );
76
+
77
+ // Enqueued script.
78
+ wp_enqueue_script( 'ctct_frontend_forms' );
79
+ }
80
+
81
+ // Start our return markup and some default variables
82
+ $return = '';
83
+ $form_err_display = '';
84
+ $error_message = false;
85
+ $status = false;
86
+
87
+ // Get a potential response from our processing wrapper
88
+ // This returns an array that has 'status' and 'message keys'
89
+ // if the status is success, then we sent the form correctly
90
+ // if the status is error, then we will re-show the form, but also
91
+ // with our error messages.
92
+ $response = constant_contact()->process_form->process_wrapper( $form_data, $form_id );
93
+
94
+ // submitted values
95
+ $old_values = isset( $response['values'] ) ? $response['values'] : '';
96
+ $req_errors = isset( $response['errors'] ) ? $response['errors'] : '';
97
+
98
+ // Check to see if we got a response, and if it has the fields we expect
99
+ if ( $response && isset( $response['message'] ) && isset( $response['status'] ) ) {
100
+
101
+ // If we were succesful, then display success message
102
+ if ( 'success' === $response['status'] ) {
103
+
104
+ // If we were successful, we'll return here so we don't display the entire form again
105
+ return $this->message( 'success', $response['message'] );
106
+
107
+ } else {
108
+
109
+ // If we didn't get a success message, then we want to error.
110
+ // We already checked for a messsage response, but we'll force the
111
+ // status to error if we're not here
112
+ $status = 'error';
113
+ $error_message = trim( $response['message'] );
114
+ }
115
+ }
116
+
117
+ // If we got an error for our status, and we have an error message, display it.
118
+ if ( 'error' === $status || $error_message ) {
119
+
120
+ if ( ! empty( $error_message ) ) {
121
+ // We'll show this error right inside our form
122
+ $form_err_display = $this->message( 'error', $error_message );
123
+ }
124
+ }
125
+
126
+ // Force uniqueness of an id for the form
127
+ // @todo figure out another way to do this maybe?
128
+ $rf_id = 'ctct-form-' . mt_rand();
129
+
130
+ // Build out our form
131
+ $return .= '<form class="ctct-form" id=' . $rf_id . ' action="' . esc_url( $this->get_current_page() ) . '" method="post">';
132
+
133
+ // If we have errors, display them
134
+ $return .= $form_err_display;
135
+
136
+ // Output our normal form fields
137
+ $return .= $this->build_form_fields( $form_data, $old_values, $req_errors );
138
+
139
+ // Add our hidden verification fields
140
+ $return .= $this->add_verify_fields( $form_data );
141
+
142
+ // Add our submit field
143
+ $return .= $this->submit();
144
+
145
+ // Nonce the field too
146
+ $return .= wp_nonce_field( 'ctct_submit_form', 'ctct_form', true, false );
147
+
148
+ // add our disclose notice maybe
149
+ $return .= wp_kses_post( $this->maybe_add_disclose_note( $form_data ) );
150
+
151
+ // Close our form
152
+ $return .= '</form>';
153
+
154
+ $return .= '<script type="text/javascript">';
155
+ $return .= 'var ajaxurl = "' . esc_url( admin_url( 'admin-ajax.php' ) ) . '";';
156
+ $return .= '</script>';
157
+
158
+ // Return it all
159
+ return $return;
160
+ }
161
+
162
+ /**
163
+ * Get our current URL in a somewhat robust way
164
+ *
165
+ * @since 1.0.0
166
+ * @return string url of current page
167
+ */
168
+ public function get_current_page() {
169
+
170
+ // Grab our global wp objects
171
+ global $wp;
172
+
173
+ // If we have a request, use that
174
+ $request = ( isset( $wp->request ) && $wp->request ) ? $wp->request : null;
175
+
176
+ // If we still have a request, lets get our url magically
177
+ if ( $request ) {
178
+
179
+ $curr_url = untrailingslashit( add_query_arg( '', '', home_url( $request ) ) );
180
+
181
+ // if we're not using a custom permalink strucutre, theres a chance the above
182
+ // will return the home_url. so we do another check to makesure we're going
183
+ // to use the right thing. This check doesn't work on the homepage, but
184
+ // that will just get caught with our fallback check correctly anyway
185
+ if ( ! is_home() && ( home_url() !== $curr_url ) ) {
186
+ return $curr_url;
187
+ }
188
+ }
189
+
190
+ // Otherwise, we'll default to just using add_query_arg, which may throw errors
191
+ return untrailingslashit( home_url( add_query_arg( array( '' => '' ) ) ) );
192
+ }
193
+
194
+ /**
195
+ * Adds hidden input fields to our form for form id and verify id
196
+ *
197
+ * @since 1.0.0
198
+ * @param string $form_data html markup
199
+ */
200
+ public function add_verify_fields( $form_data ) {
201
+
202
+ // Sanity check
203
+ if (
204
+ isset( $form_data ) &&
205
+ isset( $form_data['options'] ) &&
206
+ isset( $form_data['options']['form_id'] )
207
+ ) {
208
+
209
+ // sanitize our form id
210
+ $form_id = absint( $form_data['options']['form_id'] );
211
+
212
+ // sanity check on our form id
213
+ if ( ! $form_id ) {
214
+ return false;
215
+ }
216
+
217
+ // Add hidden field with our form id in it
218
+ $return = $this->input( 'hidden', 'ctct-id', 'ctct-id', $form_id, '', '', true );
219
+
220
+ // if we have saved a verify value, add that to our field as well. this is to double-check
221
+ // that we have the correct form id for processing later
222
+ $verify_key = get_post_meta( $form_id, '_ctct_verify_key', true );
223
+
224
+ if ( $verify_key ) {
225
+ $return .= $this->input( 'hidden', 'ctct-verify', 'ctct-verify', $verify_key, '', '', true );
226
+ }
227
+
228
+ return $return;
229
+ }
230
+ }
231
+
232
+ /**
233
+ * Build form fields for shortcode
234
+ *
235
+ * @since 1.0.0
236
+ * @param array $form_data formulated cmb2 data for form.
237
+ * @return void
238
+ */
239
+ public function build_form_fields( $form_data, $old_values, $req_errors ) {
240
+
241
+ // start our wrapper return var
242
+ $return = '';
243
+
244
+ // Check to see if we have a form ID for the form, and display our description.
245
+ if ( isset( $form_data['options'] ) && isset( $form_data['options']['form_id'] ) ) {
246
+
247
+ // Get our description
248
+ $desc = isset( $form_data['options']['description'] ) ? $form_data['options']['description'] : '';
249
+
250
+ // Clean our form ID
251
+ $form_id = absint( $form_data['options']['form_id'] );
252
+
253
+ // Add in our Description
254
+ $return .= $this->description( $desc, $form_id );
255
+ }
256
+
257
+ // Loop through each of our form fields and output it.
258
+ foreach ( $form_data['fields'] as $key => $value ) {
259
+ $return .= $this->field( $value, $old_values, $req_errors );
260
+ }
261
+
262
+ // Check to see if we have an opt-in for the form, and display it.
263
+ if ( isset( $form_data['options'] ) ) {
264
+ $return .= $this->opt_in( $form_data['options'] );
265
+ }
266
+
267
+ return $return;
268
+ }
269
+
270
+ /**
271
+ * Wrapper for single field display
272
+ *
273
+ * @since 1.0.0
274
+ * @param array $field field data
275
+ * @return string html markup
276
+ */
277
+ public function field( $field, $old_values = array(), $req_errors = array() ) {
278
+
279
+ // If we don't have a name or a mapping, it will be hard to do things.
280
+ if ( ! isset( $field['name'] ) || ! isset( $field['map_to'] ) ) {
281
+ return;
282
+ }
283
+
284
+ $field = wp_parse_args( $field, array(
285
+ 'name' => '',
286
+ 'map_to' => '',
287
+ 'type' => '',
288
+ 'description' => '',
289
+ 'required' => false,
290
+ ) );
291
+
292
+ // Check all our data points.
293
+ $name = sanitize_text_field( $field['name'] );
294
+ $map = sanitize_text_field( $field['map_to'] );
295
+ $desc = sanitize_text_field( isset( $field['description'] ) ? $field['description'] : '' );
296
+ $type = sanitize_text_field( isset( $field['type'] ) ? $field['type'] : 'text_field' );
297
+ $value = sanitize_text_field( isset( $field['value'] ) ? $field['value'] : false );
298
+ $req = isset( $field['required'] ) ? $field['required'] : false;
299
+
300
+ // We may have more than one of the same field in our array.
301
+ // this makes sure we keep them unique when processing them.
302
+ if ( 'submit' !== $type ) {
303
+ $map = $map . '___' . md5( serialize( $field ) );
304
+ }
305
+
306
+ // Default error status
307
+ $field_error = false;
308
+
309
+ // If we got any errors, then pass them through to the form field
310
+ if ( ! empty( $req_errors ) ) {
311
+
312
+ // Loop through each error
313
+ foreach ( $req_errors as $error ) {
314
+
315
+ // Make sure we have a field ID and an actual error
316
+ if ( isset( $error['id'] ) && isset( $error['error'] ) ) {
317
+
318
+ // If the error matches the field we're rendering
319
+ if ( $map === $error['id'] ) {
320
+
321
+ // Start our field error return
322
+ $field_error = '<span class="ctct-field-error">';
323
+
324
+ // Based on the error type, display an error.
325
+ if ( 'invalid' === $error['error'] ) {
326
+ $field_error .= __( 'Error: Please correct your entry.', 'constant-contact-forms' );
327
+ } else {
328
+ $field_error .= __( ' Error: Please fill out this field.', 'constant-contact-forms' );
329
+ }
330
+
331
+ // Finish error return
332
+ $field_error .= '</span>';
333
+ }
334
+ }
335
+ }
336
+ }
337
+
338
+ // Potentially replace value with submitted value
339
+ $value = $this->get_submitted_value( $value, $map, $field, $old_values );
340
+
341
+ // Based on our type, output different things
342
+ switch ( $type ) {
343
+ case 'custom':
344
+ case 'first_name':
345
+ case 'last_name':
346
+ case 'phone_number':
347
+ case 'job_title':
348
+ case 'company':
349
+ case 'website':
350
+ case 'text_field':
351
+ return $this->input( 'text', $name, $map, $value, $desc, $req, false, $field_error );
352
+ break;
353
+ case 'custom_text_area':
354
+ return $this->textarea( $name, $map, $value, $desc, $req, false, $field_error );
355
+ break;
356
+ case 'email':
357
+ return $this->input( 'email', $name, $map, $value, $desc, $req, false, $field_error );
358
+ break;
359
+ case 'hidden':
360
+ return $this->input( 'hidden', $name, $map, $value, $desc, $req );
361
+ break;
362
+ case 'checkbox':
363
+ return $this->checkbox( $name, $map, $value, $desc );
364
+ break;
365
+ case 'submit':
366
+ return $this->input( 'submit', $name, $map, $value, $desc, $req, false, $field_error );
367
+ break;
368
+ case 'address':
369
+ return $this->address( $name, $map, $value, $desc, $req, $field_error );
370
+ break;
371
+ case 'anniversery':
372
+ case 'birthday':
373
+ // need this to be month / day / year
374
+ return $this->dates( $name, $map, $value, $desc, $req, false, $field_error );
375
+ break;
376
+ default:
377
+ return $this->input( 'text', $name, $map, $value, $desc, $req, false, $field_error );
378
+ break;
379
+ }
380
+ }
381
+
382
+ /**
383
+ * Gets submitted values
384
+ *
385
+ * @since 1.0.0
386
+ * @param array $field field data
387
+ * @return string submitted value
388
+ */
389
+ public function get_submitted_value( $value = '', $map = '', $field = array(), $submitted_vals = array() ) {
390
+
391
+ // If we have a value already return it
392
+ if ( $value ) {
393
+ return $value;
394
+ }
395
+
396
+ // Sanity check
397
+ if ( ! is_array( $submitted_vals ) ) {
398
+ return '';
399
+ }
400
+
401
+ // Possible return this array
402
+ $return = array();
403
+
404
+ // Loop through each val and try to grab our submitted
405
+ foreach ( $submitted_vals as $post ) {
406
+
407
+ // Make sure we have some value in the submitted
408
+ if ( isset( $post['key'] ) && $post['key'] ) {
409
+
410
+ // If we have an address, its a special case
411
+ if ( 'address' === $field['name'] ) {
412
+
413
+ // If any of our keys contain our address breaker, then add
414
+ // it to the array
415
+ if ( strpos( $post['key'], '_address___' ) !== false ) {
416
+
417
+ // Try to grab the street_address (etc) part of our key
418
+ $addr_key = explode( '___', $post['key'] );
419
+
420
+ // If we got something, add it to our return array
421
+ if ( isset( $addr_key[0] ) && $addr_key[0] ) {
422
+
423
+ // Set default
424
+ $post_key = '';
425
+
426
+ // Validate our data we're about to use
427
+ //
428
+ // We also flag PHPCS to ignore this line, as we get
429
+ // a nonce verification error, but we process the nonce
430
+ // quite a bit earlier than this
431
+ //
432
+ // @codingStandardsIgnoreLine
433
+ if ( isset( $_POST[ esc_attr( $post['key'] ) ] ) ) { // Input var okay.
434
+
435
+ // We also flag PHPCS to ignore this line, as we get
436
+ // a nonce verification error, but we process the nonce
437
+ // quite a bit earlier than this
438
+ //
439
+ // @codingStandardsIgnoreLine
440
+ $post_key = sanitize_text_field( wp_unslash( $_POST[ esc_attr( $post['key'] ) ] ) ); // Input var okay.
441
+ }
442
+
443
+ // Set our return data
444
+ $return[ esc_attr( $addr_key[0] ) ] = $post_key;
445
+ }
446
+ }
447
+
448
+ // Otherwise make sure we have a value
449
+ //
450
+ // We also flag PHPCS to ignore this line, as we get
451
+ // a nonce verification error, but we process the nonce
452
+ // quite a bit earlier than this
453
+ //
454
+ // @codingStandardsIgnoreLine
455
+ } elseif ( $post['key'] === $map && isset( $_POST[ esc_attr( $map ) ] ) ) { // Input var okay.
456
+
457
+ // Clean and return
458
+ //
459
+ // We also flag PHPCS to ignore this line, as we get
460
+ // a nonce verification error, but we process the nonce
461
+ // quite a bit earlier than this
462
+ //
463
+ // @codingStandardsIgnoreLine
464
+ return sanitize_text_field( wp_unslash( $_POST[ esc_attr( $map ) ] ) ); // Input var okay.
465
+ }
466
+ }
467
+ }
468
+
469
+ // If we did add to our array, send it back
470
+ if ( ! empty( $return ) ) {
471
+ return $return;
472
+ }
473
+
474
+ return '';
475
+ }
476
+
477
+ /**
478
+ * Helper method to display in-line for success/error messages
479
+ *
480
+ * @since 1.0.0
481
+ * @param string $type success / error / etc for class
482
+ * @param string $message message to display to user
483
+ * @return string html markup
484
+ */
485
+ public function message( $type, $message ) {
486
+ return '<p class="ctct-message ' . esc_attr( $type ) . '">' . esc_attr( $message ) . '</p>';
487
+ }
488
+
489
+ /**
490
+ * Helper method to display form description
491
+ *
492
+ * @since 1.0.0
493
+ * @param string $description description to outpu
494
+ * @return echo echos out form description markup
495
+ */
496
+ public function description( $desc = '', $form_id = false ) {
497
+
498
+ // Set default var
499
+ $display = '';
500
+
501
+ // if we have the permissions, also display an edit link
502
+ if ( current_user_can( 'edit_posts' ) && $form_id ) {
503
+
504
+ // get our edit link
505
+ $edit_link = get_edit_post_link( absint( $form_id ) );
506
+
507
+ // if we got a link, display it
508
+ if ( $edit_link ) {
509
+ $display .= '<a class="button ctct-button" href="' . esc_url( $edit_link ) . '">' . __( 'Edit Form', 'constant-contact-forms' ) . '</a>';
510
+ }
511
+ }
512
+
513
+ // Display our description
514
+ return '<span class="ctct-form-description">' . wpautop( wp_kses_post( $desc ) ) . '</span>' . $display;
515
+
516
+ }
517
+
518
+ /**
519
+ * Helper method to display label for form field + field starting markup
520
+ *
521
+ * @since 1.0.0
522
+ * @param string $type type of field
523
+ * @param string $name name / id of field
524
+ * @param string $label label text for field
525
+ * @param boolean $req is this field required?
526
+ * @return string HTML markup
527
+ */
528
+ public function field_top( $type = '', $name = '', $f_id = '', $label = '', $req = false, $use_label = true ) {
529
+
530
+ // Set blank defaults for required info
531
+ $req_label = '';
532
+
533
+ // If this is required, we output the HMTL5 required att
534
+ if ( $req ) {
535
+ $req_label = apply_filters( 'constant_contact_required_label', '<abbr title="required">*</abbr>' );
536
+ }
537
+
538
+ // Start building our return markup
539
+ $markup = '<p class="ctct-form-field ctct-form-field-' . $type . '">';
540
+
541
+ // alow skipping label, also don't show for submit buttons
542
+ if ( $use_label && ( 'submit' !== $type ) && ( 'hidden' !== $type ) ) {
543
+
544
+ // Our field label will be the form name + required asterisk + our label
545
+ $markup .= $this->get_label( $f_id, $name . ' ' . $req_label );
546
+ }
547
+
548
+ // If we're not on submit or hidden, but still doing label on bottom,
549
+ // then output a container div
550
+ if ( ! $use_label ) {
551
+ $markup .= '<div class="ctct-input-container">';
552
+ }
553
+
554
+ // return it
555
+ return $markup;
556
+ }
557
+
558
+ /**
559
+ * Bottom of field markup
560
+ *
561
+ * @since 1.0.0
562
+ * @return string HTML markup
563
+ */
564
+ public function field_bottom( $name = '', $field_label = '' ) {
565
+
566
+ $markup = '';
567
+ if ( ! empty( $name ) && ! empty( $field_label ) ) {
568
+ $markup .= $this->get_label( $name, $field_label );
569
+ ;
570
+ }
571
+ // Finish building our markup
572
+ return $markup . '</p>';
573
+ }
574
+
575
+ /**
576
+ * Helper method to get form label
577
+ *
578
+ * @since 1.0.0
579
+ * @param string $name name/id of form field
580
+ * @param string $text text to display as label
581
+ * @return string HTML markup
582
+ */
583
+ public function get_label( $f_id, $field_label ) {
584
+ return '<label for="' . $f_id . '">' . $field_label . '</label>';
585
+ }
586
+
587
+ /**
588
+ * Wrapper for 'input' form fields
589
+ *
590
+ * @since 1.0.0
591
+ * @param string $type type of form field
592
+ * @param string $name ID of form field
593
+ * @param string $value pre-filled value
594
+ * @param string $label label text for inpug
595
+ * @param boolean $req is this field required?
596
+ * @param boolean $f_only should we only return the field itself, with no label?
597
+ * @return string HTML markup for field
598
+ */
599
+ public function input( $type = 'text', $name = '', $id = '', $value = '', $label = '', $req = false, $f_only = false, $field_error = false ) {
600
+
601
+ // Sanitize our stuff / set values
602
+ $name = sanitize_text_field( $name );
603
+ $f_id = sanitize_title( $id );
604
+ $type = sanitize_text_field( $type );
605
+ $value = sanitize_text_field( $value );
606
+ $label = sanitize_text_field( $label );
607
+ $req_text = $req ? 'required' : '';
608
+
609
+ // Start our markup
610
+ $markup = $this->field_top( $type, $name, $f_id, $label, $req );
611
+
612
+ // Set our field as as seprate var, because we allow for only returning that
613
+ $field = '<input ' . $req_text . ' type="' . $type . '" name="' . $f_id . '" id="' . $f_id . '" value="' . $value . '" placeholder="' . $label . '"';
614
+
615
+ // If we have an error
616
+ if ( $field_error ) {
617
+
618
+ // Tack that sucker on to the end of our input
619
+ $field .= 'class="ctct-invalid"';
620
+ }
621
+
622
+ // Finish the markup for our field itself
623
+ $field .= '/>';
624
+
625
+ // Add our field to our markup
626
+ $markup .= $field;
627
+
628
+ // If we got an error, add it to the bottom label
629
+ if ( $field_error ) {
630
+ $markup .= $this->field_bottom( $id, $field_error );
631
+ } else {
632
+ $markup .= $this->field_bottom();
633
+ }
634
+
635
+ // If we passed in a flag for only the field, just return that
636
+ if ( $f_only ) {
637
+ return $field;
638
+ }
639
+
640
+ // Otherwise all the markup
641
+ return $markup;
642
+ }
643
+
644
+ /**
645
+ * Checkbox field helper method
646
+ *
647
+ * @since 1.0.0
648
+ * @param string $name name/it of field
649
+ * @param string $value value of field
650
+ * @param string $label label / desc text
651
+ * @return string html markup for checkbox
652
+ */
653
+ public function checkbox( $name = '', $f_id = '', $value = '', $label = '' ) {
654
+
655
+ // Clean our inputs
656
+ $name = sanitize_text_field( $name );
657
+ $f_id = sanitize_title( $f_id );
658
+ $value = sanitize_text_field( $value );
659
+ $label = esc_attr( $label );
660
+ $type = 'checkbox';
661
+
662
+ // Build up our markup
663
+ $markup = $this->field_top( $type, $name, $f_id, $label, false, false );
664
+ $markup .= '<input type="' . $type . '" name="' . $f_id . '" id="' . $f_id . '" value="' . $value . '" />';
665
+ $markup .= $this->field_bottom( $name, ' ' . $label );
666
+
667
+ // return it
668
+ return $markup;
669
+ }
670
+
671
+ /**
672
+ * Helper method for submit button
673
+ *
674
+ * @since 1.0.0
675
+ * @return string html markup
676
+ */
677
+ public function submit() {
678
+ return $this->field( array(
679
+ 'type' => 'submit',
680
+ 'name' => 'ctct-submitted',
681
+ 'map_to' => 'ctct-submitted',
682
+ 'value' => __( 'Send', 'constant-contact-forms' ),
683
+ ) );
684
+ }
685
+
686
+ /**
687
+ * Build markup for opt_in form
688
+ *
689
+ * @since 1.0.0
690
+ * @param array $form_data form data structure
691
+ * @return string markup of optin form
692
+ */
693
+ public function opt_in( $form_data ) {
694
+
695
+ // Make sure we have our optin data
696
+ if ( ! isset( $form_data['optin'] ) ) {
697
+ return;
698
+ }
699
+
700
+ // Set up our defaults
701
+ $optin = wp_parse_args( $form_data['optin'], array(
702
+ 'list' => false,
703
+ 'show' => false,
704
+ 'instructions' => '',
705
+ ) );
706
+
707
+ // Make sure we have our opt in set, as well as an associated list
708
+ if ( isset( $optin['list'] ) && $optin['list'] ) {
709
+ return $this->optin_display( $optin );
710
+ }
711
+ }
712
+
713
+ /**
714
+ * Internal method to display checkbox
715
+ *
716
+ * @since 1.0.0
717
+ * @param array $optin optin data
718
+ * @return string html markup
719
+ */
720
+ public function optin_display( $optin ) {
721
+
722
+ // Clean our inputs, set defaults
723
+ $label = sanitize_text_field( isset( $optin['instructions'] ) ? $optin['instructions'] : '' );
724
+ $value = sanitize_text_field( isset( $optin['list'] ) ? $optin['list'] : '' );
725
+
726
+ // Set our $show var
727
+ $show = false;
728
+ if ( isset( $optin['show'] ) && 'on' === $optin['show'] ) {
729
+ $show = true;
730
+ }
731
+
732
+ // Start our markup return
733
+ $markup = '';
734
+
735
+ // If we set to hide the field, then hide it inline
736
+ if ( ! $show ) {
737
+ $markup = '<div class="ctct-optin-hide" style="display:none;">';
738
+ }
739
+
740
+ // Grab our markup
741
+ $markup .= $this->get_optin_markup( $label, $value, $show );
742
+
743
+ // If we set to hide, close our open div
744
+ if ( ! $show ) {
745
+ $markup .= '</div><!--.ctct-optin-hide -->';
746
+ }
747
+
748
+ // return it
749
+ return $markup;
750
+ }
751
+
752
+ /**
753
+ * Helper method to get optin markup
754
+ *
755
+ * @since 1.0.0
756
+ * @param string $label label for field
757
+ * @param string $value value of opt in field
758
+ * @param string $show whether or not we are showing the field
759
+ * @return string HTML markup
760
+ */
761
+ public function get_optin_markup( $label, $value, $show ) {
762
+
763
+ // If we aren't showing the field, then we default our checkbox to checked
764
+ $checked = $show ? '' : 'checked';
765
+
766
+ // Build up our markup
767
+ $markup = $this->field_top( 'checkbox', 'ctct-opt-in', 'ctct-opt-in', $label, false, false );
768
+ $markup .= '<input type="checkbox" ' . $checked . ' name="ctct-opt-in" id="ctct-opt-in" value="' . $value . '" />';
769
+ $markup .= $this->field_bottom( 'ctct-opt-in', ' ' . wp_kses_post( $label ) ) . '</div>';
770
+
771
+ // Send it back
772
+ return $markup;
773
+ }
774
+
775
+ /**
776
+ * Builds a fancy address field group
777
+ *
778
+ * @since 1.0.0
779
+ * @param string $name name of fields
780
+ * @param string $f_id form id name
781
+ * @param array $value values of each field
782
+ * @param string $desc label of field
783
+ * @return string html markup of field
784
+ */
785
+ public function address( $name = '', $f_id = '', $value = array(), $desc = '', $req = false, $field_error = '' ) {
786
+
787
+ // Set up our text strings
788
+ $street = __( 'Street Address', 'constant-contact-forms' );
789
+ $line_2 = __( 'Address Line 2', 'constant-contact-forms' );
790
+ $city = __( 'City', 'constant-contact-forms' );
791
+ $state = __( 'State', 'constant-contact-forms' );
792
+ $zip = __( 'ZIP Code', 'constant-contact-forms' );
793
+
794
+ // Set our values
795
+ $v_street = isset( $value['street_address'] ) ? $value['street_address'] : '';
796
+ $v_line_2 = isset( $value['line_2_address'] ) ? $value['line_2_address'] : '';
797
+ $v_city = isset( $value['city_address'] ) ? $value['city_address'] : '';
798
+ $v_state = isset( $value['state_address'] ) ? $value['state_address'] : '';
799
+ $v_zip = isset( $value['zip_address'] ) ? $value['zip'] : '';
800
+
801
+ $req = $req ? ' required ' : '';
802
+
803
+ // Build our field
804
+ $return = '<p class="ctct-address"><fieldset>';
805
+ $return .= ' <legend>' . esc_attr( $name ) . '</legend>';
806
+ $return .= ' <div class="ctct-form-field ctct-field-full address-line-1">';
807
+ $return .= ' <label for="street_' . esc_attr( $f_id ) . '">' . esc_attr( $street ) . '</label>';
808
+ $return .= ' <input ' . $req . 'type="text" name="street_' . esc_attr( $f_id ) . '" id="street_' . esc_attr( $f_id ) . '" value="' . esc_attr( $v_street ) . '">';
809
+ $return .= ' </div>';
810
+ $return .= ' <div class="ctct-form-field ctct-field-full address-line-2" id="input_2_1_2_container">';
811
+ $return .= ' <label for="line_2_' . esc_attr( $f_id ) . '">' . esc_attr( $line_2 ) . '</label>';
812
+ $return .= ' <input ' . $req . 'type="text" name="line_2_' . esc_attr( $f_id ) . '" id="line_2_' . esc_attr( $f_id ) . '" value="' . esc_attr( $v_line_2 ) . '">';
813
+ $return .= ' </div>';
814
+ $return .= ' <div class="ctct-form-field ctct-field-third address-city" id="input_2_1_3_container">';
815
+ $return .= ' <label for="city_' . esc_attr( $f_id ) . '">' . esc_attr( $city ) . '</label>';
816
+ $return .= ' <input ' . $req . 'type="text" name="city_' . esc_attr( $f_id ) . '" id="city_' . esc_attr( $f_id ) . '" value="' . esc_attr( $v_city ) . '">';
817
+ $return .= ' </div>';
818
+ $return .= ' <div class="ctct-form-field ctct-field-third address-state" id="input_2_1_4_container">';
819
+ $return .= ' <label for="state_' . esc_attr( $f_id ) . '">' . esc_attr( $state ) . '</label>';
820
+ $return .= ' <input ' . $req . 'type="text" name="state_' . esc_attr( $f_id ) . '" id="state_' . esc_attr( $f_id ) . '" value="' . esc_attr( $v_state ) . '">';
821
+ $return .= ' </div>';
822
+ $return .= ' <div class="ctct-form-field ctct-field-third address-zip" id="input_2_1_5_container">';
823
+ $return .= ' <label for="zip_' . esc_attr( $f_id ) . '">' . esc_attr( $zip ) . '</label>';
824
+ $return .= ' <input ' . $req . 'type="text" name="zip_' . esc_attr( $f_id ) . '" id="zip_' . esc_attr( $f_id ) . '" value="' . esc_attr( $v_zip ) . '">';
825
+ $return .= ' </div>';
826
+ $return .= '</fieldset></p>';
827
+
828
+ return $return;
829
+ }
830
+
831
+ /**
832
+ * Gets and return a 3-part date selector
833
+ *
834
+ * @since 1.0.0
835
+ * @param string $name name of field
836
+ * @param string $f_id field id
837
+ * @param array $value values to pre-fill
838
+ * @param string $desc description of fields
839
+ * @param boolean $req is required?
840
+ * @param string $field_error field error text
841
+ * @return string html markup of fields
842
+ */
843
+ public function dates( $name = '', $f_id = '', $value = array(), $desc = '', $req = false, $field_error = '' ) {
844
+
845
+ // Set our field lables
846
+ $month = __( 'Month', 'constant-contact-forms' );
847
+ $day = __( 'Day', 'constant-contact-forms' );
848
+ $year = __( 'Year', 'constant-contact-forms' );
849
+
850
+ // @TODO these need to get set correctly
851
+ // Set our values
852
+ $v_month = isset( $value['month'] ) ? $value['month'] : '';
853
+ $v_day = isset( $value['day'] ) ? $value['day'] : '';
854
+ $v_year = isset( $value['year'] ) ? $value['year'] : '';
855
+
856
+ // Build our field
857
+ $return = '<p class="ctct-date"><fieldset>';
858
+ $return .= ' <legend>' . esc_attr( $name ) . '</legend>';
859
+ $return .= ' <div class="ctct-form-field ctct-field-inline month">';
860
+ $return .= $this->get_date_dropdown( $month, $f_id, 'month', $v_month, $req );
861
+ $return .= ' </div>';
862
+ $return .= ' <div class="ctct-form-field ctct-field-inline day">';
863
+ $return .= $this->get_date_dropdown( $day, $f_id, 'day', $v_day, $req );
864
+ $return .= ' </div>';
865
+ $return .= ' <div class="ctct-form-field ctct-field-inline year">';
866
+ $return .= $this->get_date_dropdown( $year, $f_id, 'year', $v_year, $req );
867
+ $return .= ' </div>';
868
+
869
+ $return .= '</fieldset></p>';
870
+
871
+ return $return;
872
+ }
873
+
874
+ /**
875
+ * Gets actual dropdowns for date selector
876
+ *
877
+ * @since 1.0.0
878
+ * @param string $text text for default option
879
+ * @param string $f_id field id
880
+ * @param string $type type of dropdown (day, month, year)
881
+ * @param string $selected_value previous value
882
+ * @param boolean $req is require?
883
+ * @return string markup of field
884
+ */
885
+ public function get_date_dropdown( $text = '', $f_id = '', $type = '', $selected_value = '', $req = false ) {
886
+
887
+ // Account for our weird IDs
888
+ $f_id = str_replace( 'birthday', 'birthday_' . $type, $f_id );
889
+ $f_id = str_replace( 'anniversary', 'anniversary_' . $type, $f_id );
890
+
891
+ // Start our field
892
+ $return = '<select name="' . esc_attr( $f_id ) . '" class="ctct-date-select ctct-date-select-' . esc_attr( $type ) . '">';
893
+
894
+ if ( $req ) {
895
+ $return = str_replace( '">', '" required>', $return );
896
+ }
897
+
898
+ // Grab all of our options based on the field type
899
+ $return .= $this->get_date_options( $text, $this->get_date_values( $type ), $selected_value );
900
+
901
+ // Close our field
902
+ $return .= '</select>';
903
+
904
+ // Send it back
905
+ return $return;
906
+ }
907
+
908
+ /**
909
+ * Gets option markup for a date selector
910
+ *
911
+ * @since 1.0.0
912
+ * @param string $text default first option
913
+ * @param array $values values to use
914
+ * @param array $prev_selected_values previous selected values
915
+ * @return string html markup
916
+ */
917
+ public function get_date_options( $text = '', $values = array(), $prev_selected_values = array() ) {
918
+
919
+ // First, we'll want
920
+ $return = '<option value="">' . sanitize_text_field( $text ) . '</option>';
921
+
922
+ // If we don't have a values array, bail out
923
+ if ( ! is_array( $values ) ) {
924
+ return $return;
925
+ }
926
+
927
+ // Loop through each of our values
928
+ foreach ( $values as $key => $value ) {
929
+
930
+ // Sanitize and make sure our key is set
931
+ $key = sanitize_text_field( isset( $key ) ? $key : '' );
932
+
933
+ // Sanitize and make sure our value is set
934
+ $value = sanitize_text_field( isset( $value ) ? $value : '' );
935
+
936
+ // Build out our option value
937
+ $return .= '<option value="' . $key . '">' . $value . '</option>';
938
+ }
939
+
940
+ // Send it back
941
+ return $return;
942
+ }
943
+
944
+ /**
945
+ * Gets array of data for a date dropdown type
946
+ *
947
+ * @since 1.0.0
948
+ * @param string $type day,month,or,year
949
+ * @return array array of data
950
+ */
951
+ public function get_date_values( $type ) {
952
+
953
+ // Based on $type, we'll send back an array of either days, months, or years
954
+ switch ( $type ) {
955
+ case 'day':
956
+ $return = apply_filters( 'constant_contact_dates_day', $this->get_days() );
957
+ break;
958
+ case 'month':
959
+ $return = apply_filters( 'constant_contact_dates_month', array(
960
+ 'january' => __( 'January', 'contantcontact' ),
961
+ 'february' => __( 'February', 'contantcontact' ),
962
+ 'march' => __( 'March', 'contantcontact' ),
963
+ 'april' => __( 'April', 'contantcontact' ),
964
+ 'may' => __( 'May', 'contantcontact' ),
965
+ 'june' => __( 'June', 'contantcontact' ),
966
+ 'july ' => __( 'July ', 'contantcontact' ),
967
+ 'august' => __( 'August', 'contantcontact' ),
968
+ 'september' => __( 'September', 'contantcontact' ),
969
+ 'october' => __( 'October', 'contantcontact' ),
970
+ 'november' => __( 'November', 'contantcontact' ),
971
+ 'december' => __( 'December', 'contantcontact' ),
972
+ ) );
973
+ break;
974
+ case 'year':
975
+ $return = apply_filters( 'constant_contact_dates_year', $this->get_years() );
976
+ break;
977
+ }
978
+
979
+ return $return;
980
+ }
981
+
982
+ /**
983
+ * Helper method to get all years
984
+ *
985
+ * @since 1.0.0
986
+ * @return array years from 1910-current year
987
+ */
988
+ public function get_years() {
989
+
990
+ // Get all of our years
991
+ $year_range = range( 1910, date( 'Y' ) );
992
+
993
+ $year_range = array_reverse( $year_range );
994
+
995
+ // Loop through each of the years we have
996
+ foreach ( $year_range as $year ) {
997
+ $years[ $year ] = $year;
998
+ }
999
+
1000
+ return $years;
1001
+ }
1002
+
1003
+ /**
1004
+ * Gets array of 1-31
1005
+ *
1006
+ * @since 1.0.0
1007
+ * @return array array of days
1008
+ */
1009
+ public function get_days() {
1010
+
1011
+ // Get all of our day
1012
+ $day_range = range( 1, 31 );
1013
+
1014
+ // Loop through each of the days we have
1015
+ foreach ( $day_range as $day ) {
1016
+ $days[ $day ] = $day;
1017
+ }
1018
+
1019
+ return $days;
1020
+ }
1021
+
1022
+ /**
1023
+ * Displays text area field
1024
+ *
1025
+ * @param string $name name of field
1026
+ * @param string $map id of field
1027
+ * @param string $value previous value of field
1028
+ * @param string $desc description/label of field
1029
+ * @param boolean $req is required?
1030
+ * @param string $field_error error from field
1031
+ * @return string html markup
1032
+ */
1033
+ public function textarea( $name = '', $map = '', $value = '', $desc = '', $req = false, $field_error = '' ) {
1034
+ // Set our required text
1035
+ $req_text = $req ? 'required' : '';
1036
+
1037
+ // If required, get our label
1038
+ $req_label = '';
1039
+ if ( $req ) {
1040
+ $req_label = apply_filters( 'constant_contact_required_label', '<abbr title="required">*</abbr>' );
1041
+ }
1042
+
1043
+ // Build up our field markup
1044
+ $return = '<p><label for="' . esc_attr( $map ) . '">' . esc_attr( $name ) . ' ' . $req_label . '</label><textarea ' . $req_text . ' name="' . esc_attr( $map ) . '" placeholder="' . esc_attr( $desc ) . '">' . esc_html( $value ) . '</textarea>';
1045
+
1046
+ // IF we have an error, add it to our markup
1047
+ if ( $field_error ) {
1048
+ $return .= '<span class="ctct-field-error"><label for="' . esc_attr( $map ) . '">' . esc_attr( __( 'Error: Please correct your entry.', 'constant-contact-forms' ) ) . '</label></span>';
1049
+ }
1050
+
1051
+ // Send it back
1052
+ return $return . '</p>';
1053
+ }
1054
+
1055
+ /**
1056
+ * Maybe display the disclourse notice
1057
+ *
1058
+ * @since 1.0.0
1059
+ * @param array $form_data form data
1060
+ * @return string html markup
1061
+ */
1062
+ public function maybe_add_disclose_note( $form_data ) {
1063
+
1064
+ // Get out our form options
1065
+ $opts = isset( $form_data['options'] ) ? $form_data['options'] : false;
1066
+
1067
+ // Bail if they're not set
1068
+ if ( ! $opts ) {
1069
+ return;
1070
+ }
1071
+
1072
+ // Get our optin data
1073
+ $optin = isset( $opts['optin'] ) ? $opts['optin'] : false;
1074
+
1075
+ // Bail if not set
1076
+ if ( ! $optin ) {
1077
+ return false;
1078
+ }
1079
+
1080
+ // Get our list
1081
+ $list = isset( $optin['list'] ) ? $optin['list'] : false;
1082
+
1083
+ // Bail if not set
1084
+ if ( ! $list ) {
1085
+ return false;
1086
+ }
1087
+
1088
+ // finally, send back our text
1089
+ return $this->get_disclose_text();
1090
+ }
1091
+
1092
+ /**
1093
+ * Get our disclose markup
1094
+ *
1095
+ * @since 1.0.0
1096
+ * @return string html markup
1097
+ */
1098
+ public function get_disclose_text() {
1099
+ return apply_filters( 'constant_contact_disclose', '<hr><sub>' . $this->get_inner_disclose_text() . '</sub>' );
1100
+ }
1101
+
1102
+ /**
1103
+ * Get our disclose text
1104
+ *
1105
+ * @since 1.0.0
1106
+ * @return string text
1107
+ */
1108
+ public function get_inner_disclose_text() {
1109
+ return sprintf( __( 'By submitting this form, you are granting: %s, permission to email you. You may unsubscribe via the link found at the bottom of every email. (See our Email Privacy Policy (http://constantcontact.com/legal/privacy-statement) for details.) Emails are serviced by Constant Contact.', 'constant-contact-forms' ), $this->plugin->api->get_disclosure_info() );
1110
+ }
1111
+ }
1112
+
includes/class-lists.php ADDED
@@ -0,0 +1,882 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @package ConstantContact
4
+ * @subpackage Lists
5
+ * @author Pluginize
6
+ * @since 1.0.0
7
+ */
8
+
9
+ use Ctct\ConstantContact;
10
+ use Ctct\Exceptions\CtctException;
11
+
12
+ /**
13
+ * Powers Lists functionality, creation, deletion, syncing, and more.
14
+ */
15
+ class ConstantContact_Lists {
16
+
17
+ /**
18
+ * Parent plugin class
19
+ *
20
+ * @var class
21
+ * @since 0.0.1
22
+ */
23
+ protected $plugin = null;
24
+
25
+ /**
26
+ * Constructor
27
+ *
28
+ * @since 1.0.0
29
+ * @return void
30
+ */
31
+ public function __construct( $plugin ) {
32
+ $this->plugin = $plugin;
33
+ $this->hooks();
34
+ }
35
+
36
+ /**
37
+ * Returns the running object
38
+ *
39
+ * @since 1.0.0
40
+ * @return ConstantContact_Lists
41
+ */
42
+ public static function get_instance() {
43
+ if ( is_null( self::$instance ) ) {
44
+ self::$instance = new ConstantContact_Lists();
45
+ self::$instance->hooks();
46
+ }
47
+ return self::$instance;
48
+ }
49
+
50
+ /**
51
+ * Initiate our hooks.
52
+ *
53
+ * @since 1.0.0
54
+ */
55
+ public function hooks() {
56
+
57
+ // Hook in our CMB2 fields / functionality
58
+ add_action( 'cmb2_admin_init', array( $this, 'sync_lists' ) );
59
+ add_action( 'cmb2_admin_init', array( $this, 'add_lists_metabox' ) );
60
+
61
+ // On save, process a list
62
+ add_action( 'save_post_ctct_lists', array( $this, 'save_or_update_list' ), 10, 1 );
63
+ add_action( 'transition_post_status', array( $this, 'post_status_transition' ), 11, 3 );
64
+
65
+ // Show duplicate notices for lists
66
+ add_action( 'admin_notices', array( $this, 'show_duplicate_list_message' ) );
67
+
68
+ // On deletion, verify the list is handled correctly
69
+ add_action( 'wp_trash_post', array( $this, 'delete_list' ) );
70
+
71
+ // Add some CMB2 goodness
72
+ add_action( 'cmb2_after_post_form_ctct_list_metabox', array( $this, 'add_form_css' ) );
73
+ add_action( 'cmb2_render_constant_contact_list_information', array( $this, 'list_info_metabox' ), 10, 5 );
74
+
75
+ // Add a force sync button to the admin
76
+ add_filter( 'views_edit-ctct_lists', array( $this, 'add_force_sync_button' ) );
77
+ add_action( 'admin_init', array( $this, 'check_for_list_sync_request' ) );
78
+
79
+ // Remove quick edit
80
+ add_filter( 'post_row_actions', array( $this, 'remove_quick_edit_from_lists' ) );
81
+ }
82
+
83
+ /**
84
+ * CMB2 metabox for list data
85
+ *
86
+ * @since 1.0.0
87
+ * @return void
88
+ */
89
+ public function add_lists_metabox() {
90
+
91
+ $cmb = new_cmb2_box( array(
92
+ 'id' => 'ctct_list_metabox',
93
+ 'title' => __( 'List Information', 'constant-contact-forms' ),
94
+ 'object_types' => array( 'ctct_lists' ),
95
+ 'context' => 'normal',
96
+ 'priority' => 'high',
97
+ 'show_names' => true,
98
+ ) );
99
+
100
+ $cmb->add_field( array(
101
+ 'name' => '',
102
+ 'desc' => '',
103
+ 'id' => '_ctct_list_meta',
104
+ 'type' => 'constant_contact_list_information',
105
+ ) );
106
+ }
107
+
108
+ /**
109
+ * Display our list information metabox
110
+ */
111
+ public function list_info_metabox( $field, $escaped_value, $object_id, $object_type, $field_type_object ) {
112
+
113
+ // Sanity check
114
+ if ( ! $object_id ) {
115
+ echo wp_kses_post( $this->get_list_info_no_data() );
116
+ return;
117
+ }
118
+
119
+ $list_id = get_post_meta( absint( $object_id ), '_ctct_list_id', true );
120
+
121
+ if ( ! $list_id ) {
122
+ echo wp_kses_post( $this->get_list_info_no_data() );
123
+ return;
124
+ }
125
+
126
+ // Get our list
127
+ $list_info = constant_contact()->api->get_list( esc_attr( $list_id ) );
128
+
129
+ // Make sure we have an actual list
130
+ if ( ! isset( $list_info->id ) ) {
131
+ echo wp_kses_post( $this->get_list_info_no_data() );
132
+ return;
133
+ }
134
+
135
+ // Cast our list to an array, so we can easily display it
136
+ $list_info = (array) $list_info;
137
+
138
+ echo '<ul>';
139
+
140
+ // Unset non-cust facing details
141
+ unset( $list_info['id'] );
142
+ unset( $list_info['status'] );
143
+
144
+ // Convert our time/dates to a better format
145
+ if ( isset( $list_info['created_date'] ) && $list_info['created_date'] ) {
146
+ $list_info['created_date'] = date( 'l, F jS, Y g:i A', strtotime( $list_info['created_date'] ) );
147
+ }
148
+
149
+ // Convert our time/dates to a better format
150
+ if ( isset( $list_info['modified_date'] ) && $list_info['modified_date'] ) {
151
+ $list_info['modified_date'] = date( 'l, F jS, Y g:i A', strtotime( $list_info['modified_date'] ) );
152
+ }
153
+
154
+ // Loop through each property of the list object
155
+ foreach ( $list_info as $key => $value ) {
156
+
157
+ // Clean up our property name
158
+ $key = sanitize_text_field( $key );
159
+ $key = str_replace( '_', ' ', $key );
160
+ $key = ucwords( $key );
161
+
162
+ echo wp_kses_post( '<li>' . $key . ': ' . sanitize_text_field( $value ) . '</li>' );
163
+ }
164
+
165
+ echo '</ul>';
166
+ }
167
+
168
+ /**
169
+ * Gets our no list info data
170
+ *
171
+ * @return string
172
+ */
173
+ public function get_list_info_no_data() {
174
+ return '<em>' . __( 'List information will populate upon saving.', 'constant-contact-forms' ) . '</em>';
175
+ }
176
+
177
+ /**
178
+ * Style our form stuff
179
+ *
180
+ * @since 1.0.0
181
+ */
182
+ public function add_form_css() {
183
+ wp_enqueue_style( 'constant-contact-forms' );
184
+ }
185
+
186
+ /**
187
+ * Syncs list cpt with lists on CTCT
188
+ *
189
+ * @since 1.0.0
190
+ * @return void
191
+ */
192
+ public function sync_lists( $force = false ) {
193
+
194
+ // Make sure we're on the correct page
195
+ global $pagenow;
196
+ if ( ! $pagenow || ( ! in_array( $pagenow, array( 'edit.php' ), true ) ) ) {
197
+ return;
198
+ }
199
+
200
+ // Because we want the lists to stay in sync, but we don't want to do too many
201
+ // requests, we save an option and check against it to make sure we don't sync more than
202
+ // every minute or so.
203
+ // Grab our last synced option. We're setting the default to be 24 hours ago,
204
+ // so that if this is not set, we'll always go through with our process.
205
+ // This is also filterable, if you want to force never syncing or always syncing
206
+ // To force always syncing, filter the 'constant_contact_lists_last_synced' option to be a
207
+ // timestamp 24 hours old. To force never syncing, filter it to be a time in the future
208
+ //
209
+ // Currently, the rate limit for this is a refresh every 2 minutes. This can be filtered to be
210
+ // less or more time.
211
+ $last_synced = get_option( 'constant_contact_lists_last_synced', time() - DAY_IN_SECONDS );
212
+ $sync_rate_limit_time = apply_filters( 'constant_contact_list_sync_rate_limit', 15 * MINUTE_IN_SECONDS );
213
+
214
+ // If our last synced time plus our rate limit is less than or equal to right now,
215
+ // then we don't want to refresh. If we refreshed less than 15 minutes ago, we do not want to
216
+ // redo it. Also allow forcing a bypass of this check
217
+ if ( ( ! $force ) && ( $last_synced + $sync_rate_limit_time ) >= time() ) {
218
+ return;
219
+ }
220
+
221
+ // If we can't edit and delete posts, get out of here
222
+ if ( ! current_user_can( 'edit_posts' ) || ! current_user_can( 'delete_posts' ) ) {
223
+ return;
224
+ }
225
+
226
+ // If we don't have an api token, leave
227
+ if ( ! constantcontact_api()->get_api_token() ) {
228
+ return;
229
+ }
230
+
231
+ // Make sure we're on the edit page
232
+ if ( ! isset( $_GET['post_type'] ) ) { // Input var okay.
233
+ return;
234
+ }
235
+
236
+ // Make sure we're on our cpt page
237
+ if ( 'ctct_lists' !== esc_attr( sanitize_text_field( wp_unslash( $_GET['post_type'] ) ) ) ) { // Input var okay.
238
+ return;
239
+ }
240
+
241
+ // Grab all our lists that we have
242
+ $query = new WP_Query( apply_filters( 'constant_contact_lists_query_for_sync', array(
243
+ 'post_type' => 'ctct_lists',
244
+ 'posts_per_page' => 150,
245
+ 'no_found_rows' => true,
246
+ 'update_post_term_cache' => false,
247
+ 'fields' => 'ids',
248
+ ) ) );
249
+
250
+ // Grab our posts
251
+ $potentially_remove_list = $query->get_posts();
252
+
253
+ // Make sure we didn't get an error and that it is an array
254
+ if ( is_wp_error( $potentially_remove_list ) || ! is_array( $potentially_remove_list ) ) {
255
+ return;
256
+ }
257
+
258
+ // Make our lists to delete array
259
+ $lists_to_delete = array();
260
+
261
+ // Loop through each of our lists
262
+ foreach ( $potentially_remove_list as $post_id ) {
263
+
264
+ // make sure we have a post ied
265
+ if ( isset( $post_id ) ) {
266
+
267
+ // grab our list id
268
+ $list_id = get_post_meta( $post_id, '_ctct_list_id', true );
269
+
270
+ if ( ! $list_id ) {
271
+
272
+ // If we didn't get a list id, we'll want to generate a random string
273
+ // so that we'll still delete it, rather than automatically giving it a
274
+ // numerical value in our array
275
+ $list_id = 'delete_' . wp_generate_password( 20, false );
276
+ }
277
+
278
+ // set the key of our array to the list id, value to our post ID
279
+ $lists_to_delete[ esc_attr( $list_id ) ] = absint( $post_id );
280
+ }
281
+ }
282
+
283
+ // Grab the lists we'll want to update/insert
284
+ $lists_to_insert = constantcontact_api()->get_lists( true );
285
+
286
+ // verify our data before continuing
287
+ if ( $lists_to_insert && is_array( $lists_to_insert ) ) {
288
+
289
+ // If we get too many lists, surface an error
290
+ if ( count( $lists_to_insert ) >= 150 ) {
291
+
292
+ // Set a notification of this
293
+ $this->plugin->updates->add_notification( 'too_many_lists' );
294
+
295
+ // Break the list into just 100 items
296
+ $lists_to_insert = array_chunk( $lists_to_insert, 100 );
297
+ if ( isset( $lists_to_insert[0] ) ) {
298
+ $lists_to_insert = $lists_to_insert[0];
299
+ }
300
+ }
301
+
302
+ // Loop through our lists to insert
303
+ foreach ( $lists_to_insert as $list ) {
304
+
305
+ // If we dont' have an idea, bail out of this one
306
+ if ( ! isset( $list->id ) ) {
307
+ continue;
308
+ }
309
+
310
+ // sanitize our data
311
+ $list_id = esc_attr( $list->id );
312
+
313
+ // Build up our insertion args
314
+ $new_post = apply_filters( 'constant_contact_list_insert_args', array(
315
+ 'post_title' => isset( $list->name ) ? esc_attr( $list->name ) : '',
316
+ 'post_status' => 'publish',
317
+ 'post_type' => 'ctct_lists',
318
+ ) );
319
+
320
+ // By default, we'll attempt to update post meta for everything
321
+ $update_meta = true;
322
+
323
+ // if our list that we want to insert is in our delete array,
324
+ // just update it, instead of deleting and re-adding
325
+ if ( isset( $lists_to_delete[ $list_id ] ) ) {
326
+
327
+ // tack on the id to our new post array, so that we
328
+ // will force an update, rather that re-inserting
329
+ $new_post['ID'] = $lists_to_delete[ $list_id ];
330
+
331
+ // Remove it from our list of lists to delete
332
+ unset( $lists_to_delete[ $list_id ] );
333
+
334
+ // If we already have it, no need to update our meta,
335
+ // might as well save a query
336
+ $update_meta = false;
337
+ }
338
+
339
+ // Insert or update our list
340
+ $post = wp_insert_post( $new_post );
341
+
342
+ // If we added / inserted it correctly, and we need to update our meta
343
+ if ( ! is_wp_error( $post ) && $post && $update_meta ) {
344
+
345
+ // Update with our list id
346
+ update_post_meta( $post, '_ctct_list_id', $list_id );
347
+ }
348
+ }
349
+ }
350
+
351
+ // Loop through each of the lists we didn't touch with the update/insert
352
+ // and double check them, then delete
353
+ foreach ( $lists_to_delete as $post_id ) {
354
+
355
+ // force our post ID to be an int
356
+ $post_id = absint( $post_id );
357
+
358
+ // If we have an ID and the post type is a list, and is published
359
+ if (
360
+ $post_id &&
361
+ ( 'ctct_lists' === get_post_type( $post_id ) ) &&
362
+ ( 'publish' === get_post_status( $post_id ) )
363
+ ) {
364
+
365
+ // remove that post
366
+ wp_delete_post( $post_id, true );
367
+ }
368
+ }
369
+
370
+ // Update our last synced option to prevent doing this too often
371
+ update_option( 'constant_contact_lists_last_synced', time() );
372
+
373
+ /**
374
+ * Hook when a ctct list is updated.
375
+ *
376
+ * @since 1.0.0
377
+ * @param array $list ctct returned list data
378
+ */
379
+ do_action( 'ctct_sync_lists', $lists_to_insert );
380
+ }
381
+
382
+ /**
383
+ * Wrapper function to handle saving and updating our lists
384
+ *
385
+ * @since 1.0.0
386
+ * @param int $post_id wp post id
387
+ * @return bool whether or not it worked
388
+ */
389
+ public function save_or_update_list( $post_id ) {
390
+
391
+ // Make sure we're on the new post page
392
+ global $pagenow;
393
+
394
+ // Verify we're on the correct page
395
+ if ( ! $pagenow || ( ! in_array( $pagenow, array( 'post.php', 'post-new.php' ), true ) ) ) {
396
+ return false;
397
+ }
398
+ // If we can't edit posts, get out of here
399
+ if ( ! current_user_can( 'edit_posts' ) ) {
400
+ return false;
401
+ }
402
+
403
+ // Grab the post we're using
404
+ $ctct_list = get_post( $post_id );
405
+
406
+ // If we didn't get data, bail
407
+ if ( ! $ctct_list ) {
408
+ return false;
409
+ }
410
+
411
+ // If we don't have a post status, bail
412
+ if ( ! isset( $ctct_list->post_status ) ) {
413
+ return false;
414
+ }
415
+
416
+ // If we're an autodraft, bail out
417
+ if ( 'auto-draft' === $ctct_list->post_status ) {
418
+ return false;
419
+ }
420
+
421
+ // if we didn't get an ID, return
422
+ if ( ! isset( $ctct_list->ID ) ) {
423
+ return false;
424
+ }
425
+
426
+ // Verify we don't mark things as duplicate if they aren't
427
+ delete_post_meta( $ctct_list->ID, 'ctct_duplicate_list' );
428
+
429
+ // Set our placeholder return var
430
+ $return = false;
431
+
432
+ // When we're adding a list, make sure we don't have one of the same name
433
+ if ( $this->check_if_list_exists_by_title( $ctct_list->post_title ) ) {
434
+
435
+ // If it does exist, flag it in our post meta
436
+ add_post_meta( $ctct_list->ID, 'ctct_duplicate_list', true );
437
+
438
+ if ( 'draft' !== $ctct_list->post_status ) {
439
+ $return = wp_update_post( array(
440
+ 'ID' => absint( $ctct_list->ID ),
441
+ 'post_status' => 'draft',
442
+ ) );
443
+ }
444
+ } else {
445
+ // Try to grab our list id from our post meta
446
+ $list_id = get_post_meta( $ctct_list->ID, '_ctct_list_id', true );
447
+
448
+ // If we got a list id, let's update that list, other wise add it
449
+ if ( ! empty( $list_id ) ) {
450
+ $return = $this->_update_list( $ctct_list, $list_id );
451
+ } else {
452
+ $return = $this->_add_list( $ctct_list );
453
+ }
454
+ }
455
+
456
+ // Remove our saved transient of our lists
457
+ delete_transient( 'ctct_lists' );
458
+
459
+ // Force re-syncing our lists right after deletion
460
+ $this->sync_lists( true );
461
+
462
+ // Set our last synced time to now, so we don't re-add our new/removed list right away
463
+ update_option( 'constant_contact_lists_last_synced', time() );
464
+
465
+ return $return;
466
+
467
+ }
468
+
469
+ /**
470
+ * Saves list cpt and sends add list request to CTCT
471
+ *
472
+ * @since 1.0.0
473
+ * @param object $ctct_list WP Post object
474
+ * @return void
475
+ */
476
+ public function _add_list( $ctct_list ) {
477
+
478
+ // Make sure we have all the data we want to use
479
+ if (
480
+ isset( $ctct_list ) &&
481
+ $ctct_list &&
482
+ isset( $ctct_list->ID ) &&
483
+ $ctct_list->ID &&
484
+ isset( $ctct_list->post_title ) &&
485
+ $ctct_list->post_title
486
+ ) {
487
+
488
+ // Make sure we get a unique list name for our list
489
+ $name = $this->set_unique_list_name( $ctct_list->ID, $ctct_list->post_title );
490
+
491
+ // Push our list into the API. For the list ID, we append a string of random numbers
492
+ // to make sure its unique.
493
+ $list = constantcontact_api()->add_list(
494
+ array(
495
+ 'id' => absint( $ctct_list->ID ) . wp_rand( 0, 1000 ),
496
+ 'name' => esc_attr( $name ),
497
+ )
498
+ );
499
+
500
+ // Set placeholder return var
501
+ $list_id = false;
502
+
503
+ // If we got a list ID back, make sure we add that to post meta
504
+ if ( isset( $list->id ) && $list->id ) {
505
+ add_post_meta( $ctct_list->ID, '_ctct_list_id', esc_attr( $list->id ) );
506
+ $list_id = $list->id;
507
+ }
508
+
509
+ /**
510
+ * Hook when a ctct list is saved.
511
+ *
512
+ * @since 1.0.0
513
+ * @param integer $post_id cpt post id
514
+ * @param integer $list_id ctct list id
515
+ * @param array $list ctct returned list data
516
+ */
517
+ do_action( 'ctct_update_list', $ctct_list->ID, $list_id, $list );
518
+
519
+ // check to make sure our api request was good
520
+ if ( is_object( $list ) && isset( $list->id ) ) {
521
+ return true;
522
+ }
523
+ }
524
+
525
+ return false;
526
+ }
527
+
528
+ /**
529
+ * Set a unique list name for a post based on id / title
530
+ *
531
+ * @since 1.0.0
532
+ * @param int $id post ID
533
+ * @param string $title post title
534
+ */
535
+ public function set_unique_list_name( $id, $title = '' ) {
536
+
537
+ // Keep track of our original title, so we can compare later
538
+ $original_title = $title;
539
+
540
+ // Grab all our lists
541
+ $lists = $this->get_lists( true );
542
+
543
+ // Start by assuming our list title will exist, so we can kick off the loop
544
+ $list_title_exists = true;
545
+
546
+ // Set our unique increment to start with
547
+ $increment = 0;
548
+
549
+ // Keep checking + modifying title until we find a list title that is unique
550
+ while ( $list_title_exists ) {
551
+
552
+ // CC doesn't allow duplicate list titles, so we want to rename one of them
553
+ $list_title_exists = $this->check_if_list_exists_by_title( $title, $lists );
554
+
555
+ // If we did get a unique name, then break out
556
+ if ( ! $list_title_exists ) {
557
+ break;
558
+ }
559
+
560
+ // If our string contains what we tacked on previously,
561
+ // just remove it
562
+ if ( strpos( $title, ' (' . $increment . ')' ) !== false ) {
563
+ $title = str_replace( ' (' . $increment . ')', '', $title );
564
+ }
565
+
566
+ // Increase our increment count, and add it into the title
567
+ $increment = $increment + 1;
568
+ $title = $title . ' (' . $increment . ')';
569
+ }
570
+
571
+ // If we did modify our list title, update the WP side of things
572
+ if ( $title !== $original_title ) {
573
+
574
+ // Update our list post type to make sure we have
575
+ // the new title, so that it matches
576
+ wp_update_post( array(
577
+ 'ID' => absint( $id ),
578
+ 'post_title' => $title,
579
+ ) );
580
+ }
581
+
582
+ // Send back our title
583
+ return $title;
584
+
585
+ }
586
+
587
+ /**
588
+ * CC doesn't allow duplicate lists by title, so we want to fix a 2nd list
589
+ * that gets attempted to created
590
+ *
591
+ * @since 1.0.0
592
+ * @param string $title title of list
593
+ * @param array $lists lists to search in
594
+ * @return bool if exists
595
+ */
596
+ public function check_if_list_exists_by_title( $title, $lists = array() ) {
597
+
598
+ // If we didn't get passed in a list array, then grab them all
599
+ if ( empty( $lists ) ) {
600
+ $lists = $this->get_lists();
601
+ }
602
+
603
+ // Loop through each of our lists
604
+ foreach ( $lists as $list ) {
605
+
606
+ // If we come across one that matches, then return true,
607
+ // as a list with that title exists
608
+ if ( $title === $list ) {
609
+ return true;
610
+ }
611
+ }
612
+
613
+ // If we made it through, then return false
614
+ return false;
615
+ }
616
+
617
+ /**
618
+ * Hooked into transition_post_status, we want to verify our deletion of a
619
+ * list when we remove it, as well as re-adding any restored lists.
620
+ *
621
+ * @since 1.0.0
622
+ * @param string $new_status transitioned to status
623
+ * @param string $old_status transitioned from status
624
+ * @param objewct $post post object
625
+ * @return void
626
+ */
627
+ public function post_status_transition( $new_status, $old_status, $post ) {
628
+
629
+ // Make sure we have a post passed in
630
+ if ( ! $post ) {
631
+ return;
632
+ }
633
+
634
+ // If we don't have a post type, bail.
635
+ if ( ! isset( $post->post_type ) ) {
636
+ return;
637
+ }
638
+
639
+ // If we don't have an ID, bail
640
+ if ( ! $post->ID ) {
641
+ return;
642
+ }
643
+
644
+ // If we're not on the list post type
645
+ if ( 'ctct_lists' !== $post->post_type ) {
646
+ return;
647
+ }
648
+
649
+ // Only fire if we got a change in status
650
+ if ( $new_status === $old_status ) {
651
+ return;
652
+ }
653
+
654
+ // If we're moving something out of the trash, re-run our add list functionality.
655
+ if ( 'trash' === $old_status ) {
656
+ return $this->_add_list( $post );
657
+ }
658
+
659
+ }
660
+
661
+ /**
662
+ * Update list data cpt and send update request to CTCT
663
+ *
664
+ * @since 1.0.0
665
+ * @param integer $post_id current post id.
666
+ * @return void
667
+ */
668
+ public function _update_list( $ctct_list, $list_id ) {
669
+
670
+ // Make sure we have all the data we want to use
671
+ if (
672
+ isset( $ctct_list ) &&
673
+ isset( $ctct_list->ID ) &&
674
+ isset( $ctct_list->post_title ) &&
675
+ ! empty( $list_id )
676
+ ) {
677
+ // Update the list via the API
678
+ $list = constantcontact_api()->update_list(
679
+ array(
680
+ 'id' => esc_attr( $list_id ),
681
+ 'name' => esc_attr( $ctct_list->post_title ),
682
+ )
683
+ );
684
+
685
+ /**
686
+ * Hook when a ctct list is updated.
687
+ *
688
+ * @since 1.0.0
689
+ * @param integer $post_id cpt post id
690
+ * @param integer $list_id ctct list id
691
+ * @param array $list ctct returned list data
692
+ */
693
+ do_action( 'ctct_update_list', $ctct_list->ID, $list_id, $list );
694
+
695
+ // check to make sure our api request was good
696
+ if ( is_object( $list ) && isset( $list->id ) ) {
697
+ return true;
698
+ }
699
+ }
700
+
701
+ return false;
702
+ }
703
+
704
+ /**
705
+ * Delete list from CTCT and database.
706
+ *
707
+ * @since 1.0.0
708
+ * @param integer $post_id list id.
709
+ * @return boolean
710
+ */
711
+ public function delete_list( $post_id ) {
712
+
713
+ // type cast our post id
714
+ $post_id = absint( $post_id );
715
+
716
+ // bail out if we can't get it
717
+ if ( ! $post_id ) {
718
+ return false;
719
+ }
720
+
721
+ // try to grab our list id
722
+ $list_id = get_post_meta( $post_id, '_ctct_list_id', true );
723
+
724
+ // Make sure we got a list ID to delete with
725
+ if ( ! $list_id ) {
726
+ return false;
727
+ }
728
+
729
+ // delete via the api
730
+ $list = constantcontact_api()->delete_list(
731
+ array(
732
+ 'id' => esc_attr( $list_id ),
733
+ )
734
+ );
735
+
736
+ /**
737
+ * Hook when a ctct list is deleted.
738
+ *
739
+ * @since 1.0.0
740
+ * @param integer $post_id
741
+ * @param integer $list_id
742
+ */
743
+ do_action( 'ctct_delete_list', $post_id, $list_id );
744
+
745
+ return $list;
746
+ }
747
+
748
+ /**
749
+ * Returns array of the list data from CTCT
750
+ *
751
+ * @since 1.0.0
752
+ * @return array contact list data from CTCT
753
+ */
754
+ public function get_lists( $skip_cache = false ) {
755
+
756
+ $get_lists = array();
757
+
758
+ // Grab our lists, potentiall forcing a bypass of the cache
759
+ $lists = constantcontact_api()->get_lists( $skip_cache );
760
+
761
+ // make sure we have an array to loop through
762
+ if ( $lists && is_array( $lists ) ) {
763
+
764
+ foreach ( $lists as $list ) {
765
+
766
+ // make sure we have the right data before setting it to our array
767
+ if ( isset( $list->id ) && isset( $list->name ) ) {
768
+ $get_lists[ esc_attr( $list->id ) ] = esc_attr( $list->name );
769
+ }
770
+ }
771
+ }
772
+
773
+ return $get_lists;
774
+ }
775
+
776
+ /**
777
+ * Hooked into admin_notices, show our duplicate list message if we have one
778
+ *
779
+ */
780
+ public function show_duplicate_list_message() {
781
+
782
+ // Make sure we're on the correct page
783
+ global $pagenow, $post;
784
+ if ( $pagenow || ( ! in_array( $pagenow, array( 'post.php' ), true ) ) ) {
785
+ return;
786
+ }
787
+
788
+ // Make sure we have all the data we need
789
+ if (
790
+ isset( $post->ID ) &&
791
+ $post->ID &&
792
+ isset( $post->post_type ) &&
793
+ $post->post_type &&
794
+ 'ctct_lists' === $post->post_type &&
795
+ get_post_meta( $post->ID, 'ctct_duplicate_list', true )
796
+ ) {
797
+
798
+ // Add our output ( I know, gross inline CSS )
799
+ ?>
800
+ <div class="notice notice-error">
801
+ <p><?php esc_attr_e( 'You already have a list with that name.', 'constant-contact-forms' ); ?></p>
802
+ </div>
803
+ <style>
804
+ #title {
805
+ background: url( "<?php echo esc_url_raw( $this->plugin->url . 'assets/images/error.svg' ); ?>" ) no-repeat;
806
+ background-color: fade-out( #FF4136, 0.98);
807
+ background-position: 8px 50%;
808
+ background-size: 24px;
809
+ border-color: #FF4136;
810
+ padding-left: 40px;
811
+ }
812
+ </style>
813
+ <?php
814
+ }
815
+ }
816
+
817
+ /**
818
+ * Adds a 'Sync Lists with Constant Contact' button to the lists CPT page
819
+ *
820
+ * @since 1.0.0
821
+ * @param array $views current views
822
+ */
823
+ public function add_force_sync_button( $views ) {
824
+
825
+ // Build up our nonced url
826
+ $link = wp_nonce_url( add_query_arg( array( 'ctct_list_sync' => 'true' ) ), 'ctct_reysncing', 'ctct_resyncing' );
827
+
828
+ // Add a view to our list
829
+ $views['sync'] = '<strong><a href="' . $link . '">' . __( 'Sync Lists with Constant Contact', 'constant-contact-forms' ) . '</a></strong>';
830
+
831
+ // Send em back
832
+ return $views;
833
+ }
834
+
835
+ /**
836
+ * Watch for our request to re-sync lists, and do it
837
+ *
838
+ * @since 1.0.0
839
+ */
840
+ public function check_for_list_sync_request() {
841
+
842
+ // Only run if we have our request, and we are capable of it
843
+ if (
844
+ isset( $_GET['ctct_resyncing'] ) && // Input var okay.
845
+ sanitize_text_field( wp_unslash( $_GET['ctct_resyncing'] ) ) && // Input var okay.
846
+ is_admin() &&
847
+ current_user_can( 'manage_options' )
848
+ ) {
849
+ // Force our last updated time to be in the past, so we trigger the auto-refresh
850
+ update_option( 'constant_contact_lists_last_synced', time() - HOUR_IN_SECONDS );
851
+
852
+ // Get our url with our custom query args removed
853
+ $url = remove_query_arg( array( 'ctct_resyncing', 'ctct_list_sync' ) );
854
+
855
+ // Send user back to the page they were on after refreshing
856
+ wp_safe_redirect( $url );
857
+ die;
858
+ }
859
+ }
860
+
861
+ /**
862
+ * Remove quick edit from our lists post type
863
+ *
864
+ * @since 1.0.0
865
+ * @param array $actions current actions
866
+ * @return array modified actions
867
+ */
868
+ public function remove_quick_edit_from_lists( $actions ) {
869
+
870
+ // Get our global post object
871
+ global $post;
872
+
873
+ // Make sure we're on our lists post type
874
+ if ( $post && isset( $post->post_type ) && $post->post_type && 'ctct_lists' === $post->post_type ) {
875
+
876
+ // Unset our quick edit actions, which is named SO WELL
877
+ unset( $actions['inline hide-if-no-js'] );
878
+ }
879
+
880
+ return $actions;
881
+ }
882
+ }
includes/class-mail.php ADDED
@@ -0,0 +1,268 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @package ConstantContact
4
+ * @subpackage Mail
5
+ * @author Pluginize
6
+ * @since 1.0.2
7
+ */
8
+
9
+ /**
10
+ * Wrapper functions for mailing successful contact forms to the user.
11
+ */
12
+ class ConstantContact_Mail {
13
+
14
+ /**
15
+ * Parent plugin class
16
+ *
17
+ * @var class
18
+ * @since 0.0.1
19
+ */
20
+ protected $plugin = null;
21
+
22
+ /**
23
+ * Constructor
24
+ *
25
+ * @since 1.0.0
26
+ * @return void
27
+ */
28
+ public function __construct( $plugin ) {
29
+ $this->plugin = $plugin;
30
+ $this->hooks();
31
+ }
32
+
33
+ /**
34
+ * Fire hoosk for actions.
35
+ *
36
+ * @since 1.0.2
37
+ */
38
+ protected function hooks() {
39
+ add_action( 'ctct_schedule_form_opt_in', array( $this, 'opt_in_user' ) );
40
+ }
41
+
42
+ /**
43
+ * Process our form values
44
+ *
45
+ * @since 1.0.0
46
+ * @param array $values submitted form values
47
+ */
48
+ public function submit_form_values( $values = array(), $add_to_opt_in = false ) {
49
+
50
+ // Sanity check
51
+ if ( ! is_array( $values ) ) {
52
+ return;
53
+ }
54
+
55
+ // Clean our values
56
+ $values = constant_contact()->process_form->clean_values( $values );
57
+
58
+ // If a user opted-in and we're still connected, push their data to CC
59
+ if ( $add_to_opt_in && constant_contact()->api->is_connected() ) {
60
+ /**
61
+ * Delay the scheduling of the opt-in e-mail event.
62
+ *
63
+ * @since 1.0.2
64
+ * @param int $schedule_delay The time to add to `time()` for the event.
65
+ * @return int
66
+ */
67
+ $schedule_delay = apply_filters( 'constant_contact_opt_in_delay', MINUTE_IN_SECONDS );
68
+ wp_schedule_single_event( time() + absint( $schedule_delay ), 'ctct_schedule_form_opt_in', array( $values ) );
69
+ }
70
+
71
+ // pretty our values
72
+ $values = constant_contact()->process_form->pretty_values( $values );
73
+
74
+ // Format them
75
+ $email_values = $this->format_values_for_email( $values );
76
+
77
+ // Send the mail
78
+ return $this->mail( $this->get_email(), $email_values );
79
+ }
80
+
81
+ /**
82
+ * Opts in a user, if requested
83
+ *
84
+ * @since 1.0.0
85
+ * @param array $values submitted values
86
+ * @return object response from API
87
+ */
88
+ public function opt_in_user( $values ) {
89
+
90
+ // go through all our fields
91
+ foreach ( $values as $key => $val ) {
92
+
93
+ // Clean up our data that we'll be using
94
+ $key = sanitize_text_field( isset( $val['key'] ) ? $val['key'] : '' );
95
+ $orig = sanitize_text_field( isset( $val['orig_key'] ) ? $val['orig_key'] : '' );
96
+ $val = sanitize_text_field( isset( $val['value'] ) ? $val['value'] : '' );
97
+
98
+ // Make sure we have a key that we can use
99
+ if ( $key && ( 'ctct-opt-in' !== $key ) && ( 'ctct-id' !== $key ) ) {
100
+
101
+ // Set our args that we'll pass to our API
102
+ $args[ $orig ] = array(
103
+ 'key' => $key,
104
+ 'val' => $val,
105
+ );
106
+
107
+ // If we have an email, make sure we keep it safe
108
+ if ( 'email' === $key ) {
109
+ $args['email'] = $val;
110
+ }
111
+ }
112
+ }
113
+
114
+ // Make sure we have an email set
115
+ if ( isset( $values['ctct-opt-in'] ) && isset( $values['ctct-opt-in']['value'] ) ) {
116
+
117
+ // Make sure that our list is a top level
118
+ $args['list'] = sanitize_text_field( $values['ctct-opt-in']['value'] );
119
+
120
+ // Send that to our API
121
+ return constantcontact_api()->add_contact( $args );
122
+ }
123
+ }
124
+
125
+ /**
126
+ * Formats values for email
127
+ *
128
+ * @since 1.0.0
129
+ * @param array $values values to format
130
+ * @return string html content for email
131
+ */
132
+ public function format_values_for_email( $pretty_vals ) {
133
+
134
+ $return = '';
135
+ foreach ( $pretty_vals as $val ) {
136
+
137
+ // force vars to exist
138
+ $label = isset( $val['orig_key'] ) ? $val['orig_key'] : false;
139
+
140
+ // If we have a label
141
+ if ( $label ) {
142
+ // break out our unique key
143
+ $label = explode( '___', $label );
144
+
145
+ // Uppercase and format to be human readable
146
+ $label = ucwords( str_replace( '_', ' ', $label[0] ) );
147
+ }
148
+ $value = isset( $val['post'] ) ? $val['post'] : '&nbsp;';
149
+
150
+ $return .= '<p>' . sanitize_text_field( $label ) . ': ' . sanitize_text_field( $value ) . '</p>';
151
+ }
152
+
153
+ return $return;
154
+ }
155
+
156
+ /**
157
+ * Get the email address to send to
158
+ *
159
+ * @since 1.0.0
160
+ * @return string email address to send to
161
+ */
162
+ public function get_email() {
163
+
164
+ // Eventually we'll make this configurable
165
+ return get_option( 'admin_email' );
166
+ }
167
+
168
+ /**
169
+ * Sends our mail out
170
+ *
171
+ * @since 1.0.0
172
+ * @param string $destination_email email address
173
+ * @param array $data data from clean values
174
+ * @return bool if sent
175
+ */
176
+ public function mail( $destination_email, $content ) {
177
+
178
+ // Define a mail key for the cache.
179
+ static $last_sent = false;
180
+
181
+ $screen = '';
182
+ // Sanity check for get_current_screen, as we may run too early
183
+ if ( function_exists( 'get_current_screen' ) ) {
184
+ $screen = get_current_screen();
185
+ }
186
+
187
+ $mail_key = md5( "{$destination_email}:{$content}:" . ( isset( $screen->id ) ? $screen->id : '' ) );
188
+
189
+ // If we already have sent this e-mail, don't send it again.
190
+ if ( $last_sent === $mail_key ) {
191
+ $this->maybe_log_mail_status( vsprintf( __( 'Duplicate send mail for: %s and: %s' ), array(
192
+ $destination_email,
193
+ $mail_key,
194
+ ) ) );
195
+ return true;
196
+ }
197
+
198
+ // If we didn't get passed in a sanitized email, we know something is
199
+ // wonky here, so bail out
200
+ if ( sanitize_email( $destination_email ) !== $destination_email ) {
201
+ return false;
202
+ }
203
+
204
+ // Filter to allow sending HTML for our message body
205
+ add_filter( 'wp_mail_content_type', array( $this, 'set_email_type' ) );
206
+
207
+ // Before text for content
208
+ $content_before = __( 'Congratulations! Your Constant Contact Forms plugin has successfully captured new information:', 'constant-contact-forms' );
209
+
210
+ // After text for content
211
+ $content_after = __( "Don't forget: Email marketing is a great way to stay connected with visitors after they’ve left your site. To make the most of the information you collect, connect the plugin to an active Constant Contact account. Just go to the Connect page from the Plugin console view.", 'constant-contact-forms' );
212
+
213
+ // Tie our contents together
214
+ $content = $content_before . $content . $content_after;
215
+
216
+ // Send that mail
217
+ $mail_status = wp_mail(
218
+ $destination_email,
219
+ __( 'New submission' ),
220
+ $content
221
+ );
222
+
223
+ $this->maybe_log_mail_status( $mail_status, $destination_email, $content );
224
+
225
+ // Clean up, remove the filter we had set
226
+ remove_filter( 'wp_mail_content_type', array( $this, 'set_email_type' ) );
227
+
228
+ // Store this for later.
229
+ if ( $mail_status ) {
230
+ $last_sent = $mail_key;
231
+ }
232
+
233
+ // Return the mail status
234
+ return $mail_status;
235
+ }
236
+
237
+ /**
238
+ * Helper method to return 'text/html' string for actions
239
+ *
240
+ * @since 1.0.0
241
+ */
242
+ public function set_email_type() {
243
+ return 'text/html';
244
+ }
245
+
246
+ /**
247
+ * If our mail debugging is set, then log mail statuses to the error log
248
+ *
249
+ * @since 1.0.0
250
+ * @param string $status status from wp_mai
251
+ * @param string $dest_email destination email
252
+ * @param string $content content of email
253
+ * @return void
254
+ */
255
+ public function maybe_log_mail_status( $status, $dest_email, $content ) {
256
+
257
+ // If we have our debugging turned on
258
+ if ( defined( 'CONSTANT_CONTACT_DEBUG_MAIL' ) && CONSTANT_CONTACT_DEBUG_MAIL ) {
259
+
260
+ // Log status of mail
261
+ error_log( 'mail attempted for ' . $dest_email . ': ' . $status );
262
+
263
+ // Log content too just in case
264
+ error_log( print_r( $content, true ) );
265
+ }
266
+
267
+ }
268
+ }
includes/class-middleware.php ADDED
@@ -0,0 +1,171 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @package ConstantContact
4
+ * @subpackage Middleware
5
+ * @author Pluginize
6
+ * @since 1.0.0
7
+ */
8
+
9
+ /**
10
+ * Powers our OAuth connection to the middleware Constant Contact server.
11
+ *
12
+ * @since 1.0.1
13
+ */
14
+ class ConstantContact_Middleware {
15
+ /**
16
+ * Parent plugin class
17
+ *
18
+ * @var class
19
+ * @since 1.0.1
20
+ */
21
+ protected $plugin = null;
22
+
23
+ /**
24
+ * Constructor
25
+ *
26
+ * @since 1.0.1
27
+ * @param object $plugin Main plugin object.
28
+ * @return void
29
+ */
30
+ public function __construct( $plugin ) {
31
+ $this->plugin = $plugin;
32
+ }
33
+
34
+ /**
35
+ * Get our auth server link
36
+ *
37
+ * @since 1.0.1
38
+ * @return string auth server link
39
+ */
40
+ public function do_connect_url( $proof = '', $extra_args = array() ) {
41
+
42
+ // Get our main link
43
+ $auth_server_link = $this->get_auth_server_link();
44
+
45
+ // If we don't have that, then bail
46
+ if ( ! $auth_server_link ) {
47
+ return;
48
+ }
49
+
50
+ // Add our query args to our middleware link, and return it
51
+ return $this->add_query_args_to_link( $auth_server_link, $proof, $extra_args );
52
+ }
53
+
54
+ /**
55
+ * Build out our signup version of the connect url
56
+ *
57
+ * @since 1.0.0
58
+ * @param string $proof proof key
59
+ * @return string signup / connect url
60
+ */
61
+ public function do_signup_url( $proof = '' ) {
62
+
63
+ // Just a wrapper for the connect url, but with the signup param we'll be passing
64
+ return $this->do_connect_url( $proof, array( 'new_signup' => true ) );
65
+ }
66
+
67
+ /**
68
+ * Add our query args for proof and site callback to our auth server link
69
+ *
70
+ * @since 1.0.1
71
+ * @param string $link auth server link
72
+ */
73
+ public function add_query_args_to_link( $link, $proof, $extra_args = array() ) {
74
+ $return = add_query_arg( array(
75
+ 'ctct-auth' => 'auth',
76
+ 'ctct-proof' => esc_attr( $proof ),
77
+ 'ctct-site' => get_site_url(),
78
+ ),
79
+ $link );
80
+
81
+ // If got passed other args, tack them on as query args to the link that we were going to be using
82
+ if ( ! empty( $extra_args ) ) {
83
+ $return = add_query_arg( $extra_args, $return );
84
+ }
85
+
86
+ // Send it back
87
+ return $return;
88
+ }
89
+
90
+ /**
91
+ * Gets our base auth server link
92
+ *
93
+ * @since 1.0.1
94
+ * @return string url of auth server base
95
+ */
96
+ public function get_auth_server_link() {
97
+ return 'https://wpredirect.constantcontact.com/';
98
+ }
99
+
100
+ /**
101
+ * Generates a random key, saves to the DB and returns it
102
+ *
103
+ * @since 1.0.1
104
+ * @return string proof key
105
+ */
106
+ public function set_verification_option() {
107
+
108
+ // Allow re-use of our $proof on a page load
109
+ static $proof = null;
110
+
111
+ // If its null, then generate it
112
+ if ( is_null( $proof ) ) {
113
+ $proof = esc_attr( wp_generate_password( 35, false, false ) );
114
+ update_option( 'ctct_connect_verification', $proof );
115
+ }
116
+
117
+ // Send it back
118
+ return $proof;
119
+ }
120
+
121
+ /**
122
+ * Verify a returned request from the auth server, and save the returned token
123
+ *
124
+ * @return boolean is valid?
125
+ */
126
+ public function verify_and_save_access_token_return() {
127
+
128
+ // If we get this, we'll want to start our process of
129
+ // verifying the proof that the middleware server gives us
130
+ // so that we can ignore any malicious entries that are sent to us
131
+ // Sanitize our expected data
132
+ $proof = isset( $_GET['proof'] ) ? sanitize_text_field( wp_unslash( $_GET['proof'] ) ) : false; // Input var okay.
133
+ $token = isset( $_GET['token'] ) ? sanitize_text_field( wp_unslash( $_GET['token'] ) ) : false; // Input var okay.
134
+ $key = isset( $_GET['key'] ) ? sanitize_text_field( wp_unslash( $_GET['key'] ) ) : false; // Input var okay.
135
+
136
+ // If we're missing any piece of data, we failed
137
+ if ( ! $proof || ! $token || ! $key ) {
138
+ return false;
139
+ }
140
+
141
+ // We'll want to verify our proof before we continue
142
+ if ( ! $this->verify_proof( $proof ) ) {
143
+ return false;
144
+ }
145
+
146
+ // Save our token / key into the DB
147
+ constant_contact()->connect->update_token( sanitize_text_field( $token ) );
148
+ constant_contact()->connect->e_set( '_ctct_api_key', sanitize_text_field( $key ) );
149
+ return true;
150
+ }
151
+
152
+ /**
153
+ * Verifies a given proof from a request against our DB, and does cleanup
154
+ *
155
+ * @since 1.0.0
156
+ * @param string $proof proof string to check
157
+ * @return boolean whether or not its our expected proof
158
+ */
159
+ public function verify_proof( $proof ) {
160
+
161
+ // Get our saved option that we set for our proof
162
+ $expected_proof = get_option( 'ctct_connect_verification' );
163
+
164
+ // Clean up after ourselves
165
+ delete_option( 'ctct_connect_verification' );
166
+
167
+ // Send back a bool of whether they match or not
168
+ return ( $proof === $expected_proof );
169
+
170
+ }
171
+ }
includes/class-notification-content.php ADDED
@@ -0,0 +1,90 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @package ConstantContact
4
+ * @subpackage Notifications_Content
5
+ * @author Pluginize
6
+ * @since 1.0.0
7
+ */
8
+
9
+ /**
10
+ * Holds notification content for easy manipulation
11
+ */
12
+ class ConstantContact_Notification_Content {
13
+
14
+ /**
15
+ * Parent plugin class
16
+ *
17
+ * @var class
18
+ * @since 0.0.1
19
+ */
20
+ protected $plugin = null;
21
+
22
+ /**
23
+ * Constructor
24
+ *
25
+ * @since 1.0.0
26
+ * @return void
27
+ */
28
+ public function __construct( $plugin ) {
29
+ $this->plugin = $plugin;
30
+ }
31
+
32
+ /**
33
+ * Display our notification content for our activation message
34
+ *
35
+ * @since 1.0.0
36
+ */
37
+ public static function activation() {
38
+
39
+ // Start our output buffer
40
+ ob_start();
41
+
42
+ ?>
43
+ <p class="ctct-notice-intro">
44
+ <?php
45
+ printf(
46
+ esc_attr__( 'To take full advantage of the %s plugin, we recommend having an active Constant Contact account.', 'constant-contact-forms' ),
47
+ '<strong>' . esc_attr__( 'Constant Contact Forms' ) . '</strong>'
48
+ );
49
+ ?>
50
+ </p>
51
+ <p>
52
+ <a href="<?php echo esc_url_raw( constant_contact()->api->get_connect_link() ); ?>" class="ctct-notice-button button-primary">
53
+ <?php esc_attr_e( 'Connect your account', 'constant-contact-forms' ); ?>
54
+ </a>
55
+ <a href="<?php echo esc_url_raw( constant_contact()->api->get_signup_link() ); ?>" class="ctct-notice-button button-secondary">
56
+ <?php esc_attr_e( 'Try Us Free', 'constant-contact-forms' ); ?>
57
+ </a>
58
+ </p>
59
+ <?php
60
+
61
+ // Get our output and send it back
62
+ $output = ob_get_clean();
63
+ return $output;
64
+ }
65
+
66
+ /**
67
+ * Notification content for our 'too many lists' error
68
+ *
69
+ * @since 1.0.0
70
+ * @return string notification text
71
+ */
72
+ public static function too_many_lists() {
73
+ return __( 'You currently have a large number of lists in your Constant Contact account. You may experience some issues with syncing them.', 'constant-contact-forms' );
74
+ }
75
+
76
+ /**
77
+ * Sample update notification for updating to 1.0.1
78
+ *
79
+ * @since 1.0.0
80
+ * @return string notification text
81
+ */
82
+ public static function v1_0_1() {
83
+
84
+ // This is an example of outputting the text for a notification.
85
+ // The @codingStand.. is to suppress PHPCS warnings about commented code
86
+ // @codingStandardsIgnoreLine
87
+ // return __( 'Welcome to v1.0.1 of Constant Contact.', 'constant-contact-forms' );
88
+ }
89
+ }
90
+
includes/class-notifications.php ADDED
@@ -0,0 +1,423 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @package ConstantContact
4
+ * @subpackage Notifications
5
+ * @author Pluginize
6
+ * @since 1.0.0
7
+ */
8
+
9
+ /**
10
+ * Powers admin pages and activation message.
11
+ */
12
+ class ConstantContact_Notifications {
13
+
14
+ /**
15
+ * Parent plugin class
16
+ *
17
+ * @var class
18
+ * @since 0.0.1
19
+ */
20
+ protected $plugin = null;
21
+
22
+ /**
23
+ * Constructor
24
+ *
25
+ * @since 1.0.0
26
+ * @return void
27
+ */
28
+ public function __construct( $plugin ) {
29
+ $this->plugin = $plugin;
30
+ $this->hooks();
31
+ }
32
+
33
+ /**
34
+ * Initiate our hooks.
35
+ *
36
+ * @since 1.0.0
37
+ * @return void
38
+ */
39
+ public function hooks() {
40
+
41
+ // Add activation message
42
+ add_action( 'admin_notices', array( $this, 'main' ) );
43
+
44
+ }
45
+
46
+ /**
47
+ * Get all our notifications that should fire
48
+ *
49
+ * @since 1.0.0
50
+ */
51
+ public function get_notifications() {
52
+
53
+ // Return all our notifications
54
+ return apply_filters( 'constant_contact_notifications', array(
55
+ array(
56
+ 'ID' => 'activation',
57
+ 'callback' => array( 'ConstantContact_Notification_Content', 'activation' ),
58
+ 'require_cb' => 'constant_contact_is_not_connected',
59
+ ),
60
+ ) );
61
+ }
62
+
63
+ /**
64
+ * Get our update notifications from our update class
65
+ *
66
+ * @since 1.0.0
67
+ * @return array update notifications we should surface
68
+ */
69
+ public function get_update_notifications() {
70
+ return get_option( 'ctct_update_notifications', array() );
71
+ }
72
+
73
+ /**
74
+ * Depending on if we should or shouldn't show our activation message, queue it up
75
+ *
76
+ * @since 1.0.0
77
+ */
78
+ public function main() {
79
+
80
+ // If we have our query args where we're attempting to dismiss the notice
81
+ // Get our potentically dismissed notif ID
82
+ $notif_id = $this->get_dismissal_id();
83
+
84
+ // First, we want to check if we should save any dismissals
85
+ if ( $this->check_dismissal_nonce() && $notif_id ) {
86
+
87
+ // Then save that we dismissed it
88
+ $this->save_dismissed_notification( $notif_id );
89
+ }
90
+
91
+ // Get all our notifications
92
+ $notifications = $this->get_notifications();
93
+ $update_notifications = $this->get_update_notifications();
94
+
95
+ if ( is_array( $notifications ) && is_array( $update_notifications ) ) {
96
+ $notifications = array_merge( $notifications, $update_notifications );
97
+ }
98
+
99
+ foreach ( $notifications as $notif ) {
100
+ $this->maybe_show_notification( $notif );
101
+ }
102
+ }
103
+
104
+ /**
105
+ * Determines whether or not a specific notification should be show, and
106
+ * shows it it it should be shown.
107
+ *
108
+ * @since 1.0.0
109
+ * @param array $notif array of notification data
110
+ * @return mixed false if not shown, nothing if shown
111
+ */
112
+ public function maybe_show_notification( $notif ) {
113
+
114
+ // If our notification isn't an array, skip it
115
+ if ( ! is_array( $notif ) ) {
116
+ return;
117
+ }
118
+
119
+ // Save our notification data to a helper var
120
+ $notif_id = isset( $notif['ID'] ) ? esc_attr( $notif['ID'] ) : false;
121
+ $callback = isset( $notif['callback'] ) ? $notif['callback'] : false;
122
+ $require_cb = isset( $notif['require_cb'] ) ? $notif['require_cb'] : false;
123
+
124
+ // If we don't have an ID or callback set, bail
125
+ if ( ! $notif_id || ! $callback ) {
126
+ return;
127
+ }
128
+
129
+ // Don't show if it was dismissed
130
+ if ( $this->was_notification_dismissed( $notif_id ) ) {
131
+ return;
132
+ }
133
+
134
+ // If we don have requirements set up for a notif, then check them
135
+ if ( $require_cb ) {
136
+
137
+ // Check to make sure the requirements defined for a notification evalulate to true
138
+ $requirements_passed = ( $this->check_requirements_callback_for_notif( $require_cb ) );
139
+
140
+ // If we didnt' pass, then return
141
+ if ( ! $requirements_passed ) {
142
+ return;
143
+ }
144
+ }
145
+
146
+ // If we cant call our notification callback, bail
147
+ if ( ! is_callable( $callback ) ) {
148
+ return false;
149
+ }
150
+
151
+ // Get our notifictaion content from our callback
152
+ $notif_content = call_user_func( $callback );
153
+
154
+ $this->show_notice( $notif_id, $notif_content );
155
+
156
+ return;
157
+
158
+ }
159
+
160
+ /**
161
+ * Call and return results of executing a callback for a notificaion
162
+ *
163
+ * @since 1.0.0
164
+ * @param mixed $require_cb valid callback
165
+ * @return boolean boolean results of callback
166
+ */
167
+ public function check_requirements_callback_for_notif( $require_cb ) {
168
+
169
+ // Make sure we can call our require callback
170
+ if ( is_callable( $require_cb ) ) {
171
+
172
+ // Call it
173
+ return ( call_user_func( $require_cb ) );
174
+ }
175
+
176
+ // Otherwise false
177
+ return false;
178
+ }
179
+
180
+ /**
181
+ * Checks to see if we have a dismissal nonce, and if it is valid
182
+ *
183
+ * @since 1.0.0
184
+ * @return boolean whether or not nonce is verified
185
+ */
186
+ public function check_dismissal_nonce() {
187
+
188
+ // Double check that we have our nonce that we'll use
189
+ if ( ! isset( $_GET['ctct-dismiss'] ) ) { // Input var okay.
190
+ return false;
191
+ }
192
+
193
+ // Save our nonce
194
+ $nonce = sanitize_text_field( wp_unslash( $_GET['ctct-dismiss'] ) ); // Input var okay.
195
+
196
+ // If our nonce fails, then we don't want to dismiss it
197
+ return ( wp_verify_nonce( $nonce, 'ctct-user-is-dismissing' ) );
198
+ }
199
+
200
+ /**
201
+ * Get the notice the user is attempting to dismiss
202
+ *
203
+ * @since 1.0.0
204
+ * @return mixed false on failure, string of ID on success
205
+ */
206
+ public function get_dismissal_id() {
207
+
208
+ // If we don't have our nonce action, bail
209
+ if ( ! isset( $_GET['ctct-dismiss'] ) ) { // Input var okay.
210
+ return false;
211
+ }
212
+
213
+ // if we don't have our dismiss query arg, bail
214
+ if ( ! isset( $_GET['ctct-dismiss-action'] ) ) { // Input var okay.
215
+ return false;
216
+ }
217
+
218
+ // Get what notification we're attempting to dismiss
219
+ $dismissing_notif = sanitize_text_field( wp_unslash( $_GET['ctct-dismiss-action'] ) ); // Input var okay.
220
+
221
+ // If we don't have an action set for our dismiss action, bail
222
+ if ( ! $dismissing_notif ) {
223
+ return false;
224
+ }
225
+
226
+ // Send back our notification type
227
+ return $dismissing_notif;
228
+ }
229
+
230
+ /**
231
+ * Save the fact that the user dismissed our message, and don't show again
232
+ *
233
+ * @since 1.0.0
234
+ * @return boolean if we updated correctly
235
+ */
236
+ public function save_dismissed_notification( $key ) {
237
+
238
+ // Call our save option helper
239
+ return $this->save_dismissed_option( $key, true );
240
+ }
241
+
242
+ /**
243
+ * Set a specific notificaion saved state to false
244
+ *
245
+ * @since 1.0.0
246
+ * @param strin $key ID of notificaion
247
+ * @return boolean update succeeded?
248
+ */
249
+ public function delete_dismissed_notification( $key ) {
250
+
251
+ // Call our save option helper
252
+ return $this->save_dismissed_option( $key, false );
253
+ }
254
+
255
+ /**
256
+ * Get all saved dismissial states
257
+ *
258
+ * @since 1.0.0
259
+ * @return array states of dismissial notices
260
+ */
261
+ public function get_dismissed_options() {
262
+ return get_option( 'ctct_notices_dismissed' );
263
+ }
264
+
265
+ /**
266
+ * Save all dismissed notices
267
+ *
268
+ * @since 1.0.0
269
+ * @param array $options array of dismissial states
270
+ * @return boolean if updated
271
+ */
272
+ public function save_dismissed_options( $options ) {
273
+ return update_option( 'ctct_notices_dismissed', $options, true );
274
+ }
275
+
276
+ /**
277
+ * Save a single dismissal notice state
278
+ *
279
+ * @since 1.0.0
280
+ * @param string $key ID of notice
281
+ * @param string $value value to be saved to DB
282
+ * @return boolean if saved or not
283
+ */
284
+ public function save_dismissed_option( $key, $value ) {
285
+
286
+ // Get all of our options we have saved
287
+ $options = $this->get_dismissed_options();
288
+
289
+ // If for some reason, we didn't get an array, then clear it out
290
+ if ( ! is_array( $options ) ) {
291
+ $options = array();
292
+ }
293
+
294
+ // Save our keyed notification to be saved
295
+ $options[ esc_attr( $key ) ] = esc_attr( $value );
296
+
297
+ // Save all the options
298
+ return $this->save_dismissed_options( $options );
299
+ }
300
+
301
+ /**
302
+ * Check to see if we've already dismissed a specific notificaion
303
+ *
304
+ * @since 1.0.0
305
+ * @param string $key notif ID
306
+ * @return boolean if dismissed
307
+ */
308
+ public function was_notification_dismissed( $key = '' ) {
309
+
310
+ // Get all our options
311
+ $option = $this->get_dismissed_option( $key );
312
+
313
+ // If we have 'true' or '1' saved, then its true
314
+ $is_true = ( ( 'true' === $option ) || ( '1' === $option ) );
315
+
316
+ // Cast to boolean and send it back
317
+ return ( $is_true ? true : false );
318
+ }
319
+
320
+ /**
321
+ * Helper to get single option from our array of notif states
322
+ *
323
+ * @since 1.0.0
324
+ * @param string $key ID of notif state to get
325
+ * @return string value in DB
326
+ */
327
+ public function get_dismissed_option( $key = '' ) {
328
+
329
+ // Get all our dismissed notifications
330
+ $options = $this->get_dismissed_options();
331
+
332
+ // If we have the notification saved in our options array
333
+ if ( isset( $options[ esc_attr( $key ) ] ) ) {
334
+
335
+ // Return the option of whatever it is
336
+ return $options[ esc_attr( $key ) ];
337
+ }
338
+
339
+ // Otherwise, we'll just return false and bail
340
+ return false;
341
+ }
342
+
343
+ /**
344
+ * Displays a fancy activation message to the user
345
+ *
346
+ * @since 1.0.0
347
+ */
348
+ public function show_notice( $key, $content = '' ) {
349
+
350
+ // If we don't have any content, bail
351
+ if ( ! $content ) {
352
+ return;
353
+ }
354
+
355
+ // Show our styles
356
+ $this->do_styles();
357
+
358
+ // Wrap our content in our markup
359
+ ?>
360
+ <div id="ctct-admin-notice-<?php echo esc_attr( $key ); ?>" class="ctct-admin-notice updated notice">
361
+ <?php echo wp_kses_post( $content ); ?>
362
+ <?php constant_contact()->notifications->do_dismiss_link( esc_attr( $key ) ); ?>
363
+ </div>
364
+ <?php
365
+ }
366
+
367
+ /**
368
+ * Enqueue our admin notification styles
369
+ *
370
+ * @since 1.0.0
371
+ */
372
+ public function do_styles() {
373
+
374
+ // Set our flag about notice being shown, so we don't re-enqueue styles
375
+ static $have_styles = false;
376
+
377
+ // If we haven't shown styles yet, enqueue em
378
+ if ( ! $have_styles ) {
379
+
380
+ // Style it up
381
+ wp_enqueue_style(
382
+ 'constant-contact-admin-notices',
383
+ constant_contact()->url() . 'assets/css/admin-notices.css',
384
+ array(),
385
+ constant_contact()->version
386
+ );
387
+
388
+ // Set to true
389
+ $have_styles = true;
390
+ }
391
+ }
392
+
393
+ /**
394
+ * Display our dismiss link for a notfication
395
+ *
396
+ * @since 1.0.0
397
+ * @param string $id ID of notification
398
+ */
399
+ public function do_dismiss_link( $notif_id ) {
400
+
401
+ ?>
402
+ <a class="ctct-notice-dismiss notice-dismiss" href="<?php echo esc_url_raw( $this->get_activation_dismiss_url( esc_attr( $notif_id ) ) ); ?>">
403
+ <span class="screen-reader-text"><?php esc_attr_e( 'Dismiss this notice.', 'constant-contact-forms' ); ?></span>
404
+ </a>
405
+ <?php
406
+ }
407
+
408
+ /**
409
+ * Helper method to get our dimiss activation message url
410
+ *
411
+ * @since 1.0.0
412
+ * @return string url to dismiss prompt
413
+ */
414
+ public function get_activation_dismiss_url( $type ) {
415
+
416
+ // Set a link with our current url and desired action
417
+ $link = add_query_arg( array( 'ctct-dismiss-action' => esc_attr( $type ) ) );
418
+
419
+ // Also nonce it and return it
420
+ return wp_nonce_url( $link, 'ctct-user-is-dismissing', 'ctct-dismiss' );
421
+ }
422
+ }
423
+
includes/class-process-form.php ADDED
@@ -0,0 +1,579 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @package ConstantContact
4
+ * @subpackage ProcessForm
5
+ * @author Pluginize
6
+ * @since 1.0.0
7
+ */
8
+
9
+ /**
10
+ * Powers our form processing, validation, and value cleanup.
11
+ */
12
+ class ConstantContact_Process_Form {
13
+
14
+ /**
15
+ * Parent plugin class
16
+ *
17
+ * @var class
18
+ * @since 0.0.1
19
+ */
20
+ protected $plugin = null;
21
+
22
+ /**
23
+ * Constructor
24
+ *
25
+ * @since 1.0.0
26
+ * @return void
27
+ */
28
+ public function __construct( $plugin ) {
29
+ $this->plugin = $plugin;
30
+ $this->hooks();
31
+ }
32
+
33
+ /**
34
+ * Do the hooks!
35
+ *
36
+ * @since 1.0.0
37
+ * @return void
38
+ */
39
+ public function hooks() {
40
+ add_action( 'wp_ajax_ctct_process_form', array( $this, 'process_form_ajax_wrapper' ) );
41
+ add_action( 'wp_ajax_nopriv_ctct_process_form', array( $this, 'process_form_ajax_wrapper' ) );
42
+ }
43
+
44
+ /**
45
+ * A wrpper to process our form via AJAX
46
+ *
47
+ * @since 1.0.0
48
+ */
49
+ public function process_form_ajax_wrapper() {
50
+
51
+ // See if we're passed in data
52
+ //
53
+ // We set to ignore this from PHPCS, as our nonce is handled elsewhere
54
+ // @codingStandardsIgnoreLine
55
+ if ( isset( $_POST['data'] ) ) { // Input var okay.
56
+
57
+ // Form data comes over serialzied, so break it apart
58
+ //
59
+ // We set to ignore this from PHPCS, as our nonce is handled elsewhere
60
+ // @codingStandardsIgnoreLine
61
+ $data = explode( '&', $_POST['data'] );
62
+
63
+ // Finish converting that ajax data to something we can use
64
+ $json_data = array();
65
+
66
+ // Make sure we have an array of data
67
+ if ( is_array( $data ) ) {
68
+
69
+ // Loop through each of our fields
70
+ foreach ( $data as $field ) {
71
+
72
+ // @codingStandardsIgnoreStart
73
+ // Our data looks like this:
74
+ // Array (
75
+ // [0] => email___5d94668ce0670de4192bbcdd94d8ef71=email_address
76
+ // [1] => custom___22d42a056afeffb8d99b2474693afa98=text
77
+ // @codingStandardsIgnoreEnd
78
+ // so we want to break it apart to get the key and the value
79
+ // we pass 2 into explode() to limit it to only two return values
80
+ // in case there is an = in the actual form value
81
+ $exp_fields = explode( '=', $field, 2 );
82
+
83
+ // Sanity check
84
+ if ( isset( $exp_fields[0] ) && $exp_fields[0] ) {
85
+ // Set up our data structure if we have the data
86
+ $value = urldecode( isset( $exp_fields[1] ) ? $exp_fields[1] : '' );
87
+ $json_data[ esc_attr( $exp_fields[0] ) ] = sanitize_text_field( $value );
88
+ }
89
+ }
90
+ }
91
+
92
+ // Send it to our process form method
93
+ $response = $this->process_form( $json_data, true );
94
+
95
+ // We don't need the original values for the ajax check
96
+ if ( isset( $response['values'] ) ) {
97
+ unset( $response['values'] );
98
+ }
99
+
100
+ // Send back our response
101
+ wp_send_json( $response );
102
+
103
+ // die out of the ajax request
104
+ wp_die();
105
+ }
106
+ }
107
+
108
+ /**
109
+ * Process submitted form data
110
+ *
111
+ * @since 1.0.0
112
+ * @return void
113
+ */
114
+ public function process_form( $data = array(), $is_ajax = false ) {
115
+
116
+ // Set our data var to $_POST if we dont get it passed in
117
+ if ( empty( $data ) ) {
118
+
119
+ $data = $_POST; // @codingStandardsIgnoreLine
120
+ }
121
+
122
+ // Don't check for submitted if we are doing it over ajax
123
+ if ( ! $is_ajax ) {
124
+ // If we don't have our submitted action, just bail out
125
+ if ( ! isset( $data['ctct-submitted'] ) ) {
126
+ return;
127
+ }
128
+ }
129
+
130
+ // If we don't have our submitted form id, just bail out
131
+ if ( ! isset( $data['ctct-id'] ) ) {
132
+ return;
133
+ }
134
+
135
+ // If we don't have our submitted form verify, just bail out
136
+ if ( ! isset( $data['ctct-verify'] ) ) {
137
+ return;
138
+ }
139
+
140
+ // Verify our nonce first
141
+ if (
142
+ ! isset( $data['ctct_form'] ) ||
143
+ ! wp_verify_nonce( $data['ctct_form'], 'ctct_submit_form' )
144
+ ) {
145
+ // figure out a way to pass errors back
146
+ return array(
147
+ 'status' => 'named_error',
148
+ 'error' => __( 'We had trouble processing your submission. Please review your entries and try again.', 'constant-contact-forms' ),
149
+ );
150
+ }
151
+
152
+ // Make sure we have an original form id
153
+ $orig_form_id = absint( $data['ctct-id'] );
154
+ if ( ! $orig_form_id ) {
155
+ return array(
156
+ 'status' => 'named_error',
157
+ 'error' => __( "We had trouble processing your submission. Make sure you haven't changed the required Form ID and try again.", 'constant-contact-forms' ),
158
+ );
159
+ }
160
+
161
+ // Make sure we have a verify value
162
+ $form_verify = esc_attr( $data['ctct-verify'] );
163
+ if ( ! $form_verify ) {
164
+ return array(
165
+ 'status' => 'named_error',
166
+ 'error' => __( "We had trouble processing your submission. Make sure you haven't changed the required Form ID and try again.", 'constant-contact-forms' ),
167
+ );
168
+ }
169
+
170
+ // Make sure our verify key matches our saved one
171
+ $orig_verify = get_post_meta( $orig_form_id, '_ctct_verify_key', true );
172
+ if ( $orig_verify !== $form_verify ) {
173
+ return array(
174
+ 'status' => 'named_error',
175
+ 'error' => __( "We had trouble processing your submission. Make sure you haven't changed the required Form ID and try again.", 'constant-contact-forms' ),
176
+ );
177
+ }
178
+
179
+ // If the submit button is clicked, send the email.
180
+ foreach ( $data as $key => $value ) {
181
+
182
+ // Allow ignoring of certain keys, like our nonce.
183
+ $ignored_keys = apply_filters( 'constant_contact_ignored_post_form_values', array(
184
+ 'ctct-submitted',
185
+ 'ctct_form',
186
+ '_wp_http_referer',
187
+ 'ctct-verify',
188
+ ) );
189
+
190
+ // if our key we're processing is in our array, ignore it
191
+ if ( in_array( $key, $ignored_keys, true ) ) {
192
+ continue;
193
+ }
194
+
195
+ // Add our responses to a form we can deal with shortly.
196
+ $return['values'][] = array(
197
+ 'key' => sanitize_text_field( $key ),
198
+ 'value' => sanitize_text_field( $value ),
199
+ );
200
+ }
201
+
202
+ if ( ! isset( $return['values'] ) || ! is_array( $return['values'] ) ) {
203
+ return;
204
+ }
205
+
206
+ // Check for specific validation errors
207
+ $field_errors = $this->get_field_errors( $this->clean_values( $return['values'] ), $is_ajax );
208
+
209
+ // If we got errors
210
+ if ( is_array( $field_errors ) && ! empty( $field_errors ) ) {
211
+
212
+ // Send back an error status, a message, the errors we found, and all orig values
213
+ return array(
214
+ 'status' => 'req_error',
215
+ 'errors' => $field_errors,
216
+ 'values' => $return['values'],
217
+ );
218
+ }
219
+
220
+ // if we're not processing the opt-in stuff, we can just return our data here
221
+ if ( ! isset( $data['ctct-opt-in'] ) ) {
222
+
223
+ if ( ! $is_ajax ) {
224
+
225
+ // at this point we can process all of our submitted values
226
+ constant_contact()->mail->submit_form_values( $return['values'] );
227
+ }
228
+
229
+ $return['status'] = 'success';
230
+ return $return;
231
+ }
232
+
233
+ if ( ! $is_ajax ) {
234
+
235
+ // at this point we can process all of our submitted values
236
+ constant_contact()->mail->submit_form_values( $return['values'], true );
237
+ }
238
+
239
+ $return['status'] = 'success';
240
+ return $return;
241
+ }
242
+
243
+
244
+
245
+ /**
246
+ * Pretty our values up
247
+ *
248
+ * @since 1.0.0
249
+ * @param array $values values
250
+ * @return array values but better
251
+ */
252
+ public function pretty_values( $values = array() ) {
253
+
254
+ // Sanity check
255
+ if ( ! is_array( $values ) ) {
256
+ return '';
257
+ }
258
+
259
+ // Loop through once to get our form ID
260
+ $form_id = 0;
261
+ foreach ( $values as $key => $value ) {
262
+
263
+ // Sanity check and check to see if we get our form ID
264
+ // when we find it, break out
265
+ if ( isset( $value['key'] ) && isset( $value['value'] ) ) {
266
+
267
+ // if we match our form ID, perfect
268
+ if ( 'ctct-id' === $value['key'] ) {
269
+
270
+ // set our form id, unset, and break out
271
+ $form_id = absint( $value['value'] );
272
+ unset( $values['ctct-id'] );
273
+ break;
274
+ }
275
+ }
276
+ }
277
+
278
+ // If we didn't get a form ID, bail out
279
+ if ( ! $form_id ) {
280
+ return '';
281
+ }
282
+
283
+ // Get our original fields
284
+ $orig_fields = $this->get_original_fields( $form_id );
285
+
286
+ // if its not an array, bail out
287
+ if ( ! is_array( $orig_fields ) ) {
288
+ return;
289
+ }
290
+
291
+ // this is what we'll use
292
+ $pretty_values = array();
293
+
294
+ // Loop through each field again
295
+ foreach ( $values as $key => $value ) {
296
+
297
+ // make sure we have a value
298
+ if ( empty( $value ) ) {
299
+ continue;
300
+ }
301
+
302
+ // make sure we have a value
303
+ if ( ! isset( $value['key'] ) ) {
304
+ continue;
305
+ }
306
+
307
+ // Make sure we have an orig field with the same key
308
+ if ( ! isset( $orig_fields[ $key ] ) ) {
309
+ continue;
310
+ }
311
+
312
+ // Make sure we have the orig mapping key
313
+ if ( ! isset( $orig_fields[ $key ]['map_to'] ) ) {
314
+ continue;
315
+ }
316
+
317
+ // force value to be set
318
+ $value['value'] = isset( $value['value'] ) ? $value['value'] : '';
319
+
320
+ // Send back our data
321
+ $pretty_values[] = array(
322
+ 'orig' => $orig_fields[ $key ],
323
+ 'post' => $value['value'],
324
+ 'orig_key' => isset( $value['orig_key'] ) ? $value['orig_key'] : '',
325
+ );
326
+
327
+ }
328
+
329
+ // Send it back
330
+ return $pretty_values;
331
+ }
332
+
333
+ /**
334
+ * Gets our original field from a form id
335
+ *
336
+ * @since 1.0.0
337
+ * @param int $form_id form id
338
+ * @return array array of form data
339
+ */
340
+ public function get_original_fields( $form_id ) {
341
+
342
+ // Sanity check
343
+ if ( ! $form_id ) {
344
+ return false;
345
+ }
346
+
347
+ // Get our fields post meta
348
+ $fields = get_post_meta( $form_id, 'custom_fields_group', true );
349
+
350
+ // Sanity check again
351
+ if ( ! is_array( $fields ) ) {
352
+ return false;
353
+ }
354
+
355
+ // Start our return array
356
+ $return = array();
357
+
358
+ // Loop through fields to expand some multi-field groups
359
+ foreach ( $fields as $field ) {
360
+
361
+ // if we don't have a map, skip this loop
362
+ if ( ! isset( $field['_ctct_map_select'] ) ) {
363
+ continue;
364
+ }
365
+
366
+ // set our key field thing
367
+ $field_key = array(
368
+ 'name' => isset( $field['_ctct_field_label'] ) ? $field['_ctct_field_label'] : '',
369
+ 'map_to' => isset( $field['_ctct_map_select'] ) ? $field['_ctct_map_select'] : '',
370
+ 'type' => isset( $field['_ctct_map_select'] ) ? $field['_ctct_map_select'] : '',
371
+ 'description' => isset( $field['_ctct_field_desc'] ) ? $field['_ctct_field_desc'] : '',
372
+ 'required' => ( isset( $field['_ctct_required_field'] ) && $field['_ctct_required_field'] ) ? true : false,
373
+ );
374
+
375
+ switch ( $field['_ctct_map_select'] ) {
376
+ case 'address':
377
+ $return[ 'street_address___' . md5( serialize( $field_key ) ) ] = $field_key;
378
+ $return[ 'street_address___' . md5( serialize( $field_key ) ) ]['_ctct_map_select'] = 'street';
379
+
380
+ $return[ 'line_2_address___' . md5( serialize( $field_key ) ) ] = $field_key;
381
+ $return[ 'line_2_address___' . md5( serialize( $field_key ) ) ]['_ctct_map_select'] = 'line_2';
382
+
383
+ $return[ 'city_address___' . md5( serialize( $field_key ) ) ] = $field_key;
384
+ $return[ 'city_address___' . md5( serialize( $field_key ) ) ]['_ctct_map_select'] = 'city';
385
+
386
+ $return[ 'state_address___' . md5( serialize( $field_key ) ) ] = $field_key;
387
+ $return[ 'state_address___' . md5( serialize( $field_key ) ) ]['_ctct_map_select'] = 'state';
388
+
389
+ $return[ 'zip_address___' . md5( serialize( $field_key ) ) ] = $field_key;
390
+ $return[ 'zip_address___' . md5( serialize( $field_key ) ) ]['_ctct_map_select'] = 'zip';
391
+
392
+ break;
393
+ case 'anniversery':
394
+ case 'birthday':
395
+ $return[ 'month___' . md5( serialize( $field_key ) ) ] = $field_key;
396
+ $return[ 'month___' . md5( serialize( $field_key ) ) ]['_ctct_map_select'] = 'month';
397
+
398
+ $return[ 'day___' . md5( serialize( $field_key ) ) ] = $field_key;
399
+ $return[ 'day___' . md5( serialize( $field_key ) ) ]['_ctct_map_select'] = 'day';
400
+
401
+ $return[ 'year___' . md5( serialize( $field_key ) ) ] = $field_key;
402
+ $return[ 'year___' . md5( serialize( $field_key ) ) ]['_ctct_map_select'] = 'year';
403
+
404
+ break;
405
+ default:
406
+ $return[ $field['_ctct_map_select'] . '___' . md5( serialize( $field_key ) ) ] = $field_key;
407
+ break;
408
+ }
409
+ }
410
+
411
+ return $return;
412
+ }
413
+
414
+ /**
415
+ * Get field requirement errors
416
+ *
417
+ * @since 1.0.0
418
+ * @param array $values values
419
+ * @return array return error code stuff
420
+ */
421
+ public function get_field_errors( $values, $is_ajax = false ) {
422
+
423
+ // get our values with full orig field comparisons
424
+ $values = $this->pretty_values( $values );
425
+
426
+ // Sanity check
427
+ if ( ! is_array( $values ) ) {
428
+ return array();
429
+ }
430
+
431
+ // set up an array to populate with errors
432
+ $err_returns = array();
433
+
434
+ // Loop through each value
435
+ foreach ( $values as $value ) {
436
+ // Sanity check
437
+ if (
438
+ ! isset( $value['orig'] ) ||
439
+ ! isset( $value['post'] ) ||
440
+ ! isset( $value['orig']['map_to'] )
441
+ ) {
442
+ continue;
443
+ }
444
+
445
+ // Do a check for if field was required
446
+ if (
447
+ isset( $value['orig']['required'] ) &&
448
+ $value['orig']['required'] &&
449
+ $value['orig']['required']
450
+ ) {
451
+ // If it was required, check for a value
452
+ if ( ! $value['post'] ) {
453
+ $err_returns[] = array(
454
+ 'map' => $value['orig']['map_to'],
455
+ 'id' => isset( $value['orig_key'] ) ? $value['orig_key'] : '',
456
+ 'error' => 'required',
457
+ );
458
+ }
459
+ }
460
+
461
+ if ( 'email' === $value['orig']['map_to'] ) {
462
+ if ( sanitize_email( $value['post'] ) !== $value['post'] ) {
463
+ $err_returns[] = array(
464
+ 'map' => $value['orig']['map_to'],
465
+ 'id' => isset( $value['orig_key'] ) ? $value['orig_key'] : '',
466
+ 'error' => 'invalid',
467
+ );
468
+ }
469
+ }
470
+ }
471
+
472
+ return $err_returns;
473
+ }
474
+
475
+
476
+
477
+ /**
478
+ * Clean our values from form submission
479
+ *
480
+ * @since 1.0.0
481
+ * @param array $values values to clean
482
+ * @return array cleaned values
483
+ */
484
+ public function clean_values( $values ) {
485
+
486
+ // Sanity check that
487
+ if ( ! is_array( $values ) ) {
488
+ return $values;
489
+ }
490
+
491
+ $return_values = array();
492
+
493
+ // Loop through each of our values
494
+ foreach ( $values as $value ) {
495
+
496
+ // if we don't have a key and value set, skip it
497
+ if ( ! isset( $value['key'] ) || ! isset( $value['value'] ) ) {
498
+ continue;
499
+ }
500
+
501
+ // we made our fields look like first_name___435fajiosdf to force unique
502
+ $key_break = explode( '___', $value['key'] );
503
+
504
+ // Make sure we actually got something for that
505
+ if ( ! isset( $key_break[0] ) || ! $key_break[0] ) {
506
+ continue;
507
+ }
508
+
509
+ $return_values[ sanitize_text_field( $value['key'] ) ] = array(
510
+ 'key' => sanitize_text_field( $key_break[0] ),
511
+ 'value' => sanitize_text_field( $value['value'] ),
512
+ 'orig_key' => $value['key'],
513
+ );
514
+ }
515
+
516
+ return $return_values;
517
+ }
518
+
519
+ /**
520
+ * Form submit success/error messages.
521
+ *
522
+ * @since 1.0.0
523
+ * @return void
524
+ */
525
+ public function process_wrapper( $form_data = array(), $form_id = '' ) {
526
+
527
+ // Process our data, and get our response.
528
+ $processed = $this->process_form();
529
+
530
+ // set up our default error
531
+ $default_error = __( 'There was an error sending your form.', 'constant-contact-forms' );
532
+
533
+ // default to no status
534
+ $status = false;
535
+
536
+ // If we got a status back, check that in our list of returns
537
+ if ( isset( $processed['status'] ) && $processed['status'] ) {
538
+ $status = $processed['status'];
539
+ }
540
+
541
+ // switch based on our status code
542
+ switch ( $status ) {
543
+
544
+ // yay success
545
+ case 'success':
546
+ $message = __( 'Your information has been submitted.', 'constant-contact-forms' );
547
+ break;
548
+
549
+ // generic error
550
+ case 'error':
551
+ $message = $default_error;
552
+ break;
553
+
554
+ // named error from our process
555
+ case 'named_error':
556
+ $message = isset( $processed['error'] ) ? $processed['error'] : $default_error;
557
+ break;
558
+
559
+ // required field errors
560
+ case 'req_error':
561
+ return array(
562
+ 'status' => 'error',
563
+ 'message' => __( 'We had trouble processing your submission. Please review your entries and try again.', 'constant-contact-forms' ),
564
+ 'errors' => isset( $processed['errors'] ) ? $processed['errors'] : '',
565
+ 'values' => isset( $processed['values'] ) ? $processed['values'] : '',
566
+ );
567
+
568
+ // all else fails, then we'll just use the default
569
+ default:
570
+ $message = '';
571
+ break;
572
+ }
573
+
574
+ return array(
575
+ 'status' => $status,
576
+ 'message' => $message,
577
+ );
578
+ }
579
+ }
includes/class-settings.php ADDED
@@ -0,0 +1,649 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @package ConstantContact
4
+ * @subpackage Settings
5
+ * @author Pluginize
6
+ * @since 1.0.0
7
+ */
8
+
9
+ /**
10
+ * Powers our settings and options page, as well as injecting our optins to the front-end.
11
+ */
12
+ class ConstantContact_Settings {
13
+
14
+ /**
15
+ * Option key, and option page slug
16
+ *
17
+ * @var string
18
+ * @since 1.0.0
19
+ */
20
+ private $key = 'ctct_options_settings';
21
+
22
+ /**
23
+ * Settings page metabox id
24
+ *
25
+ * @var string
26
+ * @since 1.0.0
27
+ */
28
+ private $metabox_id = 'ctct_option_metabox_settings';
29
+
30
+ /**
31
+ * Settings Page title
32
+ *
33
+ * @var string
34
+ * @since 1.0.0
35
+ */
36
+ protected $title = '';
37
+
38
+ /**
39
+ * Settings Page hook
40
+ *
41
+ * @var string
42
+ * @since 1.0.0
43
+ */
44
+ protected $options_page = '';
45
+
46
+ /**
47
+ * Parent plugin class
48
+ *
49
+ * @var class
50
+ * @since 0.0.1
51
+ */
52
+ protected $plugin = null;
53
+
54
+ /**
55
+ * Constructor
56
+ *
57
+ * @since 1.0.0
58
+ * @param object $plugin parent plugin instance.
59
+ * @return void
60
+ */
61
+ public function __construct( $plugin ) {
62
+ $this->plugin = $plugin;
63
+ $this->hooks();
64
+ }
65
+
66
+ /**
67
+ * Initiate our hooks
68
+ *
69
+ * @since 1.0.0
70
+ */
71
+ public function hooks() {
72
+
73
+ // Kick it off / register our settings
74
+ add_action( 'admin_init', array( $this, 'init' ) );
75
+
76
+ // Add our options menu + options page
77
+ add_action( 'admin_menu', array( $this, 'add_options_page' ) );
78
+ add_action( 'cmb2_admin_init', array( $this, 'add_options_page_metabox' ) );
79
+
80
+ // Override CMB's getter.
81
+ add_filter( 'cmb2_override_option_get_' . $this->key, array( $this, 'get_override' ), 10, 2 );
82
+
83
+ // Override CMB's setter.
84
+ add_filter( 'cmb2_override_option_save_' . $this->key, array( $this, 'update_override' ), 10, 2 );
85
+
86
+ // Hook in all our form opt-in injects, decide to show or not when we are at the display point
87
+ $this->inject_optin_form_hooks();
88
+
89
+ // Process our opt-ins
90
+ add_filter( 'preprocess_comment', array( $this, 'process_optin_comment_form' ) );
91
+ add_filter( 'authenticate', array( $this, 'process_optin_login_form' ), 10, 3 );
92
+ }
93
+
94
+ /**
95
+ * Hook in all our form opt-in injects, decide to show or not when we are at the display point
96
+ *
97
+ * @since 1.0.0
98
+ */
99
+ public function inject_optin_form_hooks() {
100
+
101
+ // Login form
102
+ add_action( 'login_form', array( $this, 'optin_form_field_login' ) );
103
+
104
+ // Comment Form
105
+ add_action( 'comment_form_after_fields', array( $this, 'optin_form_field_comment' ) );
106
+
107
+ // Registration form
108
+ add_action( 'register_form', array( $this, 'optin_form_field_registration' ) );
109
+ add_action( 'signup_extra_fields', array( $this, 'optin_form_field_registration' ) );
110
+ }
111
+
112
+ /**
113
+ * Register our setting to WP
114
+ *
115
+ * @since 1.0.0
116
+ */
117
+ public function init() {
118
+ register_setting( $this->key, $this->key );
119
+ }
120
+
121
+ /**
122
+ * Add menu options page
123
+ *
124
+ * @since 1.0.0
125
+ */
126
+ public function add_options_page() {
127
+
128
+ // Only show our settings page if we're connected to CC
129
+ if ( constant_contact()->api->is_connected() ) {
130
+
131
+ $this->options_page = add_submenu_page(
132
+ 'edit.php?post_type=ctct_forms',
133
+ __( 'Advanced Opt-in', 'constant-contact-forms' ),
134
+ __( 'Advanced Opt-in', 'constant-contact-forms' ),
135
+ 'manage_options',
136
+ $this->key,
137
+ array( $this, 'admin_page_display' )
138
+ );
139
+
140
+ // Include CMB CSS in the head to avoid FOUC.
141
+ add_action( "admin_print_styles-{$this->options_page}", array( 'CMB2_hookup', 'enqueue_cmb_css' ) );
142
+ }
143
+ }
144
+
145
+ /**
146
+ * Admin page markup. Mostly handled by CMB2
147
+ *
148
+ * @since 1.0.0
149
+ */
150
+ public function admin_page_display() {
151
+ ?>
152
+ <div class="wrap cmb2-options-page <?php echo esc_attr( $this->key ); ?>">
153
+ <h2><?php esc_attr_e( 'Advanced Opt-in', 'constant-contact-forms' ); ?></h2>
154
+ <?php
155
+ if ( function_exists( 'cmb2_metabox_form' ) ) {
156
+ cmb2_metabox_form( $this->metabox_id, $this->key );
157
+ }
158
+
159
+ // add 'ctct-debug-server-check' to query args to display server debug
160
+ $this->plugin->check->maybe_display_debug_info();
161
+ ?>
162
+ </div>
163
+ <?php
164
+ }
165
+
166
+ /**
167
+ * Are we on the settings page?
168
+ *
169
+ * @since 1.0.0
170
+ * @return boolean if we are on the settings page or not
171
+ */
172
+ public function on_settings_page() {
173
+
174
+ // Get our current page
175
+ global $pagenow;
176
+
177
+ // Check if we're on edit.php, and if we're on our options page, cast to bool and return
178
+ return ( 'edit.php' === $pagenow && isset( $_GET['page'] ) && 'ctct_options_settings' === $_GET['page'] ); // Input var okay.
179
+ }
180
+
181
+ /**
182
+ * Add the options metabox to the array of metaboxes
183
+ *
184
+ * @since 1.0.0
185
+ */
186
+ function add_options_page_metabox() {
187
+
188
+ // Hook in our save notices.
189
+ add_action( "cmb2_save_options-page_fields_{$this->metabox_id}", array( $this, 'settings_notices' ), 10, 2 );
190
+
191
+ // Only do the settings fields if we're on the options settings page of edit.php
192
+ if ( $this->on_settings_page() ) {
193
+
194
+ // Start our new field
195
+ $cmb = new_cmb2_box( array(
196
+ 'id' => $this->metabox_id,
197
+ 'hookup' => false,
198
+ 'cmb_styles' => false,
199
+ 'show_on' => array(
200
+ 'key' => 'options-page',
201
+ 'value' => array( $this->key ),
202
+ ),
203
+ ) );
204
+
205
+ // Get our lists fields
206
+ $this->do_lists_field( $cmb );
207
+ }
208
+ }
209
+
210
+ /**
211
+ * Helper to show our lists field for settings
212
+ *
213
+ * @since 1.0.0
214
+ * @param object $cmb CMB fields object
215
+ */
216
+ public function do_lists_field( $cmb ) {
217
+
218
+ // Get our lists
219
+ $lists = constant_contact()->builder->get_lists();
220
+
221
+ if ( $lists && is_array( $lists ) ) {
222
+
223
+ // Set our CMB2 fields.
224
+ $cmb->add_field( array(
225
+ 'name' => __( 'Opt-in Location', 'constant-contact-forms' ),
226
+ 'id' => '_ctct_optin_forms',
227
+ 'type' => 'multicheck',
228
+ 'options' => $this->get_optin_show_options(),
229
+ ) );
230
+
231
+ // Tack on 'select a list' to our lists array
232
+ $lists[0] = __( 'Select a list', 'constant-contact-forms' );
233
+
234
+ $cmb->add_field( array(
235
+ 'name' => __( 'Add subscribers to', 'constant-contact-forms' ),
236
+ 'id' => '_ctct_optin_list',
237
+ 'type' => 'select',
238
+ 'show_option_none' => false,
239
+ 'default' => __( 'Select a list', 'constant-contact-forms' ),
240
+ 'options' => $lists,
241
+ ) );
242
+
243
+ // Get the business name and address.
244
+ $business_name = get_bloginfo( 'name' ) ?: __( 'Business Name', 'constant-contact-forms' );
245
+ $business_addr = '';
246
+
247
+ // We might be able to get it from the API?
248
+ if ( ! empty( $disclosure_info = $this->plugin->api->get_disclosure_info( true ) ) ) {
249
+ // Make sure no one can edit.
250
+ $business_name = $disclosure_info['name'] ?: $business_name;
251
+ $business_addr = $disclosure_info['address'] ?: '';
252
+ }
253
+
254
+ $cmb->add_field( array(
255
+ 'name' => __( 'Opt-in Affirmation', 'constant-contact-forms' ),
256
+ 'id' => '_ctct_optin_label',
257
+ 'type' => 'text',
258
+ 'default' => sprintf( __( 'Yes, I would like to receive emails from %s. Sign me up!', 'constant-contact-forms' ), $business_name ),
259
+ ) );
260
+
261
+ if ( empty( $disclosure_info ) ) {
262
+ $cmb->add_field( array(
263
+ 'name' => __( 'Disclosure Name', 'constant-contact-forms' ),
264
+ 'id' => '_ctct_disclose_name',
265
+ 'type' => 'text',
266
+ 'default' => $business_name,
267
+ 'attributes' => strlen( $business_name ) ? array( 'readonly' => 'readonly' ) : array(),
268
+ ) );
269
+
270
+ $cmb->add_field( array(
271
+ 'name' => __( 'Disclosure Address', 'constant-contact-forms' ),
272
+ 'id' => '_ctct_disclose_address',
273
+ 'type' => 'text',
274
+ 'default' => $business_addr,
275
+ 'attributes' => strlen( $business_addr ) ? array( 'readonly' => 'readonly' ) : array(),
276
+ ) );
277
+ }
278
+ }
279
+ }
280
+
281
+ /**
282
+ * Get array of options for our 'optin show' settings
283
+ *
284
+ * @since 1.0.0
285
+ * @return array array of options
286
+ */
287
+ public function get_optin_show_options() {
288
+
289
+ // Set up our default options
290
+ $optin_options = array(
291
+ 'comment_form' => __( 'Add a checkbox to the comment field in your posts', 'constant-contact-forms' ),
292
+ 'login_form' => __( 'Add a checkbox to the main WordPress login page', 'constant-contact-forms' ),
293
+ );
294
+
295
+ // If users can register, then allow this option as well
296
+ if ( get_option( 'users_can_register' ) ) {
297
+ $optin_options['reg_form'] = __( 'Add a checkbox to the WordPress user registration page', 'constant-contact-forms' );
298
+ }
299
+
300
+ // Send em back
301
+ return $optin_options;
302
+ }
303
+
304
+ /**
305
+ * Based on a type of form we pass in, check if the saved option
306
+ * for that form is checked or not in the admin
307
+ *
308
+ * @since 1.0.0
309
+ * @param string $type allowed values: 'login_form', 'comment_form', 'reg_form'
310
+ * @return boolean if should show or not
311
+ */
312
+ public function check_if_optin_should_show( $type ) {
313
+
314
+ // Get all our settings
315
+ $available_areas = ctct_get_settings_option( '_ctct_optin_forms' );
316
+
317
+ // If our settings aren't an array, bail out
318
+ if ( ! is_array( $available_areas ) ) {
319
+ return false;
320
+ }
321
+
322
+ // Otherwise, check to see if our check is in the array
323
+ return in_array( $type, $available_areas, true );
324
+ }
325
+
326
+ /**
327
+ * Potentially add our opt-in form to the login form. We have three almost
328
+ * identical functions here. This allows us to hook them all in by themselves
329
+ * and determine whether or not they should have been hooked in when we get
330
+ * to displaying them, rather than on potentially pages we dont care about.
331
+ *
332
+ * @since 1.0.0
333
+ * @return void
334
+ */
335
+ public function optin_form_field_login() {
336
+
337
+ // If we should show it this field, then show it
338
+ if ( $this->check_if_optin_should_show( 'login_form' ) ) {
339
+ $this->optin_form_field();
340
+ }
341
+ }
342
+
343
+ /**
344
+ * Potentially add our opt-in form to comment forms
345
+ *
346
+ * @since 1.0.0
347
+ * @return void
348
+ */
349
+ public function optin_form_field_comment() {
350
+
351
+ // If we should show it this field, then show it
352
+ if ( $this->check_if_optin_should_show( 'comment_form' ) ) {
353
+ $this->optin_form_field();
354
+ }
355
+ }
356
+
357
+ /**
358
+ * Potentially add our opt-in form to the registration form
359
+ *
360
+ * @since 1.0.0
361
+ * @return void
362
+ */
363
+ public function optin_form_field_registration() {
364
+
365
+ // If we should show it this field, then show it
366
+ if ( $this->check_if_optin_should_show( 'reg_form' ) ) {
367
+ $this->optin_form_field();
368
+ }
369
+ }
370
+
371
+ /**
372
+ * Opt in field checkbox
373
+ *
374
+ * @since 1.0.0
375
+ * @return void
376
+ */
377
+ public function optin_form_field() {
378
+
379
+ // Only show this if we're connected
380
+ if ( ! constant_contact()->api->is_connected() ) {
381
+ return;
382
+ }
383
+
384
+ // Get our label, based on our settings if they're available
385
+ $saved_label = ctct_get_settings_option( '_ctct_optin_label' );
386
+ $list = ctct_get_settings_option( '_ctct_optin_list' );
387
+
388
+ // Otherwise, use our default
389
+ $label = $saved_label ? $saved_label : __( 'Sign up to our newsletter.', 'constant-contact-forms' );
390
+
391
+ ?><p class="ctct-optin-wrapper" style="padding: 0 0 1em 0;">
392
+ <label for="ctct_optin">
393
+ <input type="checkbox" value="<?php echo esc_attr( $list ); ?>" class="checkbox" id="ctct_optin" name="ctct_optin_list" />
394
+ <?php echo esc_attr( $label ); ?>
395
+ </label>
396
+ <?php wp_nonce_field( 'ct_ct_add_to_optin', 'ct_ct_optin', true, true ); ?>
397
+ </p><?php
398
+
399
+ }
400
+
401
+ /**
402
+ * Sends contact to CTCT if optin checked
403
+ *
404
+ * @since 1.0.0
405
+ * @param array $comment_data comment form data.
406
+ * @return array comment form data
407
+ */
408
+ public function process_optin_comment_form( $comment_data ) {
409
+
410
+ // Sanity check
411
+ if ( ! isset( $_POST['ctct_optin_list'] ) ) { // Input var okay.
412
+ return $comment_data;
413
+ }
414
+
415
+ // nonce sanity check
416
+ if ( ! isset( $_POST['ct_ct_optin'] ) ) { // Input var okay.
417
+ return $comment_data;
418
+ }
419
+
420
+ // Check our nonce
421
+ if ( ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['ct_ct_optin'] ) ), 'ct_ct_add_to_optin' ) ) { // Input var okay.
422
+ return $comment_data;
423
+ }
424
+
425
+ // Send our data to be processed, send back original comment data
426
+ return $this->_process_comment_data_for_optin( $comment_data );
427
+ }
428
+
429
+ /**
430
+ * Process our comment data and send to CC
431
+ *
432
+ * @since 1.0.0
433
+ * @param array $comment_data array of comment data
434
+ * @return array passed in comment data
435
+ */
436
+ public function _process_comment_data_for_optin( $comment_data ) {
437
+
438
+ // finally, if we have at least an email, then add it to the api
439
+ if ( isset( $comment_data['comment_author_email'] ) && $comment_data['comment_author_email'] ) {
440
+
441
+ // If we can grab a name, try to use it
442
+ $name = isset( $comment_data['comment_author'] ) ? $comment_data['comment_author'] : '';
443
+
444
+ // If we can get a website, use it
445
+ $website = isset( $comment_data['comment_author_url'] ) ? $comment_data['comment_author_url'] : '';
446
+
447
+ // Check for our list
448
+ //
449
+ // We also flag PHPCS to ignore this line, as we get
450
+ // a nonce verification error, but we process the nonce
451
+ // quite a bit earlier than this
452
+ //
453
+ // @codingStandardsIgnoreLine
454
+ if ( ! isset( $_POST['ctct_optin_list'] ) ) { // Input var okay.
455
+ return $comment_data;
456
+ }
457
+
458
+ // Set up a helper var
459
+ //
460
+ // We also flag PHPCS to ignore this line, as we get
461
+ // a nonce verification error, but we process the nonce
462
+ // quite a bit earlier than this
463
+ //
464
+ // @codingStandardsIgnoreLine
465
+ $list = sanitize_text_field( wp_unslash( $_POST['ctct_optin_list'] ) ); // Input var okay.
466
+
467
+ // Build up our data array
468
+ $args = array(
469
+ 'list' => $list,
470
+ 'email' => sanitize_email( $comment_data['comment_author_email'] ),
471
+ 'first_name' => sanitize_text_field( $name ),
472
+ 'last_name' => '',
473
+ 'website' => sanitize_text_field( $website ),
474
+ );
475
+
476
+ // Add the contact, based on our whitelist of information we have from above
477
+ constantcontact_api()->add_contact( $args );
478
+ }
479
+
480
+ // Send back original comment data
481
+ return $comment_data;
482
+ }
483
+
484
+ /**
485
+ * Sends contact to CTCT if optin checked
486
+ *
487
+ * @since 1.0.0
488
+ * @param array $user
489
+ * @param string $username login name.
490
+ * @param string $password user password.
491
+ * @return object CTCT return API for contact
492
+ */
493
+ public function process_optin_login_form( $user, $username, $password ) {
494
+
495
+ // Sanity check
496
+ if ( ! isset( $_POST['ctct_optin_list'] ) ) { // Input var okay.
497
+ return $user;
498
+ }
499
+
500
+ // nonce sanity check
501
+ if ( ! isset( $_POST['ct_ct_optin'] ) ) { // Input var okay.
502
+ return $user;
503
+ }
504
+
505
+ // Check our nonce
506
+ if ( ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['ct_ct_optin'] ) ), 'ct_ct_add_to_optin' ) ) { // Input var okay.
507
+ return $user;
508
+ }
509
+
510
+ // Check username
511
+ if ( empty( $username ) ) {
512
+ return $user;
513
+ }
514
+
515
+ // Send data to CC and send back our passed in user object
516
+ return $this->_process_user_data_for_optin( $user, $username );
517
+ }
518
+
519
+ /**
520
+ * Sends user data to CC
521
+ *
522
+ * @since 1.0.0
523
+ * @param object $user WP user object
524
+ * @param string $username username
525
+ * @return object passed in $user object
526
+ */
527
+ public function _process_user_data_for_optin( $user, $username ) {
528
+
529
+ // Get user
530
+ $user_data = get_user_by( 'login', $username );
531
+
532
+ // Get email
533
+ if ( $user_data && isset( $user_data->data ) && isset( $user_data->data->user_email ) ) {
534
+ $email = sanitize_email( $user_data->data->user_email );
535
+ } else {
536
+ $email = '';
537
+ }
538
+
539
+ // Get name
540
+ if ( $user_data && isset( $user_data->data ) && isset( $user_data->data->display_name ) ) {
541
+ $name = sanitize_text_field( $user_data->data->display_name );
542
+ } else {
543
+ $name = '';
544
+ }
545
+
546
+ // We also flag PHPCS to ignore this line, as we get
547
+ // a nonce verification error, but we process the nonce
548
+ // quite a bit earlier than this
549
+ //
550
+ // @codingStandardsIgnoreLine
551
+ if ( ! isset( $_POST['ctct_optin_list'] ) ) {
552
+ return $user;
553
+ }
554
+
555
+ // We also flag PHPCS to ignore this line, as we get
556
+ // a nonce verification error, but we process the nonce
557
+ // quite a bit earlier than this
558
+ //
559
+ // @codingStandardsIgnoreLine
560
+ $list = sanitize_text_field( wp_unslash( $_POST['ctct_optin_list'] ) );
561
+
562
+ // If we have one or the other, try it
563
+ if ( $email ) {
564
+ $args = array(
565
+ 'email' => $email,
566
+ 'list' => $list,
567
+ 'first_name' => $name,
568
+ 'last_name' => '',
569
+ );
570
+
571
+ // Add the contact!
572
+ constantcontact_api()->add_contact( $args );
573
+ }
574
+
575
+ // Send back our passed in user object
576
+ return $user;
577
+ }
578
+
579
+ /**
580
+ * Register settings notices for display
581
+ *
582
+ * @since 1.0.0
583
+ * @param int $object_id Option key
584
+ * @param array $updated Array of updated fields
585
+ * @return void
586
+ */
587
+ public function settings_notices( $object_id, $updated ) {
588
+
589
+ // Sanity checking
590
+ if ( $object_id !== $this->key || empty( $updated ) ) {
591
+ return;
592
+ }
593
+
594
+ // Output any errors / notices we need
595
+ add_settings_error( $this->key . '-notices', '', __( 'Settings updated.', 'constant-contact-forms' ), 'updated' );
596
+ settings_errors( $this->key . '-notices' );
597
+ }
598
+
599
+ /**
600
+ * Replaces get_option with get_site_option
601
+ *
602
+ * @since 1.0.0
603
+ * @return mixed site option
604
+ */
605
+ public function get_override( $test, $default = false ) {
606
+ return get_site_option( $this->key, $default );
607
+ }
608
+
609
+ /**
610
+ * Replaces update_option with update_site_option
611
+ *
612
+ * @since 1.0.0
613
+ * @return mixed site option
614
+ */
615
+ public function update_override( $test, $option_value ) {
616
+ return update_site_option( $this->key, $option_value );
617
+ }
618
+
619
+ /**
620
+ * Public getter method for retrieving protected/private variables
621
+ *
622
+ * @since 1.0.0
623
+ * @param string $field Field to retrieve.
624
+ * @return mixed Field value or exception is thrown
625
+ */
626
+ public function __get( $field ) {
627
+ // Allowed fields to retrieve
628
+ if ( in_array( $field, array( 'key', 'metabox_id', 'title', 'options_page' ), true ) ) {
629
+ if ( isset( $this->{$field} ) ) {
630
+ return $this->{$field};
631
+ } else {
632
+ return null;
633
+ }
634
+ }
635
+
636
+ throw new Exception( 'Invalid property: ' . $field );
637
+ }
638
+ }
639
+
640
+ /**
641
+ * Wrapper function around cmb2_get_option
642
+ *
643
+ * @since 1.0.0
644
+ * @param string $key Options array key.
645
+ * @return mixed Option value
646
+ */
647
+ function ctct_get_settings_option( $key = '' ) {
648
+ return cmb2_get_option( constant_contact()->settings->key, $key );
649
+ }
includes/class-shortcode-admin.php ADDED
@@ -0,0 +1,103 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @package ConstantContact
4
+ * @subpackage ShortcodeAdmin
5
+ * @author Pluginize
6
+ * @since 1.0.0
7
+ */
8
+
9
+ if ( class_exists( 'WDS_Shortcodes', false ) && ! class_exists( 'ConstantContact_Shortcode_Admin', false ) ) {
10
+
11
+ /**
12
+ * Extends WDS_Shortcode_Admin to add our shortcode into a pretty shortcode picker in the editor.
13
+ *
14
+ * Sets up shortcode button
15
+ */
16
+ class ConstantContact_Shortcode_Admin extends WDS_Shortcode_Admin {
17
+
18
+ /**
19
+ * Hooks
20
+ *
21
+ * @since 1.0.0
22
+ * @return void
23
+ */
24
+ public function hooks() {
25
+ add_filter( $this->shortcode . '_shortcode_fields', array( $this, 'filter_shortcode_field' ), 10, 2 );
26
+ parent::hooks();
27
+
28
+ add_action( 'save_post', array( $this, 'clear_saved_form_list_transient' ) );
29
+ }
30
+
31
+ /**
32
+ * Array of button data
33
+ *
34
+ * @since 1.0.0
35
+ * @return array
36
+ */
37
+ public function js_button_data() {
38
+
39
+ return apply_filters( 'constant_contact_shortcode_button_settings', array(
40
+ 'qt_button_text' => __( 'Add Constant Contact Form', 'constant-contact-forms' ),
41
+ 'button_tooltip' => __( 'Add Constant Contact Form', 'constant-contact-forms' ),
42
+ 'icon' => 'dashicons-feedback',
43
+ 'include_close' => false,
44
+ 'modalClass' => 'ctct',
45
+ 'modalHeight' => 'auto',
46
+ 'modalWidth' => 500,
47
+ ) );
48
+ }
49
+
50
+ /**
51
+ * Adds fields to the button modal using CMB2
52
+ *
53
+ * @since 1.0.0
54
+ * @param array $fields CMB2 fields data.
55
+ * @param array $button_data Shotcode button data.
56
+ * @return array $fields
57
+ */
58
+ public function fields( $fields, $button_data ) {
59
+
60
+ $fields[] = array(
61
+ 'name' => __( 'Form Shortcode', 'constant-contact-forms' ),
62
+ 'id' => '_ctct_form',
63
+ 'type' => 'select',
64
+ 'show_option_none' => false,
65
+ 'options' => constant_contact()->cpts->get_forms( true ),
66
+ );
67
+
68
+ return $fields;
69
+ }
70
+
71
+ /**
72
+ * Filters the data sent to the editor.
73
+ *
74
+ * @since 1.0.0
75
+ * @param array $fields CMB2 fields data.
76
+ * @param array $shortcode_button Shortcode buttond data.
77
+ * @return array
78
+ */
79
+ public function filter_shortcode_field( $fields, $shortcode_button ) {
80
+ if ( ! $shortcode_button instanceof Shortcode_Button ) {
81
+ return $fields;
82
+ }
83
+
84
+ $filtered_fields = array();
85
+
86
+ if ( isset( $fields['_ctct_form'] ) ) {
87
+ $filtered_fields['form'] = $fields['_ctct_form'];
88
+ }
89
+
90
+ return $filtered_fields;
91
+ }
92
+
93
+ /**
94
+ * Delete transient of saved form
95
+ *
96
+ * @since 1.0.0
97
+ * @return void
98
+ */
99
+ public function clear_saved_form_list_transient() {
100
+ delete_transient( 'constant_contact_shortcode_form_list' );
101
+ }
102
+ }
103
+ }
includes/class-shortcode.php ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @package ConstantContact
4
+ * @subpackage Shortcode
5
+ * @author Pluginize
6
+ * @since 1.0.0
7
+ */
8
+
9
+ if ( class_exists( 'WDS_Shortcodes', false ) && ! class_exists( 'ConstantContact_Shortcode', false ) ) {
10
+
11
+ /**
12
+ * Extends WDS_Shortcodes to easily build up our shortcode.
13
+ *
14
+ * Sets up shortcode
15
+ */
16
+ class ConstantContact_Shortcode extends WDS_Shortcodes {
17
+
18
+ /**
19
+ * The Shortcode Tag
20
+ *
21
+ * @since 1.0.0
22
+ * @var string
23
+ */
24
+ public $shortcode = 'ctct';
25
+
26
+ /**
27
+ * Default attributes applied to the shortcode.
28
+ *
29
+ * @since 1.0.0
30
+ * @var array
31
+ */
32
+ public $atts_defaults = array();
33
+
34
+ /**
35
+ * Shortcode Output
36
+ *
37
+ * @since 1.0.0
38
+ * @return string shortcode html
39
+ */
40
+ public function shortcode() {
41
+
42
+ // Attributes.
43
+ $atts = shortcode_atts( array( 'form' => '' ), $this->shortcode_object->atts );
44
+
45
+ // Use our helper class to display the shortcode
46
+ return constant_contact()->display_shortcode->shortcode_wrapper( $atts );
47
+ }
48
+
49
+ /**
50
+ * Override for attribute getter
51
+ *
52
+ * You can use this to override specific attribute acquisition
53
+ * ex. Getting attributes from options, post_meta, etc...
54
+ *
55
+ * @see WDS_Shortcode::att
56
+ *
57
+ * @since 1.0.0
58
+ * @param string $att Attribute to override.
59
+ * @param string|null $default Default value.
60
+ * @return string
61
+ */
62
+ public function att( $att, $default = null ) {
63
+ $current_value = parent::att( $att, $default );
64
+ return $current_value;
65
+ }
66
+ }
67
+
68
+ }
includes/class-updates.php ADDED
@@ -0,0 +1,138 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @package ConstantContact
4
+ * @subpackage Updates
5
+ * @author Pluginize
6
+ * @since 1.0.0
7
+ */
8
+
9
+ /**
10
+ * Powers any update version-to-version functionality we need
11
+ */
12
+ class ConstantContact_Updates {
13
+
14
+ /**
15
+ * Parent plugin class
16
+ *
17
+ * @var class
18
+ * @since 0.0.1
19
+ */
20
+ protected $plugin = null;
21
+
22
+ /**
23
+ * Constructor
24
+ *
25
+ * @since 1.0.0
26
+ * @return void
27
+ */
28
+ public function __construct( $plugin ) {
29
+ $this->plugin = $plugin;
30
+ $this->hooks();
31
+ }
32
+
33
+ /**
34
+ * Initiate our hooks.
35
+ *
36
+ * @since 1.0.0
37
+ * @return void
38
+ */
39
+ public function hooks() {
40
+
41
+ // Check to make sure we don't need to run any update functionality, but only in the admin
42
+ if ( is_admin() ) {
43
+ add_action( 'plugins_loaded', array( $this, 'check_for_update_needed' ) );
44
+ }
45
+ }
46
+
47
+ /**
48
+ * Checks our current version of the plugin and what our last installed
49
+ * version was. If necessary, will fire update functions that need to fire.
50
+ *
51
+ * @since 1.0.0
52
+ */
53
+ public function check_for_update_needed() {
54
+
55
+ // Grab what our current version in the DB is saved as
56
+ $installed = get_option( 'ctct_plugin_version', '0.0.0' );
57
+ $current = esc_attr( $this->plugin->version );
58
+
59
+ if ( ! version_compare( $current, $installed, '<' ) ) {
60
+
61
+ // Update our DB option to the current plugin version
62
+ update_option( 'ctct_plugin_version', $current, true );
63
+
64
+ // Convert our installed / current version to something we can use
65
+ // in a function name
66
+ $installed = sanitize_title( str_replace( '.', '_', $installed ) );
67
+ $current = sanitize_title( str_replace( '.', '_', $current ) );
68
+
69
+ // Build up an update method function to call if we need it
70
+ // this will create something like: run_update_v0_0_0_to_v1_0_1
71
+ // which will then get run if it needs to
72
+ $method_to_call = array( $this, esc_attr( 'run_update_v' . $installed . '_to_v' . $current ) );
73
+
74
+ // If we can call our update function, then call it, passing in 'v1_0_0' as argument
75
+ if ( is_callable( $method_to_call ) ) {
76
+ call_user_func_array( $method_to_call, array( 'v' . $current ) );
77
+ }
78
+ }
79
+ }
80
+
81
+ /**
82
+ * If we have an update that requires surfacing a notification to the user,
83
+ * let queue it up for display later at some point
84
+ *
85
+ * @since 1.0.0
86
+ * @param string $notif_id update key to use for version
87
+ */
88
+ public function add_notification( $update_id ) {
89
+
90
+ // Get our current saved update notifications
91
+ $current_notifs = get_option( 'ctct_update_notifications' );
92
+ $compare_notifs = $current_notifs;
93
+
94
+ // If its not an array, cast it as one
95
+ if ( ! is_array( $current_notifs ) ) {
96
+ $current_notifs = array();
97
+ }
98
+
99
+ // Set up our update notif ID to use
100
+ $notif_id = 'update-' . str_replace( '_', '-', esc_attr( $update_id ) );
101
+
102
+ // Tack on our new update notifications
103
+ $current_notifs[ $notif_id ] = array(
104
+ 'ID' => $notif_id,
105
+ 'callback' => array( 'ConstantContact_Notification_Content', esc_attr( $update_id ) ),
106
+ );
107
+
108
+ // Re-save it if we actually did add one
109
+ if ( $compare_notifs !== $current_notifs ) {
110
+ update_option( 'ctct_update_notifications', $current_notifs );
111
+ }
112
+ }
113
+
114
+
115
+ /**
116
+ * Sample update scaffolding for 1.0.0 -> 1.0.1 update
117
+ */
118
+ public function run_update_v1_0_0_to_v1_0_1( $version ) {
119
+
120
+ // If we need a notification, then we add it in this way
121
+
122
+ // Example of adding a notification to an update. The @codingStand.. line
123
+ // can be removed as this is to suppress commented code warnings in PHPCS
124
+ // @codingStandardsIgnoreLine
125
+ // $this->add_notification( $version );
126
+
127
+ // Here we would run any other necessary update code
128
+ }
129
+
130
+ /**
131
+ * For 0.0.0 to 1.0.1, we just run our 1.0.0 to 1.0.1.
132
+ * We currently need this in place for the above method, as a user
133
+ * doesn't always update 0.0.0->1.0.0->1.0.1, might be 0.0.0->1.0.1
134
+ */
135
+ public function run_update_v0_0_0_to_v1_0_1( $version ) {
136
+ $this->run_update_v1_0_0_to_v1_0_1( $version );
137
+ }
138
+ }
includes/helper-functions.php ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Helper Functions for end-users to leverage when building themes or plugins.
4
+ *
5
+ * @package ConstantContact
6
+ * @author Pluginize
7
+ * @since 1.0.0
8
+ */
9
+
10
+ /**
11
+ * Checks to see if a user is connected to Constant Contact or not
12
+ *
13
+ * @since 1.0.0
14
+ * @return boolean whether or not they are connected
15
+ */
16
+ function constant_contact_is_connected() {
17
+ return ( constant_contact()->api->is_connected() );
18
+ }
19
+
20
+ /**
21
+ * Checks to see if a user is not connected to Constant Contact or not
22
+ *
23
+ * @since 1.0.0
24
+ * @return boolean whether or not they are NOT connected
25
+ */
26
+ function constant_contact_is_not_connected() {
27
+ return ! ( constant_contact()->api->is_connected() );
28
+ }
29
+
30
+ /**
31
+ * Get a form's markup without using a shortcode
32
+ *
33
+ * @since 1.0.0
34
+ * @param int $form_id form post ID to grab
35
+ * @return string HTML markup
36
+ */
37
+ function constant_contact_get_form( $form_id ) {
38
+ return constant_contact()->display_shortcode->get_form( $form_id );
39
+ }
40
+
41
+ /**
42
+ * Get a form and display it without using a shortcode
43
+ *
44
+ * @since 1.0.0
45
+ * @param int $form_id form post ID to grab
46
+ */
47
+ function constant_contact_display_form( $form_id ) {
48
+ constant_contact()->display_shortcode->display_form( $form_id );
49
+ }
50
+
51
+ /**
52
+ * Get an array of forms
53
+ *
54
+ * @since 1.0.0
55
+ * @return array WP Query results of forms
56
+ */
57
+ function constant_contact_get_forms() {
58
+ return constant_contact()->cpts->get_forms( false, true );
59
+ }
languages/.gitkeep ADDED
File without changes
languages/constant-contact-forms.pot ADDED
@@ -0,0 +1,1236 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (C) 2016 Constant Contact Forms for WordPress
2
+ # This file is distributed under the same license as the Constant Contact Forms for WordPress package.
3
+ msgid ""
4
+ msgstr ""
5
+ "Project-Id-Version: Constant Contact Forms for WordPress 1.0.0\n"
6
+ "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/constant-contact-"
7
+ "forms-c6cb34a6f6efeb9e9564a109f806d7db\n"
8
+ "POT-Creation-Date: 2016-09-19 17:42:09+00:00\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "PO-Revision-Date: 2016-MO-DA HO:MI+ZONE\n"
13
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
+ "Language-Team: LANGUAGE <LL@li.org>\n"
15
+
16
+ #: constant-contact-forms.php:201 includes/class-builder.php:309
17
+ #: includes/class-cpts.php:93 includes/class-cpts.php:151
18
+ msgid "Constant Contact"
19
+ msgstr ""
20
+
21
+ #: constant-contact-forms.php:564
22
+ msgid "Error loading licensce."
23
+ msgstr ""
24
+
25
+ #: includes/class-admin-pages.php:80
26
+ msgid "This is a sample help header"
27
+ msgstr ""
28
+
29
+ #: includes/class-admin-pages.php:81
30
+ msgid "This is some sample help text."
31
+ msgstr ""
32
+
33
+ #: includes/class-admin-pages.php:84
34
+ msgid "This is another sample header"
35
+ msgstr ""
36
+
37
+ #: includes/class-admin-pages.php:85
38
+ msgid "This is also some sample help text."
39
+ msgstr ""
40
+
41
+ #: includes/class-admin-pages.php:101
42
+ msgid "Is this a sample question?"
43
+ msgstr ""
44
+
45
+ #: includes/class-admin-pages.php:102
46
+ msgid "This is a sample answer"
47
+ msgstr ""
48
+
49
+ #: includes/class-admin-pages.php:105
50
+ msgid "This is also a sample question"
51
+ msgstr ""
52
+
53
+ #: includes/class-admin-pages.php:106
54
+ msgid "This is another sample answer"
55
+ msgstr ""
56
+
57
+ #: includes/class-admin-pages.php:124
58
+ msgid "Help / FAQ"
59
+ msgstr ""
60
+
61
+ #: includes/class-admin-pages.php:131
62
+ msgid "Help"
63
+ msgstr ""
64
+
65
+ #: includes/class-admin-pages.php:165
66
+ msgid "FAQ"
67
+ msgstr ""
68
+
69
+ #: includes/class-admin-pages.php:233
70
+ #: includes/class-notification-content.php:47
71
+ msgid "Constant Contact Forms"
72
+ msgstr ""
73
+
74
+ #: includes/class-admin-pages.php:236
75
+ msgid ""
76
+ "This plugin makes it fast and easy to capture all kinds of visitor "
77
+ "information right from your WordPress site—even if you don’t have a Constant "
78
+ "Contact account."
79
+ msgstr ""
80
+
81
+ #: includes/class-admin-pages.php:239
82
+ msgid ""
83
+ "Whether you’re looking to collect email addresses, contact info, event sign-"
84
+ "ups, or visitor feedback, you can customize your forms with data fields that "
85
+ "work best for you."
86
+ msgstr ""
87
+
88
+ #: includes/class-admin-pages.php:241
89
+ msgid ""
90
+ "Quickly create different types of forms that are clear, simple, and mobile-"
91
+ "optimized."
92
+ msgstr ""
93
+
94
+ #: includes/class-admin-pages.php:242
95
+ msgid ""
96
+ "Choose forms that automatically select the theme and style of your WordPress "
97
+ "site."
98
+ msgstr ""
99
+
100
+ #: includes/class-admin-pages.php:243
101
+ msgid ""
102
+ "Customize the form data fields, so you can tailor the type of information "
103
+ "you collect."
104
+ msgstr ""
105
+
106
+ #: includes/class-admin-pages.php:247
107
+ msgid ""
108
+ "Using your sign-up forms to collect email addresses? Email marketing is a "
109
+ "great way to stay connected with visitors after they’ve left your site. And "
110
+ "with an active Constant Contact account, every new subscriber you capture "
111
+ "will be automatically added to your selected email lists. "
112
+ msgstr ""
113
+
114
+ #: includes/class-admin-pages.php:250 includes/class-connect.php:218
115
+ msgid "Try us Free"
116
+ msgstr ""
117
+
118
+ #: includes/class-admin-pages.php:260
119
+ msgid "Already have a Constant Contact account?"
120
+ msgstr ""
121
+
122
+ #: includes/class-admin-pages.php:262
123
+ msgid "Connect the plugin"
124
+ msgstr ""
125
+
126
+ #: includes/class-admin-pages.php:271
127
+ msgid "Powerful Email Marketing, Made Simple."
128
+ msgstr ""
129
+
130
+ #: includes/class-admin-pages.php:274
131
+ msgid "Create professional emails that bring customers to your door"
132
+ msgstr ""
133
+
134
+ #: includes/class-admin-pages.php:278
135
+ msgid ""
136
+ "Email marketing is good for your business. $44-back-for-every-$1-spent kind "
137
+ "of good.* And with the Constant Contact Forms plugin, you can easily add "
138
+ "sign-up forms to your site so you can stay connected with visitors long "
139
+ "after they’ve left."
140
+ msgstr ""
141
+
142
+ #: includes/class-admin-pages.php:282
143
+ msgid "GPLv3 license"
144
+ msgstr ""
145
+
146
+ #: includes/class-admin-pages.php:285
147
+ msgid "This software is released under a modified %s."
148
+ msgstr ""
149
+
150
+ #: includes/class-admin-pages.php:292
151
+ msgid "*Direct Marketing Association 2013 Statistical Fact Book"
152
+ msgstr ""
153
+
154
+ #: includes/class-admin-pages.php:301
155
+ msgid "Easily Add Forms"
156
+ msgstr ""
157
+
158
+ #: includes/class-admin-pages.php:304
159
+ msgctxt "add forms alt text"
160
+ msgid "add forms screenshot"
161
+ msgstr ""
162
+
163
+ #: includes/class-admin-pages.php:307
164
+ msgid ""
165
+ "Create forms that automatically select the theme and styling of your "
166
+ "WordPress site for a perfect match. "
167
+ msgstr ""
168
+
169
+ #: includes/class-admin-pages.php:313
170
+ msgid "Stay Connected With Your WordPress Visitors"
171
+ msgstr ""
172
+
173
+ #: includes/class-admin-pages.php:316
174
+ msgctxt "stay connected alt text"
175
+ msgid "stay connected screenshot"
176
+ msgstr ""
177
+
178
+ #: includes/class-admin-pages.php:319
179
+ msgid ""
180
+ "Form completions from site visitors are conveniently added to your Constant "
181
+ "Contact email list."
182
+ msgstr ""
183
+
184
+ #: includes/class-admin-pages.php:339
185
+ msgid "Constant Contact Forms - License"
186
+ msgstr ""
187
+
188
+ #: includes/class-admin.php:109 includes/class-admin.php:110
189
+ #: includes/class-admin.php:275
190
+ msgid "About"
191
+ msgstr ""
192
+
193
+ #: includes/class-admin.php:118 includes/class-admin.php:119
194
+ #: includes/class-admin.php:276
195
+ msgid "License"
196
+ msgstr ""
197
+
198
+ #: includes/class-admin.php:192 includes/class-settings.php:595
199
+ msgid "Settings updated."
200
+ msgstr ""
201
+
202
+ #: includes/class-admin.php:229
203
+ msgid "Description"
204
+ msgstr ""
205
+
206
+ #: includes/class-admin.php:230
207
+ msgid "Shortcode"
208
+ msgstr ""
209
+
210
+ #: includes/class-admin.php:272
211
+ msgid "Check out the official WordPress plugin from @constantcontact :"
212
+ msgstr ""
213
+
214
+ #: includes/class-admin.php:281
215
+ msgid "Spread the word!"
216
+ msgstr ""
217
+
218
+ #: includes/class-admin.php:344
219
+ msgid "You have unsaved changes."
220
+ msgstr ""
221
+
222
+ #: includes/class-admin.php:345
223
+ msgid "move up"
224
+ msgstr ""
225
+
226
+ #: includes/class-admin.php:346
227
+ msgid "move down"
228
+ msgstr ""
229
+
230
+ #: includes/class-api.php:467
231
+ msgid "Contact type not returned"
232
+ msgstr ""
233
+
234
+ #: includes/class-api.php:637
235
+ msgid ""
236
+ "Your API access token is invalid. Reconnect to Constant Contact to receive a "
237
+ "new token."
238
+ msgstr ""
239
+
240
+ #: includes/class-builder-fields.php:85
241
+ msgid "Form Description"
242
+ msgstr ""
243
+
244
+ #: includes/class-builder-fields.php:93
245
+ msgid ""
246
+ "This message will display above the form fields, so use it as an opportunity "
247
+ "to pitch your email list. Tell visitors why they should subscribe to your "
248
+ "emails, focusing on benefits like insider tips, discounts, subscriber "
249
+ "coupons, and more."
250
+ msgstr ""
251
+
252
+ #: includes/class-builder-fields.php:115
253
+ msgid "Form Options"
254
+ msgstr ""
255
+
256
+ #: includes/class-builder-fields.php:147 includes/class-settings.php:235
257
+ msgid "Add subscribers to"
258
+ msgstr ""
259
+
260
+ #: includes/class-builder-fields.php:150
261
+ msgid "No List Selected"
262
+ msgstr ""
263
+
264
+ #: includes/class-builder-fields.php:173
265
+ msgid "Enable email subscriber opt-in"
266
+ msgstr ""
267
+
268
+ #: includes/class-builder-fields.php:175
269
+ msgid "Adds an opt-in to the bottom of your form."
270
+ msgstr ""
271
+
272
+ #: includes/class-builder-fields.php:195
273
+ msgid "Show opt-in checkbox to allow visitors to opt-in to your email list."
274
+ msgstr ""
275
+
276
+ #: includes/class-builder-fields.php:197
277
+ msgid "(usually used with a Contact Us type form)"
278
+ msgstr ""
279
+
280
+ #: includes/class-builder-fields.php:200
281
+ msgid "Show Opt-in checkbox"
282
+ msgstr ""
283
+
284
+ #: includes/class-builder-fields.php:218
285
+ msgid "Your Business Name"
286
+ msgstr ""
287
+
288
+ #: includes/class-builder-fields.php:221 includes/class-settings.php:255
289
+ msgid "Opt-in Affirmation"
290
+ msgstr ""
291
+
292
+ #: includes/class-builder-fields.php:224
293
+ msgid ""
294
+ "Example: Yes, I would like to receive emails from %s. (You can unsubscribe "
295
+ "anytime)"
296
+ msgstr ""
297
+
298
+ #: includes/class-builder-fields.php:241
299
+ msgid "Form Fields"
300
+ msgstr ""
301
+
302
+ #: includes/class-builder-fields.php:250
303
+ msgid "Add Fields"
304
+ msgstr ""
305
+
306
+ #: includes/class-builder-fields.php:251
307
+ msgid ""
308
+ "Create a field for each piece of information you want to collect. Good "
309
+ "basics include email address, first name, and last name. You can also "
310
+ "collect birthday and anniversary dates to use with Constant Contact "
311
+ "autoresponders! "
312
+ msgstr ""
313
+
314
+ #: includes/class-builder-fields.php:262
315
+ msgid "Field {#}"
316
+ msgstr ""
317
+
318
+ #: includes/class-builder-fields.php:263
319
+ msgid "Add Another Field"
320
+ msgstr ""
321
+
322
+ #: includes/class-builder-fields.php:264
323
+ msgid "Remove Field"
324
+ msgstr ""
325
+
326
+ #: includes/class-builder-fields.php:271
327
+ msgid "Field Label"
328
+ msgstr ""
329
+
330
+ #: includes/class-builder-fields.php:274
331
+ msgid "Email"
332
+ msgstr ""
333
+
334
+ #: includes/class-builder-fields.php:279
335
+ msgid "Field Description"
336
+ msgstr ""
337
+
338
+ #: includes/class-builder-fields.php:287
339
+ msgid "Email (required)"
340
+ msgstr ""
341
+
342
+ #: includes/class-builder-fields.php:288
343
+ msgid "First Name"
344
+ msgstr ""
345
+
346
+ #: includes/class-builder-fields.php:289
347
+ msgid "Last Name"
348
+ msgstr ""
349
+
350
+ #: includes/class-builder-fields.php:290
351
+ msgid "Phone Number"
352
+ msgstr ""
353
+
354
+ #: includes/class-builder-fields.php:291
355
+ msgid "Address"
356
+ msgstr ""
357
+
358
+ #: includes/class-builder-fields.php:292
359
+ msgid "Job Title"
360
+ msgstr ""
361
+
362
+ #: includes/class-builder-fields.php:293
363
+ msgid "Company"
364
+ msgstr ""
365
+
366
+ #: includes/class-builder-fields.php:294
367
+ msgid "Website"
368
+ msgstr ""
369
+
370
+ #: includes/class-builder-fields.php:295
371
+ msgid "Birthday"
372
+ msgstr ""
373
+
374
+ #: includes/class-builder-fields.php:296
375
+ msgid "Anniversary"
376
+ msgstr ""
377
+
378
+ #: includes/class-builder-fields.php:297
379
+ msgid "Custom Text Field"
380
+ msgstr ""
381
+
382
+ #: includes/class-builder-fields.php:298
383
+ msgid "Custom Text Area"
384
+ msgstr ""
385
+
386
+ #: includes/class-builder-fields.php:303
387
+ msgid "Select a Field"
388
+ msgstr ""
389
+
390
+ #: includes/class-builder-fields.php:314
391
+ msgid "Required"
392
+ msgstr ""
393
+
394
+ #: includes/class-builder.php:195
395
+ msgid "Please add an email field to continue."
396
+ msgstr ""
397
+
398
+ #: includes/class-builder.php:289
399
+ msgid "Your first form is ready!"
400
+ msgstr ""
401
+
402
+ #: includes/class-builder.php:291
403
+ msgid "Now, how would you like to manage the information you collect?"
404
+ msgstr ""
405
+
406
+ #: includes/class-builder.php:299 includes/class-connect.php:212
407
+ msgctxt "email marketing alt text"
408
+ msgid "? mail"
409
+ msgstr ""
410
+
411
+ #: includes/class-builder.php:301
412
+ msgid "Try email marketing."
413
+ msgstr ""
414
+
415
+ #: includes/class-builder.php:303
416
+ msgid ""
417
+ "Import everything into Constant Contact so I can see what email marketing "
418
+ "can do for me."
419
+ msgstr ""
420
+
421
+ #: includes/class-builder.php:316 includes/class-connect.php:224
422
+ msgctxt "connect alt text"
423
+ msgid "hand holding phone"
424
+ msgstr ""
425
+
426
+ #: includes/class-builder.php:318
427
+ msgid "Connect my account."
428
+ msgstr ""
429
+
430
+ #: includes/class-builder.php:320
431
+ msgid ""
432
+ "Automatically add collected information to contacts in my Constant Contact "
433
+ "account."
434
+ msgstr ""
435
+
436
+ #: includes/class-builder.php:323 includes/class-connect.php:240
437
+ msgid "Connect Plugin"
438
+ msgstr ""
439
+
440
+ #: includes/class-builder.php:325
441
+ msgid ""
442
+ "By connecting, you authorize this\n"
443
+ "\t\t\t\t\t\t\tplugin to access your account."
444
+ msgstr ""
445
+
446
+ #: includes/class-builder.php:333
447
+ msgid "I'm all set"
448
+ msgstr ""
449
+
450
+ #: includes/class-builder.php:334
451
+ msgid "I'll manage the information on my own for now."
452
+ msgstr ""
453
+
454
+ #: includes/class-check.php:46
455
+ msgid "Server Check"
456
+ msgstr ""
457
+
458
+ #: includes/class-check.php:121
459
+ msgid "Encrpytion Library: "
460
+ msgstr ""
461
+
462
+ #: includes/class-connect.php:127
463
+ msgid "Connect Now"
464
+ msgstr ""
465
+
466
+ #: includes/class-connect.php:133 includes/class-connect.php:189
467
+ msgid "Disconnect"
468
+ msgstr ""
469
+
470
+ #: includes/class-connect.php:172
471
+ msgid "Are you sure you want to disconnect?"
472
+ msgstr ""
473
+
474
+ #: includes/class-connect.php:182
475
+ msgid "Plugin connected to Constant Contact."
476
+ msgstr ""
477
+
478
+ #: includes/class-connect.php:198
479
+ msgid "There was an error connecting your account. Please try again."
480
+ msgstr ""
481
+
482
+ #: includes/class-connect.php:204
483
+ msgid ""
484
+ "To take full advantage of this plugin, we recommend having an active "
485
+ "Constant Contact account."
486
+ msgstr ""
487
+
488
+ #: includes/class-connect.php:214
489
+ msgid "Need an account?"
490
+ msgstr ""
491
+
492
+ #: includes/class-connect.php:216
493
+ msgid ""
494
+ "Sign up for a free 60-day trial to connect with visitors beyond your website."
495
+ msgstr ""
496
+
497
+ #: includes/class-connect.php:226
498
+ msgid "Have an account?"
499
+ msgstr ""
500
+
501
+ #: includes/class-connect.php:228
502
+ msgid "Connect the plugin to log in to your Constant Contact account"
503
+ msgstr ""
504
+
505
+ #: includes/class-connect.php:229
506
+ msgid "(by connecting, you authorize this plugin to access your account)."
507
+ msgstr ""
508
+
509
+ #: includes/class-connect.php:247
510
+ msgid "NOTE: "
511
+ msgstr ""
512
+
513
+ #: includes/class-connect.php:247
514
+ msgid ""
515
+ "It’s possible to use the plugin without connecting to a Constant Contact "
516
+ "account. In this case, all information collected by the forms will be "
517
+ "individually emailed to the Site Admin."
518
+ msgstr ""
519
+
520
+ #: includes/class-cpts.php:66
521
+ msgctxt "Post Type General Name"
522
+ msgid "Forms"
523
+ msgstr ""
524
+
525
+ #: includes/class-cpts.php:67
526
+ msgctxt "Post Type Singular Name"
527
+ msgid "Form"
528
+ msgstr ""
529
+
530
+ #: includes/class-cpts.php:68 includes/class-cpts.php:69
531
+ msgid "Contact Form"
532
+ msgstr ""
533
+
534
+ #: includes/class-cpts.php:70
535
+ msgid "Form Archives"
536
+ msgstr ""
537
+
538
+ #: includes/class-cpts.php:71
539
+ msgid "Parent Form:"
540
+ msgstr ""
541
+
542
+ #: includes/class-cpts.php:72
543
+ msgid "All Forms"
544
+ msgstr ""
545
+
546
+ #: includes/class-cpts.php:73 includes/class-cpts.php:74
547
+ msgid "Add New Form"
548
+ msgstr ""
549
+
550
+ #: includes/class-cpts.php:75
551
+ msgid "New Form"
552
+ msgstr ""
553
+
554
+ #: includes/class-cpts.php:76 includes/class-display.php:509
555
+ msgid "Edit Form"
556
+ msgstr ""
557
+
558
+ #: includes/class-cpts.php:77
559
+ msgid "Update Form"
560
+ msgstr ""
561
+
562
+ #: includes/class-cpts.php:78
563
+ msgid "View Form"
564
+ msgstr ""
565
+
566
+ #: includes/class-cpts.php:79
567
+ msgid "Search Form"
568
+ msgstr ""
569
+
570
+ #: includes/class-cpts.php:80 includes/class-cpts.php:138
571
+ msgid "Not found"
572
+ msgstr ""
573
+
574
+ #: includes/class-cpts.php:81 includes/class-cpts.php:139
575
+ msgid "Not found in Trash"
576
+ msgstr ""
577
+
578
+ #: includes/class-cpts.php:82 includes/class-cpts.php:140
579
+ msgid "Featured Image"
580
+ msgstr ""
581
+
582
+ #: includes/class-cpts.php:83 includes/class-cpts.php:141
583
+ msgid "Set featured image"
584
+ msgstr ""
585
+
586
+ #: includes/class-cpts.php:84 includes/class-cpts.php:142
587
+ msgid "Remove featured image"
588
+ msgstr ""
589
+
590
+ #: includes/class-cpts.php:85 includes/class-cpts.php:143
591
+ msgid "Use as featured image"
592
+ msgstr ""
593
+
594
+ #: includes/class-cpts.php:86
595
+ msgid "Insert into Form"
596
+ msgstr ""
597
+
598
+ #: includes/class-cpts.php:87
599
+ msgid "Uploaded to this Form"
600
+ msgstr ""
601
+
602
+ #: includes/class-cpts.php:88
603
+ msgid "Forms list"
604
+ msgstr ""
605
+
606
+ #: includes/class-cpts.php:89
607
+ msgid "Forms list navigation"
608
+ msgstr ""
609
+
610
+ #: includes/class-cpts.php:90
611
+ msgid "Filter forms list"
612
+ msgstr ""
613
+
614
+ #: includes/class-cpts.php:94
615
+ msgid "Constant Contact forms."
616
+ msgstr ""
617
+
618
+ #: includes/class-cpts.php:124
619
+ msgctxt "Post Type General Name"
620
+ msgid "Lists"
621
+ msgstr ""
622
+
623
+ #: includes/class-cpts.php:125
624
+ msgctxt "Post Type Singular Name"
625
+ msgid "List"
626
+ msgstr ""
627
+
628
+ #: includes/class-cpts.php:126 includes/class-cpts.php:127
629
+ #: includes/class-cpts.php:130
630
+ msgid "Lists"
631
+ msgstr ""
632
+
633
+ #: includes/class-cpts.php:128
634
+ msgid "List Archives"
635
+ msgstr ""
636
+
637
+ #: includes/class-cpts.php:129
638
+ msgid "Parent List:"
639
+ msgstr ""
640
+
641
+ #: includes/class-cpts.php:131 includes/class-cpts.php:132
642
+ msgid "Add New List"
643
+ msgstr ""
644
+
645
+ #: includes/class-cpts.php:133
646
+ msgid "New List"
647
+ msgstr ""
648
+
649
+ #: includes/class-cpts.php:134
650
+ msgid "Edit List"
651
+ msgstr ""
652
+
653
+ #: includes/class-cpts.php:135
654
+ msgid "Update List"
655
+ msgstr ""
656
+
657
+ #: includes/class-cpts.php:136
658
+ msgid "View List"
659
+ msgstr ""
660
+
661
+ #: includes/class-cpts.php:137
662
+ msgid "Search List"
663
+ msgstr ""
664
+
665
+ #: includes/class-cpts.php:144
666
+ msgid "Insert into List"
667
+ msgstr ""
668
+
669
+ #: includes/class-cpts.php:145
670
+ msgid "Uploaded to this List"
671
+ msgstr ""
672
+
673
+ #: includes/class-cpts.php:146
674
+ msgid "Lists list"
675
+ msgstr ""
676
+
677
+ #: includes/class-cpts.php:147
678
+ msgid "Lists list navigation"
679
+ msgstr ""
680
+
681
+ #: includes/class-cpts.php:148
682
+ msgid "Filter lists list"
683
+ msgstr ""
684
+
685
+ #: includes/class-cpts.php:152
686
+ msgid "Constant Contact lists."
687
+ msgstr ""
688
+
689
+ #: includes/class-cpts.php:190 includes/class-cpts.php:193
690
+ msgid "List updated."
691
+ msgstr ""
692
+
693
+ #: includes/class-cpts.php:191 includes/class-cpts.php:205
694
+ msgid "Custom field updated."
695
+ msgstr ""
696
+
697
+ #: includes/class-cpts.php:192 includes/class-cpts.php:206
698
+ msgid "Custom field deleted."
699
+ msgstr ""
700
+
701
+ #: includes/class-cpts.php:194
702
+ msgid "List restored to revision from %s"
703
+ msgstr ""
704
+
705
+ #: includes/class-cpts.php:195
706
+ msgid "List published."
707
+ msgstr ""
708
+
709
+ #: includes/class-cpts.php:196
710
+ msgid "List saved."
711
+ msgstr ""
712
+
713
+ #: includes/class-cpts.php:197
714
+ msgid "List submitted."
715
+ msgstr ""
716
+
717
+ #: includes/class-cpts.php:198
718
+ msgid "List scheduled for: <strong>%1$s</strong>."
719
+ msgstr ""
720
+
721
+ #: includes/class-cpts.php:199
722
+ msgid "List draft updated."
723
+ msgstr ""
724
+
725
+ #: includes/class-cpts.php:204 includes/class-cpts.php:207
726
+ msgid "Form updated."
727
+ msgstr ""
728
+
729
+ #: includes/class-cpts.php:208
730
+ msgid "Form restored to revision from %s"
731
+ msgstr ""
732
+
733
+ #: includes/class-cpts.php:209
734
+ msgid "Form published."
735
+ msgstr ""
736
+
737
+ #: includes/class-cpts.php:210
738
+ msgid "Form saved."
739
+ msgstr ""
740
+
741
+ #: includes/class-cpts.php:211
742
+ msgid "Form submitted."
743
+ msgstr ""
744
+
745
+ #: includes/class-cpts.php:212
746
+ msgid "Form scheduled for: <strong>%1$s</strong>."
747
+ msgstr ""
748
+
749
+ #: includes/class-cpts.php:213
750
+ msgid "Form draft updated."
751
+ msgstr ""
752
+
753
+ #: includes/class-cpts.php:243
754
+ msgid "Enter a form name"
755
+ msgstr ""
756
+
757
+ #: includes/class-cpts.php:244
758
+ msgid "(Examples: Join Our Email List, Contact Us)"
759
+ msgstr ""
760
+
761
+ #: includes/class-cpts.php:306
762
+ msgid "No title"
763
+ msgstr ""
764
+
765
+ #: includes/class-cpts.php:313
766
+ msgid "%s (last modified %s ago)"
767
+ msgstr ""
768
+
769
+ #: includes/class-display.php:326 includes/class-display.php:1048
770
+ msgid "Error: Please correct your entry."
771
+ msgstr ""
772
+
773
+ #: includes/class-display.php:328
774
+ msgid " Error: Please fill out this field."
775
+ msgstr ""
776
+
777
+ #: includes/class-display.php:682
778
+ msgid "Send"
779
+ msgstr ""
780
+
781
+ #: includes/class-display.php:788
782
+ msgid "Street Address"
783
+ msgstr ""
784
+
785
+ #: includes/class-display.php:789
786
+ msgid "Address Line 2"
787
+ msgstr ""
788
+
789
+ #: includes/class-display.php:790
790
+ msgid "City"
791
+ msgstr ""
792
+
793
+ #: includes/class-display.php:791
794
+ msgid "State"
795
+ msgstr ""
796
+
797
+ #: includes/class-display.php:792
798
+ msgid "ZIP Code"
799
+ msgstr ""
800
+
801
+ #: includes/class-display.php:846
802
+ msgid "Month"
803
+ msgstr ""
804
+
805
+ #: includes/class-display.php:847
806
+ msgid "Day"
807
+ msgstr ""
808
+
809
+ #: includes/class-display.php:848
810
+ msgid "Year"
811
+ msgstr ""
812
+
813
+ #: includes/class-display.php:960
814
+ msgid "January"
815
+ msgstr ""
816
+
817
+ #: includes/class-display.php:961
818
+ msgid "February"
819
+ msgstr ""
820
+
821
+ #: includes/class-display.php:962
822
+ msgid "March"
823
+ msgstr ""
824
+
825
+ #: includes/class-display.php:963
826
+ msgid "April"
827
+ msgstr ""
828
+
829
+ #: includes/class-display.php:964
830
+ msgid "May"
831
+ msgstr ""
832
+
833
+ #: includes/class-display.php:965
834
+ msgid "June"
835
+ msgstr ""
836
+
837
+ #: includes/class-display.php:966
838
+ msgid "July "
839
+ msgstr ""
840
+
841
+ #: includes/class-display.php:967
842
+ msgid "August"
843
+ msgstr ""
844
+
845
+ #: includes/class-display.php:968
846
+ msgid "September"
847
+ msgstr ""
848
+
849
+ #: includes/class-display.php:969
850
+ msgid "October"
851
+ msgstr ""
852
+
853
+ #: includes/class-display.php:970
854
+ msgid "November"
855
+ msgstr ""
856
+
857
+ #: includes/class-display.php:971
858
+ msgid "December"
859
+ msgstr ""
860
+
861
+ #: includes/class-display.php:1109
862
+ msgid ""
863
+ "By submitting this form, you are granting: %s, permission to email you. You "
864
+ "may unsubscribe via the link found at the bottom of every email. (See our "
865
+ "Email Privacy Policy (http://constantcontact.com/legal/privacy-statement) "
866
+ "for details.) Emails are serviced by Constant Contact."
867
+ msgstr ""
868
+
869
+ #: includes/class-lists.php:93
870
+ msgid "List Information"
871
+ msgstr ""
872
+
873
+ #: includes/class-lists.php:174
874
+ msgid "List information will populate upon saving."
875
+ msgstr ""
876
+
877
+ #: includes/class-lists.php:801
878
+ msgid "You already have a list with that name."
879
+ msgstr ""
880
+
881
+ #: includes/class-lists.php:829
882
+ msgid "Sync Lists with Constant Contact"
883
+ msgstr ""
884
+
885
+ #: includes/class-mail.php:191
886
+ msgid "Duplicate send mail for: %s and: %s"
887
+ msgstr ""
888
+
889
+ #: includes/class-mail.php:208
890
+ msgid ""
891
+ "Congratulations! Your Constant Contact Forms plugin has successfully "
892
+ "captured new information:"
893
+ msgstr ""
894
+
895
+ #: includes/class-mail.php:211
896
+ msgid ""
897
+ "Don't forget: Email marketing is a great way to stay connected with visitors "
898
+ "after they’ve left your site. To make the most of the information you "
899
+ "collect, connect the plugin to an active Constant Contact account. Just go "
900
+ "to the Connect page from the Plugin console view."
901
+ msgstr ""
902
+
903
+ #: includes/class-mail.php:219
904
+ msgid "New submission"
905
+ msgstr ""
906
+
907
+ #: includes/class-notification-content.php:46
908
+ msgid ""
909
+ "To take full advantage of the %s plugin, we recommend having an active "
910
+ "Constant Contact account."
911
+ msgstr ""
912
+
913
+ #: includes/class-notification-content.php:53
914
+ msgid "Connect your account"
915
+ msgstr ""
916
+
917
+ #: includes/class-notification-content.php:56
918
+ msgid "Try Us Free"
919
+ msgstr ""
920
+
921
+ #: includes/class-notification-content.php:73
922
+ msgid ""
923
+ "You currently have a large number of lists in your Constant Contact account. "
924
+ "You may experience some issues with syncing them."
925
+ msgstr ""
926
+
927
+ #: includes/class-notifications.php:403
928
+ msgid "Dismiss this notice."
929
+ msgstr ""
930
+
931
+ #: includes/class-process-form.php:148 includes/class-process-form.php:563
932
+ msgid ""
933
+ "We had trouble processing your submission. Please review your entries and "
934
+ "try again."
935
+ msgstr ""
936
+
937
+ #: includes/class-process-form.php:157 includes/class-process-form.php:166
938
+ #: includes/class-process-form.php:175
939
+ msgid ""
940
+ "We had trouble processing your submission. Make sure you haven't changed the "
941
+ "required Form ID and try again."
942
+ msgstr ""
943
+
944
+ #: includes/class-process-form.php:531
945
+ msgid "There was an error sending your form."
946
+ msgstr ""
947
+
948
+ #: includes/class-process-form.php:546
949
+ msgid "Your information has been submitted."
950
+ msgstr ""
951
+
952
+ #: includes/class-settings.php:133 includes/class-settings.php:134
953
+ #: includes/class-settings.php:153
954
+ msgid "Advanced Opt-in"
955
+ msgstr ""
956
+
957
+ #: includes/class-settings.php:225
958
+ msgid "Opt-in Location"
959
+ msgstr ""
960
+
961
+ #: includes/class-settings.php:232 includes/class-settings.php:239
962
+ msgid "Select a list"
963
+ msgstr ""
964
+
965
+ #: includes/class-settings.php:244
966
+ msgid "Business Name"
967
+ msgstr ""
968
+
969
+ #: includes/class-settings.php:258
970
+ msgid "Yes, I would like to receive emails from %s. Sign me up!"
971
+ msgstr ""
972
+
973
+ #: includes/class-settings.php:263
974
+ msgid "Disclosure Name"
975
+ msgstr ""
976
+
977
+ #: includes/class-settings.php:271
978
+ msgid "Disclosure Address"
979
+ msgstr ""
980
+
981
+ #: includes/class-settings.php:291
982
+ msgid "Add a checkbox to the comment field in your posts"
983
+ msgstr ""
984
+
985
+ #: includes/class-settings.php:292
986
+ msgid "Add a checkbox to the main WordPress login page"
987
+ msgstr ""
988
+
989
+ #: includes/class-settings.php:297
990
+ msgid "Add a checkbox to the WordPress user registration page"
991
+ msgstr ""
992
+
993
+ #: includes/class-settings.php:389
994
+ msgid "Sign up to our newsletter."
995
+ msgstr ""
996
+
997
+ #: includes/class-shortcode-admin.php:40 includes/class-shortcode-admin.php:41
998
+ msgid "Add Constant Contact Form"
999
+ msgstr ""
1000
+
1001
+ #: includes/class-shortcode-admin.php:61
1002
+ msgid "Form Shortcode"
1003
+ msgstr ""
1004
+
1005
+ #: vendor/CMB2/includes/CMB2.php:122
1006
+ msgid "Metabox configuration is required to have an ID parameter"
1007
+ msgstr ""
1008
+
1009
+ #: vendor/CMB2/includes/CMB2.php:375
1010
+ msgid "Click to toggle"
1011
+ msgstr ""
1012
+
1013
+ #: vendor/CMB2/includes/CMB2_Ajax.php:65
1014
+ msgid "Please Try Again"
1015
+ msgstr ""
1016
+
1017
+ #: vendor/CMB2/includes/CMB2_Ajax.php:155
1018
+ msgid "Remove Embed"
1019
+ msgstr ""
1020
+
1021
+ #: vendor/CMB2/includes/CMB2_Ajax.php:159
1022
+ msgid "No oEmbed Results Found for %s. View more info at"
1023
+ msgstr ""
1024
+
1025
+ #: vendor/CMB2/includes/CMB2_Field.php:1030
1026
+ msgid "Add Group"
1027
+ msgstr ""
1028
+
1029
+ #: vendor/CMB2/includes/CMB2_Field.php:1031
1030
+ msgid "Remove Group"
1031
+ msgstr ""
1032
+
1033
+ #: vendor/CMB2/includes/CMB2_Field.php:1053
1034
+ #: vendor/CMB2/includes/CMB2_Field.php:1057
1035
+ msgid "None"
1036
+ msgstr ""
1037
+
1038
+ #: vendor/CMB2/includes/CMB2_JS.php:86 vendor/CMB2/includes/CMB2_JS.php:119
1039
+ msgid "Clear"
1040
+ msgstr ""
1041
+
1042
+ #: vendor/CMB2/includes/CMB2_JS.php:87
1043
+ msgid "Default"
1044
+ msgstr ""
1045
+
1046
+ #: vendor/CMB2/includes/CMB2_JS.php:88
1047
+ msgid "Select Color"
1048
+ msgstr ""
1049
+
1050
+ #: vendor/CMB2/includes/CMB2_JS.php:89
1051
+ msgid "Current Color"
1052
+ msgstr ""
1053
+
1054
+ #: vendor/CMB2/includes/CMB2_JS.php:109
1055
+ msgctxt "Valid formatDate string for jquery-ui datepicker"
1056
+ msgid "mm/dd/yy"
1057
+ msgstr ""
1058
+
1059
+ #: vendor/CMB2/includes/CMB2_JS.php:110
1060
+ msgid "Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday"
1061
+ msgstr ""
1062
+
1063
+ #: vendor/CMB2/includes/CMB2_JS.php:111
1064
+ msgid "Su, Mo, Tu, We, Th, Fr, Sa"
1065
+ msgstr ""
1066
+
1067
+ #: vendor/CMB2/includes/CMB2_JS.php:112
1068
+ msgid "Sun, Mon, Tue, Wed, Thu, Fri, Sat"
1069
+ msgstr ""
1070
+
1071
+ #: vendor/CMB2/includes/CMB2_JS.php:113
1072
+ msgid ""
1073
+ "January, February, March, April, May, June, July, August, September, "
1074
+ "October, November, December"
1075
+ msgstr ""
1076
+
1077
+ #: vendor/CMB2/includes/CMB2_JS.php:114
1078
+ msgid "Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec"
1079
+ msgstr ""
1080
+
1081
+ #: vendor/CMB2/includes/CMB2_JS.php:115
1082
+ msgid "Next"
1083
+ msgstr ""
1084
+
1085
+ #: vendor/CMB2/includes/CMB2_JS.php:116
1086
+ msgid "Prev"
1087
+ msgstr ""
1088
+
1089
+ #: vendor/CMB2/includes/CMB2_JS.php:117
1090
+ msgid "Today"
1091
+ msgstr ""
1092
+
1093
+ #: vendor/CMB2/includes/CMB2_JS.php:118 vendor/CMB2/includes/CMB2_JS.php:128
1094
+ msgid "Done"
1095
+ msgstr ""
1096
+
1097
+ #: vendor/CMB2/includes/CMB2_JS.php:122
1098
+ msgid "Choose Time"
1099
+ msgstr ""
1100
+
1101
+ #: vendor/CMB2/includes/CMB2_JS.php:123
1102
+ msgid "Time"
1103
+ msgstr ""
1104
+
1105
+ #: vendor/CMB2/includes/CMB2_JS.php:124
1106
+ msgid "Hour"
1107
+ msgstr ""
1108
+
1109
+ #: vendor/CMB2/includes/CMB2_JS.php:125
1110
+ msgid "Minute"
1111
+ msgstr ""
1112
+
1113
+ #: vendor/CMB2/includes/CMB2_JS.php:126
1114
+ msgid "Second"
1115
+ msgstr ""
1116
+
1117
+ #: vendor/CMB2/includes/CMB2_JS.php:127
1118
+ msgid "Now"
1119
+ msgstr ""
1120
+
1121
+ #: vendor/CMB2/includes/CMB2_JS.php:129
1122
+ msgctxt ""
1123
+ "Valid formatting string, as per http://trentrichardson.com/examples/"
1124
+ "timepicker/"
1125
+ msgid "hh:mm TT"
1126
+ msgstr ""
1127
+
1128
+ #: vendor/CMB2/includes/CMB2_JS.php:135
1129
+ msgid "Use this file"
1130
+ msgstr ""
1131
+
1132
+ #: vendor/CMB2/includes/CMB2_JS.php:136
1133
+ msgid "Use these files"
1134
+ msgstr ""
1135
+
1136
+ #: vendor/CMB2/includes/CMB2_JS.php:137
1137
+ #: vendor/CMB2/includes/CMB2_Types.php:1021
1138
+ msgid "Remove Image"
1139
+ msgstr ""
1140
+
1141
+ #: vendor/CMB2/includes/CMB2_JS.php:138 vendor/CMB2/includes/CMB2_Types.php:357
1142
+ #: vendor/CMB2/includes/CMB2_Types.php:1040
1143
+ msgid "Remove"
1144
+ msgstr ""
1145
+
1146
+ #: vendor/CMB2/includes/CMB2_JS.php:139
1147
+ #: vendor/CMB2/includes/CMB2_Types.php:1035
1148
+ msgid "File:"
1149
+ msgstr ""
1150
+
1151
+ #: vendor/CMB2/includes/CMB2_JS.php:140
1152
+ #: vendor/CMB2/includes/CMB2_Types.php:1038
1153
+ msgid "Download"
1154
+ msgstr ""
1155
+
1156
+ #: vendor/CMB2/includes/CMB2_JS.php:141
1157
+ msgid "Select / Deselect All"
1158
+ msgstr ""
1159
+
1160
+ #: vendor/CMB2/includes/CMB2_Types.php:298
1161
+ msgid "Add Row"
1162
+ msgstr ""
1163
+
1164
+ #: vendor/CMB2/includes/CMB2_Types.php:768
1165
+ #: vendor/CMB2/includes/CMB2_Types.php:816
1166
+ msgid "No terms"
1167
+ msgstr ""
1168
+
1169
+ #: vendor/CMB2/includes/CMB2_Types.php:884
1170
+ msgid "Add or Upload Files"
1171
+ msgstr ""
1172
+
1173
+ #: vendor/CMB2/includes/CMB2_Types.php:945
1174
+ msgid "Add or Upload File"
1175
+ msgstr ""
1176
+
1177
+ #: vendor/CMB2/includes/CMB2_hookup.php:120
1178
+ msgid ""
1179
+ "Term Metadata is a WordPress > 4.4 feature. Please upgrade your WordPress "
1180
+ "install."
1181
+ msgstr ""
1182
+
1183
+ #: vendor/CMB2/includes/CMB2_hookup.php:124
1184
+ msgid "Term metaboxes configuration requires a 'taxonomies' parameter"
1185
+ msgstr ""
1186
+
1187
+ #: vendor/CMB2/includes/helper-functions.php:250
1188
+ msgid "Save"
1189
+ msgstr ""
1190
+
1191
+ #: vendor/WDS-Shortcodes/includes/shortcode-admin.php:57
1192
+ #: vendor/WDS-Shortcodes/vendor/jtsternberg/shortcode-button/shortcode-button.php:48
1193
+ msgid "Cancel"
1194
+ msgstr ""
1195
+
1196
+ #: vendor/WDS-Shortcodes/includes/shortcode-admin.php:58
1197
+ #: vendor/WDS-Shortcodes/vendor/jtsternberg/shortcode-button/shortcode-button.php:49
1198
+ msgid "Insert Shortcode"
1199
+ msgstr ""
1200
+
1201
+ #: vendor/WDS-Shortcodes/vendor/jtsternberg/shortcode-button/shortcode-button.php:50
1202
+ msgid "Update Shortcode"
1203
+ msgstr ""
1204
+
1205
+ #: vendor/WDS-Shortcodes/vendor/jtsternberg/shortcode-button/shortcode-button.php:302
1206
+ msgid "failed verification"
1207
+ msgstr ""
1208
+
1209
+ #: vendor/WDS-Shortcodes/vendor/jtsternberg/shortcode-button/shortcode-button.php:380
1210
+ msgid "No items found."
1211
+ msgstr ""
1212
+
1213
+ #: vendor/WDS-Shortcodes/vendor/jtsternberg/shortcode-button/templates/modal.php:6
1214
+ #: vendor/WDS-Shortcodes/vendor/jtsternberg/shortcode-button/templates/modal.php:9
1215
+ msgid "Close"
1216
+ msgstr ""
1217
+
1218
+ #. Plugin Name of the plugin/theme
1219
+ msgid "Constant Contact Forms for WordPress"
1220
+ msgstr ""
1221
+
1222
+ #. Plugin URI of the plugin/theme
1223
+ msgid "http://constantcontact.com"
1224
+ msgstr ""
1225
+
1226
+ #. Description of the plugin/theme
1227
+ msgid "Be a better marketer. All it takes is Constant Contact email marketing."
1228
+ msgstr ""
1229
+
1230
+ #. Author of the plugin/theme
1231
+ msgid "Pluginize"
1232
+ msgstr ""
1233
+
1234
+ #. Author URI of the plugin/theme
1235
+ msgid "http://pluginize.com"
1236
+ msgstr ""
license.txt ADDED
@@ -0,0 +1,743 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ GNU GENERAL PUBLIC LICENSE
2
+ Version 3, 29 June 2007
3
+
4
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
5
+ Everyone is permitted to copy and distribute verbatim copies
6
+ of this license document, but changing it is not allowed.
7
+
8
+ Preamble
9
+
10
+ The GNU General Public License is a free, copyleft license for
11
+ software and other kinds of works.
12
+
13
+ The licenses for most software and other practical works are designed
14
+ to take away your freedom to share and change the works. By contrast,
15
+ the GNU General Public License is intended to guarantee your freedom to
16
+ share and change all versions of a program--to make sure it remains free
17
+ software for all its users. We, the Free Software Foundation, use the
18
+ GNU General Public License for most of our software; it applies also to
19
+ any other work released this way by its authors. You can apply it to
20
+ your programs, too.
21
+
22
+ When we speak of free software, we are referring to freedom, not
23
+ price. Our General Public Licenses are designed to make sure that you
24
+ have the freedom to distribute copies of free software (and charge for
25
+ them if you wish), that you receive source code or can get it if you
26
+ want it, that you can change the software or use pieces of it in new
27
+ free programs, and that you know you can do these things.
28
+
29
+ To protect your rights, we need to prevent others from denying you
30
+ these rights or asking you to surrender the rights. Therefore, you have
31
+ certain responsibilities if you distribute copies of the software, or if
32
+ you modify it: responsibilities to respect the freedom of others.
33
+
34
+ For example, if you distribute copies of such a program, whether
35
+ gratis or for a fee, you must pass on to the recipients the same
36
+ freedoms that you received. You must make sure that they, too, receive
37
+ or can get the source code. And you must show them these terms so they
38
+ know their rights.
39
+
40
+ Developers that use the GNU GPL protect your rights with two steps:
41
+ (1) assert copyright on the software, and (2) offer you this License
42
+ giving you legal permission to copy, distribute and/or modify it.
43
+
44
+ For the developers' and authors' protection, the GPL clearly explains
45
+ that there is no warranty for this free software. For both users' and
46
+ authors' sake, the GPL requires that modified versions be marked as
47
+ changed, so that their problems will not be attributed erroneously to
48
+ authors of previous versions.
49
+
50
+ Some devices are designed to deny users access to install or run
51
+ modified versions of the software inside them, although the manufacturer
52
+ can do so. This is fundamentally incompatible with the aim of
53
+ protecting users' freedom to change the software. The systematic
54
+ pattern of such abuse occurs in the area of products for individuals to
55
+ use, which is precisely where it is most unacceptable. Therefore, we
56
+ have designed this version of the GPL to prohibit the practice for those
57
+ products. If such problems arise substantially in other domains, we
58
+ stand ready to extend this provision to those domains in future versions
59
+ of the GPL, as needed to protect the freedom of users.
60
+
61
+ Finally, every program is threatened constantly by software patents.
62
+ States should not allow patents to restrict development and use of
63
+ software on general-purpose computers, but in those that do, we wish to
64
+ avoid the special danger that patents applied to a free program could
65
+ make it effectively proprietary. To prevent this, the GPL assures that
66
+ patents cannot be used to render the program non-free.
67
+
68
+ The precise terms and conditions for copying, distribution and
69
+ modification follow.
70
+
71
+ TERMS AND CONDITIONS
72
+
73
+ 0. Definitions.
74
+
75
+ "This License" refers to version 3 of the GNU General Public License.
76
+
77
+ "Copyright" also means copyright-like laws that apply to other kinds of
78
+ works, such as semiconductor masks.
79
+
80
+ "The Program" refers to any copyrightable work licensed under this
81
+ License. Each licensee is addressed as "you". "Licensees" and
82
+ "recipients" may be individuals or organizations.
83
+
84
+ To "modify" a work means to copy from or adapt all or part of the work
85
+ in a fashion requiring copyright permission, other than the making of an
86
+ exact copy. The resulting work is called a "modified version" of the
87
+ earlier work or a work "based on" the earlier work.
88
+
89
+ A "covered work" means either the unmodified Program or a work based
90
+ on the Program.
91
+
92
+ To "propagate" a work means to do anything with it that, without
93
+ permission, would make you directly or secondarily liable for
94
+ infringement under applicable copyright law, except executing it on a
95
+ computer or modifying a private copy. Propagation includes copying,
96
+ distribution (with or without modification), making available to the
97
+ public, and in some countries other activities as well.
98
+
99
+ To "convey" a work means any kind of propagation that enables other
100
+ parties to make or receive copies. Mere interaction with a user through
101
+ a computer network, with no transfer of a copy, is not conveying.
102
+
103
+ An interactive user interface displays "Appropriate Legal Notices"
104
+ to the extent that it includes a convenient and prominently visible
105
+ feature that (1) displays an appropriate copyright notice, and (2)
106
+ tells the user that there is no warranty for the work (except to the
107
+ extent that warranties are provided), that licensees may convey the
108
+ work under this License, and how to view a copy of this License. If
109
+ the interface presents a list of user commands or options, such as a
110
+ menu, a prominent item in the list meets this criterion.
111
+
112
+ 1. Source Code.
113
+
114
+ The "source code" for a work means the preferred form of the work
115
+ for making modifications to it. "Object code" means any non-source
116
+ form of a work.
117
+
118
+ A "Standard Interface" means an interface that either is an official
119
+ standard defined by a recognized standards body, or, in the case of
120
+ interfaces specified for a particular programming language, one that
121
+ is widely used among developers working in that language.
122
+
123
+ The "System Libraries" of an executable work include anything, other
124
+ than the work as a whole, that (a) is included in the normal form of
125
+ packaging a Major Component, but which is not part of that Major
126
+ Component, and (b) serves only to enable use of the work with that
127
+ Major Component, or to implement a Standard Interface for which an
128
+ implementation is available to the public in source code form. A
129
+ "Major Component", in this context, means a major essential component
130
+ (kernel, window system, and so on) of the specific operating system
131
+ (if any) on which the executable work runs, or a compiler used to
132
+ produce the work, or an object code interpreter used to run it.
133
+
134
+ The "Corresponding Source" for a work in object code form means all
135
+ the source code needed to generate, install, and (for an executable
136
+ work) run the object code and to modify the work, including scripts to
137
+ control those activities. However, it does not include the work's
138
+ System Libraries, or general-purpose tools or generally available free
139
+ programs which are used unmodified in performing those activities but
140
+ which are not part of the work. For example, Corresponding Source
141
+ includes interface definition files associated with source files for
142
+ the work, and the source code for shared libraries and dynamically
143
+ linked subprograms that the work is specifically designed to require,
144
+ such as by intimate data communication or control flow between those
145
+ subprograms and other parts of the work.
146
+
147
+ The Corresponding Source need not include anything that users
148
+ can regenerate automatically from other parts of the Corresponding
149
+ Source.
150
+
151
+ The Corresponding Source for a work in source code form is that
152
+ same work.
153
+
154
+ 2. Basic Permissions.
155
+
156
+ All rights granted under this License are granted for the term of
157
+ copyright on the Program, and are irrevocable provided the stated
158
+ conditions are met. This License explicitly affirms your unlimited
159
+ permission to run the unmodified Program. The output from running a
160
+ covered work is covered by this License only if the output, given its
161
+ content, constitutes a covered work. This License acknowledges your
162
+ rights of fair use or other equivalent, as provided by copyright law.
163
+
164
+ You may make, run and propagate covered works that you do not
165
+ convey, without conditions so long as your license otherwise remains
166
+ in force. You may convey covered works to others for the sole purpose
167
+ of having them make modifications exclusively for you, or provide you
168
+ with facilities for running those works, provided that you comply with
169
+ the terms of this License in conveying all material for which you do
170
+ not control copyright. Those thus making or running the covered works
171
+ for you must do so exclusively on your behalf, under your direction
172
+ and control, on terms that prohibit them from making any copies of
173
+ your copyrighted material outside their relationship with you.
174
+
175
+ Conveying under any other circumstances is permitted solely under
176
+ the conditions stated below. Sublicensing is not allowed; section 10
177
+ makes it unnecessary.
178
+
179
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
180
+
181
+ No covered work shall be deemed part of an effective technological
182
+ measure under any applicable law fulfilling obligations under article
183
+ 11 of the WIPO copyright treaty adopted on 20 December 1996, or
184
+ similar laws prohibiting or restricting circumvention of such
185
+ measures.
186
+
187
+ When you convey a covered work, you waive any legal power to forbid
188
+ circumvention of technological measures to the extent such circumvention
189
+ is effected by exercising rights under this License with respect to
190
+ the covered work, and you disclaim any intention to limit operation or
191
+ modification of the work as a means of enforcing, against the work's
192
+ users, your or third parties' legal rights to forbid circumvention of
193
+ technological measures.
194
+
195
+ 4. Conveying Verbatim Copies.
196
+
197
+ You may convey verbatim copies of the Program's source code as you
198
+ receive it, in any medium, provided that you conspicuously and
199
+ appropriately publish on each copy an appropriate copyright notice;
200
+ keep intact all notices stating that this License and any
201
+ non-permissive terms added in accord with section 7 apply to the code;
202
+ keep intact all notices of the absence of any warranty; and give all
203
+ recipients a copy of this License along with the Program.
204
+
205
+ You may charge any price or no price for each copy that you convey,
206
+ and you may offer support or warranty protection for a fee.
207
+
208
+ 5. Conveying Modified Source Versions.
209
+
210
+ You may convey a work based on the Program, or the modifications to
211
+ produce it from the Program, in the form of source code under the
212
+ terms of section 4, provided that you also meet all of these conditions:
213
+
214
+ a) The work must carry prominent notices stating that you modified
215
+ it, and giving a relevant date.
216
+
217
+ b) The work must carry prominent notices stating that it is
218
+ released under this License and any conditions added under section
219
+ 7. This requirement modifies the requirement in section 4 to
220
+ "keep intact all notices".
221
+
222
+ c) You must license the entire work, as a whole, under this
223
+ License to anyone who comes into possession of a copy. This
224
+ License will therefore apply, along with any applicable section 7
225
+ additional terms, to the whole of the work, and all its parts,
226
+ regardless of how they are packaged. This License gives no
227
+ permission to license the work in any other way, but it does not
228
+ invalidate such permission if you have separately received it.
229
+
230
+ d) If the work has interactive user interfaces, each must display
231
+ Appropriate Legal Notices; however, if the Program has interactive
232
+ interfaces that do not display Appropriate Legal Notices, your
233
+ work need not make them do so.
234
+
235
+ A compilation of a covered work with other separate and independent
236
+ works, which are not by their nature extensions of the covered work,
237
+ and which are not combined with it such as to form a larger program,
238
+ in or on a volume of a storage or distribution medium, is called an
239
+ "aggregate" if the compilation and its resulting copyright are not
240
+ used to limit the access or legal rights of the compilation's users
241
+ beyond what the individual works permit. Inclusion of a covered work
242
+ in an aggregate does not cause this License to apply to the other
243
+ parts of the aggregate.
244
+
245
+ 6. Conveying Non-Source Forms.
246
+
247
+ You may convey a covered work in object code form under the terms
248
+ of sections 4 and 5, provided that you also convey the
249
+ machine-readable Corresponding Source under the terms of this License,
250
+ in one of these ways:
251
+
252
+ a) Convey the object code in, or embodied in, a physical product
253
+ (including a physical distribution medium), accompanied by the
254
+ Corresponding Source fixed on a durable physical medium
255
+ customarily used for software interchange.
256
+
257
+ b) Convey the object code in, or embodied in, a physical product
258
+ (including a physical distribution medium), accompanied by a
259
+ written offer, valid for at least three years and valid for as
260
+ long as you offer spare parts or customer support for that product
261
+ model, to give anyone who possesses the object code either (1) a
262
+ copy of the Corresponding Source for all the software in the
263
+ product that is covered by this License, on a durable physical
264
+ medium customarily used for software interchange, for a price no
265
+ more than your reasonable cost of physically performing this
266
+ conveying of source, or (2) access to copy the
267
+ Corresponding Source from a network server at no charge.
268
+
269
+ c) Convey individual copies of the object code with a copy of the
270
+ written offer to provide the Corresponding Source. This
271
+ alternative is allowed only occasionally and noncommercially, and
272
+ only if you received the object code with such an offer, in accord
273
+ with subsection 6b.
274
+
275
+ d) Convey the object code by offering access from a designated
276
+ place (gratis or for a charge), and offer equivalent access to the
277
+ Corresponding Source in the same way through the same place at no
278
+ further charge. You need not require recipients to copy the
279
+ Corresponding Source along with the object code. If the place to
280
+ copy the object code is a network server, the Corresponding Source
281
+ may be on a different server (operated by you or a third party)
282
+ that supports equivalent copying facilities, provided you maintain
283
+ clear directions next to the object code saying where to find the
284
+ Corresponding Source. Regardless of what server hosts the
285
+ Corresponding Source, you remain obligated to ensure that it is
286
+ available for as long as needed to satisfy these requirements.
287
+
288
+ e) Convey the object code using peer-to-peer transmission, provided
289
+ you inform other peers where the object code and Corresponding
290
+ Source of the work are being offered to the general public at no
291
+ charge under subsection 6d.
292
+
293
+ A separable portion of the object code, whose source code is excluded
294
+ from the Corresponding Source as a System Library, need not be
295
+ included in conveying the object code work.
296
+
297
+ A "User Product" is either (1) a "consumer product", which means any
298
+ tangible personal property which is normally used for personal, family,
299
+ or household purposes, or (2) anything designed or sold for incorporation
300
+ into a dwelling. In determining whether a product is a consumer product,
301
+ doubtful cases shall be resolved in favor of coverage. For a particular
302
+ product received by a particular user, "normally used" refers to a
303
+ typical or common use of that class of product, regardless of the status
304
+ of the particular user or of the way in which the particular user
305
+ actually uses, or expects or is expected to use, the product. A product
306
+ is a consumer product regardless of whether the product has substantial
307
+ commercial, industrial or non-consumer uses, unless such uses represent
308
+ the only significant mode of use of the product.
309
+
310
+ "Installation Information" for a User Product means any methods,
311
+ procedures, authorization keys, or other information required to install
312
+ and execute modified versions of a covered work in that User Product from
313
+ a modified version of its Corresponding Source. The information must
314
+ suffice to ensure that the continued functioning of the modified object
315
+ code is in no case prevented or interfered with solely because
316
+ modification has been made.
317
+
318
+ If you convey an object code work under this section in, or with, or
319
+ specifically for use in, a User Product, and the conveying occurs as
320
+ part of a transaction in which the right of possession and use of the
321
+ User Product is transferred to the recipient in perpetuity or for a
322
+ fixed term (regardless of how the transaction is characterized), the
323
+ Corresponding Source conveyed under this section must be accompanied
324
+ by the Installation Information. But this requirement does not apply
325
+ if neither you nor any third party retains the ability to install
326
+ modified object code on the User Product (for example, the work has
327
+ been installed in ROM).
328
+
329
+ The requirement to provide Installation Information does not include a
330
+ requirement to continue to provide support service, warranty, or updates
331
+ for a work that has been modified or installed by the recipient, or for
332
+ the User Product in which it has been modified or installed. Access to a
333
+ network may be denied when the modification itself materially and
334
+ adversely affects the operation of the network or violates the rules and
335
+ protocols for communication across the network.
336
+
337
+ Corresponding Source conveyed, and Installation Information provided,
338
+ in accord with this section must be in a format that is publicly
339
+ documented (and with an implementation available to the public in
340
+ source code form), and must require no special password or key for
341
+ unpacking, reading or copying.
342
+
343
+ 7. Additional Terms.
344
+
345
+ "Additional permissions" are terms that supplement the terms of this
346
+ License by making exceptions from one or more of its conditions.
347
+ Additional permissions that are applicable to the entire Program shall
348
+ be treated as though they were included in this License, to the extent
349
+ that they are valid under applicable law. If additional permissions
350
+ apply only to part of the Program, that part may be used separately
351
+ under those permissions, but the entire Program remains governed by
352
+ this License without regard to the additional permissions.
353
+
354
+ When you convey a copy of a covered work, you may at your option
355
+ remove any additional permissions from that copy, or from any part of
356
+ it. (Additional permissions may be written to require their own
357
+ removal in certain cases when you modify the work.) You may place
358
+ additional permissions on material, added by you to a covered work,
359
+ for which you have or can give appropriate copyright permission.
360
+
361
+ Notwithstanding any other provision of this License, for material you
362
+ add to a covered work, you may (if authorized by the copyright holders of
363
+ that material) supplement the terms of this License with terms:
364
+
365
+ a) Disclaiming warranty or limiting liability differently from the
366
+ terms of sections 15 and 16 of this License; or
367
+
368
+ b) Requiring preservation of specified reasonable legal notices or
369
+ author attributions in that material or in the Appropriate Legal
370
+ Notices displayed by works containing it; or
371
+
372
+ c) Prohibiting misrepresentation of the origin of that material, or
373
+ requiring that modified versions of such material be marked in
374
+ reasonable ways as different from the original version; or
375
+
376
+ d) Limiting the use for publicity purposes of names of licensors or
377
+ authors of the material; or
378
+
379
+ e) Declining to grant rights under trademark law for use of some
380
+ trade names, trademarks, or service marks; or
381
+
382
+ f) Requiring indemnification of licensors and authors of that
383
+ material by anyone who conveys the material (or modified versions of
384
+ it) with contractual assumptions of liability to the recipient, for
385
+ any liability that these contractual assumptions directly impose on
386
+ those licensors and authors.
387
+
388
+ All other non-permissive additional terms are considered "further
389
+ restrictions" within the meaning of section 10. If the Program as you
390
+ received it, or any part of it, contains a notice stating that it is
391
+ governed by this License along with a term that is a further
392
+ restriction, you may remove that term. If a license document contains
393
+ a further restriction but permits relicensing or conveying under this
394
+ License, you may add to a covered work material governed by the terms
395
+ of that license document, provided that the further restriction does
396
+ not survive such relicensing or conveying.
397
+
398
+ If you add terms to a covered work in accord with this section, you
399
+ must place, in the relevant source files, a statement of the
400
+ additional terms that apply to those files, or a notice indicating
401
+ where to find the applicable terms.
402
+
403
+ Additional terms, permissive or non-permissive, may be stated in the
404
+ form of a separately written license, or stated as exceptions;
405
+ the above requirements apply either way.
406
+
407
+ 8. Termination.
408
+
409
+ You may not propagate or modify a covered work except as expressly
410
+ provided under this License. Any attempt otherwise to propagate or
411
+ modify it is void, and will automatically terminate your rights under
412
+ this License (including any patent licenses granted under the third
413
+ paragraph of section 11).
414
+
415
+ However, if you cease all violation of this License, then your
416
+ license from a particular copyright holder is reinstated (a)
417
+ provisionally, unless and until the copyright holder explicitly and
418
+ finally terminates your license, and (b) permanently, if the copyright
419
+ holder fails to notify you of the violation by some reasonable means
420
+ prior to 60 days after the cessation.
421
+
422
+ Moreover, your license from a particular copyright holder is
423
+ reinstated permanently if the copyright holder notifies you of the
424
+ violation by some reasonable means, this is the first time you have
425
+ received notice of violation of this License (for any work) from that
426
+ copyright holder, and you cure the violation prior to 30 days after
427
+ your receipt of the notice.
428
+
429
+ Termination of your rights under this section does not terminate the
430
+ licenses of parties who have received copies or rights from you under
431
+ this License. If your rights have been terminated and not permanently
432
+ reinstated, you do not qualify to receive new licenses for the same
433
+ material under section 10.
434
+
435
+ 9. Acceptance Not Required for Having Copies.
436
+
437
+ You are not required to accept this License in order to receive or
438
+ run a copy of the Program. Ancillary propagation of a covered work
439
+ occurring solely as a consequence of using peer-to-peer transmission
440
+ to receive a copy likewise does not require acceptance. However,
441
+ nothing other than this License grants you permission to propagate or
442
+ modify any covered work. These actions infringe copyright if you do
443
+ not accept this License. Therefore, by modifying or propagating a
444
+ covered work, you indicate your acceptance of this License to do so.
445
+
446
+ 10. Automatic Licensing of Downstream Recipients.
447
+
448
+ Each time you convey a covered work, the recipient automatically
449
+ receives a license from the original licensors, to run, modify and
450
+ propagate that work, subject to this License. You are not responsible
451
+ for enforcing compliance by third parties with this License.
452
+
453
+ An "entity transaction" is a transaction transferring control of an
454
+ organization, or substantially all assets of one, or subdividing an
455
+ organization, or merging organizations. If propagation of a covered
456
+ work results from an entity transaction, each party to that
457
+ transaction who receives a copy of the work also receives whatever
458
+ licenses to the work the party's predecessor in interest had or could
459
+ give under the previous paragraph, plus a right to possession of the
460
+ Corresponding Source of the work from the predecessor in interest, if
461
+ the predecessor has it or can get it with reasonable efforts.
462
+
463
+ You may not impose any further restrictions on the exercise of the
464
+ rights granted or affirmed under this License. For example, you may
465
+ not impose a license fee, royalty, or other charge for exercise of
466
+ rights granted under this License, and you may not initiate litigation
467
+ (including a cross-claim or counterclaim in a lawsuit) alleging that
468
+ any patent claim is infringed by making, using, selling, offering for
469
+ sale, or importing the Program or any portion of it.
470
+
471
+ 11. Patents.
472
+
473
+ A "contributor" is a copyright holder who authorizes use under this
474
+ License of the Program or a work on which the Program is based. The
475
+ work thus licensed is called the contributor's "contributor version".
476
+
477
+ A contributor's "essential patent claims" are all patent claims
478
+ owned or controlled by the contributor, whether already acquired or
479
+ hereafter acquired, that would be infringed by some manner, permitted
480
+ by this License, of making, using, or selling its contributor version,
481
+ but do not include claims that would be infringed only as a
482
+ consequence of further modification of the contributor version. For
483
+ purposes of this definition, "control" includes the right to grant
484
+ patent sublicenses in a manner consistent with the requirements of
485
+ this License.
486
+
487
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
488
+ patent license under the contributor's essential patent claims, to
489
+ make, use, sell, offer for sale, import and otherwise run, modify and
490
+ propagate the contents of its contributor version.
491
+
492
+ In the following three paragraphs, a "patent license" is any express
493
+ agreement or commitment, however denominated, not to enforce a patent
494
+ (such as an express permission to practice a patent or covenant not to
495
+ sue for patent infringement). To "grant" such a patent license to a
496
+ party means to make such an agreement or commitment not to enforce a
497
+ patent against the party.
498
+
499
+ If you convey a covered work, knowingly relying on a patent license,
500
+ and the Corresponding Source of the work is not available for anyone
501
+ to copy, free of charge and under the terms of this License, through a
502
+ publicly available network server or other readily accessible means,
503
+ then you must either (1) cause the Corresponding Source to be so
504
+ available, or (2) arrange to deprive yourself of the benefit of the
505
+ patent license for this particular work, or (3) arrange, in a manner
506
+ consistent with the requirements of this License, to extend the patent
507
+ license to downstream recipients. "Knowingly relying" means you have
508
+ actual knowledge that, but for the patent license, your conveying the
509
+ covered work in a country, or your recipient's use of the covered work
510
+ in a country, would infringe one or more identifiable patents in that
511
+ country that you have reason to believe are valid.
512
+
513
+ If, pursuant to or in connection with a single transaction or
514
+ arrangement, you convey, or propagate by procuring conveyance of, a
515
+ covered work, and grant a patent license to some of the parties
516
+ receiving the covered work authorizing them to use, propagate, modify
517
+ or convey a specific copy of the covered work, then the patent license
518
+ you grant is automatically extended to all recipients of the covered
519
+ work and works based on it.
520
+
521
+ A patent license is "discriminatory" if it does not include within
522
+ the scope of its coverage, prohibits the exercise of, or is
523
+ conditioned on the non-exercise of one or more of the rights that are
524
+ specifically granted under this License. You may not convey a covered
525
+ work if you are a party to an arrangement with a third party that is
526
+ in the business of distributing software, under which you make payment
527
+ to the third party based on the extent of your activity of conveying
528
+ the work, and under which the third party grants, to any of the
529
+ parties who would receive the covered work from you, a discriminatory
530
+ patent license (a) in connection with copies of the covered work
531
+ conveyed by you (or copies made from those copies), or (b) primarily
532
+ for and in connection with specific products or compilations that
533
+ contain the covered work, unless you entered into that arrangement,
534
+ or that patent license was granted, prior to 28 March 2007.
535
+
536
+ Nothing in this License shall be construed as excluding or limiting
537
+ any implied license or other defenses to infringement that may
538
+ otherwise be available to you under applicable patent law.
539
+
540
+ 12. No Surrender of Others' Freedom.
541
+
542
+ If conditions are imposed on you (whether by court order, agreement or
543
+ otherwise) that contradict the conditions of this License, they do not
544
+ excuse you from the conditions of this License. If you cannot convey a
545
+ covered work so as to satisfy simultaneously your obligations under this
546
+ License and any other pertinent obligations, then as a consequence you may
547
+ not convey it at all. For example, if you agree to terms that obligate you
548
+ to collect a royalty for further conveying from those to whom you convey
549
+ the Program, the only way you could satisfy both those terms and this
550
+ License would be to refrain entirely from conveying the Program.
551
+
552
+ 13. Use with the GNU Affero General Public License.
553
+
554
+ Notwithstanding any other provision of this License, you have
555
+ permission to link or combine any covered work with a work licensed
556
+ under version 3 of the GNU Affero General Public License into a single
557
+ combined work, and to convey the resulting work. The terms of this
558
+ License will continue to apply to the part which is the covered work,
559
+ but the special requirements of the GNU Affero General Public License,
560
+ section 13, concerning interaction through a network will apply to the
561
+ combination as such.
562
+
563
+ 14. Revised Versions of this License.
564
+
565
+ The Free Software Foundation may publish revised and/or new versions of
566
+ the GNU General Public License from time to time. Such new versions will
567
+ be similar in spirit to the present version, but may differ in detail to
568
+ address new problems or concerns.
569
+
570
+ Each version is given a distinguishing version number. If the
571
+ Program specifies that a certain numbered version of the GNU General
572
+ Public License "or any later version" applies to it, you have the
573
+ option of following the terms and conditions either of that numbered
574
+ version or of any later version published by the Free Software
575
+ Foundation. If the Program does not specify a version number of the
576
+ GNU General Public License, you may choose any version ever published
577
+ by the Free Software Foundation.
578
+
579
+ If the Program specifies that a proxy can decide which future
580
+ versions of the GNU General Public License can be used, that proxy's
581
+ public statement of acceptance of a version permanently authorizes you
582
+ to choose that version for the Program.
583
+
584
+ Later license versions may give you additional or different
585
+ permissions. However, no additional obligations are imposed on any
586
+ author or copyright holder as a result of your choosing to follow a
587
+ later version.
588
+
589
+ 15. Disclaimer of Warranty.
590
+
591
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
592
+ APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
593
+ HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
594
+ OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
595
+ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
596
+ PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
597
+ IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
598
+ ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
599
+
600
+ 16. Limitation of Liability.
601
+
602
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
603
+ WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
604
+ THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
605
+ GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
606
+ USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
607
+ DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
608
+ PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
609
+ EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
610
+ SUCH DAMAGES.
611
+
612
+ 17. Interpretation of Sections 15 and 16.
613
+
614
+ If the disclaimer of warranty and limitation of liability provided
615
+ above cannot be given local legal effect according to their terms,
616
+ reviewing courts shall apply local law that most closely approximates
617
+ an absolute waiver of all civil liability in connection with the
618
+ Program, unless a warranty or assumption of liability accompanies a
619
+ copy of the Program in return for a fee.
620
+
621
+ 18. Further Restrictions
622
+ A. Indemnification
623
+
624
+ You hereby agree to defend, indemnify and hold harmless Constant Contact,
625
+ Inc. (“us”), our affiliates and our underlying service providers (i.e.
626
+ vendors who help us provide the Program or other Constant Contact products
627
+ (the “Products”)), business partners, third-party suppliers and providers,
628
+ account providers, licensors, distributors and agents and our and their
629
+ respective officers, directors, employees, distributors and agents from and
630
+ against any claims, damages, suits, actions, demands, proceedings (whether
631
+ legal or administrative), losses, liabilities, penalties, settlements and
632
+ expenses (including costs and reasonable attorneys' fees) in connection
633
+ with any claim or action that (a) arises from any actual or alleged breach
634
+ by you of this License; (b) arises from your contacts and content,
635
+ including the content or effects of any messages you distribute, events you
636
+ host, surveys you administer, social media campaigns you publish,
637
+ promotions or deals you offer, donations you collect or products or
638
+ services you sell (including claims relating to violations of law, false
639
+ advertising, injuries, illness, damages, death, taxes, fulfillment, breach
640
+ of offer terms, defective products or services or unclaimed property); (c)
641
+ arises from your provision of incomplete or inaccurate information to your
642
+ subscribers or customers; (d) arises from your activities or postings in
643
+ any Constant Contact Community; (e) arises from your use of any third party
644
+ service; (f) arises from your activities related to the Constant Contact
645
+ Authorized Local Expert Program or the Constant Contact Boot Camp; or (g)
646
+ otherwise arises from or relates to your use of the Constant Contact
647
+ website (the “Site”) or the Program or Products. You agree to provide us
648
+ with prompt written notice in the event of any such claims or actions. In
649
+ addition, you acknowledge and agree that we have the right to seek damages
650
+ when you use the Site or the Program or Products for unlawful purposes, in
651
+ an unlawful manner, or in a manner inconsistent with the terms of this
652
+ License, and that such damages may include, without limitation, direct,
653
+ indirect, special, incidental, cover, reliance and/or consequential
654
+ damages. In the event that we are required to respond to a third party or
655
+ law enforcement subpoena or court order that is related to your use of the
656
+ Site or the Program or Products, we may, in our sole discretion, require
657
+ you to reimburse us for our reasonable expenses associated with complying
658
+ with such subpoena or order.
659
+
660
+ B. Limitation of Liability
661
+
662
+ EXCEPT WITH RESPECT TO DEATH OR PERSONAL INJURY DUE TO THE NEGLIGENCE OF
663
+ CONSTANT CONTACT, TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, UNDER
664
+ NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, TORT, CONTRACT, OR OTHERWISE,
665
+ SHALL CONSTANT CONTACT OR ANY OF ITS UNDERLYING SERVICE PROVIDERS, BUSINESS
666
+ PARTNERS, THIRD PARTY SUPPLIERS AND PROVIDERS AND MEMBERS OF OUR NETWORK,
667
+ ACCOUNT PROVIDERS, LICENSORS, OFFICERS, DIRECTORS, EMPLOYEES, DISTRIBUTORS
668
+ OR AGENTS (COLLECTIVELY REFERRED TO FOR PURPOSES OF THIS SECTION AS
669
+ "CONSTANT CONTACT") BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY MONEY
670
+ DAMAGES, WHETHER DIRECT, INDIRECT, SPECIAL, INCIDENTAL, COVER, RELIANCE OR
671
+ CONSEQUENTIAL DAMAGES, EVEN IF CONSTANT CONTACT SHALL HAVE BEEN INFORMED OF
672
+ THE POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY, AND
673
+ REGARDLESS OF THE FORM OF ACTION (WHETHER IN CONTRACT, TORT (INCLUDING
674
+ NEGLIGENCE), PRODUCT LIABILITY OR OTHERWISE), THE MAXIMUM AGGREGATE
675
+ LIABILITY OF CONSTANT CONTACT TO YOU ARISING IN CONNECTION WITH THIS
676
+ LICENSE SHALL BE LIMITED TO THE AMOUNT YOU PAID FOR THE APPLICABLE PRODUCT
677
+ OR PROGRAM IN THE 12 MONTHS PRIOR TO THE ACCRUAL OF THE APPLICABLE CLAIM,
678
+ LESS ANY DAMAGES PREVIOUSLY PAID BY CONSTANT CONTACT TO YOU IN THAT 12
679
+ MONTH PERIOD. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION
680
+ OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION AND EXCLUSION
681
+ MAY NOT APPLY TO YOU.
682
+
683
+ You agree that Constant Contact has set its prices and entered into this
684
+ License in reliance upon the disclaimers of warranty and the limitations of
685
+ liability set forth herein, that they reflect an allocation of risk between
686
+ the parties (including the risk that a contract remedy may fail of its
687
+ essential purpose and cause consequential loss), and that they form an
688
+ essential basis of the bargain between the parties.
689
+
690
+ END OF TERMS AND CONDITIONS
691
+
692
+ How to Apply These Terms to Your New Programs
693
+
694
+ If you develop a new program, and you want it to be of the greatest
695
+ possible use to the public, the best way to achieve this is to make it
696
+ free software which everyone can redistribute and change under these terms.
697
+
698
+ To do so, attach the following notices to the program. It is safest
699
+ to attach them to the start of each source file to most effectively
700
+ state the exclusion of warranty; and each file should have at least
701
+ the "copyright" line and a pointer to where the full notice is found.
702
+
703
+ <one line to give the program's name and a brief idea of what it does.>
704
+ Copyright (C) <year> <name of author>
705
+
706
+ This program is free software: you can redistribute it and/or modify
707
+ it under the terms of the GNU General Public License as published by
708
+ the Free Software Foundation, either version 3 of the License, or
709
+ (at your option) any later version.
710
+
711
+ This program is distributed in the hope that it will be useful,
712
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
713
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
714
+ GNU General Public License for more details.
715
+
716
+ You should have received a copy of the GNU General Public License
717
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
718
+
719
+ Also add information on how to contact you by electronic and paper mail.
720
+
721
+ If the program does terminal interaction, make it output a short
722
+ notice like this when it starts in an interactive mode:
723
+
724
+ <program> Copyright (C) <year> <name of author>
725
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
726
+ This is free software, and you are welcome to redistribute it
727
+ under certain conditions; type `show c' for details.
728
+
729
+ The hypothetical commands `show w' and `show c' should show the appropriate
730
+ parts of the General Public License. Of course, your program's commands
731
+ might be different; for a GUI interface, you would use an "about box".
732
+
733
+ You should also get your employer (if you work as a programmer) or school,
734
+ if any, to sign a "copyright disclaimer" for the program, if necessary.
735
+ For more information on this, and how to apply and follow the GNU GPL, see
736
+ <http://www.gnu.org/licenses/>.
737
+
738
+ The GNU General Public License does not permit incorporating your program
739
+ into proprietary programs. If your program is a subroutine library, you
740
+ may consider it more useful to permit linking proprietary applications with
741
+ the library. If this is what you want to do, use the GNU Lesser General
742
+ Public License instead of this License. But first, please read
743
+ <http://www.gnu.org/philosophy/why-not-lgpl.html>.
package.json ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "constant-contact-forms",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "gulpfile.js",
6
+ "dependencies": {
7
+ "autoprefixer": "^6.3.1",
8
+ "css-mqpacker": "^4.0.0",
9
+ "del": "^2.2.0",
10
+ "gulp": "^3.9.1",
11
+ "gulp-concat" : "^2.6.0",
12
+ "gulp-cssnano": "^2.1.0",
13
+ "gulp-notify": "^2.2.0",
14
+ "gulp-plumber": "^1.1.0",
15
+ "gulp-postcss": "^6.1.0",
16
+ "gulp-rename": "^1.2.2",
17
+ "gulp-sass": "^2.2.0",
18
+ "gulp-sort": "^1.1.1",
19
+ "gulp-sourcemaps": "^1.6.0",
20
+ "gulp-uglify" : "^1.5.2",
21
+ "gulp-util": "^3.0.7"
22
+ },
23
+ "scripts": {
24
+ "test": "echo \"Error: no test specified\" && exit 1"
25
+ },
26
+ "repository": {
27
+ "type": "git",
28
+ "url": "git@github.com/WebDevStudios/constant-contact-forms.git"
29
+ },
30
+ "author": "",
31
+ "license": "ISC",
32
+ "bugs": {
33
+ "url": "https://github.com/WebDevStudios/constant-contact-forms/issues"
34
+ },
35
+ "homepage": "https://github.com/WebDevStudios/constant-contact-forms#readme"
36
+ }
readme.txt ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ === Constant Contact Forms ===
2
+ Contributors: constantcontact, pluginize, webdevstudios
3
+ Tags:
4
+ Requires at least: 4.0.0
5
+ Tested up to: 4.6.1
6
+ Stable tag: 1.0.0
7
+ License: GPLv2
8
+ License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
+
10
+ Add a contact form to your WordPress site and quickly capture information from visitors.
11
+
12
+ == Description ==
13
+
14
+ **Constant Contact Forms** makes it fast and easy to capture visitor information right from your WordPress site. Whether you’re looking to collect email addresses, contact info, event sign-ups, or visitor feedback, you can customize your forms with data fields that work best for you. Best of all, this plugin is available to all WordPress users, even if you don’t have a Constant Contact account.
15
+
16
+ **Constant Contact Forms** allows you to:
17
+
18
+ * Create forms that are clear, simple, and mobile-optimized for every device.
19
+ * Choose forms that automatically select the theme and style of your WordPress site.
20
+ * Customize data fields, so you can tailor the type of information you collect.
21
+
22
+ BONUS: If you have a Constant Contact account, all new email addresses that you capture will be automatically added to the Constant Contact email lists of your choosing. Not a Constant Contact customer? Sign up for a Free Trial right from the plugin.
23
+
24
+ **Constant Contact Forms** requires a PHP version of 5.4 or higher. You will not be able to use if on a lower version. Talk to your system administrator or hosting company if you are not sure what version you are on.
25
+
26
+ == Screenshots ==
27
+ 1. Adding a New form
28
+ 2. Viewing All Forms
29
+ 3. Lists Page
30
+ 4. Basic Form
31
+
32
+ == Changelog ==
33
+
34
+ = 1.0.0 =
35
+ * Initial Release
vendor/CMB2/bootstrap.php ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Bootstraps the CMB2 process
4
+ *
5
+ * @package CMB2
6
+ * @author WebDevStudios
7
+ * @license GPL-2.0+
8
+ * @link http://webdevstudios.com
9
+ */
10
+
11
+ /**
12
+ * Function to encapsulate the CMB2 bootstrap process.
13
+ * @since 2.2.0
14
+ * @return void
15
+ */
16
+ function cmb2_bootstrap() {
17
+
18
+ if ( is_admin() ) {
19
+ /**
20
+ * Fires on the admin side when CMB2 is included/loaded.
21
+ *
22
+ * In most cases, this should be used to add metaboxes. See example-functions.php
23
+ */
24
+ do_action( 'cmb2_admin_init' );
25
+ }
26
+
27
+ /**
28
+ * Fires when CMB2 is included/loaded
29
+ *
30
+ * Can be used to add metaboxes if needed on the front-end or WP-API (or the front and backend).
31
+ */
32
+ do_action( 'cmb2_init' );
33
+
34
+ /**
35
+ * For back-compat. Does the dirty-work of instantiating all the
36
+ * CMB2 instances for the cmb2_meta_boxes filter
37
+ * @since 2.0.2
38
+ */
39
+ $cmb_config_arrays = apply_filters( 'cmb2_meta_boxes', array() );
40
+ foreach ( (array) $cmb_config_arrays as $cmb_config ) {
41
+ new CMB2( $cmb_config );
42
+ }
43
+
44
+ /**
45
+ * Fires after all CMB2 instances are created
46
+ */
47
+ do_action( 'cmb2_init_before_hookup' );
48
+
49
+ /**
50
+ * Get all created metaboxes, and instantiate CMB2_hookup
51
+ * on metaboxes which require it.
52
+ * @since 2.0.2
53
+ */
54
+ foreach ( CMB2_Boxes::get_all() as $cmb ) {
55
+ if ( $cmb->prop( 'hookup' ) ) {
56
+ $hookup = new CMB2_hookup( $cmb );
57
+ }
58
+ }
59
+
60
+ /**
61
+ * Fires after CMB2 initiation process has been completed
62
+ */
63
+ do_action( 'cmb2_after_init' );
64
+ }
65
+
66
+ // End. That's it, folks! //
vendor/CMB2/css/cmb2-front-rtl.css ADDED
@@ -0,0 +1,2648 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * CMB2 Styling
3
+ */
4
+ /*--------------------------------------------------------------
5
+ Main Wrap
6
+ --------------------------------------------------------------*/
7
+ /* line 5, sass/partials/_main_wrap.scss */
8
+ .cmb2-wrap {
9
+ margin: 0;
10
+ }
11
+ /* line 8, sass/partials/_main_wrap.scss */
12
+ .cmb2-wrap input,
13
+ .cmb2-wrap textarea {
14
+ font-size: 14px;
15
+ max-width: 100%;
16
+ padding: 5px;
17
+ }
18
+ /* line 18, sass/partials/_main_wrap.scss */
19
+ .cmb2-wrap input[type=text].cmb2-oembed {
20
+ width: 100%;
21
+ }
22
+ /* line 23, sass/partials/_main_wrap.scss */
23
+ .cmb2-wrap textarea {
24
+ width: 500px;
25
+ }
26
+ /* line 26, sass/partials/_main_wrap.scss */
27
+ .cmb2-wrap textarea.cmb2-textarea-code {
28
+ font-family: "Courier 10 Pitch", Courier, monospace;
29
+ line-height: 16px;
30
+ }
31
+ /* line 34, sass/partials/_main_wrap.scss */
32
+ .cmb2-wrap input.cmb2-text-small, .cmb2-wrap input.cmb2-timepicker {
33
+ width: 100px;
34
+ }
35
+ /* line 40, sass/partials/_main_wrap.scss */
36
+ .cmb2-wrap input.cmb2-text-money {
37
+ width: 90px;
38
+ }
39
+ /* line 45, sass/partials/_main_wrap.scss */
40
+ .cmb2-wrap input.cmb2-text-medium {
41
+ width: 230px;
42
+ }
43
+ /* line 50, sass/partials/_main_wrap.scss */
44
+ .cmb2-wrap input.cmb2-upload-file {
45
+ width: 65%;
46
+ }
47
+ /* line 54, sass/partials/_main_wrap.scss */
48
+ .cmb2-wrap input.ed_button {
49
+ padding: 2px 4px;
50
+ }
51
+ /* line 59, sass/partials/_main_wrap.scss */
52
+ .cmb2-wrap input:not([type="hidden"]) + input,
53
+ .cmb2-wrap input:not([type="hidden"]) + .button,
54
+ .cmb2-wrap input:not([type="hidden"]) + select {
55
+ margin-right: 20px;
56
+ }
57
+ /* line 67, sass/partials/_main_wrap.scss */
58
+ .cmb2-wrap ul {
59
+ margin: 0;
60
+ }
61
+ /* line 71, sass/partials/_main_wrap.scss */
62
+ .cmb2-wrap li {
63
+ font-size: 14px;
64
+ line-height: 16px;
65
+ margin: 1px 0 5px 0;
66
+ }
67
+ /* line 82, sass/partials/_main_wrap.scss */
68
+ .cmb2-wrap select {
69
+ font-size: 14px;
70
+ margin-top: 3px;
71
+ }
72
+ /* line 87, sass/partials/_main_wrap.scss */
73
+ .cmb2-wrap input:focus,
74
+ .cmb2-wrap textarea:focus {
75
+ background: #fffff8;
76
+ }
77
+ /* line 92, sass/partials/_main_wrap.scss */
78
+ .cmb2-wrap input[type="radio"] {
79
+ margin: 0 0 0 5px;
80
+ padding: 0;
81
+ }
82
+ /* line 97, sass/partials/_main_wrap.scss */
83
+ .cmb2-wrap input[type="checkbox"] {
84
+ margin: 0 0 0 5px;
85
+ padding: 0;
86
+ }
87
+ /* line 102, sass/partials/_main_wrap.scss */
88
+ .cmb2-wrap button,
89
+ .cmb2-wrap .button {
90
+ white-space: nowrap;
91
+ }
92
+ /* line 107, sass/partials/_main_wrap.scss */
93
+ .cmb2-wrap .mceLayout {
94
+ border: 1px solid #e9e9e9 !important;
95
+ }
96
+ /* line 111, sass/partials/_main_wrap.scss */
97
+ .cmb2-wrap .mceIframeContainer {
98
+ background: #fff;
99
+ }
100
+ /* line 115, sass/partials/_main_wrap.scss */
101
+ .cmb2-wrap .meta_mce {
102
+ width: 97%;
103
+ }
104
+ /* line 118, sass/partials/_main_wrap.scss */
105
+ .cmb2-wrap .meta_mce textarea {
106
+ width: 100%;
107
+ }
108
+ /* line 126, sass/partials/_main_wrap.scss */
109
+ .cmb2-wrap .wp-color-result,
110
+ .cmb2-wrap .wp-picker-input-wrap {
111
+ vertical-align: middle;
112
+ }
113
+ /* line 131, sass/partials/_main_wrap.scss */
114
+ .cmb2-wrap .wp-color-result,
115
+ .cmb2-wrap .wp-picker-container {
116
+ margin: 0 0 0 10px;
117
+ }
118
+ /* line 136, sass/partials/_main_wrap.scss */
119
+ .cmb2-wrap .cmb-row {
120
+ margin: 0;
121
+ }
122
+ /* line 139, sass/partials/_main_wrap.scss */
123
+ .cmb2-wrap .cmb-row:after {
124
+ content: '';
125
+ clear: both;
126
+ display: block;
127
+ width: 100%;
128
+ }
129
+ /* line 146, sass/partials/_main_wrap.scss */
130
+ .cmb2-wrap .cmb-row.cmb-repeat-row {
131
+ padding: 1.8em 0 0;
132
+ }
133
+ /* line 149, sass/partials/_main_wrap.scss */
134
+ .cmb2-wrap .cmb-row.cmb-repeat-row:first-of-type {
135
+ padding: 0;
136
+ }
137
+ /* line 154, sass/partials/_main_wrap.scss */
138
+ .cmb2-wrap .cmb-row.cmb-repeat .cmb2-metabox-description {
139
+ padding-top: 0;
140
+ padding-bottom: 1.8em;
141
+ }
142
+
143
+ /* line 161, sass/partials/_main_wrap.scss */
144
+ .cmb2-metabox {
145
+ clear: both;
146
+ margin: 0;
147
+ }
148
+ /* line 167, sass/partials/_main_wrap.scss */
149
+ .cmb2-metabox > .cmb-row:first-of-type > .cmb-td,
150
+ .cmb2-metabox > .cmb-row:first-of-type > .cmb-th,
151
+ .cmb2-metabox .cmb-field-list > .cmb-row:first-of-type > .cmb-td,
152
+ .cmb2-metabox .cmb-field-list > .cmb-row:first-of-type > .cmb-th {
153
+ border: 0;
154
+ }
155
+ /* line 174, sass/partials/_main_wrap.scss */
156
+ .cmb2-metabox > .cmb-row .cmb-repeat-table .cmb-row > .cmb-td {
157
+ padding-left: 20px;
158
+ box-sizing: border-box;
159
+ float: right;
160
+ }
161
+
162
+ /* line 182, sass/partials/_main_wrap.scss */
163
+ .cmb-add-row {
164
+ margin: 1.8em 0 0;
165
+ }
166
+
167
+ /* line 186, sass/partials/_main_wrap.scss */
168
+ .cmb-nested .cmb-td,
169
+ .cmb-repeatable-group .cmb-th,
170
+ .cmb-repeatable-group:first-of-type {
171
+ border: 0;
172
+ }
173
+
174
+ /* line 192, sass/partials/_main_wrap.scss */
175
+ .cmb-row:last-of-type,
176
+ .cmb2-wrap .cmb-row:last-of-type,
177
+ .cmb-repeatable-group:last-of-type {
178
+ border-bottom: 0;
179
+ }
180
+
181
+ /* line 198, sass/partials/_main_wrap.scss */
182
+ .cmb-repeatable-grouping {
183
+ border: 1px solid #e9e9e9;
184
+ padding: 0 1em;
185
+ max-width: 1000px;
186
+ }
187
+ /* line 202, sass/partials/_main_wrap.scss */
188
+ .cmb-repeatable-grouping.cmb-row {
189
+ margin: 0 0 0.8em;
190
+ }
191
+
192
+ /* line 209, sass/partials/_main_wrap.scss */
193
+ .cmb-th {
194
+ color: #222222;
195
+ float: right;
196
+ font-weight: 600;
197
+ line-height: 1.3;
198
+ padding: 20px 0 20px 10px;
199
+ vertical-align: top;
200
+ width: 200px;
201
+ }
202
+ @media (max-width: 450px) {
203
+ /* line 209, sass/partials/_main_wrap.scss */
204
+ .cmb-th {
205
+ font-size: 1.2em;
206
+ display: block;
207
+ float: none;
208
+ padding-bottom: 1em;
209
+ text-align: right;
210
+ width: 100%;
211
+ }
212
+ /* line 27, sass/partials/_mixins.scss */
213
+ .cmb-th label {
214
+ display: block;
215
+ margin-top: 0em;
216
+ padding-bottom: 5px;
217
+ }
218
+ /* line 32, sass/partials/_mixins.scss */
219
+ .cmb-th label:after {
220
+ border-bottom: 1px solid #e9e9e9;
221
+ content: '';
222
+ clear: both;
223
+ display: block;
224
+ padding-top: .4em;
225
+ }
226
+ }
227
+
228
+ /* line 223, sass/partials/_main_wrap.scss */
229
+ .cmb-td {
230
+ line-height: 1.3;
231
+ max-width: 100%;
232
+ padding: 15px 10px;
233
+ vertical-align: middle;
234
+ }
235
+
236
+ /* line 232, sass/partials/_main_wrap.scss */
237
+ .cmb-type-title .cmb-td {
238
+ padding: 0;
239
+ }
240
+
241
+ /* line 237, sass/partials/_main_wrap.scss */
242
+ .cmb-th label {
243
+ display: block;
244
+ padding: 5px 0;
245
+ }
246
+
247
+ /* line 242, sass/partials/_main_wrap.scss */
248
+ .cmb-th + .cmb-td {
249
+ float: right;
250
+ }
251
+
252
+ /* line 246, sass/partials/_main_wrap.scss */
253
+ .cmb-td .cmb-td {
254
+ padding-bottom: 1em;
255
+ }
256
+
257
+ /* line 250, sass/partials/_main_wrap.scss */
258
+ .cmb-remove-row {
259
+ text-align: left;
260
+ }
261
+
262
+ /* line 254, sass/partials/_main_wrap.scss */
263
+ .empty-row.hidden {
264
+ display: none;
265
+ }
266
+
267
+ /* line 260, sass/partials/_main_wrap.scss */
268
+ .cmb-repeatable-group .cmb-th {
269
+ padding: 5px;
270
+ }
271
+ /* line 264, sass/partials/_main_wrap.scss */
272
+ .cmb-repeatable-group .cmb-group-title {
273
+ background-color: #e9e9e9;
274
+ padding: 8px 2.2em 8px 12px;
275
+ margin: 0 -1em;
276
+ min-height: 1.5em;
277
+ font-size: 14px;
278
+ line-height: 1.4;
279
+ }
280
+ /* line 272, sass/partials/_main_wrap.scss */
281
+ .cmb-repeatable-group .cmb-group-title h4 {
282
+ border: 0;
283
+ margin: 0;
284
+ font-size: 1.2em;
285
+ font-weight: 500;
286
+ padding: 0.5em 0.75em;
287
+ }
288
+ /* line 280, sass/partials/_main_wrap.scss */
289
+ .cmb-repeatable-group .cmb-group-title .cmb-th {
290
+ display: block;
291
+ width: 100%;
292
+ }
293
+ /* line 286, sass/partials/_main_wrap.scss */
294
+ .cmb-repeatable-group .cmb-group-description .cmb-th {
295
+ font-size: 1.2em;
296
+ display: block;
297
+ float: none;
298
+ padding-bottom: 1em;
299
+ text-align: right;
300
+ width: 100%;
301
+ }
302
+ /* line 27, sass/partials/_mixins.scss */
303
+ .cmb-repeatable-group .cmb-group-description .cmb-th label {
304
+ display: block;
305
+ margin-top: 0em;
306
+ padding-bottom: 5px;
307
+ }
308
+ /* line 32, sass/partials/_mixins.scss */
309
+ .cmb-repeatable-group .cmb-group-description .cmb-th label:after {
310
+ border-bottom: 1px solid #e9e9e9;
311
+ content: '';
312
+ clear: both;
313
+ display: block;
314
+ padding-top: .4em;
315
+ }
316
+ /* line 290, sass/partials/_main_wrap.scss */
317
+ .cmb-repeatable-group .cmb-shift-rows {
318
+ font-size: 1em;
319
+ margin-left: 1em;
320
+ text-decoration: none;
321
+ }
322
+ /* line 295, sass/partials/_main_wrap.scss */
323
+ .cmb-repeatable-group .cmb-shift-rows .dashicons {
324
+ font-size: 1.5em;
325
+ height: 1.5em;
326
+ line-height: 1.2em;
327
+ width: 1em;
328
+ }
329
+ /* line 301, sass/partials/_main_wrap.scss */
330
+ .cmb-repeatable-group .cmb-shift-rows .dashicons.dashicons-arrow-down-alt2 {
331
+ line-height: 1.3em;
332
+ }
333
+ /* line 308, sass/partials/_main_wrap.scss */
334
+ .cmb-repeatable-group .cmb2-upload-button {
335
+ float: left;
336
+ }
337
+
338
+ /* line 314, sass/partials/_main_wrap.scss */
339
+ p.cmb2-metabox-description {
340
+ color: #aaaaaa;
341
+ font-style: italic;
342
+ margin: 0;
343
+ padding-top: .5em;
344
+ }
345
+
346
+ /* line 321, sass/partials/_main_wrap.scss */
347
+ span.cmb2-metabox-description {
348
+ color: #aaaaaa;
349
+ font-style: italic;
350
+ }
351
+
352
+ /* line 326, sass/partials/_main_wrap.scss */
353
+ .cmb2-metabox-title {
354
+ margin: 0 0 5px 0;
355
+ padding: 5px 0 0 0;
356
+ font-size: 14px;
357
+ }
358
+
359
+ /* line 332, sass/partials/_main_wrap.scss */
360
+ .cmb-inline ul {
361
+ padding: 4px 0 0 0;
362
+ }
363
+
364
+ /* line 336, sass/partials/_main_wrap.scss */
365
+ .cmb-inline li {
366
+ display: inline-block;
367
+ padding-left: 18px;
368
+ }
369
+
370
+ /* line 341, sass/partials/_main_wrap.scss */
371
+ .cmb-type-textarea-code pre {
372
+ margin: 0;
373
+ }
374
+
375
+ /* line 347, sass/partials/_main_wrap.scss */
376
+ .cmb2-media-status .img-status {
377
+ clear: none;
378
+ display: inline-block;
379
+ float: right;
380
+ margin-left: 10px;
381
+ width: auto;
382
+ }
383
+ /* line 354, sass/partials/_main_wrap.scss */
384
+ .cmb2-media-status .img-status img {
385
+ max-width: 350px;
386
+ }
387
+ /* line 359, sass/partials/_main_wrap.scss */
388
+ .cmb2-media-status .img-status img,
389
+ .cmb2-media-status .embed-status {
390
+ background: #ffffff;
391
+ border: 1px solid #e9e9e9;
392
+ border-radius: 2px;
393
+ -moz-border-radius: 2px;
394
+ margin: 15px 0 0 0;
395
+ padding: 5px;
396
+ }
397
+ /* line 369, sass/partials/_main_wrap.scss */
398
+ .cmb2-media-status .embed-status {
399
+ float: right;
400
+ max-width: 800px;
401
+ }
402
+ /* line 374, sass/partials/_main_wrap.scss */
403
+ .cmb2-media-status .img-status, .cmb2-media-status .embed-status {
404
+ position: relative;
405
+ }
406
+ /* line 377, sass/partials/_main_wrap.scss */
407
+ .cmb2-media-status .img-status .cmb2-remove-file-button, .cmb2-media-status .embed-status .cmb2-remove-file-button {
408
+ background: url(../images/ico-delete.png);
409
+ height: 16px;
410
+ right: -5px;
411
+ position: absolute;
412
+ text-indent: -9999px;
413
+ top: -5px;
414
+ width: 16px;
415
+ }
416
+ /* line 391, sass/partials/_main_wrap.scss */
417
+ .cmb2-media-status .img-status .cmb2-remove-file-button {
418
+ top: 10px;
419
+ }
420
+ /* line 396, sass/partials/_main_wrap.scss */
421
+ .cmb2-media-status .img-status img, .cmb2-media-status .file-status > span {
422
+ cursor: pointer;
423
+ }
424
+
425
+ /* line 402, sass/partials/_main_wrap.scss */
426
+ .cmb-type-file-list .cmb2-media-status .img-status {
427
+ clear: none;
428
+ float: right;
429
+ margin-left: 10px;
430
+ width: auto;
431
+ }
432
+
433
+ /* line 409, sass/partials/_main_wrap.scss */
434
+ .cmb-attach-list li {
435
+ clear: both;
436
+ display: inline-block;
437
+ margin-bottom: 25px;
438
+ width: 100%;
439
+ }
440
+ /* line 415, sass/partials/_main_wrap.scss */
441
+ .cmb-attach-list li img {
442
+ cursor: move;
443
+ float: right;
444
+ margin-left: 10px;
445
+ }
446
+
447
+ /* line 422, sass/partials/_main_wrap.scss */
448
+ .cmb2-remove-wrapper {
449
+ margin: 0;
450
+ }
451
+
452
+ /* line 426, sass/partials/_main_wrap.scss */
453
+ .child-cmb2 .cmb-th {
454
+ text-align: right;
455
+ }
456
+
457
+ @media (max-width: 450px) {
458
+ /* line 431, sass/partials/_main_wrap.scss */
459
+ .cmb-th,
460
+ .cmb-td,
461
+ .cmb-th + .cmb-td {
462
+ display: block;
463
+ float: none;
464
+ width: 100%;
465
+ }
466
+ }
467
+ /*--------------------------------------------------------------
468
+ Post Metaboxes
469
+ --------------------------------------------------------------*/
470
+ /* line 4, sass/partials/_post_metaboxes.scss */
471
+ #poststuff .cmb-group-title {
472
+ margin-right: -1em;
473
+ margin-left: -1em;
474
+ min-height: 1.5em;
475
+ }
476
+
477
+ /* line 10, sass/partials/_post_metaboxes.scss */
478
+ #poststuff .repeatable .cmb-group-title {
479
+ padding-right: 2.2em;
480
+ }
481
+
482
+ /* line 16, sass/partials/_post_metaboxes.scss */
483
+ .postbox-container .cmb2-wrap, .cmb-repeat-group-wrap .cmb2-wrap {
484
+ margin: 0;
485
+ }
486
+ /* line 19, sass/partials/_post_metaboxes.scss */
487
+ .postbox-container .cmb2-wrap > .cmb-field-list > .cmb-row, .cmb-repeat-group-wrap .cmb2-wrap > .cmb-field-list > .cmb-row {
488
+ padding: 1.8em 0;
489
+ }
490
+ /* line 25, sass/partials/_post_metaboxes.scss */
491
+ .postbox-container .cmb2-wrap input[type=text].cmb2-oembed, .cmb-repeat-group-wrap .cmb2-wrap input[type=text].cmb2-oembed {
492
+ width: 100%;
493
+ }
494
+ /* line 31, sass/partials/_post_metaboxes.scss */
495
+ .postbox-container .cmb-row, .cmb-repeat-group-wrap .cmb-row {
496
+ padding: 0 0 1.8em;
497
+ margin: 0 0 0.8em;
498
+ }
499
+ /* line 35, sass/partials/_post_metaboxes.scss */
500
+ .postbox-container .cmb-row .cmbhandle, .cmb-repeat-group-wrap .cmb-row .cmbhandle {
501
+ left: -1em;
502
+ position: relative;
503
+ }
504
+ /* line 41, sass/partials/_post_metaboxes.scss */
505
+ .postbox-container .cmb-repeatable-grouping, .cmb-repeat-group-wrap .cmb-repeatable-grouping {
506
+ padding: 0 1em;
507
+ max-width: 100%;
508
+ min-width: 1px !important;
509
+ }
510
+ /* line 47, sass/partials/_post_metaboxes.scss */
511
+ .postbox-container .cmb-repeatable-group > .cmb-row, .cmb-repeat-group-wrap .cmb-repeatable-group > .cmb-row {
512
+ padding-bottom: 0;
513
+ }
514
+ /* line 51, sass/partials/_post_metaboxes.scss */
515
+ .postbox-container .cmb-th, .cmb-repeat-group-wrap .cmb-th {
516
+ width: 18%;
517
+ padding: 0 0 0 2%;
518
+ }
519
+ /* line 57, sass/partials/_post_metaboxes.scss */
520
+ .postbox-container .cmb-td, .cmb-repeat-group-wrap .cmb-td {
521
+ margin-bottom: 0;
522
+ padding: 0;
523
+ line-height: 1.3;
524
+ }
525
+ /* line 63, sass/partials/_post_metaboxes.scss */
526
+ .postbox-container .cmb-repeat-row .cmb-td, .cmb-repeat-group-wrap .cmb-repeat-row .cmb-td {
527
+ padding-bottom: 1.8em;
528
+ }
529
+ /* line 67, sass/partials/_post_metaboxes.scss */
530
+ .postbox-container .cmb-th + .cmb-td, .cmb-repeat-group-wrap .cmb-th + .cmb-td {
531
+ width: 80%;
532
+ float: left;
533
+ }
534
+ /* line 72, sass/partials/_post_metaboxes.scss */
535
+ .postbox-container .cmb-row:not(:last-of-type),
536
+ .postbox-container .cmb-repeatable-group:not(:last-of-type), .cmb-repeat-group-wrap .cmb-row:not(:last-of-type),
537
+ .cmb-repeat-group-wrap .cmb-repeatable-group:not(:last-of-type) {
538
+ border-bottom: 1px solid #e9e9e9;
539
+ }
540
+ @media (max-width: 450px) {
541
+ /* line 72, sass/partials/_post_metaboxes.scss */
542
+ .postbox-container .cmb-row:not(:last-of-type),
543
+ .postbox-container .cmb-repeatable-group:not(:last-of-type), .cmb-repeat-group-wrap .cmb-row:not(:last-of-type),
544
+ .cmb-repeat-group-wrap .cmb-repeatable-group:not(:last-of-type) {
545
+ border-bottom: 0;
546
+ }
547
+ }
548
+ /* line 81, sass/partials/_post_metaboxes.scss */
549
+ .postbox-container .cmb-repeat-group-field,
550
+ .postbox-container .cmb-remove-field-row, .cmb-repeat-group-wrap .cmb-repeat-group-field,
551
+ .cmb-repeat-group-wrap .cmb-remove-field-row {
552
+ padding-top: 1.8em;
553
+ }
554
+ /* line 88, sass/partials/_post_metaboxes.scss */
555
+ .postbox-container .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody, .postbox-container .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody, .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody, .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody {
556
+ display: table;
557
+ width: 100%;
558
+ }
559
+ /* line 92, sass/partials/_post_metaboxes.scss */
560
+ .postbox-container .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text, .postbox-container .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text, .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text, .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text {
561
+ width: 100%;
562
+ }
563
+ /* line 96, sass/partials/_post_metaboxes.scss */
564
+ .postbox-container .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row), .postbox-container .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row), .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row), .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row) {
565
+ display: table-row;
566
+ }
567
+ /* line 100, sass/partials/_post_metaboxes.scss */
568
+ .postbox-container .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td, .postbox-container .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td, .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td, .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td {
569
+ display: table-cell;
570
+ float: none;
571
+ width: 100%;
572
+ }
573
+ /* line 106, sass/partials/_post_metaboxes.scss */
574
+ .postbox-container .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td, .postbox-container .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td, .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td, .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td {
575
+ padding-top: 1.8em;
576
+ }
577
+ /* line 110, sass/partials/_post_metaboxes.scss */
578
+ .postbox-container .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row, .postbox-container .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row, .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row, .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row {
579
+ padding-left: 0;
580
+ }
581
+
582
+ /*--------------------------------------------------------------
583
+ Misc.
584
+ --------------------------------------------------------------*/
585
+ /* line 5, sass/partials/_misc.scss */
586
+ #poststuff .cmb-repeatable-group h2 {
587
+ margin: 0;
588
+ }
589
+
590
+ /* line 12, sass/partials/_misc.scss */
591
+ .edit-tags-php .cmb2-metabox-title,
592
+ .profile-php .cmb2-metabox-title,
593
+ .user-edit-php .cmb2-metabox-title {
594
+ font-size: 1.4em;
595
+ }
596
+
597
+ /* line 18, sass/partials/_misc.scss */
598
+ .cmb2-options-page .cmb2-metabox-title {
599
+ font-size: 1.3em;
600
+ margin: 1em 0;
601
+ }
602
+ /* line 21, sass/partials/_misc.scss */
603
+ .cmb2-options-page .cmb2-metabox-title + p.cmb2-metabox-description {
604
+ margin-top: -1.6em;
605
+ margin-bottom: .8em;
606
+ }
607
+
608
+ /* line 27, sass/partials/_misc.scss */
609
+ .postbox .cmb-spinner {
610
+ float: right;
611
+ }
612
+
613
+ /*--------------------------------------------------------------
614
+ Sidebar Placement Adjustments
615
+ --------------------------------------------------------------*/
616
+ /* line 10, sass/partials/_sidebar_placements.scss */
617
+ .inner-sidebar .cmb2-wrap > .cmb-field-list > .cmb-row,
618
+ #side-sortables .cmb2-wrap > .cmb-field-list > .cmb-row {
619
+ padding: 1.4em 0;
620
+ }
621
+ /* line 16, sass/partials/_sidebar_placements.scss */
622
+ .inner-sidebar .cmb2-wrap input[type=text]:not(.wp-color-picker),
623
+ #side-sortables .cmb2-wrap input[type=text]:not(.wp-color-picker) {
624
+ width: 100%;
625
+ }
626
+ /* line 20, sass/partials/_sidebar_placements.scss */
627
+ .inner-sidebar .cmb2-wrap input + input:not(.wp-picker-clear), .inner-sidebar .cmb2-wrap input + select,
628
+ #side-sortables .cmb2-wrap input + input:not(.wp-picker-clear),
629
+ #side-sortables .cmb2-wrap input + select {
630
+ margin-right: 0;
631
+ margin-top: 1em;
632
+ display: block;
633
+ }
634
+ /* line 26, sass/partials/_sidebar_placements.scss */
635
+ .inner-sidebar .cmb2-wrap input.cmb2-text-money,
636
+ #side-sortables .cmb2-wrap input.cmb2-text-money {
637
+ max-width: 70%;
638
+ }
639
+ /* line 28, sass/partials/_sidebar_placements.scss */
640
+ .inner-sidebar .cmb2-wrap input.cmb2-text-money + .cmb2-metabox-description,
641
+ #side-sortables .cmb2-wrap input.cmb2-text-money + .cmb2-metabox-description {
642
+ display: block;
643
+ }
644
+ /* line 34, sass/partials/_sidebar_placements.scss */
645
+ .inner-sidebar .cmb2-wrap label,
646
+ #side-sortables .cmb2-wrap label {
647
+ display: block;
648
+ font-weight: 700;
649
+ padding: 0 0 5px;
650
+ }
651
+ /* line 42, sass/partials/_sidebar_placements.scss */
652
+ .inner-sidebar textarea,
653
+ #side-sortables textarea {
654
+ max-width: 99%;
655
+ }
656
+ /* line 46, sass/partials/_sidebar_placements.scss */
657
+ .inner-sidebar .cmb-repeatable-group,
658
+ #side-sortables .cmb-repeatable-group {
659
+ border-bottom: 1px solid #e9e9e9;
660
+ }
661
+ /* line 50, sass/partials/_sidebar_placements.scss */
662
+ .inner-sidebar .cmb-repeat-group-wrap > .cmb-td > .cmb-repeatable-group,
663
+ #side-sortables .cmb-repeat-group-wrap > .cmb-td > .cmb-repeatable-group {
664
+ border-bottom: 0;
665
+ margin-bottom: -1.4em;
666
+ }
667
+ /* line 55, sass/partials/_sidebar_placements.scss */
668
+ .inner-sidebar .cmb-th,
669
+ .inner-sidebar .cmb-td,
670
+ .inner-sidebar .cmb-th + .cmb-td,
671
+ #side-sortables .cmb-th,
672
+ #side-sortables .cmb-td,
673
+ #side-sortables .cmb-th + .cmb-td {
674
+ width: 100%;
675
+ display: block;
676
+ float: none;
677
+ }
678
+ /* line 63, sass/partials/_sidebar_placements.scss */
679
+ .inner-sidebar .closed .inside,
680
+ #side-sortables .closed .inside {
681
+ display: none;
682
+ }
683
+ /* line 67, sass/partials/_sidebar_placements.scss */
684
+ .inner-sidebar .cmb-td .cmb-td,
685
+ #side-sortables .cmb-td .cmb-td {
686
+ padding-bottom: 1em;
687
+ }
688
+ /* line 71, sass/partials/_sidebar_placements.scss */
689
+ .inner-sidebar .cmb-th,
690
+ #side-sortables .cmb-th {
691
+ display: block;
692
+ float: none;
693
+ padding-bottom: 1em;
694
+ text-align: right;
695
+ width: 100%;
696
+ padding-right: 0;
697
+ padding-left: 0;
698
+ }
699
+ /* line 27, sass/partials/_mixins.scss */
700
+ .inner-sidebar .cmb-th label,
701
+ #side-sortables .cmb-th label {
702
+ display: block;
703
+ margin-top: 0em;
704
+ padding-bottom: 5px;
705
+ }
706
+ /* line 32, sass/partials/_mixins.scss */
707
+ .inner-sidebar .cmb-th label:after,
708
+ #side-sortables .cmb-th label:after {
709
+ border-bottom: 1px solid #e9e9e9;
710
+ content: '';
711
+ clear: both;
712
+ display: block;
713
+ padding-top: .4em;
714
+ }
715
+ /* line 14, sass/partials/_mixins.scss */
716
+ .inner-sidebar .cmb-th label,
717
+ #side-sortables .cmb-th label {
718
+ font-size: 14px;
719
+ line-height: 1.4em;
720
+ }
721
+ /* line 78, sass/partials/_sidebar_placements.scss */
722
+ .inner-sidebar .cmb-group-description .cmb-th,
723
+ #side-sortables .cmb-group-description .cmb-th {
724
+ padding-top: 0;
725
+ }
726
+ /* line 81, sass/partials/_sidebar_placements.scss */
727
+ .inner-sidebar .cmb-group-description .cmb2-metabox-description,
728
+ #side-sortables .cmb-group-description .cmb2-metabox-description {
729
+ padding: 0;
730
+ }
731
+ /* line 88, sass/partials/_sidebar_placements.scss */
732
+ .inner-sidebar .cmb-group-title .cmb-th,
733
+ #side-sortables .cmb-group-title .cmb-th {
734
+ padding: 0;
735
+ }
736
+ /* line 94, sass/partials/_sidebar_placements.scss */
737
+ .inner-sidebar .cmb-repeatable-grouping + .cmb-repeatable-grouping,
738
+ #side-sortables .cmb-repeatable-grouping + .cmb-repeatable-grouping {
739
+ margin-top: 1em;
740
+ }
741
+ /* line 103, sass/partials/_sidebar_placements.scss */
742
+ .inner-sidebar .cmb2-media-status .img-status img,
743
+ .inner-sidebar .cmb2-media-status .embed-status img,
744
+ #side-sortables .cmb2-media-status .img-status img,
745
+ #side-sortables .cmb2-media-status .embed-status img {
746
+ max-width: 90%;
747
+ height: auto;
748
+ }
749
+ /* line 111, sass/partials/_sidebar_placements.scss */
750
+ .inner-sidebar .cmb2-list label,
751
+ #side-sortables .cmb2-list label {
752
+ display: inline;
753
+ font-weight: normal;
754
+ }
755
+ /* line 116, sass/partials/_sidebar_placements.scss */
756
+ .inner-sidebar .cmb2-metabox-description,
757
+ #side-sortables .cmb2-metabox-description {
758
+ display: block;
759
+ padding: 7px 0 0;
760
+ }
761
+ /* line 123, sass/partials/_sidebar_placements.scss */
762
+ .inner-sidebar .cmb-type-checkbox .cmb-td label,
763
+ .inner-sidebar .cmb-type-checkbox .cmb2-metabox-description,
764
+ #side-sortables .cmb-type-checkbox .cmb-td label,
765
+ #side-sortables .cmb-type-checkbox .cmb2-metabox-description {
766
+ font-weight: normal;
767
+ display: inline;
768
+ }
769
+ /* line 130, sass/partials/_sidebar_placements.scss */
770
+ .inner-sidebar .cmb-row .cmb2-metabox-description,
771
+ #side-sortables .cmb-row .cmb2-metabox-description {
772
+ padding-bottom: 1.8em;
773
+ }
774
+ /* line 134, sass/partials/_sidebar_placements.scss */
775
+ .inner-sidebar .cmb2-metabox-title,
776
+ #side-sortables .cmb2-metabox-title {
777
+ font-size: 1.2em;
778
+ font-style: italic;
779
+ }
780
+ /* line 139, sass/partials/_sidebar_placements.scss */
781
+ .inner-sidebar .cmb-remove-row,
782
+ #side-sortables .cmb-remove-row {
783
+ clear: both;
784
+ padding-top: 12px;
785
+ padding-bottom: 0;
786
+ }
787
+ /* line 146, sass/partials/_sidebar_placements.scss */
788
+ .inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td,
789
+ #side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td {
790
+ width: auto;
791
+ clear: none;
792
+ float: right;
793
+ padding-top: 0;
794
+ }
795
+ /* line 151, sass/partials/_sidebar_placements.scss */
796
+ .inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row,
797
+ #side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row {
798
+ float: left;
799
+ margin: 0;
800
+ }
801
+ /* line 158, sass/partials/_sidebar_placements.scss */
802
+ .inner-sidebar .cmb2-upload-button,
803
+ #side-sortables .cmb2-upload-button {
804
+ clear: both;
805
+ margin-top: 12px;
806
+ }
807
+
808
+ /* line 2, sass/partials/_collapsible_ui.scss */
809
+ .cmb2-metabox .cmb-repeat-group-wrap {
810
+ max-width: 1000px;
811
+ }
812
+ /* line 5, sass/partials/_collapsible_ui.scss */
813
+ .cmb2-metabox .cmbhandle {
814
+ color: #aaa;
815
+ float: left;
816
+ width: 27px;
817
+ height: 30px;
818
+ cursor: pointer;
819
+ left: -1em;
820
+ position: relative;
821
+ }
822
+ /* line 13, sass/partials/_collapsible_ui.scss */
823
+ .cmb2-metabox .cmbhandle:before {
824
+ content: '\f142';
825
+ left: 12px;
826
+ font: normal 20px/1 'dashicons';
827
+ speak: none;
828
+ display: inline-block;
829
+ padding: 8px 10px;
830
+ top: 0;
831
+ position: relative;
832
+ -webkit-font-smoothing: antialiased;
833
+ -moz-osx-font-smoothing: grayscale;
834
+ text-decoration: none !important;
835
+ }
836
+ /* line 30, sass/partials/_collapsible_ui.scss */
837
+ .cmb2-metabox .postbox.closed .cmbhandle:before {
838
+ content: '\f140';
839
+ }
840
+ /* line 36, sass/partials/_collapsible_ui.scss */
841
+ .cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row {
842
+ -webkit-appearance: none !important;
843
+ background: none !important;
844
+ border: none !important;
845
+ position: absolute;
846
+ right: 0;
847
+ top: .5em;
848
+ line-height: 1em;
849
+ cursor: pointer;
850
+ padding: 2px 6px 3px;
851
+ }
852
+ /* line 46, sass/partials/_collapsible_ui.scss */
853
+ .cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]) {
854
+ color: #a00;
855
+ }
856
+ /* line 48, sass/partials/_collapsible_ui.scss */
857
+ .cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]):hover {
858
+ color: #f00;
859
+ }
860
+
861
+ /*
862
+ * jQuery UI CSS Framework 1.8.16
863
+ *
864
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
865
+ * Dual licensed under the MIT or GPL Version 2 licenses.
866
+ * http://jquery.org/license
867
+ *
868
+ * http://docs.jquery.com/UI/Theming/API
869
+ */
870
+ /* line 10, sass/partials/_jquery_ui.scss */
871
+ * html .cmb2-element.ui-helper-clearfix {
872
+ height: 1%;
873
+ }
874
+
875
+ /* line 14, sass/partials/_jquery_ui.scss */
876
+ .cmb2-element .ui-helper-hidden {
877
+ display: none;
878
+ }
879
+ /* line 17, sass/partials/_jquery_ui.scss */
880
+ .cmb2-element .ui-helper-hidden-accessible {
881
+ position: absolute !important;
882
+ clip: rect(1px 1px 1px 1px);
883
+ clip: rect(1px, 1px, 1px, 1px);
884
+ }
885
+ /* line 20, sass/partials/_jquery_ui.scss */
886
+ .cmb2-element .ui-helper-reset {
887
+ margin: 0;
888
+ padding: 0;
889
+ border: 0;
890
+ outline: 0;
891
+ line-height: 1.3;
892
+ text-decoration: none;
893
+ font-size: 100%;
894
+ list-style: none;
895
+ }
896
+ /* line 23, sass/partials/_jquery_ui.scss */
897
+ .cmb2-element.ui-helper-clearfix:after,
898
+ .cmb2-element .ui-helper-clearfix:after {
899
+ content: ".";
900
+ display: block;
901
+ height: 0;
902
+ clear: both;
903
+ visibility: hidden;
904
+ }
905
+ /* line 27, sass/partials/_jquery_ui.scss */
906
+ .cmb2-element.ui-helper-clearfix,
907
+ .cmb2-element .ui-helper-clearfix {
908
+ display: inline-block;
909
+ }
910
+ /* line 31, sass/partials/_jquery_ui.scss */
911
+ .cmb2-element.ui-helper-clearfix,
912
+ .cmb2-element .ui-helper-clearfix {
913
+ display: block;
914
+ }
915
+ /* line 35, sass/partials/_jquery_ui.scss */
916
+ .cmb2-element .ui-helper-zfix {
917
+ width: 100%;
918
+ height: 100%;
919
+ top: 0;
920
+ right: 0;
921
+ position: absolute;
922
+ opacity: 0;
923
+ filter: Alpha(Opacity=0);
924
+ }
925
+ /* line 38, sass/partials/_jquery_ui.scss */
926
+ .cmb2-element .ui-state-disabled {
927
+ cursor: default !important;
928
+ }
929
+ /* line 41, sass/partials/_jquery_ui.scss */
930
+ .cmb2-element .ui-icon {
931
+ display: block;
932
+ text-indent: -99999px;
933
+ overflow: hidden;
934
+ background-repeat: no-repeat;
935
+ }
936
+ /* line 44, sass/partials/_jquery_ui.scss */
937
+ .cmb2-element .ui-widget-overlay {
938
+ position: absolute;
939
+ top: 0;
940
+ right: 0;
941
+ width: 100%;
942
+ height: 100%;
943
+ }
944
+ /* line 47, sass/partials/_jquery_ui.scss */
945
+ .cmb2-element.ui-widget,
946
+ .cmb2-element .ui-widget {
947
+ font-family: Verdana,Arial,sans-serif;
948
+ font-size: 1.1em;
949
+ }
950
+ /* line 50, sass/partials/_jquery_ui.scss */
951
+ .cmb2-element.ui-widget .ui-widget,
952
+ .cmb2-element .ui-widget .ui-widget {
953
+ font-size: 1em;
954
+ }
955
+ /* line 53, sass/partials/_jquery_ui.scss */
956
+ .cmb2-element.ui-widget input,
957
+ .cmb2-element.ui-widget select,
958
+ .cmb2-element.ui-widget textarea,
959
+ .cmb2-element.ui-widget button,
960
+ .cmb2-element .ui-widget input,
961
+ .cmb2-element .ui-widget select,
962
+ .cmb2-element .ui-widget textarea,
963
+ .cmb2-element .ui-widget button {
964
+ font-family: Verdana,Arial,sans-serif;
965
+ font-size: 1em;
966
+ }
967
+ /* line 60, sass/partials/_jquery_ui.scss */
968
+ .cmb2-element.ui-widget-content,
969
+ .cmb2-element .ui-widget-content {
970
+ border: 1px solid #aaaaaa;
971
+ background: #ffffff url(../images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x;
972
+ color: #222222;
973
+ }
974
+ /* line 64, sass/partials/_jquery_ui.scss */
975
+ .cmb2-element.ui-widget-content a,
976
+ .cmb2-element .ui-widget-content a {
977
+ color: #222222;
978
+ }
979
+ /* line 68, sass/partials/_jquery_ui.scss */
980
+ .cmb2-element .ui-widget-header {
981
+ border: 1px solid #aaaaaa;
982
+ background: #cccccc url(../images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;
983
+ color: #222222;
984
+ font-weight: bold;
985
+ }
986
+ /* line 71, sass/partials/_jquery_ui.scss */
987
+ .cmb2-element .ui-widget-header a {
988
+ color: #222222;
989
+ }
990
+ /* line 74, sass/partials/_jquery_ui.scss */
991
+ .cmb2-element .ui-state-default, .cmb2-element.ui-widget-content .ui-state-default,
992
+ .cmb2-element .ui-widget-content .ui-state-default,
993
+ .cmb2-element .ui-widget-header .ui-state-default {
994
+ border: 1px solid #d3d3d3;
995
+ font-weight: normal;
996
+ color: #555555;
997
+ }
998
+ /* line 80, sass/partials/_jquery_ui.scss */
999
+ .cmb2-element .ui-state-default a,
1000
+ .cmb2-element .ui-state-default a:link,
1001
+ .cmb2-element .ui-state-default a:visited {
1002
+ color: #555555;
1003
+ text-decoration: none;
1004
+ }
1005
+ /* line 85, sass/partials/_jquery_ui.scss */
1006
+ .cmb2-element .ui-state-hover, .cmb2-element.ui-widget-content .ui-state-hover,
1007
+ .cmb2-element .ui-widget-content .ui-state-hover,
1008
+ .cmb2-element .ui-widget-header .ui-state-hover,
1009
+ .cmb2-element .ui-state-focus, .cmb2-element.ui-widget-content .ui-state-focus,
1010
+ .cmb2-element .ui-widget-content .ui-state-focus,
1011
+ .cmb2-element .ui-widget-header .ui-state-focus {
1012
+ border: 1px solid #999999;
1013
+ background: #dadada url(../images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x;
1014
+ font-weight: normal;
1015
+ color: #212121;
1016
+ }
1017
+ /* line 95, sass/partials/_jquery_ui.scss */
1018
+ .cmb2-element .ui-state-hover a,
1019
+ .cmb2-element .ui-state-hover a:hover {
1020
+ color: #212121;
1021
+ text-decoration: none;
1022
+ }
1023
+ /* line 99, sass/partials/_jquery_ui.scss */
1024
+ .cmb2-element .ui-state-active, .cmb2-element.ui-widget-content .ui-state-active,
1025
+ .cmb2-element .ui-widget-content .ui-state-active,
1026
+ .cmb2-element .ui-widget-header .ui-state-active {
1027
+ border: 1px solid #aaaaaa;
1028
+ background: #ffffff url(../images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;
1029
+ font-weight: normal;
1030
+ color: #212121;
1031
+ }
1032
+ /* line 105, sass/partials/_jquery_ui.scss */
1033
+ .cmb2-element .ui-state-active a,
1034
+ .cmb2-element .ui-state-active a:link,
1035
+ .cmb2-element .ui-state-active a:visited {
1036
+ color: #212121;
1037
+ text-decoration: none;
1038
+ }
1039
+ /* line 110, sass/partials/_jquery_ui.scss */
1040
+ .cmb2-element.ui-widget :active,
1041
+ .cmb2-element .ui-widget :active {
1042
+ outline: none;
1043
+ }
1044
+ /* line 114, sass/partials/_jquery_ui.scss */
1045
+ .cmb2-element .ui-state-highlight, .cmb2-element.ui-widget-content .ui-state-highlight,
1046
+ .cmb2-element .ui-widget-content .ui-state-highlight,
1047
+ .cmb2-element .ui-widget-header .ui-state-highlight {
1048
+ border: 1px solid #fcefa1;
1049
+ background: #fbf9ee url(../images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x;
1050
+ color: #363636;
1051
+ }
1052
+ /* line 120, sass/partials/_jquery_ui.scss */
1053
+ .cmb2-element .ui-state-highlight a, .cmb2-element.ui-widget-content .ui-state-highlight a,
1054
+ .cmb2-element .ui-widget-content .ui-state-highlight a,
1055
+ .cmb2-element .ui-widget-header .ui-state-highlight a {
1056
+ color: #363636;
1057
+ }
1058
+ /* line 126, sass/partials/_jquery_ui.scss */
1059
+ .cmb2-element .ui-state-error, .cmb2-element.ui-widget-content .ui-state-error,
1060
+ .cmb2-element .ui-widget-content .ui-state-error,
1061
+ .cmb2-element .ui-widget-header .ui-state-error {
1062
+ border: 1px solid #cd0a0a;
1063
+ background: #fef1ec url(../images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;
1064
+ color: #cd0a0a;
1065
+ }
1066
+ /* line 132, sass/partials/_jquery_ui.scss */
1067
+ .cmb2-element .ui-state-error a, .cmb2-element.ui-widget-content .ui-state-error a,
1068
+ .cmb2-element .ui-widget-content .ui-state-error a,
1069
+ .cmb2-element .ui-widget-header .ui-state-error a {
1070
+ color: #cd0a0a;
1071
+ }
1072
+ /* line 138, sass/partials/_jquery_ui.scss */
1073
+ .cmb2-element .ui-state-error-text, .cmb2-element.ui-widget-content .ui-state-error-text,
1074
+ .cmb2-element .ui-widget-content .ui-state-error-text,
1075
+ .cmb2-element .ui-widget-header .ui-state-error-text {
1076
+ color: #cd0a0a;
1077
+ }
1078
+ /* line 144, sass/partials/_jquery_ui.scss */
1079
+ .cmb2-element .ui-priority-primary, .cmb2-element.ui-widget-content .ui-priority-primary,
1080
+ .cmb2-element .ui-widget-content .ui-priority-primary,
1081
+ .cmb2-element .ui-widget-header .ui-priority-primary {
1082
+ font-weight: bold;
1083
+ }
1084
+ /* line 150, sass/partials/_jquery_ui.scss */
1085
+ .cmb2-element .ui-priority-secondary, .cmb2-element.ui-widget-content .ui-priority-secondary,
1086
+ .cmb2-element .ui-widget-content .ui-priority-secondary,
1087
+ .cmb2-element .ui-widget-header .ui-priority-secondary {
1088
+ opacity: .7;
1089
+ filter: Alpha(Opacity=70);
1090
+ font-weight: normal;
1091
+ }
1092
+ /* line 156, sass/partials/_jquery_ui.scss */
1093
+ .cmb2-element .ui-state-disabled, .cmb2-element.ui-widget-content .ui-state-disabled,
1094
+ .cmb2-element .ui-widget-content .ui-state-disabled,
1095
+ .cmb2-element .ui-widget-header .ui-state-disabled {
1096
+ opacity: .35;
1097
+ filter: Alpha(Opacity=35);
1098
+ background-image: none;
1099
+ }
1100
+ /* line 162, sass/partials/_jquery_ui.scss */
1101
+ .cmb2-element .ui-icon {
1102
+ width: 16px;
1103
+ height: 16px;
1104
+ background-image: url(../images/ui-icons_222222_256x240.png);
1105
+ }
1106
+ /* line 165, sass/partials/_jquery_ui.scss */
1107
+ .cmb2-element.ui-widget-content .ui-icon,
1108
+ .cmb2-element .ui-widget-content .ui-icon {
1109
+ background-image: url(../images/ui-icons_222222_256x240.png);
1110
+ }
1111
+ /* line 169, sass/partials/_jquery_ui.scss */
1112
+ .cmb2-element .ui-widget-header .ui-icon {
1113
+ background-image: url(../images/ui-icons_222222_256x240.png);
1114
+ }
1115
+ /* line 172, sass/partials/_jquery_ui.scss */
1116
+ .cmb2-element .ui-state-default .ui-icon {
1117
+ background-image: url(../images/ui-icons_888888_256x240.png);
1118
+ }
1119
+ /* line 175, sass/partials/_jquery_ui.scss */
1120
+ .cmb2-element .ui-state-hover .ui-icon,
1121
+ .cmb2-element .ui-state-focus .ui-icon {
1122
+ background-image: url(../images/ui-icons_454545_256x240.png);
1123
+ }
1124
+ /* line 179, sass/partials/_jquery_ui.scss */
1125
+ .cmb2-element .ui-state-active .ui-icon {
1126
+ background-image: url(../images/ui-icons_454545_256x240.png);
1127
+ }
1128
+ /* line 182, sass/partials/_jquery_ui.scss */
1129
+ .cmb2-element .ui-state-highlight .ui-icon {
1130
+ background-image: url(../images/ui-icons_2e83ff_256x240.png);
1131
+ }
1132
+ /* line 185, sass/partials/_jquery_ui.scss */
1133
+ .cmb2-element .ui-state-error .ui-icon,
1134
+ .cmb2-element .ui-state-error-text .ui-icon {
1135
+ background-image: url(../images/ui-icons_cd0a0a_256x240.png);
1136
+ }
1137
+ /* line 189, sass/partials/_jquery_ui.scss */
1138
+ .cmb2-element .ui-icon-carat-1-n {
1139
+ background-position: 0 0;
1140
+ }
1141
+ /* line 192, sass/partials/_jquery_ui.scss */
1142
+ .cmb2-element .ui-icon-carat-1-ne {
1143
+ background-position: -16px 0;
1144
+ }
1145
+ /* line 195, sass/partials/_jquery_ui.scss */
1146
+ .cmb2-element .ui-icon-carat-1-e {
1147
+ background-position: -32px 0;
1148
+ }
1149
+ /* line 198, sass/partials/_jquery_ui.scss */
1150
+ .cmb2-element .ui-icon-carat-1-se {
1151
+ background-position: -48px 0;
1152
+ }
1153
+ /* line 201, sass/partials/_jquery_ui.scss */
1154
+ .cmb2-element .ui-icon-carat-1-s {
1155
+ background-position: -64px 0;
1156
+ }
1157
+ /* line 204, sass/partials/_jquery_ui.scss */
1158
+ .cmb2-element .ui-icon-carat-1-sw {
1159
+ background-position: -80px 0;
1160
+ }
1161
+ /* line 207, sass/partials/_jquery_ui.scss */
1162
+ .cmb2-element .ui-icon-carat-1-w {
1163
+ background-position: -96px 0;
1164
+ }
1165
+ /* line 210, sass/partials/_jquery_ui.scss */
1166
+ .cmb2-element .ui-icon-carat-1-nw {
1167
+ background-position: -112px 0;
1168
+ }
1169
+ /* line 213, sass/partials/_jquery_ui.scss */
1170
+ .cmb2-element .ui-icon-carat-2-n-s {
1171
+ background-position: -128px 0;
1172
+ }
1173
+ /* line 216, sass/partials/_jquery_ui.scss */
1174
+ .cmb2-element .ui-icon-carat-2-e-w {
1175
+ background-position: -144px 0;
1176
+ }
1177
+ /* line 219, sass/partials/_jquery_ui.scss */
1178
+ .cmb2-element .ui-icon-triangle-1-n {
1179
+ background-position: 0 -16px;
1180
+ }
1181
+ /* line 222, sass/partials/_jquery_ui.scss */
1182
+ .cmb2-element .ui-icon-triangle-1-ne {
1183
+ background-position: -16px -16px;
1184
+ }
1185
+ /* line 225, sass/partials/_jquery_ui.scss */
1186
+ .cmb2-element .ui-icon-triangle-1-e {
1187
+ background-position: -32px -16px;
1188
+ }
1189
+ /* line 228, sass/partials/_jquery_ui.scss */
1190
+ .cmb2-element .ui-icon-triangle-1-se {
1191
+ background-position: -48px -16px;
1192
+ }
1193
+ /* line 231, sass/partials/_jquery_ui.scss */
1194
+ .cmb2-element .ui-icon-triangle-1-s {
1195
+ background-position: -64px -16px;
1196
+ }
1197
+ /* line 234, sass/partials/_jquery_ui.scss */
1198
+ .cmb2-element .ui-icon-triangle-1-sw {
1199
+ background-position: -80px -16px;
1200
+ }
1201
+ /* line 237, sass/partials/_jquery_ui.scss */
1202
+ .cmb2-element .ui-icon-triangle-1-w {
1203
+ background-position: -96px -16px;
1204
+ }
1205
+ /* line 240, sass/partials/_jquery_ui.scss */
1206
+ .cmb2-element .ui-icon-triangle-1-nw {
1207
+ background-position: -112px -16px;
1208
+ }
1209
+ /* line 243, sass/partials/_jquery_ui.scss */
1210
+ .cmb2-element .ui-icon-triangle-2-n-s {
1211
+ background-position: -128px -16px;
1212
+ }
1213
+ /* line 246, sass/partials/_jquery_ui.scss */
1214
+ .cmb2-element .ui-icon-triangle-2-e-w {
1215
+ background-position: -144px -16px;
1216
+ }
1217
+ /* line 249, sass/partials/_jquery_ui.scss */
1218
+ .cmb2-element .ui-icon-arrow-1-n {
1219
+ background-position: 0 -32px;
1220
+ }
1221
+ /* line 252, sass/partials/_jquery_ui.scss */
1222
+ .cmb2-element .ui-icon-arrow-1-ne {
1223
+ background-position: -16px -32px;
1224
+ }
1225
+ /* line 255, sass/partials/_jquery_ui.scss */
1226
+ .cmb2-element .ui-icon-arrow-1-e {
1227
+ background-position: -32px -32px;
1228
+ }
1229
+ /* line 258, sass/partials/_jquery_ui.scss */
1230
+ .cmb2-element .ui-icon-arrow-1-se {
1231
+ background-position: -48px -32px;
1232
+ }
1233
+ /* line 261, sass/partials/_jquery_ui.scss */
1234
+ .cmb2-element .ui-icon-arrow-1-s {
1235
+ background-position: -64px -32px;
1236
+ }
1237
+ /* line 264, sass/partials/_jquery_ui.scss */
1238
+ .cmb2-element .ui-icon-arrow-1-sw {
1239
+ background-position: -80px -32px;
1240
+ }
1241
+ /* line 267, sass/partials/_jquery_ui.scss */
1242
+ .cmb2-element .ui-icon-arrow-1-w {
1243
+ background-position: -96px -32px;
1244
+ }
1245
+ /* line 270, sass/partials/_jquery_ui.scss */
1246
+ .cmb2-element .ui-icon-arrow-1-nw {
1247
+ background-position: -112px -32px;
1248
+ }
1249
+ /* line 273, sass/partials/_jquery_ui.scss */
1250
+ .cmb2-element .ui-icon-arrow-2-n-s {
1251
+ background-position: -128px -32px;
1252
+ }
1253
+ /* line 276, sass/partials/_jquery_ui.scss */
1254
+ .cmb2-element .ui-icon-arrow-2-ne-sw {
1255
+ background-position: -144px -32px;
1256
+ }
1257
+ /* line 279, sass/partials/_jquery_ui.scss */
1258
+ .cmb2-element .ui-icon-arrow-2-e-w {
1259
+ background-position: -160px -32px;
1260
+ }
1261
+ /* line 282, sass/partials/_jquery_ui.scss */
1262
+ .cmb2-element .ui-icon-arrow-2-se-nw {
1263
+ background-position: -176px -32px;
1264
+ }
1265
+ /* line 285, sass/partials/_jquery_ui.scss */
1266
+ .cmb2-element .ui-icon-arrowstop-1-n {
1267
+ background-position: -192px -32px;
1268
+ }
1269
+ /* line 288, sass/partials/_jquery_ui.scss */
1270
+ .cmb2-element .ui-icon-arrowstop-1-e {
1271
+ background-position: -208px -32px;
1272
+ }
1273
+ /* line 291, sass/partials/_jquery_ui.scss */
1274
+ .cmb2-element .ui-icon-arrowstop-1-s {
1275
+ background-position: -224px -32px;
1276
+ }
1277
+ /* line 294, sass/partials/_jquery_ui.scss */
1278
+ .cmb2-element .ui-icon-arrowstop-1-w {
1279
+ background-position: -240px -32px;
1280
+ }
1281
+ /* line 297, sass/partials/_jquery_ui.scss */
1282
+ .cmb2-element .ui-icon-arrowthick-1-n {
1283
+ background-position: 0 -48px;
1284
+ }
1285
+ /* line 300, sass/partials/_jquery_ui.scss */
1286
+ .cmb2-element .ui-icon-arrowthick-1-ne {
1287
+ background-position: -16px -48px;
1288
+ }
1289
+ /* line 303, sass/partials/_jquery_ui.scss */
1290
+ .cmb2-element .ui-icon-arrowthick-1-e {
1291
+ background-position: -32px -48px;
1292
+ }
1293
+ /* line 306, sass/partials/_jquery_ui.scss */
1294
+ .cmb2-element .ui-icon-arrowthick-1-se {
1295
+ background-position: -48px -48px;
1296
+ }
1297
+ /* line 309, sass/partials/_jquery_ui.scss */
1298
+ .cmb2-element .ui-icon-arrowthick-1-s {
1299
+ background-position: -64px -48px;
1300
+ }
1301
+ /* line 312, sass/partials/_jquery_ui.scss */
1302
+ .cmb2-element .ui-icon-arrowthick-1-sw {
1303
+ background-position: -80px -48px;
1304
+ }
1305
+ /* line 315, sass/partials/_jquery_ui.scss */
1306
+ .cmb2-element .ui-icon-arrowthick-1-w {
1307
+ background-position: -96px -48px;
1308
+ }
1309
+ /* line 318, sass/partials/_jquery_ui.scss */
1310
+ .cmb2-element .ui-icon-arrowthick-1-nw {
1311
+ background-position: -112px -48px;
1312
+ }
1313
+ /* line 321, sass/partials/_jquery_ui.scss */
1314
+ .cmb2-element .ui-icon-arrowthick-2-n-s {
1315
+ background-position: -128px -48px;
1316
+ }
1317
+ /* line 324, sass/partials/_jquery_ui.scss */
1318
+ .cmb2-element .ui-icon-arrowthick-2-ne-sw {
1319
+ background-position: -144px -48px;
1320
+ }
1321
+ /* line 327, sass/partials/_jquery_ui.scss */
1322
+ .cmb2-element .ui-icon-arrowthick-2-e-w {
1323
+ background-position: -160px -48px;
1324
+ }
1325
+ /* line 330, sass/partials/_jquery_ui.scss */
1326
+ .cmb2-element .ui-icon-arrowthick-2-se-nw {
1327
+ background-position: -176px -48px;
1328
+ }
1329
+ /* line 333, sass/partials/_jquery_ui.scss */
1330
+ .cmb2-element .ui-icon-arrowthickstop-1-n {
1331
+ background-position: -192px -48px;
1332
+ }
1333
+ /* line 336, sass/partials/_jquery_ui.scss */
1334
+ .cmb2-element .ui-icon-arrowthickstop-1-e {
1335
+ background-position: -208px -48px;
1336
+ }
1337
+ /* line 339, sass/partials/_jquery_ui.scss */
1338
+ .cmb2-element .ui-icon-arrowthickstop-1-s {
1339
+ background-position: -224px -48px;
1340
+ }
1341
+ /* line 342, sass/partials/_jquery_ui.scss */
1342
+ .cmb2-element .ui-icon-arrowthickstop-1-w {
1343
+ background-position: -240px -48px;
1344
+ }
1345
+ /* line 345, sass/partials/_jquery_ui.scss */
1346
+ .cmb2-element .ui-icon-arrowreturnthick-1-w {
1347
+ background-position: 0 -64px;
1348
+ }
1349
+ /* line 348, sass/partials/_jquery_ui.scss */
1350
+ .cmb2-element .ui-icon-arrowreturnthick-1-n {
1351
+ background-position: -16px -64px;
1352
+ }
1353
+ /* line 351, sass/partials/_jquery_ui.scss */
1354
+ .cmb2-element .ui-icon-arrowreturnthick-1-e {
1355
+ background-position: -32px -64px;
1356
+ }
1357
+ /* line 354, sass/partials/_jquery_ui.scss */
1358
+ .cmb2-element .ui-icon-arrowreturnthick-1-s {
1359
+ background-position: -48px -64px;
1360
+ }
1361
+ /* line 357, sass/partials/_jquery_ui.scss */
1362
+ .cmb2-element .ui-icon-arrowreturn-1-w {
1363
+ background-position: -64px -64px;
1364
+ }
1365
+ /* line 360, sass/partials/_jquery_ui.scss */
1366
+ .cmb2-element .ui-icon-arrowreturn-1-n {
1367
+ background-position: -80px -64px;
1368
+ }
1369
+ /* line 363, sass/partials/_jquery_ui.scss */
1370
+ .cmb2-element .ui-icon-arrowreturn-1-e {
1371
+ background-position: -96px -64px;
1372
+ }
1373
+ /* line 366, sass/partials/_jquery_ui.scss */
1374
+ .cmb2-element .ui-icon-arrowreturn-1-s {
1375
+ background-position: -112px -64px;
1376
+ }
1377
+ /* line 369, sass/partials/_jquery_ui.scss */
1378
+ .cmb2-element .ui-icon-arrowrefresh-1-w {
1379
+ background-position: -128px -64px;
1380
+ }
1381
+ /* line 372, sass/partials/_jquery_ui.scss */
1382
+ .cmb2-element .ui-icon-arrowrefresh-1-n {
1383
+ background-position: -144px -64px;
1384
+ }
1385
+ /* line 375, sass/partials/_jquery_ui.scss */
1386
+ .cmb2-element .ui-icon-arrowrefresh-1-e {
1387
+ background-position: -160px -64px;
1388
+ }
1389
+ /* line 378, sass/partials/_jquery_ui.scss */
1390
+ .cmb2-element .ui-icon-arrowrefresh-1-s {
1391
+ background-position: -176px -64px;
1392
+ }
1393
+ /* line 381, sass/partials/_jquery_ui.scss */
1394
+ .cmb2-element .ui-icon-arrow-4 {
1395
+ background-position: 0 -80px;
1396
+ }
1397
+ /* line 384, sass/partials/_jquery_ui.scss */
1398
+ .cmb2-element .ui-icon-arrow-4-diag {
1399
+ background-position: -16px -80px;
1400
+ }
1401
+ /* line 387, sass/partials/_jquery_ui.scss */
1402
+ .cmb2-element .ui-icon-extlink {
1403
+ background-position: -32px -80px;
1404
+ }
1405
+ /* line 390, sass/partials/_jquery_ui.scss */
1406
+ .cmb2-element .ui-icon-newwin {
1407
+ background-position: -48px -80px;
1408
+ }
1409
+ /* line 393, sass/partials/_jquery_ui.scss */
1410
+ .cmb2-element .ui-icon-refresh {
1411
+ background-position: -64px -80px;
1412
+ }
1413
+ /* line 396, sass/partials/_jquery_ui.scss */
1414
+ .cmb2-element .ui-icon-shuffle {
1415
+ background-position: -80px -80px;
1416
+ }
1417
+ /* line 399, sass/partials/_jquery_ui.scss */
1418
+ .cmb2-element .ui-icon-transfer-e-w {
1419
+ background-position: -96px -80px;
1420
+ }
1421
+ /* line 402, sass/partials/_jquery_ui.scss */
1422
+ .cmb2-element .ui-icon-transferthick-e-w {
1423
+ background-position: -112px -80px;
1424
+ }
1425
+ /* line 405, sass/partials/_jquery_ui.scss */
1426
+ .cmb2-element .ui-icon-folder-collapsed {
1427
+ background-position: 0 -96px;
1428
+ }
1429
+ /* line 408, sass/partials/_jquery_ui.scss */
1430
+ .cmb2-element .ui-icon-folder-open {
1431
+ background-position: -16px -96px;
1432
+ }
1433
+ /* line 411, sass/partials/_jquery_ui.scss */
1434
+ .cmb2-element .ui-icon-document {
1435
+ background-position: -32px -96px;
1436
+ }
1437
+ /* line 414, sass/partials/_jquery_ui.scss */
1438
+ .cmb2-element .ui-icon-document-b {
1439
+ background-position: -48px -96px;
1440
+ }
1441
+ /* line 417, sass/partials/_jquery_ui.scss */
1442
+ .cmb2-element .ui-icon-note {
1443
+ background-position: -64px -96px;
1444
+ }
1445
+ /* line 420, sass/partials/_jquery_ui.scss */
1446
+ .cmb2-element .ui-icon-mail-closed {
1447
+ background-position: -80px -96px;
1448
+ }
1449
+ /* line 423, sass/partials/_jquery_ui.scss */
1450
+ .cmb2-element .ui-icon-mail-open {
1451
+ background-position: -96px -96px;
1452
+ }
1453
+ /* line 426, sass/partials/_jquery_ui.scss */
1454
+ .cmb2-element .ui-icon-suitcase {
1455
+ background-position: -112px -96px;
1456
+ }
1457
+ /* line 429, sass/partials/_jquery_ui.scss */
1458
+ .cmb2-element .ui-icon-comment {
1459
+ background-position: -128px -96px;
1460
+ }
1461
+ /* line 432, sass/partials/_jquery_ui.scss */
1462
+ .cmb2-element .ui-icon-person {
1463
+ background-position: -144px -96px;
1464
+ }
1465
+ /* line 435, sass/partials/_jquery_ui.scss */
1466
+ .cmb2-element .ui-icon-print {
1467
+ background-position: -160px -96px;
1468
+ }
1469
+ /* line 438, sass/partials/_jquery_ui.scss */
1470
+ .cmb2-element .ui-icon-trash {
1471
+ background-position: -176px -96px;
1472
+ }
1473
+ /* line 441, sass/partials/_jquery_ui.scss */
1474
+ .cmb2-element .ui-icon-locked {
1475
+ background-position: -192px -96px;
1476
+ }
1477
+ /* line 444, sass/partials/_jquery_ui.scss */
1478
+ .cmb2-element .ui-icon-unlocked {
1479
+ background-position: -208px -96px;
1480
+ }
1481
+ /* line 447, sass/partials/_jquery_ui.scss */
1482
+ .cmb2-element .ui-icon-bookmark {
1483
+ background-position: -224px -96px;
1484
+ }
1485
+ /* line 450, sass/partials/_jquery_ui.scss */
1486
+ .cmb2-element .ui-icon-tag {
1487
+ background-position: -240px -96px;
1488
+ }
1489
+ /* line 453, sass/partials/_jquery_ui.scss */
1490
+ .cmb2-element .ui-icon-home {
1491
+ background-position: 0 -112px;
1492
+ }
1493
+ /* line 456, sass/partials/_jquery_ui.scss */
1494
+ .cmb2-element .ui-icon-flag {
1495
+ background-position: -16px -112px;
1496
+ }
1497
+ /* line 459, sass/partials/_jquery_ui.scss */
1498
+ .cmb2-element .ui-icon-calendar {
1499
+ background-position: -32px -112px;
1500
+ }
1501
+ /* line 462, sass/partials/_jquery_ui.scss */
1502
+ .cmb2-element .ui-icon-cart {
1503
+ background-position: -48px -112px;
1504
+ }
1505
+ /* line 465, sass/partials/_jquery_ui.scss */
1506
+ .cmb2-element .ui-icon-pencil {
1507
+ background-position: -64px -112px;
1508
+ }
1509
+ /* line 468, sass/partials/_jquery_ui.scss */
1510
+ .cmb2-element .ui-icon-clock {
1511
+ background-position: -80px -112px;
1512
+ }
1513
+ /* line 471, sass/partials/_jquery_ui.scss */
1514
+ .cmb2-element .ui-icon-disk {
1515
+ background-position: -96px -112px;
1516
+ }
1517
+ /* line 474, sass/partials/_jquery_ui.scss */
1518
+ .cmb2-element .ui-icon-calculator {
1519
+ background-position: -112px -112px;
1520
+ }
1521
+ /* line 477, sass/partials/_jquery_ui.scss */
1522
+ .cmb2-element .ui-icon-zoomin {
1523
+ background-position: -128px -112px;
1524
+ }
1525
+ /* line 480, sass/partials/_jquery_ui.scss */
1526
+ .cmb2-element .ui-icon-zoomout {
1527
+ background-position: -144px -112px;
1528
+ }
1529
+ /* line 483, sass/partials/_jquery_ui.scss */
1530
+ .cmb2-element .ui-icon-search {
1531
+ background-position: -160px -112px;
1532
+ }
1533
+ /* line 486, sass/partials/_jquery_ui.scss */
1534
+ .cmb2-element .ui-icon-wrench {
1535
+ background-position: -176px -112px;
1536
+ }
1537
+ /* line 489, sass/partials/_jquery_ui.scss */
1538
+ .cmb2-element .ui-icon-gear {
1539
+ background-position: -192px -112px;
1540
+ }
1541
+ /* line 492, sass/partials/_jquery_ui.scss */
1542
+ .cmb2-element .ui-icon-heart {
1543
+ background-position: -208px -112px;
1544
+ }
1545
+ /* line 495, sass/partials/_jquery_ui.scss */
1546
+ .cmb2-element .ui-icon-star {
1547
+ background-position: -224px -112px;
1548
+ }
1549
+ /* line 498, sass/partials/_jquery_ui.scss */
1550
+ .cmb2-element .ui-icon-link {
1551
+ background-position: -240px -112px;
1552
+ }
1553
+ /* line 501, sass/partials/_jquery_ui.scss */
1554
+ .cmb2-element .ui-icon-cancel {
1555
+ background-position: 0 -128px;
1556
+ }
1557
+ /* line 504, sass/partials/_jquery_ui.scss */
1558
+ .cmb2-element .ui-icon-plus {
1559
+ background-position: -16px -128px;
1560
+ }
1561
+ /* line 507, sass/partials/_jquery_ui.scss */
1562
+ .cmb2-element .ui-icon-plusthick {
1563
+ background-position: -32px -128px;
1564
+ }
1565
+ /* line 510, sass/partials/_jquery_ui.scss */
1566
+ .cmb2-element .ui-icon-minus {
1567
+ background-position: -48px -128px;
1568
+ }
1569
+ /* line 513, sass/partials/_jquery_ui.scss */
1570
+ .cmb2-element .ui-icon-minusthick {
1571
+ background-position: -64px -128px;
1572
+ }
1573
+ /* line 516, sass/partials/_jquery_ui.scss */
1574
+ .cmb2-element .ui-icon-close {
1575
+ background-position: -80px -128px;
1576
+ }
1577
+ /* line 519, sass/partials/_jquery_ui.scss */
1578
+ .cmb2-element .ui-icon-closethick {
1579
+ background-position: -96px -128px;
1580
+ }
1581
+ /* line 522, sass/partials/_jquery_ui.scss */
1582
+ .cmb2-element .ui-icon-key {
1583
+ background-position: -112px -128px;
1584
+ }
1585
+ /* line 525, sass/partials/_jquery_ui.scss */
1586
+ .cmb2-element .ui-icon-lightbulb {
1587
+ background-position: -128px -128px;
1588
+ }
1589
+ /* line 528, sass/partials/_jquery_ui.scss */
1590
+ .cmb2-element .ui-icon-scissors {
1591
+ background-position: -144px -128px;
1592
+ }
1593
+ /* line 531, sass/partials/_jquery_ui.scss */
1594
+ .cmb2-element .ui-icon-clipboard {
1595
+ background-position: -160px -128px;
1596
+ }
1597
+ /* line 534, sass/partials/_jquery_ui.scss */
1598
+ .cmb2-element .ui-icon-copy {
1599
+ background-position: -176px -128px;
1600
+ }
1601
+ /* line 537, sass/partials/_jquery_ui.scss */
1602
+ .cmb2-element .ui-icon-contact {
1603
+ background-position: -192px -128px;
1604
+ }
1605
+ /* line 540, sass/partials/_jquery_ui.scss */
1606
+ .cmb2-element .ui-icon-image {
1607
+ background-position: -208px -128px;
1608
+ }
1609
+ /* line 543, sass/partials/_jquery_ui.scss */
1610
+ .cmb2-element .ui-icon-video {
1611
+ background-position: -224px -128px;
1612
+ }
1613
+ /* line 546, sass/partials/_jquery_ui.scss */
1614
+ .cmb2-element .ui-icon-script {
1615
+ background-position: -240px -128px;
1616
+ }
1617
+ /* line 549, sass/partials/_jquery_ui.scss */
1618
+ .cmb2-element .ui-icon-alert {
1619
+ background-position: 0 -144px;
1620
+ }
1621
+ /* line 552, sass/partials/_jquery_ui.scss */
1622
+ .cmb2-element .ui-icon-info {
1623
+ background-position: -16px -144px;
1624
+ }
1625
+ /* line 555, sass/partials/_jquery_ui.scss */
1626
+ .cmb2-element .ui-icon-notice {
1627
+ background-position: -32px -144px;
1628
+ }
1629
+ /* line 558, sass/partials/_jquery_ui.scss */
1630
+ .cmb2-element .ui-icon-help {
1631
+ background-position: -48px -144px;
1632
+ }
1633
+ /* line 561, sass/partials/_jquery_ui.scss */
1634
+ .cmb2-element .ui-icon-check {
1635
+ background-position: -64px -144px;
1636
+ }
1637
+ /* line 564, sass/partials/_jquery_ui.scss */
1638
+ .cmb2-element .ui-icon-bullet {
1639
+ background-position: -80px -144px;
1640
+ }
1641
+ /* line 567, sass/partials/_jquery_ui.scss */
1642
+ .cmb2-element .ui-icon-radio-off {
1643
+ background-position: -96px -144px;
1644
+ }
1645
+ /* line 570, sass/partials/_jquery_ui.scss */
1646
+ .cmb2-element .ui-icon-radio-on {
1647
+ background-position: -112px -144px;
1648
+ }
1649
+ /* line 573, sass/partials/_jquery_ui.scss */
1650
+ .cmb2-element .ui-icon-pin-w {
1651
+ background-position: -128px -144px;
1652
+ }
1653
+ /* line 576, sass/partials/_jquery_ui.scss */
1654
+ .cmb2-element .ui-icon-pin-s {
1655
+ background-position: -144px -144px;
1656
+ }
1657
+ /* line 579, sass/partials/_jquery_ui.scss */
1658
+ .cmb2-element .ui-icon-play {
1659
+ background-position: 0 -160px;
1660
+ }
1661
+ /* line 582, sass/partials/_jquery_ui.scss */
1662
+ .cmb2-element .ui-icon-pause {
1663
+ background-position: -16px -160px;
1664
+ }
1665
+ /* line 585, sass/partials/_jquery_ui.scss */
1666
+ .cmb2-element .ui-icon-seek-next {
1667
+ background-position: -32px -160px;
1668
+ }
1669
+ /* line 588, sass/partials/_jquery_ui.scss */
1670
+ .cmb2-element .ui-icon-seek-prev {
1671
+ background-position: -48px -160px;
1672
+ }
1673
+ /* line 591, sass/partials/_jquery_ui.scss */
1674
+ .cmb2-element .ui-icon-seek-end {
1675
+ background-position: -64px -160px;
1676
+ }
1677
+ /* line 594, sass/partials/_jquery_ui.scss */
1678
+ .cmb2-element .ui-icon-seek-start {
1679
+ background-position: -80px -160px;
1680
+ }
1681
+ /* line 597, sass/partials/_jquery_ui.scss */
1682
+ .cmb2-element .ui-icon-seek-first {
1683
+ background-position: -80px -160px;
1684
+ }
1685
+ /* line 600, sass/partials/_jquery_ui.scss */
1686
+ .cmb2-element .ui-icon-stop {
1687
+ background-position: -96px -160px;
1688
+ }
1689
+ /* line 603, sass/partials/_jquery_ui.scss */
1690
+ .cmb2-element .ui-icon-eject {
1691
+ background-position: -112px -160px;
1692
+ }
1693
+ /* line 606, sass/partials/_jquery_ui.scss */
1694
+ .cmb2-element .ui-icon-volume-off {
1695
+ background-position: -128px -160px;
1696
+ }
1697
+ /* line 609, sass/partials/_jquery_ui.scss */
1698
+ .cmb2-element .ui-icon-volume-on {
1699
+ background-position: -144px -160px;
1700
+ }
1701
+ /* line 612, sass/partials/_jquery_ui.scss */
1702
+ .cmb2-element .ui-icon-power {
1703
+ background-position: 0 -176px;
1704
+ }
1705
+ /* line 615, sass/partials/_jquery_ui.scss */
1706
+ .cmb2-element .ui-icon-signal-diag {
1707
+ background-position: -16px -176px;
1708
+ }
1709
+ /* line 618, sass/partials/_jquery_ui.scss */
1710
+ .cmb2-element .ui-icon-signal {
1711
+ background-position: -32px -176px;
1712
+ }
1713
+ /* line 621, sass/partials/_jquery_ui.scss */
1714
+ .cmb2-element .ui-icon-battery-0 {
1715
+ background-position: -48px -176px;
1716
+ }
1717
+ /* line 624, sass/partials/_jquery_ui.scss */
1718
+ .cmb2-element .ui-icon-battery-1 {
1719
+ background-position: -64px -176px;
1720
+ }
1721
+ /* line 627, sass/partials/_jquery_ui.scss */
1722
+ .cmb2-element .ui-icon-battery-2 {
1723
+ background-position: -80px -176px;
1724
+ }
1725
+ /* line 630, sass/partials/_jquery_ui.scss */
1726
+ .cmb2-element .ui-icon-battery-3 {
1727
+ background-position: -96px -176px;
1728
+ }
1729
+ /* line 633, sass/partials/_jquery_ui.scss */
1730
+ .cmb2-element .ui-icon-circle-plus {
1731
+ background-position: 0 -192px;
1732
+ }
1733
+ /* line 636, sass/partials/_jquery_ui.scss */
1734
+ .cmb2-element .ui-icon-circle-minus {
1735
+ background-position: -16px -192px;
1736
+ }
1737
+ /* line 639, sass/partials/_jquery_ui.scss */
1738
+ .cmb2-element .ui-icon-circle-close {
1739
+ background-position: -32px -192px;
1740
+ }
1741
+ /* line 642, sass/partials/_jquery_ui.scss */
1742
+ .cmb2-element .ui-icon-circle-triangle-e {
1743
+ background-position: -48px -192px;
1744
+ }
1745
+ /* line 645, sass/partials/_jquery_ui.scss */
1746
+ .cmb2-element .ui-icon-circle-triangle-s {
1747
+ background-position: -64px -192px;
1748
+ }
1749
+ /* line 648, sass/partials/_jquery_ui.scss */
1750
+ .cmb2-element .ui-icon-circle-triangle-w {
1751
+ background-position: -80px -192px;
1752
+ }
1753
+ /* line 651, sass/partials/_jquery_ui.scss */
1754
+ .cmb2-element .ui-icon-circle-triangle-n {
1755
+ background-position: -96px -192px;
1756
+ }
1757
+ /* line 654, sass/partials/_jquery_ui.scss */
1758
+ .cmb2-element .ui-icon-circle-arrow-e {
1759
+ background-position: -112px -192px;
1760
+ }
1761
+ /* line 657, sass/partials/_jquery_ui.scss */
1762
+ .cmb2-element .ui-icon-circle-arrow-s {
1763
+ background-position: -128px -192px;
1764
+ }
1765
+ /* line 660, sass/partials/_jquery_ui.scss */
1766
+ .cmb2-element .ui-icon-circle-arrow-w {
1767
+ background-position: -144px -192px;
1768
+ }
1769
+ /* line 663, sass/partials/_jquery_ui.scss */
1770
+ .cmb2-element .ui-icon-circle-arrow-n {
1771
+ background-position: -160px -192px;
1772
+ }
1773
+ /* line 666, sass/partials/_jquery_ui.scss */
1774
+ .cmb2-element .ui-icon-circle-zoomin {
1775
+ background-position: -176px -192px;
1776
+ }
1777
+ /* line 669, sass/partials/_jquery_ui.scss */
1778
+ .cmb2-element .ui-icon-circle-zoomout {
1779
+ background-position: -192px -192px;
1780
+ }
1781
+ /* line 672, sass/partials/_jquery_ui.scss */
1782
+ .cmb2-element .ui-icon-circle-check {
1783
+ background-position: -208px -192px;
1784
+ }
1785
+ /* line 675, sass/partials/_jquery_ui.scss */
1786
+ .cmb2-element .ui-icon-circlesmall-plus {
1787
+ background-position: 0 -208px;
1788
+ }
1789
+ /* line 678, sass/partials/_jquery_ui.scss */
1790
+ .cmb2-element .ui-icon-circlesmall-minus {
1791
+ background-position: -16px -208px;
1792
+ }
1793
+ /* line 681, sass/partials/_jquery_ui.scss */
1794
+ .cmb2-element .ui-icon-circlesmall-close {
1795
+ background-position: -32px -208px;
1796
+ }
1797
+ /* line 684, sass/partials/_jquery_ui.scss */
1798
+ .cmb2-element .ui-icon-squaresmall-plus {
1799
+ background-position: -48px -208px;
1800
+ }
1801
+ /* line 687, sass/partials/_jquery_ui.scss */
1802
+ .cmb2-element .ui-icon-squaresmall-minus {
1803
+ background-position: -64px -208px;
1804
+ }
1805
+ /* line 690, sass/partials/_jquery_ui.scss */
1806
+ .cmb2-element .ui-icon-squaresmall-close {
1807
+ background-position: -80px -208px;
1808
+ }
1809
+ /* line 693, sass/partials/_jquery_ui.scss */
1810
+ .cmb2-element .ui-icon-grip-dotted-vertical {
1811
+ background-position: 0 -224px;
1812
+ }
1813
+ /* line 696, sass/partials/_jquery_ui.scss */
1814
+ .cmb2-element .ui-icon-grip-dotted-horizontal {
1815
+ background-position: -16px -224px;
1816
+ }
1817
+ /* line 699, sass/partials/_jquery_ui.scss */
1818
+ .cmb2-element .ui-icon-grip-solid-vertical {
1819
+ background-position: -32px -224px;
1820
+ }
1821
+ /* line 702, sass/partials/_jquery_ui.scss */
1822
+ .cmb2-element .ui-icon-grip-solid-horizontal {
1823
+ background-position: -48px -224px;
1824
+ }
1825
+ /* line 705, sass/partials/_jquery_ui.scss */
1826
+ .cmb2-element .ui-icon-gripsmall-diagonal-se {
1827
+ background-position: -64px -224px;
1828
+ }
1829
+ /* line 708, sass/partials/_jquery_ui.scss */
1830
+ .cmb2-element .ui-icon-grip-diagonal-se {
1831
+ background-position: -80px -224px;
1832
+ }
1833
+ /* line 711, sass/partials/_jquery_ui.scss */
1834
+ .cmb2-element.ui-corner-all,
1835
+ .cmb2-element .ui-corner-all,
1836
+ .cmb2-element .ui-corner-top,
1837
+ .cmb2-element .ui-corner-left,
1838
+ .cmb2-element .ui-corner-tl {
1839
+ -moz-border-radius-topleft: 4px;
1840
+ -webkit-border-top-right-radius: 4px;
1841
+ -khtml-border-top-right-radius: 4px;
1842
+ border-top-right-radius: 4px;
1843
+ }
1844
+ /* line 718, sass/partials/_jquery_ui.scss */
1845
+ .cmb2-element.ui-corner-all,
1846
+ .cmb2-element .ui-corner-all,
1847
+ .cmb2-element .ui-corner-top,
1848
+ .cmb2-element .ui-corner-right,
1849
+ .cmb2-element .ui-corner-tr {
1850
+ -moz-border-radius-topright: 4px;
1851
+ -webkit-border-top-left-radius: 4px;
1852
+ -khtml-border-top-left-radius: 4px;
1853
+ border-top-left-radius: 4px;
1854
+ }
1855
+ /* line 725, sass/partials/_jquery_ui.scss */
1856
+ .cmb2-element.ui-corner-all,
1857
+ .cmb2-element .ui-corner-all,
1858
+ .cmb2-element .ui-corner-bottom,
1859
+ .cmb2-element .ui-corner-left,
1860
+ .cmb2-element .ui-corner-bl {
1861
+ -moz-border-radius-bottomleft: 4px;
1862
+ -webkit-border-bottom-right-radius: 4px;
1863
+ -khtml-border-bottom-right-radius: 4px;
1864
+ border-bottom-right-radius: 4px;
1865
+ }
1866
+ /* line 732, sass/partials/_jquery_ui.scss */
1867
+ .cmb2-element.ui-corner-all,
1868
+ .cmb2-element .ui-corner-all,
1869
+ .cmb2-element .ui-corner-bottom,
1870
+ .cmb2-element .ui-corner-right,
1871
+ .cmb2-element .ui-corner-br {
1872
+ -moz-border-radius-bottomright: 4px;
1873
+ -webkit-border-bottom-left-radius: 4px;
1874
+ -khtml-border-bottom-left-radius: 4px;
1875
+ border-bottom-left-radius: 4px;
1876
+ }
1877
+ /* line 739, sass/partials/_jquery_ui.scss */
1878
+ .cmb2-element .ui-widget-overlay {
1879
+ background: #aaaaaa url(../images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;
1880
+ opacity: .30;
1881
+ filter: Alpha(Opacity=30);
1882
+ }
1883
+ /* line 742, sass/partials/_jquery_ui.scss */
1884
+ .cmb2-element .ui-widget-shadow {
1885
+ margin: -8px -8px 0 0;
1886
+ padding: 8px;
1887
+ background: #aaaaaa url(../images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;
1888
+ opacity: .30;
1889
+ filter: Alpha(Opacity=30);
1890
+ -moz-border-radius: 8px;
1891
+ -khtml-border-radius: 8px;
1892
+ -webkit-border-radius: 8px;
1893
+ border-radius: 8px;
1894
+ }
1895
+ /* line 745, sass/partials/_jquery_ui.scss */
1896
+ .cmb2-element.ui-datepicker, .cmb2-element .ui-datepicker {
1897
+ width: 17em;
1898
+ display: none;
1899
+ padding: 0;
1900
+ border: 1px solid #ddd;
1901
+ -webkit-border-radius: 0;
1902
+ -moz-border-radius: 0;
1903
+ border-radius: 0;
1904
+ background: #f1f1f1;
1905
+ /* Customized Datepicker & Timepicker */
1906
+ }
1907
+ /* line 750, sass/partials/_jquery_ui.scss */
1908
+ .cmb2-element.ui-datepicker .ui-datepicker-header, .cmb2-element .ui-datepicker .ui-datepicker-header {
1909
+ position: relative;
1910
+ padding: .2em 0;
1911
+ }
1912
+ /* line 753, sass/partials/_jquery_ui.scss */
1913
+ .cmb2-element.ui-datepicker .ui-datepicker-prev,
1914
+ .cmb2-element.ui-datepicker .ui-datepicker-next, .cmb2-element .ui-datepicker .ui-datepicker-prev,
1915
+ .cmb2-element .ui-datepicker .ui-datepicker-next {
1916
+ position: absolute;
1917
+ top: 2px;
1918
+ width: 1.8em;
1919
+ height: 1.8em;
1920
+ }
1921
+ /* line 757, sass/partials/_jquery_ui.scss */
1922
+ .cmb2-element.ui-datepicker .ui-datepicker-prev-hover,
1923
+ .cmb2-element.ui-datepicker .ui-datepicker-next-hover, .cmb2-element .ui-datepicker .ui-datepicker-prev-hover,
1924
+ .cmb2-element .ui-datepicker .ui-datepicker-next-hover {
1925
+ top: 1px;
1926
+ }
1927
+ /* line 761, sass/partials/_jquery_ui.scss */
1928
+ .cmb2-element.ui-datepicker .ui-datepicker-prev, .cmb2-element .ui-datepicker .ui-datepicker-prev {
1929
+ right: 2px;
1930
+ }
1931
+ /* line 764, sass/partials/_jquery_ui.scss */
1932
+ .cmb2-element.ui-datepicker .ui-datepicker-next, .cmb2-element .ui-datepicker .ui-datepicker-next {
1933
+ left: 2px;
1934
+ }
1935
+ /* line 767, sass/partials/_jquery_ui.scss */
1936
+ .cmb2-element.ui-datepicker .ui-datepicker-prev-hover, .cmb2-element .ui-datepicker .ui-datepicker-prev-hover {
1937
+ right: 1px;
1938
+ }
1939
+ /* line 770, sass/partials/_jquery_ui.scss */
1940
+ .cmb2-element.ui-datepicker .ui-datepicker-next-hover, .cmb2-element .ui-datepicker .ui-datepicker-next-hover {
1941
+ left: 1px;
1942
+ }
1943
+ /* line 773, sass/partials/_jquery_ui.scss */
1944
+ .cmb2-element.ui-datepicker .ui-datepicker-prev span,
1945
+ .cmb2-element.ui-datepicker .ui-datepicker-next span, .cmb2-element .ui-datepicker .ui-datepicker-prev span,
1946
+ .cmb2-element .ui-datepicker .ui-datepicker-next span {
1947
+ display: block;
1948
+ position: absolute;
1949
+ right: 50%;
1950
+ margin-right: -8px;
1951
+ top: 50%;
1952
+ margin-top: -8px;
1953
+ }
1954
+ /* line 777, sass/partials/_jquery_ui.scss */
1955
+ .cmb2-element.ui-datepicker .ui-datepicker-title, .cmb2-element .ui-datepicker .ui-datepicker-title {
1956
+ margin: 0 2.3em;
1957
+ line-height: 1.8em;
1958
+ text-align: center;
1959
+ }
1960
+ /* line 780, sass/partials/_jquery_ui.scss */
1961
+ .cmb2-element.ui-datepicker .ui-datepicker-title select, .cmb2-element .ui-datepicker .ui-datepicker-title select {
1962
+ font-size: 1em;
1963
+ margin: 1px 0;
1964
+ }
1965
+ /* line 783, sass/partials/_jquery_ui.scss */
1966
+ .cmb2-element.ui-datepicker select.ui-datepicker-month-year, .cmb2-element .ui-datepicker select.ui-datepicker-month-year {
1967
+ width: 100%;
1968
+ }
1969
+ /* line 784, sass/partials/_jquery_ui.scss */
1970
+ .cmb2-element.ui-datepicker select.ui-datepicker-month,
1971
+ .cmb2-element.ui-datepicker select.ui-datepicker-year, .cmb2-element .ui-datepicker select.ui-datepicker-month,
1972
+ .cmb2-element .ui-datepicker select.ui-datepicker-year {
1973
+ width: 49%;
1974
+ }
1975
+ /* line 788, sass/partials/_jquery_ui.scss */
1976
+ .cmb2-element.ui-datepicker select.ui-datepicker-month, .cmb2-element .ui-datepicker select.ui-datepicker-month {
1977
+ margin-left: 1%;
1978
+ }
1979
+ /* line 791, sass/partials/_jquery_ui.scss */
1980
+ .cmb2-element.ui-datepicker select.ui-datepicker-year, .cmb2-element .ui-datepicker select.ui-datepicker-year {
1981
+ margin-right: 1%;
1982
+ }
1983
+ /* line 793, sass/partials/_jquery_ui.scss */
1984
+ .cmb2-element.ui-datepicker table, .cmb2-element .ui-datepicker table {
1985
+ width: 100%;
1986
+ font-size: .9em;
1987
+ border-collapse: collapse;
1988
+ margin: 0 0 .4em;
1989
+ }
1990
+ /* line 795, sass/partials/_jquery_ui.scss */
1991
+ .cmb2-element.ui-datepicker th, .cmb2-element .ui-datepicker th {
1992
+ padding: .7em .3em;
1993
+ text-align: center;
1994
+ font-weight: bold;
1995
+ border: 0;
1996
+ }
1997
+ /* line 798, sass/partials/_jquery_ui.scss */
1998
+ .cmb2-element.ui-datepicker td, .cmb2-element .ui-datepicker td {
1999
+ border: 0;
2000
+ padding: 1px;
2001
+ }
2002
+ /* line 801, sass/partials/_jquery_ui.scss */
2003
+ .cmb2-element.ui-datepicker td span,
2004
+ .cmb2-element.ui-datepicker td a, .cmb2-element .ui-datepicker td span,
2005
+ .cmb2-element .ui-datepicker td a {
2006
+ display: block;
2007
+ padding: .2em;
2008
+ text-align: left;
2009
+ text-decoration: none;
2010
+ }
2011
+ /* line 805, sass/partials/_jquery_ui.scss */
2012
+ .cmb2-element.ui-datepicker .ui-datepicker-buttonpane, .cmb2-element .ui-datepicker .ui-datepicker-buttonpane {
2013
+ background-image: none;
2014
+ margin: .7em 0 0 0;
2015
+ padding: 0 .2em;
2016
+ border-right: 0;
2017
+ border-left: 0;
2018
+ border-bottom: 0;
2019
+ }
2020
+ /* line 808, sass/partials/_jquery_ui.scss */
2021
+ .cmb2-element.ui-datepicker .ui-datepicker-buttonpane button, .cmb2-element .ui-datepicker .ui-datepicker-buttonpane button {
2022
+ float: left;
2023
+ margin: .5em .2em .4em;
2024
+ cursor: pointer;
2025
+ padding: .2em .6em .3em .6em;
2026
+ width: auto;
2027
+ overflow: visible;
2028
+ }
2029
+ /* line 811, sass/partials/_jquery_ui.scss */
2030
+ .cmb2-element.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current, .cmb2-element .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
2031
+ float: right;
2032
+ }
2033
+ /* line 816, sass/partials/_jquery_ui.scss */
2034
+ .cmb2-element.ui-datepicker *, .cmb2-element .ui-datepicker * {
2035
+ padding: 0;
2036
+ font-family: "Open Sans", sans-serif;
2037
+ -webkit-border-radius: 0;
2038
+ -moz-border-radius: 0;
2039
+ border-radius: 0;
2040
+ }
2041
+ /* line 820, sass/partials/_jquery_ui.scss */
2042
+ .cmb2-element.ui-datepicker table, .cmb2-element .ui-datepicker table {
2043
+ font-size: 13px;
2044
+ margin: 0;
2045
+ }
2046
+ /* line 823, sass/partials/_jquery_ui.scss */
2047
+ .cmb2-element.ui-datepicker .ui-datepicker-header, .cmb2-element .ui-datepicker .ui-datepicker-header {
2048
+ border: none;
2049
+ background: #222;
2050
+ color: #fff;
2051
+ font-weight: normal;
2052
+ }
2053
+ /* line 826, sass/partials/_jquery_ui.scss */
2054
+ .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover, .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover {
2055
+ background: #222;
2056
+ border-color: transparent;
2057
+ cursor: pointer;
2058
+ -webkit-border-radius: 0;
2059
+ -moz-border-radius: 0;
2060
+ border-radius: 0;
2061
+ }
2062
+ /* line 829, sass/partials/_jquery_ui.scss */
2063
+ .cmb2-element.ui-datepicker thead, .cmb2-element .ui-datepicker thead {
2064
+ background: #222;
2065
+ color: #fff;
2066
+ }
2067
+ /* line 832, sass/partials/_jquery_ui.scss */
2068
+ .cmb2-element.ui-datepicker .ui-datepicker-title, .cmb2-element .ui-datepicker .ui-datepicker-title {
2069
+ margin-top: .4em;
2070
+ margin-bottom: .3em;
2071
+ color: #fff;
2072
+ font-size: 14px;
2073
+ }
2074
+ /* line 835, sass/partials/_jquery_ui.scss */
2075
+ .cmb2-element.ui-datepicker .ui-datepicker-prev-hover,
2076
+ .cmb2-element.ui-datepicker .ui-datepicker-next-hover,
2077
+ .cmb2-element.ui-datepicker .ui-datepicker-next,
2078
+ .cmb2-element.ui-datepicker .ui-datepicker-prev, .cmb2-element .ui-datepicker .ui-datepicker-prev-hover,
2079
+ .cmb2-element .ui-datepicker .ui-datepicker-next-hover,
2080
+ .cmb2-element .ui-datepicker .ui-datepicker-next,
2081
+ .cmb2-element .ui-datepicker .ui-datepicker-prev {
2082
+ height: 1em;
2083
+ top: .9em;
2084
+ border: none;
2085
+ }
2086
+ /* line 841, sass/partials/_jquery_ui.scss */
2087
+ .cmb2-element.ui-datepicker .ui-datepicker-prev-hover, .cmb2-element .ui-datepicker .ui-datepicker-prev-hover {
2088
+ right: 2px;
2089
+ }
2090
+ /* line 844, sass/partials/_jquery_ui.scss */
2091
+ .cmb2-element.ui-datepicker .ui-datepicker-next-hover, .cmb2-element .ui-datepicker .ui-datepicker-next-hover {
2092
+ left: 2px;
2093
+ }
2094
+ /* line 847, sass/partials/_jquery_ui.scss */
2095
+ .cmb2-element.ui-datepicker .ui-datepicker-next span,
2096
+ .cmb2-element.ui-datepicker .ui-datepicker-prev span, .cmb2-element .ui-datepicker .ui-datepicker-next span,
2097
+ .cmb2-element .ui-datepicker .ui-datepicker-prev span {
2098
+ background-image: url("data:image/png;base64,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");
2099
+ background-position: -32px 0;
2100
+ margin-top: 0;
2101
+ top: 0;
2102
+ font-weight: normal;
2103
+ }
2104
+ /* line 851, sass/partials/_jquery_ui.scss */
2105
+ .cmb2-element.ui-datepicker .ui-datepicker-prev span, .cmb2-element .ui-datepicker .ui-datepicker-prev span {
2106
+ background-position: -96px 0;
2107
+ }
2108
+ /* line 854, sass/partials/_jquery_ui.scss */
2109
+ .cmb2-element.ui-datepicker th, .cmb2-element .ui-datepicker th {
2110
+ padding: 0.75em 0;
2111
+ color: #fff;
2112
+ font-weight: normal;
2113
+ border: none;
2114
+ border-top: 1px solid #333;
2115
+ }
2116
+ /* line 857, sass/partials/_jquery_ui.scss */
2117
+ .cmb2-element.ui-datepicker td, .cmb2-element .ui-datepicker td {
2118
+ background: #f1f1f1;
2119
+ border: none;
2120
+ padding: 0;
2121
+ }
2122
+ /* line 860, sass/partials/_jquery_ui.scss */
2123
+ .cmb2-element.ui-datepicker td .ui-state-default, .cmb2-element .ui-datepicker td .ui-state-default {
2124
+ background: transparent;
2125
+ border: none;
2126
+ text-align: center;
2127
+ padding: .5em;
2128
+ margin: 0;
2129
+ font-weight: normal;
2130
+ color: #333;
2131
+ }
2132
+ /* line 863, sass/partials/_jquery_ui.scss */
2133
+ .cmb2-element.ui-datepicker td .ui-state-active,
2134
+ .cmb2-element.ui-datepicker td .ui-state-hover, .cmb2-element .ui-datepicker td .ui-state-active,
2135
+ .cmb2-element .ui-datepicker td .ui-state-hover {
2136
+ background: #0074a2;
2137
+ color: #fff;
2138
+ }
2139
+ /* line 867, sass/partials/_jquery_ui.scss */
2140
+ .cmb2-element.ui-datepicker td.ui-state-disabled,
2141
+ .cmb2-element.ui-datepicker td.ui-state-disabled .ui-state-default, .cmb2-element .ui-datepicker td.ui-state-disabled,
2142
+ .cmb2-element .ui-datepicker td.ui-state-disabled .ui-state-default {
2143
+ opacity: 1;
2144
+ color: #999;
2145
+ }
2146
+ /* line 871, sass/partials/_jquery_ui.scss */
2147
+ .cmb2-element.ui-datepicker .ui-datepicker-close,
2148
+ .cmb2-element.ui-datepicker .ui-datepicker-current, .cmb2-element .ui-datepicker .ui-datepicker-close,
2149
+ .cmb2-element .ui-datepicker .ui-datepicker-current {
2150
+ font-size: 14px;
2151
+ font-weight: normal;
2152
+ background-image: none;
2153
+ border: none;
2154
+ }
2155
+ /* line 875, sass/partials/_jquery_ui.scss */
2156
+ .cmb2-element.ui-datepicker .ui-datepicker-current:hover,
2157
+ .cmb2-element.ui-datepicker .ui-datepicker-current:active,
2158
+ .cmb2-element.ui-datepicker .ui-datepicker-close:hover,
2159
+ .cmb2-element.ui-datepicker .ui-datepicker-close:active, .cmb2-element .ui-datepicker .ui-datepicker-current:hover,
2160
+ .cmb2-element .ui-datepicker .ui-datepicker-current:active,
2161
+ .cmb2-element .ui-datepicker .ui-datepicker-close:hover,
2162
+ .cmb2-element .ui-datepicker .ui-datepicker-close:active {
2163
+ background: #096484;
2164
+ color: #fff;
2165
+ }
2166
+ /* line 881, sass/partials/_jquery_ui.scss */
2167
+ .cmb2-element.ui-datepicker .ui-datepicker-buttonpane, .cmb2-element .ui-datepicker .ui-datepicker-buttonpane {
2168
+ border: none;
2169
+ }
2170
+ /* line 885, sass/partials/_jquery_ui.scss */
2171
+ .cmb2-element.ui-datepicker.ui-datepicker-multi, .cmb2-element .ui-datepicker.ui-datepicker-multi {
2172
+ width: auto;
2173
+ }
2174
+ /* line 890, sass/partials/_jquery_ui.scss */
2175
+ .cmb2-element .ui-datepicker-multi .ui-datepicker-group {
2176
+ float: right;
2177
+ }
2178
+ /* line 893, sass/partials/_jquery_ui.scss */
2179
+ .cmb2-element .ui-datepicker-multi .ui-datepicker-group table {
2180
+ width: 95%;
2181
+ margin: 0 auto .4em;
2182
+ }
2183
+ /* line 896, sass/partials/_jquery_ui.scss */
2184
+ .cmb2-element .ui-datepicker-multi-2 .ui-datepicker-group {
2185
+ width: 50%;
2186
+ }
2187
+ /* line 899, sass/partials/_jquery_ui.scss */
2188
+ .cmb2-element .ui-datepicker-multi-3 .ui-datepicker-group {
2189
+ width: 33.3%;
2190
+ }
2191
+ /* line 902, sass/partials/_jquery_ui.scss */
2192
+ .cmb2-element .ui-datepicker-multi-4 .ui-datepicker-group {
2193
+ width: 25%;
2194
+ }
2195
+ /* line 905, sass/partials/_jquery_ui.scss */
2196
+ .cmb2-element .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header {
2197
+ border-right-width: 0;
2198
+ }
2199
+ /* line 908, sass/partials/_jquery_ui.scss */
2200
+ .cmb2-element .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
2201
+ border-right-width: 0;
2202
+ }
2203
+ /* line 911, sass/partials/_jquery_ui.scss */
2204
+ .cmb2-element .ui-datepicker-multi .ui-datepicker-buttonpane {
2205
+ clear: right;
2206
+ }
2207
+ /* line 914, sass/partials/_jquery_ui.scss */
2208
+ .cmb2-element .ui-datepicker-row-break {
2209
+ clear: both;
2210
+ width: 100%;
2211
+ font-size: 0em;
2212
+ }
2213
+ /* line 917, sass/partials/_jquery_ui.scss */
2214
+ .cmb2-element .ui-datepicker-rtl {
2215
+ direction: ltr;
2216
+ }
2217
+ /* line 919, sass/partials/_jquery_ui.scss */
2218
+ .cmb2-element .ui-datepicker-rtl .ui-datepicker-prev {
2219
+ left: 2px;
2220
+ right: auto;
2221
+ }
2222
+ /* line 922, sass/partials/_jquery_ui.scss */
2223
+ .cmb2-element .ui-datepicker-rtl .ui-datepicker-next {
2224
+ right: 2px;
2225
+ left: auto;
2226
+ }
2227
+ /* line 925, sass/partials/_jquery_ui.scss */
2228
+ .cmb2-element .ui-datepicker-rtl .ui-datepicker-prev:hover {
2229
+ left: 1px;
2230
+ right: auto;
2231
+ }
2232
+ /* line 928, sass/partials/_jquery_ui.scss */
2233
+ .cmb2-element .ui-datepicker-rtl .ui-datepicker-next:hover {
2234
+ right: 1px;
2235
+ left: auto;
2236
+ }
2237
+ /* line 931, sass/partials/_jquery_ui.scss */
2238
+ .cmb2-element .ui-datepicker-rtl .ui-datepicker-buttonpane {
2239
+ clear: left;
2240
+ }
2241
+ /* line 934, sass/partials/_jquery_ui.scss */
2242
+ .cmb2-element .ui-datepicker-rtl .ui-datepicker-buttonpane button {
2243
+ float: right;
2244
+ }
2245
+ /* line 937, sass/partials/_jquery_ui.scss */
2246
+ .cmb2-element .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current {
2247
+ float: left;
2248
+ }
2249
+ /* line 940, sass/partials/_jquery_ui.scss */
2250
+ .cmb2-element .ui-datepicker-rtl .ui-datepicker-group {
2251
+ float: left;
2252
+ }
2253
+ /* line 943, sass/partials/_jquery_ui.scss */
2254
+ .cmb2-element .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header {
2255
+ border-left-width: 0;
2256
+ border-right-width: 1px;
2257
+ }
2258
+ /* line 946, sass/partials/_jquery_ui.scss */
2259
+ .cmb2-element .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
2260
+ border-left-width: 0;
2261
+ border-right-width: 1px;
2262
+ }
2263
+ /* line 950, sass/partials/_jquery_ui.scss */
2264
+ .cmb2-element .ui-datepicker-cover {
2265
+ display: none;
2266
+ /*sorry for IE5*/
2267
+ display/**/: block;
2268
+ /*sorry for IE5*/
2269
+ position: absolute;
2270
+ /*must have*/
2271
+ z-index: -1;
2272
+ /*must have*/
2273
+ filter: mask();
2274
+ /*must have*/
2275
+ top: -4px;
2276
+ /*must have*/
2277
+ right: -4px;
2278
+ /*must have*/
2279
+ width: 200px;
2280
+ /*must have*/
2281
+ height: 200px;
2282
+ /*must have*/
2283
+ }
2284
+ /* line 961, sass/partials/_jquery_ui.scss */
2285
+ .cmb2-element .ui-timepicker-div {
2286
+ font-size: 14px;
2287
+ }
2288
+ /* line 964, sass/partials/_jquery_ui.scss */
2289
+ .cmb2-element .ui-timepicker-div .ui-widget-header {
2290
+ margin-bottom: 8px;
2291
+ background: #222;
2292
+ border-color: #222;
2293
+ }
2294
+ /* line 967, sass/partials/_jquery_ui.scss */
2295
+ .cmb2-element .ui-timepicker-div dl {
2296
+ text-align: right;
2297
+ }
2298
+ /* line 970, sass/partials/_jquery_ui.scss */
2299
+ .cmb2-element .ui-timepicker-div dl dt {
2300
+ float: right;
2301
+ clear: right;
2302
+ padding: 0 5px 0 0;
2303
+ }
2304
+ /* line 973, sass/partials/_jquery_ui.scss */
2305
+ .cmb2-element .ui-timepicker-div dl dd {
2306
+ margin: 0 40% 10px 10px;
2307
+ }
2308
+ /* line 976, sass/partials/_jquery_ui.scss */
2309
+ .cmb2-element .ui-tpicker-grid-label {
2310
+ background: none;
2311
+ border: none;
2312
+ margin: 0;
2313
+ padding: 0;
2314
+ }
2315
+ /* line 979, sass/partials/_jquery_ui.scss */
2316
+ .cmb2-element .ui-timepicker-rtl {
2317
+ direction: ltr;
2318
+ }
2319
+ /* line 982, sass/partials/_jquery_ui.scss */
2320
+ .cmb2-element .ui-timepicker-rtl dl {
2321
+ text-align: left;
2322
+ padding: 0 0 0 5px;
2323
+ }
2324
+ /* line 985, sass/partials/_jquery_ui.scss */
2325
+ .cmb2-element .ui-timepicker-rtl dl dt {
2326
+ float: left;
2327
+ clear: left;
2328
+ }
2329
+ /* line 988, sass/partials/_jquery_ui.scss */
2330
+ .cmb2-element .ui-timepicker-rtl dl dd {
2331
+ margin: 0 10px 10px 40%;
2332
+ }
2333
+
2334
+ /* line 995, sass/partials/_jquery_ui.scss */
2335
+ .admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-header,
2336
+ .admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,
2337
+ .admin-color-blue .cmb2-element.ui-datepicker thead, .admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-header,
2338
+ .admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,
2339
+ .admin-color-blue .cmb2-element .ui-datepicker thead {
2340
+ background: #4796b3;
2341
+ }
2342
+ /* line 1000, sass/partials/_jquery_ui.scss */
2343
+ .admin-color-blue .cmb2-element.ui-datepicker th, .admin-color-blue .cmb2-element .ui-datepicker th {
2344
+ border-color: #52accc;
2345
+ }
2346
+ /* line 1003, sass/partials/_jquery_ui.scss */
2347
+ .admin-color-blue .cmb2-element.ui-datepicker td .ui-state-active,
2348
+ .admin-color-blue .cmb2-element.ui-datepicker td .ui-state-hover, .admin-color-blue .cmb2-element .ui-datepicker td .ui-state-active,
2349
+ .admin-color-blue .cmb2-element .ui-datepicker td .ui-state-hover {
2350
+ background: #096484;
2351
+ }
2352
+ /* line 1007, sass/partials/_jquery_ui.scss */
2353
+ .admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-current:hover,
2354
+ .admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-current:active,
2355
+ .admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-close:hover,
2356
+ .admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-close:active, .admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-current:hover,
2357
+ .admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-current:active,
2358
+ .admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-close:hover,
2359
+ .admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-close:active {
2360
+ background: #096484;
2361
+ color: #fff;
2362
+ }
2363
+ /* line 1014, sass/partials/_jquery_ui.scss */
2364
+ .admin-color-blue .cmb2-element .ui-timepicker-div .ui-widget-header {
2365
+ background: #4796b3;
2366
+ }
2367
+ /* line 1017, sass/partials/_jquery_ui.scss */
2368
+ .admin-color-blue .cmb2-element .ui-timepicker-div .ui-widget-header {
2369
+ border-color: #4796b3;
2370
+ }
2371
+
2372
+ /* line 1025, sass/partials/_jquery_ui.scss */
2373
+ .admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-header,
2374
+ .admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,
2375
+ .admin-color-coffee .cmb2-element.ui-datepicker thead, .admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-header,
2376
+ .admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,
2377
+ .admin-color-coffee .cmb2-element .ui-datepicker thead {
2378
+ background: #46403c;
2379
+ }
2380
+ /* line 1030, sass/partials/_jquery_ui.scss */
2381
+ .admin-color-coffee .cmb2-element.ui-datepicker th, .admin-color-coffee .cmb2-element .ui-datepicker th {
2382
+ border-color: #59524c;
2383
+ }
2384
+ /* line 1033, sass/partials/_jquery_ui.scss */
2385
+ .admin-color-coffee .cmb2-element.ui-datepicker td .ui-state-active,
2386
+ .admin-color-coffee .cmb2-element.ui-datepicker td .ui-state-hover, .admin-color-coffee .cmb2-element .ui-datepicker td .ui-state-active,
2387
+ .admin-color-coffee .cmb2-element .ui-datepicker td .ui-state-hover {
2388
+ background: #c7a589;
2389
+ }
2390
+ /* line 1037, sass/partials/_jquery_ui.scss */
2391
+ .admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-current:hover,
2392
+ .admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-current:active,
2393
+ .admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-close:hover,
2394
+ .admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-close:active, .admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-current:hover,
2395
+ .admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-current:active,
2396
+ .admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-close:hover,
2397
+ .admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-close:active {
2398
+ background: #c7a589;
2399
+ color: #fff;
2400
+ }
2401
+ /* line 1044, sass/partials/_jquery_ui.scss */
2402
+ .admin-color-coffee .cmb2-element .ui-timepicker-div .ui-widget-header {
2403
+ background: #46403c;
2404
+ }
2405
+
2406
+ /* line 1052, sass/partials/_jquery_ui.scss */
2407
+ .admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-header,
2408
+ .admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,
2409
+ .admin-color-ectoplasm .cmb2-element.ui-datepicker thead, .admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-header,
2410
+ .admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,
2411
+ .admin-color-ectoplasm .cmb2-element .ui-datepicker thead {
2412
+ background: #413256;
2413
+ }
2414
+ /* line 1057, sass/partials/_jquery_ui.scss */
2415
+ .admin-color-ectoplasm .cmb2-element.ui-datepicker th, .admin-color-ectoplasm .cmb2-element .ui-datepicker th {
2416
+ border-color: #523f6d;
2417
+ }
2418
+ /* line 1060, sass/partials/_jquery_ui.scss */
2419
+ .admin-color-ectoplasm .cmb2-element.ui-datepicker td .ui-state-active,
2420
+ .admin-color-ectoplasm .cmb2-element.ui-datepicker td .ui-state-hover, .admin-color-ectoplasm .cmb2-element .ui-datepicker td .ui-state-active,
2421
+ .admin-color-ectoplasm .cmb2-element .ui-datepicker td .ui-state-hover {
2422
+ background: #a3b745;
2423
+ }
2424
+ /* line 1064, sass/partials/_jquery_ui.scss */
2425
+ .admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-current:hover,
2426
+ .admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-current:active,
2427
+ .admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-close:hover,
2428
+ .admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-close:active, .admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-current:hover,
2429
+ .admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-current:active,
2430
+ .admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-close:hover,
2431
+ .admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-close:active {
2432
+ background: #a3b745;
2433
+ color: #fff;
2434
+ }
2435
+ /* line 1072, sass/partials/_jquery_ui.scss */
2436
+ .admin-color-ectoplasm .cmb2-element .ui-timepicker-div .ui-widget-header {
2437
+ background: #413256;
2438
+ border-color: #413256;
2439
+ }
2440
+
2441
+ /* line 1082, sass/partials/_jquery_ui.scss */
2442
+ .admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-header,
2443
+ .admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,
2444
+ .admin-color-midnight .cmb2-element.ui-datepicker thead, .admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-header,
2445
+ .admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,
2446
+ .admin-color-midnight .cmb2-element .ui-datepicker thead {
2447
+ background: #26292c;
2448
+ }
2449
+ /* line 1087, sass/partials/_jquery_ui.scss */
2450
+ .admin-color-midnight .cmb2-element.ui-datepicker th, .admin-color-midnight .cmb2-element .ui-datepicker th {
2451
+ border-color: #363b3f;
2452
+ }
2453
+ /* line 1090, sass/partials/_jquery_ui.scss */
2454
+ .admin-color-midnight .cmb2-element.ui-datepicker td .ui-state-active,
2455
+ .admin-color-midnight .cmb2-element.ui-datepicker td .ui-state-hover, .admin-color-midnight .cmb2-element .ui-datepicker td .ui-state-active,
2456
+ .admin-color-midnight .cmb2-element .ui-datepicker td .ui-state-hover {
2457
+ background: #e14d43;
2458
+ }
2459
+ /* line 1094, sass/partials/_jquery_ui.scss */
2460
+ .admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-current:hover,
2461
+ .admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-current:active,
2462
+ .admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-close:hover,
2463
+ .admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-close:active, .admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-current:hover,
2464
+ .admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-current:active,
2465
+ .admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-close:hover,
2466
+ .admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-close:active {
2467
+ background: #e14d43;
2468
+ color: #fff;
2469
+ }
2470
+ /* line 1101, sass/partials/_jquery_ui.scss */
2471
+ .admin-color-midnight .cmb2-element .ui-timepicker-div .ui-widget-header {
2472
+ background: #26292c;
2473
+ }
2474
+
2475
+ /* line 1109, sass/partials/_jquery_ui.scss */
2476
+ .admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-header,
2477
+ .admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,
2478
+ .admin-color-ocean .cmb2-element.ui-datepicker thead, .admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-header,
2479
+ .admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,
2480
+ .admin-color-ocean .cmb2-element .ui-datepicker thead {
2481
+ background: #627c83;
2482
+ }
2483
+ /* line 1114, sass/partials/_jquery_ui.scss */
2484
+ .admin-color-ocean .cmb2-element.ui-datepicker th, .admin-color-ocean .cmb2-element .ui-datepicker th {
2485
+ border-color: #738e96;
2486
+ }
2487
+ /* line 1117, sass/partials/_jquery_ui.scss */
2488
+ .admin-color-ocean .cmb2-element.ui-datepicker td .ui-state-active,
2489
+ .admin-color-ocean .cmb2-element.ui-datepicker td .ui-state-hover, .admin-color-ocean .cmb2-element .ui-datepicker td .ui-state-active,
2490
+ .admin-color-ocean .cmb2-element .ui-datepicker td .ui-state-hover {
2491
+ background: #9ebaa0;
2492
+ }
2493
+ /* line 1121, sass/partials/_jquery_ui.scss */
2494
+ .admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-current:hover,
2495
+ .admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-current:active,
2496
+ .admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-close:hover,
2497
+ .admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-close:active, .admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-current:hover,
2498
+ .admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-current:active,
2499
+ .admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-close:hover,
2500
+ .admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-close:active {
2501
+ background: #9ebaa0;
2502
+ color: #fff;
2503
+ }
2504
+ /* line 1128, sass/partials/_jquery_ui.scss */
2505
+ .admin-color-ocean .cmb2-element .ui-timepicker-div .ui-widget-header {
2506
+ background: #627c83;
2507
+ border-color: #627c83;
2508
+ }
2509
+
2510
+ /* line 1137, sass/partials/_jquery_ui.scss */
2511
+ .admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-header,
2512
+ .admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,
2513
+ .admin-color-sunrise .cmb2-element.ui-datepicker thead, .admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header,
2514
+ .admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,
2515
+ .admin-color-sunrise .cmb2-element .ui-datepicker thead {
2516
+ background: #be3631;
2517
+ }
2518
+ /* line 1142, sass/partials/_jquery_ui.scss */
2519
+ .admin-color-sunrise .cmb2-element.ui-datepicker th, .admin-color-sunrise .cmb2-element .ui-datepicker th {
2520
+ border-color: #cf4944;
2521
+ }
2522
+ /* line 1145, sass/partials/_jquery_ui.scss */
2523
+ .admin-color-sunrise .cmb2-element.ui-datepicker td .ui-state-active,
2524
+ .admin-color-sunrise .cmb2-element.ui-datepicker td .ui-state-hover, .admin-color-sunrise .cmb2-element .ui-datepicker td .ui-state-active,
2525
+ .admin-color-sunrise .cmb2-element .ui-datepicker td .ui-state-hover {
2526
+ background: #dd823b;
2527
+ }
2528
+ /* line 1149, sass/partials/_jquery_ui.scss */
2529
+ .admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-current:hover,
2530
+ .admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-current:active,
2531
+ .admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-close:hover,
2532
+ .admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-close:active, .admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-current:hover,
2533
+ .admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-current:active,
2534
+ .admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-close:hover,
2535
+ .admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-close:active {
2536
+ background: #dd823b;
2537
+ color: #fff;
2538
+ }
2539
+ /* line 1156, sass/partials/_jquery_ui.scss */
2540
+ .admin-color-sunrise .cmb2-element .ui-timepicker-div .ui-widget-header {
2541
+ background: #be3631;
2542
+ border-color: #be3631;
2543
+ }
2544
+
2545
+ /* line 1164, sass/partials/_jquery_ui.scss */
2546
+ .admin-color-light .cmb2-element .ui-timepicker-div .ui-widget-header {
2547
+ background: #e5e5e5;
2548
+ border-color: #e5e5e5;
2549
+ color: #555;
2550
+ }
2551
+ /* line 1170, sass/partials/_jquery_ui.scss */
2552
+ .admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-header,
2553
+ .admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,
2554
+ .admin-color-light .cmb2-element.ui-datepicker thead, .admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-header,
2555
+ .admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,
2556
+ .admin-color-light .cmb2-element .ui-datepicker thead {
2557
+ background: #e5e5e5;
2558
+ }
2559
+ /* line 1175, sass/partials/_jquery_ui.scss */
2560
+ .admin-color-light .cmb2-element.ui-datepicker td, .admin-color-light .cmb2-element .ui-datepicker td {
2561
+ background: #fff;
2562
+ }
2563
+ /* line 1179, sass/partials/_jquery_ui.scss */
2564
+ .admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-next span,
2565
+ .admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-prev span, .admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-next span,
2566
+ .admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-prev span {
2567
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAYAAADvl7rLAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMUIxRjI2RjhCODYxMUUzQTEyNERCMDU1QzdBQ0EyMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxMUIxRjI3MDhCODYxMUUzQTEyNERCMDU1QzdBQ0EyMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjExQjFGMjZEOEI4NjExRTNBMTI0REIwNTVDN0FDQTIwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjExQjFGMjZFOEI4NjExRTNBMTI0REIwNTVDN0FDQTIwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+kKfR4AAAHcRJREFUeNrsXWuM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");
2568
+ }
2569
+ /* line 1183, sass/partials/_jquery_ui.scss */
2570
+ .admin-color-light .cmb2-element.ui-datepicker th, .admin-color-light .cmb2-element .ui-datepicker th {
2571
+ border-color: #fff;
2572
+ }
2573
+ /* line 1186, sass/partials/_jquery_ui.scss */
2574
+ .admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-title,
2575
+ .admin-color-light .cmb2-element.ui-datepicker td .ui-state-default,
2576
+ .admin-color-light .cmb2-element.ui-datepicker th, .admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-title,
2577
+ .admin-color-light .cmb2-element .ui-datepicker td .ui-state-default,
2578
+ .admin-color-light .cmb2-element .ui-datepicker th {
2579
+ color: #555;
2580
+ }
2581
+ /* line 1191, sass/partials/_jquery_ui.scss */
2582
+ .admin-color-light .cmb2-element.ui-datepicker td .ui-state-active,
2583
+ .admin-color-light .cmb2-element.ui-datepicker td .ui-state-hover,
2584
+ .admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-current:hover,
2585
+ .admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-current:active,
2586
+ .admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-close:hover,
2587
+ .admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-close:active, .admin-color-light .cmb2-element .ui-datepicker td .ui-state-active,
2588
+ .admin-color-light .cmb2-element .ui-datepicker td .ui-state-hover,
2589
+ .admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-current:hover,
2590
+ .admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-current:active,
2591
+ .admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-close:hover,
2592
+ .admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-close:active {
2593
+ color: #fff;
2594
+ background: #888;
2595
+ }
2596
+ /* line 1199, sass/partials/_jquery_ui.scss */
2597
+ .admin-color-light .cmb2-element.ui-datepicker td.ui-state-disabled,
2598
+ .admin-color-light .cmb2-element.ui-datepicker td.ui-state-disabled .ui-state-default, .admin-color-light .cmb2-element .ui-datepicker td.ui-state-disabled,
2599
+ .admin-color-light .cmb2-element .ui-datepicker td.ui-state-disabled .ui-state-default {
2600
+ color: #ccc;
2601
+ }
2602
+ /* line 1204, sass/partials/_jquery_ui.scss */
2603
+ .admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-current, .admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-current {
2604
+ background: #f1f1f1;
2605
+ }
2606
+
2607
+ /**
2608
+ * CMB2 Frontend
2609
+ */
2610
+ /* line 1, sass/partials/_front.scss */
2611
+ .closed .inside {
2612
+ display: none;
2613
+ }
2614
+
2615
+ /* line 5, sass/partials/_front.scss */
2616
+ .cmb-repeatable-grouping {
2617
+ position: relative;
2618
+ }
2619
+ /* line 8, sass/partials/_front.scss */
2620
+ .cmb-repeatable-grouping .cmb-group-title {
2621
+ margin-right: -1em;
2622
+ margin-left: -1em;
2623
+ min-height: 1.5em;
2624
+ }
2625
+ /* line 14, sass/partials/_front.scss */
2626
+ .cmb-repeatable-grouping h3 {
2627
+ font-size: 14px;
2628
+ padding: 8px 12px;
2629
+ margin: 0;
2630
+ line-height: 1.4;
2631
+ }
2632
+
2633
+ /* line 25, sass/partials/_front.scss */
2634
+ .cmb-repeatable-group.repeatable .cmb-group-title {
2635
+ padding-right: 2.2em;
2636
+ }
2637
+ /* line 29, sass/partials/_front.scss */
2638
+ .cmb-repeatable-group.non-repeatable .cmb-group-title {
2639
+ padding-right: 12px;
2640
+ }
2641
+
2642
+ /* line 35, sass/partials/_front.scss */
2643
+ .cmb-repeat-group-wrap .cmb-row .cmbhandle {
2644
+ left: 0;
2645
+ position: absolute;
2646
+ }
2647
+
2648
+ /*# sourceMappingURL=cmb2-front.css.map */
vendor/CMB2/css/cmb2-front-rtl.min.css ADDED
@@ -0,0 +1 @@
 
1
+ .cmb2-wrap{margin:0}.cmb2-wrap input,.cmb2-wrap textarea{font-size:14px;max-width:100%;padding:5px}.cmb2-wrap input[type=text].cmb2-oembed{width:100%}.cmb2-wrap textarea{width:500px}.cmb2-wrap textarea.cmb2-textarea-code{font-family:"Courier 10 Pitch",Courier,monospace;line-height:16px}.cmb2-wrap input.cmb2-text-small,.cmb2-wrap input.cmb2-timepicker{width:100px}.cmb2-wrap input.cmb2-text-money{width:90px}.cmb2-wrap input.cmb2-text-medium{width:230px}.cmb2-wrap input.cmb2-upload-file{width:65%}.cmb2-wrap input.ed_button{padding:2px 4px}.cmb2-wrap input:not([type=hidden])+.button,.cmb2-wrap input:not([type=hidden])+input,.cmb2-wrap input:not([type=hidden])+select{margin-right:20px}.cmb2-wrap ul{margin:0}.cmb2-wrap li{font-size:14px;line-height:16px;margin:1px 0 5px}.cmb2-wrap select{font-size:14px;margin-top:3px}.cmb2-wrap input:focus,.cmb2-wrap textarea:focus{background:#fffff8}.cmb2-wrap input[type=checkbox],.cmb2-wrap input[type=radio]{margin:0 0 0 5px;padding:0}.cmb2-wrap .button,.cmb2-wrap button{white-space:nowrap}.cmb2-wrap .mceLayout{border:1px solid #e9e9e9!important}.cmb2-wrap .mceIframeContainer{background:#fff}.cmb2-wrap .meta_mce{width:97%}.cmb2-wrap .meta_mce textarea{width:100%}.cmb2-wrap .wp-color-result,.cmb2-wrap .wp-picker-input-wrap{vertical-align:middle}.cmb2-wrap .wp-color-result,.cmb2-wrap .wp-picker-container{margin:0 0 0 10px}.cmb2-wrap .cmb-row{margin:0}.cmb2-wrap .cmb-row:after{content:'';clear:both;display:block;width:100%}.cmb2-wrap .cmb-row.cmb-repeat-row{padding:1.8em 0 0}.cmb2-wrap .cmb-row.cmb-repeat-row:first-of-type{padding:0}.cmb2-wrap .cmb-row.cmb-repeat .cmb2-metabox-description{padding-top:0;padding-bottom:1.8em}.cmb2-metabox{clear:both;margin:0}.cmb2-metabox .cmb-field-list>.cmb-row:first-of-type>.cmb-td,.cmb2-metabox .cmb-field-list>.cmb-row:first-of-type>.cmb-th,.cmb2-metabox>.cmb-row:first-of-type>.cmb-td,.cmb2-metabox>.cmb-row:first-of-type>.cmb-th{border:0}.cmb2-metabox>.cmb-row .cmb-repeat-table .cmb-row>.cmb-td{padding-left:20px;box-sizing:border-box;float:right}.cmb-add-row{margin:1.8em 0 0}.cmb-nested .cmb-td,.cmb-repeatable-group .cmb-th,.cmb-repeatable-group:first-of-type{border:0}.cmb-repeatable-group:last-of-type,.cmb-row:last-of-type,.cmb2-wrap .cmb-row:last-of-type{border-bottom:0}.cmb-repeatable-grouping{border:1px solid #e9e9e9;padding:0 1em;max-width:1000px}.cmb-repeatable-grouping.cmb-row{margin:0 0 .8em}.cmb-th{color:#222;float:right;font-weight:600;line-height:1.3;padding:20px 0 20px 10px;vertical-align:top;width:200px}@media (max-width:450px){.cmb-th{font-size:1.2em;display:block;float:none;padding-bottom:1em;text-align:right;width:100%}.cmb-th label{display:block;margin-top:0;padding-bottom:5px}.cmb-th label:after{border-bottom:1px solid #e9e9e9;content:'';clear:both;display:block;padding-top:.4em}}.cmb-td{line-height:1.3;max-width:100%;padding:15px 10px;vertical-align:middle}.cmb-type-title .cmb-td{padding:0}.cmb-th label{display:block;padding:5px 0}.cmb-th+.cmb-td{float:right}.cmb-td .cmb-td{padding-bottom:1em}.cmb-remove-row{text-align:left}.empty-row.hidden{display:none}.cmb-repeatable-group .cmb-th{padding:5px}.cmb-repeatable-group .cmb-group-title{background-color:#e9e9e9;padding:8px 2.2em 8px 12px;margin:0 -1em;min-height:1.5em;font-size:14px;line-height:1.4}.cmb-repeatable-group .cmb-group-title h4{border:0;margin:0;font-size:1.2em;font-weight:500;padding:.5em .75em}.cmb-repeatable-group .cmb-group-title .cmb-th{display:block;width:100%}.cmb-repeatable-group .cmb-group-description .cmb-th{font-size:1.2em;display:block;float:none;padding-bottom:1em;text-align:right;width:100%}.cmb-repeatable-group .cmb-group-description .cmb-th label{display:block;margin-top:0;padding-bottom:5px}.cmb-repeatable-group .cmb-group-description .cmb-th label:after{border-bottom:1px solid #e9e9e9;content:'';clear:both;display:block;padding-top:.4em}.cmb-repeatable-group .cmb-shift-rows{font-size:1em;margin-left:1em;text-decoration:none}.cmb-repeatable-group .cmb-shift-rows .dashicons{font-size:1.5em;height:1.5em;line-height:1.2em;width:1em}.cmb-repeatable-group .cmb-shift-rows .dashicons.dashicons-arrow-down-alt2{line-height:1.3em}.cmb-repeatable-group .cmb2-upload-button{float:left}p.cmb2-metabox-description{color:#aaa;font-style:italic;margin:0;padding-top:.5em}span.cmb2-metabox-description{color:#aaa;font-style:italic}.cmb2-metabox-title{margin:0 0 5px;padding:5px 0 0;font-size:14px}.cmb-inline ul{padding:4px 0 0}.cmb-inline li{display:inline-block;padding-left:18px}.cmb-type-textarea-code pre{margin:0}.cmb2-media-status .img-status{clear:none;display:inline-block;float:right;margin-left:10px;width:auto}.cmb2-media-status .img-status img{max-width:350px}.cmb2-media-status .embed-status,.cmb2-media-status .img-status img{background:#fff;border:1px solid #e9e9e9;border-radius:2px;-moz-border-radius:2px;margin:15px 0 0;padding:5px}.cmb2-media-status .embed-status{float:right;max-width:800px}.cmb2-media-status .embed-status,.cmb2-media-status .img-status{position:relative}.cmb2-media-status .embed-status .cmb2-remove-file-button,.cmb2-media-status .img-status .cmb2-remove-file-button{background:url(../images/ico-delete.png);height:16px;right:-5px;position:absolute;text-indent:-9999px;top:-5px;width:16px}.cmb2-media-status .img-status .cmb2-remove-file-button{top:10px}.cmb2-media-status .file-status>span,.cmb2-media-status .img-status img{cursor:pointer}.cmb-type-file-list .cmb2-media-status .img-status{clear:none;float:right;margin-left:10px;width:auto}.cmb-attach-list li{clear:both;display:inline-block;margin-bottom:25px;width:100%}.cmb-attach-list li img{cursor:move;float:right;margin-left:10px}.cmb2-remove-wrapper{margin:0}.child-cmb2 .cmb-th{text-align:right}@media (max-width:450px){.cmb-td,.cmb-th,.cmb-th+.cmb-td{display:block;float:none;width:100%}}#poststuff .cmb-group-title{margin-right:-1em;margin-left:-1em;min-height:1.5em}#poststuff .repeatable .cmb-group-title{padding-right:2.2em}.cmb-repeat-group-wrap .cmb2-wrap,.postbox-container .cmb2-wrap{margin:0}.cmb-repeat-group-wrap .cmb2-wrap>.cmb-field-list>.cmb-row,.postbox-container .cmb2-wrap>.cmb-field-list>.cmb-row{padding:1.8em 0}.cmb-repeat-group-wrap .cmb2-wrap input[type=text].cmb2-oembed,.postbox-container .cmb2-wrap input[type=text].cmb2-oembed{width:100%}.cmb-repeat-group-wrap .cmb-row,.postbox-container .cmb-row{padding:0 0 1.8em;margin:0 0 .8em}.cmb-repeat-group-wrap .cmb-row .cmbhandle,.postbox-container .cmb-row .cmbhandle{left:-1em;position:relative}.cmb-repeat-group-wrap .cmb-repeatable-grouping,.postbox-container .cmb-repeatable-grouping{padding:0 1em;max-width:100%;min-width:1px!important}.cmb-repeat-group-wrap .cmb-repeatable-group>.cmb-row,.postbox-container .cmb-repeatable-group>.cmb-row{padding-bottom:0}.cmb-repeat-group-wrap .cmb-th,.postbox-container .cmb-th{width:18%;padding:0 0 0 2%}.cmb-repeat-group-wrap .cmb-td,.postbox-container .cmb-td{margin-bottom:0;padding:0;line-height:1.3}.cmb-repeat-group-wrap .cmb-repeat-row .cmb-td,.postbox-container .cmb-repeat-row .cmb-td{padding-bottom:1.8em}.cmb-repeat-group-wrap .cmb-th+.cmb-td,.postbox-container .cmb-th+.cmb-td{width:80%;float:left}.cmb-repeat-group-wrap .cmb-repeatable-group:not(:last-of-type),.cmb-repeat-group-wrap .cmb-row:not(:last-of-type),.postbox-container .cmb-repeatable-group:not(:last-of-type),.postbox-container .cmb-row:not(:last-of-type){border-bottom:1px solid #e9e9e9}@media (max-width:450px){.cmb-repeat-group-wrap .cmb-repeatable-group:not(:last-of-type),.cmb-repeat-group-wrap .cmb-row:not(:last-of-type),.postbox-container .cmb-repeatable-group:not(:last-of-type),.postbox-container .cmb-row:not(:last-of-type){border-bottom:0}}.cmb-repeat-group-wrap .cmb-remove-field-row,.cmb-repeat-group-wrap .cmb-repeat-group-field,.postbox-container .cmb-remove-field-row,.postbox-container .cmb-repeat-group-field{padding-top:1.8em}.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody,.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody,.postbox-container .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody,.postbox-container .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody{display:table;width:100%}.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,.postbox-container .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,.postbox-container .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text{width:100%}.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),.postbox-container .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),.postbox-container .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row){display:table-row}.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,.postbox-container .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,.postbox-container .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td{display:table-cell;float:none;width:100%}.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,.postbox-container .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,.postbox-container .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td{padding-top:1.8em}.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,.postbox-container .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,.postbox-container .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row{padding-left:0}#poststuff .cmb-repeatable-group h2{margin:0}.edit-tags-php .cmb2-metabox-title,.profile-php .cmb2-metabox-title,.user-edit-php .cmb2-metabox-title{font-size:1.4em}.cmb2-options-page .cmb2-metabox-title{font-size:1.3em;margin:1em 0}.cmb2-options-page .cmb2-metabox-title+p.cmb2-metabox-description{margin-top:-1.6em;margin-bottom:.8em}.postbox .cmb-spinner{float:right}#side-sortables .cmb2-wrap>.cmb-field-list>.cmb-row,.inner-sidebar .cmb2-wrap>.cmb-field-list>.cmb-row{padding:1.4em 0}#side-sortables .cmb2-wrap input[type=text]:not(.wp-color-picker),.inner-sidebar .cmb2-wrap input[type=text]:not(.wp-color-picker){width:100%}#side-sortables .cmb2-wrap input+input:not(.wp-picker-clear),#side-sortables .cmb2-wrap input+select,.inner-sidebar .cmb2-wrap input+input:not(.wp-picker-clear),.inner-sidebar .cmb2-wrap input+select{margin-right:0;margin-top:1em;display:block}#side-sortables .cmb2-wrap input.cmb2-text-money,.inner-sidebar .cmb2-wrap input.cmb2-text-money{max-width:70%}#side-sortables .cmb2-wrap input.cmb2-text-money+.cmb2-metabox-description,.inner-sidebar .cmb2-wrap input.cmb2-text-money+.cmb2-metabox-description{display:block}#side-sortables .cmb2-wrap label,.inner-sidebar .cmb2-wrap label{display:block;font-weight:700;padding:0 0 5px}#side-sortables textarea,.inner-sidebar textarea{max-width:99%}#side-sortables .cmb-repeatable-group,.inner-sidebar .cmb-repeatable-group{border-bottom:1px solid #e9e9e9}#side-sortables .cmb-repeat-group-wrap>.cmb-td>.cmb-repeatable-group,.inner-sidebar .cmb-repeat-group-wrap>.cmb-td>.cmb-repeatable-group{border-bottom:0;margin-bottom:-1.4em}#side-sortables .cmb-td,#side-sortables .cmb-th,#side-sortables .cmb-th+.cmb-td,.inner-sidebar .cmb-td,.inner-sidebar .cmb-th,.inner-sidebar .cmb-th+.cmb-td{width:100%;display:block;float:none}#side-sortables .closed .inside,.inner-sidebar .closed .inside{display:none}#side-sortables .cmb-td .cmb-td,.inner-sidebar .cmb-td .cmb-td{padding-bottom:1em}#side-sortables .cmb-th,.inner-sidebar .cmb-th{display:block;float:none;padding-bottom:1em;text-align:right;width:100%;padding-right:0;padding-left:0}#side-sortables .cmb-th label,.inner-sidebar .cmb-th label{display:block;margin-top:0;padding-bottom:5px}#side-sortables .cmb-th label:after,.inner-sidebar .cmb-th label:after{border-bottom:1px solid #e9e9e9;content:'';clear:both;display:block;padding-top:.4em}#side-sortables .cmb-th label,.inner-sidebar .cmb-th label{font-size:14px;line-height:1.4em}#side-sortables .cmb-group-description .cmb-th,.inner-sidebar .cmb-group-description .cmb-th{padding-top:0}#side-sortables .cmb-group-description .cmb2-metabox-description,#side-sortables .cmb-group-title .cmb-th,.inner-sidebar .cmb-group-description .cmb2-metabox-description,.inner-sidebar .cmb-group-title .cmb-th{padding:0}#side-sortables .cmb-repeatable-grouping+.cmb-repeatable-grouping,.inner-sidebar .cmb-repeatable-grouping+.cmb-repeatable-grouping{margin-top:1em}#side-sortables .cmb2-media-status .embed-status img,#side-sortables .cmb2-media-status .img-status img,.inner-sidebar .cmb2-media-status .embed-status img,.inner-sidebar .cmb2-media-status .img-status img{max-width:90%;height:auto}#side-sortables .cmb2-list label,.inner-sidebar .cmb2-list label{display:inline;font-weight:400}#side-sortables .cmb2-metabox-description,.inner-sidebar .cmb2-metabox-description{display:block;padding:7px 0 0}#side-sortables .cmb-type-checkbox .cmb-td label,#side-sortables .cmb-type-checkbox .cmb2-metabox-description,.inner-sidebar .cmb-type-checkbox .cmb-td label,.inner-sidebar .cmb-type-checkbox .cmb2-metabox-description{font-weight:400;display:inline}#side-sortables .cmb-row .cmb2-metabox-description,.inner-sidebar .cmb-row .cmb2-metabox-description{padding-bottom:1.8em}#side-sortables .cmb2-metabox-title,.inner-sidebar .cmb2-metabox-title{font-size:1.2em;font-style:italic}#side-sortables .cmb-remove-row,.inner-sidebar .cmb-remove-row{clear:both;padding-top:12px;padding-bottom:0}#side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td,.inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td{width:auto;clear:none;float:right;padding-top:0}#side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row,.inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row{float:left;margin:0}#side-sortables .cmb2-upload-button,.inner-sidebar .cmb2-upload-button{clear:both;margin-top:12px}.cmb2-metabox .cmb-repeat-group-wrap{max-width:1000px}.cmb2-metabox .cmbhandle{color:#aaa;float:left;width:27px;height:30px;cursor:pointer;left:-1em;position:relative}.cmb2-metabox .cmbhandle:before{content:'\f142';left:12px;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:8px 10px;top:0;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.cmb2-metabox .postbox.closed .cmbhandle:before{content:'\f140'}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row{-webkit-appearance:none!important;background:none!important;border:none!important;position:absolute;right:0;top:.5em;line-height:1em;cursor:pointer;padding:2px 6px 3px}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]){color:#a00}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]):hover{color:red}* html .cmb2-element.ui-helper-clearfix{height:1%}.cmb2-element .ui-helper-hidden{display:none}.cmb2-element .ui-helper-hidden-accessible{position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}.cmb2-element .ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.cmb2-element .ui-helper-clearfix:after,.cmb2-element.ui-helper-clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}.cmb2-element .ui-helper-clearfix,.cmb2-element.ui-helper-clearfix{display:block}.cmb2-element .ui-helper-zfix{width:100%;height:100%;top:0;right:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.cmb2-element .ui-state-disabled{cursor:default!important}.cmb2-element .ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.cmb2-element .ui-widget-overlay{position:absolute;top:0;right:0;width:100%;height:100%}.cmb2-element .ui-widget,.cmb2-element.ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em}.cmb2-element .ui-widget .ui-widget,.cmb2-element.ui-widget .ui-widget{font-size:1em}.cmb2-element .ui-widget button,.cmb2-element .ui-widget input,.cmb2-element .ui-widget select,.cmb2-element .ui-widget textarea,.cmb2-element.ui-widget button,.cmb2-element.ui-widget input,.cmb2-element.ui-widget select,.cmb2-element.ui-widget textarea{font-family:Verdana,Arial,sans-serif;font-size:1em}.cmb2-element .ui-widget-content,.cmb2-element.ui-widget-content{border:1px solid #aaa;background:#fff url(../images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x;color:#222}.cmb2-element .ui-widget-content a,.cmb2-element.ui-widget-content a{color:#222}.cmb2-element .ui-widget-header{border:1px solid #aaa;background:#ccc url(../images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;color:#222;font-weight:700}.cmb2-element .ui-widget-header a{color:#222}.cmb2-element .ui-state-default,.cmb2-element .ui-widget-content .ui-state-default,.cmb2-element .ui-widget-header .ui-state-default,.cmb2-element.ui-widget-content .ui-state-default{border:1px solid #d3d3d3;font-weight:400;color:#555}.cmb2-element .ui-state-default a,.cmb2-element .ui-state-default a:link,.cmb2-element .ui-state-default a:visited{color:#555;text-decoration:none}.cmb2-element .ui-state-focus,.cmb2-element .ui-state-hover,.cmb2-element .ui-widget-content .ui-state-focus,.cmb2-element .ui-widget-content .ui-state-hover,.cmb2-element .ui-widget-header .ui-state-focus,.cmb2-element .ui-widget-header .ui-state-hover,.cmb2-element.ui-widget-content .ui-state-focus,.cmb2-element.ui-widget-content .ui-state-hover{border:1px solid #999;background:#dadada url(../images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x;font-weight:400;color:#212121}.cmb2-element .ui-state-hover a,.cmb2-element .ui-state-hover a:hover{color:#212121;text-decoration:none}.cmb2-element .ui-state-active,.cmb2-element .ui-widget-content .ui-state-active,.cmb2-element .ui-widget-header .ui-state-active,.cmb2-element.ui-widget-content .ui-state-active{border:1px solid #aaa;background:#fff url(../images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;font-weight:400;color:#212121}.cmb2-element .ui-state-active a,.cmb2-element .ui-state-active a:link,.cmb2-element .ui-state-active a:visited{color:#212121;text-decoration:none}.cmb2-element .ui-widget :active,.cmb2-element.ui-widget :active{outline:0}.cmb2-element .ui-state-highlight,.cmb2-element .ui-widget-content .ui-state-highlight,.cmb2-element .ui-widget-header .ui-state-highlight,.cmb2-element.ui-widget-content .ui-state-highlight{border:1px solid #fcefa1;background:#fbf9ee url(../images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x;color:#363636}.cmb2-element .ui-state-highlight a,.cmb2-element .ui-widget-content .ui-state-highlight a,.cmb2-element .ui-widget-header .ui-state-highlight a,.cmb2-element.ui-widget-content .ui-state-highlight a{color:#363636}.cmb2-element .ui-state-error,.cmb2-element .ui-widget-content .ui-state-error,.cmb2-element .ui-widget-header .ui-state-error,.cmb2-element.ui-widget-content .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec url(../images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;color:#cd0a0a}.cmb2-element .ui-state-error a,.cmb2-element .ui-state-error-text,.cmb2-element .ui-widget-content .ui-state-error a,.cmb2-element .ui-widget-content .ui-state-error-text,.cmb2-element .ui-widget-header .ui-state-error a,.cmb2-element .ui-widget-header .ui-state-error-text,.cmb2-element.ui-widget-content .ui-state-error a,.cmb2-element.ui-widget-content .ui-state-error-text{color:#cd0a0a}.cmb2-element .ui-priority-primary,.cmb2-element .ui-widget-content .ui-priority-primary,.cmb2-element .ui-widget-header .ui-priority-primary,.cmb2-element.ui-widget-content .ui-priority-primary{font-weight:700}.cmb2-element .ui-priority-secondary,.cmb2-element .ui-widget-content .ui-priority-secondary,.cmb2-element .ui-widget-header .ui-priority-secondary,.cmb2-element.ui-widget-content .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:400}.cmb2-element .ui-state-disabled,.cmb2-element .ui-widget-content .ui-state-disabled,.cmb2-element .ui-widget-header .ui-state-disabled,.cmb2-element.ui-widget-content .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.cmb2-element .ui-icon{width:16px;height:16px;background-image:url(../images/ui-icons_222222_256x240.png)}.cmb2-element .ui-widget-content .ui-icon,.cmb2-element .ui-widget-header .ui-icon,.cmb2-element.ui-widget-content .ui-icon{background-image:url(../images/ui-icons_222222_256x240.png)}.cmb2-element .ui-state-default .ui-icon{background-image:url(../images/ui-icons_888888_256x240.png)}.cmb2-element .ui-state-active .ui-icon,.cmb2-element .ui-state-focus .ui-icon,.cmb2-element .ui-state-hover .ui-icon{background-image:url(../images/ui-icons_454545_256x240.png)}.cmb2-element .ui-state-highlight .ui-icon{background-image:url(../images/ui-icons_2e83ff_256x240.png)}.cmb2-element .ui-state-error .ui-icon,.cmb2-element .ui-state-error-text .ui-icon{background-image:url(../images/ui-icons_cd0a0a_256x240.png)}.cmb2-element .ui-icon-carat-1-n{background-position:0 0}.cmb2-element .ui-icon-carat-1-ne{background-position:-16px 0}.cmb2-element .ui-icon-carat-1-e{background-position:-32px 0}.cmb2-element .ui-icon-carat-1-se{background-position:-48px 0}.cmb2-element .ui-icon-carat-1-s{background-position:-64px 0}.cmb2-element .ui-icon-carat-1-sw{background-position:-80px 0}.cmb2-element .ui-icon-carat-1-w{background-position:-96px 0}.cmb2-element .ui-icon-carat-1-nw{background-position:-112px 0}.cmb2-element .ui-icon-carat-2-n-s{background-position:-128px 0}.cmb2-element .ui-icon-carat-2-e-w{background-position:-144px 0}.cmb2-element .ui-icon-triangle-1-n{background-position:0 -16px}.cmb2-element .ui-icon-triangle-1-ne{background-position:-16px -16px}.cmb2-element .ui-icon-triangle-1-e{background-position:-32px -16px}.cmb2-element .ui-icon-triangle-1-se{background-position:-48px -16px}.cmb2-element .ui-icon-triangle-1-s{background-position:-64px -16px}.cmb2-element .ui-icon-triangle-1-sw{background-position:-80px -16px}.cmb2-element .ui-icon-triangle-1-w{background-position:-96px -16px}.cmb2-element .ui-icon-triangle-1-nw{background-position:-112px -16px}.cmb2-element .ui-icon-triangle-2-n-s{background-position:-128px -16px}.cmb2-element .ui-icon-triangle-2-e-w{background-position:-144px -16px}.cmb2-element .ui-icon-arrow-1-n{background-position:0 -32px}.cmb2-element .ui-icon-arrow-1-ne{background-position:-16px -32px}.cmb2-element .ui-icon-arrow-1-e{background-position:-32px -32px}.cmb2-element .ui-icon-arrow-1-se{background-position:-48px -32px}.cmb2-element .ui-icon-arrow-1-s{background-position:-64px -32px}.cmb2-element .ui-icon-arrow-1-sw{background-position:-80px -32px}.cmb2-element .ui-icon-arrow-1-w{background-position:-96px -32px}.cmb2-element .ui-icon-arrow-1-nw{background-position:-112px -32px}.cmb2-element .ui-icon-arrow-2-n-s{background-position:-128px -32px}.cmb2-element .ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.cmb2-element .ui-icon-arrow-2-e-w{background-position:-160px -32px}.cmb2-element .ui-icon-arrow-2-se-nw{background-position:-176px -32px}.cmb2-element .ui-icon-arrowstop-1-n{background-position:-192px -32px}.cmb2-element .ui-icon-arrowstop-1-e{background-position:-208px -32px}.cmb2-element .ui-icon-arrowstop-1-s{background-position:-224px -32px}.cmb2-element .ui-icon-arrowstop-1-w{background-position:-240px -32px}.cmb2-element .ui-icon-arrowthick-1-n{background-position:0 -48px}.cmb2-element .ui-icon-arrowthick-1-ne{background-position:-16px -48px}.cmb2-element .ui-icon-arrowthick-1-e{background-position:-32px -48px}.cmb2-element .ui-icon-arrowthick-1-se{background-position:-48px -48px}.cmb2-element .ui-icon-arrowthick-1-s{background-position:-64px -48px}.cmb2-element .ui-icon-arrowthick-1-sw{background-position:-80px -48px}.cmb2-element .ui-icon-arrowthick-1-w{background-position:-96px -48px}.cmb2-element .ui-icon-arrowthick-1-nw{background-position:-112px -48px}.cmb2-element .ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.cmb2-element .ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.cmb2-element .ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.cmb2-element .ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.cmb2-element .ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.cmb2-element .ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.cmb2-element .ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.cmb2-element .ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.cmb2-element .ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.cmb2-element .ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.cmb2-element .ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.cmb2-element .ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.cmb2-element .ui-icon-arrowreturn-1-w{background-position:-64px -64px}.cmb2-element .ui-icon-arrowreturn-1-n{background-position:-80px -64px}.cmb2-element .ui-icon-arrowreturn-1-e{background-position:-96px -64px}.cmb2-element .ui-icon-arrowreturn-1-s{background-position:-112px -64px}.cmb2-element .ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.cmb2-element .ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.cmb2-element .ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.cmb2-element .ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.cmb2-element .ui-icon-arrow-4{background-position:0 -80px}.cmb2-element .ui-icon-arrow-4-diag{background-position:-16px -80px}.cmb2-element .ui-icon-extlink{background-position:-32px -80px}.cmb2-element .ui-icon-newwin{background-position:-48px -80px}.cmb2-element .ui-icon-refresh{background-position:-64px -80px}.cmb2-element .ui-icon-shuffle{background-position:-80px -80px}.cmb2-element .ui-icon-transfer-e-w{background-position:-96px -80px}.cmb2-element .ui-icon-transferthick-e-w{background-position:-112px -80px}.cmb2-element .ui-icon-folder-collapsed{background-position:0 -96px}.cmb2-element .ui-icon-folder-open{background-position:-16px -96px}.cmb2-element .ui-icon-document{background-position:-32px -96px}.cmb2-element .ui-icon-document-b{background-position:-48px -96px}.cmb2-element .ui-icon-note{background-position:-64px -96px}.cmb2-element .ui-icon-mail-closed{background-position:-80px -96px}.cmb2-element .ui-icon-mail-open{background-position:-96px -96px}.cmb2-element .ui-icon-suitcase{background-position:-112px -96px}.cmb2-element .ui-icon-comment{background-position:-128px -96px}.cmb2-element .ui-icon-person{background-position:-144px -96px}.cmb2-element .ui-icon-print{background-position:-160px -96px}.cmb2-element .ui-icon-trash{background-position:-176px -96px}.cmb2-element .ui-icon-locked{background-position:-192px -96px}.cmb2-element .ui-icon-unlocked{background-position:-208px -96px}.cmb2-element .ui-icon-bookmark{background-position:-224px -96px}.cmb2-element .ui-icon-tag{background-position:-240px -96px}.cmb2-element .ui-icon-home{background-position:0 -112px}.cmb2-element .ui-icon-flag{background-position:-16px -112px}.cmb2-element .ui-icon-calendar{background-position:-32px -112px}.cmb2-element .ui-icon-cart{background-position:-48px -112px}.cmb2-element .ui-icon-pencil{background-position:-64px -112px}.cmb2-element .ui-icon-clock{background-position:-80px -112px}.cmb2-element .ui-icon-disk{background-position:-96px -112px}.cmb2-element .ui-icon-calculator{background-position:-112px -112px}.cmb2-element .ui-icon-zoomin{background-position:-128px -112px}.cmb2-element .ui-icon-zoomout{background-position:-144px -112px}.cmb2-element .ui-icon-search{background-position:-160px -112px}.cmb2-element .ui-icon-wrench{background-position:-176px -112px}.cmb2-element .ui-icon-gear{background-position:-192px -112px}.cmb2-element .ui-icon-heart{background-position:-208px -112px}.cmb2-element .ui-icon-star{background-position:-224px -112px}.cmb2-element .ui-icon-link{background-position:-240px -112px}.cmb2-element .ui-icon-cancel{background-position:0 -128px}.cmb2-element .ui-icon-plus{background-position:-16px -128px}.cmb2-element .ui-icon-plusthick{background-position:-32px -128px}.cmb2-element .ui-icon-minus{background-position:-48px -128px}.cmb2-element .ui-icon-minusthick{background-position:-64px -128px}.cmb2-element .ui-icon-close{background-position:-80px -128px}.cmb2-element .ui-icon-closethick{background-position:-96px -128px}.cmb2-element .ui-icon-key{background-position:-112px -128px}.cmb2-element .ui-icon-lightbulb{background-position:-128px -128px}.cmb2-element .ui-icon-scissors{background-position:-144px -128px}.cmb2-element .ui-icon-clipboard{background-position:-160px -128px}.cmb2-element .ui-icon-copy{background-position:-176px -128px}.cmb2-element .ui-icon-contact{background-position:-192px -128px}.cmb2-element .ui-icon-image{background-position:-208px -128px}.cmb2-element .ui-icon-video{background-position:-224px -128px}.cmb2-element .ui-icon-script{background-position:-240px -128px}.cmb2-element .ui-icon-alert{background-position:0 -144px}.cmb2-element .ui-icon-info{background-position:-16px -144px}.cmb2-element .ui-icon-notice{background-position:-32px -144px}.cmb2-element .ui-icon-help{background-position:-48px -144px}.cmb2-element .ui-icon-check{background-position:-64px -144px}.cmb2-element .ui-icon-bullet{background-position:-80px -144px}.cmb2-element .ui-icon-radio-off{background-position:-96px -144px}.cmb2-element .ui-icon-radio-on{background-position:-112px -144px}.cmb2-element .ui-icon-pin-w{background-position:-128px -144px}.cmb2-element .ui-icon-pin-s{background-position:-144px -144px}.cmb2-element .ui-icon-play{background-position:0 -160px}.cmb2-element .ui-icon-pause{background-position:-16px -160px}.cmb2-element .ui-icon-seek-next{background-position:-32px -160px}.cmb2-element .ui-icon-seek-prev{background-position:-48px -160px}.cmb2-element .ui-icon-seek-end{background-position:-64px -160px}.cmb2-element .ui-icon-seek-first,.cmb2-element .ui-icon-seek-start{background-position:-80px -160px}.cmb2-element .ui-icon-stop{background-position:-96px -160px}.cmb2-element .ui-icon-eject{background-position:-112px -160px}.cmb2-element .ui-icon-volume-off{background-position:-128px -160px}.cmb2-element .ui-icon-volume-on{background-position:-144px -160px}.cmb2-element .ui-icon-power{background-position:0 -176px}.cmb2-element .ui-icon-signal-diag{background-position:-16px -176px}.cmb2-element .ui-icon-signal{background-position:-32px -176px}.cmb2-element .ui-icon-battery-0{background-position:-48px -176px}.cmb2-element .ui-icon-battery-1{background-position:-64px -176px}.cmb2-element .ui-icon-battery-2{background-position:-80px -176px}.cmb2-element .ui-icon-battery-3{background-position:-96px -176px}.cmb2-element .ui-icon-circle-plus{background-position:0 -192px}.cmb2-element .ui-icon-circle-minus{background-position:-16px -192px}.cmb2-element .ui-icon-circle-close{background-position:-32px -192px}.cmb2-element .ui-icon-circle-triangle-e{background-position:-48px -192px}.cmb2-element .ui-icon-circle-triangle-s{background-position:-64px -192px}.cmb2-element .ui-icon-circle-triangle-w{background-position:-80px -192px}.cmb2-element .ui-icon-circle-triangle-n{background-position:-96px -192px}.cmb2-element .ui-icon-circle-arrow-e{background-position:-112px -192px}.cmb2-element .ui-icon-circle-arrow-s{background-position:-128px -192px}.cmb2-element .ui-icon-circle-arrow-w{background-position:-144px -192px}.cmb2-element .ui-icon-circle-arrow-n{background-position:-160px -192px}.cmb2-element .ui-icon-circle-zoomin{background-position:-176px -192px}.cmb2-element .ui-icon-circle-zoomout{background-position:-192px -192px}.cmb2-element .ui-icon-circle-check{background-position:-208px -192px}.cmb2-element .ui-icon-circlesmall-plus{background-position:0 -208px}.cmb2-element .ui-icon-circlesmall-minus{background-position:-16px -208px}.cmb2-element .ui-icon-circlesmall-close{background-position:-32px -208px}.cmb2-element .ui-icon-squaresmall-plus{background-position:-48px -208px}.cmb2-element .ui-icon-squaresmall-minus{background-position:-64px -208px}.cmb2-element .ui-icon-squaresmall-close{background-position:-80px -208px}.cmb2-element .ui-icon-grip-dotted-vertical{background-position:0 -224px}.cmb2-element .ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.cmb2-element .ui-icon-grip-solid-vertical{background-position:-32px -224px}.cmb2-element .ui-icon-grip-solid-horizontal{background-position:-48px -224px}.cmb2-element .ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.cmb2-element .ui-icon-grip-diagonal-se{background-position:-80px -224px}.cmb2-element .ui-corner-all,.cmb2-element .ui-corner-left,.cmb2-element .ui-corner-tl,.cmb2-element .ui-corner-top,.cmb2-element.ui-corner-all{-moz-border-radius-topleft:4px;-webkit-border-top-right-radius:4px;-khtml-border-top-right-radius:4px;border-top-right-radius:4px}.cmb2-element .ui-corner-all,.cmb2-element .ui-corner-right,.cmb2-element .ui-corner-top,.cmb2-element .ui-corner-tr,.cmb2-element.ui-corner-all{-moz-border-radius-topright:4px;-webkit-border-top-left-radius:4px;-khtml-border-top-left-radius:4px;border-top-left-radius:4px}.cmb2-element .ui-corner-all,.cmb2-element .ui-corner-bl,.cmb2-element .ui-corner-bottom,.cmb2-element .ui-corner-left,.cmb2-element.ui-corner-all{-moz-border-radius-bottomleft:4px;-webkit-border-bottom-right-radius:4px;-khtml-border-bottom-right-radius:4px;border-bottom-right-radius:4px}.cmb2-element .ui-corner-all,.cmb2-element .ui-corner-bottom,.cmb2-element .ui-corner-br,.cmb2-element .ui-corner-right,.cmb2-element.ui-corner-all{-moz-border-radius-bottomright:4px;-webkit-border-bottom-left-radius:4px;-khtml-border-bottom-left-radius:4px;border-bottom-left-radius:4px}.cmb2-element .ui-widget-overlay{background:#aaa url(../images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30)}.cmb2-element .ui-widget-shadow{margin:-8px -8px 0 0;padding:8px;background:#aaa url(../images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30);-moz-border-radius:8px;-khtml-border-radius:8px;-webkit-border-radius:8px;border-radius:8px}.cmb2-element .ui-datepicker,.cmb2-element.ui-datepicker{width:17em;display:none;padding:0;border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;background:#f1f1f1}.cmb2-element .ui-datepicker .ui-datepicker-header,.cmb2-element.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-prev{position:absolute;width:1.8em}.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-prev{right:2px}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-next{left:2px}.cmb2-element .ui-datepicker .ui-datepicker-next span,.cmb2-element .ui-datepicker .ui-datepicker-prev span,.cmb2-element.ui-datepicker .ui-datepicker-next span,.cmb2-element.ui-datepicker .ui-datepicker-prev span{display:block;position:absolute;right:50%;margin-right:-8px}.cmb2-element .ui-datepicker .ui-datepicker-title,.cmb2-element.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.cmb2-element .ui-datepicker .ui-datepicker-title select,.cmb2-element.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.cmb2-element .ui-datepicker select.ui-datepicker-month-year,.cmb2-element.ui-datepicker select.ui-datepicker-month-year{width:100%}.cmb2-element .ui-datepicker select.ui-datepicker-month,.cmb2-element .ui-datepicker select.ui-datepicker-year,.cmb2-element.ui-datepicker select.ui-datepicker-month,.cmb2-element.ui-datepicker select.ui-datepicker-year{width:49%}.cmb2-element .ui-datepicker select.ui-datepicker-month,.cmb2-element.ui-datepicker select.ui-datepicker-month{margin-left:1%}.cmb2-element .ui-datepicker select.ui-datepicker-year,.cmb2-element.ui-datepicker select.ui-datepicker-year{margin-right:1%}.cmb2-element .ui-datepicker table,.cmb2-element.ui-datepicker table{width:100%;border-collapse:collapse}.cmb2-element .ui-datepicker th,.cmb2-element.ui-datepicker th{text-align:center}.cmb2-element .ui-datepicker td a,.cmb2-element .ui-datepicker td span,.cmb2-element.ui-datepicker td a,.cmb2-element.ui-datepicker td span{display:block;padding:.2em;text-align:left;text-decoration:none}.cmb2-element .ui-datepicker .ui-datepicker-buttonpane,.cmb2-element.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0;padding:0 .2em}.cmb2-element .ui-datepicker .ui-datepicker-buttonpane button,.cmb2-element.ui-datepicker .ui-datepicker-buttonpane button{float:left;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em;width:auto;overflow:visible}.cmb2-element .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current,.cmb2-element.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:right}.cmb2-element .ui-datepicker *,.cmb2-element.ui-datepicker *{padding:0;font-family:"Open Sans",sans-serif;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.cmb2-element .ui-datepicker table,.cmb2-element.ui-datepicker table{font-size:13px;margin:0}.cmb2-element .ui-datepicker .ui-datepicker-header,.cmb2-element.ui-datepicker .ui-datepicker-header{border:none;background:#222;color:#fff;font-weight:400}.cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover{background:#222;border-color:transparent;cursor:pointer;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.cmb2-element .ui-datepicker thead,.cmb2-element.ui-datepicker thead{background:#222;color:#fff}.cmb2-element .ui-datepicker .ui-datepicker-title,.cmb2-element.ui-datepicker .ui-datepicker-title{margin-top:.4em;margin-bottom:.3em;color:#fff;font-size:14px}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element .ui-datepicker .ui-datepicker-next-hover,.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element .ui-datepicker .ui-datepicker-prev-hover,.cmb2-element.ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-next-hover,.cmb2-element.ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-prev-hover{height:1em;top:.9em;border:none}.cmb2-element .ui-datepicker .ui-datepicker-prev-hover,.cmb2-element.ui-datepicker .ui-datepicker-prev-hover{right:2px}.cmb2-element .ui-datepicker .ui-datepicker-next-hover,.cmb2-element.ui-datepicker .ui-datepicker-next-hover{left:2px}.cmb2-element .ui-datepicker .ui-datepicker-next span,.cmb2-element .ui-datepicker .ui-datepicker-prev span,.cmb2-element.ui-datepicker .ui-datepicker-next span,.cmb2-element.ui-datepicker .ui-datepicker-prev span{background-image:url(data:image/png;base64,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);background-position:-32px 0;margin-top:0;top:0;font-weight:400}.cmb2-element .ui-datepicker .ui-datepicker-prev span,.cmb2-element.ui-datepicker .ui-datepicker-prev span{background-position:-96px 0}.cmb2-element .ui-datepicker th,.cmb2-element.ui-datepicker th{padding:.75em 0;color:#fff;font-weight:400;border:none;border-top:1px solid #333}.cmb2-element .ui-datepicker td,.cmb2-element.ui-datepicker td{background:#f1f1f1;border:none;padding:0}.cmb2-element .ui-datepicker td .ui-state-default,.cmb2-element.ui-datepicker td .ui-state-default{background:0 0;border:none;text-align:center;padding:.5em;margin:0;font-weight:400;color:#333}.cmb2-element .ui-datepicker td .ui-state-active,.cmb2-element .ui-datepicker td .ui-state-hover,.cmb2-element.ui-datepicker td .ui-state-active,.cmb2-element.ui-datepicker td .ui-state-hover{background:#0074a2;color:#fff}.cmb2-element .ui-datepicker td.ui-state-disabled,.cmb2-element .ui-datepicker td.ui-state-disabled .ui-state-default,.cmb2-element.ui-datepicker td.ui-state-disabled,.cmb2-element.ui-datepicker td.ui-state-disabled .ui-state-default{opacity:1;color:#999}.cmb2-element .ui-datepicker .ui-datepicker-close,.cmb2-element .ui-datepicker .ui-datepicker-current,.cmb2-element.ui-datepicker .ui-datepicker-close,.cmb2-element.ui-datepicker .ui-datepicker-current{font-size:14px;font-weight:400;background-image:none;border:none}.cmb2-element .ui-datepicker .ui-datepicker-close:active,.cmb2-element .ui-datepicker .ui-datepicker-close:hover,.cmb2-element .ui-datepicker .ui-datepicker-current:active,.cmb2-element .ui-datepicker .ui-datepicker-current:hover,.cmb2-element.ui-datepicker .ui-datepicker-close:active,.cmb2-element.ui-datepicker .ui-datepicker-close:hover,.cmb2-element.ui-datepicker .ui-datepicker-current:active,.cmb2-element.ui-datepicker .ui-datepicker-current:hover{background:#096484;color:#fff}.cmb2-element .ui-datepicker .ui-datepicker-buttonpane,.cmb2-element.ui-datepicker .ui-datepicker-buttonpane{border:none}.cmb2-element .ui-datepicker.ui-datepicker-multi,.cmb2-element.ui-datepicker.ui-datepicker-multi{width:auto}.cmb2-element .ui-datepicker-multi .ui-datepicker-group{float:right}.cmb2-element .ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.cmb2-element .ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.cmb2-element .ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.cmb2-element .ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.cmb2-element .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.cmb2-element .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0}.cmb2-element .ui-datepicker-multi .ui-datepicker-buttonpane{clear:right}.cmb2-element .ui-datepicker-row-break{clear:both;width:100%;font-size:0}.cmb2-element .ui-datepicker-rtl{direction:ltr}.cmb2-element .ui-datepicker-rtl .ui-datepicker-prev{left:2px;right:auto}.cmb2-element .ui-datepicker-rtl .ui-datepicker-next{right:2px;left:auto}.cmb2-element .ui-datepicker-rtl .ui-datepicker-prev:hover{left:1px;right:auto}.cmb2-element .ui-datepicker-rtl .ui-datepicker-next:hover{right:1px;left:auto}.cmb2-element .ui-datepicker-rtl .ui-datepicker-buttonpane{clear:left}.cmb2-element .ui-datepicker-rtl .ui-datepicker-buttonpane button{float:right}.cmb2-element .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.cmb2-element .ui-datepicker-rtl .ui-datepicker-group{float:left}.cmb2-element .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.cmb2-element .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0;border-right-width:1px}.cmb2-element .ui-datepicker-cover{display:none;display:block;position:absolute;z-index:-1;filter:mask();top:-4px;right:-4px;width:200px;height:200px}.cmb2-element .ui-timepicker-div{font-size:14px}.cmb2-element .ui-timepicker-div .ui-widget-header{margin-bottom:8px;background:#222;border-color:#222}.cmb2-element .ui-timepicker-div dl{text-align:right}.cmb2-element .ui-timepicker-div dl dt{float:right;clear:right;padding:0 5px 0 0}.cmb2-element .ui-timepicker-div dl dd{margin:0 40% 10px 10px}.cmb2-element .ui-tpicker-grid-label{background:0 0;border:none;margin:0;padding:0}.cmb2-element .ui-timepicker-rtl{direction:ltr}.cmb2-element .ui-timepicker-rtl dl{text-align:left;padding:0 0 0 5px}.cmb2-element .ui-timepicker-rtl dl dt{float:left;clear:left}.cmb2-element .ui-timepicker-rtl dl dd{margin:0 10px 10px 40%}.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-blue .cmb2-element .ui-datepicker thead,.admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-blue .cmb2-element.ui-datepicker thead{background:#4796b3}.admin-color-blue .cmb2-element .ui-datepicker th,.admin-color-blue .cmb2-element.ui-datepicker th{border-color:#52accc}.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-blue .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-blue .cmb2-element.ui-datepicker td .ui-state-hover{background:#096484}.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-current:hover,.admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-close:active,.admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-close:hover,.admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-current:active,.admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-current:hover{background:#096484;color:#fff}.admin-color-blue .cmb2-element .ui-timepicker-div .ui-widget-header{background:#4796b3;border-color:#4796b3}.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-coffee .cmb2-element .ui-datepicker thead,.admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-coffee .cmb2-element.ui-datepicker thead{background:#46403c}.admin-color-coffee .cmb2-element .ui-datepicker th,.admin-color-coffee .cmb2-element.ui-datepicker th{border-color:#59524c}.admin-color-coffee .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-coffee .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-coffee .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-coffee .cmb2-element.ui-datepicker td .ui-state-hover{background:#c7a589}.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-current:hover,.admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-close:active,.admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-close:hover,.admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-current:active,.admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-current:hover{background:#c7a589;color:#fff}.admin-color-coffee .cmb2-element .ui-timepicker-div .ui-widget-header{background:#46403c}.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-ectoplasm .cmb2-element .ui-datepicker thead,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-ectoplasm .cmb2-element.ui-datepicker thead{background:#413256}.admin-color-ectoplasm .cmb2-element .ui-datepicker th,.admin-color-ectoplasm .cmb2-element.ui-datepicker th{border-color:#523f6d}.admin-color-ectoplasm .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-ectoplasm .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-ectoplasm .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-ectoplasm .cmb2-element.ui-datepicker td .ui-state-hover{background:#a3b745}.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-current:hover,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-close:active,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-close:hover,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-current:active,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-current:hover{background:#a3b745;color:#fff}.admin-color-ectoplasm .cmb2-element .ui-timepicker-div .ui-widget-header{background:#413256;border-color:#413256}.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-midnight .cmb2-element .ui-datepicker thead,.admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-midnight .cmb2-element.ui-datepicker thead{background:#26292c}.admin-color-midnight .cmb2-element .ui-datepicker th,.admin-color-midnight .cmb2-element.ui-datepicker th{border-color:#363b3f}.admin-color-midnight .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-midnight .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-midnight .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-midnight .cmb2-element.ui-datepicker td .ui-state-hover{background:#e14d43}.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-current:hover,.admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-close:active,.admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-close:hover,.admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-current:active,.admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-current:hover{background:#e14d43;color:#fff}.admin-color-midnight .cmb2-element .ui-timepicker-div .ui-widget-header{background:#26292c}.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-ocean .cmb2-element .ui-datepicker thead,.admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-ocean .cmb2-element.ui-datepicker thead{background:#627c83}.admin-color-ocean .cmb2-element .ui-datepicker th,.admin-color-ocean .cmb2-element.ui-datepicker th{border-color:#738e96}.admin-color-ocean .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-ocean .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-ocean .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-ocean .cmb2-element.ui-datepicker td .ui-state-hover{background:#9ebaa0}.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-current:hover,.admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-close:active,.admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-close:hover,.admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-current:active,.admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-current:hover{background:#9ebaa0;color:#fff}.admin-color-ocean .cmb2-element .ui-timepicker-div .ui-widget-header{background:#627c83;border-color:#627c83}.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-sunrise .cmb2-element .ui-datepicker thead,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-sunrise .cmb2-element.ui-datepicker thead{background:#be3631}.admin-color-sunrise .cmb2-element .ui-datepicker th,.admin-color-sunrise .cmb2-element.ui-datepicker th{border-color:#cf4944}.admin-color-sunrise .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-sunrise .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-sunrise .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-sunrise .cmb2-element.ui-datepicker td .ui-state-hover{background:#dd823b}.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-current:hover,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-close:active,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-close:hover,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-current:active,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-current:hover{background:#dd823b;color:#fff}.admin-color-sunrise .cmb2-element .ui-timepicker-div .ui-widget-header{background:#be3631;border-color:#be3631}.admin-color-light .cmb2-element .ui-timepicker-div .ui-widget-header{background:#e5e5e5;border-color:#e5e5e5;color:#555}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-light .cmb2-element .ui-datepicker thead,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-light .cmb2-element.ui-datepicker thead{background:#e5e5e5}.admin-color-light .cmb2-element .ui-datepicker td,.admin-color-light .cmb2-element.ui-datepicker td{background:#fff}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-next span,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-prev span,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-next span,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-prev span{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAYAAADvl7rLAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMUIxRjI2RjhCODYxMUUzQTEyNERCMDU1QzdBQ0EyMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxMUIxRjI3MDhCODYxMUUzQTEyNERCMDU1QzdBQ0EyMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjExQjFGMjZEOEI4NjExRTNBMTI0REIwNTVDN0FDQTIwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjExQjFGMjZFOEI4NjExRTNBMTI0REIwNTVDN0FDQTIwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+kKfR4AAAHcRJREFUeNrsXWuM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)}.admin-color-light .cmb2-element .ui-datepicker th,.admin-color-light .cmb2-element.ui-datepicker th{border-color:#fff}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-title,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-default,.admin-color-light .cmb2-element .ui-datepicker th,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-title,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-default,.admin-color-light .cmb2-element.ui-datepicker th{color:#555}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-current:hover,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-close:active,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-close:hover,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-current:active,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-current:hover,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-hover{color:#fff;background:#888}.admin-color-light .cmb2-element .ui-datepicker td.ui-state-disabled,.admin-color-light .cmb2-element .ui-datepicker td.ui-state-disabled .ui-state-default,.admin-color-light .cmb2-element.ui-datepicker td.ui-state-disabled,.admin-color-light .cmb2-element.ui-datepicker td.ui-state-disabled .ui-state-default{color:#ccc}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-current,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-current{background:#f1f1f1}.closed .inside{display:none}.cmb-repeatable-grouping{position:relative}.cmb-repeatable-grouping .cmb-group-title{margin-right:-1em;margin-left:-1em;min-height:1.5em}.cmb-repeatable-grouping h3{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}.cmb-repeatable-group.repeatable .cmb-group-title{padding-right:2.2em}.cmb-repeatable-group.non-repeatable .cmb-group-title{padding-right:12px}.cmb-repeat-group-wrap .cmb-row .cmbhandle{left:0;position:absolute}
vendor/CMB2/css/cmb2-front.css ADDED
@@ -0,0 +1,2648 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * CMB2 Styling
3
+ */
4
+ /*--------------------------------------------------------------
5
+ Main Wrap
6
+ --------------------------------------------------------------*/
7
+ /* line 5, sass/partials/_main_wrap.scss */
8
+ .cmb2-wrap {
9
+ margin: 0;
10
+ }
11
+ /* line 8, sass/partials/_main_wrap.scss */
12
+ .cmb2-wrap input,
13
+ .cmb2-wrap textarea {
14
+ font-size: 14px;
15
+ max-width: 100%;
16
+ padding: 5px;
17
+ }
18
+ /* line 18, sass/partials/_main_wrap.scss */
19
+ .cmb2-wrap input[type=text].cmb2-oembed {
20
+ width: 100%;
21
+ }
22
+ /* line 23, sass/partials/_main_wrap.scss */
23
+ .cmb2-wrap textarea {
24
+ width: 500px;
25
+ }
26
+ /* line 26, sass/partials/_main_wrap.scss */
27
+ .cmb2-wrap textarea.cmb2-textarea-code {
28
+ font-family: "Courier 10 Pitch", Courier, monospace;
29
+ line-height: 16px;
30
+ }
31
+ /* line 34, sass/partials/_main_wrap.scss */
32
+ .cmb2-wrap input.cmb2-text-small, .cmb2-wrap input.cmb2-timepicker {
33
+ width: 100px;
34
+ }
35
+ /* line 40, sass/partials/_main_wrap.scss */
36
+ .cmb2-wrap input.cmb2-text-money {
37
+ width: 90px;
38
+ }
39
+ /* line 45, sass/partials/_main_wrap.scss */
40
+ .cmb2-wrap input.cmb2-text-medium {
41
+ width: 230px;
42
+ }
43
+ /* line 50, sass/partials/_main_wrap.scss */
44
+ .cmb2-wrap input.cmb2-upload-file {
45
+ width: 65%;
46
+ }
47
+ /* line 54, sass/partials/_main_wrap.scss */
48
+ .cmb2-wrap input.ed_button {
49
+ padding: 2px 4px;
50
+ }
51
+ /* line 59, sass/partials/_main_wrap.scss */
52
+ .cmb2-wrap input:not([type="hidden"]) + input,
53
+ .cmb2-wrap input:not([type="hidden"]) + .button,
54
+ .cmb2-wrap input:not([type="hidden"]) + select {
55
+ margin-left: 20px;
56
+ }
57
+ /* line 67, sass/partials/_main_wrap.scss */
58
+ .cmb2-wrap ul {
59
+ margin: 0;
60
+ }
61
+ /* line 71, sass/partials/_main_wrap.scss */
62
+ .cmb2-wrap li {
63
+ font-size: 14px;
64
+ line-height: 16px;
65
+ margin: 1px 0 5px 0;
66
+ }
67
+ /* line 82, sass/partials/_main_wrap.scss */
68
+ .cmb2-wrap select {
69
+ font-size: 14px;
70
+ margin-top: 3px;
71
+ }
72
+ /* line 87, sass/partials/_main_wrap.scss */
73
+ .cmb2-wrap input:focus,
74
+ .cmb2-wrap textarea:focus {
75
+ background: #fffff8;
76
+ }
77
+ /* line 92, sass/partials/_main_wrap.scss */
78
+ .cmb2-wrap input[type="radio"] {
79
+ margin: 0 5px 0 0;
80
+ padding: 0;
81
+ }
82
+ /* line 97, sass/partials/_main_wrap.scss */
83
+ .cmb2-wrap input[type="checkbox"] {
84
+ margin: 0 5px 0 0;
85
+ padding: 0;
86
+ }
87
+ /* line 102, sass/partials/_main_wrap.scss */
88
+ .cmb2-wrap button,
89
+ .cmb2-wrap .button {
90
+ white-space: nowrap;
91
+ }
92
+ /* line 107, sass/partials/_main_wrap.scss */
93
+ .cmb2-wrap .mceLayout {
94
+ border: 1px solid #e9e9e9 !important;
95
+ }
96
+ /* line 111, sass/partials/_main_wrap.scss */
97
+ .cmb2-wrap .mceIframeContainer {
98
+ background: #fff;
99
+ }
100
+ /* line 115, sass/partials/_main_wrap.scss */
101
+ .cmb2-wrap .meta_mce {
102
+ width: 97%;
103
+ }
104
+ /* line 118, sass/partials/_main_wrap.scss */
105
+ .cmb2-wrap .meta_mce textarea {
106
+ width: 100%;
107
+ }
108
+ /* line 126, sass/partials/_main_wrap.scss */
109
+ .cmb2-wrap .wp-color-result,
110
+ .cmb2-wrap .wp-picker-input-wrap {
111
+ vertical-align: middle;
112
+ }
113
+ /* line 131, sass/partials/_main_wrap.scss */
114
+ .cmb2-wrap .wp-color-result,
115
+ .cmb2-wrap .wp-picker-container {
116
+ margin: 0 10px 0 0;
117
+ }
118
+ /* line 136, sass/partials/_main_wrap.scss */
119
+ .cmb2-wrap .cmb-row {
120
+ margin: 0;
121
+ }
122
+ /* line 139, sass/partials/_main_wrap.scss */
123
+ .cmb2-wrap .cmb-row:after {
124
+ content: '';
125
+ clear: both;
126
+ display: block;
127
+ width: 100%;
128
+ }
129
+ /* line 146, sass/partials/_main_wrap.scss */
130
+ .cmb2-wrap .cmb-row.cmb-repeat-row {
131
+ padding: 1.8em 0 0;
132
+ }
133
+ /* line 149, sass/partials/_main_wrap.scss */
134
+ .cmb2-wrap .cmb-row.cmb-repeat-row:first-of-type {
135
+ padding: 0;
136
+ }
137
+ /* line 154, sass/partials/_main_wrap.scss */
138
+ .cmb2-wrap .cmb-row.cmb-repeat .cmb2-metabox-description {
139
+ padding-top: 0;
140
+ padding-bottom: 1.8em;
141
+ }
142
+
143
+ /* line 161, sass/partials/_main_wrap.scss */
144
+ .cmb2-metabox {
145
+ clear: both;
146
+ margin: 0;
147
+ }
148
+ /* line 167, sass/partials/_main_wrap.scss */
149
+ .cmb2-metabox > .cmb-row:first-of-type > .cmb-td,
150
+ .cmb2-metabox > .cmb-row:first-of-type > .cmb-th,
151
+ .cmb2-metabox .cmb-field-list > .cmb-row:first-of-type > .cmb-td,
152
+ .cmb2-metabox .cmb-field-list > .cmb-row:first-of-type > .cmb-th {
153
+ border: 0;
154
+ }
155
+ /* line 174, sass/partials/_main_wrap.scss */
156
+ .cmb2-metabox > .cmb-row .cmb-repeat-table .cmb-row > .cmb-td {
157
+ padding-right: 20px;
158
+ box-sizing: border-box;
159
+ float: left;
160
+ }
161
+
162
+ /* line 182, sass/partials/_main_wrap.scss */
163
+ .cmb-add-row {
164
+ margin: 1.8em 0 0;
165
+ }
166
+
167
+ /* line 186, sass/partials/_main_wrap.scss */
168
+ .cmb-nested .cmb-td,
169
+ .cmb-repeatable-group .cmb-th,
170
+ .cmb-repeatable-group:first-of-type {
171
+ border: 0;
172
+ }
173
+
174
+ /* line 192, sass/partials/_main_wrap.scss */
175
+ .cmb-row:last-of-type,
176
+ .cmb2-wrap .cmb-row:last-of-type,
177
+ .cmb-repeatable-group:last-of-type {
178
+ border-bottom: 0;
179
+ }
180
+
181
+ /* line 198, sass/partials/_main_wrap.scss */
182
+ .cmb-repeatable-grouping {
183
+ border: 1px solid #e9e9e9;
184
+ padding: 0 1em;
185
+ max-width: 1000px;
186
+ }
187
+ /* line 202, sass/partials/_main_wrap.scss */
188
+ .cmb-repeatable-grouping.cmb-row {
189
+ margin: 0 0 0.8em;
190
+ }
191
+
192
+ /* line 209, sass/partials/_main_wrap.scss */
193
+ .cmb-th {
194
+ color: #222222;
195
+ float: left;
196
+ font-weight: 600;
197
+ line-height: 1.3;
198
+ padding: 20px 10px 20px 0;
199
+ vertical-align: top;
200
+ width: 200px;
201
+ }
202
+ @media (max-width: 450px) {
203
+ /* line 209, sass/partials/_main_wrap.scss */
204
+ .cmb-th {
205
+ font-size: 1.2em;
206
+ display: block;
207
+ float: none;
208
+ padding-bottom: 1em;
209
+ text-align: left;
210
+ width: 100%;
211
+ }
212
+ /* line 27, sass/partials/_mixins.scss */
213
+ .cmb-th label {
214
+ display: block;
215
+ margin-top: 0em;
216
+ padding-bottom: 5px;
217
+ }
218
+ /* line 32, sass/partials/_mixins.scss */
219
+ .cmb-th label:after {
220
+ border-bottom: 1px solid #e9e9e9;
221
+ content: '';
222
+ clear: both;
223
+ display: block;
224
+ padding-top: .4em;
225
+ }
226
+ }
227
+
228
+ /* line 223, sass/partials/_main_wrap.scss */
229
+ .cmb-td {
230
+ line-height: 1.3;
231
+ max-width: 100%;
232
+ padding: 15px 10px;
233
+ vertical-align: middle;
234
+ }
235
+
236
+ /* line 232, sass/partials/_main_wrap.scss */
237
+ .cmb-type-title .cmb-td {
238
+ padding: 0;
239
+ }
240
+
241
+ /* line 237, sass/partials/_main_wrap.scss */
242
+ .cmb-th label {
243
+ display: block;
244
+ padding: 5px 0;
245
+ }
246
+
247
+ /* line 242, sass/partials/_main_wrap.scss */
248
+ .cmb-th + .cmb-td {
249
+ float: left;
250
+ }
251
+
252
+ /* line 246, sass/partials/_main_wrap.scss */
253
+ .cmb-td .cmb-td {
254
+ padding-bottom: 1em;
255
+ }
256
+
257
+ /* line 250, sass/partials/_main_wrap.scss */
258
+ .cmb-remove-row {
259
+ text-align: right;
260
+ }
261
+
262
+ /* line 254, sass/partials/_main_wrap.scss */
263
+ .empty-row.hidden {
264
+ display: none;
265
+ }
266
+
267
+ /* line 260, sass/partials/_main_wrap.scss */
268
+ .cmb-repeatable-group .cmb-th {
269
+ padding: 5px;
270
+ }
271
+ /* line 264, sass/partials/_main_wrap.scss */
272
+ .cmb-repeatable-group .cmb-group-title {
273
+ background-color: #e9e9e9;
274
+ padding: 8px 12px 8px 2.2em;
275
+ margin: 0 -1em;
276
+ min-height: 1.5em;
277
+ font-size: 14px;
278
+ line-height: 1.4;
279
+ }
280
+ /* line 272, sass/partials/_main_wrap.scss */
281
+ .cmb-repeatable-group .cmb-group-title h4 {
282
+ border: 0;
283
+ margin: 0;
284
+ font-size: 1.2em;
285
+ font-weight: 500;
286
+ padding: 0.5em 0.75em;
287
+ }
288
+ /* line 280, sass/partials/_main_wrap.scss */
289
+ .cmb-repeatable-group .cmb-group-title .cmb-th {
290
+ display: block;
291
+ width: 100%;
292
+ }
293
+ /* line 286, sass/partials/_main_wrap.scss */
294
+ .cmb-repeatable-group .cmb-group-description .cmb-th {
295
+ font-size: 1.2em;
296
+ display: block;
297
+ float: none;
298
+ padding-bottom: 1em;
299
+ text-align: left;
300
+ width: 100%;
301
+ }
302
+ /* line 27, sass/partials/_mixins.scss */
303
+ .cmb-repeatable-group .cmb-group-description .cmb-th label {
304
+ display: block;
305
+ margin-top: 0em;
306
+ padding-bottom: 5px;
307
+ }
308
+ /* line 32, sass/partials/_mixins.scss */
309
+ .cmb-repeatable-group .cmb-group-description .cmb-th label:after {
310
+ border-bottom: 1px solid #e9e9e9;
311
+ content: '';
312
+ clear: both;
313
+ display: block;
314
+ padding-top: .4em;
315
+ }
316
+ /* line 290, sass/partials/_main_wrap.scss */
317
+ .cmb-repeatable-group .cmb-shift-rows {
318
+ font-size: 1em;
319
+ margin-right: 1em;
320
+ text-decoration: none;
321
+ }
322
+ /* line 295, sass/partials/_main_wrap.scss */
323
+ .cmb-repeatable-group .cmb-shift-rows .dashicons {
324
+ font-size: 1.5em;
325
+ height: 1.5em;
326
+ line-height: 1.2em;
327
+ width: 1em;
328
+ }
329
+ /* line 301, sass/partials/_main_wrap.scss */
330
+ .cmb-repeatable-group .cmb-shift-rows .dashicons.dashicons-arrow-down-alt2 {
331
+ line-height: 1.3em;
332
+ }
333
+ /* line 308, sass/partials/_main_wrap.scss */
334
+ .cmb-repeatable-group .cmb2-upload-button {
335
+ float: right;
336
+ }
337
+
338
+ /* line 314, sass/partials/_main_wrap.scss */
339
+ p.cmb2-metabox-description {
340
+ color: #aaaaaa;
341
+ font-style: italic;
342
+ margin: 0;
343
+ padding-top: .5em;
344
+ }
345
+
346
+ /* line 321, sass/partials/_main_wrap.scss */
347
+ span.cmb2-metabox-description {
348
+ color: #aaaaaa;
349
+ font-style: italic;
350
+ }
351
+
352
+ /* line 326, sass/partials/_main_wrap.scss */
353
+ .cmb2-metabox-title {
354
+ margin: 0 0 5px 0;
355
+ padding: 5px 0 0 0;
356
+ font-size: 14px;
357
+ }
358
+
359
+ /* line 332, sass/partials/_main_wrap.scss */
360
+ .cmb-inline ul {
361
+ padding: 4px 0 0 0;
362
+ }
363
+
364
+ /* line 336, sass/partials/_main_wrap.scss */
365
+ .cmb-inline li {
366
+ display: inline-block;
367
+ padding-right: 18px;
368
+ }
369
+
370
+ /* line 341, sass/partials/_main_wrap.scss */
371
+ .cmb-type-textarea-code pre {
372
+ margin: 0;
373
+ }
374
+
375
+ /* line 347, sass/partials/_main_wrap.scss */
376
+ .cmb2-media-status .img-status {
377
+ clear: none;
378
+ display: inline-block;
379
+ float: left;
380
+ margin-right: 10px;
381
+ width: auto;
382
+ }
383
+ /* line 354, sass/partials/_main_wrap.scss */
384
+ .cmb2-media-status .img-status img {
385
+ max-width: 350px;
386
+ }
387
+ /* line 359, sass/partials/_main_wrap.scss */
388
+ .cmb2-media-status .img-status img,
389
+ .cmb2-media-status .embed-status {
390
+ background: #ffffff;
391
+ border: 1px solid #e9e9e9;
392
+ border-radius: 2px;
393
+ -moz-border-radius: 2px;
394
+ margin: 15px 0 0 0;
395
+ padding: 5px;
396
+ }
397
+ /* line 369, sass/partials/_main_wrap.scss */
398
+ .cmb2-media-status .embed-status {
399
+ float: left;
400
+ max-width: 800px;
401
+ }
402
+ /* line 374, sass/partials/_main_wrap.scss */
403
+ .cmb2-media-status .img-status, .cmb2-media-status .embed-status {
404
+ position: relative;
405
+ }
406
+ /* line 377, sass/partials/_main_wrap.scss */
407
+ .cmb2-media-status .img-status .cmb2-remove-file-button, .cmb2-media-status .embed-status .cmb2-remove-file-button {
408
+ background: url(../images/ico-delete.png);
409
+ height: 16px;
410
+ left: -5px;
411
+ position: absolute;
412
+ text-indent: -9999px;
413
+ top: -5px;
414
+ width: 16px;
415
+ }
416
+ /* line 391, sass/partials/_main_wrap.scss */
417
+ .cmb2-media-status .img-status .cmb2-remove-file-button {
418
+ top: 10px;
419
+ }
420
+ /* line 396, sass/partials/_main_wrap.scss */
421
+ .cmb2-media-status .img-status img, .cmb2-media-status .file-status > span {
422
+ cursor: pointer;
423
+ }
424
+
425
+ /* line 402, sass/partials/_main_wrap.scss */
426
+ .cmb-type-file-list .cmb2-media-status .img-status {
427
+ clear: none;
428
+ float: left;
429
+ margin-right: 10px;
430
+ width: auto;
431
+ }
432
+
433
+ /* line 409, sass/partials/_main_wrap.scss */
434
+ .cmb-attach-list li {
435
+ clear: both;
436
+ display: inline-block;
437
+ margin-bottom: 25px;
438
+ width: 100%;
439
+ }
440
+ /* line 415, sass/partials/_main_wrap.scss */
441
+ .cmb-attach-list li img {
442
+ cursor: move;
443
+ float: left;
444
+ margin-right: 10px;
445
+ }
446
+
447
+ /* line 422, sass/partials/_main_wrap.scss */
448
+ .cmb2-remove-wrapper {
449
+ margin: 0;
450
+ }
451
+
452
+ /* line 426, sass/partials/_main_wrap.scss */
453
+ .child-cmb2 .cmb-th {
454
+ text-align: left;
455
+ }
456
+
457
+ @media (max-width: 450px) {
458
+ /* line 431, sass/partials/_main_wrap.scss */
459
+ .cmb-th,
460
+ .cmb-td,
461
+ .cmb-th + .cmb-td {
462
+ display: block;
463
+ float: none;
464
+ width: 100%;
465
+ }
466
+ }
467
+ /*--------------------------------------------------------------
468
+ Post Metaboxes
469
+ --------------------------------------------------------------*/
470
+ /* line 4, sass/partials/_post_metaboxes.scss */
471
+ #poststuff .cmb-group-title {
472
+ margin-left: -1em;
473
+ margin-right: -1em;
474
+ min-height: 1.5em;
475
+ }
476
+
477
+ /* line 10, sass/partials/_post_metaboxes.scss */
478
+ #poststuff .repeatable .cmb-group-title {
479
+ padding-left: 2.2em;
480
+ }
481
+
482
+ /* line 16, sass/partials/_post_metaboxes.scss */
483
+ .postbox-container .cmb2-wrap, .cmb-repeat-group-wrap .cmb2-wrap {
484
+ margin: 0;
485
+ }
486
+ /* line 19, sass/partials/_post_metaboxes.scss */
487
+ .postbox-container .cmb2-wrap > .cmb-field-list > .cmb-row, .cmb-repeat-group-wrap .cmb2-wrap > .cmb-field-list > .cmb-row {
488
+ padding: 1.8em 0;
489
+ }
490
+ /* line 25, sass/partials/_post_metaboxes.scss */
491
+ .postbox-container .cmb2-wrap input[type=text].cmb2-oembed, .cmb-repeat-group-wrap .cmb2-wrap input[type=text].cmb2-oembed {
492
+ width: 100%;
493
+ }
494
+ /* line 31, sass/partials/_post_metaboxes.scss */
495
+ .postbox-container .cmb-row, .cmb-repeat-group-wrap .cmb-row {
496
+ padding: 0 0 1.8em;
497
+ margin: 0 0 0.8em;
498
+ }
499
+ /* line 35, sass/partials/_post_metaboxes.scss */
500
+ .postbox-container .cmb-row .cmbhandle, .cmb-repeat-group-wrap .cmb-row .cmbhandle {
501
+ right: -1em;
502
+ position: relative;
503
+ }
504
+ /* line 41, sass/partials/_post_metaboxes.scss */
505
+ .postbox-container .cmb-repeatable-grouping, .cmb-repeat-group-wrap .cmb-repeatable-grouping {
506
+ padding: 0 1em;
507
+ max-width: 100%;
508
+ min-width: 1px !important;
509
+ }
510
+ /* line 47, sass/partials/_post_metaboxes.scss */
511
+ .postbox-container .cmb-repeatable-group > .cmb-row, .cmb-repeat-group-wrap .cmb-repeatable-group > .cmb-row {
512
+ padding-bottom: 0;
513
+ }
514
+ /* line 51, sass/partials/_post_metaboxes.scss */
515
+ .postbox-container .cmb-th, .cmb-repeat-group-wrap .cmb-th {
516
+ width: 18%;
517
+ padding: 0 2% 0 0;
518
+ }
519
+ /* line 57, sass/partials/_post_metaboxes.scss */
520
+ .postbox-container .cmb-td, .cmb-repeat-group-wrap .cmb-td {
521
+ margin-bottom: 0;
522
+ padding: 0;
523
+ line-height: 1.3;
524
+ }
525
+ /* line 63, sass/partials/_post_metaboxes.scss */
526
+ .postbox-container .cmb-repeat-row .cmb-td, .cmb-repeat-group-wrap .cmb-repeat-row .cmb-td {
527
+ padding-bottom: 1.8em;
528
+ }
529
+ /* line 67, sass/partials/_post_metaboxes.scss */
530
+ .postbox-container .cmb-th + .cmb-td, .cmb-repeat-group-wrap .cmb-th + .cmb-td {
531
+ width: 80%;
532
+ float: right;
533
+ }
534
+ /* line 72, sass/partials/_post_metaboxes.scss */
535
+ .postbox-container .cmb-row:not(:last-of-type),
536
+ .postbox-container .cmb-repeatable-group:not(:last-of-type), .cmb-repeat-group-wrap .cmb-row:not(:last-of-type),
537
+ .cmb-repeat-group-wrap .cmb-repeatable-group:not(:last-of-type) {
538
+ border-bottom: 1px solid #e9e9e9;
539
+ }
540
+ @media (max-width: 450px) {
541
+ /* line 72, sass/partials/_post_metaboxes.scss */
542
+ .postbox-container .cmb-row:not(:last-of-type),
543
+ .postbox-container .cmb-repeatable-group:not(:last-of-type), .cmb-repeat-group-wrap .cmb-row:not(:last-of-type),
544
+ .cmb-repeat-group-wrap .cmb-repeatable-group:not(:last-of-type) {
545
+ border-bottom: 0;
546
+ }
547
+ }
548
+ /* line 81, sass/partials/_post_metaboxes.scss */
549
+ .postbox-container .cmb-repeat-group-field,
550
+ .postbox-container .cmb-remove-field-row, .cmb-repeat-group-wrap .cmb-repeat-group-field,
551
+ .cmb-repeat-group-wrap .cmb-remove-field-row {
552
+ padding-top: 1.8em;
553
+ }
554
+ /* line 88, sass/partials/_post_metaboxes.scss */
555
+ .postbox-container .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody, .postbox-container .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody, .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody, .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody {
556
+ display: table;
557
+ width: 100%;
558
+ }
559
+ /* line 92, sass/partials/_post_metaboxes.scss */
560
+ .postbox-container .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text, .postbox-container .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text, .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text, .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text {
561
+ width: 100%;
562
+ }
563
+ /* line 96, sass/partials/_post_metaboxes.scss */
564
+ .postbox-container .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row), .postbox-container .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row), .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row), .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row) {
565
+ display: table-row;
566
+ }
567
+ /* line 100, sass/partials/_post_metaboxes.scss */
568
+ .postbox-container .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td, .postbox-container .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td, .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td, .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td {
569
+ display: table-cell;
570
+ float: none;
571
+ width: 100%;
572
+ }
573
+ /* line 106, sass/partials/_post_metaboxes.scss */
574
+ .postbox-container .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td, .postbox-container .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td, .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td, .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td {
575
+ padding-top: 1.8em;
576
+ }
577
+ /* line 110, sass/partials/_post_metaboxes.scss */
578
+ .postbox-container .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row, .postbox-container .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row, .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row, .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row {
579
+ padding-right: 0;
580
+ }
581
+
582
+ /*--------------------------------------------------------------
583
+ Misc.
584
+ --------------------------------------------------------------*/
585
+ /* line 5, sass/partials/_misc.scss */
586
+ #poststuff .cmb-repeatable-group h2 {
587
+ margin: 0;
588
+ }
589
+
590
+ /* line 12, sass/partials/_misc.scss */
591
+ .edit-tags-php .cmb2-metabox-title,
592
+ .profile-php .cmb2-metabox-title,
593
+ .user-edit-php .cmb2-metabox-title {
594
+ font-size: 1.4em;
595
+ }
596
+
597
+ /* line 18, sass/partials/_misc.scss */
598
+ .cmb2-options-page .cmb2-metabox-title {
599
+ font-size: 1.3em;
600
+ margin: 1em 0;
601
+ }
602
+ /* line 21, sass/partials/_misc.scss */
603
+ .cmb2-options-page .cmb2-metabox-title + p.cmb2-metabox-description {
604
+ margin-top: -1.6em;
605
+ margin-bottom: .8em;
606
+ }
607
+
608
+ /* line 27, sass/partials/_misc.scss */
609
+ .postbox .cmb-spinner {
610
+ float: left;
611
+ }
612
+
613
+ /*--------------------------------------------------------------
614
+ Sidebar Placement Adjustments
615
+ --------------------------------------------------------------*/
616
+ /* line 10, sass/partials/_sidebar_placements.scss */
617
+ .inner-sidebar .cmb2-wrap > .cmb-field-list > .cmb-row,
618
+ #side-sortables .cmb2-wrap > .cmb-field-list > .cmb-row {
619
+ padding: 1.4em 0;
620
+ }
621
+ /* line 16, sass/partials/_sidebar_placements.scss */
622
+ .inner-sidebar .cmb2-wrap input[type=text]:not(.wp-color-picker),
623
+ #side-sortables .cmb2-wrap input[type=text]:not(.wp-color-picker) {
624
+ width: 100%;
625
+ }
626
+ /* line 20, sass/partials/_sidebar_placements.scss */
627
+ .inner-sidebar .cmb2-wrap input + input:not(.wp-picker-clear), .inner-sidebar .cmb2-wrap input + select,
628
+ #side-sortables .cmb2-wrap input + input:not(.wp-picker-clear),
629
+ #side-sortables .cmb2-wrap input + select {
630
+ margin-left: 0;
631
+ margin-top: 1em;
632
+ display: block;
633
+ }
634
+ /* line 26, sass/partials/_sidebar_placements.scss */
635
+ .inner-sidebar .cmb2-wrap input.cmb2-text-money,
636
+ #side-sortables .cmb2-wrap input.cmb2-text-money {
637
+ max-width: 70%;
638
+ }
639
+ /* line 28, sass/partials/_sidebar_placements.scss */
640
+ .inner-sidebar .cmb2-wrap input.cmb2-text-money + .cmb2-metabox-description,
641
+ #side-sortables .cmb2-wrap input.cmb2-text-money + .cmb2-metabox-description {
642
+ display: block;
643
+ }
644
+ /* line 34, sass/partials/_sidebar_placements.scss */
645
+ .inner-sidebar .cmb2-wrap label,
646
+ #side-sortables .cmb2-wrap label {
647
+ display: block;
648
+ font-weight: 700;
649
+ padding: 0 0 5px;
650
+ }
651
+ /* line 42, sass/partials/_sidebar_placements.scss */
652
+ .inner-sidebar textarea,
653
+ #side-sortables textarea {
654
+ max-width: 99%;
655
+ }
656
+ /* line 46, sass/partials/_sidebar_placements.scss */
657
+ .inner-sidebar .cmb-repeatable-group,
658
+ #side-sortables .cmb-repeatable-group {
659
+ border-bottom: 1px solid #e9e9e9;
660
+ }
661
+ /* line 50, sass/partials/_sidebar_placements.scss */
662
+ .inner-sidebar .cmb-repeat-group-wrap > .cmb-td > .cmb-repeatable-group,
663
+ #side-sortables .cmb-repeat-group-wrap > .cmb-td > .cmb-repeatable-group {
664
+ border-bottom: 0;
665
+ margin-bottom: -1.4em;
666
+ }
667
+ /* line 55, sass/partials/_sidebar_placements.scss */
668
+ .inner-sidebar .cmb-th,
669
+ .inner-sidebar .cmb-td,
670
+ .inner-sidebar .cmb-th + .cmb-td,
671
+ #side-sortables .cmb-th,
672
+ #side-sortables .cmb-td,
673
+ #side-sortables .cmb-th + .cmb-td {
674
+ width: 100%;
675
+ display: block;
676
+ float: none;
677
+ }
678
+ /* line 63, sass/partials/_sidebar_placements.scss */
679
+ .inner-sidebar .closed .inside,
680
+ #side-sortables .closed .inside {
681
+ display: none;
682
+ }
683
+ /* line 67, sass/partials/_sidebar_placements.scss */
684
+ .inner-sidebar .cmb-td .cmb-td,
685
+ #side-sortables .cmb-td .cmb-td {
686
+ padding-bottom: 1em;
687
+ }
688
+ /* line 71, sass/partials/_sidebar_placements.scss */
689
+ .inner-sidebar .cmb-th,
690
+ #side-sortables .cmb-th {
691
+ display: block;
692
+ float: none;
693
+ padding-bottom: 1em;
694
+ text-align: left;
695
+ width: 100%;
696
+ padding-left: 0;
697
+ padding-right: 0;
698
+ }
699
+ /* line 27, sass/partials/_mixins.scss */
700
+ .inner-sidebar .cmb-th label,
701
+ #side-sortables .cmb-th label {
702
+ display: block;
703
+ margin-top: 0em;
704
+ padding-bottom: 5px;
705
+ }
706
+ /* line 32, sass/partials/_mixins.scss */
707
+ .inner-sidebar .cmb-th label:after,
708
+ #side-sortables .cmb-th label:after {
709
+ border-bottom: 1px solid #e9e9e9;
710
+ content: '';
711
+ clear: both;
712
+ display: block;
713
+ padding-top: .4em;
714
+ }
715
+ /* line 14, sass/partials/_mixins.scss */
716
+ .inner-sidebar .cmb-th label,
717
+ #side-sortables .cmb-th label {
718
+ font-size: 14px;
719
+ line-height: 1.4em;
720
+ }
721
+ /* line 78, sass/partials/_sidebar_placements.scss */
722
+ .inner-sidebar .cmb-group-description .cmb-th,
723
+ #side-sortables .cmb-group-description .cmb-th {
724
+ padding-top: 0;
725
+ }
726
+ /* line 81, sass/partials/_sidebar_placements.scss */
727
+ .inner-sidebar .cmb-group-description .cmb2-metabox-description,
728
+ #side-sortables .cmb-group-description .cmb2-metabox-description {
729
+ padding: 0;
730
+ }
731
+ /* line 88, sass/partials/_sidebar_placements.scss */
732
+ .inner-sidebar .cmb-group-title .cmb-th,
733
+ #side-sortables .cmb-group-title .cmb-th {
734
+ padding: 0;
735
+ }
736
+ /* line 94, sass/partials/_sidebar_placements.scss */
737
+ .inner-sidebar .cmb-repeatable-grouping + .cmb-repeatable-grouping,
738
+ #side-sortables .cmb-repeatable-grouping + .cmb-repeatable-grouping {
739
+ margin-top: 1em;
740
+ }
741
+ /* line 103, sass/partials/_sidebar_placements.scss */
742
+ .inner-sidebar .cmb2-media-status .img-status img,
743
+ .inner-sidebar .cmb2-media-status .embed-status img,
744
+ #side-sortables .cmb2-media-status .img-status img,
745
+ #side-sortables .cmb2-media-status .embed-status img {
746
+ max-width: 90%;
747
+ height: auto;
748
+ }
749
+ /* line 111, sass/partials/_sidebar_placements.scss */
750
+ .inner-sidebar .cmb2-list label,
751
+ #side-sortables .cmb2-list label {
752
+ display: inline;
753
+ font-weight: normal;
754
+ }
755
+ /* line 116, sass/partials/_sidebar_placements.scss */
756
+ .inner-sidebar .cmb2-metabox-description,
757
+ #side-sortables .cmb2-metabox-description {
758
+ display: block;
759
+ padding: 7px 0 0;
760
+ }
761
+ /* line 123, sass/partials/_sidebar_placements.scss */
762
+ .inner-sidebar .cmb-type-checkbox .cmb-td label,
763
+ .inner-sidebar .cmb-type-checkbox .cmb2-metabox-description,
764
+ #side-sortables .cmb-type-checkbox .cmb-td label,
765
+ #side-sortables .cmb-type-checkbox .cmb2-metabox-description {
766
+ font-weight: normal;
767
+ display: inline;
768
+ }
769
+ /* line 130, sass/partials/_sidebar_placements.scss */
770
+ .inner-sidebar .cmb-row .cmb2-metabox-description,
771
+ #side-sortables .cmb-row .cmb2-metabox-description {
772
+ padding-bottom: 1.8em;
773
+ }
774
+ /* line 134, sass/partials/_sidebar_placements.scss */
775
+ .inner-sidebar .cmb2-metabox-title,
776
+ #side-sortables .cmb2-metabox-title {
777
+ font-size: 1.2em;
778
+ font-style: italic;
779
+ }
780
+ /* line 139, sass/partials/_sidebar_placements.scss */
781
+ .inner-sidebar .cmb-remove-row,
782
+ #side-sortables .cmb-remove-row {
783
+ clear: both;
784
+ padding-top: 12px;
785
+ padding-bottom: 0;
786
+ }
787
+ /* line 146, sass/partials/_sidebar_placements.scss */
788
+ .inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td,
789
+ #side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td {
790
+ width: auto;
791
+ clear: none;
792
+ float: left;
793
+ padding-top: 0;
794
+ }
795
+ /* line 151, sass/partials/_sidebar_placements.scss */
796
+ .inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row,
797
+ #side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row {
798
+ float: right;
799
+ margin: 0;
800
+ }
801
+ /* line 158, sass/partials/_sidebar_placements.scss */
802
+ .inner-sidebar .cmb2-upload-button,
803
+ #side-sortables .cmb2-upload-button {
804
+ clear: both;
805
+ margin-top: 12px;
806
+ }
807
+
808
+ /* line 2, sass/partials/_collapsible_ui.scss */
809
+ .cmb2-metabox .cmb-repeat-group-wrap {
810
+ max-width: 1000px;
811
+ }
812
+ /* line 5, sass/partials/_collapsible_ui.scss */
813
+ .cmb2-metabox .cmbhandle {
814
+ color: #aaa;
815
+ float: right;
816
+ width: 27px;
817
+ height: 30px;
818
+ cursor: pointer;
819
+ right: -1em;
820
+ position: relative;
821
+ }
822
+ /* line 13, sass/partials/_collapsible_ui.scss */
823
+ .cmb2-metabox .cmbhandle:before {
824
+ content: '\f142';
825
+ right: 12px;
826
+ font: normal 20px/1 'dashicons';
827
+ speak: none;
828
+ display: inline-block;
829
+ padding: 8px 10px;
830
+ top: 0;
831
+ position: relative;
832
+ -webkit-font-smoothing: antialiased;
833
+ -moz-osx-font-smoothing: grayscale;
834
+ text-decoration: none !important;
835
+ }
836
+ /* line 30, sass/partials/_collapsible_ui.scss */
837
+ .cmb2-metabox .postbox.closed .cmbhandle:before {
838
+ content: '\f140';
839
+ }
840
+ /* line 36, sass/partials/_collapsible_ui.scss */
841
+ .cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row {
842
+ -webkit-appearance: none !important;
843
+ background: none !important;
844
+ border: none !important;
845
+ position: absolute;
846
+ left: 0;
847
+ top: .5em;
848
+ line-height: 1em;
849
+ cursor: pointer;
850
+ padding: 2px 6px 3px;
851
+ }
852
+ /* line 46, sass/partials/_collapsible_ui.scss */
853
+ .cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]) {
854
+ color: #a00;
855
+ }
856
+ /* line 48, sass/partials/_collapsible_ui.scss */
857
+ .cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]):hover {
858
+ color: #f00;
859
+ }
860
+
861
+ /*
862
+ * jQuery UI CSS Framework 1.8.16
863
+ *
864
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
865
+ * Dual licensed under the MIT or GPL Version 2 licenses.
866
+ * http://jquery.org/license
867
+ *
868
+ * http://docs.jquery.com/UI/Theming/API
869
+ */
870
+ /* line 10, sass/partials/_jquery_ui.scss */
871
+ * html .cmb2-element.ui-helper-clearfix {
872
+ height: 1%;
873
+ }
874
+
875
+ /* line 14, sass/partials/_jquery_ui.scss */
876
+ .cmb2-element .ui-helper-hidden {
877
+ display: none;
878
+ }
879
+ /* line 17, sass/partials/_jquery_ui.scss */
880
+ .cmb2-element .ui-helper-hidden-accessible {
881
+ position: absolute !important;
882
+ clip: rect(1px 1px 1px 1px);
883
+ clip: rect(1px, 1px, 1px, 1px);
884
+ }
885
+ /* line 20, sass/partials/_jquery_ui.scss */
886
+ .cmb2-element .ui-helper-reset {
887
+ margin: 0;
888
+ padding: 0;
889
+ border: 0;
890
+ outline: 0;
891
+ line-height: 1.3;
892
+ text-decoration: none;
893
+ font-size: 100%;
894
+ list-style: none;
895
+ }
896
+ /* line 23, sass/partials/_jquery_ui.scss */
897
+ .cmb2-element.ui-helper-clearfix:after,
898
+ .cmb2-element .ui-helper-clearfix:after {
899
+ content: ".";
900
+ display: block;
901
+ height: 0;
902
+ clear: both;
903
+ visibility: hidden;
904
+ }
905
+ /* line 27, sass/partials/_jquery_ui.scss */
906
+ .cmb2-element.ui-helper-clearfix,
907
+ .cmb2-element .ui-helper-clearfix {
908
+ display: inline-block;
909
+ }
910
+ /* line 31, sass/partials/_jquery_ui.scss */
911
+ .cmb2-element.ui-helper-clearfix,
912
+ .cmb2-element .ui-helper-clearfix {
913
+ display: block;
914
+ }
915
+ /* line 35, sass/partials/_jquery_ui.scss */
916
+ .cmb2-element .ui-helper-zfix {
917
+ width: 100%;
918
+ height: 100%;
919
+ top: 0;
920
+ left: 0;
921
+ position: absolute;
922
+ opacity: 0;
923
+ filter: Alpha(Opacity=0);
924
+ }
925
+ /* line 38, sass/partials/_jquery_ui.scss */
926
+ .cmb2-element .ui-state-disabled {
927
+ cursor: default !important;
928
+ }
929
+ /* line 41, sass/partials/_jquery_ui.scss */
930
+ .cmb2-element .ui-icon {
931
+ display: block;
932
+ text-indent: -99999px;
933
+ overflow: hidden;
934
+ background-repeat: no-repeat;
935
+ }
936
+ /* line 44, sass/partials/_jquery_ui.scss */
937
+ .cmb2-element .ui-widget-overlay {
938
+ position: absolute;
939
+ top: 0;
940
+ left: 0;
941
+ width: 100%;
942
+ height: 100%;
943
+ }
944
+ /* line 47, sass/partials/_jquery_ui.scss */
945
+ .cmb2-element.ui-widget,
946
+ .cmb2-element .ui-widget {
947
+ font-family: Verdana,Arial,sans-serif;
948
+ font-size: 1.1em;
949
+ }
950
+ /* line 50, sass/partials/_jquery_ui.scss */
951
+ .cmb2-element.ui-widget .ui-widget,
952
+ .cmb2-element .ui-widget .ui-widget {
953
+ font-size: 1em;
954
+ }
955
+ /* line 53, sass/partials/_jquery_ui.scss */
956
+ .cmb2-element.ui-widget input,
957
+ .cmb2-element.ui-widget select,
958
+ .cmb2-element.ui-widget textarea,
959
+ .cmb2-element.ui-widget button,
960
+ .cmb2-element .ui-widget input,
961
+ .cmb2-element .ui-widget select,
962
+ .cmb2-element .ui-widget textarea,
963
+ .cmb2-element .ui-widget button {
964
+ font-family: Verdana,Arial,sans-serif;
965
+ font-size: 1em;
966
+ }
967
+ /* line 60, sass/partials/_jquery_ui.scss */
968
+ .cmb2-element.ui-widget-content,
969
+ .cmb2-element .ui-widget-content {
970
+ border: 1px solid #aaaaaa;
971
+ background: #ffffff url(../images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x;
972
+ color: #222222;
973
+ }
974
+ /* line 64, sass/partials/_jquery_ui.scss */
975
+ .cmb2-element.ui-widget-content a,
976
+ .cmb2-element .ui-widget-content a {
977
+ color: #222222;
978
+ }
979
+ /* line 68, sass/partials/_jquery_ui.scss */
980
+ .cmb2-element .ui-widget-header {
981
+ border: 1px solid #aaaaaa;
982
+ background: #cccccc url(../images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;
983
+ color: #222222;
984
+ font-weight: bold;
985
+ }
986
+ /* line 71, sass/partials/_jquery_ui.scss */
987
+ .cmb2-element .ui-widget-header a {
988
+ color: #222222;
989
+ }
990
+ /* line 74, sass/partials/_jquery_ui.scss */
991
+ .cmb2-element .ui-state-default, .cmb2-element.ui-widget-content .ui-state-default,
992
+ .cmb2-element .ui-widget-content .ui-state-default,
993
+ .cmb2-element .ui-widget-header .ui-state-default {
994
+ border: 1px solid #d3d3d3;
995
+ font-weight: normal;
996
+ color: #555555;
997
+ }
998
+ /* line 80, sass/partials/_jquery_ui.scss */
999
+ .cmb2-element .ui-state-default a,
1000
+ .cmb2-element .ui-state-default a:link,
1001
+ .cmb2-element .ui-state-default a:visited {
1002
+ color: #555555;
1003
+ text-decoration: none;
1004
+ }
1005
+ /* line 85, sass/partials/_jquery_ui.scss */
1006
+ .cmb2-element .ui-state-hover, .cmb2-element.ui-widget-content .ui-state-hover,
1007
+ .cmb2-element .ui-widget-content .ui-state-hover,
1008
+ .cmb2-element .ui-widget-header .ui-state-hover,
1009
+ .cmb2-element .ui-state-focus, .cmb2-element.ui-widget-content .ui-state-focus,
1010
+ .cmb2-element .ui-widget-content .ui-state-focus,
1011
+ .cmb2-element .ui-widget-header .ui-state-focus {
1012
+ border: 1px solid #999999;
1013
+ background: #dadada url(../images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x;
1014
+ font-weight: normal;
1015
+ color: #212121;
1016
+ }
1017
+ /* line 95, sass/partials/_jquery_ui.scss */
1018
+ .cmb2-element .ui-state-hover a,
1019
+ .cmb2-element .ui-state-hover a:hover {
1020
+ color: #212121;
1021
+ text-decoration: none;
1022
+ }
1023
+ /* line 99, sass/partials/_jquery_ui.scss */
1024
+ .cmb2-element .ui-state-active, .cmb2-element.ui-widget-content .ui-state-active,
1025
+ .cmb2-element .ui-widget-content .ui-state-active,
1026
+ .cmb2-element .ui-widget-header .ui-state-active {
1027
+ border: 1px solid #aaaaaa;
1028
+ background: #ffffff url(../images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;
1029
+ font-weight: normal;
1030
+ color: #212121;
1031
+ }
1032
+ /* line 105, sass/partials/_jquery_ui.scss */
1033
+ .cmb2-element .ui-state-active a,
1034
+ .cmb2-element .ui-state-active a:link,
1035
+ .cmb2-element .ui-state-active a:visited {
1036
+ color: #212121;
1037
+ text-decoration: none;
1038
+ }
1039
+ /* line 110, sass/partials/_jquery_ui.scss */
1040
+ .cmb2-element.ui-widget :active,
1041
+ .cmb2-element .ui-widget :active {
1042
+ outline: none;
1043
+ }
1044
+ /* line 114, sass/partials/_jquery_ui.scss */
1045
+ .cmb2-element .ui-state-highlight, .cmb2-element.ui-widget-content .ui-state-highlight,
1046
+ .cmb2-element .ui-widget-content .ui-state-highlight,
1047
+ .cmb2-element .ui-widget-header .ui-state-highlight {
1048
+ border: 1px solid #fcefa1;
1049
+ background: #fbf9ee url(../images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x;
1050
+ color: #363636;
1051
+ }
1052
+ /* line 120, sass/partials/_jquery_ui.scss */
1053
+ .cmb2-element .ui-state-highlight a, .cmb2-element.ui-widget-content .ui-state-highlight a,
1054
+ .cmb2-element .ui-widget-content .ui-state-highlight a,
1055
+ .cmb2-element .ui-widget-header .ui-state-highlight a {
1056
+ color: #363636;
1057
+ }
1058
+ /* line 126, sass/partials/_jquery_ui.scss */
1059
+ .cmb2-element .ui-state-error, .cmb2-element.ui-widget-content .ui-state-error,
1060
+ .cmb2-element .ui-widget-content .ui-state-error,
1061
+ .cmb2-element .ui-widget-header .ui-state-error {
1062
+ border: 1px solid #cd0a0a;
1063
+ background: #fef1ec url(../images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;
1064
+ color: #cd0a0a;
1065
+ }
1066
+ /* line 132, sass/partials/_jquery_ui.scss */
1067
+ .cmb2-element .ui-state-error a, .cmb2-element.ui-widget-content .ui-state-error a,
1068
+ .cmb2-element .ui-widget-content .ui-state-error a,
1069
+ .cmb2-element .ui-widget-header .ui-state-error a {
1070
+ color: #cd0a0a;
1071
+ }
1072
+ /* line 138, sass/partials/_jquery_ui.scss */
1073
+ .cmb2-element .ui-state-error-text, .cmb2-element.ui-widget-content .ui-state-error-text,
1074
+ .cmb2-element .ui-widget-content .ui-state-error-text,
1075
+ .cmb2-element .ui-widget-header .ui-state-error-text {
1076
+ color: #cd0a0a;
1077
+ }
1078
+ /* line 144, sass/partials/_jquery_ui.scss */
1079
+ .cmb2-element .ui-priority-primary, .cmb2-element.ui-widget-content .ui-priority-primary,
1080
+ .cmb2-element .ui-widget-content .ui-priority-primary,
1081
+ .cmb2-element .ui-widget-header .ui-priority-primary {
1082
+ font-weight: bold;
1083
+ }
1084
+ /* line 150, sass/partials/_jquery_ui.scss */
1085
+ .cmb2-element .ui-priority-secondary, .cmb2-element.ui-widget-content .ui-priority-secondary,
1086
+ .cmb2-element .ui-widget-content .ui-priority-secondary,
1087
+ .cmb2-element .ui-widget-header .ui-priority-secondary {
1088
+ opacity: .7;
1089
+ filter: Alpha(Opacity=70);
1090
+ font-weight: normal;
1091
+ }
1092
+ /* line 156, sass/partials/_jquery_ui.scss */
1093
+ .cmb2-element .ui-state-disabled, .cmb2-element.ui-widget-content .ui-state-disabled,
1094
+ .cmb2-element .ui-widget-content .ui-state-disabled,
1095
+ .cmb2-element .ui-widget-header .ui-state-disabled {
1096
+ opacity: .35;
1097
+ filter: Alpha(Opacity=35);
1098
+ background-image: none;
1099
+ }
1100
+ /* line 162, sass/partials/_jquery_ui.scss */
1101
+ .cmb2-element .ui-icon {
1102
+ width: 16px;
1103
+ height: 16px;
1104
+ background-image: url(../images/ui-icons_222222_256x240.png);
1105
+ }
1106
+ /* line 165, sass/partials/_jquery_ui.scss */
1107
+ .cmb2-element.ui-widget-content .ui-icon,
1108
+ .cmb2-element .ui-widget-content .ui-icon {
1109
+ background-image: url(../images/ui-icons_222222_256x240.png);
1110
+ }
1111
+ /* line 169, sass/partials/_jquery_ui.scss */
1112
+ .cmb2-element .ui-widget-header .ui-icon {
1113
+ background-image: url(../images/ui-icons_222222_256x240.png);
1114
+ }
1115
+ /* line 172, sass/partials/_jquery_ui.scss */
1116
+ .cmb2-element .ui-state-default .ui-icon {
1117
+ background-image: url(../images/ui-icons_888888_256x240.png);
1118
+ }
1119
+ /* line 175, sass/partials/_jquery_ui.scss */
1120
+ .cmb2-element .ui-state-hover .ui-icon,
1121
+ .cmb2-element .ui-state-focus .ui-icon {
1122
+ background-image: url(../images/ui-icons_454545_256x240.png);
1123
+ }
1124
+ /* line 179, sass/partials/_jquery_ui.scss */
1125
+ .cmb2-element .ui-state-active .ui-icon {
1126
+ background-image: url(../images/ui-icons_454545_256x240.png);
1127
+ }
1128
+ /* line 182, sass/partials/_jquery_ui.scss */
1129
+ .cmb2-element .ui-state-highlight .ui-icon {
1130
+ background-image: url(../images/ui-icons_2e83ff_256x240.png);
1131
+ }
1132
+ /* line 185, sass/partials/_jquery_ui.scss */
1133
+ .cmb2-element .ui-state-error .ui-icon,
1134
+ .cmb2-element .ui-state-error-text .ui-icon {
1135
+ background-image: url(../images/ui-icons_cd0a0a_256x240.png);
1136
+ }
1137
+ /* line 189, sass/partials/_jquery_ui.scss */
1138
+ .cmb2-element .ui-icon-carat-1-n {
1139
+ background-position: 0 0;
1140
+ }
1141
+ /* line 192, sass/partials/_jquery_ui.scss */
1142
+ .cmb2-element .ui-icon-carat-1-ne {
1143
+ background-position: -16px 0;
1144
+ }
1145
+ /* line 195, sass/partials/_jquery_ui.scss */
1146
+ .cmb2-element .ui-icon-carat-1-e {
1147
+ background-position: -32px 0;
1148
+ }
1149
+ /* line 198, sass/partials/_jquery_ui.scss */
1150
+ .cmb2-element .ui-icon-carat-1-se {
1151
+ background-position: -48px 0;
1152
+ }
1153
+ /* line 201, sass/partials/_jquery_ui.scss */
1154
+ .cmb2-element .ui-icon-carat-1-s {
1155
+ background-position: -64px 0;
1156
+ }
1157
+ /* line 204, sass/partials/_jquery_ui.scss */
1158
+ .cmb2-element .ui-icon-carat-1-sw {
1159
+ background-position: -80px 0;
1160
+ }
1161
+ /* line 207, sass/partials/_jquery_ui.scss */
1162
+ .cmb2-element .ui-icon-carat-1-w {
1163
+ background-position: -96px 0;
1164
+ }
1165
+ /* line 210, sass/partials/_jquery_ui.scss */
1166
+ .cmb2-element .ui-icon-carat-1-nw {
1167
+ background-position: -112px 0;
1168
+ }
1169
+ /* line 213, sass/partials/_jquery_ui.scss */
1170
+ .cmb2-element .ui-icon-carat-2-n-s {
1171
+ background-position: -128px 0;
1172
+ }
1173
+ /* line 216, sass/partials/_jquery_ui.scss */
1174
+ .cmb2-element .ui-icon-carat-2-e-w {
1175
+ background-position: -144px 0;
1176
+ }
1177
+ /* line 219, sass/partials/_jquery_ui.scss */
1178
+ .cmb2-element .ui-icon-triangle-1-n {
1179
+ background-position: 0 -16px;
1180
+ }
1181
+ /* line 222, sass/partials/_jquery_ui.scss */
1182
+ .cmb2-element .ui-icon-triangle-1-ne {
1183
+ background-position: -16px -16px;
1184
+ }
1185
+ /* line 225, sass/partials/_jquery_ui.scss */
1186
+ .cmb2-element .ui-icon-triangle-1-e {
1187
+ background-position: -32px -16px;
1188
+ }
1189
+ /* line 228, sass/partials/_jquery_ui.scss */
1190
+ .cmb2-element .ui-icon-triangle-1-se {
1191
+ background-position: -48px -16px;
1192
+ }
1193
+ /* line 231, sass/partials/_jquery_ui.scss */
1194
+ .cmb2-element .ui-icon-triangle-1-s {
1195
+ background-position: -64px -16px;
1196
+ }
1197
+ /* line 234, sass/partials/_jquery_ui.scss */
1198
+ .cmb2-element .ui-icon-triangle-1-sw {
1199
+ background-position: -80px -16px;
1200
+ }
1201
+ /* line 237, sass/partials/_jquery_ui.scss */
1202
+ .cmb2-element .ui-icon-triangle-1-w {
1203
+ background-position: -96px -16px;
1204
+ }
1205
+ /* line 240, sass/partials/_jquery_ui.scss */
1206
+ .cmb2-element .ui-icon-triangle-1-nw {
1207
+ background-position: -112px -16px;
1208
+ }
1209
+ /* line 243, sass/partials/_jquery_ui.scss */
1210
+ .cmb2-element .ui-icon-triangle-2-n-s {
1211
+ background-position: -128px -16px;
1212
+ }
1213
+ /* line 246, sass/partials/_jquery_ui.scss */
1214
+ .cmb2-element .ui-icon-triangle-2-e-w {
1215
+ background-position: -144px -16px;
1216
+ }
1217
+ /* line 249, sass/partials/_jquery_ui.scss */
1218
+ .cmb2-element .ui-icon-arrow-1-n {
1219
+ background-position: 0 -32px;
1220
+ }
1221
+ /* line 252, sass/partials/_jquery_ui.scss */
1222
+ .cmb2-element .ui-icon-arrow-1-ne {
1223
+ background-position: -16px -32px;
1224
+ }
1225
+ /* line 255, sass/partials/_jquery_ui.scss */
1226
+ .cmb2-element .ui-icon-arrow-1-e {
1227
+ background-position: -32px -32px;
1228
+ }
1229
+ /* line 258, sass/partials/_jquery_ui.scss */
1230
+ .cmb2-element .ui-icon-arrow-1-se {
1231
+ background-position: -48px -32px;
1232
+ }
1233
+ /* line 261, sass/partials/_jquery_ui.scss */
1234
+ .cmb2-element .ui-icon-arrow-1-s {
1235
+ background-position: -64px -32px;
1236
+ }
1237
+ /* line 264, sass/partials/_jquery_ui.scss */
1238
+ .cmb2-element .ui-icon-arrow-1-sw {
1239
+ background-position: -80px -32px;
1240
+ }
1241
+ /* line 267, sass/partials/_jquery_ui.scss */
1242
+ .cmb2-element .ui-icon-arrow-1-w {
1243
+ background-position: -96px -32px;
1244
+ }
1245
+ /* line 270, sass/partials/_jquery_ui.scss */
1246
+ .cmb2-element .ui-icon-arrow-1-nw {
1247
+ background-position: -112px -32px;
1248
+ }
1249
+ /* line 273, sass/partials/_jquery_ui.scss */
1250
+ .cmb2-element .ui-icon-arrow-2-n-s {
1251
+ background-position: -128px -32px;
1252
+ }
1253
+ /* line 276, sass/partials/_jquery_ui.scss */
1254
+ .cmb2-element .ui-icon-arrow-2-ne-sw {
1255
+ background-position: -144px -32px;
1256
+ }
1257
+ /* line 279, sass/partials/_jquery_ui.scss */
1258
+ .cmb2-element .ui-icon-arrow-2-e-w {
1259
+ background-position: -160px -32px;
1260
+ }
1261
+ /* line 282, sass/partials/_jquery_ui.scss */
1262
+ .cmb2-element .ui-icon-arrow-2-se-nw {
1263
+ background-position: -176px -32px;
1264
+ }
1265
+ /* line 285, sass/partials/_jquery_ui.scss */
1266
+ .cmb2-element .ui-icon-arrowstop-1-n {
1267
+ background-position: -192px -32px;
1268
+ }
1269
+ /* line 288, sass/partials/_jquery_ui.scss */
1270
+ .cmb2-element .ui-icon-arrowstop-1-e {
1271
+ background-position: -208px -32px;
1272
+ }
1273
+ /* line 291, sass/partials/_jquery_ui.scss */
1274
+ .cmb2-element .ui-icon-arrowstop-1-s {
1275
+ background-position: -224px -32px;
1276
+ }
1277
+ /* line 294, sass/partials/_jquery_ui.scss */
1278
+ .cmb2-element .ui-icon-arrowstop-1-w {
1279
+ background-position: -240px -32px;
1280
+ }
1281
+ /* line 297, sass/partials/_jquery_ui.scss */
1282
+ .cmb2-element .ui-icon-arrowthick-1-n {
1283
+ background-position: 0 -48px;
1284
+ }
1285
+ /* line 300, sass/partials/_jquery_ui.scss */
1286
+ .cmb2-element .ui-icon-arrowthick-1-ne {
1287
+ background-position: -16px -48px;
1288
+ }
1289
+ /* line 303, sass/partials/_jquery_ui.scss */
1290
+ .cmb2-element .ui-icon-arrowthick-1-e {
1291
+ background-position: -32px -48px;
1292
+ }
1293
+ /* line 306, sass/partials/_jquery_ui.scss */
1294
+ .cmb2-element .ui-icon-arrowthick-1-se {
1295
+ background-position: -48px -48px;
1296
+ }
1297
+ /* line 309, sass/partials/_jquery_ui.scss */
1298
+ .cmb2-element .ui-icon-arrowthick-1-s {
1299
+ background-position: -64px -48px;
1300
+ }
1301
+ /* line 312, sass/partials/_jquery_ui.scss */
1302
+ .cmb2-element .ui-icon-arrowthick-1-sw {
1303
+ background-position: -80px -48px;
1304
+ }
1305
+ /* line 315, sass/partials/_jquery_ui.scss */
1306
+ .cmb2-element .ui-icon-arrowthick-1-w {
1307
+ background-position: -96px -48px;
1308
+ }
1309
+ /* line 318, sass/partials/_jquery_ui.scss */
1310
+ .cmb2-element .ui-icon-arrowthick-1-nw {
1311
+ background-position: -112px -48px;
1312
+ }
1313
+ /* line 321, sass/partials/_jquery_ui.scss */
1314
+ .cmb2-element .ui-icon-arrowthick-2-n-s {
1315
+ background-position: -128px -48px;
1316
+ }
1317
+ /* line 324, sass/partials/_jquery_ui.scss */
1318
+ .cmb2-element .ui-icon-arrowthick-2-ne-sw {
1319
+ background-position: -144px -48px;
1320
+ }
1321
+ /* line 327, sass/partials/_jquery_ui.scss */
1322
+ .cmb2-element .ui-icon-arrowthick-2-e-w {
1323
+ background-position: -160px -48px;
1324
+ }
1325
+ /* line 330, sass/partials/_jquery_ui.scss */
1326
+ .cmb2-element .ui-icon-arrowthick-2-se-nw {
1327
+ background-position: -176px -48px;
1328
+ }
1329
+ /* line 333, sass/partials/_jquery_ui.scss */
1330
+ .cmb2-element .ui-icon-arrowthickstop-1-n {
1331
+ background-position: -192px -48px;
1332
+ }
1333
+ /* line 336, sass/partials/_jquery_ui.scss */
1334
+ .cmb2-element .ui-icon-arrowthickstop-1-e {
1335
+ background-position: -208px -48px;
1336
+ }
1337
+ /* line 339, sass/partials/_jquery_ui.scss */
1338
+ .cmb2-element .ui-icon-arrowthickstop-1-s {
1339
+ background-position: -224px -48px;
1340
+ }
1341
+ /* line 342, sass/partials/_jquery_ui.scss */
1342
+ .cmb2-element .ui-icon-arrowthickstop-1-w {
1343
+ background-position: -240px -48px;
1344
+ }
1345
+ /* line 345, sass/partials/_jquery_ui.scss */
1346
+ .cmb2-element .ui-icon-arrowreturnthick-1-w {
1347
+ background-position: 0 -64px;
1348
+ }
1349
+ /* line 348, sass/partials/_jquery_ui.scss */
1350
+ .cmb2-element .ui-icon-arrowreturnthick-1-n {
1351
+ background-position: -16px -64px;
1352
+ }
1353
+ /* line 351, sass/partials/_jquery_ui.scss */
1354
+ .cmb2-element .ui-icon-arrowreturnthick-1-e {
1355
+ background-position: -32px -64px;
1356
+ }
1357
+ /* line 354, sass/partials/_jquery_ui.scss */
1358
+ .cmb2-element .ui-icon-arrowreturnthick-1-s {
1359
+ background-position: -48px -64px;
1360
+ }
1361
+ /* line 357, sass/partials/_jquery_ui.scss */
1362
+ .cmb2-element .ui-icon-arrowreturn-1-w {
1363
+ background-position: -64px -64px;
1364
+ }
1365
+ /* line 360, sass/partials/_jquery_ui.scss */
1366
+ .cmb2-element .ui-icon-arrowreturn-1-n {
1367
+ background-position: -80px -64px;
1368
+ }
1369
+ /* line 363, sass/partials/_jquery_ui.scss */
1370
+ .cmb2-element .ui-icon-arrowreturn-1-e {
1371
+ background-position: -96px -64px;
1372
+ }
1373
+ /* line 366, sass/partials/_jquery_ui.scss */
1374
+ .cmb2-element .ui-icon-arrowreturn-1-s {
1375
+ background-position: -112px -64px;
1376
+ }
1377
+ /* line 369, sass/partials/_jquery_ui.scss */
1378
+ .cmb2-element .ui-icon-arrowrefresh-1-w {
1379
+ background-position: -128px -64px;
1380
+ }
1381
+ /* line 372, sass/partials/_jquery_ui.scss */
1382
+ .cmb2-element .ui-icon-arrowrefresh-1-n {
1383
+ background-position: -144px -64px;
1384
+ }
1385
+ /* line 375, sass/partials/_jquery_ui.scss */
1386
+ .cmb2-element .ui-icon-arrowrefresh-1-e {
1387
+ background-position: -160px -64px;
1388
+ }
1389
+ /* line 378, sass/partials/_jquery_ui.scss */
1390
+ .cmb2-element .ui-icon-arrowrefresh-1-s {
1391
+ background-position: -176px -64px;
1392
+ }
1393
+ /* line 381, sass/partials/_jquery_ui.scss */
1394
+ .cmb2-element .ui-icon-arrow-4 {
1395
+ background-position: 0 -80px;
1396
+ }
1397
+ /* line 384, sass/partials/_jquery_ui.scss */
1398
+ .cmb2-element .ui-icon-arrow-4-diag {
1399
+ background-position: -16px -80px;
1400
+ }
1401
+ /* line 387, sass/partials/_jquery_ui.scss */
1402
+ .cmb2-element .ui-icon-extlink {
1403
+ background-position: -32px -80px;
1404
+ }
1405
+ /* line 390, sass/partials/_jquery_ui.scss */
1406
+ .cmb2-element .ui-icon-newwin {
1407
+ background-position: -48px -80px;
1408
+ }
1409
+ /* line 393, sass/partials/_jquery_ui.scss */
1410
+ .cmb2-element .ui-icon-refresh {
1411
+ background-position: -64px -80px;
1412
+ }
1413
+ /* line 396, sass/partials/_jquery_ui.scss */
1414
+ .cmb2-element .ui-icon-shuffle {
1415
+ background-position: -80px -80px;
1416
+ }
1417
+ /* line 399, sass/partials/_jquery_ui.scss */
1418
+ .cmb2-element .ui-icon-transfer-e-w {
1419
+ background-position: -96px -80px;
1420
+ }
1421
+ /* line 402, sass/partials/_jquery_ui.scss */
1422
+ .cmb2-element .ui-icon-transferthick-e-w {
1423
+ background-position: -112px -80px;
1424
+ }
1425
+ /* line 405, sass/partials/_jquery_ui.scss */
1426
+ .cmb2-element .ui-icon-folder-collapsed {
1427
+ background-position: 0 -96px;
1428
+ }
1429
+ /* line 408, sass/partials/_jquery_ui.scss */
1430
+ .cmb2-element .ui-icon-folder-open {
1431
+ background-position: -16px -96px;
1432
+ }
1433
+ /* line 411, sass/partials/_jquery_ui.scss */
1434
+ .cmb2-element .ui-icon-document {
1435
+ background-position: -32px -96px;
1436
+ }
1437
+ /* line 414, sass/partials/_jquery_ui.scss */
1438
+ .cmb2-element .ui-icon-document-b {
1439
+ background-position: -48px -96px;
1440
+ }
1441
+ /* line 417, sass/partials/_jquery_ui.scss */
1442
+ .cmb2-element .ui-icon-note {
1443
+ background-position: -64px -96px;
1444
+ }
1445
+ /* line 420, sass/partials/_jquery_ui.scss */
1446
+ .cmb2-element .ui-icon-mail-closed {
1447
+ background-position: -80px -96px;
1448
+ }
1449
+ /* line 423, sass/partials/_jquery_ui.scss */
1450
+ .cmb2-element .ui-icon-mail-open {
1451
+ background-position: -96px -96px;
1452
+ }
1453
+ /* line 426, sass/partials/_jquery_ui.scss */
1454
+ .cmb2-element .ui-icon-suitcase {
1455
+ background-position: -112px -96px;
1456
+ }
1457
+ /* line 429, sass/partials/_jquery_ui.scss */
1458
+ .cmb2-element .ui-icon-comment {
1459
+ background-position: -128px -96px;
1460
+ }
1461
+ /* line 432, sass/partials/_jquery_ui.scss */
1462
+ .cmb2-element .ui-icon-person {
1463
+ background-position: -144px -96px;
1464
+ }
1465
+ /* line 435, sass/partials/_jquery_ui.scss */
1466
+ .cmb2-element .ui-icon-print {
1467
+ background-position: -160px -96px;
1468
+ }
1469
+ /* line 438, sass/partials/_jquery_ui.scss */
1470
+ .cmb2-element .ui-icon-trash {
1471
+ background-position: -176px -96px;
1472
+ }
1473
+ /* line 441, sass/partials/_jquery_ui.scss */
1474
+ .cmb2-element .ui-icon-locked {
1475
+ background-position: -192px -96px;
1476
+ }
1477
+ /* line 444, sass/partials/_jquery_ui.scss */
1478
+ .cmb2-element .ui-icon-unlocked {
1479
+ background-position: -208px -96px;
1480
+ }
1481
+ /* line 447, sass/partials/_jquery_ui.scss */
1482
+ .cmb2-element .ui-icon-bookmark {
1483
+ background-position: -224px -96px;
1484
+ }
1485
+ /* line 450, sass/partials/_jquery_ui.scss */
1486
+ .cmb2-element .ui-icon-tag {
1487
+ background-position: -240px -96px;
1488
+ }
1489
+ /* line 453, sass/partials/_jquery_ui.scss */
1490
+ .cmb2-element .ui-icon-home {
1491
+ background-position: 0 -112px;
1492
+ }
1493
+ /* line 456, sass/partials/_jquery_ui.scss */
1494
+ .cmb2-element .ui-icon-flag {
1495
+ background-position: -16px -112px;
1496
+ }
1497
+ /* line 459, sass/partials/_jquery_ui.scss */
1498
+ .cmb2-element .ui-icon-calendar {
1499
+ background-position: -32px -112px;
1500
+ }
1501
+ /* line 462, sass/partials/_jquery_ui.scss */
1502
+ .cmb2-element .ui-icon-cart {
1503
+ background-position: -48px -112px;
1504
+ }
1505
+ /* line 465, sass/partials/_jquery_ui.scss */
1506
+ .cmb2-element .ui-icon-pencil {
1507
+ background-position: -64px -112px;
1508
+ }
1509
+ /* line 468, sass/partials/_jquery_ui.scss */
1510
+ .cmb2-element .ui-icon-clock {
1511
+ background-position: -80px -112px;
1512
+ }
1513
+ /* line 471, sass/partials/_jquery_ui.scss */
1514
+ .cmb2-element .ui-icon-disk {
1515
+ background-position: -96px -112px;
1516
+ }
1517
+ /* line 474, sass/partials/_jquery_ui.scss */
1518
+ .cmb2-element .ui-icon-calculator {
1519
+ background-position: -112px -112px;
1520
+ }
1521
+ /* line 477, sass/partials/_jquery_ui.scss */
1522
+ .cmb2-element .ui-icon-zoomin {
1523
+ background-position: -128px -112px;
1524
+ }
1525
+ /* line 480, sass/partials/_jquery_ui.scss */
1526
+ .cmb2-element .ui-icon-zoomout {
1527
+ background-position: -144px -112px;
1528
+ }
1529
+ /* line 483, sass/partials/_jquery_ui.scss */
1530
+ .cmb2-element .ui-icon-search {
1531
+ background-position: -160px -112px;
1532
+ }
1533
+ /* line 486, sass/partials/_jquery_ui.scss */
1534
+ .cmb2-element .ui-icon-wrench {
1535
+ background-position: -176px -112px;
1536
+ }
1537
+ /* line 489, sass/partials/_jquery_ui.scss */
1538
+ .cmb2-element .ui-icon-gear {
1539
+ background-position: -192px -112px;
1540
+ }
1541
+ /* line 492, sass/partials/_jquery_ui.scss */
1542
+ .cmb2-element .ui-icon-heart {
1543
+ background-position: -208px -112px;
1544
+ }
1545
+ /* line 495, sass/partials/_jquery_ui.scss */
1546
+ .cmb2-element .ui-icon-star {
1547
+ background-position: -224px -112px;
1548
+ }
1549
+ /* line 498, sass/partials/_jquery_ui.scss */
1550
+ .cmb2-element .ui-icon-link {
1551
+ background-position: -240px -112px;
1552
+ }
1553
+ /* line 501, sass/partials/_jquery_ui.scss */
1554
+ .cmb2-element .ui-icon-cancel {
1555
+ background-position: 0 -128px;
1556
+ }
1557
+ /* line 504, sass/partials/_jquery_ui.scss */
1558
+ .cmb2-element .ui-icon-plus {
1559
+ background-position: -16px -128px;
1560
+ }
1561
+ /* line 507, sass/partials/_jquery_ui.scss */
1562
+ .cmb2-element .ui-icon-plusthick {
1563
+ background-position: -32px -128px;
1564
+ }
1565
+ /* line 510, sass/partials/_jquery_ui.scss */
1566
+ .cmb2-element .ui-icon-minus {
1567
+ background-position: -48px -128px;
1568
+ }
1569
+ /* line 513, sass/partials/_jquery_ui.scss */
1570
+ .cmb2-element .ui-icon-minusthick {
1571
+ background-position: -64px -128px;
1572
+ }
1573
+ /* line 516, sass/partials/_jquery_ui.scss */
1574
+ .cmb2-element .ui-icon-close {
1575
+ background-position: -80px -128px;
1576
+ }
1577
+ /* line 519, sass/partials/_jquery_ui.scss */
1578
+ .cmb2-element .ui-icon-closethick {
1579
+ background-position: -96px -128px;
1580
+ }
1581
+ /* line 522, sass/partials/_jquery_ui.scss */
1582
+ .cmb2-element .ui-icon-key {
1583
+ background-position: -112px -128px;
1584
+ }
1585
+ /* line 525, sass/partials/_jquery_ui.scss */
1586
+ .cmb2-element .ui-icon-lightbulb {
1587
+ background-position: -128px -128px;
1588
+ }
1589
+ /* line 528, sass/partials/_jquery_ui.scss */
1590
+ .cmb2-element .ui-icon-scissors {
1591
+ background-position: -144px -128px;
1592
+ }
1593
+ /* line 531, sass/partials/_jquery_ui.scss */
1594
+ .cmb2-element .ui-icon-clipboard {
1595
+ background-position: -160px -128px;
1596
+ }
1597
+ /* line 534, sass/partials/_jquery_ui.scss */
1598
+ .cmb2-element .ui-icon-copy {
1599
+ background-position: -176px -128px;
1600
+ }
1601
+ /* line 537, sass/partials/_jquery_ui.scss */
1602
+ .cmb2-element .ui-icon-contact {
1603
+ background-position: -192px -128px;
1604
+ }
1605
+ /* line 540, sass/partials/_jquery_ui.scss */
1606
+ .cmb2-element .ui-icon-image {
1607
+ background-position: -208px -128px;
1608
+ }
1609
+ /* line 543, sass/partials/_jquery_ui.scss */
1610
+ .cmb2-element .ui-icon-video {
1611
+ background-position: -224px -128px;
1612
+ }
1613
+ /* line 546, sass/partials/_jquery_ui.scss */
1614
+ .cmb2-element .ui-icon-script {
1615
+ background-position: -240px -128px;
1616
+ }
1617
+ /* line 549, sass/partials/_jquery_ui.scss */
1618
+ .cmb2-element .ui-icon-alert {
1619
+ background-position: 0 -144px;
1620
+ }
1621
+ /* line 552, sass/partials/_jquery_ui.scss */
1622
+ .cmb2-element .ui-icon-info {
1623
+ background-position: -16px -144px;
1624
+ }
1625
+ /* line 555, sass/partials/_jquery_ui.scss */
1626
+ .cmb2-element .ui-icon-notice {
1627
+ background-position: -32px -144px;
1628
+ }
1629
+ /* line 558, sass/partials/_jquery_ui.scss */
1630
+ .cmb2-element .ui-icon-help {
1631
+ background-position: -48px -144px;
1632
+ }
1633
+ /* line 561, sass/partials/_jquery_ui.scss */
1634
+ .cmb2-element .ui-icon-check {
1635
+ background-position: -64px -144px;
1636
+ }
1637
+ /* line 564, sass/partials/_jquery_ui.scss */
1638
+ .cmb2-element .ui-icon-bullet {
1639
+ background-position: -80px -144px;
1640
+ }
1641
+ /* line 567, sass/partials/_jquery_ui.scss */
1642
+ .cmb2-element .ui-icon-radio-off {
1643
+ background-position: -96px -144px;
1644
+ }
1645
+ /* line 570, sass/partials/_jquery_ui.scss */
1646
+ .cmb2-element .ui-icon-radio-on {
1647
+ background-position: -112px -144px;
1648
+ }
1649
+ /* line 573, sass/partials/_jquery_ui.scss */
1650
+ .cmb2-element .ui-icon-pin-w {
1651
+ background-position: -128px -144px;
1652
+ }
1653
+ /* line 576, sass/partials/_jquery_ui.scss */
1654
+ .cmb2-element .ui-icon-pin-s {
1655
+ background-position: -144px -144px;
1656
+ }
1657
+ /* line 579, sass/partials/_jquery_ui.scss */
1658
+ .cmb2-element .ui-icon-play {
1659
+ background-position: 0 -160px;
1660
+ }
1661
+ /* line 582, sass/partials/_jquery_ui.scss */
1662
+ .cmb2-element .ui-icon-pause {
1663
+ background-position: -16px -160px;
1664
+ }
1665
+ /* line 585, sass/partials/_jquery_ui.scss */
1666
+ .cmb2-element .ui-icon-seek-next {
1667
+ background-position: -32px -160px;
1668
+ }
1669
+ /* line 588, sass/partials/_jquery_ui.scss */
1670
+ .cmb2-element .ui-icon-seek-prev {
1671
+ background-position: -48px -160px;
1672
+ }
1673
+ /* line 591, sass/partials/_jquery_ui.scss */
1674
+ .cmb2-element .ui-icon-seek-end {
1675
+ background-position: -64px -160px;
1676
+ }
1677
+ /* line 594, sass/partials/_jquery_ui.scss */
1678
+ .cmb2-element .ui-icon-seek-start {
1679
+ background-position: -80px -160px;
1680
+ }
1681
+ /* line 597, sass/partials/_jquery_ui.scss */
1682
+ .cmb2-element .ui-icon-seek-first {
1683
+ background-position: -80px -160px;
1684
+ }
1685
+ /* line 600, sass/partials/_jquery_ui.scss */
1686
+ .cmb2-element .ui-icon-stop {
1687
+ background-position: -96px -160px;
1688
+ }
1689
+ /* line 603, sass/partials/_jquery_ui.scss */
1690
+ .cmb2-element .ui-icon-eject {
1691
+ background-position: -112px -160px;
1692
+ }
1693
+ /* line 606, sass/partials/_jquery_ui.scss */
1694
+ .cmb2-element .ui-icon-volume-off {
1695
+ background-position: -128px -160px;
1696
+ }
1697
+ /* line 609, sass/partials/_jquery_ui.scss */
1698
+ .cmb2-element .ui-icon-volume-on {
1699
+ background-position: -144px -160px;
1700
+ }
1701
+ /* line 612, sass/partials/_jquery_ui.scss */
1702
+ .cmb2-element .ui-icon-power {
1703
+ background-position: 0 -176px;
1704
+ }
1705
+ /* line 615, sass/partials/_jquery_ui.scss */
1706
+ .cmb2-element .ui-icon-signal-diag {
1707
+ background-position: -16px -176px;
1708
+ }
1709
+ /* line 618, sass/partials/_jquery_ui.scss */
1710
+ .cmb2-element .ui-icon-signal {
1711
+ background-position: -32px -176px;
1712
+ }
1713
+ /* line 621, sass/partials/_jquery_ui.scss */
1714
+ .cmb2-element .ui-icon-battery-0 {
1715
+ background-position: -48px -176px;
1716
+ }
1717
+ /* line 624, sass/partials/_jquery_ui.scss */
1718
+ .cmb2-element .ui-icon-battery-1 {
1719
+ background-position: -64px -176px;
1720
+ }
1721
+ /* line 627, sass/partials/_jquery_ui.scss */
1722
+ .cmb2-element .ui-icon-battery-2 {
1723
+ background-position: -80px -176px;
1724
+ }
1725
+ /* line 630, sass/partials/_jquery_ui.scss */
1726
+ .cmb2-element .ui-icon-battery-3 {
1727
+ background-position: -96px -176px;
1728
+ }
1729
+ /* line 633, sass/partials/_jquery_ui.scss */
1730
+ .cmb2-element .ui-icon-circle-plus {
1731
+ background-position: 0 -192px;
1732
+ }
1733
+ /* line 636, sass/partials/_jquery_ui.scss */
1734
+ .cmb2-element .ui-icon-circle-minus {
1735
+ background-position: -16px -192px;
1736
+ }
1737
+ /* line 639, sass/partials/_jquery_ui.scss */
1738
+ .cmb2-element .ui-icon-circle-close {
1739
+ background-position: -32px -192px;
1740
+ }
1741
+ /* line 642, sass/partials/_jquery_ui.scss */
1742
+ .cmb2-element .ui-icon-circle-triangle-e {
1743
+ background-position: -48px -192px;
1744
+ }
1745
+ /* line 645, sass/partials/_jquery_ui.scss */
1746
+ .cmb2-element .ui-icon-circle-triangle-s {
1747
+ background-position: -64px -192px;
1748
+ }
1749
+ /* line 648, sass/partials/_jquery_ui.scss */
1750
+ .cmb2-element .ui-icon-circle-triangle-w {
1751
+ background-position: -80px -192px;
1752
+ }
1753
+ /* line 651, sass/partials/_jquery_ui.scss */
1754
+ .cmb2-element .ui-icon-circle-triangle-n {
1755
+ background-position: -96px -192px;
1756
+ }
1757
+ /* line 654, sass/partials/_jquery_ui.scss */
1758
+ .cmb2-element .ui-icon-circle-arrow-e {
1759
+ background-position: -112px -192px;
1760
+ }
1761
+ /* line 657, sass/partials/_jquery_ui.scss */
1762
+ .cmb2-element .ui-icon-circle-arrow-s {
1763
+ background-position: -128px -192px;
1764
+ }
1765
+ /* line 660, sass/partials/_jquery_ui.scss */
1766
+ .cmb2-element .ui-icon-circle-arrow-w {
1767
+ background-position: -144px -192px;
1768
+ }
1769
+ /* line 663, sass/partials/_jquery_ui.scss */
1770
+ .cmb2-element .ui-icon-circle-arrow-n {
1771
+ background-position: -160px -192px;
1772
+ }
1773
+ /* line 666, sass/partials/_jquery_ui.scss */
1774
+ .cmb2-element .ui-icon-circle-zoomin {
1775
+ background-position: -176px -192px;
1776
+ }
1777
+ /* line 669, sass/partials/_jquery_ui.scss */
1778
+ .cmb2-element .ui-icon-circle-zoomout {
1779
+ background-position: -192px -192px;
1780
+ }
1781
+ /* line 672, sass/partials/_jquery_ui.scss */
1782
+ .cmb2-element .ui-icon-circle-check {
1783
+ background-position: -208px -192px;
1784
+ }
1785
+ /* line 675, sass/partials/_jquery_ui.scss */
1786
+ .cmb2-element .ui-icon-circlesmall-plus {
1787
+ background-position: 0 -208px;
1788
+ }
1789
+ /* line 678, sass/partials/_jquery_ui.scss */
1790
+ .cmb2-element .ui-icon-circlesmall-minus {
1791
+ background-position: -16px -208px;
1792
+ }
1793
+ /* line 681, sass/partials/_jquery_ui.scss */
1794
+ .cmb2-element .ui-icon-circlesmall-close {
1795
+ background-position: -32px -208px;
1796
+ }
1797
+ /* line 684, sass/partials/_jquery_ui.scss */
1798
+ .cmb2-element .ui-icon-squaresmall-plus {
1799
+ background-position: -48px -208px;
1800
+ }
1801
+ /* line 687, sass/partials/_jquery_ui.scss */
1802
+ .cmb2-element .ui-icon-squaresmall-minus {
1803
+ background-position: -64px -208px;
1804
+ }
1805
+ /* line 690, sass/partials/_jquery_ui.scss */
1806
+ .cmb2-element .ui-icon-squaresmall-close {
1807
+ background-position: -80px -208px;
1808
+ }
1809
+ /* line 693, sass/partials/_jquery_ui.scss */
1810
+ .cmb2-element .ui-icon-grip-dotted-vertical {
1811
+ background-position: 0 -224px;
1812
+ }
1813
+ /* line 696, sass/partials/_jquery_ui.scss */
1814
+ .cmb2-element .ui-icon-grip-dotted-horizontal {
1815
+ background-position: -16px -224px;
1816
+ }
1817
+ /* line 699, sass/partials/_jquery_ui.scss */
1818
+ .cmb2-element .ui-icon-grip-solid-vertical {
1819
+ background-position: -32px -224px;
1820
+ }
1821
+ /* line 702, sass/partials/_jquery_ui.scss */
1822
+ .cmb2-element .ui-icon-grip-solid-horizontal {
1823
+ background-position: -48px -224px;
1824
+ }
1825
+ /* line 705, sass/partials/_jquery_ui.scss */
1826
+ .cmb2-element .ui-icon-gripsmall-diagonal-se {
1827
+ background-position: -64px -224px;
1828
+ }
1829
+ /* line 708, sass/partials/_jquery_ui.scss */
1830
+ .cmb2-element .ui-icon-grip-diagonal-se {
1831
+ background-position: -80px -224px;
1832
+ }
1833
+ /* line 711, sass/partials/_jquery_ui.scss */
1834
+ .cmb2-element.ui-corner-all,
1835
+ .cmb2-element .ui-corner-all,
1836
+ .cmb2-element .ui-corner-top,
1837
+ .cmb2-element .ui-corner-left,
1838
+ .cmb2-element .ui-corner-tl {
1839
+ -moz-border-radius-topleft: 4px;
1840
+ -webkit-border-top-left-radius: 4px;
1841
+ -khtml-border-top-left-radius: 4px;
1842
+ border-top-left-radius: 4px;
1843
+ }
1844
+ /* line 718, sass/partials/_jquery_ui.scss */
1845
+ .cmb2-element.ui-corner-all,
1846
+ .cmb2-element .ui-corner-all,
1847
+ .cmb2-element .ui-corner-top,
1848
+ .cmb2-element .ui-corner-right,
1849
+ .cmb2-element .ui-corner-tr {
1850
+ -moz-border-radius-topright: 4px;
1851
+ -webkit-border-top-right-radius: 4px;
1852
+ -khtml-border-top-right-radius: 4px;
1853
+ border-top-right-radius: 4px;
1854
+ }
1855
+ /* line 725, sass/partials/_jquery_ui.scss */
1856
+ .cmb2-element.ui-corner-all,
1857
+ .cmb2-element .ui-corner-all,
1858
+ .cmb2-element .ui-corner-bottom,
1859
+ .cmb2-element .ui-corner-left,
1860
+ .cmb2-element .ui-corner-bl {
1861
+ -moz-border-radius-bottomleft: 4px;
1862
+ -webkit-border-bottom-left-radius: 4px;
1863
+ -khtml-border-bottom-left-radius: 4px;
1864
+ border-bottom-left-radius: 4px;
1865
+ }
1866
+ /* line 732, sass/partials/_jquery_ui.scss */
1867
+ .cmb2-element.ui-corner-all,
1868
+ .cmb2-element .ui-corner-all,
1869
+ .cmb2-element .ui-corner-bottom,
1870
+ .cmb2-element .ui-corner-right,
1871
+ .cmb2-element .ui-corner-br {
1872
+ -moz-border-radius-bottomright: 4px;
1873
+ -webkit-border-bottom-right-radius: 4px;
1874
+ -khtml-border-bottom-right-radius: 4px;
1875
+ border-bottom-right-radius: 4px;
1876
+ }
1877
+ /* line 739, sass/partials/_jquery_ui.scss */
1878
+ .cmb2-element .ui-widget-overlay {
1879
+ background: #aaaaaa url(../images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;
1880
+ opacity: .30;
1881
+ filter: Alpha(Opacity=30);
1882
+ }
1883
+ /* line 742, sass/partials/_jquery_ui.scss */
1884
+ .cmb2-element .ui-widget-shadow {
1885
+ margin: -8px 0 0 -8px;
1886
+ padding: 8px;
1887
+ background: #aaaaaa url(../images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;
1888
+ opacity: .30;
1889
+ filter: Alpha(Opacity=30);
1890
+ -moz-border-radius: 8px;
1891
+ -khtml-border-radius: 8px;
1892
+ -webkit-border-radius: 8px;
1893
+ border-radius: 8px;
1894
+ }
1895
+ /* line 745, sass/partials/_jquery_ui.scss */
1896
+ .cmb2-element.ui-datepicker, .cmb2-element .ui-datepicker {
1897
+ width: 17em;
1898
+ display: none;
1899
+ padding: 0;
1900
+ border: 1px solid #ddd;
1901
+ -webkit-border-radius: 0;
1902
+ -moz-border-radius: 0;
1903
+ border-radius: 0;
1904
+ background: #f1f1f1;
1905
+ /* Customized Datepicker & Timepicker */
1906
+ }
1907
+ /* line 750, sass/partials/_jquery_ui.scss */
1908
+ .cmb2-element.ui-datepicker .ui-datepicker-header, .cmb2-element .ui-datepicker .ui-datepicker-header {
1909
+ position: relative;
1910
+ padding: .2em 0;
1911
+ }
1912
+ /* line 753, sass/partials/_jquery_ui.scss */
1913
+ .cmb2-element.ui-datepicker .ui-datepicker-prev,
1914
+ .cmb2-element.ui-datepicker .ui-datepicker-next, .cmb2-element .ui-datepicker .ui-datepicker-prev,
1915
+ .cmb2-element .ui-datepicker .ui-datepicker-next {
1916
+ position: absolute;
1917
+ top: 2px;
1918
+ width: 1.8em;
1919
+ height: 1.8em;
1920
+ }
1921
+ /* line 757, sass/partials/_jquery_ui.scss */
1922
+ .cmb2-element.ui-datepicker .ui-datepicker-prev-hover,
1923
+ .cmb2-element.ui-datepicker .ui-datepicker-next-hover, .cmb2-element .ui-datepicker .ui-datepicker-prev-hover,
1924
+ .cmb2-element .ui-datepicker .ui-datepicker-next-hover {
1925
+ top: 1px;
1926
+ }
1927
+ /* line 761, sass/partials/_jquery_ui.scss */
1928
+ .cmb2-element.ui-datepicker .ui-datepicker-prev, .cmb2-element .ui-datepicker .ui-datepicker-prev {
1929
+ left: 2px;
1930
+ }
1931
+ /* line 764, sass/partials/_jquery_ui.scss */
1932
+ .cmb2-element.ui-datepicker .ui-datepicker-next, .cmb2-element .ui-datepicker .ui-datepicker-next {
1933
+ right: 2px;
1934
+ }
1935
+ /* line 767, sass/partials/_jquery_ui.scss */
1936
+ .cmb2-element.ui-datepicker .ui-datepicker-prev-hover, .cmb2-element .ui-datepicker .ui-datepicker-prev-hover {
1937
+ left: 1px;
1938
+ }
1939
+ /* line 770, sass/partials/_jquery_ui.scss */
1940
+ .cmb2-element.ui-datepicker .ui-datepicker-next-hover, .cmb2-element .ui-datepicker .ui-datepicker-next-hover {
1941
+ right: 1px;
1942
+ }
1943
+ /* line 773, sass/partials/_jquery_ui.scss */
1944
+ .cmb2-element.ui-datepicker .ui-datepicker-prev span,
1945
+ .cmb2-element.ui-datepicker .ui-datepicker-next span, .cmb2-element .ui-datepicker .ui-datepicker-prev span,
1946
+ .cmb2-element .ui-datepicker .ui-datepicker-next span {
1947
+ display: block;
1948
+ position: absolute;
1949
+ left: 50%;
1950
+ margin-left: -8px;
1951
+ top: 50%;
1952
+ margin-top: -8px;
1953
+ }
1954
+ /* line 777, sass/partials/_jquery_ui.scss */
1955
+ .cmb2-element.ui-datepicker .ui-datepicker-title, .cmb2-element .ui-datepicker .ui-datepicker-title {
1956
+ margin: 0 2.3em;
1957
+ line-height: 1.8em;
1958
+ text-align: center;
1959
+ }
1960
+ /* line 780, sass/partials/_jquery_ui.scss */
1961
+ .cmb2-element.ui-datepicker .ui-datepicker-title select, .cmb2-element .ui-datepicker .ui-datepicker-title select {
1962
+ font-size: 1em;
1963
+ margin: 1px 0;
1964
+ }
1965
+ /* line 783, sass/partials/_jquery_ui.scss */
1966
+ .cmb2-element.ui-datepicker select.ui-datepicker-month-year, .cmb2-element .ui-datepicker select.ui-datepicker-month-year {
1967
+ width: 100%;
1968
+ }
1969
+ /* line 784, sass/partials/_jquery_ui.scss */
1970
+ .cmb2-element.ui-datepicker select.ui-datepicker-month,
1971
+ .cmb2-element.ui-datepicker select.ui-datepicker-year, .cmb2-element .ui-datepicker select.ui-datepicker-month,
1972
+ .cmb2-element .ui-datepicker select.ui-datepicker-year {
1973
+ width: 49%;
1974
+ }
1975
+ /* line 788, sass/partials/_jquery_ui.scss */
1976
+ .cmb2-element.ui-datepicker select.ui-datepicker-month, .cmb2-element .ui-datepicker select.ui-datepicker-month {
1977
+ margin-right: 1%;
1978
+ }
1979
+ /* line 791, sass/partials/_jquery_ui.scss */
1980
+ .cmb2-element.ui-datepicker select.ui-datepicker-year, .cmb2-element .ui-datepicker select.ui-datepicker-year {
1981
+ margin-left: 1%;
1982
+ }
1983
+ /* line 793, sass/partials/_jquery_ui.scss */
1984
+ .cmb2-element.ui-datepicker table, .cmb2-element .ui-datepicker table {
1985
+ width: 100%;
1986
+ font-size: .9em;
1987
+ border-collapse: collapse;
1988
+ margin: 0 0 .4em;
1989
+ }
1990
+ /* line 795, sass/partials/_jquery_ui.scss */
1991
+ .cmb2-element.ui-datepicker th, .cmb2-element .ui-datepicker th {
1992
+ padding: .7em .3em;
1993
+ text-align: center;
1994
+ font-weight: bold;
1995
+ border: 0;
1996
+ }
1997
+ /* line 798, sass/partials/_jquery_ui.scss */
1998
+ .cmb2-element.ui-datepicker td, .cmb2-element .ui-datepicker td {
1999
+ border: 0;
2000
+ padding: 1px;
2001
+ }
2002
+ /* line 801, sass/partials/_jquery_ui.scss */
2003
+ .cmb2-element.ui-datepicker td span,
2004
+ .cmb2-element.ui-datepicker td a, .cmb2-element .ui-datepicker td span,
2005
+ .cmb2-element .ui-datepicker td a {
2006
+ display: block;
2007
+ padding: .2em;
2008
+ text-align: right;
2009
+ text-decoration: none;
2010
+ }
2011
+ /* line 805, sass/partials/_jquery_ui.scss */
2012
+ .cmb2-element.ui-datepicker .ui-datepicker-buttonpane, .cmb2-element .ui-datepicker .ui-datepicker-buttonpane {
2013
+ background-image: none;
2014
+ margin: .7em 0 0 0;
2015
+ padding: 0 .2em;
2016
+ border-left: 0;
2017
+ border-right: 0;
2018
+ border-bottom: 0;
2019
+ }
2020
+ /* line 808, sass/partials/_jquery_ui.scss */
2021
+ .cmb2-element.ui-datepicker .ui-datepicker-buttonpane button, .cmb2-element .ui-datepicker .ui-datepicker-buttonpane button {
2022
+ float: right;
2023
+ margin: .5em .2em .4em;
2024
+ cursor: pointer;
2025
+ padding: .2em .6em .3em .6em;
2026
+ width: auto;
2027
+ overflow: visible;
2028
+ }
2029
+ /* line 811, sass/partials/_jquery_ui.scss */
2030
+ .cmb2-element.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current, .cmb2-element .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
2031
+ float: left;
2032
+ }
2033
+ /* line 816, sass/partials/_jquery_ui.scss */
2034
+ .cmb2-element.ui-datepicker *, .cmb2-element .ui-datepicker * {
2035
+ padding: 0;
2036
+ font-family: "Open Sans", sans-serif;
2037
+ -webkit-border-radius: 0;
2038
+ -moz-border-radius: 0;
2039
+ border-radius: 0;
2040
+ }
2041
+ /* line 820, sass/partials/_jquery_ui.scss */
2042
+ .cmb2-element.ui-datepicker table, .cmb2-element .ui-datepicker table {
2043
+ font-size: 13px;
2044
+ margin: 0;
2045
+ }
2046
+ /* line 823, sass/partials/_jquery_ui.scss */
2047
+ .cmb2-element.ui-datepicker .ui-datepicker-header, .cmb2-element .ui-datepicker .ui-datepicker-header {
2048
+ border: none;
2049
+ background: #222;
2050
+ color: #fff;
2051
+ font-weight: normal;
2052
+ }
2053
+ /* line 826, sass/partials/_jquery_ui.scss */
2054
+ .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover, .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover {
2055
+ background: #222;
2056
+ border-color: transparent;
2057
+ cursor: pointer;
2058
+ -webkit-border-radius: 0;
2059
+ -moz-border-radius: 0;
2060
+ border-radius: 0;
2061
+ }
2062
+ /* line 829, sass/partials/_jquery_ui.scss */
2063
+ .cmb2-element.ui-datepicker thead, .cmb2-element .ui-datepicker thead {
2064
+ background: #222;
2065
+ color: #fff;
2066
+ }
2067
+ /* line 832, sass/partials/_jquery_ui.scss */
2068
+ .cmb2-element.ui-datepicker .ui-datepicker-title, .cmb2-element .ui-datepicker .ui-datepicker-title {
2069
+ margin-top: .4em;
2070
+ margin-bottom: .3em;
2071
+ color: #fff;
2072
+ font-size: 14px;
2073
+ }
2074
+ /* line 835, sass/partials/_jquery_ui.scss */
2075
+ .cmb2-element.ui-datepicker .ui-datepicker-prev-hover,
2076
+ .cmb2-element.ui-datepicker .ui-datepicker-next-hover,
2077
+ .cmb2-element.ui-datepicker .ui-datepicker-next,
2078
+ .cmb2-element.ui-datepicker .ui-datepicker-prev, .cmb2-element .ui-datepicker .ui-datepicker-prev-hover,
2079
+ .cmb2-element .ui-datepicker .ui-datepicker-next-hover,
2080
+ .cmb2-element .ui-datepicker .ui-datepicker-next,
2081
+ .cmb2-element .ui-datepicker .ui-datepicker-prev {
2082
+ height: 1em;
2083
+ top: .9em;
2084
+ border: none;
2085
+ }
2086
+ /* line 841, sass/partials/_jquery_ui.scss */
2087
+ .cmb2-element.ui-datepicker .ui-datepicker-prev-hover, .cmb2-element .ui-datepicker .ui-datepicker-prev-hover {
2088
+ left: 2px;
2089
+ }
2090
+ /* line 844, sass/partials/_jquery_ui.scss */
2091
+ .cmb2-element.ui-datepicker .ui-datepicker-next-hover, .cmb2-element .ui-datepicker .ui-datepicker-next-hover {
2092
+ right: 2px;
2093
+ }
2094
+ /* line 847, sass/partials/_jquery_ui.scss */
2095
+ .cmb2-element.ui-datepicker .ui-datepicker-next span,
2096
+ .cmb2-element.ui-datepicker .ui-datepicker-prev span, .cmb2-element .ui-datepicker .ui-datepicker-next span,
2097
+ .cmb2-element .ui-datepicker .ui-datepicker-prev span {
2098
+ background-image: url("data:image/png;base64,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");
2099
+ background-position: -32px 0;
2100
+ margin-top: 0;
2101
+ top: 0;
2102
+ font-weight: normal;
2103
+ }
2104
+ /* line 851, sass/partials/_jquery_ui.scss */
2105
+ .cmb2-element.ui-datepicker .ui-datepicker-prev span, .cmb2-element .ui-datepicker .ui-datepicker-prev span {
2106
+ background-position: -96px 0;
2107
+ }
2108
+ /* line 854, sass/partials/_jquery_ui.scss */
2109
+ .cmb2-element.ui-datepicker th, .cmb2-element .ui-datepicker th {
2110
+ padding: 0.75em 0;
2111
+ color: #fff;
2112
+ font-weight: normal;
2113
+ border: none;
2114
+ border-top: 1px solid #333;
2115
+ }
2116
+ /* line 857, sass/partials/_jquery_ui.scss */
2117
+ .cmb2-element.ui-datepicker td, .cmb2-element .ui-datepicker td {
2118
+ background: #f1f1f1;
2119
+ border: none;
2120
+ padding: 0;
2121
+ }
2122
+ /* line 860, sass/partials/_jquery_ui.scss */
2123
+ .cmb2-element.ui-datepicker td .ui-state-default, .cmb2-element .ui-datepicker td .ui-state-default {
2124
+ background: transparent;
2125
+ border: none;
2126
+ text-align: center;
2127
+ padding: .5em;
2128
+ margin: 0;
2129
+ font-weight: normal;
2130
+ color: #333;
2131
+ }
2132
+ /* line 863, sass/partials/_jquery_ui.scss */
2133
+ .cmb2-element.ui-datepicker td .ui-state-active,
2134
+ .cmb2-element.ui-datepicker td .ui-state-hover, .cmb2-element .ui-datepicker td .ui-state-active,
2135
+ .cmb2-element .ui-datepicker td .ui-state-hover {
2136
+ background: #0074a2;
2137
+ color: #fff;
2138
+ }
2139
+ /* line 867, sass/partials/_jquery_ui.scss */
2140
+ .cmb2-element.ui-datepicker td.ui-state-disabled,
2141
+ .cmb2-element.ui-datepicker td.ui-state-disabled .ui-state-default, .cmb2-element .ui-datepicker td.ui-state-disabled,
2142
+ .cmb2-element .ui-datepicker td.ui-state-disabled .ui-state-default {
2143
+ opacity: 1;
2144
+ color: #999;
2145
+ }
2146
+ /* line 871, sass/partials/_jquery_ui.scss */
2147
+ .cmb2-element.ui-datepicker .ui-datepicker-close,
2148
+ .cmb2-element.ui-datepicker .ui-datepicker-current, .cmb2-element .ui-datepicker .ui-datepicker-close,
2149
+ .cmb2-element .ui-datepicker .ui-datepicker-current {
2150
+ font-size: 14px;
2151
+ font-weight: normal;
2152
+ background-image: none;
2153
+ border: none;
2154
+ }
2155
+ /* line 875, sass/partials/_jquery_ui.scss */
2156
+ .cmb2-element.ui-datepicker .ui-datepicker-current:hover,
2157
+ .cmb2-element.ui-datepicker .ui-datepicker-current:active,
2158
+ .cmb2-element.ui-datepicker .ui-datepicker-close:hover,
2159
+ .cmb2-element.ui-datepicker .ui-datepicker-close:active, .cmb2-element .ui-datepicker .ui-datepicker-current:hover,
2160
+ .cmb2-element .ui-datepicker .ui-datepicker-current:active,
2161
+ .cmb2-element .ui-datepicker .ui-datepicker-close:hover,
2162
+ .cmb2-element .ui-datepicker .ui-datepicker-close:active {
2163
+ background: #096484;
2164
+ color: #fff;
2165
+ }
2166
+ /* line 881, sass/partials/_jquery_ui.scss */
2167
+ .cmb2-element.ui-datepicker .ui-datepicker-buttonpane, .cmb2-element .ui-datepicker .ui-datepicker-buttonpane {
2168
+ border: none;
2169
+ }
2170
+ /* line 885, sass/partials/_jquery_ui.scss */
2171
+ .cmb2-element.ui-datepicker.ui-datepicker-multi, .cmb2-element .ui-datepicker.ui-datepicker-multi {
2172
+ width: auto;
2173
+ }
2174
+ /* line 890, sass/partials/_jquery_ui.scss */
2175
+ .cmb2-element .ui-datepicker-multi .ui-datepicker-group {
2176
+ float: left;
2177
+ }
2178
+ /* line 893, sass/partials/_jquery_ui.scss */
2179
+ .cmb2-element .ui-datepicker-multi .ui-datepicker-group table {
2180
+ width: 95%;
2181
+ margin: 0 auto .4em;
2182
+ }
2183
+ /* line 896, sass/partials/_jquery_ui.scss */
2184
+ .cmb2-element .ui-datepicker-multi-2 .ui-datepicker-group {
2185
+ width: 50%;
2186
+ }
2187
+ /* line 899, sass/partials/_jquery_ui.scss */
2188
+ .cmb2-element .ui-datepicker-multi-3 .ui-datepicker-group {
2189
+ width: 33.3%;
2190
+ }
2191
+ /* line 902, sass/partials/_jquery_ui.scss */
2192
+ .cmb2-element .ui-datepicker-multi-4 .ui-datepicker-group {
2193
+ width: 25%;
2194
+ }
2195
+ /* line 905, sass/partials/_jquery_ui.scss */
2196
+ .cmb2-element .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header {
2197
+ border-left-width: 0;
2198
+ }
2199
+ /* line 908, sass/partials/_jquery_ui.scss */
2200
+ .cmb2-element .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
2201
+ border-left-width: 0;
2202
+ }
2203
+ /* line 911, sass/partials/_jquery_ui.scss */
2204
+ .cmb2-element .ui-datepicker-multi .ui-datepicker-buttonpane {
2205
+ clear: left;
2206
+ }
2207
+ /* line 914, sass/partials/_jquery_ui.scss */
2208
+ .cmb2-element .ui-datepicker-row-break {
2209
+ clear: both;
2210
+ width: 100%;
2211
+ font-size: 0em;
2212
+ }
2213
+ /* line 917, sass/partials/_jquery_ui.scss */
2214
+ .cmb2-element .ui-datepicker-rtl {
2215
+ direction: rtl;
2216
+ }
2217
+ /* line 919, sass/partials/_jquery_ui.scss */
2218
+ .cmb2-element .ui-datepicker-rtl .ui-datepicker-prev {
2219
+ right: 2px;
2220
+ left: auto;
2221
+ }
2222
+ /* line 922, sass/partials/_jquery_ui.scss */
2223
+ .cmb2-element .ui-datepicker-rtl .ui-datepicker-next {
2224
+ left: 2px;
2225
+ right: auto;
2226
+ }
2227
+ /* line 925, sass/partials/_jquery_ui.scss */
2228
+ .cmb2-element .ui-datepicker-rtl .ui-datepicker-prev:hover {
2229
+ right: 1px;
2230
+ left: auto;
2231
+ }
2232
+ /* line 928, sass/partials/_jquery_ui.scss */
2233
+ .cmb2-element .ui-datepicker-rtl .ui-datepicker-next:hover {
2234
+ left: 1px;
2235
+ right: auto;
2236
+ }
2237
+ /* line 931, sass/partials/_jquery_ui.scss */
2238
+ .cmb2-element .ui-datepicker-rtl .ui-datepicker-buttonpane {
2239
+ clear: right;
2240
+ }
2241
+ /* line 934, sass/partials/_jquery_ui.scss */
2242
+ .cmb2-element .ui-datepicker-rtl .ui-datepicker-buttonpane button {
2243
+ float: left;
2244
+ }
2245
+ /* line 937, sass/partials/_jquery_ui.scss */
2246
+ .cmb2-element .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current {
2247
+ float: right;
2248
+ }
2249
+ /* line 940, sass/partials/_jquery_ui.scss */
2250
+ .cmb2-element .ui-datepicker-rtl .ui-datepicker-group {
2251
+ float: right;
2252
+ }
2253
+ /* line 943, sass/partials/_jquery_ui.scss */
2254
+ .cmb2-element .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header {
2255
+ border-right-width: 0;
2256
+ border-left-width: 1px;
2257
+ }
2258
+ /* line 946, sass/partials/_jquery_ui.scss */
2259
+ .cmb2-element .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
2260
+ border-right-width: 0;
2261
+ border-left-width: 1px;
2262
+ }
2263
+ /* line 950, sass/partials/_jquery_ui.scss */
2264
+ .cmb2-element .ui-datepicker-cover {
2265
+ display: none;
2266
+ /*sorry for IE5*/
2267
+ display/**/: block;
2268
+ /*sorry for IE5*/
2269
+ position: absolute;
2270
+ /*must have*/
2271
+ z-index: -1;
2272
+ /*must have*/
2273
+ filter: mask();
2274
+ /*must have*/
2275
+ top: -4px;
2276
+ /*must have*/
2277
+ left: -4px;
2278
+ /*must have*/
2279
+ width: 200px;
2280
+ /*must have*/
2281
+ height: 200px;
2282
+ /*must have*/
2283
+ }
2284
+ /* line 961, sass/partials/_jquery_ui.scss */
2285
+ .cmb2-element .ui-timepicker-div {
2286
+ font-size: 14px;
2287
+ }
2288
+ /* line 964, sass/partials/_jquery_ui.scss */
2289
+ .cmb2-element .ui-timepicker-div .ui-widget-header {
2290
+ margin-bottom: 8px;
2291
+ background: #222;
2292
+ border-color: #222;
2293
+ }
2294
+ /* line 967, sass/partials/_jquery_ui.scss */
2295
+ .cmb2-element .ui-timepicker-div dl {
2296
+ text-align: left;
2297
+ }
2298
+ /* line 970, sass/partials/_jquery_ui.scss */
2299
+ .cmb2-element .ui-timepicker-div dl dt {
2300
+ float: left;
2301
+ clear: left;
2302
+ padding: 0 0 0 5px;
2303
+ }
2304
+ /* line 973, sass/partials/_jquery_ui.scss */
2305
+ .cmb2-element .ui-timepicker-div dl dd {
2306
+ margin: 0 10px 10px 40%;
2307
+ }
2308
+ /* line 976, sass/partials/_jquery_ui.scss */
2309
+ .cmb2-element .ui-tpicker-grid-label {
2310
+ background: none;
2311
+ border: none;
2312
+ margin: 0;
2313
+ padding: 0;
2314
+ }
2315
+ /* line 979, sass/partials/_jquery_ui.scss */
2316
+ .cmb2-element .ui-timepicker-rtl {
2317
+ direction: rtl;
2318
+ }
2319
+ /* line 982, sass/partials/_jquery_ui.scss */
2320
+ .cmb2-element .ui-timepicker-rtl dl {
2321
+ text-align: right;
2322
+ padding: 0 5px 0 0;
2323
+ }
2324
+ /* line 985, sass/partials/_jquery_ui.scss */
2325
+ .cmb2-element .ui-timepicker-rtl dl dt {
2326
+ float: right;
2327
+ clear: right;
2328
+ }
2329
+ /* line 988, sass/partials/_jquery_ui.scss */
2330
+ .cmb2-element .ui-timepicker-rtl dl dd {
2331
+ margin: 0 40% 10px 10px;
2332
+ }
2333
+
2334
+ /* line 995, sass/partials/_jquery_ui.scss */
2335
+ .admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-header,
2336
+ .admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,
2337
+ .admin-color-blue .cmb2-element.ui-datepicker thead, .admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-header,
2338
+ .admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,
2339
+ .admin-color-blue .cmb2-element .ui-datepicker thead {
2340
+ background: #4796b3;
2341
+ }
2342
+ /* line 1000, sass/partials/_jquery_ui.scss */
2343
+ .admin-color-blue .cmb2-element.ui-datepicker th, .admin-color-blue .cmb2-element .ui-datepicker th {
2344
+ border-color: #52accc;
2345
+ }
2346
+ /* line 1003, sass/partials/_jquery_ui.scss */
2347
+ .admin-color-blue .cmb2-element.ui-datepicker td .ui-state-active,
2348
+ .admin-color-blue .cmb2-element.ui-datepicker td .ui-state-hover, .admin-color-blue .cmb2-element .ui-datepicker td .ui-state-active,
2349
+ .admin-color-blue .cmb2-element .ui-datepicker td .ui-state-hover {
2350
+ background: #096484;
2351
+ }
2352
+ /* line 1007, sass/partials/_jquery_ui.scss */
2353
+ .admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-current:hover,
2354
+ .admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-current:active,
2355
+ .admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-close:hover,
2356
+ .admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-close:active, .admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-current:hover,
2357
+ .admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-current:active,
2358
+ .admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-close:hover,
2359
+ .admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-close:active {
2360
+ background: #096484;
2361
+ color: #fff;
2362
+ }
2363
+ /* line 1014, sass/partials/_jquery_ui.scss */
2364
+ .admin-color-blue .cmb2-element .ui-timepicker-div .ui-widget-header {
2365
+ background: #4796b3;
2366
+ }
2367
+ /* line 1017, sass/partials/_jquery_ui.scss */
2368
+ .admin-color-blue .cmb2-element .ui-timepicker-div .ui-widget-header {
2369
+ border-color: #4796b3;
2370
+ }
2371
+
2372
+ /* line 1025, sass/partials/_jquery_ui.scss */
2373
+ .admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-header,
2374
+ .admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,
2375
+ .admin-color-coffee .cmb2-element.ui-datepicker thead, .admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-header,
2376
+ .admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,
2377
+ .admin-color-coffee .cmb2-element .ui-datepicker thead {
2378
+ background: #46403c;
2379
+ }
2380
+ /* line 1030, sass/partials/_jquery_ui.scss */
2381
+ .admin-color-coffee .cmb2-element.ui-datepicker th, .admin-color-coffee .cmb2-element .ui-datepicker th {
2382
+ border-color: #59524c;
2383
+ }
2384
+ /* line 1033, sass/partials/_jquery_ui.scss */
2385
+ .admin-color-coffee .cmb2-element.ui-datepicker td .ui-state-active,
2386
+ .admin-color-coffee .cmb2-element.ui-datepicker td .ui-state-hover, .admin-color-coffee .cmb2-element .ui-datepicker td .ui-state-active,
2387
+ .admin-color-coffee .cmb2-element .ui-datepicker td .ui-state-hover {
2388
+ background: #c7a589;
2389
+ }
2390
+ /* line 1037, sass/partials/_jquery_ui.scss */
2391
+ .admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-current:hover,
2392
+ .admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-current:active,
2393
+ .admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-close:hover,
2394
+ .admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-close:active, .admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-current:hover,
2395
+ .admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-current:active,
2396
+ .admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-close:hover,
2397
+ .admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-close:active {
2398
+ background: #c7a589;
2399
+ color: #fff;
2400
+ }
2401
+ /* line 1044, sass/partials/_jquery_ui.scss */
2402
+ .admin-color-coffee .cmb2-element .ui-timepicker-div .ui-widget-header {
2403
+ background: #46403c;
2404
+ }
2405
+
2406
+ /* line 1052, sass/partials/_jquery_ui.scss */
2407
+ .admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-header,
2408
+ .admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,
2409
+ .admin-color-ectoplasm .cmb2-element.ui-datepicker thead, .admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-header,
2410
+ .admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,
2411
+ .admin-color-ectoplasm .cmb2-element .ui-datepicker thead {
2412
+ background: #413256;
2413
+ }
2414
+ /* line 1057, sass/partials/_jquery_ui.scss */
2415
+ .admin-color-ectoplasm .cmb2-element.ui-datepicker th, .admin-color-ectoplasm .cmb2-element .ui-datepicker th {
2416
+ border-color: #523f6d;
2417
+ }
2418
+ /* line 1060, sass/partials/_jquery_ui.scss */
2419
+ .admin-color-ectoplasm .cmb2-element.ui-datepicker td .ui-state-active,
2420
+ .admin-color-ectoplasm .cmb2-element.ui-datepicker td .ui-state-hover, .admin-color-ectoplasm .cmb2-element .ui-datepicker td .ui-state-active,
2421
+ .admin-color-ectoplasm .cmb2-element .ui-datepicker td .ui-state-hover {
2422
+ background: #a3b745;
2423
+ }
2424
+ /* line 1064, sass/partials/_jquery_ui.scss */
2425
+ .admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-current:hover,
2426
+ .admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-current:active,
2427
+ .admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-close:hover,
2428
+ .admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-close:active, .admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-current:hover,
2429
+ .admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-current:active,
2430
+ .admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-close:hover,
2431
+ .admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-close:active {
2432
+ background: #a3b745;
2433
+ color: #fff;
2434
+ }
2435
+ /* line 1072, sass/partials/_jquery_ui.scss */
2436
+ .admin-color-ectoplasm .cmb2-element .ui-timepicker-div .ui-widget-header {
2437
+ background: #413256;
2438
+ border-color: #413256;
2439
+ }
2440
+
2441
+ /* line 1082, sass/partials/_jquery_ui.scss */
2442
+ .admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-header,
2443
+ .admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,
2444
+ .admin-color-midnight .cmb2-element.ui-datepicker thead, .admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-header,
2445
+ .admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,
2446
+ .admin-color-midnight .cmb2-element .ui-datepicker thead {
2447
+ background: #26292c;
2448
+ }
2449
+ /* line 1087, sass/partials/_jquery_ui.scss */
2450
+ .admin-color-midnight .cmb2-element.ui-datepicker th, .admin-color-midnight .cmb2-element .ui-datepicker th {
2451
+ border-color: #363b3f;
2452
+ }
2453
+ /* line 1090, sass/partials/_jquery_ui.scss */
2454
+ .admin-color-midnight .cmb2-element.ui-datepicker td .ui-state-active,
2455
+ .admin-color-midnight .cmb2-element.ui-datepicker td .ui-state-hover, .admin-color-midnight .cmb2-element .ui-datepicker td .ui-state-active,
2456
+ .admin-color-midnight .cmb2-element .ui-datepicker td .ui-state-hover {
2457
+ background: #e14d43;
2458
+ }
2459
+ /* line 1094, sass/partials/_jquery_ui.scss */
2460
+ .admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-current:hover,
2461
+ .admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-current:active,
2462
+ .admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-close:hover,
2463
+ .admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-close:active, .admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-current:hover,
2464
+ .admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-current:active,
2465
+ .admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-close:hover,
2466
+ .admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-close:active {
2467
+ background: #e14d43;
2468
+ color: #fff;
2469
+ }
2470
+ /* line 1101, sass/partials/_jquery_ui.scss */
2471
+ .admin-color-midnight .cmb2-element .ui-timepicker-div .ui-widget-header {
2472
+ background: #26292c;
2473
+ }
2474
+
2475
+ /* line 1109, sass/partials/_jquery_ui.scss */
2476
+ .admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-header,
2477
+ .admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,
2478
+ .admin-color-ocean .cmb2-element.ui-datepicker thead, .admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-header,
2479
+ .admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,
2480
+ .admin-color-ocean .cmb2-element .ui-datepicker thead {
2481
+ background: #627c83;
2482
+ }
2483
+ /* line 1114, sass/partials/_jquery_ui.scss */
2484
+ .admin-color-ocean .cmb2-element.ui-datepicker th, .admin-color-ocean .cmb2-element .ui-datepicker th {
2485
+ border-color: #738e96;
2486
+ }
2487
+ /* line 1117, sass/partials/_jquery_ui.scss */
2488
+ .admin-color-ocean .cmb2-element.ui-datepicker td .ui-state-active,
2489
+ .admin-color-ocean .cmb2-element.ui-datepicker td .ui-state-hover, .admin-color-ocean .cmb2-element .ui-datepicker td .ui-state-active,
2490
+ .admin-color-ocean .cmb2-element .ui-datepicker td .ui-state-hover {
2491
+ background: #9ebaa0;
2492
+ }
2493
+ /* line 1121, sass/partials/_jquery_ui.scss */
2494
+ .admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-current:hover,
2495
+ .admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-current:active,
2496
+ .admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-close:hover,
2497
+ .admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-close:active, .admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-current:hover,
2498
+ .admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-current:active,
2499
+ .admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-close:hover,
2500
+ .admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-close:active {
2501
+ background: #9ebaa0;
2502
+ color: #fff;
2503
+ }
2504
+ /* line 1128, sass/partials/_jquery_ui.scss */
2505
+ .admin-color-ocean .cmb2-element .ui-timepicker-div .ui-widget-header {
2506
+ background: #627c83;
2507
+ border-color: #627c83;
2508
+ }
2509
+
2510
+ /* line 1137, sass/partials/_jquery_ui.scss */
2511
+ .admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-header,
2512
+ .admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,
2513
+ .admin-color-sunrise .cmb2-element.ui-datepicker thead, .admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header,
2514
+ .admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,
2515
+ .admin-color-sunrise .cmb2-element .ui-datepicker thead {
2516
+ background: #be3631;
2517
+ }
2518
+ /* line 1142, sass/partials/_jquery_ui.scss */
2519
+ .admin-color-sunrise .cmb2-element.ui-datepicker th, .admin-color-sunrise .cmb2-element .ui-datepicker th {
2520
+ border-color: #cf4944;
2521
+ }
2522
+ /* line 1145, sass/partials/_jquery_ui.scss */
2523
+ .admin-color-sunrise .cmb2-element.ui-datepicker td .ui-state-active,
2524
+ .admin-color-sunrise .cmb2-element.ui-datepicker td .ui-state-hover, .admin-color-sunrise .cmb2-element .ui-datepicker td .ui-state-active,
2525
+ .admin-color-sunrise .cmb2-element .ui-datepicker td .ui-state-hover {
2526
+ background: #dd823b;
2527
+ }
2528
+ /* line 1149, sass/partials/_jquery_ui.scss */
2529
+ .admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-current:hover,
2530
+ .admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-current:active,
2531
+ .admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-close:hover,
2532
+ .admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-close:active, .admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-current:hover,
2533
+ .admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-current:active,
2534
+ .admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-close:hover,
2535
+ .admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-close:active {
2536
+ background: #dd823b;
2537
+ color: #fff;
2538
+ }
2539
+ /* line 1156, sass/partials/_jquery_ui.scss */
2540
+ .admin-color-sunrise .cmb2-element .ui-timepicker-div .ui-widget-header {
2541
+ background: #be3631;
2542
+ border-color: #be3631;
2543
+ }
2544
+
2545
+ /* line 1164, sass/partials/_jquery_ui.scss */
2546
+ .admin-color-light .cmb2-element .ui-timepicker-div .ui-widget-header {
2547
+ background: #e5e5e5;
2548
+ border-color: #e5e5e5;
2549
+ color: #555;
2550
+ }
2551
+ /* line 1170, sass/partials/_jquery_ui.scss */
2552
+ .admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-header,
2553
+ .admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,
2554
+ .admin-color-light .cmb2-element.ui-datepicker thead, .admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-header,
2555
+ .admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,
2556
+ .admin-color-light .cmb2-element .ui-datepicker thead {
2557
+ background: #e5e5e5;
2558
+ }
2559
+ /* line 1175, sass/partials/_jquery_ui.scss */
2560
+ .admin-color-light .cmb2-element.ui-datepicker td, .admin-color-light .cmb2-element .ui-datepicker td {
2561
+ background: #fff;
2562
+ }
2563
+ /* line 1179, sass/partials/_jquery_ui.scss */
2564
+ .admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-next span,
2565
+ .admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-prev span, .admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-next span,
2566
+ .admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-prev span {
2567
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAYAAADvl7rLAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMUIxRjI2RjhCODYxMUUzQTEyNERCMDU1QzdBQ0EyMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxMUIxRjI3MDhCODYxMUUzQTEyNERCMDU1QzdBQ0EyMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjExQjFGMjZEOEI4NjExRTNBMTI0REIwNTVDN0FDQTIwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjExQjFGMjZFOEI4NjExRTNBMTI0REIwNTVDN0FDQTIwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+kKfR4AAAHcRJREFUeNrsXWuM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");
2568
+ }
2569
+ /* line 1183, sass/partials/_jquery_ui.scss */
2570
+ .admin-color-light .cmb2-element.ui-datepicker th, .admin-color-light .cmb2-element .ui-datepicker th {
2571
+ border-color: #fff;
2572
+ }
2573
+ /* line 1186, sass/partials/_jquery_ui.scss */
2574
+ .admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-title,
2575
+ .admin-color-light .cmb2-element.ui-datepicker td .ui-state-default,
2576
+ .admin-color-light .cmb2-element.ui-datepicker th, .admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-title,
2577
+ .admin-color-light .cmb2-element .ui-datepicker td .ui-state-default,
2578
+ .admin-color-light .cmb2-element .ui-datepicker th {
2579
+ color: #555;
2580
+ }
2581
+ /* line 1191, sass/partials/_jquery_ui.scss */
2582
+ .admin-color-light .cmb2-element.ui-datepicker td .ui-state-active,
2583
+ .admin-color-light .cmb2-element.ui-datepicker td .ui-state-hover,
2584
+ .admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-current:hover,
2585
+ .admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-current:active,
2586
+ .admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-close:hover,
2587
+ .admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-close:active, .admin-color-light .cmb2-element .ui-datepicker td .ui-state-active,
2588
+ .admin-color-light .cmb2-element .ui-datepicker td .ui-state-hover,
2589
+ .admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-current:hover,
2590
+ .admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-current:active,
2591
+ .admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-close:hover,
2592
+ .admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-close:active {
2593
+ color: #fff;
2594
+ background: #888;
2595
+ }
2596
+ /* line 1199, sass/partials/_jquery_ui.scss */
2597
+ .admin-color-light .cmb2-element.ui-datepicker td.ui-state-disabled,
2598
+ .admin-color-light .cmb2-element.ui-datepicker td.ui-state-disabled .ui-state-default, .admin-color-light .cmb2-element .ui-datepicker td.ui-state-disabled,
2599
+ .admin-color-light .cmb2-element .ui-datepicker td.ui-state-disabled .ui-state-default {
2600
+ color: #ccc;
2601
+ }
2602
+ /* line 1204, sass/partials/_jquery_ui.scss */
2603
+ .admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-current, .admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-current {
2604
+ background: #f1f1f1;
2605
+ }
2606
+
2607
+ /**
2608
+ * CMB2 Frontend
2609
+ */
2610
+ /* line 1, sass/partials/_front.scss */
2611
+ .closed .inside {
2612
+ display: none;
2613
+ }
2614
+
2615
+ /* line 5, sass/partials/_front.scss */
2616
+ .cmb-repeatable-grouping {
2617
+ position: relative;
2618
+ }
2619
+ /* line 8, sass/partials/_front.scss */
2620
+ .cmb-repeatable-grouping .cmb-group-title {
2621
+ margin-left: -1em;
2622
+ margin-right: -1em;
2623
+ min-height: 1.5em;
2624
+ }
2625
+ /* line 14, sass/partials/_front.scss */
2626
+ .cmb-repeatable-grouping h3 {
2627
+ font-size: 14px;
2628
+ padding: 8px 12px;
2629
+ margin: 0;
2630
+ line-height: 1.4;
2631
+ }
2632
+
2633
+ /* line 25, sass/partials/_front.scss */
2634
+ .cmb-repeatable-group.repeatable .cmb-group-title {
2635
+ padding-left: 2.2em;
2636
+ }
2637
+ /* line 29, sass/partials/_front.scss */
2638
+ .cmb-repeatable-group.non-repeatable .cmb-group-title {
2639
+ padding-left: 12px;
2640
+ }
2641
+
2642
+ /* line 35, sass/partials/_front.scss */
2643
+ .cmb-repeat-group-wrap .cmb-row .cmbhandle {
2644
+ right: 0;
2645
+ position: absolute;
2646
+ }
2647
+
2648
+ /*# sourceMappingURL=cmb2-front.css.map */
vendor/CMB2/css/cmb2-front.css.map ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ {
2
+ "version": 3,
3
+ "mappings": "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",
4
+ "sources": ["sass/partials/_main_wrap.scss","sass/partials/_variables.scss","sass/partials/_mixins.scss","sass/partials/_post_metaboxes.scss","sass/partials/_misc.scss","sass/partials/_sidebar_placements.scss","sass/partials/_collapsible_ui.scss","sass/partials/_jquery_ui.scss","sass/partials/_front.scss"],
5
+ "names": [],
6
+ "file": "cmb2-front.css"
7
+ }
vendor/CMB2/css/cmb2-front.min.css ADDED
@@ -0,0 +1 @@
 
1
+ .cmb2-wrap{margin:0}.cmb2-wrap input,.cmb2-wrap textarea{font-size:14px;max-width:100%;padding:5px}.cmb2-wrap input[type=text].cmb2-oembed{width:100%}.cmb2-wrap textarea{width:500px}.cmb2-wrap textarea.cmb2-textarea-code{font-family:"Courier 10 Pitch",Courier,monospace;line-height:16px}.cmb2-wrap input.cmb2-text-small,.cmb2-wrap input.cmb2-timepicker{width:100px}.cmb2-wrap input.cmb2-text-money{width:90px}.cmb2-wrap input.cmb2-text-medium{width:230px}.cmb2-wrap input.cmb2-upload-file{width:65%}.cmb2-wrap input.ed_button{padding:2px 4px}.cmb2-wrap input:not([type=hidden])+.button,.cmb2-wrap input:not([type=hidden])+input,.cmb2-wrap input:not([type=hidden])+select{margin-left:20px}.cmb2-wrap ul{margin:0}.cmb2-wrap li{font-size:14px;line-height:16px;margin:1px 0 5px}.cmb2-wrap select{font-size:14px;margin-top:3px}.cmb2-wrap input:focus,.cmb2-wrap textarea:focus{background:#fffff8}.cmb2-wrap input[type=checkbox],.cmb2-wrap input[type=radio]{margin:0 5px 0 0;padding:0}.cmb2-wrap .button,.cmb2-wrap button{white-space:nowrap}.cmb2-wrap .mceLayout{border:1px solid #e9e9e9!important}.cmb2-wrap .mceIframeContainer{background:#fff}.cmb2-wrap .meta_mce{width:97%}.cmb2-wrap .meta_mce textarea{width:100%}.cmb2-wrap .wp-color-result,.cmb2-wrap .wp-picker-input-wrap{vertical-align:middle}.cmb2-wrap .wp-color-result,.cmb2-wrap .wp-picker-container{margin:0 10px 0 0}.cmb2-wrap .cmb-row{margin:0}.cmb2-wrap .cmb-row:after{content:'';clear:both;display:block;width:100%}.cmb2-wrap .cmb-row.cmb-repeat-row{padding:1.8em 0 0}.cmb2-wrap .cmb-row.cmb-repeat-row:first-of-type{padding:0}.cmb2-wrap .cmb-row.cmb-repeat .cmb2-metabox-description{padding-top:0;padding-bottom:1.8em}.cmb2-metabox{clear:both;margin:0}.cmb2-metabox .cmb-field-list>.cmb-row:first-of-type>.cmb-td,.cmb2-metabox .cmb-field-list>.cmb-row:first-of-type>.cmb-th,.cmb2-metabox>.cmb-row:first-of-type>.cmb-td,.cmb2-metabox>.cmb-row:first-of-type>.cmb-th{border:0}.cmb2-metabox>.cmb-row .cmb-repeat-table .cmb-row>.cmb-td{padding-right:20px;box-sizing:border-box;float:left}.cmb-add-row{margin:1.8em 0 0}.cmb-nested .cmb-td,.cmb-repeatable-group .cmb-th,.cmb-repeatable-group:first-of-type{border:0}.cmb-repeatable-group:last-of-type,.cmb-row:last-of-type,.cmb2-wrap .cmb-row:last-of-type{border-bottom:0}.cmb-repeatable-grouping{border:1px solid #e9e9e9;padding:0 1em;max-width:1000px}.cmb-repeatable-grouping.cmb-row{margin:0 0 .8em}.cmb-th{color:#222;float:left;font-weight:600;line-height:1.3;padding:20px 10px 20px 0;vertical-align:top;width:200px}@media (max-width:450px){.cmb-th{font-size:1.2em;display:block;float:none;padding-bottom:1em;text-align:left;width:100%}.cmb-th label{display:block;margin-top:0;padding-bottom:5px}.cmb-th label:after{border-bottom:1px solid #e9e9e9;content:'';clear:both;display:block;padding-top:.4em}}.cmb-td{line-height:1.3;max-width:100%;padding:15px 10px;vertical-align:middle}.cmb-type-title .cmb-td{padding:0}.cmb-th label{display:block;padding:5px 0}.cmb-th+.cmb-td{float:left}.cmb-td .cmb-td{padding-bottom:1em}.cmb-remove-row{text-align:right}.empty-row.hidden{display:none}.cmb-repeatable-group .cmb-th{padding:5px}.cmb-repeatable-group .cmb-group-title{background-color:#e9e9e9;padding:8px 12px 8px 2.2em;margin:0 -1em;min-height:1.5em;font-size:14px;line-height:1.4}.cmb-repeatable-group .cmb-group-title h4{border:0;margin:0;font-size:1.2em;font-weight:500;padding:.5em .75em}.cmb-repeatable-group .cmb-group-title .cmb-th{display:block;width:100%}.cmb-repeatable-group .cmb-group-description .cmb-th{font-size:1.2em;display:block;float:none;padding-bottom:1em;text-align:left;width:100%}.cmb-repeatable-group .cmb-group-description .cmb-th label{display:block;margin-top:0;padding-bottom:5px}.cmb-repeatable-group .cmb-group-description .cmb-th label:after{border-bottom:1px solid #e9e9e9;content:'';clear:both;display:block;padding-top:.4em}.cmb-repeatable-group .cmb-shift-rows{font-size:1em;margin-right:1em;text-decoration:none}.cmb-repeatable-group .cmb-shift-rows .dashicons{font-size:1.5em;height:1.5em;line-height:1.2em;width:1em}.cmb-repeatable-group .cmb-shift-rows .dashicons.dashicons-arrow-down-alt2{line-height:1.3em}.cmb-repeatable-group .cmb2-upload-button{float:right}p.cmb2-metabox-description{color:#aaa;font-style:italic;margin:0;padding-top:.5em}span.cmb2-metabox-description{color:#aaa;font-style:italic}.cmb2-metabox-title{margin:0 0 5px;padding:5px 0 0;font-size:14px}.cmb-inline ul{padding:4px 0 0}.cmb-inline li{display:inline-block;padding-right:18px}.cmb-type-textarea-code pre{margin:0}.cmb2-media-status .img-status{clear:none;display:inline-block;float:left;margin-right:10px;width:auto}.cmb2-media-status .img-status img{max-width:350px}.cmb2-media-status .embed-status,.cmb2-media-status .img-status img{background:#fff;border:1px solid #e9e9e9;border-radius:2px;-moz-border-radius:2px;margin:15px 0 0;padding:5px}.cmb2-media-status .embed-status{float:left;max-width:800px}.cmb2-media-status .embed-status,.cmb2-media-status .img-status{position:relative}.cmb2-media-status .embed-status .cmb2-remove-file-button,.cmb2-media-status .img-status .cmb2-remove-file-button{background:url(../images/ico-delete.png);height:16px;left:-5px;position:absolute;text-indent:-9999px;top:-5px;width:16px}.cmb2-media-status .img-status .cmb2-remove-file-button{top:10px}.cmb2-media-status .file-status>span,.cmb2-media-status .img-status img{cursor:pointer}.cmb-type-file-list .cmb2-media-status .img-status{clear:none;float:left;margin-right:10px;width:auto}.cmb-attach-list li{clear:both;display:inline-block;margin-bottom:25px;width:100%}.cmb-attach-list li img{cursor:move;float:left;margin-right:10px}.cmb2-remove-wrapper{margin:0}.child-cmb2 .cmb-th{text-align:left}@media (max-width:450px){.cmb-td,.cmb-th,.cmb-th+.cmb-td{display:block;float:none;width:100%}}#poststuff .cmb-group-title{margin-left:-1em;margin-right:-1em;min-height:1.5em}#poststuff .repeatable .cmb-group-title{padding-left:2.2em}.cmb-repeat-group-wrap .cmb2-wrap,.postbox-container .cmb2-wrap{margin:0}.cmb-repeat-group-wrap .cmb2-wrap>.cmb-field-list>.cmb-row,.postbox-container .cmb2-wrap>.cmb-field-list>.cmb-row{padding:1.8em 0}.cmb-repeat-group-wrap .cmb2-wrap input[type=text].cmb2-oembed,.postbox-container .cmb2-wrap input[type=text].cmb2-oembed{width:100%}.cmb-repeat-group-wrap .cmb-row,.postbox-container .cmb-row{padding:0 0 1.8em;margin:0 0 .8em}.cmb-repeat-group-wrap .cmb-row .cmbhandle,.postbox-container .cmb-row .cmbhandle{right:-1em;position:relative}.cmb-repeat-group-wrap .cmb-repeatable-grouping,.postbox-container .cmb-repeatable-grouping{padding:0 1em;max-width:100%;min-width:1px!important}.cmb-repeat-group-wrap .cmb-repeatable-group>.cmb-row,.postbox-container .cmb-repeatable-group>.cmb-row{padding-bottom:0}.cmb-repeat-group-wrap .cmb-th,.postbox-container .cmb-th{width:18%;padding:0 2% 0 0}.cmb-repeat-group-wrap .cmb-td,.postbox-container .cmb-td{margin-bottom:0;padding:0;line-height:1.3}.cmb-repeat-group-wrap .cmb-repeat-row .cmb-td,.postbox-container .cmb-repeat-row .cmb-td{padding-bottom:1.8em}.cmb-repeat-group-wrap .cmb-th+.cmb-td,.postbox-container .cmb-th+.cmb-td{width:80%;float:right}.cmb-repeat-group-wrap .cmb-repeatable-group:not(:last-of-type),.cmb-repeat-group-wrap .cmb-row:not(:last-of-type),.postbox-container .cmb-repeatable-group:not(:last-of-type),.postbox-container .cmb-row:not(:last-of-type){border-bottom:1px solid #e9e9e9}@media (max-width:450px){.cmb-repeat-group-wrap .cmb-repeatable-group:not(:last-of-type),.cmb-repeat-group-wrap .cmb-row:not(:last-of-type),.postbox-container .cmb-repeatable-group:not(:last-of-type),.postbox-container .cmb-row:not(:last-of-type){border-bottom:0}}.cmb-repeat-group-wrap .cmb-remove-field-row,.cmb-repeat-group-wrap .cmb-repeat-group-field,.postbox-container .cmb-remove-field-row,.postbox-container .cmb-repeat-group-field{padding-top:1.8em}.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody,.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody,.postbox-container .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody,.postbox-container .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody{display:table;width:100%}.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,.postbox-container .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,.postbox-container .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text{width:100%}.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),.postbox-container .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),.postbox-container .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row){display:table-row}.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,.postbox-container .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,.postbox-container .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td{display:table-cell;float:none;width:100%}.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,.postbox-container .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,.postbox-container .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td{padding-top:1.8em}.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,.postbox-container .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,.postbox-container .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row{padding-right:0}#poststuff .cmb-repeatable-group h2{margin:0}.edit-tags-php .cmb2-metabox-title,.profile-php .cmb2-metabox-title,.user-edit-php .cmb2-metabox-title{font-size:1.4em}.cmb2-options-page .cmb2-metabox-title{font-size:1.3em;margin:1em 0}.cmb2-options-page .cmb2-metabox-title+p.cmb2-metabox-description{margin-top:-1.6em;margin-bottom:.8em}.postbox .cmb-spinner{float:left}#side-sortables .cmb2-wrap>.cmb-field-list>.cmb-row,.inner-sidebar .cmb2-wrap>.cmb-field-list>.cmb-row{padding:1.4em 0}#side-sortables .cmb2-wrap input[type=text]:not(.wp-color-picker),.inner-sidebar .cmb2-wrap input[type=text]:not(.wp-color-picker){width:100%}#side-sortables .cmb2-wrap input+input:not(.wp-picker-clear),#side-sortables .cmb2-wrap input+select,.inner-sidebar .cmb2-wrap input+input:not(.wp-picker-clear),.inner-sidebar .cmb2-wrap input+select{margin-left:0;margin-top:1em;display:block}#side-sortables .cmb2-wrap input.cmb2-text-money,.inner-sidebar .cmb2-wrap input.cmb2-text-money{max-width:70%}#side-sortables .cmb2-wrap input.cmb2-text-money+.cmb2-metabox-description,.inner-sidebar .cmb2-wrap input.cmb2-text-money+.cmb2-metabox-description{display:block}#side-sortables .cmb2-wrap label,.inner-sidebar .cmb2-wrap label{display:block;font-weight:700;padding:0 0 5px}#side-sortables textarea,.inner-sidebar textarea{max-width:99%}#side-sortables .cmb-repeatable-group,.inner-sidebar .cmb-repeatable-group{border-bottom:1px solid #e9e9e9}#side-sortables .cmb-repeat-group-wrap>.cmb-td>.cmb-repeatable-group,.inner-sidebar .cmb-repeat-group-wrap>.cmb-td>.cmb-repeatable-group{border-bottom:0;margin-bottom:-1.4em}#side-sortables .cmb-td,#side-sortables .cmb-th,#side-sortables .cmb-th+.cmb-td,.inner-sidebar .cmb-td,.inner-sidebar .cmb-th,.inner-sidebar .cmb-th+.cmb-td{width:100%;display:block;float:none}#side-sortables .closed .inside,.inner-sidebar .closed .inside{display:none}#side-sortables .cmb-td .cmb-td,.inner-sidebar .cmb-td .cmb-td{padding-bottom:1em}#side-sortables .cmb-th,.inner-sidebar .cmb-th{display:block;float:none;padding-bottom:1em;text-align:left;width:100%;padding-left:0;padding-right:0}#side-sortables .cmb-th label,.inner-sidebar .cmb-th label{display:block;margin-top:0;padding-bottom:5px}#side-sortables .cmb-th label:after,.inner-sidebar .cmb-th label:after{border-bottom:1px solid #e9e9e9;content:'';clear:both;display:block;padding-top:.4em}#side-sortables .cmb-th label,.inner-sidebar .cmb-th label{font-size:14px;line-height:1.4em}#side-sortables .cmb-group-description .cmb-th,.inner-sidebar .cmb-group-description .cmb-th{padding-top:0}#side-sortables .cmb-group-description .cmb2-metabox-description,#side-sortables .cmb-group-title .cmb-th,.inner-sidebar .cmb-group-description .cmb2-metabox-description,.inner-sidebar .cmb-group-title .cmb-th{padding:0}#side-sortables .cmb-repeatable-grouping+.cmb-repeatable-grouping,.inner-sidebar .cmb-repeatable-grouping+.cmb-repeatable-grouping{margin-top:1em}#side-sortables .cmb2-media-status .embed-status img,#side-sortables .cmb2-media-status .img-status img,.inner-sidebar .cmb2-media-status .embed-status img,.inner-sidebar .cmb2-media-status .img-status img{max-width:90%;height:auto}#side-sortables .cmb2-list label,.inner-sidebar .cmb2-list label{display:inline;font-weight:400}#side-sortables .cmb2-metabox-description,.inner-sidebar .cmb2-metabox-description{display:block;padding:7px 0 0}#side-sortables .cmb-type-checkbox .cmb-td label,#side-sortables .cmb-type-checkbox .cmb2-metabox-description,.inner-sidebar .cmb-type-checkbox .cmb-td label,.inner-sidebar .cmb-type-checkbox .cmb2-metabox-description{font-weight:400;display:inline}#side-sortables .cmb-row .cmb2-metabox-description,.inner-sidebar .cmb-row .cmb2-metabox-description{padding-bottom:1.8em}#side-sortables .cmb2-metabox-title,.inner-sidebar .cmb2-metabox-title{font-size:1.2em;font-style:italic}#side-sortables .cmb-remove-row,.inner-sidebar .cmb-remove-row{clear:both;padding-top:12px;padding-bottom:0}#side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td,.inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td{width:auto;clear:none;float:left;padding-top:0}#side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row,.inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row{float:right;margin:0}#side-sortables .cmb2-upload-button,.inner-sidebar .cmb2-upload-button{clear:both;margin-top:12px}.cmb2-metabox .cmb-repeat-group-wrap{max-width:1000px}.cmb2-metabox .cmbhandle{color:#aaa;float:right;width:27px;height:30px;cursor:pointer;right:-1em;position:relative}.cmb2-metabox .cmbhandle:before{content:'\f142';right:12px;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:8px 10px;top:0;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.cmb2-metabox .postbox.closed .cmbhandle:before{content:'\f140'}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row{-webkit-appearance:none!important;background:none!important;border:none!important;position:absolute;left:0;top:.5em;line-height:1em;cursor:pointer;padding:2px 6px 3px}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]){color:#a00}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]):hover{color:red}* html .cmb2-element.ui-helper-clearfix{height:1%}.cmb2-element .ui-helper-hidden{display:none}.cmb2-element .ui-helper-hidden-accessible{position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}.cmb2-element .ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.cmb2-element .ui-helper-clearfix:after,.cmb2-element.ui-helper-clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}.cmb2-element .ui-helper-clearfix,.cmb2-element.ui-helper-clearfix{display:block}.cmb2-element .ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.cmb2-element .ui-state-disabled{cursor:default!important}.cmb2-element .ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.cmb2-element .ui-widget-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.cmb2-element .ui-widget,.cmb2-element.ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em}.cmb2-element .ui-widget .ui-widget,.cmb2-element.ui-widget .ui-widget{font-size:1em}.cmb2-element .ui-widget button,.cmb2-element .ui-widget input,.cmb2-element .ui-widget select,.cmb2-element .ui-widget textarea,.cmb2-element.ui-widget button,.cmb2-element.ui-widget input,.cmb2-element.ui-widget select,.cmb2-element.ui-widget textarea{font-family:Verdana,Arial,sans-serif;font-size:1em}.cmb2-element .ui-widget-content,.cmb2-element.ui-widget-content{border:1px solid #aaa;background:#fff url(../images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x;color:#222}.cmb2-element .ui-widget-content a,.cmb2-element.ui-widget-content a{color:#222}.cmb2-element .ui-widget-header{border:1px solid #aaa;background:#ccc url(../images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;color:#222;font-weight:700}.cmb2-element .ui-widget-header a{color:#222}.cmb2-element .ui-state-default,.cmb2-element .ui-widget-content .ui-state-default,.cmb2-element .ui-widget-header .ui-state-default,.cmb2-element.ui-widget-content .ui-state-default{border:1px solid #d3d3d3;font-weight:400;color:#555}.cmb2-element .ui-state-default a,.cmb2-element .ui-state-default a:link,.cmb2-element .ui-state-default a:visited{color:#555;text-decoration:none}.cmb2-element .ui-state-focus,.cmb2-element .ui-state-hover,.cmb2-element .ui-widget-content .ui-state-focus,.cmb2-element .ui-widget-content .ui-state-hover,.cmb2-element .ui-widget-header .ui-state-focus,.cmb2-element .ui-widget-header .ui-state-hover,.cmb2-element.ui-widget-content .ui-state-focus,.cmb2-element.ui-widget-content .ui-state-hover{border:1px solid #999;background:#dadada url(../images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x;font-weight:400;color:#212121}.cmb2-element .ui-state-hover a,.cmb2-element .ui-state-hover a:hover{color:#212121;text-decoration:none}.cmb2-element .ui-state-active,.cmb2-element .ui-widget-content .ui-state-active,.cmb2-element .ui-widget-header .ui-state-active,.cmb2-element.ui-widget-content .ui-state-active{border:1px solid #aaa;background:#fff url(../images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;font-weight:400;color:#212121}.cmb2-element .ui-state-active a,.cmb2-element .ui-state-active a:link,.cmb2-element .ui-state-active a:visited{color:#212121;text-decoration:none}.cmb2-element .ui-widget :active,.cmb2-element.ui-widget :active{outline:0}.cmb2-element .ui-state-highlight,.cmb2-element .ui-widget-content .ui-state-highlight,.cmb2-element .ui-widget-header .ui-state-highlight,.cmb2-element.ui-widget-content .ui-state-highlight{border:1px solid #fcefa1;background:#fbf9ee url(../images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x;color:#363636}.cmb2-element .ui-state-highlight a,.cmb2-element .ui-widget-content .ui-state-highlight a,.cmb2-element .ui-widget-header .ui-state-highlight a,.cmb2-element.ui-widget-content .ui-state-highlight a{color:#363636}.cmb2-element .ui-state-error,.cmb2-element .ui-widget-content .ui-state-error,.cmb2-element .ui-widget-header .ui-state-error,.cmb2-element.ui-widget-content .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec url(../images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;color:#cd0a0a}.cmb2-element .ui-state-error a,.cmb2-element .ui-state-error-text,.cmb2-element .ui-widget-content .ui-state-error a,.cmb2-element .ui-widget-content .ui-state-error-text,.cmb2-element .ui-widget-header .ui-state-error a,.cmb2-element .ui-widget-header .ui-state-error-text,.cmb2-element.ui-widget-content .ui-state-error a,.cmb2-element.ui-widget-content .ui-state-error-text{color:#cd0a0a}.cmb2-element .ui-priority-primary,.cmb2-element .ui-widget-content .ui-priority-primary,.cmb2-element .ui-widget-header .ui-priority-primary,.cmb2-element.ui-widget-content .ui-priority-primary{font-weight:700}.cmb2-element .ui-priority-secondary,.cmb2-element .ui-widget-content .ui-priority-secondary,.cmb2-element .ui-widget-header .ui-priority-secondary,.cmb2-element.ui-widget-content .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:400}.cmb2-element .ui-state-disabled,.cmb2-element .ui-widget-content .ui-state-disabled,.cmb2-element .ui-widget-header .ui-state-disabled,.cmb2-element.ui-widget-content .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.cmb2-element .ui-icon{width:16px;height:16px;background-image:url(../images/ui-icons_222222_256x240.png)}.cmb2-element .ui-widget-content .ui-icon,.cmb2-element .ui-widget-header .ui-icon,.cmb2-element.ui-widget-content .ui-icon{background-image:url(../images/ui-icons_222222_256x240.png)}.cmb2-element .ui-state-default .ui-icon{background-image:url(../images/ui-icons_888888_256x240.png)}.cmb2-element .ui-state-active .ui-icon,.cmb2-element .ui-state-focus .ui-icon,.cmb2-element .ui-state-hover .ui-icon{background-image:url(../images/ui-icons_454545_256x240.png)}.cmb2-element .ui-state-highlight .ui-icon{background-image:url(../images/ui-icons_2e83ff_256x240.png)}.cmb2-element .ui-state-error .ui-icon,.cmb2-element .ui-state-error-text .ui-icon{background-image:url(../images/ui-icons_cd0a0a_256x240.png)}.cmb2-element .ui-icon-carat-1-n{background-position:0 0}.cmb2-element .ui-icon-carat-1-ne{background-position:-16px 0}.cmb2-element .ui-icon-carat-1-e{background-position:-32px 0}.cmb2-element .ui-icon-carat-1-se{background-position:-48px 0}.cmb2-element .ui-icon-carat-1-s{background-position:-64px 0}.cmb2-element .ui-icon-carat-1-sw{background-position:-80px 0}.cmb2-element .ui-icon-carat-1-w{background-position:-96px 0}.cmb2-element .ui-icon-carat-1-nw{background-position:-112px 0}.cmb2-element .ui-icon-carat-2-n-s{background-position:-128px 0}.cmb2-element .ui-icon-carat-2-e-w{background-position:-144px 0}.cmb2-element .ui-icon-triangle-1-n{background-position:0 -16px}.cmb2-element .ui-icon-triangle-1-ne{background-position:-16px -16px}.cmb2-element .ui-icon-triangle-1-e{background-position:-32px -16px}.cmb2-element .ui-icon-triangle-1-se{background-position:-48px -16px}.cmb2-element .ui-icon-triangle-1-s{background-position:-64px -16px}.cmb2-element .ui-icon-triangle-1-sw{background-position:-80px -16px}.cmb2-element .ui-icon-triangle-1-w{background-position:-96px -16px}.cmb2-element .ui-icon-triangle-1-nw{background-position:-112px -16px}.cmb2-element .ui-icon-triangle-2-n-s{background-position:-128px -16px}.cmb2-element .ui-icon-triangle-2-e-w{background-position:-144px -16px}.cmb2-element .ui-icon-arrow-1-n{background-position:0 -32px}.cmb2-element .ui-icon-arrow-1-ne{background-position:-16px -32px}.cmb2-element .ui-icon-arrow-1-e{background-position:-32px -32px}.cmb2-element .ui-icon-arrow-1-se{background-position:-48px -32px}.cmb2-element .ui-icon-arrow-1-s{background-position:-64px -32px}.cmb2-element .ui-icon-arrow-1-sw{background-position:-80px -32px}.cmb2-element .ui-icon-arrow-1-w{background-position:-96px -32px}.cmb2-element .ui-icon-arrow-1-nw{background-position:-112px -32px}.cmb2-element .ui-icon-arrow-2-n-s{background-position:-128px -32px}.cmb2-element .ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.cmb2-element .ui-icon-arrow-2-e-w{background-position:-160px -32px}.cmb2-element .ui-icon-arrow-2-se-nw{background-position:-176px -32px}.cmb2-element .ui-icon-arrowstop-1-n{background-position:-192px -32px}.cmb2-element .ui-icon-arrowstop-1-e{background-position:-208px -32px}.cmb2-element .ui-icon-arrowstop-1-s{background-position:-224px -32px}.cmb2-element .ui-icon-arrowstop-1-w{background-position:-240px -32px}.cmb2-element .ui-icon-arrowthick-1-n{background-position:0 -48px}.cmb2-element .ui-icon-arrowthick-1-ne{background-position:-16px -48px}.cmb2-element .ui-icon-arrowthick-1-e{background-position:-32px -48px}.cmb2-element .ui-icon-arrowthick-1-se{background-position:-48px -48px}.cmb2-element .ui-icon-arrowthick-1-s{background-position:-64px -48px}.cmb2-element .ui-icon-arrowthick-1-sw{background-position:-80px -48px}.cmb2-element .ui-icon-arrowthick-1-w{background-position:-96px -48px}.cmb2-element .ui-icon-arrowthick-1-nw{background-position:-112px -48px}.cmb2-element .ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.cmb2-element .ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.cmb2-element .ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.cmb2-element .ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.cmb2-element .ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.cmb2-element .ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.cmb2-element .ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.cmb2-element .ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.cmb2-element .ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.cmb2-element .ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.cmb2-element .ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.cmb2-element .ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.cmb2-element .ui-icon-arrowreturn-1-w{background-position:-64px -64px}.cmb2-element .ui-icon-arrowreturn-1-n{background-position:-80px -64px}.cmb2-element .ui-icon-arrowreturn-1-e{background-position:-96px -64px}.cmb2-element .ui-icon-arrowreturn-1-s{background-position:-112px -64px}.cmb2-element .ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.cmb2-element .ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.cmb2-element .ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.cmb2-element .ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.cmb2-element .ui-icon-arrow-4{background-position:0 -80px}.cmb2-element .ui-icon-arrow-4-diag{background-position:-16px -80px}.cmb2-element .ui-icon-extlink{background-position:-32px -80px}.cmb2-element .ui-icon-newwin{background-position:-48px -80px}.cmb2-element .ui-icon-refresh{background-position:-64px -80px}.cmb2-element .ui-icon-shuffle{background-position:-80px -80px}.cmb2-element .ui-icon-transfer-e-w{background-position:-96px -80px}.cmb2-element .ui-icon-transferthick-e-w{background-position:-112px -80px}.cmb2-element .ui-icon-folder-collapsed{background-position:0 -96px}.cmb2-element .ui-icon-folder-open{background-position:-16px -96px}.cmb2-element .ui-icon-document{background-position:-32px -96px}.cmb2-element .ui-icon-document-b{background-position:-48px -96px}.cmb2-element .ui-icon-note{background-position:-64px -96px}.cmb2-element .ui-icon-mail-closed{background-position:-80px -96px}.cmb2-element .ui-icon-mail-open{background-position:-96px -96px}.cmb2-element .ui-icon-suitcase{background-position:-112px -96px}.cmb2-element .ui-icon-comment{background-position:-128px -96px}.cmb2-element .ui-icon-person{background-position:-144px -96px}.cmb2-element .ui-icon-print{background-position:-160px -96px}.cmb2-element .ui-icon-trash{background-position:-176px -96px}.cmb2-element .ui-icon-locked{background-position:-192px -96px}.cmb2-element .ui-icon-unlocked{background-position:-208px -96px}.cmb2-element .ui-icon-bookmark{background-position:-224px -96px}.cmb2-element .ui-icon-tag{background-position:-240px -96px}.cmb2-element .ui-icon-home{background-position:0 -112px}.cmb2-element .ui-icon-flag{background-position:-16px -112px}.cmb2-element .ui-icon-calendar{background-position:-32px -112px}.cmb2-element .ui-icon-cart{background-position:-48px -112px}.cmb2-element .ui-icon-pencil{background-position:-64px -112px}.cmb2-element .ui-icon-clock{background-position:-80px -112px}.cmb2-element .ui-icon-disk{background-position:-96px -112px}.cmb2-element .ui-icon-calculator{background-position:-112px -112px}.cmb2-element .ui-icon-zoomin{background-position:-128px -112px}.cmb2-element .ui-icon-zoomout{background-position:-144px -112px}.cmb2-element .ui-icon-search{background-position:-160px -112px}.cmb2-element .ui-icon-wrench{background-position:-176px -112px}.cmb2-element .ui-icon-gear{background-position:-192px -112px}.cmb2-element .ui-icon-heart{background-position:-208px -112px}.cmb2-element .ui-icon-star{background-position:-224px -112px}.cmb2-element .ui-icon-link{background-position:-240px -112px}.cmb2-element .ui-icon-cancel{background-position:0 -128px}.cmb2-element .ui-icon-plus{background-position:-16px -128px}.cmb2-element .ui-icon-plusthick{background-position:-32px -128px}.cmb2-element .ui-icon-minus{background-position:-48px -128px}.cmb2-element .ui-icon-minusthick{background-position:-64px -128px}.cmb2-element .ui-icon-close{background-position:-80px -128px}.cmb2-element .ui-icon-closethick{background-position:-96px -128px}.cmb2-element .ui-icon-key{background-position:-112px -128px}.cmb2-element .ui-icon-lightbulb{background-position:-128px -128px}.cmb2-element .ui-icon-scissors{background-position:-144px -128px}.cmb2-element .ui-icon-clipboard{background-position:-160px -128px}.cmb2-element .ui-icon-copy{background-position:-176px -128px}.cmb2-element .ui-icon-contact{background-position:-192px -128px}.cmb2-element .ui-icon-image{background-position:-208px -128px}.cmb2-element .ui-icon-video{background-position:-224px -128px}.cmb2-element .ui-icon-script{background-position:-240px -128px}.cmb2-element .ui-icon-alert{background-position:0 -144px}.cmb2-element .ui-icon-info{background-position:-16px -144px}.cmb2-element .ui-icon-notice{background-position:-32px -144px}.cmb2-element .ui-icon-help{background-position:-48px -144px}.cmb2-element .ui-icon-check{background-position:-64px -144px}.cmb2-element .ui-icon-bullet{background-position:-80px -144px}.cmb2-element .ui-icon-radio-off{background-position:-96px -144px}.cmb2-element .ui-icon-radio-on{background-position:-112px -144px}.cmb2-element .ui-icon-pin-w{background-position:-128px -144px}.cmb2-element .ui-icon-pin-s{background-position:-144px -144px}.cmb2-element .ui-icon-play{background-position:0 -160px}.cmb2-element .ui-icon-pause{background-position:-16px -160px}.cmb2-element .ui-icon-seek-next{background-position:-32px -160px}.cmb2-element .ui-icon-seek-prev{background-position:-48px -160px}.cmb2-element .ui-icon-seek-end{background-position:-64px -160px}.cmb2-element .ui-icon-seek-first,.cmb2-element .ui-icon-seek-start{background-position:-80px -160px}.cmb2-element .ui-icon-stop{background-position:-96px -160px}.cmb2-element .ui-icon-eject{background-position:-112px -160px}.cmb2-element .ui-icon-volume-off{background-position:-128px -160px}.cmb2-element .ui-icon-volume-on{background-position:-144px -160px}.cmb2-element .ui-icon-power{background-position:0 -176px}.cmb2-element .ui-icon-signal-diag{background-position:-16px -176px}.cmb2-element .ui-icon-signal{background-position:-32px -176px}.cmb2-element .ui-icon-battery-0{background-position:-48px -176px}.cmb2-element .ui-icon-battery-1{background-position:-64px -176px}.cmb2-element .ui-icon-battery-2{background-position:-80px -176px}.cmb2-element .ui-icon-battery-3{background-position:-96px -176px}.cmb2-element .ui-icon-circle-plus{background-position:0 -192px}.cmb2-element .ui-icon-circle-minus{background-position:-16px -192px}.cmb2-element .ui-icon-circle-close{background-position:-32px -192px}.cmb2-element .ui-icon-circle-triangle-e{background-position:-48px -192px}.cmb2-element .ui-icon-circle-triangle-s{background-position:-64px -192px}.cmb2-element .ui-icon-circle-triangle-w{background-position:-80px -192px}.cmb2-element .ui-icon-circle-triangle-n{background-position:-96px -192px}.cmb2-element .ui-icon-circle-arrow-e{background-position:-112px -192px}.cmb2-element .ui-icon-circle-arrow-s{background-position:-128px -192px}.cmb2-element .ui-icon-circle-arrow-w{background-position:-144px -192px}.cmb2-element .ui-icon-circle-arrow-n{background-position:-160px -192px}.cmb2-element .ui-icon-circle-zoomin{background-position:-176px -192px}.cmb2-element .ui-icon-circle-zoomout{background-position:-192px -192px}.cmb2-element .ui-icon-circle-check{background-position:-208px -192px}.cmb2-element .ui-icon-circlesmall-plus{background-position:0 -208px}.cmb2-element .ui-icon-circlesmall-minus{background-position:-16px -208px}.cmb2-element .ui-icon-circlesmall-close{background-position:-32px -208px}.cmb2-element .ui-icon-squaresmall-plus{background-position:-48px -208px}.cmb2-element .ui-icon-squaresmall-minus{background-position:-64px -208px}.cmb2-element .ui-icon-squaresmall-close{background-position:-80px -208px}.cmb2-element .ui-icon-grip-dotted-vertical{background-position:0 -224px}.cmb2-element .ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.cmb2-element .ui-icon-grip-solid-vertical{background-position:-32px -224px}.cmb2-element .ui-icon-grip-solid-horizontal{background-position:-48px -224px}.cmb2-element .ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.cmb2-element .ui-icon-grip-diagonal-se{background-position:-80px -224px}.cmb2-element .ui-corner-all,.cmb2-element .ui-corner-left,.cmb2-element .ui-corner-tl,.cmb2-element .ui-corner-top,.cmb2-element.ui-corner-all{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;-khtml-border-top-left-radius:4px;border-top-left-radius:4px}.cmb2-element .ui-corner-all,.cmb2-element .ui-corner-right,.cmb2-element .ui-corner-top,.cmb2-element .ui-corner-tr,.cmb2-element.ui-corner-all{-moz-border-radius-topright:4px;-webkit-border-top-right-radius:4px;-khtml-border-top-right-radius:4px;border-top-right-radius:4px}.cmb2-element .ui-corner-all,.cmb2-element .ui-corner-bl,.cmb2-element .ui-corner-bottom,.cmb2-element .ui-corner-left,.cmb2-element.ui-corner-all{-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;-khtml-border-bottom-left-radius:4px;border-bottom-left-radius:4px}.cmb2-element .ui-corner-all,.cmb2-element .ui-corner-bottom,.cmb2-element .ui-corner-br,.cmb2-element .ui-corner-right,.cmb2-element.ui-corner-all{-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;-khtml-border-bottom-right-radius:4px;border-bottom-right-radius:4px}.cmb2-element .ui-widget-overlay{background:#aaa url(../images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30)}.cmb2-element .ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#aaa url(../images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30);-moz-border-radius:8px;-khtml-border-radius:8px;-webkit-border-radius:8px;border-radius:8px}.cmb2-element .ui-datepicker,.cmb2-element.ui-datepicker{width:17em;display:none;padding:0;border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;background:#f1f1f1}.cmb2-element .ui-datepicker .ui-datepicker-header,.cmb2-element.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-prev{position:absolute;width:1.8em}.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-prev{left:2px}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-next{right:2px}.cmb2-element .ui-datepicker .ui-datepicker-next span,.cmb2-element .ui-datepicker .ui-datepicker-prev span,.cmb2-element.ui-datepicker .ui-datepicker-next span,.cmb2-element.ui-datepicker .ui-datepicker-prev span{display:block;position:absolute;left:50%;margin-left:-8px}.cmb2-element .ui-datepicker .ui-datepicker-title,.cmb2-element.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.cmb2-element .ui-datepicker .ui-datepicker-title select,.cmb2-element.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.cmb2-element .ui-datepicker select.ui-datepicker-month-year,.cmb2-element.ui-datepicker select.ui-datepicker-month-year{width:100%}.cmb2-element .ui-datepicker select.ui-datepicker-month,.cmb2-element .ui-datepicker select.ui-datepicker-year,.cmb2-element.ui-datepicker select.ui-datepicker-month,.cmb2-element.ui-datepicker select.ui-datepicker-year{width:49%}.cmb2-element .ui-datepicker select.ui-datepicker-month,.cmb2-element.ui-datepicker select.ui-datepicker-month{margin-right:1%}.cmb2-element .ui-datepicker select.ui-datepicker-year,.cmb2-element.ui-datepicker select.ui-datepicker-year{margin-left:1%}.cmb2-element .ui-datepicker table,.cmb2-element.ui-datepicker table{width:100%;border-collapse:collapse}.cmb2-element .ui-datepicker th,.cmb2-element.ui-datepicker th{text-align:center}.cmb2-element .ui-datepicker td a,.cmb2-element .ui-datepicker td span,.cmb2-element.ui-datepicker td a,.cmb2-element.ui-datepicker td span{display:block;padding:.2em;text-align:right;text-decoration:none}.cmb2-element .ui-datepicker .ui-datepicker-buttonpane,.cmb2-element.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0;padding:0 .2em}.cmb2-element .ui-datepicker .ui-datepicker-buttonpane button,.cmb2-element.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em;width:auto;overflow:visible}.cmb2-element .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current,.cmb2-element.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.cmb2-element .ui-datepicker *,.cmb2-element.ui-datepicker *{padding:0;font-family:"Open Sans",sans-serif;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.cmb2-element .ui-datepicker table,.cmb2-element.ui-datepicker table{font-size:13px;margin:0}.cmb2-element .ui-datepicker .ui-datepicker-header,.cmb2-element.ui-datepicker .ui-datepicker-header{border:none;background:#222;color:#fff;font-weight:400}.cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover{background:#222;border-color:transparent;cursor:pointer;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.cmb2-element .ui-datepicker thead,.cmb2-element.ui-datepicker thead{background:#222;color:#fff}.cmb2-element .ui-datepicker .ui-datepicker-title,.cmb2-element.ui-datepicker .ui-datepicker-title{margin-top:.4em;margin-bottom:.3em;color:#fff;font-size:14px}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element .ui-datepicker .ui-datepicker-next-hover,.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element .ui-datepicker .ui-datepicker-prev-hover,.cmb2-element.ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-next-hover,.cmb2-element.ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-prev-hover{height:1em;top:.9em;border:none}.cmb2-element .ui-datepicker .ui-datepicker-prev-hover,.cmb2-element.ui-datepicker .ui-datepicker-prev-hover{left:2px}.cmb2-element .ui-datepicker .ui-datepicker-next-hover,.cmb2-element.ui-datepicker .ui-datepicker-next-hover{right:2px}.cmb2-element .ui-datepicker .ui-datepicker-next span,.cmb2-element .ui-datepicker .ui-datepicker-prev span,.cmb2-element.ui-datepicker .ui-datepicker-next span,.cmb2-element.ui-datepicker .ui-datepicker-prev span{background-image:url(data:image/png;base64,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);background-position:-32px 0;margin-top:0;top:0;font-weight:400}.cmb2-element .ui-datepicker .ui-datepicker-prev span,.cmb2-element.ui-datepicker .ui-datepicker-prev span{background-position:-96px 0}.cmb2-element .ui-datepicker th,.cmb2-element.ui-datepicker th{padding:.75em 0;color:#fff;font-weight:400;border:none;border-top:1px solid #333}.cmb2-element .ui-datepicker td,.cmb2-element.ui-datepicker td{background:#f1f1f1;border:none;padding:0}.cmb2-element .ui-datepicker td .ui-state-default,.cmb2-element.ui-datepicker td .ui-state-default{background:0 0;border:none;text-align:center;padding:.5em;margin:0;font-weight:400;color:#333}.cmb2-element .ui-datepicker td .ui-state-active,.cmb2-element .ui-datepicker td .ui-state-hover,.cmb2-element.ui-datepicker td .ui-state-active,.cmb2-element.ui-datepicker td .ui-state-hover{background:#0074a2;color:#fff}.cmb2-element .ui-datepicker td.ui-state-disabled,.cmb2-element .ui-datepicker td.ui-state-disabled .ui-state-default,.cmb2-element.ui-datepicker td.ui-state-disabled,.cmb2-element.ui-datepicker td.ui-state-disabled .ui-state-default{opacity:1;color:#999}.cmb2-element .ui-datepicker .ui-datepicker-close,.cmb2-element .ui-datepicker .ui-datepicker-current,.cmb2-element.ui-datepicker .ui-datepicker-close,.cmb2-element.ui-datepicker .ui-datepicker-current{font-size:14px;font-weight:400;background-image:none;border:none}.cmb2-element .ui-datepicker .ui-datepicker-close:active,.cmb2-element .ui-datepicker .ui-datepicker-close:hover,.cmb2-element .ui-datepicker .ui-datepicker-current:active,.cmb2-element .ui-datepicker .ui-datepicker-current:hover,.cmb2-element.ui-datepicker .ui-datepicker-close:active,.cmb2-element.ui-datepicker .ui-datepicker-close:hover,.cmb2-element.ui-datepicker .ui-datepicker-current:active,.cmb2-element.ui-datepicker .ui-datepicker-current:hover{background:#096484;color:#fff}.cmb2-element .ui-datepicker .ui-datepicker-buttonpane,.cmb2-element.ui-datepicker .ui-datepicker-buttonpane{border:none}.cmb2-element .ui-datepicker.ui-datepicker-multi,.cmb2-element.ui-datepicker.ui-datepicker-multi{width:auto}.cmb2-element .ui-datepicker-multi .ui-datepicker-group{float:left}.cmb2-element .ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.cmb2-element .ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.cmb2-element .ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.cmb2-element .ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.cmb2-element .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.cmb2-element .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.cmb2-element .ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.cmb2-element .ui-datepicker-row-break{clear:both;width:100%;font-size:0}.cmb2-element .ui-datepicker-rtl{direction:rtl}.cmb2-element .ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.cmb2-element .ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.cmb2-element .ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.cmb2-element .ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.cmb2-element .ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.cmb2-element .ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.cmb2-element .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.cmb2-element .ui-datepicker-rtl .ui-datepicker-group{float:right}.cmb2-element .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.cmb2-element .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.cmb2-element .ui-datepicker-cover{display:none;display:block;position:absolute;z-index:-1;filter:mask();top:-4px;left:-4px;width:200px;height:200px}.cmb2-element .ui-timepicker-div{font-size:14px}.cmb2-element .ui-timepicker-div .ui-widget-header{margin-bottom:8px;background:#222;border-color:#222}.cmb2-element .ui-timepicker-div dl{text-align:left}.cmb2-element .ui-timepicker-div dl dt{float:left;clear:left;padding:0 0 0 5px}.cmb2-element .ui-timepicker-div dl dd{margin:0 10px 10px 40%}.cmb2-element .ui-tpicker-grid-label{background:0 0;border:none;margin:0;padding:0}.cmb2-element .ui-timepicker-rtl{direction:rtl}.cmb2-element .ui-timepicker-rtl dl{text-align:right;padding:0 5px 0 0}.cmb2-element .ui-timepicker-rtl dl dt{float:right;clear:right}.cmb2-element .ui-timepicker-rtl dl dd{margin:0 40% 10px 10px}.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-blue .cmb2-element .ui-datepicker thead,.admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-blue .cmb2-element.ui-datepicker thead{background:#4796b3}.admin-color-blue .cmb2-element .ui-datepicker th,.admin-color-blue .cmb2-element.ui-datepicker th{border-color:#52accc}.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-blue .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-blue .cmb2-element.ui-datepicker td .ui-state-hover{background:#096484}.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-current:hover,.admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-close:active,.admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-close:hover,.admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-current:active,.admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-current:hover{background:#096484;color:#fff}.admin-color-blue .cmb2-element .ui-timepicker-div .ui-widget-header{background:#4796b3;border-color:#4796b3}.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-coffee .cmb2-element .ui-datepicker thead,.admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-coffee .cmb2-element.ui-datepicker thead{background:#46403c}.admin-color-coffee .cmb2-element .ui-datepicker th,.admin-color-coffee .cmb2-element.ui-datepicker th{border-color:#59524c}.admin-color-coffee .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-coffee .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-coffee .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-coffee .cmb2-element.ui-datepicker td .ui-state-hover{background:#c7a589}.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-current:hover,.admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-close:active,.admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-close:hover,.admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-current:active,.admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-current:hover{background:#c7a589;color:#fff}.admin-color-coffee .cmb2-element .ui-timepicker-div .ui-widget-header{background:#46403c}.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-ectoplasm .cmb2-element .ui-datepicker thead,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-ectoplasm .cmb2-element.ui-datepicker thead{background:#413256}.admin-color-ectoplasm .cmb2-element .ui-datepicker th,.admin-color-ectoplasm .cmb2-element.ui-datepicker th{border-color:#523f6d}.admin-color-ectoplasm .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-ectoplasm .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-ectoplasm .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-ectoplasm .cmb2-element.ui-datepicker td .ui-state-hover{background:#a3b745}.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-current:hover,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-close:active,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-close:hover,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-current:active,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-current:hover{background:#a3b745;color:#fff}.admin-color-ectoplasm .cmb2-element .ui-timepicker-div .ui-widget-header{background:#413256;border-color:#413256}.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-midnight .cmb2-element .ui-datepicker thead,.admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-midnight .cmb2-element.ui-datepicker thead{background:#26292c}.admin-color-midnight .cmb2-element .ui-datepicker th,.admin-color-midnight .cmb2-element.ui-datepicker th{border-color:#363b3f}.admin-color-midnight .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-midnight .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-midnight .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-midnight .cmb2-element.ui-datepicker td .ui-state-hover{background:#e14d43}.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-current:hover,.admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-close:active,.admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-close:hover,.admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-current:active,.admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-current:hover{background:#e14d43;color:#fff}.admin-color-midnight .cmb2-element .ui-timepicker-div .ui-widget-header{background:#26292c}.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-ocean .cmb2-element .ui-datepicker thead,.admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-ocean .cmb2-element.ui-datepicker thead{background:#627c83}.admin-color-ocean .cmb2-element .ui-datepicker th,.admin-color-ocean .cmb2-element.ui-datepicker th{border-color:#738e96}.admin-color-ocean .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-ocean .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-ocean .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-ocean .cmb2-element.ui-datepicker td .ui-state-hover{background:#9ebaa0}.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-current:hover,.admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-close:active,.admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-close:hover,.admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-current:active,.admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-current:hover{background:#9ebaa0;color:#fff}.admin-color-ocean .cmb2-element .ui-timepicker-div .ui-widget-header{background:#627c83;border-color:#627c83}.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-sunrise .cmb2-element .ui-datepicker thead,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-sunrise .cmb2-element.ui-datepicker thead{background:#be3631}.admin-color-sunrise .cmb2-element .ui-datepicker th,.admin-color-sunrise .cmb2-element.ui-datepicker th{border-color:#cf4944}.admin-color-sunrise .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-sunrise .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-sunrise .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-sunrise .cmb2-element.ui-datepicker td .ui-state-hover{background:#dd823b}.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-current:hover,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-close:active,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-close:hover,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-current:active,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-current:hover{background:#dd823b;color:#fff}.admin-color-sunrise .cmb2-element .ui-timepicker-div .ui-widget-header{background:#be3631;border-color:#be3631}.admin-color-light .cmb2-element .ui-timepicker-div .ui-widget-header{background:#e5e5e5;border-color:#e5e5e5;color:#555}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-light .cmb2-element .ui-datepicker thead,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-light .cmb2-element.ui-datepicker thead{background:#e5e5e5}.admin-color-light .cmb2-element .ui-datepicker td,.admin-color-light .cmb2-element.ui-datepicker td{background:#fff}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-next span,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-prev span,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-next span,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-prev span{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAYAAADvl7rLAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMUIxRjI2RjhCODYxMUUzQTEyNERCMDU1QzdBQ0EyMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxMUIxRjI3MDhCODYxMUUzQTEyNERCMDU1QzdBQ0EyMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjExQjFGMjZEOEI4NjExRTNBMTI0REIwNTVDN0FDQTIwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjExQjFGMjZFOEI4NjExRTNBMTI0REIwNTVDN0FDQTIwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+kKfR4AAAHcRJREFUeNrsXWuMXsdZnuMu4CUN2S0t0a6o4sQqAaooTncrKGrUNbe2qSC2uQqpqtexbCqI0xaQEBclKUL8qts6stqNkuwWiYqbajtqS9oAuyEISrubrLmUFnBSfmRXFa12KT+cKk2GM9mZ7ng858w7l3PmnO88jzQ633e+8565vs+8M9+8MwXnnAEAMEzsQREAAAgAAIABYkx9OHXqFEoDMDFVho0yTJdhE8UxOjhz5gwsAICk/Exep1AkGAK0DY6G93L+eUblnw4gATPNqMceEsBURMVxSwhFbO8TEj838j4V8B6eQHF1RWyzDnTl3zRIIDTNsCJ6RABdMf+mM6XBjNfsDXP1wm2hkEGN+ze1eyFpngYJ9IcAYs0/vQEVkenz7X1SwRZv2xNhqeJNVRcxac5Vj0AAAcSYf13pBVMMPfS8xyhhaFpy9pqhQ6CqNOe0ZgBPAgg1/7rcC8aQQJEx7lzkGzoEqkpz7noEPOcAmhhPxjTGzcA42zR/m0jDZkSPGZPvmCFQVZqh/B3EWMfTV6CKvm2F5LJAQhYCmWlGPYIAAJAPMMQhAAAAIAAAAEAAAACAAAAAAAEAAAACAAAABAAAAAhAA/zI8+wHoMcL772BEkBsA0i1J0CsM0yIAvGa0CZ55doPIIU7uF7uIJKeEUCKBpDS6yumEW4kTPt0S+mOVf7YtG84voekHXsB9IQAUlXeZgMk0JYC2dIe6swS2vBTK79P2mMdmTZayBPQEAGkrLyUJDDdkvLb0h7ryRZCAtOZlD/F8G264TwBDRJAURNYJhLwbcSpepqU+wFs9KDcqhR1OkHa4Q7cQbTlDRjjVRa6H0BuFInKbTqQ0IpE8YYqrl7n8CgcOAHkVKK+I+d+ACj/AQ4BAAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAAeg1sCw64IJYBFwPNt4li1Mp/DJUPBSAoQUwZ8AwKlCLOQdT5HmLlh1ZCikM6eUsyOXqUJvMRW/660hcRaUlBHDyjEqdsuzxTW+O+BJCi8lOdyRcSf5GoAaWqhJAelCcsvyKB8sQocmzeU7SBWAuorbabmjxqy3+spcrnERkPbUhFR8z3UAVIMQ7NVQbcEneRIO/UvBSW/PuWAw+U54naQJFgCFZVlgV1DiDH2LlI/K5UzNlmL55ScYtEaQ9VoFTpbbsNhHaCqdKdoh045fe0pPxFBiKJnXtIwcAx6SgSpD+VCR3bA8XmPdUkZB+sv9TzGLV135QFUHTgXTl7z5Tx5yzH0PynznvRkTJscx4lZvhHjnesw4XXFRTIP/I/qvFiJSAADBggAAAAAQAAAAIAAAAEAAAACAAAABAAAABDIwB1suvQT3WNXU3YZ6RqA6m8QtuML/Zk6N60P8rhoBs9bABdJZO2G05omadsA0Vg/DZvuKkW4lZyKY7GM9Ocwx14inm6A28Q7zVdCSGVzztKAr7pmkqYh5DyT9kGeIDy1x1QO9Vg3E1YQDmPRXceklt3OGjV91w9H6Ugiw5aAr6706Q42Ti2/FO1gZCdeTYqLBkfIoptBzEWUGia60z/UEvOVZaNTwKGNIC6sVdo5fNMSp9SAXwbQS4yrMt7G+vbiwTtILUV7Itp4r1G5gCaVP62HCtiG38KBs6xFx5FCbpo9VQ1dNv4e7qFdhBjAcWmWcA8Xj3FMe/WuYw9HWwAdZMvoZWfk4FTKUCKrb24R/2lMEFD0rtZU9Z9PCo+9nj1IlDeVZaNEkATPb5vQcb0eKkYOCQdmyy9uedbH6kIkEeUv82nfbPFNKQq981Ew+DQ4V/tMe9jDTJnFzazYJEkkGszkk2WvucqPOOf1sa9PgTYtf0D+riZSGvx4mAQoE0SAjoGLAUGABAAAAAgAAAAQAAAAIAAAAAAAQBAVnAUQfsEkMobLdSjKlWl6/GjIYUpX+6yCz0hCfUeSACpvNFCPapSnYmnxy/eN83SHFLat14s9njwgsUf8JpCgXlLaR88AVR5o/n6NKf2KQ+NX5GJz8KWlCfqhnok8kRxhypwEdgTV3kDxigwi6w7kECCOQDfjQ1iPKpsCt/WxgrcQn4pThj2aYS2k3lTmNJNPEvNrw+BxJ7KDEQQQJ0LYRs+0dNaXLEbK8QoSpHAjCwSKVauHoxnym/Kd6QYjgyKAKq80dpi4VhvuBSurLlNxqLCAuEtNvqu9cQ8sO5SHfM+qCGAbbzssyXSlFFpIRsihO4HkMqVNbbx8wQkEDoOjm30tmGQ7xCCB86rxMjWkQCD8l8NH2/AjcAKjPGlZwHviXFlTWmG6uWQwowtAuOPSXusK23oxjAxsk0ORwZNAG1MIqV6X1dcWYvM70mhwLn86aGwGYcAAAAlBAEAAAACAAAABAAAAAgAAAAQAAAAIIDRxwTD8lFgoASQ0g871LGGJ5T1fYdQ/i02On+HxZ50CwyIAGIP1kzpCDOZqXy2LEQyEamAOWR1bIAEAAoBxKyfjlnPbfbUqhee9FAUcxmpz9l6usk/aXnHlmf85r0YQk1lPW2g6QNVBMAjeyCbPzj3JBSlbLryb0dYH769vpLflnGHnCxr5t0n/3V7ErjSkmo7N2AAGCOY/TygF09hRTCL8ucYi2+zdA41VOWvKjdX+ZvbsBUV9TuNpg/YCMBstFWffUzQWK+0WMSOu32tj7q8u8qhqpenluFGTb4LTfk30fQBGwHUKV0R0fCLSDLIRSCFQQKcMBfBa4ZCrrzUlU8XdtcBBjAH4OqNQhXWd0+8mP34YuQnLbJbWh62CUpW1NwriKQTgqrt3KD4gDcBxI7fQ7elKioCi5APGfPrsqn+hiwSP2cidjs1AEOA6IZYJG7UOREzB5ALmww9PpCIAIYOKBIw2CEAAAAgAAAAQAAAAIAAAAAAAQDNYoZdvZZhpkfpF5PLe42ACeeOE8Aho8Ety3tt4/0szoc/FiKuBVa9l8BMC8q/arm/6hH3TEbyEIr+rTLcXIbLMtws740Fpj8kHzcZsjd55iNEPjZOgV9whJg8XKVLeoWcK8P7yvC0/D4h79lg+3vskOX5w2U475no32dXH8t1kvktB64jDNc75svwL2U4UfH7LWVY81ReHbMR8qsOef250KPNRKO5VPP7/jI84yCA15dhvQzj8p4ggQNl+LIkAuaZfp98VNX9JY82wCxlcIkgFyJj4s/l9aTsiFLWY1FHAExTfoEV5rcCjkog4r0HA5jRlwTGLfcuE+QWy/BgYO+3qhW0uSJPnXa8WpMHpeCrNeSxyppdn3Cpouz0MnTFr5T/Go3Y1h3vrStPlXcKmjiVqm+Hy1aROLextVlxOrY8C1kp/5dlQwldQrvX+L4Q8I7vCIzbZQG4cLiCqLj87ZxDfq2CBCg9P69ogL7nFIqy+4bl/vd4lMM18nkR33cHluUdEcO4GIIIdYcviGkpWlT+nyjD39SZa4yo9FQo5Xe9pyASwGRg2sYD0x9jAQh83kICSvk/T3yHSQIU5dcx4fhOKbvrI8pUmPtfK8Pb5fe/kveYR/6ZhYR8ymDWsKhmCcOzvsNU/l+UdVZJAqlnZqnK76O8oeaU3us826IFYJIA81R+G0n6TuLtd3ynWGD/bdy7waPnvygVfl0jBHHve8vwPLH3rduZqs0l2inM+dh3/EoZPu45b3FSG4J9Urt/xfC7ib8Btzwadp3yqjCuffbBd2nBpwdbjFR+gSmNBJTy+2zEKRReOPUckmGTtTuTL8rpB40wTig/kcfvl439G1LxD8h2xuVvoRuSznoq/r6Ka+xwNMc7/iSA+MWw+TvZ7qSiUv6VJi2AVJM04wni+VLgO2MtgCm2u+OO3utvEhv/TI08lQRe6/juakSXDHNenx+qsya+T3vO9k/BunxfyI5Eucz3y5nf4bMvxzNG/S3UKX8oAcxGmDkU5f8DqYBVv6UimSbmACjjzNkG5XVFrPvuakT63MWYTJPr7z+dJFzPuCbSeIK6/cuKK7UTWKy43+Y7QvCMhcStyv9yYXK+U9anTp1iwBXj7VsqfhfktDaQsuBar/9MT9OeqmPoG9SEoFX5z5w5k20I0HWsGdcho0Dae4tnKGUAXwAAGDBAAAAAAgAAAAQAAAAIAACATuAPZchCAOqU3NgjsUNg+i23vSeADcpHnbIYZ5bZ/bAp/+EfYtV7EXDm3qPhhEOeusCpypf8pp7IK/xRZPuZk6FtXFuG35Hh2sh3HdXCFRirUf4trcFST+gVm4gIBxB95dP9bMcD7kZ5pfhzi4U4a1qlndQUsKiRUygaUH61QMfljivK7AtGWlTaxP03svrFPue0PJtYIJShy3NygdEWOqmFJLoTzzqj+7jnllf4baNNCCVYIij9smzzy/LepNSDykU1hu6oOnxQku6C9h7KOROfNj7fHqH85oIkkf6vvFwoloVAuvLr3mirhMSLlwk/+Lrz50M3dPCRV0r3a2U4q13FfgWnPRvQjCQjteGJyzOv6mBPah4oPVVByP/nyvCjbMdF+7Yy/EMZfozRnWk423XiUTK3MvdKPpu8Qoi8+D/7BbbjonyTh7zZ+NUKvMWG26Ape9JCykWN9eYi8JOMvlJVtVmR9/NSr8XnpbqFQKbyq15vVv7WxgKLqn0EfLwM3ySJ6D/L8O9sx7tNrOJ71lP5Rd7Vzka+brm58Ndl+JEyPCaV6DFZHn8bOBzTFTJUXuCWAHmh/M8HyJk936Jn+9vybJuhFpmOGxI9o3CPluZDhpWybZsDWGDV69EVCSy00IC3ZdiSYZv5H8/1j2X4uTJ8VjaGT0r2PBeg/Oc0S6AP+Em2s/b9bdJ8FFfhTkrdYONmS2/lQ/ymvAqvCJAXPf9e5rfBy9EahXetxZ8zlN88X3KrwTmB3y3DB2p+/4B8xoV9Mqh0npblMS+HP9tVcwAnLeNZphHCWsXYtItQFsBXy/BP0pQU138LUP6Ynp+zMH/wSW3uxdcCEi6gP1+GP5VKL66/xGhuqcJj8UvamFu59CrzPUReKP6LEfL6HICv8psK/2QL1utWgHWr8Jtl+I2a30LIr5K8Xb4AIY1+SzOZ9xkm98EWFH+WoGwfb0n5Y0nAtIqo+C22sxmEmNi5Xl7Ffgq/V4YjNXJi/uY5456pdPs7LG9T/iXPcl4xlJhbFHjbUU9VJECZANT/cft7eX2zabo78q+P+VfqImvCGeh5trsT8Fci5wxC9hRci4xTWTuhyi9m+b9QMxZ+Y8PKr8qdSetHv/6MQ+45Y7z+r57x5pZf1Ig2RPkplhZlHsxGAtTZf9E+XirDu9nuZJ+YHPyI/O1xot6oMf9hXwKo2hBR78maxMmantJn+GGm1TftoT3/ag0JuP4CVD3cJa3xbHn0gLp83e8uiJ54M6IOc8nPJ1B+ZakuG0qs/w1IJW19GEclcTHp+ctl+Avt3oPyPS8Q33FaK4/aeFPvByDGiRcZAIwO5rShQR9wVPtcSYJN7QcA5QdGDSs9S6+X5QNfAAAYMEAAAAACAAAABAAAAAgAGCno7sVzRJk5drUb7s2J0uPzV2wX3MAHSQC3WhrArRnSxwfYCNQ+DI8Y9x9h/nsz3Meu9H1YJpDAj8vnjsjwOhnE8twfIsSpt533Vih/YQQdwnPxHVL+TTJwee82QvwzlrZLPVDFtReDaz8GinzsOw556g2v0yPbOgC15nulDB+W9xZlwzPdOykJ8WV9m3zMO3LgqCwzVV6qTCkLVPQ8i3cck8o/71kWKg0KYj+GZwnyIv5rLPe/VYZvMporrYj3UUk+qgz09NT51KdwBzdXkFK9WDmju5tT47Zhy/EOtZpR30BmVbtfEPJvi+Pb7thqHYDNAlDKLypJLOn9Wba7BnmdARQsamV5VCu3RQ9ZJpXeVH6qW+s+47uPG/TzUtkvy/BNSQBUPMp2l4NPsqv98ldaqIP9bNeblHlaA+buT75W6LbMp+7J6uPRyo20zBDJ0YQ4i3FaC/9DHQJ8WDM71RFH8y0pT5W50sZwgBODCwcqFJbiT3+MVXuzKYuAMoy4N7IcXtK+v8Toh2t+SPb8qpzuNZR/ifCO8Yrgg1XP+wp72ZW7P+3V4qce8inK/7Rm0jPmdzhpETF/UkjiEW3tNWzHGew1WrgCdSsBdeU/Rhx7VLFUm6Z8ivMJY3GRXX023LzH8OlYpPLbNnVhmvldhz+TCm/6DFySyu2CGPdfsMw5+KzPF77/L7A8uMby/Wvy86uJ73iP9lmQofIsvZFoBfAKsqJ0Pspa+LpG3nuk8j/Fdrboq50D4DKRE0ajU5XZxpZeLOIdvEFZah6qfOepcyh/XIZ3Wu4L99DbA5WfqoAi7fdU/PZ+tutp6Jt3KoHp4+gXtfsvyOEIdQ6gapztGsPfWPM8Z/UernrcVcO797UwB/AG+fmr2v3n9LZbNwdwQBvzPyp7fqX8B4jKYc7uVs34UuV93lE4QowsNQ/rFSb8eoDy61aE8At/0jG5pCv/QdkgC4/eVxDUAzLdeqAov8qjauhM63HUfAZ1DC3C/7GdM+5f4WF+zzK/reNMvFKGZ+X1WuNzDKjD6Ng5gBukbl+vBSaJgbuGABeloq+zK/9C8v0HYMhQ5r8qs6fZ7r8ALrzT6PFFr/k6trspxJuJY1/X7rV1eFqm/3Py+w8QlV8nsRU5Dl6RQ4ctLf/HPN71dc+0rzH75itiQ1HXCcfCVNePprd9PkwYgt3o+J3SCXKP+za8lmTKNnw8+FD/BoyBMuNNc/9Jqfx1vuVc6wXXEtWdb/nr/1psa+NefbvsPTUNWd2/qwxfZDubuW4GtCVlKt9kmcsoHJOAr2e7e2Ay7bPYTq5ug9JDjLbnpNoxK+QddbKUoewVQ4CmjwcvMsv3EdsV+b695fJ6tWa++/yjIHr3v5NEtaiRldog43/LcB1hMuzhyPRXbQ3nOpzleXb1rlLUcj2foA7Ot6k3YwwAqk3vXw+UXaohN+ZQ/lQktsaG2YF4Ab4AAAACAAAABAAAAAhAwyFGXwGocIccA5rLZ5cY/WQaAAAyE8A5I1Bwdxk+VYZ3WX57l/ztbhQ7AHSbAN5m9PyH5D1Xz3/GuGdbOXfGwxJYldbDakDenjUskLkE5TWHJuNVb2ZYRdH0gwDUARyTbHddtutQjiMe8VKfnTGuPthnfF9OoPzLRBI4ajT8owHxxb4jVl4p7IxFuV2Y9bwPdIgA9N5f92F2WQF3VTQiTnw2NZT1MZngXXMagbhIQCia6bO/6KmAse9Q8qK+xuV1MYAEZiy9+QzUZrQJQO/pJ9iVa5dPBiphKE4GxqunXy0/XQk08+cM68G1xn7R837ds/OSwOY936GU/zNsZ2XbZzQS8MUa1GQ4BDBnjP31HVWUFdDmOPg/jKsvVNqFI85hovLrPbyv8qfGeWmBnQ+QfcLxndVYbLGbrsxo5LGmkQish44TwDKhB19uMX0rMv5YpTvI3GvPbWZ+TuVXhDvB/P+KFXiL43udxRa7hHZBU3jdnXUBKtddApirMKEnCGaywFmPeKnPzrG4GXzVmCm7sKywK3fLCVX+ec/7dc8uSitm0fMd4rnHyvBWtuPd9lb5PWRbt5mEMrAAOkwAyxUmtG1zBduzF2pMSsqzrCaeUKvD15w1SSCk51+yKJrvcdWx71jSSOCypvxLnuUnTPdZwzKgzAmYlkQqywJokADWPBuGicfLcJwge1w+SzXdGaOfyZ5q2HEw0uxfMhr9UoZ3xMoXzL6vAP7KGyGMJa5Y4cP9X3LM+h7jN7ErjJjMesJTGWN6jSKCBNBbAYMigFR4Qob3ongBEGl/hgAAAIAAAAAAAQAAAAIAAAAEAAAACAAYIOZYuG9AjCyQkQBEpVF931nNO3jNd6B5LLC49fdzLHwVZows0AELQFVgLBH4koYZ30RAGlTaJyz3eEAaFE4Q5U/UpIl7lIXvseRmfCdkmOuI8nOGXZV6NwRomwjM+IQjz0FNeeYIJucy2/UADEl/yjznIFJmKKCPInOtDEOtvirZAlZBf+cAVEM+0eLYc1lrMIXWmHlNz20+G6N4ZhpClLBtxWc15ZMTGP71nABWZK/6YEtpU/EdNBrQQWZfXlpUPBvjx2+mwRex8Y8SsCS4pwSw0nJDNuOb0Ex61+YgKxoRqDmAkPSnzPNKBiIoKoKP7MGIeA/WWAEHoXYdYuWK48G5bKz3RzRa8zjn2KPCgXhz27fs5yzDqjZkgYbhOh48RYUVMAF7b26vaNZUm7JAB+cAgGFihWFfBRAAAAAgAAAAQAAAAIAAAAAAAQAAMJoEEHqyLQAAPSUAsXruHu37DTJMeLxX92C7z1MWAIBMBKBO0zXPortR3qcq8gG2swhEnAVwr5S9NUF6XQ4lJ5jdjVaFEyMuDwBeMFcCnpbXfzbur2i/HyO896ImJ5YTn2M7J/Qe0H5rAmLzi8JBIPpptaMmDwDBFoDo3eeloqohgDDf1Uk+6/J3ihWgeqxH5PPKEWY9cDjg40oqDsO8Vl71z+I6XoZVh/y1Mj79HSr4yvMI+b2WK0UeAIIsgP3yqh/ceb/2+YLswfcTeiDx3G1s51TbeTmEOCyHAuL7BxvM06sqCKQgEskrjWthvIMRFFi/vsqTxFS8k4b8JMOyWqBBC+CSvN5Z8eydxnOuIcCS1ogFEWzL6+mGen6F6yxhQl43mPsMRPHsD7Pdo9H1dzxHkL9OyutXJe8bv/4eavwAEGQBbEszfY7t/PW3pP12VPbqK/I5quIWsucXcwD7yvAoCzujnoqTZfii4/e1EZYHAC+Y+wHcKsfpasx/Qfb8BzTT/qInAajvaiOIZYIpq5vstisAABGo2g/golTy+9jOX4FK8c/Le9QZ/Lq9AAoP+aorAACJhwA6CRxG0QDA6AO+AAAAAgAAAAQAAAAIAACA4RLAHWxnDYDpiLIkf3Mht/xb2M5KQ1P+g/K3UZfve/0NXb5VmOsA7i7DGYeMePCBit9yy99Vhocc8sfL8PCIyve9/oYu3xrUOgCdAAQ7fYoo/44yfNrCfDnlf6oMnyXK/3QZHh8x+b7X39DlsxCAPgQ4YrMQmH3xzRHivSq45I+zqxcPHXfI31mRfkZ89k6P9PvIFy3Ff8Qjfmr9FQnkWab411j1sWi+8RcJ2n8RqCutDQF4TaI5oXJ9HXfq5AvNJGaaycs948+V/lTxp0h/1Tuajr8gposFps8n/iKg/Yjff1X7/tGA9mc+Kzxkn3KQY6sWAPVosMJTSaoyR5XnxliXMjZ2pYdHKHcIScRWcJE4/b7vSJl2lqD9hKSfW0jABx8xCMAHb5DKblP+zmCMdRcvVnxuAzyBhZBKgXIrcEgHkKL8U8Qb60D27kA5ofxPd1356wggtgJ4ogZ4VF6X2O5fKzENKpQEeCISaav8eKTyxhIgz0AaLgskxIL6aGD+n9JIoLPKL6BPAp71kDtLvBcqr8b+izLo96rkH/ZQpoeJ93gCeRYhzzzkz3oQCqX+eEL5ttuPWX88g/xTNcp/tosEcMFDAS4Q71XBJf+QpQE+5JD/hIcCfoJ4jyWQ5y3Ff8Ejfmr98QTyLEP83EFATcvrJMAidaU1AhD/Kx8nyBxnV/8H3QV58b/qKYL8KWb/D7bv8n2vv6HLZycAZVrOsZ39/E18SP72sMM0zSkvVliJRRYfs/z2MfnbAyMs3/f6G7p8+5MlxlJgAAAGANtKQAAABgYQAACAAAAAAAEAAAACAAAABAAAwIjD5QtgA2V9O+Tj5AEgKwEIjFvuXfZ4d255AAASDAFyKt3lBGnI2ePiSDOg1wQQq4CXtRCCcSk7nkkBq7aEokI/1BQAekcA4zXmOFWBxyPkL2skEKqAjMXtI8BZvg0pACD7EGA8Y/rGE6QhZ+/LO5AGAKjEWINj/9zyAAAEEkDKDS0hDwA9HgIAAAACAAAABAAAAAgAAAAQAAAAIAAAAEAAAAVTDAuDgB4QQBdWsYm4Z7TrKCj/Rhmm0fSArhPAtHFFzx1Hhrryb6I4ga4TwIZxHbryx/TcUH5gEBYA13rKumvTwwZXCFXejQTKjzkAoDMYc1gAhXaloCBem8RsQz1/iAVgU37MAQC9IIBQC2DaojTmtUkzeNWDqHyV34cM65QfwwAAFkCHLQAoPwALIMAC6ALWEryjSeWf8nwfAPTGAhgVhFouVOXHHAAACyBAEbsO08x3fQeAvD0d5/hHCgCGCvgCAMCA8f8CDABatG6NN+gY2wAAAABJRU5ErkJggg==)}.admin-color-light .cmb2-element .ui-datepicker th,.admin-color-light .cmb2-element.ui-datepicker th{border-color:#fff}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-title,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-default,.admin-color-light .cmb2-element .ui-datepicker th,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-title,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-default,.admin-color-light .cmb2-element.ui-datepicker th{color:#555}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-current:hover,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-close:active,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-close:hover,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-current:active,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-current:hover,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-hover{color:#fff;background:#888}.admin-color-light .cmb2-element .ui-datepicker td.ui-state-disabled,.admin-color-light .cmb2-element .ui-datepicker td.ui-state-disabled .ui-state-default,.admin-color-light .cmb2-element.ui-datepicker td.ui-state-disabled,.admin-color-light .cmb2-element.ui-datepicker td.ui-state-disabled .ui-state-default{color:#ccc}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-current,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-current{background:#f1f1f1}.closed .inside{display:none}.cmb-repeatable-grouping{position:relative}.cmb-repeatable-grouping .cmb-group-title{margin-left:-1em;margin-right:-1em;min-height:1.5em}.cmb-repeatable-grouping h3{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}.cmb-repeatable-group.repeatable .cmb-group-title{padding-left:2.2em}.cmb-repeatable-group.non-repeatable .cmb-group-title{padding-left:12px}.cmb-repeat-group-wrap .cmb-row .cmbhandle{right:0;position:absolute}
vendor/CMB2/css/cmb2-rtl.css ADDED
@@ -0,0 +1,3635 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * CMB2 Styling
3
+ */
4
+
5
+ /*--------------------------------------------------------------
6
+ Main Wrap
7
+ --------------------------------------------------------------*/
8
+
9
+ /* line 5, sass/partials/_main_wrap.scss */
10
+
11
+ .cmb2-wrap {
12
+ margin: 0;
13
+ }
14
+
15
+ /* line 8, sass/partials/_main_wrap.scss */
16
+
17
+ .cmb2-wrap input,
18
+ .cmb2-wrap textarea {
19
+ font-size: 14px;
20
+ max-width: 100%;
21
+ padding: 5px;
22
+ }
23
+
24
+ /* line 18, sass/partials/_main_wrap.scss */
25
+
26
+ .cmb2-wrap input[type=text].cmb2-oembed {
27
+ width: 100%;
28
+ }
29
+
30
+ /* line 23, sass/partials/_main_wrap.scss */
31
+
32
+ .cmb2-wrap textarea {
33
+ width: 500px;
34
+ }
35
+
36
+ /* line 26, sass/partials/_main_wrap.scss */
37
+
38
+ .cmb2-wrap textarea.cmb2-textarea-code {
39
+ font-family: "Courier 10 Pitch", Courier, monospace;
40
+ line-height: 16px;
41
+ }
42
+
43
+ /* line 34, sass/partials/_main_wrap.scss */
44
+
45
+ .cmb2-wrap input.cmb2-text-small,
46
+ .cmb2-wrap input.cmb2-timepicker {
47
+ width: 100px;
48
+ }
49
+
50
+ /* line 40, sass/partials/_main_wrap.scss */
51
+
52
+ .cmb2-wrap input.cmb2-text-money {
53
+ width: 90px;
54
+ }
55
+
56
+ /* line 45, sass/partials/_main_wrap.scss */
57
+
58
+ .cmb2-wrap input.cmb2-text-medium {
59
+ width: 230px;
60
+ }
61
+
62
+ /* line 50, sass/partials/_main_wrap.scss */
63
+
64
+ .cmb2-wrap input.cmb2-upload-file {
65
+ width: 65%;
66
+ }
67
+
68
+ /* line 54, sass/partials/_main_wrap.scss */
69
+
70
+ .cmb2-wrap input.ed_button {
71
+ padding: 2px 4px;
72
+ }
73
+
74
+ /* line 59, sass/partials/_main_wrap.scss */
75
+
76
+ .cmb2-wrap input:not([type="hidden"]) + input,
77
+ .cmb2-wrap input:not([type="hidden"]) + .button,
78
+ .cmb2-wrap input:not([type="hidden"]) + select {
79
+ margin-right: 20px;
80
+ }
81
+
82
+ /* line 67, sass/partials/_main_wrap.scss */
83
+
84
+ .cmb2-wrap ul {
85
+ margin: 0;
86
+ }
87
+
88
+ /* line 71, sass/partials/_main_wrap.scss */
89
+
90
+ .cmb2-wrap li {
91
+ font-size: 14px;
92
+ line-height: 16px;
93
+ margin: 1px 0 5px 0;
94
+ }
95
+
96
+ /* line 82, sass/partials/_main_wrap.scss */
97
+
98
+ .cmb2-wrap select {
99
+ font-size: 14px;
100
+ margin-top: 3px;
101
+ }
102
+
103
+ /* line 87, sass/partials/_main_wrap.scss */
104
+
105
+ .cmb2-wrap input:focus,
106
+ .cmb2-wrap textarea:focus {
107
+ background: #fffff8;
108
+ }
109
+
110
+ /* line 92, sass/partials/_main_wrap.scss */
111
+
112
+ .cmb2-wrap input[type="radio"] {
113
+ margin: 0 0 0 5px;
114
+ padding: 0;
115
+ }
116
+
117
+ /* line 97, sass/partials/_main_wrap.scss */
118
+
119
+ .cmb2-wrap input[type="checkbox"] {
120
+ margin: 0 0 0 5px;
121
+ padding: 0;
122
+ }
123
+
124
+ /* line 102, sass/partials/_main_wrap.scss */
125
+
126
+ .cmb2-wrap button,
127
+ .cmb2-wrap .button {
128
+ white-space: nowrap;
129
+ }
130
+
131
+ /* line 107, sass/partials/_main_wrap.scss */
132
+
133
+ .cmb2-wrap .mceLayout {
134
+ border: 1px solid #e9e9e9 !important;
135
+ }
136
+
137
+ /* line 111, sass/partials/_main_wrap.scss */
138
+
139
+ .cmb2-wrap .mceIframeContainer {
140
+ background: #fff;
141
+ }
142
+
143
+ /* line 115, sass/partials/_main_wrap.scss */
144
+
145
+ .cmb2-wrap .meta_mce {
146
+ width: 97%;
147
+ }
148
+
149
+ /* line 118, sass/partials/_main_wrap.scss */
150
+
151
+ .cmb2-wrap .meta_mce textarea {
152
+ width: 100%;
153
+ }
154
+
155
+ /* line 126, sass/partials/_main_wrap.scss */
156
+
157
+ .cmb2-wrap .wp-color-result,
158
+ .cmb2-wrap .wp-picker-input-wrap {
159
+ vertical-align: middle;
160
+ }
161
+
162
+ /* line 131, sass/partials/_main_wrap.scss */
163
+
164
+ .cmb2-wrap .wp-color-result,
165
+ .cmb2-wrap .wp-picker-container {
166
+ margin: 0 0 0 10px;
167
+ }
168
+
169
+ /* line 136, sass/partials/_main_wrap.scss */
170
+
171
+ .cmb2-wrap .cmb-row {
172
+ margin: 0;
173
+ }
174
+
175
+ /* line 139, sass/partials/_main_wrap.scss */
176
+
177
+ .cmb2-wrap .cmb-row:after {
178
+ content: '';
179
+ clear: both;
180
+ display: block;
181
+ width: 100%;
182
+ }
183
+
184
+ /* line 146, sass/partials/_main_wrap.scss */
185
+
186
+ .cmb2-wrap .cmb-row.cmb-repeat-row {
187
+ padding: 1.8em 0 0;
188
+ }
189
+
190
+ /* line 149, sass/partials/_main_wrap.scss */
191
+
192
+ .cmb2-wrap .cmb-row.cmb-repeat-row:first-of-type {
193
+ padding: 0;
194
+ }
195
+
196
+ /* line 154, sass/partials/_main_wrap.scss */
197
+
198
+ .cmb2-wrap .cmb-row.cmb-repeat .cmb2-metabox-description {
199
+ padding-top: 0;
200
+ padding-bottom: 1.8em;
201
+ }
202
+
203
+ /* line 161, sass/partials/_main_wrap.scss */
204
+
205
+ .cmb2-metabox {
206
+ clear: both;
207
+ margin: 0;
208
+ }
209
+
210
+ /* line 167, sass/partials/_main_wrap.scss */
211
+
212
+ .cmb2-metabox > .cmb-row:first-of-type > .cmb-td,
213
+ .cmb2-metabox > .cmb-row:first-of-type > .cmb-th,
214
+ .cmb2-metabox .cmb-field-list > .cmb-row:first-of-type > .cmb-td,
215
+ .cmb2-metabox .cmb-field-list > .cmb-row:first-of-type > .cmb-th {
216
+ border: 0;
217
+ }
218
+
219
+ /* line 174, sass/partials/_main_wrap.scss */
220
+
221
+ .cmb2-metabox > .cmb-row .cmb-repeat-table .cmb-row > .cmb-td {
222
+ padding-left: 20px;
223
+ box-sizing: border-box;
224
+ float: right;
225
+ }
226
+
227
+ /* line 182, sass/partials/_main_wrap.scss */
228
+
229
+ .cmb-add-row {
230
+ margin: 1.8em 0 0;
231
+ }
232
+
233
+ /* line 186, sass/partials/_main_wrap.scss */
234
+
235
+ .cmb-nested .cmb-td,
236
+ .cmb-repeatable-group .cmb-th,
237
+ .cmb-repeatable-group:first-of-type {
238
+ border: 0;
239
+ }
240
+
241
+ /* line 192, sass/partials/_main_wrap.scss */
242
+
243
+ .cmb-row:last-of-type,
244
+ .cmb2-wrap .cmb-row:last-of-type,
245
+ .cmb-repeatable-group:last-of-type {
246
+ border-bottom: 0;
247
+ }
248
+
249
+ /* line 198, sass/partials/_main_wrap.scss */
250
+
251
+ .cmb-repeatable-grouping {
252
+ border: 1px solid #e9e9e9;
253
+ padding: 0 1em;
254
+ max-width: 1000px;
255
+ }
256
+
257
+ /* line 202, sass/partials/_main_wrap.scss */
258
+
259
+ .cmb-repeatable-grouping.cmb-row {
260
+ margin: 0 0 0.8em;
261
+ }
262
+
263
+ /* line 209, sass/partials/_main_wrap.scss */
264
+
265
+ .cmb-th {
266
+ color: #222222;
267
+ float: right;
268
+ font-weight: 600;
269
+ line-height: 1.3;
270
+ padding: 20px 0 20px 10px;
271
+ vertical-align: top;
272
+ width: 200px;
273
+ }
274
+
275
+ /* line 223, sass/partials/_main_wrap.scss */
276
+
277
+ .cmb-td {
278
+ line-height: 1.3;
279
+ max-width: 100%;
280
+ padding: 15px 10px;
281
+ vertical-align: middle;
282
+ }
283
+
284
+ /* line 232, sass/partials/_main_wrap.scss */
285
+
286
+ .cmb-type-title .cmb-td {
287
+ padding: 0;
288
+ }
289
+
290
+ /* line 237, sass/partials/_main_wrap.scss */
291
+
292
+ .cmb-th label {
293
+ display: block;
294
+ padding: 5px 0;
295
+ }
296
+
297
+ /* line 242, sass/partials/_main_wrap.scss */
298
+
299
+ .cmb-th + .cmb-td {
300
+ float: right;
301
+ }
302
+
303
+ /* line 246, sass/partials/_main_wrap.scss */
304
+
305
+ .cmb-td .cmb-td {
306
+ padding-bottom: 1em;
307
+ }
308
+
309
+ /* line 250, sass/partials/_main_wrap.scss */
310
+
311
+ .cmb-remove-row {
312
+ text-align: left;
313
+ }
314
+
315
+ /* line 254, sass/partials/_main_wrap.scss */
316
+
317
+ .empty-row.hidden {
318
+ display: none;
319
+ }
320
+
321
+ /* line 260, sass/partials/_main_wrap.scss */
322
+
323
+ .cmb-repeatable-group .cmb-th {
324
+ padding: 5px;
325
+ }
326
+
327
+ /* line 264, sass/partials/_main_wrap.scss */
328
+
329
+ .cmb-repeatable-group .cmb-group-title {
330
+ background-color: #e9e9e9;
331
+ padding: 8px 2.2em 8px 12px;
332
+ margin: 0 -1em;
333
+ min-height: 1.5em;
334
+ font-size: 14px;
335
+ line-height: 1.4;
336
+ }
337
+
338
+ /* line 272, sass/partials/_main_wrap.scss */
339
+
340
+ .cmb-repeatable-group .cmb-group-title h4 {
341
+ border: 0;
342
+ margin: 0;
343
+ font-size: 1.2em;
344
+ font-weight: 500;
345
+ padding: 0.5em 0.75em;
346
+ }
347
+
348
+ /* line 280, sass/partials/_main_wrap.scss */
349
+
350
+ .cmb-repeatable-group .cmb-group-title .cmb-th {
351
+ display: block;
352
+ width: 100%;
353
+ }
354
+
355
+ /* line 286, sass/partials/_main_wrap.scss */
356
+
357
+ .cmb-repeatable-group .cmb-group-description .cmb-th {
358
+ font-size: 1.2em;
359
+ display: block;
360
+ float: none;
361
+ padding-bottom: 1em;
362
+ text-align: right;
363
+ width: 100%;
364
+ }
365
+
366
+ /* line 27, sass/partials/_mixins.scss */
367
+
368
+ .cmb-repeatable-group .cmb-group-description .cmb-th label {
369
+ display: block;
370
+ margin-top: 0em;
371
+ padding-bottom: 5px;
372
+ }
373
+
374
+ /* line 32, sass/partials/_mixins.scss */
375
+
376
+ .cmb-repeatable-group .cmb-group-description .cmb-th label:after {
377
+ border-bottom: 1px solid #e9e9e9;
378
+ content: '';
379
+ clear: both;
380
+ display: block;
381
+ padding-top: .4em;
382
+ }
383
+
384
+ /* line 290, sass/partials/_main_wrap.scss */
385
+
386
+ .cmb-repeatable-group .cmb-shift-rows {
387
+ font-size: 1em;
388
+ margin-left: 1em;
389
+ text-decoration: none;
390
+ }
391
+
392
+ /* line 295, sass/partials/_main_wrap.scss */
393
+
394
+ .cmb-repeatable-group .cmb-shift-rows .dashicons {
395
+ font-size: 1.5em;
396
+ height: 1.5em;
397
+ line-height: 1.2em;
398
+ width: 1em;
399
+ }
400
+
401
+ /* line 301, sass/partials/_main_wrap.scss */
402
+
403
+ .cmb-repeatable-group .cmb-shift-rows .dashicons.dashicons-arrow-down-alt2 {
404
+ line-height: 1.3em;
405
+ }
406
+
407
+ /* line 308, sass/partials/_main_wrap.scss */
408
+
409
+ .cmb-repeatable-group .cmb2-upload-button {
410
+ float: left;
411
+ }
412
+
413
+ /* line 314, sass/partials/_main_wrap.scss */
414
+
415
+ p.cmb2-metabox-description {
416
+ color: #aaaaaa;
417
+ font-style: italic;
418
+ margin: 0;
419
+ padding-top: .5em;
420
+ }
421
+
422
+ /* line 321, sass/partials/_main_wrap.scss */
423
+
424
+ span.cmb2-metabox-description {
425
+ color: #aaaaaa;
426
+ font-style: italic;
427
+ }
428
+
429
+ /* line 326, sass/partials/_main_wrap.scss */
430
+
431
+ .cmb2-metabox-title {
432
+ margin: 0 0 5px 0;
433
+ padding: 5px 0 0 0;
434
+ font-size: 14px;
435
+ }
436
+
437
+ /* line 332, sass/partials/_main_wrap.scss */
438
+
439
+ .cmb-inline ul {
440
+ padding: 4px 0 0 0;
441
+ }
442
+
443
+ /* line 336, sass/partials/_main_wrap.scss */
444
+
445
+ .cmb-inline li {
446
+ display: inline-block;
447
+ padding-left: 18px;
448
+ }
449
+
450
+ /* line 341, sass/partials/_main_wrap.scss */
451
+
452
+ .cmb-type-textarea-code pre {
453
+ margin: 0;
454
+ }
455
+
456
+ /* line 347, sass/partials/_main_wrap.scss */
457
+
458
+ .cmb2-media-status .img-status {
459
+ clear: none;
460
+ display: inline-block;
461
+ float: right;
462
+ margin-left: 10px;
463
+ width: auto;
464
+ }
465
+
466
+ /* line 354, sass/partials/_main_wrap.scss */
467
+
468
+ .cmb2-media-status .img-status img {
469
+ max-width: 350px;
470
+ }
471
+
472
+ /* line 359, sass/partials/_main_wrap.scss */
473
+
474
+ .cmb2-media-status .img-status img,
475
+ .cmb2-media-status .embed-status {
476
+ background: #ffffff;
477
+ border: 1px solid #e9e9e9;
478
+ border-radius: 2px;
479
+ -moz-border-radius: 2px;
480
+ margin: 15px 0 0 0;
481
+ padding: 5px;
482
+ }
483
+
484
+ /* line 369, sass/partials/_main_wrap.scss */
485
+
486
+ .cmb2-media-status .embed-status {
487
+ float: right;
488
+ max-width: 800px;
489
+ }
490
+
491
+ /* line 374, sass/partials/_main_wrap.scss */
492
+
493
+ .cmb2-media-status .img-status,
494
+ .cmb2-media-status .embed-status {
495
+ position: relative;
496
+ }
497
+
498
+ /* line 377, sass/partials/_main_wrap.scss */
499
+
500
+ .cmb2-media-status .img-status .cmb2-remove-file-button,
501
+ .cmb2-media-status .embed-status .cmb2-remove-file-button {
502
+ background: url(../images/ico-delete.png);
503
+ height: 16px;
504
+ right: -5px;
505
+ position: absolute;
506
+ text-indent: -9999px;
507
+ top: -5px;
508
+ width: 16px;
509
+ }
510
+
511
+ /* line 391, sass/partials/_main_wrap.scss */
512
+
513
+ .cmb2-media-status .img-status .cmb2-remove-file-button {
514
+ top: 10px;
515
+ }
516
+
517
+ /* line 396, sass/partials/_main_wrap.scss */
518
+
519
+ .cmb2-media-status .img-status img,
520
+ .cmb2-media-status .file-status > span {
521
+ cursor: pointer;
522
+ }
523
+
524
+ /* line 402, sass/partials/_main_wrap.scss */
525
+
526
+ .cmb-type-file-list .cmb2-media-status .img-status {
527
+ clear: none;
528
+ float: right;
529
+ margin-left: 10px;
530
+ width: auto;
531
+ }
532
+
533
+ /* line 409, sass/partials/_main_wrap.scss */
534
+
535
+ .cmb-attach-list li {
536
+ clear: both;
537
+ display: inline-block;
538
+ margin-bottom: 25px;
539
+ width: 100%;
540
+ }
541
+
542
+ /* line 415, sass/partials/_main_wrap.scss */
543
+
544
+ .cmb-attach-list li img {
545
+ cursor: move;
546
+ float: right;
547
+ margin-left: 10px;
548
+ }
549
+
550
+ /* line 422, sass/partials/_main_wrap.scss */
551
+
552
+ .cmb2-remove-wrapper {
553
+ margin: 0;
554
+ }
555
+
556
+ /* line 426, sass/partials/_main_wrap.scss */
557
+
558
+ .child-cmb2 .cmb-th {
559
+ text-align: right;
560
+ }
561
+
562
+ /*--------------------------------------------------------------
563
+ Post Metaboxes
564
+ --------------------------------------------------------------*/
565
+
566
+ /* line 4, sass/partials/_post_metaboxes.scss */
567
+
568
+ #poststuff .cmb-group-title {
569
+ margin-right: -1em;
570
+ margin-left: -1em;
571
+ min-height: 1.5em;
572
+ }
573
+
574
+ /* line 10, sass/partials/_post_metaboxes.scss */
575
+
576
+ #poststuff .repeatable .cmb-group-title {
577
+ padding-right: 2.2em;
578
+ }
579
+
580
+ /* line 16, sass/partials/_post_metaboxes.scss */
581
+
582
+ .postbox-container .cmb2-wrap,
583
+ .cmb-repeat-group-wrap .cmb2-wrap {
584
+ margin: 0;
585
+ }
586
+
587
+ /* line 19, sass/partials/_post_metaboxes.scss */
588
+
589
+ .postbox-container .cmb2-wrap > .cmb-field-list > .cmb-row,
590
+ .cmb-repeat-group-wrap .cmb2-wrap > .cmb-field-list > .cmb-row {
591
+ padding: 1.8em 0;
592
+ }
593
+
594
+ /* line 25, sass/partials/_post_metaboxes.scss */
595
+
596
+ .postbox-container .cmb2-wrap input[type=text].cmb2-oembed,
597
+ .cmb-repeat-group-wrap .cmb2-wrap input[type=text].cmb2-oembed {
598
+ width: 100%;
599
+ }
600
+
601
+ /* line 31, sass/partials/_post_metaboxes.scss */
602
+
603
+ .postbox-container .cmb-row,
604
+ .cmb-repeat-group-wrap .cmb-row {
605
+ padding: 0 0 1.8em;
606
+ margin: 0 0 0.8em;
607
+ }
608
+
609
+ /* line 35, sass/partials/_post_metaboxes.scss */
610
+
611
+ .postbox-container .cmb-row .cmbhandle,
612
+ .cmb-repeat-group-wrap .cmb-row .cmbhandle {
613
+ left: -1em;
614
+ position: relative;
615
+ }
616
+
617
+ /* line 41, sass/partials/_post_metaboxes.scss */
618
+
619
+ .postbox-container .cmb-repeatable-grouping,
620
+ .cmb-repeat-group-wrap .cmb-repeatable-grouping {
621
+ padding: 0 1em;
622
+ max-width: 100%;
623
+ min-width: 1px !important;
624
+ }
625
+
626
+ /* line 47, sass/partials/_post_metaboxes.scss */
627
+
628
+ .postbox-container .cmb-repeatable-group > .cmb-row,
629
+ .cmb-repeat-group-wrap .cmb-repeatable-group > .cmb-row {
630
+ padding-bottom: 0;
631
+ }
632
+
633
+ /* line 51, sass/partials/_post_metaboxes.scss */
634
+
635
+ .postbox-container .cmb-th,
636
+ .cmb-repeat-group-wrap .cmb-th {
637
+ width: 18%;
638
+ padding: 0 0 0 2%;
639
+ }
640
+
641
+ /* line 57, sass/partials/_post_metaboxes.scss */
642
+
643
+ .postbox-container .cmb-td,
644
+ .cmb-repeat-group-wrap .cmb-td {
645
+ margin-bottom: 0;
646
+ padding: 0;
647
+ line-height: 1.3;
648
+ }
649
+
650
+ /* line 63, sass/partials/_post_metaboxes.scss */
651
+
652
+ .postbox-container .cmb-repeat-row .cmb-td,
653
+ .cmb-repeat-group-wrap .cmb-repeat-row .cmb-td {
654
+ padding-bottom: 1.8em;
655
+ }
656
+
657
+ /* line 67, sass/partials/_post_metaboxes.scss */
658
+
659
+ .postbox-container .cmb-th + .cmb-td,
660
+ .cmb-repeat-group-wrap .cmb-th + .cmb-td {
661
+ width: 80%;
662
+ float: left;
663
+ }
664
+
665
+ /* line 72, sass/partials/_post_metaboxes.scss */
666
+
667
+ .postbox-container .cmb-row:not(:last-of-type),
668
+ .postbox-container .cmb-repeatable-group:not(:last-of-type),
669
+ .cmb-repeat-group-wrap .cmb-row:not(:last-of-type),
670
+ .cmb-repeat-group-wrap .cmb-repeatable-group:not(:last-of-type) {
671
+ border-bottom: 1px solid #e9e9e9;
672
+ }
673
+
674
+ /* line 81, sass/partials/_post_metaboxes.scss */
675
+
676
+ .postbox-container .cmb-repeat-group-field,
677
+ .postbox-container .cmb-remove-field-row,
678
+ .cmb-repeat-group-wrap .cmb-repeat-group-field,
679
+ .cmb-repeat-group-wrap .cmb-remove-field-row {
680
+ padding-top: 1.8em;
681
+ }
682
+
683
+ /* line 88, sass/partials/_post_metaboxes.scss */
684
+
685
+ .postbox-container .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody,
686
+ .postbox-container .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody,
687
+ .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody,
688
+ .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody {
689
+ display: table;
690
+ width: 100%;
691
+ }
692
+
693
+ /* line 92, sass/partials/_post_metaboxes.scss */
694
+
695
+ .postbox-container .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,
696
+ .postbox-container .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,
697
+ .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,
698
+ .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text {
699
+ width: 100%;
700
+ }
701
+
702
+ /* line 96, sass/partials/_post_metaboxes.scss */
703
+
704
+ .postbox-container .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),
705
+ .postbox-container .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),
706
+ .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),
707
+ .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row) {
708
+ display: table-row;
709
+ }
710
+
711
+ /* line 100, sass/partials/_post_metaboxes.scss */
712
+
713
+ .postbox-container .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,
714
+ .postbox-container .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,
715
+ .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,
716
+ .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td {
717
+ display: table-cell;
718
+ float: none;
719
+ width: 100%;
720
+ }
721
+
722
+ /* line 106, sass/partials/_post_metaboxes.scss */
723
+
724
+ .postbox-container .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,
725
+ .postbox-container .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,
726
+ .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,
727
+ .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td {
728
+ padding-top: 1.8em;
729
+ }
730
+
731
+ /* line 110, sass/partials/_post_metaboxes.scss */
732
+
733
+ .postbox-container .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,
734
+ .postbox-container .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,
735
+ .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,
736
+ .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row {
737
+ padding-left: 0;
738
+ }
739
+
740
+ /*--------------------------------------------------------------
741
+ Misc.
742
+ --------------------------------------------------------------*/
743
+
744
+ /* line 5, sass/partials/_misc.scss */
745
+
746
+ #poststuff .cmb-repeatable-group h2 {
747
+ margin: 0;
748
+ }
749
+
750
+ /* line 12, sass/partials/_misc.scss */
751
+
752
+ .edit-tags-php .cmb2-metabox-title,
753
+ .profile-php .cmb2-metabox-title,
754
+ .user-edit-php .cmb2-metabox-title {
755
+ font-size: 1.4em;
756
+ }
757
+
758
+ /* line 18, sass/partials/_misc.scss */
759
+
760
+ .cmb2-options-page .cmb2-metabox-title {
761
+ font-size: 1.3em;
762
+ margin: 1em 0;
763
+ }
764
+
765
+ /* line 21, sass/partials/_misc.scss */
766
+
767
+ .cmb2-options-page .cmb2-metabox-title + p.cmb2-metabox-description {
768
+ margin-top: -1.6em;
769
+ margin-bottom: .8em;
770
+ }
771
+
772
+ /* line 27, sass/partials/_misc.scss */
773
+
774
+ .postbox .cmb-spinner {
775
+ float: right;
776
+ }
777
+
778
+ /*--------------------------------------------------------------
779
+ Sidebar Placement Adjustments
780
+ --------------------------------------------------------------*/
781
+
782
+ /* line 10, sass/partials/_sidebar_placements.scss */
783
+
784
+ .inner-sidebar .cmb2-wrap > .cmb-field-list > .cmb-row,
785
+ #side-sortables .cmb2-wrap > .cmb-field-list > .cmb-row {
786
+ padding: 1.4em 0;
787
+ }
788
+
789
+ /* line 16, sass/partials/_sidebar_placements.scss */
790
+
791
+ .inner-sidebar .cmb2-wrap input[type=text]:not(.wp-color-picker),
792
+ #side-sortables .cmb2-wrap input[type=text]:not(.wp-color-picker) {
793
+ width: 100%;
794
+ }
795
+
796
+ /* line 20, sass/partials/_sidebar_placements.scss */
797
+
798
+ .inner-sidebar .cmb2-wrap input + input:not(.wp-picker-clear),
799
+ .inner-sidebar .cmb2-wrap input + select,
800
+ #side-sortables .cmb2-wrap input + input:not(.wp-picker-clear),
801
+ #side-sortables .cmb2-wrap input + select {
802
+ margin-right: 0;
803
+ margin-top: 1em;
804
+ display: block;
805
+ }
806
+
807
+ /* line 26, sass/partials/_sidebar_placements.scss */
808
+
809
+ .inner-sidebar .cmb2-wrap input.cmb2-text-money,
810
+ #side-sortables .cmb2-wrap input.cmb2-text-money {
811
+ max-width: 70%;
812
+ }
813
+
814
+ /* line 28, sass/partials/_sidebar_placements.scss */
815
+
816
+ .inner-sidebar .cmb2-wrap input.cmb2-text-money + .cmb2-metabox-description,
817
+ #side-sortables .cmb2-wrap input.cmb2-text-money + .cmb2-metabox-description {
818
+ display: block;
819
+ }
820
+
821
+ /* line 34, sass/partials/_sidebar_placements.scss */
822
+
823
+ .inner-sidebar .cmb2-wrap label,
824
+ #side-sortables .cmb2-wrap label {
825
+ display: block;
826
+ font-weight: 700;
827
+ padding: 0 0 5px;
828
+ }
829
+
830
+ /* line 42, sass/partials/_sidebar_placements.scss */
831
+
832
+ .inner-sidebar textarea,
833
+ #side-sortables textarea {
834
+ max-width: 99%;
835
+ }
836
+
837
+ /* line 46, sass/partials/_sidebar_placements.scss */
838
+
839
+ .inner-sidebar .cmb-repeatable-group,
840
+ #side-sortables .cmb-repeatable-group {
841
+ border-bottom: 1px solid #e9e9e9;
842
+ }
843
+
844
+ /* line 50, sass/partials/_sidebar_placements.scss */
845
+
846
+ .inner-sidebar .cmb-repeat-group-wrap > .cmb-td > .cmb-repeatable-group,
847
+ #side-sortables .cmb-repeat-group-wrap > .cmb-td > .cmb-repeatable-group {
848
+ border-bottom: 0;
849
+ margin-bottom: -1.4em;
850
+ }
851
+
852
+ /* line 55, sass/partials/_sidebar_placements.scss */
853
+
854
+ .inner-sidebar .cmb-th,
855
+ .inner-sidebar .cmb-td,
856
+ .inner-sidebar .cmb-th + .cmb-td,
857
+ #side-sortables .cmb-th,
858
+ #side-sortables .cmb-td,
859
+ #side-sortables .cmb-th + .cmb-td {
860
+ width: 100%;
861
+ display: block;
862
+ float: none;
863
+ }
864
+
865
+ /* line 63, sass/partials/_sidebar_placements.scss */
866
+
867
+ .inner-sidebar .closed .inside,
868
+ #side-sortables .closed .inside {
869
+ display: none;
870
+ }
871
+
872
+ /* line 67, sass/partials/_sidebar_placements.scss */
873
+
874
+ .inner-sidebar .cmb-td .cmb-td,
875
+ #side-sortables .cmb-td .cmb-td {
876
+ padding-bottom: 1em;
877
+ }
878
+
879
+ /* line 71, sass/partials/_sidebar_placements.scss */
880
+
881
+ .inner-sidebar .cmb-th,
882
+ #side-sortables .cmb-th {
883
+ display: block;
884
+ float: none;
885
+ padding-bottom: 1em;
886
+ text-align: right;
887
+ width: 100%;
888
+ padding-right: 0;
889
+ padding-left: 0;
890
+ }
891
+
892
+ /* line 27, sass/partials/_mixins.scss */
893
+
894
+ .inner-sidebar .cmb-th label,
895
+ #side-sortables .cmb-th label {
896
+ display: block;
897
+ margin-top: 0em;
898
+ padding-bottom: 5px;
899
+ }
900
+
901
+ /* line 32, sass/partials/_mixins.scss */
902
+
903
+ .inner-sidebar .cmb-th label:after,
904
+ #side-sortables .cmb-th label:after {
905
+ border-bottom: 1px solid #e9e9e9;
906
+ content: '';
907
+ clear: both;
908
+ display: block;
909
+ padding-top: .4em;
910
+ }
911
+
912
+ /* line 14, sass/partials/_mixins.scss */
913
+
914
+ .inner-sidebar .cmb-th label,
915
+ #side-sortables .cmb-th label {
916
+ font-size: 14px;
917
+ line-height: 1.4em;
918
+ }
919
+
920
+ /* line 78, sass/partials/_sidebar_placements.scss */
921
+
922
+ .inner-sidebar .cmb-group-description .cmb-th,
923
+ #side-sortables .cmb-group-description .cmb-th {
924
+ padding-top: 0;
925
+ }
926
+
927
+ /* line 81, sass/partials/_sidebar_placements.scss */
928
+
929
+ .inner-sidebar .cmb-group-description .cmb2-metabox-description,
930
+ #side-sortables .cmb-group-description .cmb2-metabox-description {
931
+ padding: 0;
932
+ }
933
+
934
+ /* line 88, sass/partials/_sidebar_placements.scss */
935
+
936
+ .inner-sidebar .cmb-group-title .cmb-th,
937
+ #side-sortables .cmb-group-title .cmb-th {
938
+ padding: 0;
939
+ }
940
+
941
+ /* line 94, sass/partials/_sidebar_placements.scss */
942
+
943
+ .inner-sidebar .cmb-repeatable-grouping + .cmb-repeatable-grouping,
944
+ #side-sortables .cmb-repeatable-grouping + .cmb-repeatable-grouping {
945
+ margin-top: 1em;
946
+ }
947
+
948
+ /* line 103, sass/partials/_sidebar_placements.scss */
949
+
950
+ .inner-sidebar .cmb2-media-status .img-status img,
951
+ .inner-sidebar .cmb2-media-status .embed-status img,
952
+ #side-sortables .cmb2-media-status .img-status img,
953
+ #side-sortables .cmb2-media-status .embed-status img {
954
+ max-width: 90%;
955
+ height: auto;
956
+ }
957
+
958
+ /* line 111, sass/partials/_sidebar_placements.scss */
959
+
960
+ .inner-sidebar .cmb2-list label,
961
+ #side-sortables .cmb2-list label {
962
+ display: inline;
963
+ font-weight: normal;
964
+ }
965
+
966
+ /* line 116, sass/partials/_sidebar_placements.scss */
967
+
968
+ .inner-sidebar .cmb2-metabox-description,
969
+ #side-sortables .cmb2-metabox-description {
970
+ display: block;
971
+ padding: 7px 0 0;
972
+ }
973
+
974
+ /* line 123, sass/partials/_sidebar_placements.scss */
975
+
976
+ .inner-sidebar .cmb-type-checkbox .cmb-td label,
977
+ .inner-sidebar .cmb-type-checkbox .cmb2-metabox-description,
978
+ #side-sortables .cmb-type-checkbox .cmb-td label,
979
+ #side-sortables .cmb-type-checkbox .cmb2-metabox-description {
980
+ font-weight: normal;
981
+ display: inline;
982
+ }
983
+
984
+ /* line 130, sass/partials/_sidebar_placements.scss */
985
+
986
+ .inner-sidebar .cmb-row .cmb2-metabox-description,
987
+ #side-sortables .cmb-row .cmb2-metabox-description {
988
+ padding-bottom: 1.8em;
989
+ }
990
+
991
+ /* line 134, sass/partials/_sidebar_placements.scss */
992
+
993
+ .inner-sidebar .cmb2-metabox-title,
994
+ #side-sortables .cmb2-metabox-title {
995
+ font-size: 1.2em;
996
+ font-style: italic;
997
+ }
998
+
999
+ /* line 139, sass/partials/_sidebar_placements.scss */
1000
+
1001
+ .inner-sidebar .cmb-remove-row,
1002
+ #side-sortables .cmb-remove-row {
1003
+ clear: both;
1004
+ padding-top: 12px;
1005
+ padding-bottom: 0;
1006
+ }
1007
+
1008
+ /* line 146, sass/partials/_sidebar_placements.scss */
1009
+
1010
+ .inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td,
1011
+ #side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td {
1012
+ width: auto;
1013
+ clear: none;
1014
+ float: right;
1015
+ padding-top: 0;
1016
+ }
1017
+
1018
+ /* line 151, sass/partials/_sidebar_placements.scss */
1019
+
1020
+ .inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row,
1021
+ #side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row {
1022
+ float: left;
1023
+ margin: 0;
1024
+ }
1025
+
1026
+ /* line 158, sass/partials/_sidebar_placements.scss */
1027
+
1028
+ .inner-sidebar .cmb2-upload-button,
1029
+ #side-sortables .cmb2-upload-button {
1030
+ clear: both;
1031
+ margin-top: 12px;
1032
+ }
1033
+
1034
+ /* line 2, sass/partials/_collapsible_ui.scss */
1035
+
1036
+ .cmb2-metabox .cmb-repeat-group-wrap {
1037
+ max-width: 1000px;
1038
+ }
1039
+
1040
+ /* line 5, sass/partials/_collapsible_ui.scss */
1041
+
1042
+ .cmb2-metabox .cmbhandle {
1043
+ color: #aaa;
1044
+ float: left;
1045
+ width: 27px;
1046
+ height: 30px;
1047
+ cursor: pointer;
1048
+ left: -1em;
1049
+ position: relative;
1050
+ }
1051
+
1052
+ /* line 13, sass/partials/_collapsible_ui.scss */
1053
+
1054
+ .cmb2-metabox .cmbhandle:before {
1055
+ content: '\f142';
1056
+ left: 12px;
1057
+ font: normal 20px/1 'dashicons';
1058
+ speak: none;
1059
+ display: inline-block;
1060
+ padding: 8px 10px;
1061
+ top: 0;
1062
+ position: relative;
1063
+ -webkit-font-smoothing: antialiased;
1064
+ -moz-osx-font-smoothing: grayscale;
1065
+ text-decoration: none !important;
1066
+ }
1067
+
1068
+ /* line 30, sass/partials/_collapsible_ui.scss */
1069
+
1070
+ .cmb2-metabox .postbox.closed .cmbhandle:before {
1071
+ content: '\f140';
1072
+ }
1073
+
1074
+ /* line 36, sass/partials/_collapsible_ui.scss */
1075
+
1076
+ .cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row {
1077
+ -webkit-appearance: none !important;
1078
+ background: none !important;
1079
+ border: none !important;
1080
+ position: absolute;
1081
+ right: 0;
1082
+ top: .5em;
1083
+ line-height: 1em;
1084
+ cursor: pointer;
1085
+ padding: 2px 6px 3px;
1086
+ }
1087
+
1088
+ /* line 46, sass/partials/_collapsible_ui.scss */
1089
+
1090
+ .cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]) {
1091
+ color: #a00;
1092
+ }
1093
+
1094
+ /* line 48, sass/partials/_collapsible_ui.scss */
1095
+
1096
+ .cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]):hover {
1097
+ color: #f00;
1098
+ }
1099
+
1100
+ /*
1101
+ * jQuery UI CSS Framework 1.8.16
1102
+ *
1103
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
1104
+ * Dual licensed under the MIT or GPL Version 2 licenses.
1105
+ * http://jquery.org/license
1106
+ *
1107
+ * http://docs.jquery.com/UI/Theming/API
1108
+ */
1109
+
1110
+ /* line 10, sass/partials/_jquery_ui.scss */
1111
+
1112
+ * html .cmb2-element.ui-helper-clearfix {
1113
+ height: 1%;
1114
+ }
1115
+
1116
+ /* line 14, sass/partials/_jquery_ui.scss */
1117
+
1118
+ .cmb2-element .ui-helper-hidden {
1119
+ display: none;
1120
+ }
1121
+
1122
+ /* line 17, sass/partials/_jquery_ui.scss */
1123
+
1124
+ .cmb2-element .ui-helper-hidden-accessible {
1125
+ position: absolute !important;
1126
+ clip: rect(1px 1px 1px 1px);
1127
+ clip: rect(1px, 1px, 1px, 1px);
1128
+ }
1129
+
1130
+ /* line 20, sass/partials/_jquery_ui.scss */
1131
+
1132
+ .cmb2-element .ui-helper-reset {
1133
+ margin: 0;
1134
+ padding: 0;
1135
+ border: 0;
1136
+ outline: 0;
1137
+ line-height: 1.3;
1138
+ text-decoration: none;
1139
+ font-size: 100%;
1140
+ list-style: none;
1141
+ }
1142
+
1143
+ /* line 23, sass/partials/_jquery_ui.scss */
1144
+
1145
+ .cmb2-element.ui-helper-clearfix:after,
1146
+ .cmb2-element .ui-helper-clearfix:after {
1147
+ content: ".";
1148
+ display: block;
1149
+ height: 0;
1150
+ clear: both;
1151
+ visibility: hidden;
1152
+ }
1153
+
1154
+ /* line 27, sass/partials/_jquery_ui.scss */
1155
+
1156
+ .cmb2-element.ui-helper-clearfix,
1157
+ .cmb2-element .ui-helper-clearfix {
1158
+ display: inline-block;
1159
+ }
1160
+
1161
+ /* line 31, sass/partials/_jquery_ui.scss */
1162
+
1163
+ .cmb2-element.ui-helper-clearfix,
1164
+ .cmb2-element .ui-helper-clearfix {
1165
+ display: block;
1166
+ }
1167
+
1168
+ /* line 35, sass/partials/_jquery_ui.scss */
1169
+
1170
+ .cmb2-element .ui-helper-zfix {
1171
+ width: 100%;
1172
+ height: 100%;
1173
+ top: 0;
1174
+ right: 0;
1175
+ position: absolute;
1176
+ opacity: 0;
1177
+ filter: Alpha(Opacity=0);
1178
+ }
1179
+
1180
+ /* line 38, sass/partials/_jquery_ui.scss */
1181
+
1182
+ .cmb2-element .ui-state-disabled {
1183
+ cursor: default !important;
1184
+ }
1185
+
1186
+ /* line 41, sass/partials/_jquery_ui.scss */
1187
+
1188
+ .cmb2-element .ui-icon {
1189
+ display: block;
1190
+ text-indent: -99999px;
1191
+ overflow: hidden;
1192
+ background-repeat: no-repeat;
1193
+ }
1194
+
1195
+ /* line 44, sass/partials/_jquery_ui.scss */
1196
+
1197
+ .cmb2-element .ui-widget-overlay {
1198
+ position: absolute;
1199
+ top: 0;
1200
+ right: 0;
1201
+ width: 100%;
1202
+ height: 100%;
1203
+ }
1204
+
1205
+ /* line 47, sass/partials/_jquery_ui.scss */
1206
+
1207
+ .cmb2-element.ui-widget,
1208
+ .cmb2-element .ui-widget {
1209
+ font-family: Verdana,Arial,sans-serif;
1210
+ font-size: 1.1em;
1211
+ }
1212
+
1213
+ /* line 50, sass/partials/_jquery_ui.scss */
1214
+
1215
+ .cmb2-element.ui-widget .ui-widget,
1216
+ .cmb2-element .ui-widget .ui-widget {
1217
+ font-size: 1em;
1218
+ }
1219
+
1220
+ /* line 53, sass/partials/_jquery_ui.scss */
1221
+
1222
+ .cmb2-element.ui-widget input,
1223
+ .cmb2-element.ui-widget select,
1224
+ .cmb2-element.ui-widget textarea,
1225
+ .cmb2-element.ui-widget button,
1226
+ .cmb2-element .ui-widget input,
1227
+ .cmb2-element .ui-widget select,
1228
+ .cmb2-element .ui-widget textarea,
1229
+ .cmb2-element .ui-widget button {
1230
+ font-family: Verdana,Arial,sans-serif;
1231
+ font-size: 1em;
1232
+ }
1233
+
1234
+ /* line 60, sass/partials/_jquery_ui.scss */
1235
+
1236
+ .cmb2-element.ui-widget-content,
1237
+ .cmb2-element .ui-widget-content {
1238
+ border: 1px solid #aaaaaa;
1239
+ background: #ffffff url(../images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x;
1240
+ color: #222222;
1241
+ }
1242
+
1243
+ /* line 64, sass/partials/_jquery_ui.scss */
1244
+
1245
+ .cmb2-element.ui-widget-content a,
1246
+ .cmb2-element .ui-widget-content a {
1247
+ color: #222222;
1248
+ }
1249
+
1250
+ /* line 68, sass/partials/_jquery_ui.scss */
1251
+
1252
+ .cmb2-element .ui-widget-header {
1253
+ border: 1px solid #aaaaaa;
1254
+ background: #cccccc url(../images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;
1255
+ color: #222222;
1256
+ font-weight: bold;
1257
+ }
1258
+
1259
+ /* line 71, sass/partials/_jquery_ui.scss */
1260
+
1261
+ .cmb2-element .ui-widget-header a {
1262
+ color: #222222;
1263
+ }
1264
+
1265
+ /* line 74, sass/partials/_jquery_ui.scss */
1266
+
1267
+ .cmb2-element .ui-state-default,
1268
+ .cmb2-element.ui-widget-content .ui-state-default,
1269
+ .cmb2-element .ui-widget-content .ui-state-default,
1270
+ .cmb2-element .ui-widget-header .ui-state-default {
1271
+ border: 1px solid #d3d3d3;
1272
+ font-weight: normal;
1273
+ color: #555555;
1274
+ }
1275
+
1276
+ /* line 80, sass/partials/_jquery_ui.scss */
1277
+
1278
+ .cmb2-element .ui-state-default a,
1279
+ .cmb2-element .ui-state-default a:link,
1280
+ .cmb2-element .ui-state-default a:visited {
1281
+ color: #555555;
1282
+ text-decoration: none;
1283
+ }
1284
+
1285
+ /* line 85, sass/partials/_jquery_ui.scss */
1286
+
1287
+ .cmb2-element .ui-state-hover,
1288
+ .cmb2-element.ui-widget-content .ui-state-hover,
1289
+ .cmb2-element .ui-widget-content .ui-state-hover,
1290
+ .cmb2-element .ui-widget-header .ui-state-hover,
1291
+ .cmb2-element .ui-state-focus,
1292
+ .cmb2-element.ui-widget-content .ui-state-focus,
1293
+ .cmb2-element .ui-widget-content .ui-state-focus,
1294
+ .cmb2-element .ui-widget-header .ui-state-focus {
1295
+ border: 1px solid #999999;
1296
+ background: #dadada url(../images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x;
1297
+ font-weight: normal;
1298
+ color: #212121;
1299
+ }
1300
+
1301
+ /* line 95, sass/partials/_jquery_ui.scss */
1302
+
1303
+ .cmb2-element .ui-state-hover a,
1304
+ .cmb2-element .ui-state-hover a:hover {
1305
+ color: #212121;
1306
+ text-decoration: none;
1307
+ }
1308
+
1309
+ /* line 99, sass/partials/_jquery_ui.scss */
1310
+
1311
+ .cmb2-element .ui-state-active,
1312
+ .cmb2-element.ui-widget-content .ui-state-active,
1313
+ .cmb2-element .ui-widget-content .ui-state-active,
1314
+ .cmb2-element .ui-widget-header .ui-state-active {
1315
+ border: 1px solid #aaaaaa;
1316
+ background: #ffffff url(../images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;
1317
+ font-weight: normal;
1318
+ color: #212121;
1319
+ }
1320
+
1321
+ /* line 105, sass/partials/_jquery_ui.scss */
1322
+
1323
+ .cmb2-element .ui-state-active a,
1324
+ .cmb2-element .ui-state-active a:link,
1325
+ .cmb2-element .ui-state-active a:visited {
1326
+ color: #212121;
1327
+ text-decoration: none;
1328
+ }
1329
+
1330
+ /* line 110, sass/partials/_jquery_ui.scss */
1331
+
1332
+ .cmb2-element.ui-widget :active,
1333
+ .cmb2-element .ui-widget :active {
1334
+ outline: none;
1335
+ }
1336
+
1337
+ /* line 114, sass/partials/_jquery_ui.scss */
1338
+
1339
+ .cmb2-element .ui-state-highlight,
1340
+ .cmb2-element.ui-widget-content .ui-state-highlight,
1341
+ .cmb2-element .ui-widget-content .ui-state-highlight,
1342
+ .cmb2-element .ui-widget-header .ui-state-highlight {
1343
+ border: 1px solid #fcefa1;
1344
+ background: #fbf9ee url(../images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x;
1345
+ color: #363636;
1346
+ }
1347
+
1348
+ /* line 120, sass/partials/_jquery_ui.scss */
1349
+
1350
+ .cmb2-element .ui-state-highlight a,
1351
+ .cmb2-element.ui-widget-content .ui-state-highlight a,
1352
+ .cmb2-element .ui-widget-content .ui-state-highlight a,
1353
+ .cmb2-element .ui-widget-header .ui-state-highlight a {
1354
+ color: #363636;
1355
+ }
1356
+
1357
+ /* line 126, sass/partials/_jquery_ui.scss */
1358
+
1359
+ .cmb2-element .ui-state-error,
1360
+ .cmb2-element.ui-widget-content .ui-state-error,
1361
+ .cmb2-element .ui-widget-content .ui-state-error,
1362
+ .cmb2-element .ui-widget-header .ui-state-error {
1363
+ border: 1px solid #cd0a0a;
1364
+ background: #fef1ec url(../images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;
1365
+ color: #cd0a0a;
1366
+ }
1367
+
1368
+ /* line 132, sass/partials/_jquery_ui.scss */
1369
+
1370
+ .cmb2-element .ui-state-error a,
1371
+ .cmb2-element.ui-widget-content .ui-state-error a,
1372
+ .cmb2-element .ui-widget-content .ui-state-error a,
1373
+ .cmb2-element .ui-widget-header .ui-state-error a {
1374
+ color: #cd0a0a;
1375
+ }
1376
+
1377
+ /* line 138, sass/partials/_jquery_ui.scss */
1378
+
1379
+ .cmb2-element .ui-state-error-text,
1380
+ .cmb2-element.ui-widget-content .ui-state-error-text,
1381
+ .cmb2-element .ui-widget-content .ui-state-error-text,
1382
+ .cmb2-element .ui-widget-header .ui-state-error-text {
1383
+ color: #cd0a0a;
1384
+ }
1385
+
1386
+ /* line 144, sass/partials/_jquery_ui.scss */
1387
+
1388
+ .cmb2-element .ui-priority-primary,
1389
+ .cmb2-element.ui-widget-content .ui-priority-primary,
1390
+ .cmb2-element .ui-widget-content .ui-priority-primary,
1391
+ .cmb2-element .ui-widget-header .ui-priority-primary {
1392
+ font-weight: bold;
1393
+ }
1394
+
1395
+ /* line 150, sass/partials/_jquery_ui.scss */
1396
+
1397
+ .cmb2-element .ui-priority-secondary,
1398
+ .cmb2-element.ui-widget-content .ui-priority-secondary,
1399
+ .cmb2-element .ui-widget-content .ui-priority-secondary,
1400
+ .cmb2-element .ui-widget-header .ui-priority-secondary {
1401
+ opacity: .7;
1402
+ filter: Alpha(Opacity=70);
1403
+ font-weight: normal;
1404
+ }
1405
+
1406
+ /* line 156, sass/partials/_jquery_ui.scss */
1407
+
1408
+ .cmb2-element .ui-state-disabled,
1409
+ .cmb2-element.ui-widget-content .ui-state-disabled,
1410
+ .cmb2-element .ui-widget-content .ui-state-disabled,
1411
+ .cmb2-element .ui-widget-header .ui-state-disabled {
1412
+ opacity: .35;
1413
+ filter: Alpha(Opacity=35);
1414
+ background-image: none;
1415
+ }
1416
+
1417
+ /* line 162, sass/partials/_jquery_ui.scss */
1418
+
1419
+ .cmb2-element .ui-icon {
1420
+ width: 16px;
1421
+ height: 16px;
1422
+ background-image: url(../images/ui-icons_222222_256x240.png);
1423
+ }
1424
+
1425
+ /* line 165, sass/partials/_jquery_ui.scss */
1426
+
1427
+ .cmb2-element.ui-widget-content .ui-icon,
1428
+ .cmb2-element .ui-widget-content .ui-icon {
1429
+ background-image: url(../images/ui-icons_222222_256x240.png);
1430
+ }
1431
+
1432
+ /* line 169, sass/partials/_jquery_ui.scss */
1433
+
1434
+ .cmb2-element .ui-widget-header .ui-icon {
1435
+ background-image: url(../images/ui-icons_222222_256x240.png);
1436
+ }
1437
+
1438
+ /* line 172, sass/partials/_jquery_ui.scss */
1439
+
1440
+ .cmb2-element .ui-state-default .ui-icon {
1441
+ background-image: url(../images/ui-icons_888888_256x240.png);
1442
+ }
1443
+
1444
+ /* line 175, sass/partials/_jquery_ui.scss */
1445
+
1446
+ .cmb2-element .ui-state-hover .ui-icon,
1447
+ .cmb2-element .ui-state-focus .ui-icon {
1448
+ background-image: url(../images/ui-icons_454545_256x240.png);
1449
+ }
1450
+
1451
+ /* line 179, sass/partials/_jquery_ui.scss */
1452
+
1453
+ .cmb2-element .ui-state-active .ui-icon {
1454
+ background-image: url(../images/ui-icons_454545_256x240.png);
1455
+ }
1456
+
1457
+ /* line 182, sass/partials/_jquery_ui.scss */
1458
+
1459
+ .cmb2-element .ui-state-highlight .ui-icon {
1460
+ background-image: url(../images/ui-icons_2e83ff_256x240.png);
1461
+ }
1462
+
1463
+ /* line 185, sass/partials/_jquery_ui.scss */
1464
+
1465
+ .cmb2-element .ui-state-error .ui-icon,
1466
+ .cmb2-element .ui-state-error-text .ui-icon {
1467
+ background-image: url(../images/ui-icons_cd0a0a_256x240.png);
1468
+ }
1469
+
1470
+ /* line 189, sass/partials/_jquery_ui.scss */
1471
+
1472
+ .cmb2-element .ui-icon-carat-1-n {
1473
+ background-position: 0 0;
1474
+ }
1475
+
1476
+ /* line 192, sass/partials/_jquery_ui.scss */
1477
+
1478
+ .cmb2-element .ui-icon-carat-1-ne {
1479
+ background-position: -16px 0;
1480
+ }
1481
+
1482
+ /* line 195, sass/partials/_jquery_ui.scss */
1483
+
1484
+ .cmb2-element .ui-icon-carat-1-e {
1485
+ background-position: -32px 0;
1486
+ }
1487
+
1488
+ /* line 198, sass/partials/_jquery_ui.scss */
1489
+
1490
+ .cmb2-element .ui-icon-carat-1-se {
1491
+ background-position: -48px 0;
1492
+ }
1493
+
1494
+ /* line 201, sass/partials/_jquery_ui.scss */
1495
+
1496
+ .cmb2-element .ui-icon-carat-1-s {
1497
+ background-position: -64px 0;
1498
+ }
1499
+
1500
+ /* line 204, sass/partials/_jquery_ui.scss */
1501
+
1502
+ .cmb2-element .ui-icon-carat-1-sw {
1503
+ background-position: -80px 0;
1504
+ }
1505
+
1506
+ /* line 207, sass/partials/_jquery_ui.scss */
1507
+
1508
+ .cmb2-element .ui-icon-carat-1-w {
1509
+ background-position: -96px 0;
1510
+ }
1511
+
1512
+ /* line 210, sass/partials/_jquery_ui.scss */
1513
+
1514
+ .cmb2-element .ui-icon-carat-1-nw {
1515
+ background-position: -112px 0;
1516
+ }
1517
+
1518
+ /* line 213, sass/partials/_jquery_ui.scss */
1519
+
1520
+ .cmb2-element .ui-icon-carat-2-n-s {
1521
+ background-position: -128px 0;
1522
+ }
1523
+
1524
+ /* line 216, sass/partials/_jquery_ui.scss */
1525
+
1526
+ .cmb2-element .ui-icon-carat-2-e-w {
1527
+ background-position: -144px 0;
1528
+ }
1529
+
1530
+ /* line 219, sass/partials/_jquery_ui.scss */
1531
+
1532
+ .cmb2-element .ui-icon-triangle-1-n {
1533
+ background-position: 0 -16px;
1534
+ }
1535
+
1536
+ /* line 222, sass/partials/_jquery_ui.scss */
1537
+
1538
+ .cmb2-element .ui-icon-triangle-1-ne {
1539
+ background-position: -16px -16px;
1540
+ }
1541
+
1542
+ /* line 225, sass/partials/_jquery_ui.scss */
1543
+
1544
+ .cmb2-element .ui-icon-triangle-1-e {
1545
+ background-position: -32px -16px;
1546
+ }
1547
+
1548
+ /* line 228, sass/partials/_jquery_ui.scss */
1549
+
1550
+ .cmb2-element .ui-icon-triangle-1-se {
1551
+ background-position: -48px -16px;
1552
+ }
1553
+
1554
+ /* line 231, sass/partials/_jquery_ui.scss */
1555
+
1556
+ .cmb2-element .ui-icon-triangle-1-s {
1557
+ background-position: -64px -16px;
1558
+ }
1559
+
1560
+ /* line 234, sass/partials/_jquery_ui.scss */
1561
+
1562
+ .cmb2-element .ui-icon-triangle-1-sw {
1563
+ background-position: -80px -16px;
1564
+ }
1565
+
1566
+ /* line 237, sass/partials/_jquery_ui.scss */
1567
+
1568
+ .cmb2-element .ui-icon-triangle-1-w {
1569
+ background-position: -96px -16px;
1570
+ }
1571
+
1572
+ /* line 240, sass/partials/_jquery_ui.scss */
1573
+
1574
+ .cmb2-element .ui-icon-triangle-1-nw {
1575
+ background-position: -112px -16px;
1576
+ }
1577
+
1578
+ /* line 243, sass/partials/_jquery_ui.scss */
1579
+
1580
+ .cmb2-element .ui-icon-triangle-2-n-s {
1581
+ background-position: -128px -16px;
1582
+ }
1583
+
1584
+ /* line 246, sass/partials/_jquery_ui.scss */
1585
+
1586
+ .cmb2-element .ui-icon-triangle-2-e-w {
1587
+ background-position: -144px -16px;
1588
+ }
1589
+
1590
+ /* line 249, sass/partials/_jquery_ui.scss */
1591
+
1592
+ .cmb2-element .ui-icon-arrow-1-n {
1593
+ background-position: 0 -32px;
1594
+ }
1595
+
1596
+ /* line 252, sass/partials/_jquery_ui.scss */
1597
+
1598
+ .cmb2-element .ui-icon-arrow-1-ne {
1599
+ background-position: -16px -32px;
1600
+ }
1601
+
1602
+ /* line 255, sass/partials/_jquery_ui.scss */
1603
+
1604
+ .cmb2-element .ui-icon-arrow-1-e {
1605
+ background-position: -32px -32px;
1606
+ }
1607
+
1608
+ /* line 258, sass/partials/_jquery_ui.scss */
1609
+
1610
+ .cmb2-element .ui-icon-arrow-1-se {
1611
+ background-position: -48px -32px;
1612
+ }
1613
+
1614
+ /* line 261, sass/partials/_jquery_ui.scss */
1615
+
1616
+ .cmb2-element .ui-icon-arrow-1-s {
1617
+ background-position: -64px -32px;
1618
+ }
1619
+
1620
+ /* line 264, sass/partials/_jquery_ui.scss */
1621
+
1622
+ .cmb2-element .ui-icon-arrow-1-sw {
1623
+ background-position: -80px -32px;
1624
+ }
1625
+
1626
+ /* line 267, sass/partials/_jquery_ui.scss */
1627
+
1628
+ .cmb2-element .ui-icon-arrow-1-w {
1629
+ background-position: -96px -32px;
1630
+ }
1631
+
1632
+ /* line 270, sass/partials/_jquery_ui.scss */
1633
+
1634
+ .cmb2-element .ui-icon-arrow-1-nw {
1635
+ background-position: -112px -32px;
1636
+ }
1637
+
1638
+ /* line 273, sass/partials/_jquery_ui.scss */
1639
+
1640
+ .cmb2-element .ui-icon-arrow-2-n-s {
1641
+ background-position: -128px -32px;
1642
+ }
1643
+
1644
+ /* line 276, sass/partials/_jquery_ui.scss */
1645
+
1646
+ .cmb2-element .ui-icon-arrow-2-ne-sw {
1647
+ background-position: -144px -32px;
1648
+ }
1649
+
1650
+ /* line 279, sass/partials/_jquery_ui.scss */
1651
+
1652
+ .cmb2-element .ui-icon-arrow-2-e-w {
1653
+ background-position: -160px -32px;
1654
+ }
1655
+
1656
+ /* line 282, sass/partials/_jquery_ui.scss */
1657
+
1658
+ .cmb2-element .ui-icon-arrow-2-se-nw {
1659
+ background-position: -176px -32px;
1660
+ }
1661
+
1662
+ /* line 285, sass/partials/_jquery_ui.scss */
1663
+
1664
+ .cmb2-element .ui-icon-arrowstop-1-n {
1665
+ background-position: -192px -32px;
1666
+ }
1667
+
1668
+ /* line 288, sass/partials/_jquery_ui.scss */
1669
+
1670
+ .cmb2-element .ui-icon-arrowstop-1-e {
1671
+ background-position: -208px -32px;
1672
+ }
1673
+
1674
+ /* line 291, sass/partials/_jquery_ui.scss */
1675
+
1676
+ .cmb2-element .ui-icon-arrowstop-1-s {
1677
+ background-position: -224px -32px;
1678
+ }
1679
+
1680
+ /* line 294, sass/partials/_jquery_ui.scss */
1681
+
1682
+ .cmb2-element .ui-icon-arrowstop-1-w {
1683
+ background-position: -240px -32px;
1684
+ }
1685
+
1686
+ /* line 297, sass/partials/_jquery_ui.scss */
1687
+
1688
+ .cmb2-element .ui-icon-arrowthick-1-n {
1689
+ background-position: 0 -48px;
1690
+ }
1691
+
1692
+ /* line 300, sass/partials/_jquery_ui.scss */
1693
+
1694
+ .cmb2-element .ui-icon-arrowthick-1-ne {
1695
+ background-position: -16px -48px;
1696
+ }
1697
+
1698
+ /* line 303, sass/partials/_jquery_ui.scss */
1699
+
1700
+ .cmb2-element .ui-icon-arrowthick-1-e {
1701
+ background-position: -32px -48px;
1702
+ }
1703
+
1704
+ /* line 306, sass/partials/_jquery_ui.scss */
1705
+
1706
+ .cmb2-element .ui-icon-arrowthick-1-se {
1707
+ background-position: -48px -48px;
1708
+ }
1709
+
1710
+ /* line 309, sass/partials/_jquery_ui.scss */
1711
+
1712
+ .cmb2-element .ui-icon-arrowthick-1-s {
1713
+ background-position: -64px -48px;
1714
+ }
1715
+
1716
+ /* line 312, sass/partials/_jquery_ui.scss */
1717
+
1718
+ .cmb2-element .ui-icon-arrowthick-1-sw {
1719
+ background-position: -80px -48px;
1720
+ }
1721
+
1722
+ /* line 315, sass/partials/_jquery_ui.scss */
1723
+
1724
+ .cmb2-element .ui-icon-arrowthick-1-w {
1725
+ background-position: -96px -48px;
1726
+ }
1727
+
1728
+ /* line 318, sass/partials/_jquery_ui.scss */
1729
+
1730
+ .cmb2-element .ui-icon-arrowthick-1-nw {
1731
+ background-position: -112px -48px;
1732
+ }
1733
+
1734
+ /* line 321, sass/partials/_jquery_ui.scss */
1735
+
1736
+ .cmb2-element .ui-icon-arrowthick-2-n-s {
1737
+ background-position: -128px -48px;
1738
+ }
1739
+
1740
+ /* line 324, sass/partials/_jquery_ui.scss */
1741
+
1742
+ .cmb2-element .ui-icon-arrowthick-2-ne-sw {
1743
+ background-position: -144px -48px;
1744
+ }
1745
+
1746
+ /* line 327, sass/partials/_jquery_ui.scss */
1747
+
1748
+ .cmb2-element .ui-icon-arrowthick-2-e-w {
1749
+ background-position: -160px -48px;
1750
+ }
1751
+
1752
+ /* line 330, sass/partials/_jquery_ui.scss */
1753
+
1754
+ .cmb2-element .ui-icon-arrowthick-2-se-nw {
1755
+ background-position: -176px -48px;
1756
+ }
1757
+
1758
+ /* line 333, sass/partials/_jquery_ui.scss */
1759
+
1760
+ .cmb2-element .ui-icon-arrowthickstop-1-n {
1761
+ background-position: -192px -48px;
1762
+ }
1763
+
1764
+ /* line 336, sass/partials/_jquery_ui.scss */
1765
+
1766
+ .cmb2-element .ui-icon-arrowthickstop-1-e {
1767
+ background-position: -208px -48px;
1768
+ }
1769
+
1770
+ /* line 339, sass/partials/_jquery_ui.scss */
1771
+
1772
+ .cmb2-element .ui-icon-arrowthickstop-1-s {
1773
+ background-position: -224px -48px;
1774
+ }
1775
+
1776
+ /* line 342, sass/partials/_jquery_ui.scss */
1777
+
1778
+ .cmb2-element .ui-icon-arrowthickstop-1-w {
1779
+ background-position: -240px -48px;
1780
+ }
1781
+
1782
+ /* line 345, sass/partials/_jquery_ui.scss */
1783
+
1784
+ .cmb2-element .ui-icon-arrowreturnthick-1-w {
1785
+ background-position: 0 -64px;
1786
+ }
1787
+
1788
+ /* line 348, sass/partials/_jquery_ui.scss */
1789
+
1790
+ .cmb2-element .ui-icon-arrowreturnthick-1-n {
1791
+ background-position: -16px -64px;
1792
+ }
1793
+
1794
+ /* line 351, sass/partials/_jquery_ui.scss */
1795
+
1796
+ .cmb2-element .ui-icon-arrowreturnthick-1-e {
1797
+ background-position: -32px -64px;
1798
+ }
1799
+
1800
+ /* line 354, sass/partials/_jquery_ui.scss */
1801
+
1802
+ .cmb2-element .ui-icon-arrowreturnthick-1-s {
1803
+ background-position: -48px -64px;
1804
+ }
1805
+
1806
+ /* line 357, sass/partials/_jquery_ui.scss */
1807
+
1808
+ .cmb2-element .ui-icon-arrowreturn-1-w {
1809
+ background-position: -64px -64px;
1810
+ }
1811
+
1812
+ /* line 360, sass/partials/_jquery_ui.scss */
1813
+
1814
+ .cmb2-element .ui-icon-arrowreturn-1-n {
1815
+ background-position: -80px -64px;
1816
+ }
1817
+
1818
+ /* line 363, sass/partials/_jquery_ui.scss */
1819
+
1820
+ .cmb2-element .ui-icon-arrowreturn-1-e {
1821
+ background-position: -96px -64px;
1822
+ }
1823
+
1824
+ /* line 366, sass/partials/_jquery_ui.scss */
1825
+
1826
+ .cmb2-element .ui-icon-arrowreturn-1-s {
1827
+ background-position: -112px -64px;
1828
+ }
1829
+
1830
+ /* line 369, sass/partials/_jquery_ui.scss */
1831
+
1832
+ .cmb2-element .ui-icon-arrowrefresh-1-w {
1833
+ background-position: -128px -64px;
1834
+ }
1835
+
1836
+ /* line 372, sass/partials/_jquery_ui.scss */
1837
+
1838
+ .cmb2-element .ui-icon-arrowrefresh-1-n {
1839
+ background-position: -144px -64px;
1840
+ }
1841
+
1842
+ /* line 375, sass/partials/_jquery_ui.scss */
1843
+
1844
+ .cmb2-element .ui-icon-arrowrefresh-1-e {
1845
+ background-position: -160px -64px;
1846
+ }
1847
+
1848
+ /* line 378, sass/partials/_jquery_ui.scss */
1849
+
1850
+ .cmb2-element .ui-icon-arrowrefresh-1-s {
1851
+ background-position: -176px -64px;
1852
+ }
1853
+
1854
+ /* line 381, sass/partials/_jquery_ui.scss */
1855
+
1856
+ .cmb2-element .ui-icon-arrow-4 {
1857
+ background-position: 0 -80px;
1858
+ }
1859
+
1860
+ /* line 384, sass/partials/_jquery_ui.scss */
1861
+
1862
+ .cmb2-element .ui-icon-arrow-4-diag {
1863
+ background-position: -16px -80px;
1864
+ }
1865
+
1866
+ /* line 387, sass/partials/_jquery_ui.scss */
1867
+
1868
+ .cmb2-element .ui-icon-extlink {
1869
+ background-position: -32px -80px;
1870
+ }
1871
+
1872
+ /* line 390, sass/partials/_jquery_ui.scss */
1873
+
1874
+ .cmb2-element .ui-icon-newwin {
1875
+ background-position: -48px -80px;
1876
+ }
1877
+
1878
+ /* line 393, sass/partials/_jquery_ui.scss */
1879
+
1880
+ .cmb2-element .ui-icon-refresh {
1881
+ background-position: -64px -80px;
1882
+ }
1883
+
1884
+ /* line 396, sass/partials/_jquery_ui.scss */
1885
+
1886
+ .cmb2-element .ui-icon-shuffle {
1887
+ background-position: -80px -80px;
1888
+ }
1889
+
1890
+ /* line 399, sass/partials/_jquery_ui.scss */
1891
+
1892
+ .cmb2-element .ui-icon-transfer-e-w {
1893
+ background-position: -96px -80px;
1894
+ }
1895
+
1896
+ /* line 402, sass/partials/_jquery_ui.scss */
1897
+
1898
+ .cmb2-element .ui-icon-transferthick-e-w {
1899
+ background-position: -112px -80px;
1900
+ }
1901
+
1902
+ /* line 405, sass/partials/_jquery_ui.scss */
1903
+
1904
+ .cmb2-element .ui-icon-folder-collapsed {
1905
+ background-position: 0 -96px;
1906
+ }
1907
+
1908
+ /* line 408, sass/partials/_jquery_ui.scss */
1909
+
1910
+ .cmb2-element .ui-icon-folder-open {
1911
+ background-position: -16px -96px;
1912
+ }
1913
+
1914
+ /* line 411, sass/partials/_jquery_ui.scss */
1915
+
1916
+ .cmb2-element .ui-icon-document {
1917
+ background-position: -32px -96px;
1918
+ }
1919
+
1920
+ /* line 414, sass/partials/_jquery_ui.scss */
1921
+
1922
+ .cmb2-element .ui-icon-document-b {
1923
+ background-position: -48px -96px;
1924
+ }
1925
+
1926
+ /* line 417, sass/partials/_jquery_ui.scss */
1927
+
1928
+ .cmb2-element .ui-icon-note {
1929
+ background-position: -64px -96px;
1930
+ }
1931
+
1932
+ /* line 420, sass/partials/_jquery_ui.scss */
1933
+
1934
+ .cmb2-element .ui-icon-mail-closed {
1935
+ background-position: -80px -96px;
1936
+ }
1937
+
1938
+ /* line 423, sass/partials/_jquery_ui.scss */
1939
+
1940
+ .cmb2-element .ui-icon-mail-open {
1941
+ background-position: -96px -96px;
1942
+ }
1943
+
1944
+ /* line 426, sass/partials/_jquery_ui.scss */
1945
+
1946
+ .cmb2-element .ui-icon-suitcase {
1947
+ background-position: -112px -96px;
1948
+ }
1949
+
1950
+ /* line 429, sass/partials/_jquery_ui.scss */
1951
+
1952
+ .cmb2-element .ui-icon-comment {
1953
+ background-position: -128px -96px;
1954
+ }
1955
+
1956
+ /* line 432, sass/partials/_jquery_ui.scss */
1957
+
1958
+ .cmb2-element .ui-icon-person {
1959
+ background-position: -144px -96px;
1960
+ }
1961
+
1962
+ /* line 435, sass/partials/_jquery_ui.scss */
1963
+
1964
+ .cmb2-element .ui-icon-print {
1965
+ background-position: -160px -96px;
1966
+ }
1967
+
1968
+ /* line 438, sass/partials/_jquery_ui.scss */
1969
+
1970
+ .cmb2-element .ui-icon-trash {
1971
+ background-position: -176px -96px;
1972
+ }
1973
+
1974
+ /* line 441, sass/partials/_jquery_ui.scss */
1975
+
1976
+ .cmb2-element .ui-icon-locked {
1977
+ background-position: -192px -96px;
1978
+ }
1979
+
1980
+ /* line 444, sass/partials/_jquery_ui.scss */
1981
+
1982
+ .cmb2-element .ui-icon-unlocked {
1983
+ background-position: -208px -96px;
1984
+ }
1985
+
1986
+ /* line 447, sass/partials/_jquery_ui.scss */
1987
+
1988
+ .cmb2-element .ui-icon-bookmark {
1989
+ background-position: -224px -96px;
1990
+ }
1991
+
1992
+ /* line 450, sass/partials/_jquery_ui.scss */
1993
+
1994
+ .cmb2-element .ui-icon-tag {
1995
+ background-position: -240px -96px;
1996
+ }
1997
+
1998
+ /* line 453, sass/partials/_jquery_ui.scss */
1999
+
2000
+ .cmb2-element .ui-icon-home {
2001
+ background-position: 0 -112px;
2002
+ }
2003
+
2004
+ /* line 456, sass/partials/_jquery_ui.scss */
2005
+
2006
+ .cmb2-element .ui-icon-flag {
2007
+ background-position: -16px -112px;
2008
+ }
2009
+
2010
+ /* line 459, sass/partials/_jquery_ui.scss */
2011
+
2012
+ .cmb2-element .ui-icon-calendar {
2013
+ background-position: -32px -112px;
2014
+ }
2015
+
2016
+ /* line 462, sass/partials/_jquery_ui.scss */
2017
+
2018
+ .cmb2-element .ui-icon-cart {
2019
+ background-position: -48px -112px;
2020
+ }
2021
+
2022
+ /* line 465, sass/partials/_jquery_ui.scss */
2023
+
2024
+ .cmb2-element .ui-icon-pencil {
2025
+ background-position: -64px -112px;
2026
+ }
2027
+
2028
+ /* line 468, sass/partials/_jquery_ui.scss */
2029
+
2030
+ .cmb2-element .ui-icon-clock {
2031
+ background-position: -80px -112px;
2032
+ }
2033
+
2034
+ /* line 471, sass/partials/_jquery_ui.scss */
2035
+
2036
+ .cmb2-element .ui-icon-disk {
2037
+ background-position: -96px -112px;
2038
+ }
2039
+
2040
+ /* line 474, sass/partials/_jquery_ui.scss */
2041
+
2042
+ .cmb2-element .ui-icon-calculator {
2043
+ background-position: -112px -112px;
2044
+ }
2045
+
2046
+ /* line 477, sass/partials/_jquery_ui.scss */
2047
+
2048
+ .cmb2-element .ui-icon-zoomin {
2049
+ background-position: -128px -112px;
2050
+ }
2051
+
2052
+ /* line 480, sass/partials/_jquery_ui.scss */
2053
+
2054
+ .cmb2-element .ui-icon-zoomout {
2055
+ background-position: -144px -112px;
2056
+ }
2057
+
2058
+ /* line 483, sass/partials/_jquery_ui.scss */
2059
+
2060
+ .cmb2-element .ui-icon-search {
2061
+ background-position: -160px -112px;
2062
+ }
2063
+
2064
+ /* line 486, sass/partials/_jquery_ui.scss */
2065
+
2066
+ .cmb2-element .ui-icon-wrench {
2067
+ background-position: -176px -112px;
2068
+ }
2069
+
2070
+ /* line 489, sass/partials/_jquery_ui.scss */
2071
+
2072
+ .cmb2-element .ui-icon-gear {
2073
+ background-position: -192px -112px;
2074
+ }
2075
+
2076
+ /* line 492, sass/partials/_jquery_ui.scss */
2077
+
2078
+ .cmb2-element .ui-icon-heart {
2079
+ background-position: -208px -112px;
2080
+ }
2081
+
2082
+ /* line 495, sass/partials/_jquery_ui.scss */
2083
+
2084
+ .cmb2-element .ui-icon-star {
2085
+ background-position: -224px -112px;
2086
+ }
2087
+
2088
+ /* line 498, sass/partials/_jquery_ui.scss */
2089
+
2090
+ .cmb2-element .ui-icon-link {
2091
+ background-position: -240px -112px;
2092
+ }
2093
+
2094
+ /* line 501, sass/partials/_jquery_ui.scss */
2095
+
2096
+ .cmb2-element .ui-icon-cancel {
2097
+ background-position: 0 -128px;
2098
+ }
2099
+
2100
+ /* line 504, sass/partials/_jquery_ui.scss */
2101
+
2102
+ .cmb2-element .ui-icon-plus {
2103
+ background-position: -16px -128px;
2104
+ }
2105
+
2106
+ /* line 507, sass/partials/_jquery_ui.scss */
2107
+
2108
+ .cmb2-element .ui-icon-plusthick {
2109
+ background-position: -32px -128px;
2110
+ }
2111
+
2112
+ /* line 510, sass/partials/_jquery_ui.scss */
2113
+
2114
+ .cmb2-element .ui-icon-minus {
2115
+ background-position: -48px -128px;
2116
+ }
2117
+
2118
+ /* line 513, sass/partials/_jquery_ui.scss */
2119
+
2120
+ .cmb2-element .ui-icon-minusthick {
2121
+ background-position: -64px -128px;
2122
+ }
2123
+
2124
+ /* line 516, sass/partials/_jquery_ui.scss */
2125
+
2126
+ .cmb2-element .ui-icon-close {
2127
+ background-position: -80px -128px;
2128
+ }
2129
+
2130
+ /* line 519, sass/partials/_jquery_ui.scss */
2131
+
2132
+ .cmb2-element .ui-icon-closethick {
2133
+ background-position: -96px -128px;
2134
+ }
2135
+
2136
+ /* line 522, sass/partials/_jquery_ui.scss */
2137
+
2138
+ .cmb2-element .ui-icon-key {
2139
+ background-position: -112px -128px;
2140
+ }
2141
+
2142
+ /* line 525, sass/partials/_jquery_ui.scss */
2143
+
2144
+ .cmb2-element .ui-icon-lightbulb {
2145
+ background-position: -128px -128px;
2146
+ }
2147
+
2148
+ /* line 528, sass/partials/_jquery_ui.scss */
2149
+
2150
+ .cmb2-element .ui-icon-scissors {
2151
+ background-position: -144px -128px;
2152
+ }
2153
+
2154
+ /* line 531, sass/partials/_jquery_ui.scss */
2155
+
2156
+ .cmb2-element .ui-icon-clipboard {
2157
+ background-position: -160px -128px;
2158
+ }
2159
+
2160
+ /* line 534, sass/partials/_jquery_ui.scss */
2161
+
2162
+ .cmb2-element .ui-icon-copy {
2163
+ background-position: -176px -128px;
2164
+ }
2165
+
2166
+ /* line 537, sass/partials/_jquery_ui.scss */
2167
+
2168
+ .cmb2-element .ui-icon-contact {
2169
+ background-position: -192px -128px;
2170
+ }
2171
+
2172
+ /* line 540, sass/partials/_jquery_ui.scss */
2173
+
2174
+ .cmb2-element .ui-icon-image {
2175
+ background-position: -208px -128px;
2176
+ }
2177
+
2178
+ /* line 543, sass/partials/_jquery_ui.scss */
2179
+
2180
+ .cmb2-element .ui-icon-video {
2181
+ background-position: -224px -128px;
2182
+ }
2183
+
2184
+ /* line 546, sass/partials/_jquery_ui.scss */
2185
+
2186
+ .cmb2-element .ui-icon-script {
2187
+ background-position: -240px -128px;
2188
+ }
2189
+
2190
+ /* line 549, sass/partials/_jquery_ui.scss */
2191
+
2192
+ .cmb2-element .ui-icon-alert {
2193
+ background-position: 0 -144px;
2194
+ }
2195
+
2196
+ /* line 552, sass/partials/_jquery_ui.scss */
2197
+
2198
+ .cmb2-element .ui-icon-info {
2199
+ background-position: -16px -144px;
2200
+ }
2201
+
2202
+ /* line 555, sass/partials/_jquery_ui.scss */
2203
+
2204
+ .cmb2-element .ui-icon-notice {
2205
+ background-position: -32px -144px;
2206
+ }
2207
+
2208
+ /* line 558, sass/partials/_jquery_ui.scss */
2209
+
2210
+ .cmb2-element .ui-icon-help {
2211
+ background-position: -48px -144px;
2212
+ }
2213
+
2214
+ /* line 561, sass/partials/_jquery_ui.scss */
2215
+
2216
+ .cmb2-element .ui-icon-check {
2217
+ background-position: -64px -144px;
2218
+ }
2219
+
2220
+ /* line 564, sass/partials/_jquery_ui.scss */
2221
+
2222
+ .cmb2-element .ui-icon-bullet {
2223
+ background-position: -80px -144px;
2224
+ }
2225
+
2226
+ /* line 567, sass/partials/_jquery_ui.scss */
2227
+
2228
+ .cmb2-element .ui-icon-radio-off {
2229
+ background-position: -96px -144px;
2230
+ }
2231
+
2232
+ /* line 570, sass/partials/_jquery_ui.scss */
2233
+
2234
+ .cmb2-element .ui-icon-radio-on {
2235
+ background-position: -112px -144px;
2236
+ }
2237
+
2238
+ /* line 573, sass/partials/_jquery_ui.scss */
2239
+
2240
+ .cmb2-element .ui-icon-pin-w {
2241
+ background-position: -128px -144px;
2242
+ }
2243
+
2244
+ /* line 576, sass/partials/_jquery_ui.scss */
2245
+
2246
+ .cmb2-element .ui-icon-pin-s {
2247
+ background-position: -144px -144px;
2248
+ }
2249
+
2250
+ /* line 579, sass/partials/_jquery_ui.scss */
2251
+
2252
+ .cmb2-element .ui-icon-play {
2253
+ background-position: 0 -160px;
2254
+ }
2255
+
2256
+ /* line 582, sass/partials/_jquery_ui.scss */
2257
+
2258
+ .cmb2-element .ui-icon-pause {
2259
+ background-position: -16px -160px;
2260
+ }
2261
+
2262
+ /* line 585, sass/partials/_jquery_ui.scss */
2263
+
2264
+ .cmb2-element .ui-icon-seek-next {
2265
+ background-position: -32px -160px;
2266
+ }
2267
+
2268
+ /* line 588, sass/partials/_jquery_ui.scss */
2269
+
2270
+ .cmb2-element .ui-icon-seek-prev {
2271
+ background-position: -48px -160px;
2272
+ }
2273
+
2274
+ /* line 591, sass/partials/_jquery_ui.scss */
2275
+
2276
+ .cmb2-element .ui-icon-seek-end {
2277
+ background-position: -64px -160px;
2278
+ }
2279
+
2280
+ /* line 594, sass/partials/_jquery_ui.scss */
2281
+
2282
+ .cmb2-element .ui-icon-seek-start {
2283
+ background-position: -80px -160px;
2284
+ }
2285
+
2286
+ /* line 597, sass/partials/_jquery_ui.scss */
2287
+
2288
+ .cmb2-element .ui-icon-seek-first {
2289
+ background-position: -80px -160px;
2290
+ }
2291
+
2292
+ /* line 600, sass/partials/_jquery_ui.scss */
2293
+
2294
+ .cmb2-element .ui-icon-stop {
2295
+ background-position: -96px -160px;
2296
+ }
2297
+
2298
+ /* line 603, sass/partials/_jquery_ui.scss */
2299
+
2300
+ .cmb2-element .ui-icon-eject {
2301
+ background-position: -112px -160px;
2302
+ }
2303
+
2304
+ /* line 606, sass/partials/_jquery_ui.scss */
2305
+
2306
+ .cmb2-element .ui-icon-volume-off {
2307
+ background-position: -128px -160px;
2308
+ }
2309
+
2310
+ /* line 609, sass/partials/_jquery_ui.scss */
2311
+
2312
+ .cmb2-element .ui-icon-volume-on {
2313
+ background-position: -144px -160px;
2314
+ }
2315
+
2316
+ /* line 612, sass/partials/_jquery_ui.scss */
2317
+
2318
+ .cmb2-element .ui-icon-power {
2319
+ background-position: 0 -176px;
2320
+ }
2321
+
2322
+ /* line 615, sass/partials/_jquery_ui.scss */
2323
+
2324
+ .cmb2-element .ui-icon-signal-diag {
2325
+ background-position: -16px -176px;
2326
+ }
2327
+
2328
+ /* line 618, sass/partials/_jquery_ui.scss */
2329
+
2330
+ .cmb2-element .ui-icon-signal {
2331
+ background-position: -32px -176px;
2332
+ }
2333
+
2334
+ /* line 621, sass/partials/_jquery_ui.scss */
2335
+
2336
+ .cmb2-element .ui-icon-battery-0 {
2337
+ background-position: -48px -176px;
2338
+ }
2339
+
2340
+ /* line 624, sass/partials/_jquery_ui.scss */
2341
+
2342
+ .cmb2-element .ui-icon-battery-1 {
2343
+ background-position: -64px -176px;
2344
+ }
2345
+
2346
+ /* line 627, sass/partials/_jquery_ui.scss */
2347
+
2348
+ .cmb2-element .ui-icon-battery-2 {
2349
+ background-position: -80px -176px;
2350
+ }
2351
+
2352
+ /* line 630, sass/partials/_jquery_ui.scss */
2353
+
2354
+ .cmb2-element .ui-icon-battery-3 {
2355
+ background-position: -96px -176px;
2356
+ }
2357
+
2358
+ /* line 633, sass/partials/_jquery_ui.scss */
2359
+
2360
+ .cmb2-element .ui-icon-circle-plus {
2361
+ background-position: 0 -192px;
2362
+ }
2363
+
2364
+ /* line 636, sass/partials/_jquery_ui.scss */
2365
+
2366
+ .cmb2-element .ui-icon-circle-minus {
2367
+ background-position: -16px -192px;
2368
+ }
2369
+
2370
+ /* line 639, sass/partials/_jquery_ui.scss */
2371
+
2372
+ .cmb2-element .ui-icon-circle-close {
2373
+ background-position: -32px -192px;
2374
+ }
2375
+
2376
+ /* line 642, sass/partials/_jquery_ui.scss */
2377
+
2378
+ .cmb2-element .ui-icon-circle-triangle-e {
2379
+ background-position: -48px -192px;
2380
+ }
2381
+
2382
+ /* line 645, sass/partials/_jquery_ui.scss */
2383
+
2384
+ .cmb2-element .ui-icon-circle-triangle-s {
2385
+ background-position: -64px -192px;
2386
+ }
2387
+
2388
+ /* line 648, sass/partials/_jquery_ui.scss */
2389
+
2390
+ .cmb2-element .ui-icon-circle-triangle-w {
2391
+ background-position: -80px -192px;
2392
+ }
2393
+
2394
+ /* line 651, sass/partials/_jquery_ui.scss */
2395
+
2396
+ .cmb2-element .ui-icon-circle-triangle-n {
2397
+ background-position: -96px -192px;
2398
+ }
2399
+
2400
+ /* line 654, sass/partials/_jquery_ui.scss */
2401
+
2402
+ .cmb2-element .ui-icon-circle-arrow-e {
2403
+ background-position: -112px -192px;
2404
+ }
2405
+
2406
+ /* line 657, sass/partials/_jquery_ui.scss */
2407
+
2408
+ .cmb2-element .ui-icon-circle-arrow-s {
2409
+ background-position: -128px -192px;
2410
+ }
2411
+
2412
+ /* line 660, sass/partials/_jquery_ui.scss */
2413
+
2414
+ .cmb2-element .ui-icon-circle-arrow-w {
2415
+ background-position: -144px -192px;
2416
+ }
2417
+
2418
+ /* line 663, sass/partials/_jquery_ui.scss */
2419
+
2420
+ .cmb2-element .ui-icon-circle-arrow-n {
2421
+ background-position: -160px -192px;
2422
+ }
2423
+
2424
+ /* line 666, sass/partials/_jquery_ui.scss */
2425
+
2426
+ .cmb2-element .ui-icon-circle-zoomin {
2427
+ background-position: -176px -192px;
2428
+ }
2429
+
2430
+ /* line 669, sass/partials/_jquery_ui.scss */
2431
+
2432
+ .cmb2-element .ui-icon-circle-zoomout {
2433
+ background-position: -192px -192px;
2434
+ }
2435
+
2436
+ /* line 672, sass/partials/_jquery_ui.scss */
2437
+
2438
+ .cmb2-element .ui-icon-circle-check {
2439
+ background-position: -208px -192px;
2440
+ }
2441
+
2442
+ /* line 675, sass/partials/_jquery_ui.scss */
2443
+
2444
+ .cmb2-element .ui-icon-circlesmall-plus {
2445
+ background-position: 0 -208px;
2446
+ }
2447
+
2448
+ /* line 678, sass/partials/_jquery_ui.scss */
2449
+
2450
+ .cmb2-element .ui-icon-circlesmall-minus {
2451
+ background-position: -16px -208px;
2452
+ }
2453
+
2454
+ /* line 681, sass/partials/_jquery_ui.scss */
2455
+
2456
+ .cmb2-element .ui-icon-circlesmall-close {
2457
+ background-position: -32px -208px;
2458
+ }
2459
+
2460
+ /* line 684, sass/partials/_jquery_ui.scss */
2461
+
2462
+ .cmb2-element .ui-icon-squaresmall-plus {
2463
+ background-position: -48px -208px;
2464
+ }
2465
+
2466
+ /* line 687, sass/partials/_jquery_ui.scss */
2467
+
2468
+ .cmb2-element .ui-icon-squaresmall-minus {
2469
+ background-position: -64px -208px;
2470
+ }
2471
+
2472
+ /* line 690, sass/partials/_jquery_ui.scss */
2473
+
2474
+ .cmb2-element .ui-icon-squaresmall-close {
2475
+ background-position: -80px -208px;
2476
+ }
2477
+
2478
+ /* line 693, sass/partials/_jquery_ui.scss */
2479
+
2480
+ .cmb2-element .ui-icon-grip-dotted-vertical {
2481
+ background-position: 0 -224px;
2482
+ }
2483
+
2484
+ /* line 696, sass/partials/_jquery_ui.scss */
2485
+
2486
+ .cmb2-element .ui-icon-grip-dotted-horizontal {
2487
+ background-position: -16px -224px;
2488
+ }
2489
+
2490
+ /* line 699, sass/partials/_jquery_ui.scss */
2491
+
2492
+ .cmb2-element .ui-icon-grip-solid-vertical {
2493
+ background-position: -32px -224px;
2494
+ }
2495
+
2496
+ /* line 702, sass/partials/_jquery_ui.scss */
2497
+
2498
+ .cmb2-element .ui-icon-grip-solid-horizontal {
2499
+ background-position: -48px -224px;
2500
+ }
2501
+
2502
+ /* line 705, sass/partials/_jquery_ui.scss */
2503
+
2504
+ .cmb2-element .ui-icon-gripsmall-diagonal-se {
2505
+ background-position: -64px -224px;
2506
+ }
2507
+
2508
+ /* line 708, sass/partials/_jquery_ui.scss */
2509
+
2510
+ .cmb2-element .ui-icon-grip-diagonal-se {
2511
+ background-position: -80px -224px;
2512
+ }
2513
+
2514
+ /* line 711, sass/partials/_jquery_ui.scss */
2515
+
2516
+ .cmb2-element.ui-corner-all,
2517
+ .cmb2-element .ui-corner-all,
2518
+ .cmb2-element .ui-corner-top,
2519
+ .cmb2-element .ui-corner-left,
2520
+ .cmb2-element .ui-corner-tl {
2521
+ -moz-border-radius-topleft: 4px;
2522
+ -webkit-border-top-right-radius: 4px;
2523
+ -khtml-border-top-right-radius: 4px;
2524
+ border-top-right-radius: 4px;
2525
+ }
2526
+
2527
+ /* line 718, sass/partials/_jquery_ui.scss */
2528
+
2529
+ .cmb2-element.ui-corner-all,
2530
+ .cmb2-element .ui-corner-all,
2531
+ .cmb2-element .ui-corner-top,
2532
+ .cmb2-element .ui-corner-right,
2533
+ .cmb2-element .ui-corner-tr {
2534
+ -moz-border-radius-topright: 4px;
2535
+ -webkit-border-top-left-radius: 4px;
2536
+ -khtml-border-top-left-radius: 4px;
2537
+ border-top-left-radius: 4px;
2538
+ }
2539
+
2540
+ /* line 725, sass/partials/_jquery_ui.scss */
2541
+
2542
+ .cmb2-element.ui-corner-all,
2543
+ .cmb2-element .ui-corner-all,
2544
+ .cmb2-element .ui-corner-bottom,
2545
+ .cmb2-element .ui-corner-left,
2546
+ .cmb2-element .ui-corner-bl {
2547
+ -moz-border-radius-bottomleft: 4px;
2548
+ -webkit-border-bottom-right-radius: 4px;
2549
+ -khtml-border-bottom-right-radius: 4px;
2550
+ border-bottom-right-radius: 4px;
2551
+ }
2552
+
2553
+ /* line 732, sass/partials/_jquery_ui.scss */
2554
+
2555
+ .cmb2-element.ui-corner-all,
2556
+ .cmb2-element .ui-corner-all,
2557
+ .cmb2-element .ui-corner-bottom,
2558
+ .cmb2-element .ui-corner-right,
2559
+ .cmb2-element .ui-corner-br {
2560
+ -moz-border-radius-bottomright: 4px;
2561
+ -webkit-border-bottom-left-radius: 4px;
2562
+ -khtml-border-bottom-left-radius: 4px;
2563
+ border-bottom-left-radius: 4px;
2564
+ }
2565
+
2566
+ /* line 739, sass/partials/_jquery_ui.scss */
2567
+
2568
+ .cmb2-element .ui-widget-overlay {
2569
+ background: #aaaaaa url(../images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;
2570
+ opacity: .30;
2571
+ filter: Alpha(Opacity=30);
2572
+ }
2573
+
2574
+ /* line 742, sass/partials/_jquery_ui.scss */
2575
+
2576
+ .cmb2-element .ui-widget-shadow {
2577
+ margin: -8px -8px 0 0;
2578
+ padding: 8px;
2579
+ background: #aaaaaa url(../images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;
2580
+ opacity: .30;
2581
+ filter: Alpha(Opacity=30);
2582
+ -moz-border-radius: 8px;
2583
+ -khtml-border-radius: 8px;
2584
+ -webkit-border-radius: 8px;
2585
+ border-radius: 8px;
2586
+ }
2587
+
2588
+ /* line 745, sass/partials/_jquery_ui.scss */
2589
+
2590
+ .cmb2-element.ui-datepicker,
2591
+ .cmb2-element .ui-datepicker {
2592
+ width: 17em;
2593
+ display: none;
2594
+ padding: 0;
2595
+ border: 1px solid #ddd;
2596
+ -webkit-border-radius: 0;
2597
+ -moz-border-radius: 0;
2598
+ border-radius: 0;
2599
+ background: #f1f1f1; /* Customized Datepicker & Timepicker */
2600
+ }
2601
+
2602
+ /* line 750, sass/partials/_jquery_ui.scss */
2603
+
2604
+ .cmb2-element.ui-datepicker .ui-datepicker-header,
2605
+ .cmb2-element .ui-datepicker .ui-datepicker-header {
2606
+ position: relative;
2607
+ padding: .2em 0;
2608
+ }
2609
+
2610
+ /* line 753, sass/partials/_jquery_ui.scss */
2611
+
2612
+ .cmb2-element.ui-datepicker .ui-datepicker-prev,
2613
+ .cmb2-element.ui-datepicker .ui-datepicker-next,
2614
+ .cmb2-element .ui-datepicker .ui-datepicker-prev,
2615
+ .cmb2-element .ui-datepicker .ui-datepicker-next {
2616
+ position: absolute;
2617
+ top: 2px;
2618
+ width: 1.8em;
2619
+ height: 1.8em;
2620
+ }
2621
+
2622
+ /* line 757, sass/partials/_jquery_ui.scss */
2623
+
2624
+ .cmb2-element.ui-datepicker .ui-datepicker-prev-hover,
2625
+ .cmb2-element.ui-datepicker .ui-datepicker-next-hover,
2626
+ .cmb2-element .ui-datepicker .ui-datepicker-prev-hover,
2627
+ .cmb2-element .ui-datepicker .ui-datepicker-next-hover {
2628
+ top: 1px;
2629
+ }
2630
+
2631
+ /* line 761, sass/partials/_jquery_ui.scss */
2632
+
2633
+ .cmb2-element.ui-datepicker .ui-datepicker-prev,
2634
+ .cmb2-element .ui-datepicker .ui-datepicker-prev {
2635
+ right: 2px;
2636
+ }
2637
+
2638
+ /* line 764, sass/partials/_jquery_ui.scss */
2639
+
2640
+ .cmb2-element.ui-datepicker .ui-datepicker-next,
2641
+ .cmb2-element .ui-datepicker .ui-datepicker-next {
2642
+ left: 2px;
2643
+ }
2644
+
2645
+ /* line 767, sass/partials/_jquery_ui.scss */
2646
+
2647
+ .cmb2-element.ui-datepicker .ui-datepicker-prev-hover,
2648
+ .cmb2-element .ui-datepicker .ui-datepicker-prev-hover {
2649
+ right: 1px;
2650
+ }
2651
+
2652
+ /* line 770, sass/partials/_jquery_ui.scss */
2653
+
2654
+ .cmb2-element.ui-datepicker .ui-datepicker-next-hover,
2655
+ .cmb2-element .ui-datepicker .ui-datepicker-next-hover {
2656
+ left: 1px;
2657
+ }
2658
+
2659
+ /* line 773, sass/partials/_jquery_ui.scss */
2660
+
2661
+ .cmb2-element.ui-datepicker .ui-datepicker-prev span,
2662
+ .cmb2-element.ui-datepicker .ui-datepicker-next span,
2663
+ .cmb2-element .ui-datepicker .ui-datepicker-prev span,
2664
+ .cmb2-element .ui-datepicker .ui-datepicker-next span {
2665
+ display: block;
2666
+ position: absolute;
2667
+ right: 50%;
2668
+ margin-right: -8px;
2669
+ top: 50%;
2670
+ margin-top: -8px;
2671
+ }
2672
+
2673
+ /* line 777, sass/partials/_jquery_ui.scss */
2674
+
2675
+ .cmb2-element.ui-datepicker .ui-datepicker-title,
2676
+ .cmb2-element .ui-datepicker .ui-datepicker-title {
2677
+ margin: 0 2.3em;
2678
+ line-height: 1.8em;
2679
+ text-align: center;
2680
+ }
2681
+
2682
+ /* line 780, sass/partials/_jquery_ui.scss */
2683
+
2684
+ .cmb2-element.ui-datepicker .ui-datepicker-title select,
2685
+ .cmb2-element .ui-datepicker .ui-datepicker-title select {
2686
+ font-size: 1em;
2687
+ margin: 1px 0;
2688
+ }
2689
+
2690
+ /* line 783, sass/partials/_jquery_ui.scss */
2691
+
2692
+ .cmb2-element.ui-datepicker select.ui-datepicker-month-year,
2693
+ .cmb2-element .ui-datepicker select.ui-datepicker-month-year {
2694
+ width: 100%;
2695
+ }
2696
+
2697
+ /* line 784, sass/partials/_jquery_ui.scss */
2698
+
2699
+ .cmb2-element.ui-datepicker select.ui-datepicker-month,
2700
+ .cmb2-element.ui-datepicker select.ui-datepicker-year,
2701
+ .cmb2-element .ui-datepicker select.ui-datepicker-month,
2702
+ .cmb2-element .ui-datepicker select.ui-datepicker-year {
2703
+ width: 49%;
2704
+ }
2705
+
2706
+ /* line 788, sass/partials/_jquery_ui.scss */
2707
+
2708
+ .cmb2-element.ui-datepicker select.ui-datepicker-month,
2709
+ .cmb2-element .ui-datepicker select.ui-datepicker-month {
2710
+ margin-left: 1%;
2711
+ }
2712
+
2713
+ /* line 791, sass/partials/_jquery_ui.scss */
2714
+
2715
+ .cmb2-element.ui-datepicker select.ui-datepicker-year,
2716
+ .cmb2-element .ui-datepicker select.ui-datepicker-year {
2717
+ margin-right: 1%;
2718
+ }
2719
+
2720
+ /* line 793, sass/partials/_jquery_ui.scss */
2721
+
2722
+ .cmb2-element.ui-datepicker table,
2723
+ .cmb2-element .ui-datepicker table {
2724
+ width: 100%;
2725
+ font-size: .9em;
2726
+ border-collapse: collapse;
2727
+ margin: 0 0 .4em;
2728
+ }
2729
+
2730
+ /* line 795, sass/partials/_jquery_ui.scss */
2731
+
2732
+ .cmb2-element.ui-datepicker th,
2733
+ .cmb2-element .ui-datepicker th {
2734
+ padding: .7em .3em;
2735
+ text-align: center;
2736
+ font-weight: bold;
2737
+ border: 0;
2738
+ }
2739
+
2740
+ /* line 798, sass/partials/_jquery_ui.scss */
2741
+
2742
+ .cmb2-element.ui-datepicker td,
2743
+ .cmb2-element .ui-datepicker td {
2744
+ border: 0;
2745
+ padding: 1px;
2746
+ }
2747
+
2748
+ /* line 801, sass/partials/_jquery_ui.scss */
2749
+
2750
+ .cmb2-element.ui-datepicker td span,
2751
+ .cmb2-element.ui-datepicker td a,
2752
+ .cmb2-element .ui-datepicker td span,
2753
+ .cmb2-element .ui-datepicker td a {
2754
+ display: block;
2755
+ padding: .2em;
2756
+ text-align: left;
2757
+ text-decoration: none;
2758
+ }
2759
+
2760
+ /* line 805, sass/partials/_jquery_ui.scss */
2761
+
2762
+ .cmb2-element.ui-datepicker .ui-datepicker-buttonpane,
2763
+ .cmb2-element .ui-datepicker .ui-datepicker-buttonpane {
2764
+ background-image: none;
2765
+ margin: .7em 0 0 0;
2766
+ padding: 0 .2em;
2767
+ border-right: 0;
2768
+ border-left: 0;
2769
+ border-bottom: 0;
2770
+ }
2771
+
2772
+ /* line 808, sass/partials/_jquery_ui.scss */
2773
+
2774
+ .cmb2-element.ui-datepicker .ui-datepicker-buttonpane button,
2775
+ .cmb2-element .ui-datepicker .ui-datepicker-buttonpane button {
2776
+ float: left;
2777
+ margin: .5em .2em .4em;
2778
+ cursor: pointer;
2779
+ padding: .2em .6em .3em .6em;
2780
+ width: auto;
2781
+ overflow: visible;
2782
+ }
2783
+
2784
+ /* line 811, sass/partials/_jquery_ui.scss */
2785
+
2786
+ .cmb2-element.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current,
2787
+ .cmb2-element .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
2788
+ float: right;
2789
+ }
2790
+
2791
+ /* line 816, sass/partials/_jquery_ui.scss */
2792
+
2793
+ .cmb2-element.ui-datepicker *,
2794
+ .cmb2-element .ui-datepicker * {
2795
+ padding: 0;
2796
+ font-family: "Open Sans", sans-serif;
2797
+ -webkit-border-radius: 0;
2798
+ -moz-border-radius: 0;
2799
+ border-radius: 0;
2800
+ }
2801
+
2802
+ /* line 820, sass/partials/_jquery_ui.scss */
2803
+
2804
+ .cmb2-element.ui-datepicker table,
2805
+ .cmb2-element .ui-datepicker table {
2806
+ font-size: 13px;
2807
+ margin: 0;
2808
+ }
2809
+
2810
+ /* line 823, sass/partials/_jquery_ui.scss */
2811
+
2812
+ .cmb2-element.ui-datepicker .ui-datepicker-header,
2813
+ .cmb2-element .ui-datepicker .ui-datepicker-header {
2814
+ border: none;
2815
+ background: #222;
2816
+ color: #fff;
2817
+ font-weight: normal;
2818
+ }
2819
+
2820
+ /* line 826, sass/partials/_jquery_ui.scss */
2821
+
2822
+ .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,
2823
+ .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover {
2824
+ background: #222;
2825
+ border-color: transparent;
2826
+ cursor: pointer;
2827
+ -webkit-border-radius: 0;
2828
+ -moz-border-radius: 0;
2829
+ border-radius: 0;
2830
+ }
2831
+
2832
+ /* line 829, sass/partials/_jquery_ui.scss */
2833
+
2834
+ .cmb2-element.ui-datepicker thead,
2835
+ .cmb2-element .ui-datepicker thead {
2836
+ background: #222;
2837
+ color: #fff;
2838
+ }
2839
+
2840
+ /* line 832, sass/partials/_jquery_ui.scss */
2841
+
2842
+ .cmb2-element.ui-datepicker .ui-datepicker-title,
2843
+ .cmb2-element .ui-datepicker .ui-datepicker-title {
2844
+ margin-top: .4em;
2845
+ margin-bottom: .3em;
2846
+ color: #fff;
2847
+ font-size: 14px;
2848
+ }
2849
+
2850
+ /* line 835, sass/partials/_jquery_ui.scss */
2851
+
2852
+ .cmb2-element.ui-datepicker .ui-datepicker-prev-hover,
2853
+ .cmb2-element.ui-datepicker .ui-datepicker-next-hover,
2854
+ .cmb2-element.ui-datepicker .ui-datepicker-next,
2855
+ .cmb2-element.ui-datepicker .ui-datepicker-prev,
2856
+ .cmb2-element .ui-datepicker .ui-datepicker-prev-hover,
2857
+ .cmb2-element .ui-datepicker .ui-datepicker-next-hover,
2858
+ .cmb2-element .ui-datepicker .ui-datepicker-next,
2859
+ .cmb2-element .ui-datepicker .ui-datepicker-prev {
2860
+ height: 1em;
2861
+ top: .9em;
2862
+ border: none;
2863
+ }
2864
+
2865
+ /* line 841, sass/partials/_jquery_ui.scss */
2866
+
2867
+ .cmb2-element.ui-datepicker .ui-datepicker-prev-hover,
2868
+ .cmb2-element .ui-datepicker .ui-datepicker-prev-hover {
2869
+ right: 2px;
2870
+ }
2871
+
2872
+ /* line 844, sass/partials/_jquery_ui.scss */
2873
+
2874
+ .cmb2-element.ui-datepicker .ui-datepicker-next-hover,
2875
+ .cmb2-element .ui-datepicker .ui-datepicker-next-hover {
2876
+ left: 2px;
2877
+ }
2878
+
2879
+ /* line 847, sass/partials/_jquery_ui.scss */
2880
+
2881
+ .cmb2-element.ui-datepicker .ui-datepicker-next span,
2882
+ .cmb2-element.ui-datepicker .ui-datepicker-prev span,
2883
+ .cmb2-element .ui-datepicker .ui-datepicker-next span,
2884
+ .cmb2-element .ui-datepicker .ui-datepicker-prev span {
2885
+ background-image: url("data:image/png;base64,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");
2886
+ background-position: -32px 0;
2887
+ margin-top: 0;
2888
+ top: 0;
2889
+ font-weight: normal;
2890
+ }
2891
+
2892
+ /* line 851, sass/partials/_jquery_ui.scss */
2893
+
2894
+ .cmb2-element.ui-datepicker .ui-datepicker-prev span,
2895
+ .cmb2-element .ui-datepicker .ui-datepicker-prev span {
2896
+ background-position: -96px 0;
2897
+ }
2898
+
2899
+ /* line 854, sass/partials/_jquery_ui.scss */
2900
+
2901
+ .cmb2-element.ui-datepicker th,
2902
+ .cmb2-element .ui-datepicker th {
2903
+ padding: 0.75em 0;
2904
+ color: #fff;
2905
+ font-weight: normal;
2906
+ border: none;
2907
+ border-top: 1px solid #333;
2908
+ }
2909
+
2910
+ /* line 857, sass/partials/_jquery_ui.scss */
2911
+
2912
+ .cmb2-element.ui-datepicker td,
2913
+ .cmb2-element .ui-datepicker td {
2914
+ background: #f1f1f1;
2915
+ border: none;
2916
+ padding: 0;
2917
+ }
2918
+
2919
+ /* line 860, sass/partials/_jquery_ui.scss */
2920
+
2921
+ .cmb2-element.ui-datepicker td .ui-state-default,
2922
+ .cmb2-element .ui-datepicker td .ui-state-default {
2923
+ background: transparent;
2924
+ border: none;
2925
+ text-align: center;
2926
+ padding: .5em;
2927
+ margin: 0;
2928
+ font-weight: normal;
2929
+ color: #333;
2930
+ }
2931
+
2932
+ /* line 863, sass/partials/_jquery_ui.scss */
2933
+
2934
+ .cmb2-element.ui-datepicker td .ui-state-active,
2935
+ .cmb2-element.ui-datepicker td .ui-state-hover,
2936
+ .cmb2-element .ui-datepicker td .ui-state-active,
2937
+ .cmb2-element .ui-datepicker td .ui-state-hover {
2938
+ background: #0074a2;
2939
+ color: #fff;
2940
+ }
2941
+
2942
+ /* line 867, sass/partials/_jquery_ui.scss */
2943
+
2944
+ .cmb2-element.ui-datepicker td.ui-state-disabled,
2945
+ .cmb2-element.ui-datepicker td.ui-state-disabled .ui-state-default,
2946
+ .cmb2-element .ui-datepicker td.ui-state-disabled,
2947
+ .cmb2-element .ui-datepicker td.ui-state-disabled .ui-state-default {
2948
+ opacity: 1;
2949
+ color: #999;
2950
+ }
2951
+
2952
+ /* line 871, sass/partials/_jquery_ui.scss */
2953
+
2954
+ .cmb2-element.ui-datepicker .ui-datepicker-close,
2955
+ .cmb2-element.ui-datepicker .ui-datepicker-current,
2956
+ .cmb2-element .ui-datepicker .ui-datepicker-close,
2957
+ .cmb2-element .ui-datepicker .ui-datepicker-current {
2958
+ font-size: 14px;
2959
+ font-weight: normal;
2960
+ background-image: none;
2961
+ border: none;
2962
+ }
2963
+
2964
+ /* line 875, sass/partials/_jquery_ui.scss */
2965
+
2966
+ .cmb2-element.ui-datepicker .ui-datepicker-current:hover,
2967
+ .cmb2-element.ui-datepicker .ui-datepicker-current:active,
2968
+ .cmb2-element.ui-datepicker .ui-datepicker-close:hover,
2969
+ .cmb2-element.ui-datepicker .ui-datepicker-close:active,
2970
+ .cmb2-element .ui-datepicker .ui-datepicker-current:hover,
2971
+ .cmb2-element .ui-datepicker .ui-datepicker-current:active,
2972
+ .cmb2-element .ui-datepicker .ui-datepicker-close:hover,
2973
+ .cmb2-element .ui-datepicker .ui-datepicker-close:active {
2974
+ background: #096484;
2975
+ color: #fff;
2976
+ }
2977
+
2978
+ /* line 881, sass/partials/_jquery_ui.scss */
2979
+
2980
+ .cmb2-element.ui-datepicker .ui-datepicker-buttonpane,
2981
+ .cmb2-element .ui-datepicker .ui-datepicker-buttonpane {
2982
+ border: none;
2983
+ }
2984
+
2985
+ /* line 885, sass/partials/_jquery_ui.scss */
2986
+
2987
+ .cmb2-element.ui-datepicker.ui-datepicker-multi,
2988
+ .cmb2-element .ui-datepicker.ui-datepicker-multi {
2989
+ width: auto;
2990
+ }
2991
+
2992
+ /* line 890, sass/partials/_jquery_ui.scss */
2993
+
2994
+ .cmb2-element .ui-datepicker-multi .ui-datepicker-group {
2995
+ float: right;
2996
+ }
2997
+
2998
+ /* line 893, sass/partials/_jquery_ui.scss */
2999
+
3000
+ .cmb2-element .ui-datepicker-multi .ui-datepicker-group table {
3001
+ width: 95%;
3002
+ margin: 0 auto .4em;
3003
+ }
3004
+
3005
+ /* line 896, sass/partials/_jquery_ui.scss */
3006
+
3007
+ .cmb2-element .ui-datepicker-multi-2 .ui-datepicker-group {
3008
+ width: 50%;
3009
+ }
3010
+
3011
+ /* line 899, sass/partials/_jquery_ui.scss */
3012
+
3013
+ .cmb2-element .ui-datepicker-multi-3 .ui-datepicker-group {
3014
+ width: 33.3%;
3015
+ }
3016
+
3017
+ /* line 902, sass/partials/_jquery_ui.scss */
3018
+
3019
+ .cmb2-element .ui-datepicker-multi-4 .ui-datepicker-group {
3020
+ width: 25%;
3021
+ }
3022
+
3023
+ /* line 905, sass/partials/_jquery_ui.scss */
3024
+
3025
+ .cmb2-element .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header {
3026
+ border-right-width: 0;
3027
+ }
3028
+
3029
+ /* line 908, sass/partials/_jquery_ui.scss */
3030
+
3031
+ .cmb2-element .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
3032
+ border-right-width: 0;
3033
+ }
3034
+
3035
+ /* line 911, sass/partials/_jquery_ui.scss */
3036
+
3037
+ .cmb2-element .ui-datepicker-multi .ui-datepicker-buttonpane {
3038
+ clear: right;
3039
+ }
3040
+
3041
+ /* line 914, sass/partials/_jquery_ui.scss */
3042
+
3043
+ .cmb2-element .ui-datepicker-row-break {
3044
+ clear: both;
3045
+ width: 100%;
3046
+ font-size: 0em;
3047
+ }
3048
+
3049
+ /* line 917, sass/partials/_jquery_ui.scss */
3050
+
3051
+ .cmb2-element .ui-datepicker-rtl {
3052
+ direction: ltr;
3053
+ }
3054
+
3055
+ /* line 919, sass/partials/_jquery_ui.scss */
3056
+
3057
+ .cmb2-element .ui-datepicker-rtl .ui-datepicker-prev {
3058
+ left: 2px;
3059
+ right: auto;
3060
+ }
3061
+
3062
+ /* line 922, sass/partials/_jquery_ui.scss */
3063
+
3064
+ .cmb2-element .ui-datepicker-rtl .ui-datepicker-next {
3065
+ right: 2px;
3066
+ left: auto;
3067
+ }
3068
+
3069
+ /* line 925, sass/partials/_jquery_ui.scss */
3070
+
3071
+ .cmb2-element .ui-datepicker-rtl .ui-datepicker-prev:hover {
3072
+ left: 1px;
3073
+ right: auto;
3074
+ }
3075
+
3076
+ /* line 928, sass/partials/_jquery_ui.scss */
3077
+
3078
+ .cmb2-element .ui-datepicker-rtl .ui-datepicker-next:hover {
3079
+ right: 1px;
3080
+ left: auto;
3081
+ }
3082
+
3083
+ /* line 931, sass/partials/_jquery_ui.scss */
3084
+
3085
+ .cmb2-element .ui-datepicker-rtl .ui-datepicker-buttonpane {
3086
+ clear: left;
3087
+ }
3088
+
3089
+ /* line 934, sass/partials/_jquery_ui.scss */
3090
+
3091
+ .cmb2-element .ui-datepicker-rtl .ui-datepicker-buttonpane button {
3092
+ float: right;
3093
+ }
3094
+
3095
+ /* line 937, sass/partials/_jquery_ui.scss */
3096
+
3097
+ .cmb2-element .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current {
3098
+ float: left;
3099
+ }
3100
+
3101
+ /* line 940, sass/partials/_jquery_ui.scss */
3102
+
3103
+ .cmb2-element .ui-datepicker-rtl .ui-datepicker-group {
3104
+ float: left;
3105
+ }
3106
+
3107
+ /* line 943, sass/partials/_jquery_ui.scss */
3108
+
3109
+ .cmb2-element .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header {
3110
+ border-left-width: 0;
3111
+ border-right-width: 1px;
3112
+ }
3113
+
3114
+ /* line 946, sass/partials/_jquery_ui.scss */
3115
+
3116
+ .cmb2-element .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
3117
+ border-left-width: 0;
3118
+ border-right-width: 1px;
3119
+ }
3120
+
3121
+ /* line 950, sass/partials/_jquery_ui.scss */
3122
+
3123
+ .cmb2-element .ui-datepicker-cover {
3124
+ display: none; /*sorry for IE5*/
3125
+ display/**/: block; /*sorry for IE5*/
3126
+ position: absolute; /*must have*/
3127
+ z-index: -1; /*must have*/
3128
+ filter: mask(); /*must have*/
3129
+ top: -4px; /*must have*/
3130
+ right: -4px; /*must have*/
3131
+ width: 200px; /*must have*/
3132
+ height: 200px; /*must have*/
3133
+ }
3134
+
3135
+ /* line 961, sass/partials/_jquery_ui.scss */
3136
+
3137
+ .cmb2-element .ui-timepicker-div {
3138
+ font-size: 14px;
3139
+ }
3140
+
3141
+ /* line 964, sass/partials/_jquery_ui.scss */
3142
+
3143
+ .cmb2-element .ui-timepicker-div .ui-widget-header {
3144
+ margin-bottom: 8px;
3145
+ background: #222;
3146
+ border-color: #222;
3147
+ }
3148
+
3149
+ /* line 967, sass/partials/_jquery_ui.scss */
3150
+
3151
+ .cmb2-element .ui-timepicker-div dl {
3152
+ text-align: right;
3153
+ }
3154
+
3155
+ /* line 970, sass/partials/_jquery_ui.scss */
3156
+
3157
+ .cmb2-element .ui-timepicker-div dl dt {
3158
+ float: right;
3159
+ clear: right;
3160
+ padding: 0 5px 0 0;
3161
+ }
3162
+
3163
+ /* line 973, sass/partials/_jquery_ui.scss */
3164
+
3165
+ .cmb2-element .ui-timepicker-div dl dd {
3166
+ margin: 0 40% 10px 10px;
3167
+ }
3168
+
3169
+ /* line 976, sass/partials/_jquery_ui.scss */
3170
+
3171
+ .cmb2-element .ui-tpicker-grid-label {
3172
+ background: none;
3173
+ border: none;
3174
+ margin: 0;
3175
+ padding: 0;
3176
+ }
3177
+
3178
+ /* line 979, sass/partials/_jquery_ui.scss */
3179
+
3180
+ .cmb2-element .ui-timepicker-rtl {
3181
+ direction: ltr;
3182
+ }
3183
+
3184
+ /* line 982, sass/partials/_jquery_ui.scss */
3185
+
3186
+ .cmb2-element .ui-timepicker-rtl dl {
3187
+ text-align: left;
3188
+ padding: 0 0 0 5px;
3189
+ }
3190
+
3191
+ /* line 985, sass/partials/_jquery_ui.scss */
3192
+
3193
+ .cmb2-element .ui-timepicker-rtl dl dt {
3194
+ float: left;
3195
+ clear: left;
3196
+ }
3197
+
3198
+ /* line 988, sass/partials/_jquery_ui.scss */
3199
+
3200
+ .cmb2-element .ui-timepicker-rtl dl dd {
3201
+ margin: 0 10px 10px 40%;
3202
+ }
3203
+
3204
+ /* line 995, sass/partials/_jquery_ui.scss */
3205
+
3206
+ .admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-header,
3207
+ .admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,
3208
+ .admin-color-blue .cmb2-element.ui-datepicker thead,
3209
+ .admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-header,
3210
+ .admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,
3211
+ .admin-color-blue .cmb2-element .ui-datepicker thead {
3212
+ background: #4796b3;
3213
+ }
3214
+
3215
+ /* line 1000, sass/partials/_jquery_ui.scss */
3216
+
3217
+ .admin-color-blue .cmb2-element.ui-datepicker th,
3218
+ .admin-color-blue .cmb2-element .ui-datepicker th {
3219
+ border-color: #52accc;
3220
+ }
3221
+
3222
+ /* line 1003, sass/partials/_jquery_ui.scss */
3223
+
3224
+ .admin-color-blue .cmb2-element.ui-datepicker td .ui-state-active,
3225
+ .admin-color-blue .cmb2-element.ui-datepicker td .ui-state-hover,
3226
+ .admin-color-blue .cmb2-element .ui-datepicker td .ui-state-active,
3227
+ .admin-color-blue .cmb2-element .ui-datepicker td .ui-state-hover {
3228
+ background: #096484;
3229
+ }
3230
+
3231
+ /* line 1007, sass/partials/_jquery_ui.scss */
3232
+
3233
+ .admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-current:hover,
3234
+ .admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-current:active,
3235
+ .admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-close:hover,
3236
+ .admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-close:active,
3237
+ .admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-current:hover,
3238
+ .admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-current:active,
3239
+ .admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-close:hover,
3240
+ .admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-close:active {
3241
+ background: #096484;
3242
+ color: #fff;
3243
+ }
3244
+
3245
+ /* line 1014, sass/partials/_jquery_ui.scss */
3246
+
3247
+ .admin-color-blue .cmb2-element .ui-timepicker-div .ui-widget-header {
3248
+ background: #4796b3;
3249
+ }
3250
+
3251
+ /* line 1017, sass/partials/_jquery_ui.scss */
3252
+
3253
+ .admin-color-blue .cmb2-element .ui-timepicker-div .ui-widget-header {
3254
+ border-color: #4796b3;
3255
+ }
3256
+
3257
+ /* line 1025, sass/partials/_jquery_ui.scss */
3258
+
3259
+ .admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-header,
3260
+ .admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,
3261
+ .admin-color-coffee .cmb2-element.ui-datepicker thead,
3262
+ .admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-header,
3263
+ .admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,
3264
+ .admin-color-coffee .cmb2-element .ui-datepicker thead {
3265
+ background: #46403c;
3266
+ }
3267
+
3268
+ /* line 1030, sass/partials/_jquery_ui.scss */
3269
+
3270
+ .admin-color-coffee .cmb2-element.ui-datepicker th,
3271
+ .admin-color-coffee .cmb2-element .ui-datepicker th {
3272
+ border-color: #59524c;
3273
+ }
3274
+
3275
+ /* line 1033, sass/partials/_jquery_ui.scss */
3276
+
3277
+ .admin-color-coffee .cmb2-element.ui-datepicker td .ui-state-active,
3278
+ .admin-color-coffee .cmb2-element.ui-datepicker td .ui-state-hover,
3279
+ .admin-color-coffee .cmb2-element .ui-datepicker td .ui-state-active,
3280
+ .admin-color-coffee .cmb2-element .ui-datepicker td .ui-state-hover {
3281
+ background: #c7a589;
3282
+ }
3283
+
3284
+ /* line 1037, sass/partials/_jquery_ui.scss */
3285
+
3286
+ .admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-current:hover,
3287
+ .admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-current:active,
3288
+ .admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-close:hover,
3289
+ .admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-close:active,
3290
+ .admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-current:hover,
3291
+ .admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-current:active,
3292
+ .admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-close:hover,
3293
+ .admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-close:active {
3294
+ background: #c7a589;
3295
+ color: #fff;
3296
+ }
3297
+
3298
+ /* line 1044, sass/partials/_jquery_ui.scss */
3299
+
3300
+ .admin-color-coffee .cmb2-element .ui-timepicker-div .ui-widget-header {
3301
+ background: #46403c;
3302
+ }
3303
+
3304
+ /* line 1052, sass/partials/_jquery_ui.scss */
3305
+
3306
+ .admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-header,
3307
+ .admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,
3308
+ .admin-color-ectoplasm .cmb2-element.ui-datepicker thead,
3309
+ .admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-header,
3310
+ .admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,
3311
+ .admin-color-ectoplasm .cmb2-element .ui-datepicker thead {
3312
+ background: #413256;
3313
+ }
3314
+
3315
+ /* line 1057, sass/partials/_jquery_ui.scss */
3316
+
3317
+ .admin-color-ectoplasm .cmb2-element.ui-datepicker th,
3318
+ .admin-color-ectoplasm .cmb2-element .ui-datepicker th {
3319
+ border-color: #523f6d;
3320
+ }
3321
+
3322
+ /* line 1060, sass/partials/_jquery_ui.scss */
3323
+
3324
+ .admin-color-ectoplasm .cmb2-element.ui-datepicker td .ui-state-active,
3325
+ .admin-color-ectoplasm .cmb2-element.ui-datepicker td .ui-state-hover,
3326
+ .admin-color-ectoplasm .cmb2-element .ui-datepicker td .ui-state-active,
3327
+ .admin-color-ectoplasm .cmb2-element .ui-datepicker td .ui-state-hover {
3328
+ background: #a3b745;
3329
+ }
3330
+
3331
+ /* line 1064, sass/partials/_jquery_ui.scss */
3332
+
3333
+ .admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-current:hover,
3334
+ .admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-current:active,
3335
+ .admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-close:hover,
3336
+ .admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-close:active,
3337
+ .admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-current:hover,
3338
+ .admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-current:active,
3339
+ .admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-close:hover,
3340
+ .admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-close:active {
3341
+ background: #a3b745;
3342
+ color: #fff;
3343
+ }
3344
+
3345
+ /* line 1072, sass/partials/_jquery_ui.scss */
3346
+
3347
+ .admin-color-ectoplasm .cmb2-element .ui-timepicker-div .ui-widget-header {
3348
+ background: #413256;
3349
+ border-color: #413256;
3350
+ }
3351
+
3352
+ /* line 1082, sass/partials/_jquery_ui.scss */
3353
+
3354
+ .admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-header,
3355
+ .admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,
3356
+ .admin-color-midnight .cmb2-element.ui-datepicker thead,
3357
+ .admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-header,
3358
+ .admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,
3359
+ .admin-color-midnight .cmb2-element .ui-datepicker thead {
3360
+ background: #26292c;
3361
+ }
3362
+
3363
+ /* line 1087, sass/partials/_jquery_ui.scss */
3364
+
3365
+ .admin-color-midnight .cmb2-element.ui-datepicker th,
3366
+ .admin-color-midnight .cmb2-element .ui-datepicker th {
3367
+ border-color: #363b3f;
3368
+ }
3369
+
3370
+ /* line 1090, sass/partials/_jquery_ui.scss */
3371
+
3372
+ .admin-color-midnight .cmb2-element.ui-datepicker td .ui-state-active,
3373
+ .admin-color-midnight .cmb2-element.ui-datepicker td .ui-state-hover,
3374
+ .admin-color-midnight .cmb2-element .ui-datepicker td .ui-state-active,
3375
+ .admin-color-midnight .cmb2-element .ui-datepicker td .ui-state-hover {
3376
+ background: #e14d43;
3377
+ }
3378
+
3379
+ /* line 1094, sass/partials/_jquery_ui.scss */
3380
+
3381
+ .admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-current:hover,
3382
+ .admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-current:active,
3383
+ .admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-close:hover,
3384
+ .admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-close:active,
3385
+ .admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-current:hover,
3386
+ .admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-current:active,
3387
+ .admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-close:hover,
3388
+ .admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-close:active {
3389
+ background: #e14d43;
3390
+ color: #fff;
3391
+ }
3392
+
3393
+ /* line 1101, sass/partials/_jquery_ui.scss */
3394
+
3395
+ .admin-color-midnight .cmb2-element .ui-timepicker-div .ui-widget-header {
3396
+ background: #26292c;
3397
+ }
3398
+
3399
+ /* line 1109, sass/partials/_jquery_ui.scss */
3400
+
3401
+ .admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-header,
3402
+ .admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,
3403
+ .admin-color-ocean .cmb2-element.ui-datepicker thead,
3404
+ .admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-header,
3405
+ .admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,
3406
+ .admin-color-ocean .cmb2-element .ui-datepicker thead {
3407
+ background: #627c83;
3408
+ }
3409
+
3410
+ /* line 1114, sass/partials/_jquery_ui.scss */
3411
+
3412
+ .admin-color-ocean .cmb2-element.ui-datepicker th,
3413
+ .admin-color-ocean .cmb2-element .ui-datepicker th {
3414
+ border-color: #738e96;
3415
+ }
3416
+
3417
+ /* line 1117, sass/partials/_jquery_ui.scss */
3418
+
3419
+ .admin-color-ocean .cmb2-element.ui-datepicker td .ui-state-active,
3420
+ .admin-color-ocean .cmb2-element.ui-datepicker td .ui-state-hover,
3421
+ .admin-color-ocean .cmb2-element .ui-datepicker td .ui-state-active,
3422
+ .admin-color-ocean .cmb2-element .ui-datepicker td .ui-state-hover {
3423
+ background: #9ebaa0;
3424
+ }
3425
+
3426
+ /* line 1121, sass/partials/_jquery_ui.scss */
3427
+
3428
+ .admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-current:hover,
3429
+ .admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-current:active,
3430
+ .admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-close:hover,
3431
+ .admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-close:active,
3432
+ .admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-current:hover,
3433
+ .admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-current:active,
3434
+ .admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-close:hover,
3435
+ .admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-close:active {
3436
+ background: #9ebaa0;
3437
+ color: #fff;
3438
+ }
3439
+
3440
+ /* line 1128, sass/partials/_jquery_ui.scss */
3441
+
3442
+ .admin-color-ocean .cmb2-element .ui-timepicker-div .ui-widget-header {
3443
+ background: #627c83;
3444
+ border-color: #627c83;
3445
+ }
3446
+
3447
+ /* line 1137, sass/partials/_jquery_ui.scss */
3448
+
3449
+ .admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-header,
3450
+ .admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,
3451
+ .admin-color-sunrise .cmb2-element.ui-datepicker thead,
3452
+ .admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header,
3453
+ .admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,
3454
+ .admin-color-sunrise .cmb2-element .ui-datepicker thead {
3455
+ background: #be3631;
3456
+ }
3457
+
3458
+ /* line 1142, sass/partials/_jquery_ui.scss */
3459
+
3460
+ .admin-color-sunrise .cmb2-element.ui-datepicker th,
3461
+ .admin-color-sunrise .cmb2-element .ui-datepicker th {
3462
+ border-color: #cf4944;
3463
+ }
3464
+
3465
+ /* line 1145, sass/partials/_jquery_ui.scss */
3466
+
3467
+ .admin-color-sunrise .cmb2-element.ui-datepicker td .ui-state-active,
3468
+ .admin-color-sunrise .cmb2-element.ui-datepicker td .ui-state-hover,
3469
+ .admin-color-sunrise .cmb2-element .ui-datepicker td .ui-state-active,
3470
+ .admin-color-sunrise .cmb2-element .ui-datepicker td .ui-state-hover {
3471
+ background: #dd823b;
3472
+ }
3473
+
3474
+ /* line 1149, sass/partials/_jquery_ui.scss */
3475
+
3476
+ .admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-current:hover,
3477
+ .admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-current:active,
3478
+ .admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-close:hover,
3479
+ .admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-close:active,
3480
+ .admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-current:hover,
3481
+ .admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-current:active,
3482
+ .admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-close:hover,
3483
+ .admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-close:active {
3484
+ background: #dd823b;
3485
+ color: #fff;
3486
+ }
3487
+
3488
+ /* line 1156, sass/partials/_jquery_ui.scss */
3489
+
3490
+ .admin-color-sunrise .cmb2-element .ui-timepicker-div .ui-widget-header {
3491
+ background: #be3631;
3492
+ border-color: #be3631;
3493
+ }
3494
+
3495
+ /* line 1164, sass/partials/_jquery_ui.scss */
3496
+
3497
+ .admin-color-light .cmb2-element .ui-timepicker-div .ui-widget-header {
3498
+ background: #e5e5e5;
3499
+ border-color: #e5e5e5;
3500
+ color: #555;
3501
+ }
3502
+
3503
+ /* line 1170, sass/partials/_jquery_ui.scss */
3504
+
3505
+ .admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-header,
3506
+ .admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,
3507
+ .admin-color-light .cmb2-element.ui-datepicker thead,
3508
+ .admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-header,
3509
+ .admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,
3510
+ .admin-color-light .cmb2-element .ui-datepicker thead {
3511
+ background: #e5e5e5;
3512
+ }
3513
+
3514
+ /* line 1175, sass/partials/_jquery_ui.scss */
3515
+
3516
+ .admin-color-light .cmb2-element.ui-datepicker td,
3517
+ .admin-color-light .cmb2-element .ui-datepicker td {
3518
+ background: #fff;
3519
+ }
3520
+
3521
+ /* line 1179, sass/partials/_jquery_ui.scss */
3522
+
3523
+ .admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-next span,
3524
+ .admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-prev span,
3525
+ .admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-next span,
3526
+ .admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-prev span {
3527
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAYAAADvl7rLAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMUIxRjI2RjhCODYxMUUzQTEyNERCMDU1QzdBQ0EyMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxMUIxRjI3MDhCODYxMUUzQTEyNERCMDU1QzdBQ0EyMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjExQjFGMjZEOEI4NjExRTNBMTI0REIwNTVDN0FDQTIwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjExQjFGMjZFOEI4NjExRTNBMTI0REIwNTVDN0FDQTIwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+kKfR4AAAHcRJREFUeNrsXWuM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");
3528
+ }
3529
+
3530
+ /* line 1183, sass/partials/_jquery_ui.scss */
3531
+
3532
+ .admin-color-light .cmb2-element.ui-datepicker th,
3533
+ .admin-color-light .cmb2-element .ui-datepicker th {
3534
+ border-color: #fff;
3535
+ }
3536
+
3537
+ /* line 1186, sass/partials/_jquery_ui.scss */
3538
+
3539
+ .admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-title,
3540
+ .admin-color-light .cmb2-element.ui-datepicker td .ui-state-default,
3541
+ .admin-color-light .cmb2-element.ui-datepicker th,
3542
+ .admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-title,
3543
+ .admin-color-light .cmb2-element .ui-datepicker td .ui-state-default,
3544
+ .admin-color-light .cmb2-element .ui-datepicker th {
3545
+ color: #555;
3546
+ }
3547
+
3548
+ /* line 1191, sass/partials/_jquery_ui.scss */
3549
+
3550
+ .admin-color-light .cmb2-element.ui-datepicker td .ui-state-active,
3551
+ .admin-color-light .cmb2-element.ui-datepicker td .ui-state-hover,
3552
+ .admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-current:hover,
3553
+ .admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-current:active,
3554
+ .admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-close:hover,
3555
+ .admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-close:active,
3556
+ .admin-color-light .cmb2-element .ui-datepicker td .ui-state-active,
3557
+ .admin-color-light .cmb2-element .ui-datepicker td .ui-state-hover,
3558
+ .admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-current:hover,
3559
+ .admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-current:active,
3560
+ .admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-close:hover,
3561
+ .admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-close:active {
3562
+ color: #fff;
3563
+ background: #888;
3564
+ }
3565
+
3566
+ /* line 1199, sass/partials/_jquery_ui.scss */
3567
+
3568
+ .admin-color-light .cmb2-element.ui-datepicker td.ui-state-disabled,
3569
+ .admin-color-light .cmb2-element.ui-datepicker td.ui-state-disabled .ui-state-default,
3570
+ .admin-color-light .cmb2-element .ui-datepicker td.ui-state-disabled,
3571
+ .admin-color-light .cmb2-element .ui-datepicker td.ui-state-disabled .ui-state-default {
3572
+ color: #ccc;
3573
+ }
3574
+
3575
+ /* line 1204, sass/partials/_jquery_ui.scss */
3576
+
3577
+ .admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-current,
3578
+ .admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-current {
3579
+ background: #f1f1f1;
3580
+ }
3581
+
3582
+ /*# sourceMappingURL=cmb2.css.map */
3583
+
3584
+ @media (max-width: 450px) {
3585
+
3586
+ /* line 209, sass/partials/_main_wrap.scss */
3587
+
3588
+ .cmb-th {
3589
+ font-size: 1.2em;
3590
+ display: block;
3591
+ float: none;
3592
+ padding-bottom: 1em;
3593
+ text-align: right;
3594
+ width: 100%;
3595
+ }
3596
+
3597
+ /* line 27, sass/partials/_mixins.scss */
3598
+
3599
+ .cmb-th label {
3600
+ display: block;
3601
+ margin-top: 0em;
3602
+ padding-bottom: 5px;
3603
+ }
3604
+
3605
+ /* line 32, sass/partials/_mixins.scss */
3606
+
3607
+ .cmb-th label:after {
3608
+ border-bottom: 1px solid #e9e9e9;
3609
+ content: '';
3610
+ clear: both;
3611
+ display: block;
3612
+ padding-top: .4em;
3613
+ }
3614
+
3615
+ /* line 431, sass/partials/_main_wrap.scss */
3616
+
3617
+ .cmb-th,
3618
+ .cmb-td,
3619
+ .cmb-th + .cmb-td {
3620
+ display: block;
3621
+ float: none;
3622
+ width: 100%;
3623
+ }
3624
+
3625
+ /* line 72, sass/partials/_post_metaboxes.scss */
3626
+
3627
+ .postbox-container .cmb-row:not(:last-of-type),
3628
+ .postbox-container .cmb-repeatable-group:not(:last-of-type),
3629
+ .cmb-repeat-group-wrap .cmb-row:not(:last-of-type),
3630
+ .cmb-repeat-group-wrap .cmb-repeatable-group:not(:last-of-type) {
3631
+ border-bottom: 0;
3632
+ }
3633
+
3634
+ }
3635
+
vendor/CMB2/css/cmb2-rtl.min.css ADDED
@@ -0,0 +1 @@
 
1
+ .cmb2-wrap{margin:0}.cmb2-wrap input,.cmb2-wrap textarea{font-size:14px;max-width:100%;padding:5px}.cmb2-wrap input[type=text].cmb2-oembed{width:100%}.cmb2-wrap textarea{width:500px}.cmb2-wrap textarea.cmb2-textarea-code{font-family:"Courier 10 Pitch",Courier,monospace;line-height:16px}.cmb2-wrap input.cmb2-text-small,.cmb2-wrap input.cmb2-timepicker{width:100px}.cmb2-wrap input.cmb2-text-money{width:90px}.cmb2-wrap input.cmb2-text-medium{width:230px}.cmb2-wrap input.cmb2-upload-file{width:65%}.cmb2-wrap input.ed_button{padding:2px 4px}.cmb2-wrap input:not([type=hidden])+.button,.cmb2-wrap input:not([type=hidden])+input,.cmb2-wrap input:not([type=hidden])+select{margin-right:20px}.cmb2-wrap ul{margin:0}.cmb2-wrap li{font-size:14px;line-height:16px;margin:1px 0 5px}.cmb2-wrap select{font-size:14px;margin-top:3px}.cmb2-wrap input:focus,.cmb2-wrap textarea:focus{background:#fffff8}.cmb2-wrap input[type=checkbox],.cmb2-wrap input[type=radio]{margin:0 0 0 5px;padding:0}.cmb2-wrap .button,.cmb2-wrap button{white-space:nowrap}.cmb2-wrap .mceLayout{border:1px solid #e9e9e9!important}.cmb2-wrap .mceIframeContainer{background:#fff}.cmb2-wrap .meta_mce{width:97%}.cmb2-wrap .meta_mce textarea{width:100%}.cmb2-wrap .wp-color-result,.cmb2-wrap .wp-picker-input-wrap{vertical-align:middle}.cmb2-wrap .wp-color-result,.cmb2-wrap .wp-picker-container{margin:0 0 0 10px}.cmb2-wrap .cmb-row{margin:0}.cmb2-wrap .cmb-row:after{content:'';clear:both;display:block;width:100%}.cmb2-wrap .cmb-row.cmb-repeat-row{padding:1.8em 0 0}.cmb2-wrap .cmb-row.cmb-repeat-row:first-of-type{padding:0}.cmb2-wrap .cmb-row.cmb-repeat .cmb2-metabox-description{padding-top:0;padding-bottom:1.8em}.cmb2-metabox{clear:both;margin:0}.cmb2-metabox .cmb-field-list>.cmb-row:first-of-type>.cmb-td,.cmb2-metabox .cmb-field-list>.cmb-row:first-of-type>.cmb-th,.cmb2-metabox>.cmb-row:first-of-type>.cmb-td,.cmb2-metabox>.cmb-row:first-of-type>.cmb-th{border:0}.cmb2-metabox>.cmb-row .cmb-repeat-table .cmb-row>.cmb-td{padding-left:20px;box-sizing:border-box;float:right}.cmb-add-row{margin:1.8em 0 0}.cmb-nested .cmb-td,.cmb-repeatable-group .cmb-th,.cmb-repeatable-group:first-of-type{border:0}.cmb-repeatable-group:last-of-type,.cmb-row:last-of-type,.cmb2-wrap .cmb-row:last-of-type{border-bottom:0}.cmb-repeatable-grouping{border:1px solid #e9e9e9;padding:0 1em;max-width:1000px}.cmb-repeatable-grouping.cmb-row{margin:0 0 .8em}.cmb-th{color:#222;float:right;font-weight:600;line-height:1.3;padding:20px 0 20px 10px;vertical-align:top;width:200px}.cmb-td{line-height:1.3;max-width:100%;padding:15px 10px;vertical-align:middle}.cmb-type-title .cmb-td{padding:0}.cmb-th label{display:block;padding:5px 0}.cmb-th+.cmb-td{float:right}.cmb-td .cmb-td{padding-bottom:1em}.cmb-remove-row{text-align:left}.empty-row.hidden{display:none}.cmb-repeatable-group .cmb-th{padding:5px}.cmb-repeatable-group .cmb-group-title{background-color:#e9e9e9;padding:8px 2.2em 8px 12px;margin:0 -1em;min-height:1.5em;font-size:14px;line-height:1.4}.cmb-repeatable-group .cmb-group-title h4{border:0;margin:0;font-size:1.2em;font-weight:500;padding:.5em .75em}.cmb-repeatable-group .cmb-group-title .cmb-th{display:block;width:100%}.cmb-repeatable-group .cmb-group-description .cmb-th{font-size:1.2em;display:block;float:none;padding-bottom:1em;text-align:right;width:100%}.cmb-repeatable-group .cmb-group-description .cmb-th label{display:block;margin-top:0;padding-bottom:5px}.cmb-repeatable-group .cmb-group-description .cmb-th label:after{border-bottom:1px solid #e9e9e9;content:'';clear:both;display:block;padding-top:.4em}.cmb-repeatable-group .cmb-shift-rows{font-size:1em;margin-left:1em;text-decoration:none}.cmb-repeatable-group .cmb-shift-rows .dashicons{font-size:1.5em;height:1.5em;line-height:1.2em;width:1em}.cmb-repeatable-group .cmb-shift-rows .dashicons.dashicons-arrow-down-alt2{line-height:1.3em}.cmb-repeatable-group .cmb2-upload-button{float:left}p.cmb2-metabox-description{color:#aaa;font-style:italic;margin:0;padding-top:.5em}span.cmb2-metabox-description{color:#aaa;font-style:italic}.cmb2-metabox-title{margin:0 0 5px;padding:5px 0 0;font-size:14px}.cmb-inline ul{padding:4px 0 0}.cmb-inline li{display:inline-block;padding-left:18px}.cmb-type-textarea-code pre{margin:0}.cmb2-media-status .img-status{clear:none;display:inline-block;float:right;margin-left:10px;width:auto}.cmb2-media-status .img-status img{max-width:350px}.cmb2-media-status .embed-status,.cmb2-media-status .img-status img{background:#fff;border:1px solid #e9e9e9;border-radius:2px;-moz-border-radius:2px;margin:15px 0 0;padding:5px}.cmb2-media-status .embed-status{float:right;max-width:800px}.cmb2-media-status .embed-status,.cmb2-media-status .img-status{position:relative}.cmb2-media-status .embed-status .cmb2-remove-file-button,.cmb2-media-status .img-status .cmb2-remove-file-button{background:url(../images/ico-delete.png);height:16px;right:-5px;position:absolute;text-indent:-9999px;top:-5px;width:16px}.cmb2-media-status .img-status .cmb2-remove-file-button{top:10px}.cmb2-media-status .file-status>span,.cmb2-media-status .img-status img{cursor:pointer}.cmb-type-file-list .cmb2-media-status .img-status{clear:none;float:right;margin-left:10px;width:auto}.cmb-attach-list li{clear:both;display:inline-block;margin-bottom:25px;width:100%}.cmb-attach-list li img{cursor:move;float:right;margin-left:10px}.cmb2-remove-wrapper{margin:0}.child-cmb2 .cmb-th{text-align:right}#poststuff .cmb-group-title{margin-right:-1em;margin-left:-1em;min-height:1.5em}#poststuff .repeatable .cmb-group-title{padding-right:2.2em}.cmb-repeat-group-wrap .cmb2-wrap,.postbox-container .cmb2-wrap{margin:0}.cmb-repeat-group-wrap .cmb2-wrap>.cmb-field-list>.cmb-row,.postbox-container .cmb2-wrap>.cmb-field-list>.cmb-row{padding:1.8em 0}.cmb-repeat-group-wrap .cmb2-wrap input[type=text].cmb2-oembed,.postbox-container .cmb2-wrap input[type=text].cmb2-oembed{width:100%}.cmb-repeat-group-wrap .cmb-row,.postbox-container .cmb-row{padding:0 0 1.8em;margin:0 0 .8em}.cmb-repeat-group-wrap .cmb-row .cmbhandle,.postbox-container .cmb-row .cmbhandle{left:-1em;position:relative}.cmb-repeat-group-wrap .cmb-repeatable-grouping,.postbox-container .cmb-repeatable-grouping{padding:0 1em;max-width:100%;min-width:1px!important}.cmb-repeat-group-wrap .cmb-repeatable-group>.cmb-row,.postbox-container .cmb-repeatable-group>.cmb-row{padding-bottom:0}.cmb-repeat-group-wrap .cmb-th,.postbox-container .cmb-th{width:18%;padding:0 0 0 2%}.cmb-repeat-group-wrap .cmb-td,.postbox-container .cmb-td{margin-bottom:0;padding:0;line-height:1.3}.cmb-repeat-group-wrap .cmb-repeat-row .cmb-td,.postbox-container .cmb-repeat-row .cmb-td{padding-bottom:1.8em}.cmb-repeat-group-wrap .cmb-th+.cmb-td,.postbox-container .cmb-th+.cmb-td{width:80%;float:left}.cmb-repeat-group-wrap .cmb-repeatable-group:not(:last-of-type),.cmb-repeat-group-wrap .cmb-row:not(:last-of-type),.postbox-container .cmb-repeatable-group:not(:last-of-type),.postbox-container .cmb-row:not(:last-of-type){border-bottom:1px solid #e9e9e9}.cmb-repeat-group-wrap .cmb-remove-field-row,.cmb-repeat-group-wrap .cmb-repeat-group-field,.postbox-container .cmb-remove-field-row,.postbox-container .cmb-repeat-group-field{padding-top:1.8em}.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody,.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody,.postbox-container .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody,.postbox-container .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody{display:table;width:100%}.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,.postbox-container .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,.postbox-container .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text{width:100%}.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),.postbox-container .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),.postbox-container .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row){display:table-row}.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,.postbox-container .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,.postbox-container .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td{display:table-cell;float:none;width:100%}.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,.postbox-container .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,.postbox-container .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td{padding-top:1.8em}.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,.cmb-repeat-group-wrap .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,.postbox-container .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,.postbox-container .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row{padding-left:0}#poststuff .cmb-repeatable-group h2{margin:0}.edit-tags-php .cmb2-metabox-title,.profile-php .cmb2-metabox-title,.user-edit-php .cmb2-metabox-title{font-size:1.4em}.cmb2-options-page .cmb2-metabox-title{font-size:1.3em;margin:1em 0}.cmb2-options-page .cmb2-metabox-title+p.cmb2-metabox-description{margin-top:-1.6em;margin-bottom:.8em}.postbox .cmb-spinner{float:right}#side-sortables .cmb2-wrap>.cmb-field-list>.cmb-row,.inner-sidebar .cmb2-wrap>.cmb-field-list>.cmb-row{padding:1.4em 0}#side-sortables .cmb2-wrap input[type=text]:not(.wp-color-picker),.inner-sidebar .cmb2-wrap input[type=text]:not(.wp-color-picker){width:100%}#side-sortables .cmb2-wrap input+input:not(.wp-picker-clear),#side-sortables .cmb2-wrap input+select,.inner-sidebar .cmb2-wrap input+input:not(.wp-picker-clear),.inner-sidebar .cmb2-wrap input+select{margin-right:0;margin-top:1em;display:block}#side-sortables .cmb2-wrap input.cmb2-text-money,.inner-sidebar .cmb2-wrap input.cmb2-text-money{max-width:70%}#side-sortables .cmb2-wrap input.cmb2-text-money+.cmb2-metabox-description,.inner-sidebar .cmb2-wrap input.cmb2-text-money+.cmb2-metabox-description{display:block}#side-sortables .cmb2-wrap label,.inner-sidebar .cmb2-wrap label{display:block;font-weight:700;padding:0 0 5px}#side-sortables textarea,.inner-sidebar textarea{max-width:99%}#side-sortables .cmb-repeatable-group,.inner-sidebar .cmb-repeatable-group{border-bottom:1px solid #e9e9e9}#side-sortables .cmb-repeat-group-wrap>.cmb-td>.cmb-repeatable-group,.inner-sidebar .cmb-repeat-group-wrap>.cmb-td>.cmb-repeatable-group{border-bottom:0;margin-bottom:-1.4em}#side-sortables .cmb-td,#side-sortables .cmb-th,#side-sortables .cmb-th+.cmb-td,.inner-sidebar .cmb-td,.inner-sidebar .cmb-th,.inner-sidebar .cmb-th+.cmb-td{width:100%;display:block;float:none}#side-sortables .closed .inside,.inner-sidebar .closed .inside{display:none}#side-sortables .cmb-td .cmb-td,.inner-sidebar .cmb-td .cmb-td{padding-bottom:1em}#side-sortables .cmb-th,.inner-sidebar .cmb-th{display:block;float:none;padding-bottom:1em;text-align:right;width:100%;padding-right:0;padding-left:0}#side-sortables .cmb-th label,.inner-sidebar .cmb-th label{display:block;margin-top:0;padding-bottom:5px}#side-sortables .cmb-th label:after,.inner-sidebar .cmb-th label:after{border-bottom:1px solid #e9e9e9;content:'';clear:both;display:block;padding-top:.4em}#side-sortables .cmb-th label,.inner-sidebar .cmb-th label{font-size:14px;line-height:1.4em}#side-sortables .cmb-group-description .cmb-th,.inner-sidebar .cmb-group-description .cmb-th{padding-top:0}#side-sortables .cmb-group-description .cmb2-metabox-description,#side-sortables .cmb-group-title .cmb-th,.inner-sidebar .cmb-group-description .cmb2-metabox-description,.inner-sidebar .cmb-group-title .cmb-th{padding:0}#side-sortables .cmb-repeatable-grouping+.cmb-repeatable-grouping,.inner-sidebar .cmb-repeatable-grouping+.cmb-repeatable-grouping{margin-top:1em}#side-sortables .cmb2-media-status .embed-status img,#side-sortables .cmb2-media-status .img-status img,.inner-sidebar .cmb2-media-status .embed-status img,.inner-sidebar .cmb2-media-status .img-status img{max-width:90%;height:auto}#side-sortables .cmb2-list label,.inner-sidebar .cmb2-list label{display:inline;font-weight:400}#side-sortables .cmb2-metabox-description,.inner-sidebar .cmb2-metabox-description{display:block;padding:7px 0 0}#side-sortables .cmb-type-checkbox .cmb-td label,#side-sortables .cmb-type-checkbox .cmb2-metabox-description,.inner-sidebar .cmb-type-checkbox .cmb-td label,.inner-sidebar .cmb-type-checkbox .cmb2-metabox-description{font-weight:400;display:inline}#side-sortables .cmb-row .cmb2-metabox-description,.inner-sidebar .cmb-row .cmb2-metabox-description{padding-bottom:1.8em}#side-sortables .cmb2-metabox-title,.inner-sidebar .cmb2-metabox-title{font-size:1.2em;font-style:italic}#side-sortables .cmb-remove-row,.inner-sidebar .cmb-remove-row{clear:both;padding-top:12px;padding-bottom:0}#side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td,.inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td{width:auto;clear:none;float:right;padding-top:0}#side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row,.inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row{float:left;margin:0}#side-sortables .cmb2-upload-button,.inner-sidebar .cmb2-upload-button{clear:both;margin-top:12px}.cmb2-metabox .cmb-repeat-group-wrap{max-width:1000px}.cmb2-metabox .cmbhandle{color:#aaa;float:left;width:27px;height:30px;cursor:pointer;left:-1em;position:relative}.cmb2-metabox .cmbhandle:before{content:'\f142';left:12px;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:8px 10px;top:0;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.cmb2-metabox .postbox.closed .cmbhandle:before{content:'\f140'}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row{-webkit-appearance:none!important;background:none!important;border:none!important;position:absolute;right:0;top:.5em;line-height:1em;cursor:pointer;padding:2px 6px 3px}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]){color:#a00}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]):hover{color:red}* html .cmb2-element.ui-helper-clearfix{height:1%}.cmb2-element .ui-helper-hidden{display:none}.cmb2-element .ui-helper-hidden-accessible{position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}.cmb2-element .ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.cmb2-element .ui-helper-clearfix:after,.cmb2-element.ui-helper-clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}.cmb2-element .ui-helper-clearfix,.cmb2-element.ui-helper-clearfix{display:block}.cmb2-element .ui-helper-zfix{width:100%;height:100%;top:0;right:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.cmb2-element .ui-state-disabled{cursor:default!important}.cmb2-element .ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.cmb2-element .ui-widget-overlay{position:absolute;top:0;right:0;width:100%;height:100%}.cmb2-element .ui-widget,.cmb2-element.ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em}.cmb2-element .ui-widget .ui-widget,.cmb2-element.ui-widget .ui-widget{font-size:1em}.cmb2-element .ui-widget button,.cmb2-element .ui-widget input,.cmb2-element .ui-widget select,.cmb2-element .ui-widget textarea,.cmb2-element.ui-widget button,.cmb2-element.ui-widget input,.cmb2-element.ui-widget select,.cmb2-element.ui-widget textarea{font-family:Verdana,Arial,sans-serif;font-size:1em}.cmb2-element .ui-widget-content,.cmb2-element.ui-widget-content{border:1px solid #aaa;background:#fff url(../images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x;color:#222}.cmb2-element .ui-widget-content a,.cmb2-element.ui-widget-content a{color:#222}.cmb2-element .ui-widget-header{border:1px solid #aaa;background:#ccc url(../images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;color:#222;font-weight:700}.cmb2-element .ui-widget-header a{color:#222}.cmb2-element .ui-state-default,.cmb2-element .ui-widget-content .ui-state-default,.cmb2-element .ui-widget-header .ui-state-default,.cmb2-element.ui-widget-content .ui-state-default{border:1px solid #d3d3d3;font-weight:400;color:#555}.cmb2-element .ui-state-default a,.cmb2-element .ui-state-default a:link,.cmb2-element .ui-state-default a:visited{color:#555;text-decoration:none}.cmb2-element .ui-state-focus,.cmb2-element .ui-state-hover,.cmb2-element .ui-widget-content .ui-state-focus,.cmb2-element .ui-widget-content .ui-state-hover,.cmb2-element .ui-widget-header .ui-state-focus,.cmb2-element .ui-widget-header .ui-state-hover,.cmb2-element.ui-widget-content .ui-state-focus,.cmb2-element.ui-widget-content .ui-state-hover{border:1px solid #999;background:#dadada url(../images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x;font-weight:400;color:#212121}.cmb2-element .ui-state-hover a,.cmb2-element .ui-state-hover a:hover{color:#212121;text-decoration:none}.cmb2-element .ui-state-active,.cmb2-element .ui-widget-content .ui-state-active,.cmb2-element .ui-widget-header .ui-state-active,.cmb2-element.ui-widget-content .ui-state-active{border:1px solid #aaa;background:#fff url(../images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;font-weight:400;color:#212121}.cmb2-element .ui-state-active a,.cmb2-element .ui-state-active a:link,.cmb2-element .ui-state-active a:visited{color:#212121;text-decoration:none}.cmb2-element .ui-widget :active,.cmb2-element.ui-widget :active{outline:0}.cmb2-element .ui-state-highlight,.cmb2-element .ui-widget-content .ui-state-highlight,.cmb2-element .ui-widget-header .ui-state-highlight,.cmb2-element.ui-widget-content .ui-state-highlight{border:1px solid #fcefa1;background:#fbf9ee url(../images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x;color:#363636}.cmb2-element .ui-state-highlight a,.cmb2-element .ui-widget-content .ui-state-highlight a,.cmb2-element .ui-widget-header .ui-state-highlight a,.cmb2-element.ui-widget-content .ui-state-highlight a{color:#363636}.cmb2-element .ui-state-error,.cmb2-element .ui-widget-content .ui-state-error,.cmb2-element .ui-widget-header .ui-state-error,.cmb2-element.ui-widget-content .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec url(../images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;color:#cd0a0a}.cmb2-element .ui-state-error a,.cmb2-element .ui-state-error-text,.cmb2-element .ui-widget-content .ui-state-error a,.cmb2-element .ui-widget-content .ui-state-error-text,.cmb2-element .ui-widget-header .ui-state-error a,.cmb2-element .ui-widget-header .ui-state-error-text,.cmb2-element.ui-widget-content .ui-state-error a,.cmb2-element.ui-widget-content .ui-state-error-text{color:#cd0a0a}.cmb2-element .ui-priority-primary,.cmb2-element .ui-widget-content .ui-priority-primary,.cmb2-element .ui-widget-header .ui-priority-primary,.cmb2-element.ui-widget-content .ui-priority-primary{font-weight:700}.cmb2-element .ui-priority-secondary,.cmb2-element .ui-widget-content .ui-priority-secondary,.cmb2-element .ui-widget-header .ui-priority-secondary,.cmb2-element.ui-widget-content .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:400}.cmb2-element .ui-state-disabled,.cmb2-element .ui-widget-content .ui-state-disabled,.cmb2-element .ui-widget-header .ui-state-disabled,.cmb2-element.ui-widget-content .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.cmb2-element .ui-icon{width:16px;height:16px;background-image:url(../images/ui-icons_222222_256x240.png)}.cmb2-element .ui-widget-content .ui-icon,.cmb2-element .ui-widget-header .ui-icon,.cmb2-element.ui-widget-content .ui-icon{background-image:url(../images/ui-icons_222222_256x240.png)}.cmb2-element .ui-state-default .ui-icon{background-image:url(../images/ui-icons_888888_256x240.png)}.cmb2-element .ui-state-active .ui-icon,.cmb2-element .ui-state-focus .ui-icon,.cmb2-element .ui-state-hover .ui-icon{background-image:url(../images/ui-icons_454545_256x240.png)}.cmb2-element .ui-state-highlight .ui-icon{background-image:url(../images/ui-icons_2e83ff_256x240.png)}.cmb2-element .ui-state-error .ui-icon,.cmb2-element .ui-state-error-text .ui-icon{background-image:url(../images/ui-icons_cd0a0a_256x240.png)}.cmb2-element .ui-icon-carat-1-n{background-position:0 0}.cmb2-element .ui-icon-carat-1-ne{background-position:-16px 0}.cmb2-element .ui-icon-carat-1-e{background-position:-32px 0}.cmb2-element .ui-icon-carat-1-se{background-position:-48px 0}.cmb2-element .ui-icon-carat-1-s{background-position:-64px 0}.cmb2-element .ui-icon-carat-1-sw{background-position:-80px 0}.cmb2-element .ui-icon-carat-1-w{background-position:-96px 0}.cmb2-element .ui-icon-carat-1-nw{background-position:-112px 0}.cmb2-element .ui-icon-carat-2-n-s{background-position:-128px 0}.cmb2-element .ui-icon-carat-2-e-w{background-position:-144px 0}.cmb2-element .ui-icon-triangle-1-n{background-position:0 -16px}.cmb2-element .ui-icon-triangle-1-ne{background-position:-16px -16px}.cmb2-element .ui-icon-triangle-1-e{background-position:-32px -16px}.cmb2-element .ui-icon-triangle-1-se{background-position:-48px -16px}.cmb2-element .ui-icon-triangle-1-s{background-position:-64px -16px}.cmb2-element .ui-icon-triangle-1-sw{background-position:-80px -16px}.cmb2-element .ui-icon-triangle-1-w{background-position:-96px -16px}.cmb2-element .ui-icon-triangle-1-nw{background-position:-112px -16px}.cmb2-element .ui-icon-triangle-2-n-s{background-position:-128px -16px}.cmb2-element .ui-icon-triangle-2-e-w{background-position:-144px -16px}.cmb2-element .ui-icon-arrow-1-n{background-position:0 -32px}.cmb2-element .ui-icon-arrow-1-ne{background-position:-16px -32px}.cmb2-element .ui-icon-arrow-1-e{background-position:-32px -32px}.cmb2-element .ui-icon-arrow-1-se{background-position:-48px -32px}.cmb2-element .ui-icon-arrow-1-s{background-position:-64px -32px}.cmb2-element .ui-icon-arrow-1-sw{background-position:-80px -32px}.cmb2-element .ui-icon-arrow-1-w{background-position:-96px -32px}.cmb2-element .ui-icon-arrow-1-nw{background-position:-112px -32px}.cmb2-element .ui-icon-arrow-2-n-s{background-position:-128px -32px}.cmb2-element .ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.cmb2-element .ui-icon-arrow-2-e-w{background-position:-160px -32px}.cmb2-element .ui-icon-arrow-2-se-nw{background-position:-176px -32px}.cmb2-element .ui-icon-arrowstop-1-n{background-position:-192px -32px}.cmb2-element .ui-icon-arrowstop-1-e{background-position:-208px -32px}.cmb2-element .ui-icon-arrowstop-1-s{background-position:-224px -32px}.cmb2-element .ui-icon-arrowstop-1-w{background-position:-240px -32px}.cmb2-element .ui-icon-arrowthick-1-n{background-position:0 -48px}.cmb2-element .ui-icon-arrowthick-1-ne{background-position:-16px -48px}.cmb2-element .ui-icon-arrowthick-1-e{background-position:-32px -48px}.cmb2-element .ui-icon-arrowthick-1-se{background-position:-48px -48px}.cmb2-element .ui-icon-arrowthick-1-s{background-position:-64px -48px}.cmb2-element .ui-icon-arrowthick-1-sw{background-position:-80px -48px}.cmb2-element .ui-icon-arrowthick-1-w{background-position:-96px -48px}.cmb2-element .ui-icon-arrowthick-1-nw{background-position:-112px -48px}.cmb2-element .ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.cmb2-element .ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.cmb2-element .ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.cmb2-element .ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.cmb2-element .ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.cmb2-element .ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.cmb2-element .ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.cmb2-element .ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.cmb2-element .ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.cmb2-element .ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.cmb2-element .ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.cmb2-element .ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.cmb2-element .ui-icon-arrowreturn-1-w{background-position:-64px -64px}.cmb2-element .ui-icon-arrowreturn-1-n{background-position:-80px -64px}.cmb2-element .ui-icon-arrowreturn-1-e{background-position:-96px -64px}.cmb2-element .ui-icon-arrowreturn-1-s{background-position:-112px -64px}.cmb2-element .ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.cmb2-element .ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.cmb2-element .ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.cmb2-element .ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.cmb2-element .ui-icon-arrow-4{background-position:0 -80px}.cmb2-element .ui-icon-arrow-4-diag{background-position:-16px -80px}.cmb2-element .ui-icon-extlink{background-position:-32px -80px}.cmb2-element .ui-icon-newwin{background-position:-48px -80px}.cmb2-element .ui-icon-refresh{background-position:-64px -80px}.cmb2-element .ui-icon-shuffle{background-position:-80px -80px}.cmb2-element .ui-icon-transfer-e-w{background-position:-96px -80px}.cmb2-element .ui-icon-transferthick-e-w{background-position:-112px -80px}.cmb2-element .ui-icon-folder-collapsed{background-position:0 -96px}.cmb2-element .ui-icon-folder-open{background-position:-16px -96px}.cmb2-element .ui-icon-document{background-position:-32px -96px}.cmb2-element .ui-icon-document-b{background-position:-48px -96px}.cmb2-element .ui-icon-note{background-position:-64px -96px}.cmb2-element .ui-icon-mail-closed{background-position:-80px -96px}.cmb2-element .ui-icon-mail-open{background-position:-96px -96px}.cmb2-element .ui-icon-suitcase{background-position:-112px -96px}.cmb2-element .ui-icon-comment{background-position:-128px -96px}.cmb2-element .ui-icon-person{background-position:-144px -96px}.cmb2-element .ui-icon-print{background-position:-160px -96px}.cmb2-element .ui-icon-trash{background-position:-176px -96px}.cmb2-element .ui-icon-locked{background-position:-192px -96px}.cmb2-element .ui-icon-unlocked{background-position:-208px -96px}.cmb2-element .ui-icon-bookmark{background-position:-224px -96px}.cmb2-element .ui-icon-tag{background-position:-240px -96px}.cmb2-element .ui-icon-home{background-position:0 -112px}.cmb2-element .ui-icon-flag{background-position:-16px -112px}.cmb2-element .ui-icon-calendar{background-position:-32px -112px}.cmb2-element .ui-icon-cart{background-position:-48px -112px}.cmb2-element .ui-icon-pencil{background-position:-64px -112px}.cmb2-element .ui-icon-clock{background-position:-80px -112px}.cmb2-element .ui-icon-disk{background-position:-96px -112px}.cmb2-element .ui-icon-calculator{background-position:-112px -112px}.cmb2-element .ui-icon-zoomin{background-position:-128px -112px}.cmb2-element .ui-icon-zoomout{background-position:-144px -112px}.cmb2-element .ui-icon-search{background-position:-160px -112px}.cmb2-element .ui-icon-wrench{background-position:-176px -112px}.cmb2-element .ui-icon-gear{background-position:-192px -112px}.cmb2-element .ui-icon-heart{background-position:-208px -112px}.cmb2-element .ui-icon-star{background-position:-224px -112px}.cmb2-element .ui-icon-link{background-position:-240px -112px}.cmb2-element .ui-icon-cancel{background-position:0 -128px}.cmb2-element .ui-icon-plus{background-position:-16px -128px}.cmb2-element .ui-icon-plusthick{background-position:-32px -128px}.cmb2-element .ui-icon-minus{background-position:-48px -128px}.cmb2-element .ui-icon-minusthick{background-position:-64px -128px}.cmb2-element .ui-icon-close{background-position:-80px -128px}.cmb2-element .ui-icon-closethick{background-position:-96px -128px}.cmb2-element .ui-icon-key{background-position:-112px -128px}.cmb2-element .ui-icon-lightbulb{background-position:-128px -128px}.cmb2-element .ui-icon-scissors{background-position:-144px -128px}.cmb2-element .ui-icon-clipboard{background-position:-160px -128px}.cmb2-element .ui-icon-copy{background-position:-176px -128px}.cmb2-element .ui-icon-contact{background-position:-192px -128px}.cmb2-element .ui-icon-image{background-position:-208px -128px}.cmb2-element .ui-icon-video{background-position:-224px -128px}.cmb2-element .ui-icon-script{background-position:-240px -128px}.cmb2-element .ui-icon-alert{background-position:0 -144px}.cmb2-element .ui-icon-info{background-position:-16px -144px}.cmb2-element .ui-icon-notice{background-position:-32px -144px}.cmb2-element .ui-icon-help{background-position:-48px -144px}.cmb2-element .ui-icon-check{background-position:-64px -144px}.cmb2-element .ui-icon-bullet{background-position:-80px -144px}.cmb2-element .ui-icon-radio-off{background-position:-96px -144px}.cmb2-element .ui-icon-radio-on{background-position:-112px -144px}.cmb2-element .ui-icon-pin-w{background-position:-128px -144px}.cmb2-element .ui-icon-pin-s{background-position:-144px -144px}.cmb2-element .ui-icon-play{background-position:0 -160px}.cmb2-element .ui-icon-pause{background-position:-16px -160px}.cmb2-element .ui-icon-seek-next{background-position:-32px -160px}.cmb2-element .ui-icon-seek-prev{background-position:-48px -160px}.cmb2-element .ui-icon-seek-end{background-position:-64px -160px}.cmb2-element .ui-icon-seek-first,.cmb2-element .ui-icon-seek-start{background-position:-80px -160px}.cmb2-element .ui-icon-stop{background-position:-96px -160px}.cmb2-element .ui-icon-eject{background-position:-112px -160px}.cmb2-element .ui-icon-volume-off{background-position:-128px -160px}.cmb2-element .ui-icon-volume-on{background-position:-144px -160px}.cmb2-element .ui-icon-power{background-position:0 -176px}.cmb2-element .ui-icon-signal-diag{background-position:-16px -176px}.cmb2-element .ui-icon-signal{background-position:-32px -176px}.cmb2-element .ui-icon-battery-0{background-position:-48px -176px}.cmb2-element .ui-icon-battery-1{background-position:-64px -176px}.cmb2-element .ui-icon-battery-2{background-position:-80px -176px}.cmb2-element .ui-icon-battery-3{background-position:-96px -176px}.cmb2-element .ui-icon-circle-plus{background-position:0 -192px}.cmb2-element .ui-icon-circle-minus{background-position:-16px -192px}.cmb2-element .ui-icon-circle-close{background-position:-32px -192px}.cmb2-element .ui-icon-circle-triangle-e{background-position:-48px -192px}.cmb2-element .ui-icon-circle-triangle-s{background-position:-64px -192px}.cmb2-element .ui-icon-circle-triangle-w{background-position:-80px -192px}.cmb2-element .ui-icon-circle-triangle-n{background-position:-96px -192px}.cmb2-element .ui-icon-circle-arrow-e{background-position:-112px -192px}.cmb2-element .ui-icon-circle-arrow-s{background-position:-128px -192px}.cmb2-element .ui-icon-circle-arrow-w{background-position:-144px -192px}.cmb2-element .ui-icon-circle-arrow-n{background-position:-160px -192px}.cmb2-element .ui-icon-circle-zoomin{background-position:-176px -192px}.cmb2-element .ui-icon-circle-zoomout{background-position:-192px -192px}.cmb2-element .ui-icon-circle-check{background-position:-208px -192px}.cmb2-element .ui-icon-circlesmall-plus{background-position:0 -208px}.cmb2-element .ui-icon-circlesmall-minus{background-position:-16px -208px}.cmb2-element .ui-icon-circlesmall-close{background-position:-32px -208px}.cmb2-element .ui-icon-squaresmall-plus{background-position:-48px -208px}.cmb2-element .ui-icon-squaresmall-minus{background-position:-64px -208px}.cmb2-element .ui-icon-squaresmall-close{background-position:-80px -208px}.cmb2-element .ui-icon-grip-dotted-vertical{background-position:0 -224px}.cmb2-element .ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.cmb2-element .ui-icon-grip-solid-vertical{background-position:-32px -224px}.cmb2-element .ui-icon-grip-solid-horizontal{background-position:-48px -224px}.cmb2-element .ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.cmb2-element .ui-icon-grip-diagonal-se{background-position:-80px -224px}.cmb2-element .ui-corner-all,.cmb2-element .ui-corner-left,.cmb2-element .ui-corner-tl,.cmb2-element .ui-corner-top,.cmb2-element.ui-corner-all{-moz-border-radius-topleft:4px;-webkit-border-top-right-radius:4px;-khtml-border-top-right-radius:4px;border-top-right-radius:4px}.cmb2-element .ui-corner-all,.cmb2-element .ui-corner-right,.cmb2-element .ui-corner-top,.cmb2-element .ui-corner-tr,.cmb2-element.ui-corner-all{-moz-border-radius-topright:4px;-webkit-border-top-left-radius:4px;-khtml-border-top-left-radius:4px;border-top-left-radius:4px}.cmb2-element .ui-corner-all,.cmb2-element .ui-corner-bl,.cmb2-element .ui-corner-bottom,.cmb2-element .ui-corner-left,.cmb2-element.ui-corner-all{-moz-border-radius-bottomleft:4px;-webkit-border-bottom-right-radius:4px;-khtml-border-bottom-right-radius:4px;border-bottom-right-radius:4px}.cmb2-element .ui-corner-all,.cmb2-element .ui-corner-bottom,.cmb2-element .ui-corner-br,.cmb2-element .ui-corner-right,.cmb2-element.ui-corner-all{-moz-border-radius-bottomright:4px;-webkit-border-bottom-left-radius:4px;-khtml-border-bottom-left-radius:4px;border-bottom-left-radius:4px}.cmb2-element .ui-widget-overlay{background:#aaa url(../images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30)}.cmb2-element .ui-widget-shadow{margin:-8px -8px 0 0;padding:8px;background:#aaa url(../images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30);-moz-border-radius:8px;-khtml-border-radius:8px;-webkit-border-radius:8px;border-radius:8px}.cmb2-element .ui-datepicker,.cmb2-element.ui-datepicker{width:17em;display:none;padding:0;border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;background:#f1f1f1}.cmb2-element .ui-datepicker .ui-datepicker-header,.cmb2-element.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-prev{position:absolute;width:1.8em}.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-prev{right:2px}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-next{left:2px}.cmb2-element .ui-datepicker .ui-datepicker-next span,.cmb2-element .ui-datepicker .ui-datepicker-prev span,.cmb2-element.ui-datepicker .ui-datepicker-next span,.cmb2-element.ui-datepicker .ui-datepicker-prev span{display:block;position:absolute;right:50%;margin-right:-8px}.cmb2-element .ui-datepicker .ui-datepicker-title,.cmb2-element.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.cmb2-element .ui-datepicker .ui-datepicker-title select,.cmb2-element.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.cmb2-element .ui-datepicker select.ui-datepicker-month-year,.cmb2-element.ui-datepicker select.ui-datepicker-month-year{width:100%}.cmb2-element .ui-datepicker select.ui-datepicker-month,.cmb2-element .ui-datepicker select.ui-datepicker-year,.cmb2-element.ui-datepicker select.ui-datepicker-month,.cmb2-element.ui-datepicker select.ui-datepicker-year{width:49%}.cmb2-element .ui-datepicker select.ui-datepicker-month,.cmb2-element.ui-datepicker select.ui-datepicker-month{margin-left:1%}.cmb2-element .ui-datepicker select.ui-datepicker-year,.cmb2-element.ui-datepicker select.ui-datepicker-year{margin-right:1%}.cmb2-element .ui-datepicker table,.cmb2-element.ui-datepicker table{width:100%;border-collapse:collapse}.cmb2-element .ui-datepicker th,.cmb2-element.ui-datepicker th{text-align:center}.cmb2-element .ui-datepicker td a,.cmb2-element .ui-datepicker td span,.cmb2-element.ui-datepicker td a,.cmb2-element.ui-datepicker td span{display:block;padding:.2em;text-align:left;text-decoration:none}.cmb2-element .ui-datepicker .ui-datepicker-buttonpane,.cmb2-element.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0;padding:0 .2em}.cmb2-element .ui-datepicker .ui-datepicker-buttonpane button,.cmb2-element.ui-datepicker .ui-datepicker-buttonpane button{float:left;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em;width:auto;overflow:visible}.cmb2-element .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current,.cmb2-element.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:right}.cmb2-element .ui-datepicker *,.cmb2-element.ui-datepicker *{padding:0;font-family:"Open Sans",sans-serif;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.cmb2-element .ui-datepicker table,.cmb2-element.ui-datepicker table{font-size:13px;margin:0}.cmb2-element .ui-datepicker .ui-datepicker-header,.cmb2-element.ui-datepicker .ui-datepicker-header{border:none;background:#222;color:#fff;font-weight:400}.cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover{background:#222;border-color:transparent;cursor:pointer;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.cmb2-element .ui-datepicker thead,.cmb2-element.ui-datepicker thead{background:#222;color:#fff}.cmb2-element .ui-datepicker .ui-datepicker-title,.cmb2-element.ui-datepicker .ui-datepicker-title{margin-top:.4em;margin-bottom:.3em;color:#fff;font-size:14px}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element .ui-datepicker .ui-datepicker-next-hover,.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element .ui-datepicker .ui-datepicker-prev-hover,.cmb2-element.ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-next-hover,.cmb2-element.ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-prev-hover{height:1em;top:.9em;border:none}.cmb2-element .ui-datepicker .ui-datepicker-prev-hover,.cmb2-element.ui-datepicker .ui-datepicker-prev-hover{right:2px}.cmb2-element .ui-datepicker .ui-datepicker-next-hover,.cmb2-element.ui-datepicker .ui-datepicker-next-hover{left:2px}.cmb2-element .ui-datepicker .ui-datepicker-next span,.cmb2-element .ui-datepicker .ui-datepicker-prev span,.cmb2-element.ui-datepicker .ui-datepicker-next span,.cmb2-element.ui-datepicker .ui-datepicker-prev span{background-image:url(data:image/png;base64,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);background-position:-32px 0;margin-top:0;top:0;font-weight:400}.cmb2-element .ui-datepicker .ui-datepicker-prev span,.cmb2-element.ui-datepicker .ui-datepicker-prev span{background-position:-96px 0}.cmb2-element .ui-datepicker th,.cmb2-element.ui-datepicker th{padding:.75em 0;color:#fff;font-weight:400;border:none;border-top:1px solid #333}.cmb2-element .ui-datepicker td,.cmb2-element.ui-datepicker td{background:#f1f1f1;border:none;padding:0}.cmb2-element .ui-datepicker td .ui-state-default,.cmb2-element.ui-datepicker td .ui-state-default{background:0 0;border:none;text-align:center;padding:.5em;margin:0;font-weight:400;color:#333}.cmb2-element .ui-datepicker td .ui-state-active,.cmb2-element .ui-datepicker td .ui-state-hover,.cmb2-element.ui-datepicker td .ui-state-active,.cmb2-element.ui-datepicker td .ui-state-hover{background:#0074a2;color:#fff}.cmb2-element .ui-datepicker td.ui-state-disabled,.cmb2-element .ui-datepicker td.ui-state-disabled .ui-state-default,.cmb2-element.ui-datepicker td.ui-state-disabled,.cmb2-element.ui-datepicker td.ui-state-disabled .ui-state-default{opacity:1;color:#999}.cmb2-element .ui-datepicker .ui-datepicker-close,.cmb2-element .ui-datepicker .ui-datepicker-current,.cmb2-element.ui-datepicker .ui-datepicker-close,.cmb2-element.ui-datepicker .ui-datepicker-current{font-size:14px;font-weight:400;background-image:none;border:none}.cmb2-element .ui-datepicker .ui-datepicker-close:active,.cmb2-element .ui-datepicker .ui-datepicker-close:hover,.cmb2-element .ui-datepicker .ui-datepicker-current:active,.cmb2-element .ui-datepicker .ui-datepicker-current:hover,.cmb2-element.ui-datepicker .ui-datepicker-close:active,.cmb2-element.ui-datepicker .ui-datepicker-close:hover,.cmb2-element.ui-datepicker .ui-datepicker-current:active,.cmb2-element.ui-datepicker .ui-datepicker-current:hover{background:#096484;color:#fff}.cmb2-element .ui-datepicker .ui-datepicker-buttonpane,.cmb2-element.ui-datepicker .ui-datepicker-buttonpane{border:none}.cmb2-element .ui-datepicker.ui-datepicker-multi,.cmb2-element.ui-datepicker.ui-datepicker-multi{width:auto}.cmb2-element .ui-datepicker-multi .ui-datepicker-group{float:right}.cmb2-element .ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.cmb2-element .ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.cmb2-element .ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.cmb2-element .ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.cmb2-element .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.cmb2-element .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0}.cmb2-element .ui-datepicker-multi .ui-datepicker-buttonpane{clear:right}.cmb2-element .ui-datepicker-row-break{clear:both;width:100%;font-size:0}.cmb2-element .ui-datepicker-rtl{direction:ltr}.cmb2-element .ui-datepicker-rtl .ui-datepicker-prev{left:2px;right:auto}.cmb2-element .ui-datepicker-rtl .ui-datepicker-next{right:2px;left:auto}.cmb2-element .ui-datepicker-rtl .ui-datepicker-prev:hover{left:1px;right:auto}.cmb2-element .ui-datepicker-rtl .ui-datepicker-next:hover{right:1px;left:auto}.cmb2-element .ui-datepicker-rtl .ui-datepicker-buttonpane{clear:left}.cmb2-element .ui-datepicker-rtl .ui-datepicker-buttonpane button{float:right}.cmb2-element .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.cmb2-element .ui-datepicker-rtl .ui-datepicker-group{float:left}.cmb2-element .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.cmb2-element .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0;border-right-width:1px}.cmb2-element .ui-datepicker-cover{display:none;display:block;position:absolute;z-index:-1;filter:mask();top:-4px;right:-4px;width:200px;height:200px}.cmb2-element .ui-timepicker-div{font-size:14px}.cmb2-element .ui-timepicker-div .ui-widget-header{margin-bottom:8px;background:#222;border-color:#222}.cmb2-element .ui-timepicker-div dl{text-align:right}.cmb2-element .ui-timepicker-div dl dt{float:right;clear:right;padding:0 5px 0 0}.cmb2-element .ui-timepicker-div dl dd{margin:0 40% 10px 10px}.cmb2-element .ui-tpicker-grid-label{background:0 0;border:none;margin:0;padding:0}.cmb2-element .ui-timepicker-rtl{direction:ltr}.cmb2-element .ui-timepicker-rtl dl{text-align:left;padding:0 0 0 5px}.cmb2-element .ui-timepicker-rtl dl dt{float:left;clear:left}.cmb2-element .ui-timepicker-rtl dl dd{margin:0 10px 10px 40%}.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-blue .cmb2-element .ui-datepicker thead,.admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-blue .cmb2-element.ui-datepicker thead{background:#4796b3}.admin-color-blue .cmb2-element .ui-datepicker th,.admin-color-blue .cmb2-element.ui-datepicker th{border-color:#52accc}.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-blue .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-blue .cmb2-element.ui-datepicker td .ui-state-hover{background:#096484}.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-current:hover,.admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-close:active,.admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-close:hover,.admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-current:active,.admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-current:hover{background:#096484;color:#fff}.admin-color-blue .cmb2-element .ui-timepicker-div .ui-widget-header{background:#4796b3;border-color:#4796b3}.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-coffee .cmb2-element .ui-datepicker thead,.admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-coffee .cmb2-element.ui-datepicker thead{background:#46403c}.admin-color-coffee .cmb2-element .ui-datepicker th,.admin-color-coffee .cmb2-element.ui-datepicker th{border-color:#59524c}.admin-color-coffee .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-coffee .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-coffee .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-coffee .cmb2-element.ui-datepicker td .ui-state-hover{background:#c7a589}.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-current:hover,.admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-close:active,.admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-close:hover,.admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-current:active,.admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-current:hover{background:#c7a589;color:#fff}.admin-color-coffee .cmb2-element .ui-timepicker-div .ui-widget-header{background:#46403c}.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-ectoplasm .cmb2-element .ui-datepicker thead,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-ectoplasm .cmb2-element.ui-datepicker thead{background:#413256}.admin-color-ectoplasm .cmb2-element .ui-datepicker th,.admin-color-ectoplasm .cmb2-element.ui-datepicker th{border-color:#523f6d}.admin-color-ectoplasm .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-ectoplasm .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-ectoplasm .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-ectoplasm .cmb2-element.ui-datepicker td .ui-state-hover{background:#a3b745}.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-current:hover,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-close:active,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-close:hover,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-current:active,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-current:hover{background:#a3b745;color:#fff}.admin-color-ectoplasm .cmb2-element .ui-timepicker-div .ui-widget-header{background:#413256;border-color:#413256}.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-midnight .cmb2-element .ui-datepicker thead,.admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-midnight .cmb2-element.ui-datepicker thead{background:#26292c}.admin-color-midnight .cmb2-element .ui-datepicker th,.admin-color-midnight .cmb2-element.ui-datepicker th{border-color:#363b3f}.admin-color-midnight .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-midnight .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-midnight .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-midnight .cmb2-element.ui-datepicker td .ui-state-hover{background:#e14d43}.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-current:hover,.admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-close:active,.admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-close:hover,.admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-current:active,.admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-current:hover{background:#e14d43;color:#fff}.admin-color-midnight .cmb2-element .ui-timepicker-div .ui-widget-header{background:#26292c}.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-ocean .cmb2-element .ui-datepicker thead,.admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-ocean .cmb2-element.ui-datepicker thead{background:#627c83}.admin-color-ocean .cmb2-element .ui-datepicker th,.admin-color-ocean .cmb2-element.ui-datepicker th{border-color:#738e96}.admin-color-ocean .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-ocean .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-ocean .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-ocean .cmb2-element.ui-datepicker td .ui-state-hover{background:#9ebaa0}.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-current:hover,.admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-close:active,.admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-close:hover,.admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-current:active,.admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-current:hover{background:#9ebaa0;color:#fff}.admin-color-ocean .cmb2-element .ui-timepicker-div .ui-widget-header{background:#627c83;border-color:#627c83}.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-sunrise .cmb2-element .ui-datepicker thead,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-sunrise .cmb2-element.ui-datepicker thead{background:#be3631}.admin-color-sunrise .cmb2-element .ui-datepicker th,.admin-color-sunrise .cmb2-element.ui-datepicker th{border-color:#cf4944}.admin-color-sunrise .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-sunrise .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-sunrise .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-sunrise .cmb2-element.ui-datepicker td .ui-state-hover{background:#dd823b}.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-current:hover,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-close:active,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-close:hover,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-current:active,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-current:hover{background:#dd823b;color:#fff}.admin-color-sunrise .cmb2-element .ui-timepicker-div .ui-widget-header{background:#be3631;border-color:#be3631}.admin-color-light .cmb2-element .ui-timepicker-div .ui-widget-header{background:#e5e5e5;border-color:#e5e5e5;color:#555}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-light .cmb2-element .ui-datepicker thead,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-light .cmb2-element.ui-datepicker thead{background:#e5e5e5}.admin-color-light .cmb2-element .ui-datepicker td,.admin-color-light .cmb2-element.ui-datepicker td{background:#fff}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-next span,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-prev span,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-next span,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-prev span{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAYAAADvl7rLAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMUIxRjI2RjhCODYxMUUzQTEyNERCMDU1QzdBQ0EyMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxMUIxRjI3MDhCODYxMUUzQTEyNERCMDU1QzdBQ0EyMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjExQjFGMjZEOEI4NjExRTNBMTI0REIwNTVDN0FDQTIwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjExQjFGMjZFOEI4NjExRTNBMTI0REIwNTVDN0FDQTIwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+kKfR4AAAHcRJREFUeNrsXWuM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)}.admin-color-light .cmb2-element .ui-datepicker th,.admin-color-light .cmb2-element.ui-datepicker th{border-color:#fff}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-title,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-default,.admin-color-light .cmb2-element .ui-datepicker th,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-title,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-default,.admin-color-light .cmb2-element.ui-datepicker th{color:#555}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-close:active,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-close:hover,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-current:active,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-current:hover,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-close:active,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-close:hover,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-current:active,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-current:hover,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-hover{color:#fff;background:#888}.admin-color-light .cmb2-element .ui-datepicker td.ui-state-disabled,.admin-color-light .cmb2-element .ui-datepicker td.ui-state-disabled .ui-state-default,.admin-color-light .cmb2-element.ui-datepicker td.ui-state-disabled,.admin-color-light .cmb2-element.ui-datepicker td.ui-state-disabled .ui-state-default{color:#ccc}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-current,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-current{background:#f1f1f1}@media (max-width:450px){.cmb-th{font-size:1.2em;padding-bottom:1em;text-align:right}.cmb-th label{display:block;margin-top:0;padding-bottom:5px}.cmb-th label:after{border-bottom:1px solid #e9e9e9;content:'';clear:both;display:block;padding-top:.4em}.cmb-td,.cmb-th,.cmb-th+.cmb-td{display:block;float:none;width:100%}.cmb-repeat-group-wrap .cmb-repeatable-group:not(:last-of-type),.cmb-repeat-group-wrap .cmb-row:not(:last-of-type),.postbox-container .cmb-repeatable-group:not(:last-of-type),.postbox-container .cmb-row:not(:last-of-type){border-bottom:0}}
vendor/CMB2/css/cmb2.css ADDED
@@ -0,0 +1,3635 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * CMB2 Styling
3
+ */
4
+
5
+ /*--------------------------------------------------------------
6
+ Main Wrap
7
+ --------------------------------------------------------------*/
8
+
9
+ /* line 5, sass/partials/_main_wrap.scss */
10
+
11
+ .cmb2-wrap {
12
+ margin: 0;
13
+ }
14
+
15
+ /* line 8, sass/partials/_main_wrap.scss */
16
+
17
+ .cmb2-wrap input,
18
+ .cmb2-wrap textarea {
19
+ font-size: 14px;
20
+ max-width: 100%;
21
+ padding: 5px;
22
+ }
23
+
24
+ /* line 18, sass/partials/_main_wrap.scss */
25
+
26
+ .cmb2-wrap input[type=text].cmb2-oembed {
27
+ width: 100%;
28
+ }
29
+
30
+ /* line 23, sass/partials/_main_wrap.scss */
31
+
32
+ .cmb2-wrap textarea {
33
+ width: 500px;
34
+ }
35
+
36
+ /* line 26, sass/partials/_main_wrap.scss */
37
+
38
+ .cmb2-wrap textarea.cmb2-textarea-code {
39
+ font-family: "Courier 10 Pitch", Courier, monospace;
40
+ line-height: 16px;
41
+ }
42
+
43
+ /* line 34, sass/partials/_main_wrap.scss */
44
+
45
+ .cmb2-wrap input.cmb2-text-small,
46
+ .cmb2-wrap input.cmb2-timepicker {
47
+ width: 100px;
48
+ }
49
+
50
+ /* line 40, sass/partials/_main_wrap.scss */
51
+
52
+ .cmb2-wrap input.cmb2-text-money {
53
+ width: 90px;
54
+ }
55
+
56
+ /* line 45, sass/partials/_main_wrap.scss */
57
+
58
+ .cmb2-wrap input.cmb2-text-medium {
59
+ width: 230px;
60
+ }
61
+
62
+ /* line 50, sass/partials/_main_wrap.scss */
63
+
64
+ .cmb2-wrap input.cmb2-upload-file {
65
+ width: 65%;
66
+ }
67
+
68
+ /* line 54, sass/partials/_main_wrap.scss */
69
+
70
+ .cmb2-wrap input.ed_button {
71
+ padding: 2px 4px;
72
+ }
73
+
74
+ /* line 59, sass/partials/_main_wrap.scss */
75
+
76
+ .cmb2-wrap input:not([type="hidden"]) + input,
77
+ .cmb2-wrap input:not([type="hidden"]) + .button,
78
+ .cmb2-wrap input:not([type="hidden"]) + select {
79
+ margin-left: 20px;
80
+ }
81
+
82
+ /* line 67, sass/partials/_main_wrap.scss */
83
+
84
+ .cmb2-wrap ul {
85
+ margin: 0;
86
+ }
87
+
88
+ /* line 71, sass/partials/_main_wrap.scss */
89
+
90
+ .cmb2-wrap li {
91
+ font-size: 14px;
92
+ line-height: 16px;
93
+ margin: 1px 0 5px 0;
94
+ }
95
+
96
+ /* line 82, sass/partials/_main_wrap.scss */
97
+
98
+ .cmb2-wrap select {
99
+ font-size: 14px;
100
+ margin-top: 3px;
101
+ }
102
+
103
+ /* line 87, sass/partials/_main_wrap.scss */
104
+
105
+ .cmb2-wrap input:focus,
106
+ .cmb2-wrap textarea:focus {
107
+ background: #fffff8;
108
+ }
109
+
110
+ /* line 92, sass/partials/_main_wrap.scss */
111
+
112
+ .cmb2-wrap input[type="radio"] {
113
+ margin: 0 5px 0 0;
114
+ padding: 0;
115
+ }
116
+
117
+ /* line 97, sass/partials/_main_wrap.scss */
118
+
119
+ .cmb2-wrap input[type="checkbox"] {
120
+ margin: 0 5px 0 0;
121
+ padding: 0;
122
+ }
123
+
124
+ /* line 102, sass/partials/_main_wrap.scss */
125
+
126
+ .cmb2-wrap button,
127
+ .cmb2-wrap .button {
128
+ white-space: nowrap;
129
+ }
130
+
131
+ /* line 107, sass/partials/_main_wrap.scss */
132
+
133
+ .cmb2-wrap .mceLayout {
134
+ border: 1px solid #e9e9e9 !important;
135
+ }
136
+
137
+ /* line 111, sass/partials/_main_wrap.scss */
138
+
139
+ .cmb2-wrap .mceIframeContainer {
140
+ background: #fff;
141
+ }
142
+
143
+ /* line 115, sass/partials/_main_wrap.scss */
144
+
145
+ .cmb2-wrap .meta_mce {
146
+ width: 97%;
147
+ }
148
+
149
+ /* line 118, sass/partials/_main_wrap.scss */
150
+
151
+ .cmb2-wrap .meta_mce textarea {
152
+ width: 100%;
153
+ }
154
+
155
+ /* line 126, sass/partials/_main_wrap.scss */
156
+
157
+ .cmb2-wrap .wp-color-result,
158
+ .cmb2-wrap .wp-picker-input-wrap {
159
+ vertical-align: middle;
160
+ }
161
+
162
+ /* line 131, sass/partials/_main_wrap.scss */
163
+
164
+ .cmb2-wrap .wp-color-result,
165
+ .cmb2-wrap .wp-picker-container {
166
+ margin: 0 10px 0 0;
167
+ }
168
+
169
+ /* line 136, sass/partials/_main_wrap.scss */
170
+
171
+ .cmb2-wrap .cmb-row {
172
+ margin: 0;
173
+ }
174
+
175
+ /* line 139, sass/partials/_main_wrap.scss */
176
+
177
+ .cmb2-wrap .cmb-row:after {
178
+ content: '';
179
+ clear: both;
180
+ display: block;
181
+ width: 100%;
182
+ }
183
+
184
+ /* line 146, sass/partials/_main_wrap.scss */
185
+
186
+ .cmb2-wrap .cmb-row.cmb-repeat-row {
187
+ padding: 1.8em 0 0;
188
+ }
189
+
190
+ /* line 149, sass/partials/_main_wrap.scss */
191
+
192
+ .cmb2-wrap .cmb-row.cmb-repeat-row:first-of-type {
193
+ padding: 0;
194
+ }
195
+
196
+ /* line 154, sass/partials/_main_wrap.scss */
197
+
198
+ .cmb2-wrap .cmb-row.cmb-repeat .cmb2-metabox-description {
199
+ padding-top: 0;
200
+ padding-bottom: 1.8em;
201
+ }
202
+
203
+ /* line 161, sass/partials/_main_wrap.scss */
204
+
205
+ .cmb2-metabox {
206
+ clear: both;
207
+ margin: 0;
208
+ }
209
+
210
+ /* line 167, sass/partials/_main_wrap.scss */
211
+
212
+ .cmb2-metabox > .cmb-row:first-of-type > .cmb-td,
213
+ .cmb2-metabox > .cmb-row:first-of-type > .cmb-th,
214
+ .cmb2-metabox .cmb-field-list > .cmb-row:first-of-type > .cmb-td,
215
+ .cmb2-metabox .cmb-field-list > .cmb-row:first-of-type > .cmb-th {
216
+ border: 0;
217
+ }
218
+
219
+ /* line 174, sass/partials/_main_wrap.scss */
220
+
221
+ .cmb2-metabox > .cmb-row .cmb-repeat-table .cmb-row > .cmb-td {
222
+ padding-right: 20px;
223
+ box-sizing: border-box;
224
+ float: left;
225
+ }
226
+
227
+ /* line 182, sass/partials/_main_wrap.scss */
228
+
229
+ .cmb-add-row {
230
+ margin: 1.8em 0 0;
231
+ }
232
+
233
+ /* line 186, sass/partials/_main_wrap.scss */
234
+
235
+ .cmb-nested .cmb-td,
236
+ .cmb-repeatable-group .cmb-th,
237
+ .cmb-repeatable-group:first-of-type {
238
+ border: 0;
239
+ }
240
+
241
+ /* line 192, sass/partials/_main_wrap.scss */
242
+
243
+ .cmb-row:last-of-type,
244
+ .cmb2-wrap .cmb-row:last-of-type,
245
+ .cmb-repeatable-group:last-of-type {
246
+ border-bottom: 0;
247
+ }
248
+
249
+ /* line 198, sass/partials/_main_wrap.scss */
250
+
251
+ .cmb-repeatable-grouping {
252
+ border: 1px solid #e9e9e9;
253
+ padding: 0 1em;
254
+ max-width: 1000px;
255
+ }
256
+
257
+ /* line 202, sass/partials/_main_wrap.scss */
258
+
259
+ .cmb-repeatable-grouping.cmb-row {
260
+ margin: 0 0 0.8em;
261
+ }
262
+
263
+ /* line 209, sass/partials/_main_wrap.scss */
264
+
265
+ .cmb-th {
266
+ color: #222222;
267
+ float: left;
268
+ font-weight: 600;
269
+ line-height: 1.3;
270
+ padding: 20px 10px 20px 0;
271
+ vertical-align: top;
272
+ width: 200px;
273
+ }
274
+
275
+ /* line 223, sass/partials/_main_wrap.scss */
276
+
277
+ .cmb-td {
278
+ line-height: 1.3;
279
+ max-width: 100%;
280
+ padding: 15px 10px;
281
+ vertical-align: middle;
282
+ }
283
+
284
+ /* line 232, sass/partials/_main_wrap.scss */
285
+
286
+ .cmb-type-title .cmb-td {
287
+ padding: 0;
288
+ }
289
+
290
+ /* line 237, sass/partials/_main_wrap.scss */
291
+
292
+ .cmb-th label {
293
+ display: block;
294
+ padding: 5px 0;
295
+ }
296
+
297
+ /* line 242, sass/partials/_main_wrap.scss */
298
+
299
+ .cmb-th + .cmb-td {
300
+ float: left;
301
+ }
302
+
303
+ /* line 246, sass/partials/_main_wrap.scss */
304
+
305
+ .cmb-td .cmb-td {
306
+ padding-bottom: 1em;
307
+ }
308
+
309
+ /* line 250, sass/partials/_main_wrap.scss */
310
+
311
+ .cmb-remove-row {
312
+ text-align: right;
313
+ }
314
+
315
+ /* line 254, sass/partials/_main_wrap.scss */
316
+
317
+ .empty-row.hidden {
318
+ display: none;
319
+ }
320
+
321
+ /* line 260, sass/partials/_main_wrap.scss */
322
+
323
+ .cmb-repeatable-group .cmb-th {
324
+ padding: 5px;
325
+ }
326
+
327
+ /* line 264, sass/partials/_main_wrap.scss */
328
+
329
+ .cmb-repeatable-group .cmb-group-title {
330
+ background-color: #e9e9e9;
331
+ padding: 8px 12px 8px 2.2em;
332
+ margin: 0 -1em;
333
+ min-height: 1.5em;
334
+ font-size: 14px;
335
+ line-height: 1.4;
336
+ }
337
+
338
+ /* line 272, sass/partials/_main_wrap.scss */
339
+
340
+ .cmb-repeatable-group .cmb-group-title h4 {
341
+ border: 0;
342
+ margin: 0;
343
+ font-size: 1.2em;
344
+ font-weight: 500;
345
+ padding: 0.5em 0.75em;
346
+ }
347
+
348
+ /* line 280, sass/partials/_main_wrap.scss */
349
+
350
+ .cmb-repeatable-group .cmb-group-title .cmb-th {
351
+ display: block;
352
+ width: 100%;
353
+ }
354
+
355
+ /* line 286, sass/partials/_main_wrap.scss */
356
+
357
+ .cmb-repeatable-group .cmb-group-description .cmb-th {
358
+ font-size: 1.2em;
359
+ display: block;
360
+ float: none;
361
+ padding-bottom: 1em;
362
+ text-align: left;
363
+ width: 100%;
364
+ }
365
+
366
+ /* line 27, sass/partials/_mixins.scss */
367
+
368
+ .cmb-repeatable-group .cmb-group-description .cmb-th label {
369
+ display: block;
370
+ margin-top: 0em;
371
+ padding-bottom: 5px;
372
+ }
373
+
374
+ /* line 32, sass/partials/_mixins.scss */
375
+
376
+ .cmb-repeatable-group .cmb-group-description .cmb-th label:after {
377
+ border-bottom: 1px solid #e9e9e9;
378
+ content: '';
379
+ clear: both;
380
+ display: block;
381
+ padding-top: .4em;
382
+ }
383
+
384
+ /* line 290, sass/partials/_main_wrap.scss */
385
+
386
+ .cmb-repeatable-group .cmb-shift-rows {
387
+ font-size: 1em;
388
+ margin-right: 1em;
389
+ text-decoration: none;
390
+ }
391
+
392
+ /* line 295, sass/partials/_main_wrap.scss */
393
+
394
+ .cmb-repeatable-group .cmb-shift-rows .dashicons {
395
+ font-size: 1.5em;
396
+ height: 1.5em;
397
+ line-height: 1.2em;
398
+ width: 1em;
399
+ }
400
+
401
+ /* line 301, sass/partials/_main_wrap.scss */
402
+
403
+ .cmb-repeatable-group .cmb-shift-rows .dashicons.dashicons-arrow-down-alt2 {
404
+ line-height: 1.3em;
405
+ }
406
+
407
+ /* line 308, sass/partials/_main_wrap.scss */
408
+
409
+ .cmb-repeatable-group .cmb2-upload-button {
410
+ float: right;
411
+ }
412
+
413
+ /* line 314, sass/partials/_main_wrap.scss */
414
+
415
+ p.cmb2-metabox-description {
416
+ color: #aaaaaa;
417
+ font-style: italic;
418
+ margin: 0;
419
+ padding-top: .5em;
420
+ }
421
+
422
+ /* line 321, sass/partials/_main_wrap.scss */
423
+
424
+ span.cmb2-metabox-description {
425
+ color: #aaaaaa;
426
+ font-style: italic;
427
+ }
428
+
429
+ /* line 326, sass/partials/_main_wrap.scss */
430
+
431
+ .cmb2-metabox-title {
432
+ margin: 0 0 5px 0;
433
+ padding: 5px 0 0 0;
434
+ font-size: 14px;
435
+ }
436
+
437
+ /* line 332, sass/partials/_main_wrap.scss */
438
+
439
+ .cmb-inline ul {
440
+ padding: 4px 0 0 0;
441
+ }
442
+
443
+ /* line 336, sass/partials/_main_wrap.scss */
444
+
445
+ .cmb-inline li {
446
+ display: inline-block;
447
+ padding-right: 18px;
448
+ }
449
+
450
+ /* line 341, sass/partials/_main_wrap.scss */
451
+
452
+ .cmb-type-textarea-code pre {
453
+ margin: 0;
454
+ }
455
+
456
+ /* line 347, sass/partials/_main_wrap.scss */
457
+
458
+ .cmb2-media-status .img-status {
459
+ clear: none;
460
+ display: inline-block;
461
+ float: left;
462
+ margin-right: 10px;
463
+ width: auto;
464
+ }
465
+
466
+ /* line 354, sass/partials/_main_wrap.scss */
467
+
468
+ .cmb2-media-status .img-status img {
469
+ max-width: 350px;
470
+ }
471
+
472
+ /* line 359, sass/partials/_main_wrap.scss */
473
+
474
+ .cmb2-media-status .img-status img,
475
+ .cmb2-media-status .embed-status {
476
+ background: #ffffff;
477
+ border: 1px solid #e9e9e9;
478
+ border-radius: 2px;
479
+ -moz-border-radius: 2px;
480
+ margin: 15px 0 0 0;
481
+ padding: 5px;
482
+ }
483
+
484
+ /* line 369, sass/partials/_main_wrap.scss */
485
+
486
+ .cmb2-media-status .embed-status {
487
+ float: left;
488
+ max-width: 800px;
489
+ }
490
+
491
+ /* line 374, sass/partials/_main_wrap.scss */
492
+
493
+ .cmb2-media-status .img-status,
494
+ .cmb2-media-status .embed-status {
495
+ position: relative;
496
+ }
497
+
498
+ /* line 377, sass/partials/_main_wrap.scss */
499
+
500
+ .cmb2-media-status .img-status .cmb2-remove-file-button,
501
+ .cmb2-media-status .embed-status .cmb2-remove-file-button {
502
+ background: url(../images/ico-delete.png);
503
+ height: 16px;
504
+ left: -5px;
505
+ position: absolute;
506
+ text-indent: -9999px;
507
+ top: -5px;
508
+ width: 16px;
509
+ }
510
+
511
+ /* line 391, sass/partials/_main_wrap.scss */
512
+
513
+ .cmb2-media-status .img-status .cmb2-remove-file-button {
514
+ top: 10px;
515
+ }
516
+
517
+ /* line 396, sass/partials/_main_wrap.scss */
518
+
519
+ .cmb2-media-status .img-status img,
520
+ .cmb2-media-status .file-status > span {
521
+ cursor: pointer;
522
+ }
523
+
524
+ /* line 402, sass/partials/_main_wrap.scss */
525
+
526
+ .cmb-type-file-list .cmb2-media-status .img-status {
527
+ clear: none;
528
+ float: left;
529
+ margin-right: 10px;
530
+ width: auto;
531
+ }
532
+
533
+ /* line 409, sass/partials/_main_wrap.scss */
534
+
535
+ .cmb-attach-list li {
536
+ clear: both;
537
+ display: inline-block;
538
+ margin-bottom: 25px;
539
+ width: 100%;
540
+ }
541
+
542
+ /* line 415, sass/partials/_main_wrap.scss */
543
+
544
+ .cmb-attach-list li img {
545
+ cursor: move;
546
+ float: left;
547
+ margin-right: 10px;
548
+ }
549
+
550
+ /* line 422, sass/partials/_main_wrap.scss */
551
+
552
+ .cmb2-remove-wrapper {
553
+ margin: 0;
554
+ }
555
+
556
+ /* line 426, sass/partials/_main_wrap.scss */
557
+
558
+ .child-cmb2 .cmb-th {
559
+ text-align: left;
560
+ }
561
+
562
+ /*--------------------------------------------------------------
563
+ Post Metaboxes
564
+ --------------------------------------------------------------*/
565
+
566
+ /* line 4, sass/partials/_post_metaboxes.scss */
567
+
568
+ #poststuff .cmb-group-title {
569
+ margin-left: -1em;
570
+ margin-right: -1em;
571
+ min-height: 1.5em;
572
+ }
573
+
574
+ /* line 10, sass/partials/_post_metaboxes.scss */
575
+
576
+ #poststuff .repeatable .cmb-group-title {
577
+ padding-left: 2.2em;
578
+ }
579
+
580
+ /* line 16, sass/partials/_post_metaboxes.scss */
581
+
582
+ .postbox-container .cmb2-wrap,
583
+ .cmb-repeat-group-wrap .cmb2-wrap {
584
+ margin: 0;
585
+ }
586
+
587
+ /* line 19, sass/partials/_post_metaboxes.scss */
588
+
589
+ .postbox-container .cmb2-wrap > .cmb-field-list > .cmb-row,
590
+ .cmb-repeat-group-wrap .cmb2-wrap > .cmb-field-list > .cmb-row {
591
+ padding: 1.8em 0;
592
+ }
593
+
594
+ /* line 25, sass/partials/_post_metaboxes.scss */
595
+
596
+ .postbox-container .cmb2-wrap input[type=text].cmb2-oembed,
597
+ .cmb-repeat-group-wrap .cmb2-wrap input[type=text].cmb2-oembed {
598
+ width: 100%;
599
+ }
600
+
601
+ /* line 31, sass/partials/_post_metaboxes.scss */
602
+
603
+ .postbox-container .cmb-row,
604
+ .cmb-repeat-group-wrap .cmb-row {
605
+ padding: 0 0 1.8em;
606
+ margin: 0 0 0.8em;
607
+ }
608
+
609
+ /* line 35, sass/partials/_post_metaboxes.scss */
610
+
611
+ .postbox-container .cmb-row .cmbhandle,
612
+ .cmb-repeat-group-wrap .cmb-row .cmbhandle {
613
+ right: -1em;
614
+ position: relative;
615
+ }
616
+
617
+ /* line 41, sass/partials/_post_metaboxes.scss */
618
+
619
+ .postbox-container .cmb-repeatable-grouping,
620
+ .cmb-repeat-group-wrap .cmb-repeatable-grouping {
621
+ padding: 0 1em;
622
+ max-width: 100%;
623
+ min-width: 1px !important;
624
+ }
625
+
626
+ /* line 47, sass/partials/_post_metaboxes.scss */
627
+
628
+ .postbox-container .cmb-repeatable-group > .cmb-row,
629
+ .cmb-repeat-group-wrap .cmb-repeatable-group > .cmb-row {
630
+ padding-bottom: 0;
631
+ }
632
+
633
+ /* line 51, sass/partials/_post_metaboxes.scss */
634
+
635
+ .postbox-container .cmb-th,
636
+ .cmb-repeat-group-wrap .cmb-th {
637
+ width: 18%;
638
+ padding: 0 2% 0 0;
639
+ }
640
+
641
+ /* line 57, sass/partials/_post_metaboxes.scss */
642
+
643
+ .postbox-container .cmb-td,
644
+ .cmb-repeat-group-wrap .cmb-td {
645
+ margin-bottom: 0;
646
+ padding: 0;
647
+ line-height: 1.3;
648
+ }
649
+
650
+ /* line 63, sass/partials/_post_metaboxes.scss */
651
+
652
+ .postbox-container .cmb-repeat-row .cmb-td,
653
+ .cmb-repeat-group-wrap .cmb-repeat-row .cmb-td {
654
+ padding-bottom: 1.8em;
655
+ }
656
+
657
+ /* line 67, sass/partials/_post_metaboxes.scss */
658
+
659
+ .postbox-container .cmb-th + .cmb-td,
660
+ .cmb-repeat-group-wrap .cmb-th + .cmb-td {
661
+ width: 80%;
662
+ float: right;
663
+ }
664
+
665
+ /* line 72, sass/partials/_post_metaboxes.scss */
666
+
667
+ .postbox-container .cmb-row:not(:last-of-type),
668
+ .postbox-container .cmb-repeatable-group:not(:last-of-type),
669
+ .cmb-repeat-group-wrap .cmb-row:not(:last-of-type),
670
+ .cmb-repeat-group-wrap .cmb-repeatable-group:not(:last-of-type) {
671
+ border-bottom: 1px solid #e9e9e9;
672
+ }
673
+
674
+ /* line 81, sass/partials/_post_metaboxes.scss */
675
+
676
+ .postbox-container .cmb-repeat-group-field,
677
+ .postbox-container .cmb-remove-field-row,
678
+ .cmb-repeat-group-wrap .cmb-repeat-group-field,
679
+ .cmb-repeat-group-wrap .cmb-remove-field-row {
680
+ padding-top: 1.8em;
681
+ }
682
+
683
+ /* line 88, sass/partials/_post_metaboxes.scss */
684
+
685
+ .postbox-container .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody,
686
+ .postbox-container .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody,
687
+ .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody,
688
+ .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody {
689
+ display: table;
690
+ width: 100%;
691
+ }
692
+
693
+ /* line 92, sass/partials/_post_metaboxes.scss */
694
+
695
+ .postbox-container .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,
696
+ .postbox-container .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,
697
+ .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,
698
+ .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text {
699
+ width: 100%;
700
+ }
701
+
702
+ /* line 96, sass/partials/_post_metaboxes.scss */
703
+
704
+ .postbox-container .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),
705
+ .postbox-container .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),
706
+ .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),
707
+ .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row) {
708
+ display: table-row;
709
+ }
710
+
711
+ /* line 100, sass/partials/_post_metaboxes.scss */
712
+
713
+ .postbox-container .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,
714
+ .postbox-container .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,
715
+ .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,
716
+ .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td {
717
+ display: table-cell;
718
+ float: none;
719
+ width: 100%;
720
+ }
721
+
722
+ /* line 106, sass/partials/_post_metaboxes.scss */
723
+
724
+ .postbox-container .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,
725
+ .postbox-container .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,
726
+ .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,
727
+ .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td {
728
+ padding-top: 1.8em;
729
+ }
730
+
731
+ /* line 110, sass/partials/_post_metaboxes.scss */
732
+
733
+ .postbox-container .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,
734
+ .postbox-container .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,
735
+ .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,
736
+ .cmb-repeat-group-wrap .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row {
737
+ padding-right: 0;
738
+ }
739
+
740
+ /*--------------------------------------------------------------
741
+ Misc.
742
+ --------------------------------------------------------------*/
743
+
744
+ /* line 5, sass/partials/_misc.scss */
745
+
746
+ #poststuff .cmb-repeatable-group h2 {
747
+ margin: 0;
748
+ }
749
+
750
+ /* line 12, sass/partials/_misc.scss */
751
+
752
+ .edit-tags-php .cmb2-metabox-title,
753
+ .profile-php .cmb2-metabox-title,
754
+ .user-edit-php .cmb2-metabox-title {
755
+ font-size: 1.4em;
756
+ }
757
+
758
+ /* line 18, sass/partials/_misc.scss */
759
+
760
+ .cmb2-options-page .cmb2-metabox-title {
761
+ font-size: 1.3em;
762
+ margin: 1em 0;
763
+ }
764
+
765
+ /* line 21, sass/partials/_misc.scss */
766
+
767
+ .cmb2-options-page .cmb2-metabox-title + p.cmb2-metabox-description {
768
+ margin-top: -1.6em;
769
+ margin-bottom: .8em;
770
+ }
771
+
772
+ /* line 27, sass/partials/_misc.scss */
773
+
774
+ .postbox .cmb-spinner {
775
+ float: left;
776
+ }
777
+
778
+ /*--------------------------------------------------------------
779
+ Sidebar Placement Adjustments
780
+ --------------------------------------------------------------*/
781
+
782
+ /* line 10, sass/partials/_sidebar_placements.scss */
783
+
784
+ .inner-sidebar .cmb2-wrap > .cmb-field-list > .cmb-row,
785
+ #side-sortables .cmb2-wrap > .cmb-field-list > .cmb-row {
786
+ padding: 1.4em 0;
787
+ }
788
+
789
+ /* line 16, sass/partials/_sidebar_placements.scss */
790
+
791
+ .inner-sidebar .cmb2-wrap input[type=text]:not(.wp-color-picker),
792
+ #side-sortables .cmb2-wrap input[type=text]:not(.wp-color-picker) {
793
+ width: 100%;
794
+ }
795
+
796
+ /* line 20, sass/partials/_sidebar_placements.scss */
797
+
798
+ .inner-sidebar .cmb2-wrap input + input:not(.wp-picker-clear),
799
+ .inner-sidebar .cmb2-wrap input + select,
800
+ #side-sortables .cmb2-wrap input + input:not(.wp-picker-clear),
801
+ #side-sortables .cmb2-wrap input + select {
802
+ margin-left: 0;
803
+ margin-top: 1em;
804
+ display: block;
805
+ }
806
+
807
+ /* line 26, sass/partials/_sidebar_placements.scss */
808
+
809
+ .inner-sidebar .cmb2-wrap input.cmb2-text-money,
810
+ #side-sortables .cmb2-wrap input.cmb2-text-money {
811
+ max-width: 70%;
812
+ }
813
+
814
+ /* line 28, sass/partials/_sidebar_placements.scss */
815
+
816
+ .inner-sidebar .cmb2-wrap input.cmb2-text-money + .cmb2-metabox-description,
817
+ #side-sortables .cmb2-wrap input.cmb2-text-money + .cmb2-metabox-description {
818
+ display: block;
819
+ }
820
+
821
+ /* line 34, sass/partials/_sidebar_placements.scss */
822
+
823
+ .inner-sidebar .cmb2-wrap label,
824
+ #side-sortables .cmb2-wrap label {
825
+ display: block;
826
+ font-weight: 700;
827
+ padding: 0 0 5px;
828
+ }
829
+
830
+ /* line 42, sass/partials/_sidebar_placements.scss */
831
+
832
+ .inner-sidebar textarea,
833
+ #side-sortables textarea {
834
+ max-width: 99%;
835
+ }
836
+
837
+ /* line 46, sass/partials/_sidebar_placements.scss */
838
+
839
+ .inner-sidebar .cmb-repeatable-group,
840
+ #side-sortables .cmb-repeatable-group {
841
+ border-bottom: 1px solid #e9e9e9;
842
+ }
843
+
844
+ /* line 50, sass/partials/_sidebar_placements.scss */
845
+
846
+ .inner-sidebar .cmb-repeat-group-wrap > .cmb-td > .cmb-repeatable-group,
847
+ #side-sortables .cmb-repeat-group-wrap > .cmb-td > .cmb-repeatable-group {
848
+ border-bottom: 0;
849
+ margin-bottom: -1.4em;
850
+ }
851
+
852
+ /* line 55, sass/partials/_sidebar_placements.scss */
853
+
854
+ .inner-sidebar .cmb-th,
855
+ .inner-sidebar .cmb-td,
856
+ .inner-sidebar .cmb-th + .cmb-td,
857
+ #side-sortables .cmb-th,
858
+ #side-sortables .cmb-td,
859
+ #side-sortables .cmb-th + .cmb-td {
860
+ width: 100%;
861
+ display: block;
862
+ float: none;
863
+ }
864
+
865
+ /* line 63, sass/partials/_sidebar_placements.scss */
866
+
867
+ .inner-sidebar .closed .inside,
868
+ #side-sortables .closed .inside {
869
+ display: none;
870
+ }
871
+
872
+ /* line 67, sass/partials/_sidebar_placements.scss */
873
+
874
+ .inner-sidebar .cmb-td .cmb-td,
875
+ #side-sortables .cmb-td .cmb-td {
876
+ padding-bottom: 1em;
877
+ }
878
+
879
+ /* line 71, sass/partials/_sidebar_placements.scss */
880
+
881
+ .inner-sidebar .cmb-th,
882
+ #side-sortables .cmb-th {
883
+ display: block;
884
+ float: none;
885
+ padding-bottom: 1em;
886
+ text-align: left;
887
+ width: 100%;
888
+ padding-left: 0;
889
+ padding-right: 0;
890
+ }
891
+
892
+ /* line 27, sass/partials/_mixins.scss */
893
+
894
+ .inner-sidebar .cmb-th label,
895
+ #side-sortables .cmb-th label {
896
+ display: block;
897
+ margin-top: 0em;
898
+ padding-bottom: 5px;
899
+ }
900
+
901
+ /* line 32, sass/partials/_mixins.scss */
902
+
903
+ .inner-sidebar .cmb-th label:after,
904
+ #side-sortables .cmb-th label:after {
905
+ border-bottom: 1px solid #e9e9e9;
906
+ content: '';
907
+ clear: both;
908
+ display: block;
909
+ padding-top: .4em;
910
+ }
911
+
912
+ /* line 14, sass/partials/_mixins.scss */
913
+
914
+ .inner-sidebar .cmb-th label,
915
+ #side-sortables .cmb-th label {
916
+ font-size: 14px;
917
+ line-height: 1.4em;
918
+ }
919
+
920
+ /* line 78, sass/partials/_sidebar_placements.scss */
921
+
922
+ .inner-sidebar .cmb-group-description .cmb-th,
923
+ #side-sortables .cmb-group-description .cmb-th {
924
+ padding-top: 0;
925
+ }
926
+
927
+ /* line 81, sass/partials/_sidebar_placements.scss */
928
+
929
+ .inner-sidebar .cmb-group-description .cmb2-metabox-description,
930
+ #side-sortables .cmb-group-description .cmb2-metabox-description {
931
+ padding: 0;
932
+ }
933
+
934
+ /* line 88, sass/partials/_sidebar_placements.scss */
935
+
936
+ .inner-sidebar .cmb-group-title .cmb-th,
937
+ #side-sortables .cmb-group-title .cmb-th {
938
+ padding: 0;
939
+ }
940
+
941
+ /* line 94, sass/partials/_sidebar_placements.scss */
942
+
943
+ .inner-sidebar .cmb-repeatable-grouping + .cmb-repeatable-grouping,
944
+ #side-sortables .cmb-repeatable-grouping + .cmb-repeatable-grouping {
945
+ margin-top: 1em;
946
+ }
947
+
948
+ /* line 103, sass/partials/_sidebar_placements.scss */
949
+
950
+ .inner-sidebar .cmb2-media-status .img-status img,
951
+ .inner-sidebar .cmb2-media-status .embed-status img,
952
+ #side-sortables .cmb2-media-status .img-status img,
953
+ #side-sortables .cmb2-media-status .embed-status img {
954
+ max-width: 90%;
955
+ height: auto;
956
+ }
957
+
958
+ /* line 111, sass/partials/_sidebar_placements.scss */
959
+
960
+ .inner-sidebar .cmb2-list label,
961
+ #side-sortables .cmb2-list label {
962
+ display: inline;
963
+ font-weight: normal;
964
+ }
965
+
966
+ /* line 116, sass/partials/_sidebar_placements.scss */
967
+
968
+ .inner-sidebar .cmb2-metabox-description,
969
+ #side-sortables .cmb2-metabox-description {
970
+ display: block;
971
+ padding: 7px 0 0;
972
+ }
973
+
974
+ /* line 123, sass/partials/_sidebar_placements.scss */
975
+
976
+ .inner-sidebar .cmb-type-checkbox .cmb-td label,
977
+ .inner-sidebar .cmb-type-checkbox .cmb2-metabox-description,
978
+ #side-sortables .cmb-type-checkbox .cmb-td label,
979
+ #side-sortables .cmb-type-checkbox .cmb2-metabox-description {
980
+ font-weight: normal;
981
+ display: inline;
982
+ }
983
+
984
+ /* line 130, sass/partials/_sidebar_placements.scss */
985
+
986
+ .inner-sidebar .cmb-row .cmb2-metabox-description,
987
+ #side-sortables .cmb-row .cmb2-metabox-description {
988
+ padding-bottom: 1.8em;
989
+ }
990
+
991
+ /* line 134, sass/partials/_sidebar_placements.scss */
992
+
993
+ .inner-sidebar .cmb2-metabox-title,
994
+ #side-sortables .cmb2-metabox-title {
995
+ font-size: 1.2em;
996
+ font-style: italic;
997
+ }
998
+
999
+ /* line 139, sass/partials/_sidebar_placements.scss */
1000
+
1001
+ .inner-sidebar .cmb-remove-row,
1002
+ #side-sortables .cmb-remove-row {
1003
+ clear: both;
1004
+ padding-top: 12px;
1005
+ padding-bottom: 0;
1006
+ }
1007
+
1008
+ /* line 146, sass/partials/_sidebar_placements.scss */
1009
+
1010
+ .inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td,
1011
+ #side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td {
1012
+ width: auto;
1013
+ clear: none;
1014
+ float: left;
1015
+ padding-top: 0;
1016
+ }
1017
+
1018
+ /* line 151, sass/partials/_sidebar_placements.scss */
1019
+
1020
+ .inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row,
1021
+ #side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row {
1022
+ float: right;
1023
+ margin: 0;
1024
+ }
1025
+
1026
+ /* line 158, sass/partials/_sidebar_placements.scss */
1027
+
1028
+ .inner-sidebar .cmb2-upload-button,
1029
+ #side-sortables .cmb2-upload-button {
1030
+ clear: both;
1031
+ margin-top: 12px;
1032
+ }
1033
+
1034
+ /* line 2, sass/partials/_collapsible_ui.scss */
1035
+
1036
+ .cmb2-metabox .cmb-repeat-group-wrap {
1037
+ max-width: 1000px;
1038
+ }
1039
+
1040
+ /* line 5, sass/partials/_collapsible_ui.scss */
1041
+
1042
+ .cmb2-metabox .cmbhandle {
1043
+ color: #aaa;
1044
+ float: right;
1045
+ width: 27px;
1046
+ height: 30px;
1047
+ cursor: pointer;
1048
+ right: -1em;
1049
+ position: relative;
1050
+ }
1051
+
1052
+ /* line 13, sass/partials/_collapsible_ui.scss */
1053
+
1054
+ .cmb2-metabox .cmbhandle:before {
1055
+ content: '\f142';
1056
+ right: 12px;
1057
+ font: normal 20px/1 'dashicons';
1058
+ speak: none;
1059
+ display: inline-block;
1060
+ padding: 8px 10px;
1061
+ top: 0;
1062
+ position: relative;
1063
+ -webkit-font-smoothing: antialiased;
1064
+ -moz-osx-font-smoothing: grayscale;
1065
+ text-decoration: none !important;
1066
+ }
1067
+
1068
+ /* line 30, sass/partials/_collapsible_ui.scss */
1069
+
1070
+ .cmb2-metabox .postbox.closed .cmbhandle:before {
1071
+ content: '\f140';
1072
+ }
1073
+
1074
+ /* line 36, sass/partials/_collapsible_ui.scss */
1075
+
1076
+ .cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row {
1077
+ -webkit-appearance: none !important;
1078
+ background: none !important;
1079
+ border: none !important;
1080
+ position: absolute;
1081
+ left: 0;
1082
+ top: .5em;
1083
+ line-height: 1em;
1084
+ cursor: pointer;
1085
+ padding: 2px 6px 3px;
1086
+ }
1087
+
1088
+ /* line 46, sass/partials/_collapsible_ui.scss */
1089
+
1090
+ .cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]) {
1091
+ color: #a00;
1092
+ }
1093
+
1094
+ /* line 48, sass/partials/_collapsible_ui.scss */
1095
+
1096
+ .cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]):hover {
1097
+ color: #f00;
1098
+ }
1099
+
1100
+ /*
1101
+ * jQuery UI CSS Framework 1.8.16
1102
+ *
1103
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
1104
+ * Dual licensed under the MIT or GPL Version 2 licenses.
1105
+ * http://jquery.org/license
1106
+ *
1107
+ * http://docs.jquery.com/UI/Theming/API
1108
+ */
1109
+
1110
+ /* line 10, sass/partials/_jquery_ui.scss */
1111
+
1112
+ * html .cmb2-element.ui-helper-clearfix {
1113
+ height: 1%;
1114
+ }
1115
+
1116
+ /* line 14, sass/partials/_jquery_ui.scss */
1117
+
1118
+ .cmb2-element .ui-helper-hidden {
1119
+ display: none;
1120
+ }
1121
+
1122
+ /* line 17, sass/partials/_jquery_ui.scss */
1123
+
1124
+ .cmb2-element .ui-helper-hidden-accessible {
1125
+ position: absolute !important;
1126
+ clip: rect(1px 1px 1px 1px);
1127
+ clip: rect(1px, 1px, 1px, 1px);
1128
+ }
1129
+
1130
+ /* line 20, sass/partials/_jquery_ui.scss */
1131
+
1132
+ .cmb2-element .ui-helper-reset {
1133
+ margin: 0;
1134
+ padding: 0;
1135
+ border: 0;
1136
+ outline: 0;
1137
+ line-height: 1.3;
1138
+ text-decoration: none;
1139
+ font-size: 100%;
1140
+ list-style: none;
1141
+ }
1142
+
1143
+ /* line 23, sass/partials/_jquery_ui.scss */
1144
+
1145
+ .cmb2-element.ui-helper-clearfix:after,
1146
+ .cmb2-element .ui-helper-clearfix:after {
1147
+ content: ".";
1148
+ display: block;
1149
+ height: 0;
1150
+ clear: both;
1151
+ visibility: hidden;
1152
+ }
1153
+
1154
+ /* line 27, sass/partials/_jquery_ui.scss */
1155
+
1156
+ .cmb2-element.ui-helper-clearfix,
1157
+ .cmb2-element .ui-helper-clearfix {
1158
+ display: inline-block;
1159
+ }
1160
+
1161
+ /* line 31, sass/partials/_jquery_ui.scss */
1162
+
1163
+ .cmb2-element.ui-helper-clearfix,
1164
+ .cmb2-element .ui-helper-clearfix {
1165
+ display: block;
1166
+ }
1167
+
1168
+ /* line 35, sass/partials/_jquery_ui.scss */
1169
+
1170
+ .cmb2-element .ui-helper-zfix {
1171
+ width: 100%;
1172
+ height: 100%;
1173
+ top: 0;
1174
+ left: 0;
1175
+ position: absolute;
1176
+ opacity: 0;
1177
+ filter: Alpha(Opacity=0);
1178
+ }
1179
+
1180
+ /* line 38, sass/partials/_jquery_ui.scss */
1181
+
1182
+ .cmb2-element .ui-state-disabled {
1183
+ cursor: default !important;
1184
+ }
1185
+
1186
+ /* line 41, sass/partials/_jquery_ui.scss */
1187
+
1188
+ .cmb2-element .ui-icon {
1189
+ display: block;
1190
+ text-indent: -99999px;
1191
+ overflow: hidden;
1192
+ background-repeat: no-repeat;
1193
+ }
1194
+
1195
+ /* line 44, sass/partials/_jquery_ui.scss */
1196
+
1197
+ .cmb2-element .ui-widget-overlay {
1198
+ position: absolute;
1199
+ top: 0;
1200
+ left: 0;
1201
+ width: 100%;
1202
+ height: 100%;
1203
+ }
1204
+
1205
+ /* line 47, sass/partials/_jquery_ui.scss */
1206
+
1207
+ .cmb2-element.ui-widget,
1208
+ .cmb2-element .ui-widget {
1209
+ font-family: Verdana,Arial,sans-serif;
1210
+ font-size: 1.1em;
1211
+ }
1212
+
1213
+ /* line 50, sass/partials/_jquery_ui.scss */
1214
+
1215
+ .cmb2-element.ui-widget .ui-widget,
1216
+ .cmb2-element .ui-widget .ui-widget {
1217
+ font-size: 1em;
1218
+ }
1219
+
1220
+ /* line 53, sass/partials/_jquery_ui.scss */
1221
+
1222
+ .cmb2-element.ui-widget input,
1223
+ .cmb2-element.ui-widget select,
1224
+ .cmb2-element.ui-widget textarea,
1225
+ .cmb2-element.ui-widget button,
1226
+ .cmb2-element .ui-widget input,
1227
+ .cmb2-element .ui-widget select,
1228
+ .cmb2-element .ui-widget textarea,
1229
+ .cmb2-element .ui-widget button {
1230
+ font-family: Verdana,Arial,sans-serif;
1231
+ font-size: 1em;
1232
+ }
1233
+
1234
+ /* line 60, sass/partials/_jquery_ui.scss */
1235
+
1236
+ .cmb2-element.ui-widget-content,
1237
+ .cmb2-element .ui-widget-content {
1238
+ border: 1px solid #aaaaaa;
1239
+ background: #ffffff url(../images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x;
1240
+ color: #222222;
1241
+ }
1242
+
1243
+ /* line 64, sass/partials/_jquery_ui.scss */
1244
+
1245
+ .cmb2-element.ui-widget-content a,
1246
+ .cmb2-element .ui-widget-content a {
1247
+ color: #222222;
1248
+ }
1249
+
1250
+ /* line 68, sass/partials/_jquery_ui.scss */
1251
+
1252
+ .cmb2-element .ui-widget-header {
1253
+ border: 1px solid #aaaaaa;
1254
+ background: #cccccc url(../images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;
1255
+ color: #222222;
1256
+ font-weight: bold;
1257
+ }
1258
+
1259
+ /* line 71, sass/partials/_jquery_ui.scss */
1260
+
1261
+ .cmb2-element .ui-widget-header a {
1262
+ color: #222222;
1263
+ }
1264
+
1265
+ /* line 74, sass/partials/_jquery_ui.scss */
1266
+
1267
+ .cmb2-element .ui-state-default,
1268
+ .cmb2-element.ui-widget-content .ui-state-default,
1269
+ .cmb2-element .ui-widget-content .ui-state-default,
1270
+ .cmb2-element .ui-widget-header .ui-state-default {
1271
+ border: 1px solid #d3d3d3;
1272
+ font-weight: normal;
1273
+ color: #555555;
1274
+ }
1275
+
1276
+ /* line 80, sass/partials/_jquery_ui.scss */
1277
+
1278
+ .cmb2-element .ui-state-default a,
1279
+ .cmb2-element .ui-state-default a:link,
1280
+ .cmb2-element .ui-state-default a:visited {
1281
+ color: #555555;
1282
+ text-decoration: none;
1283
+ }
1284
+
1285
+ /* line 85, sass/partials/_jquery_ui.scss */
1286
+
1287
+ .cmb2-element .ui-state-hover,
1288
+ .cmb2-element.ui-widget-content .ui-state-hover,
1289
+ .cmb2-element .ui-widget-content .ui-state-hover,
1290
+ .cmb2-element .ui-widget-header .ui-state-hover,
1291
+ .cmb2-element .ui-state-focus,
1292
+ .cmb2-element.ui-widget-content .ui-state-focus,
1293
+ .cmb2-element .ui-widget-content .ui-state-focus,
1294
+ .cmb2-element .ui-widget-header .ui-state-focus {
1295
+ border: 1px solid #999999;
1296
+ background: #dadada url(../images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x;
1297
+ font-weight: normal;
1298
+ color: #212121;
1299
+ }
1300
+
1301
+ /* line 95, sass/partials/_jquery_ui.scss */
1302
+
1303
+ .cmb2-element .ui-state-hover a,
1304
+ .cmb2-element .ui-state-hover a:hover {
1305
+ color: #212121;
1306
+ text-decoration: none;
1307
+ }
1308
+
1309
+ /* line 99, sass/p