Tabs - Version 2.2.2

Version Description

  • Sanitization, Escaping and Nonce issue resolved
Download this release

Release Info

Developer wpshopmart
Plugin Icon 128x128 Tabs
Version 2.2.2
Comparing to
See all releases

Code changes from version 2.2.1 to 2.2.2

assets/css/bootstrap.css CHANGED
@@ -1,4344 +1,440 @@
1
  /*!
2
- * Bootstrap v3.3.6 (http://getbootstrap.com)
3
- * Copyright 2011-2015 Twitter, Inc.
4
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 
5
  */
6
- * {
7
- -webkit-box-sizing: border-box;
8
- -moz-box-sizing: border-box;
9
- box-sizing: border-box;
10
- }
11
- *:before,
12
- *:after {
13
- -webkit-box-sizing: border-box;
14
- -moz-box-sizing: border-box;
15
- box-sizing: border-box;
16
- }
17
- input[type="search"] {
18
- -webkit-box-sizing: border-box;
19
- -moz-box-sizing: border-box;
20
- box-sizing: border-box;
21
- }
22
- input[type="radio"],
23
- input[type="checkbox"] {
24
- margin: 4px 0 0;
25
- margin-top: 1px \9;
26
- line-height: normal;
27
- }
28
 
29
- input[type="range"] {
30
- display: block;
31
- width: 100%;
 
32
  }
33
- select[multiple],
34
- select[size] {
 
35
  height: auto;
36
  }
37
- input[type="file"]:focus,
38
- input[type="radio"]:focus,
39
- input[type="checkbox"]:focus {
40
- outline: thin dotted;
41
- outline: 5px auto -webkit-focus-ring-color;
42
- outline-offset: -2px;
43
- }
44
 
45
- .form-control {
46
- display: block;
47
- width: 100%;
48
- height: 34px;
49
- padding: 6px 12px;
50
- font-size: 14px;
51
- line-height: 1.42857143;
52
- color: #555;
53
- background-color: #fff;
54
- background-image: none;
55
- border: 1px solid #ccc;
56
- border-radius: 4px;
57
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
58
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
59
- -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
60
- -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
61
- transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
62
- }
63
- .form-control:focus {
64
- border-color: #66afe9;
65
- outline: 0;
66
- -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);
67
- box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);
68
- }
69
- .form-control::-moz-placeholder {
70
- color: #999;
71
- opacity: 1;
72
- }
73
- .form-control:-ms-input-placeholder {
74
- color: #999;
75
- }
76
- .form-control::-webkit-input-placeholder {
77
- color: #999;
78
- }
79
- .form-control::-ms-expand {
80
- background-color: transparent;
81
- border: 0;
82
  }
83
 
84
- .form-control[disabled],
85
- fieldset[disabled] .form-control {
86
- cursor: not-allowed;
87
- }
88
- textarea.form-control {
89
- height: auto;
90
- }
91
- input[type="search"] {
92
- -webkit-appearance: none;
93
- }
94
- @media screen and (-webkit-min-device-pixel-ratio: 0) {
95
- input[type="date"].form-control,
96
- input[type="time"].form-control,
97
- input[type="datetime-local"].form-control,
98
- input[type="month"].form-control {
99
- line-height: 34px;
100
- }
101
- input[type="date"].input-sm,
102
- input[type="time"].input-sm,
103
- input[type="datetime-local"].input-sm,
104
- input[type="month"].input-sm,
105
- .input-group-sm input[type="date"],
106
- .input-group-sm input[type="time"],
107
- .input-group-sm input[type="datetime-local"],
108
- .input-group-sm input[type="month"] {
109
- line-height: 30px;
110
- }
111
- input[type="date"].input-lg,
112
- input[type="time"].input-lg,
113
- input[type="datetime-local"].input-lg,
114
- input[type="month"].input-lg,
115
- .input-group-lg input[type="date"],
116
- .input-group-lg input[type="time"],
117
- .input-group-lg input[type="datetime-local"],
118
- .input-group-lg input[type="month"] {
119
- line-height: 46px;
120
- }
121
- }
122
- .form-group {
123
- margin-bottom: 15px;
124
- }
125
- .radio,
126
- .checkbox {
127
- position: relative;
128
- display: block;
129
- margin-top: 10px;
130
- margin-bottom: 10px;
131
- }
132
- .radio label,
133
- .checkbox label {
134
- min-height: 20px;
135
- padding-left: 20px;
136
- margin-bottom: 0;
137
- font-weight: normal;
138
- cursor: pointer;
139
- }
140
- .radio input[type="radio"],
141
- .radio-inline input[type="radio"],
142
- .checkbox input[type="checkbox"],
143
- .checkbox-inline input[type="checkbox"] {
144
- position: absolute;
145
- margin-top: 4px \9;
146
- margin-left: -20px;
147
- }
148
- .radio + .radio,
149
- .checkbox + .checkbox {
150
- margin-top: -5px;
151
- }
152
- .radio-inline,
153
- .checkbox-inline {
154
  position: relative;
155
- display: inline-block;
156
- padding-left: 20px;
157
- margin-bottom: 0;
158
- font-weight: normal;
159
- vertical-align: middle;
160
- cursor: pointer;
161
- }
162
- .radio-inline + .radio-inline,
163
- .checkbox-inline + .checkbox-inline {
164
- margin-top: 0;
165
- margin-left: 10px;
166
- }
167
- input[type="radio"][disabled],
168
- input[type="checkbox"][disabled],
169
- input[type="radio"].disabled,
170
- input[type="checkbox"].disabled,
171
- fieldset[disabled] input[type="radio"],
172
- fieldset[disabled] input[type="checkbox"] {
173
- cursor: not-allowed;
174
- }
175
- .radio-inline.disabled,
176
- .checkbox-inline.disabled,
177
- fieldset[disabled] .radio-inline,
178
- fieldset[disabled] .checkbox-inline {
179
- cursor: not-allowed;
180
- }
181
- .radio.disabled label,
182
- .checkbox.disabled label,
183
- fieldset[disabled] .radio label,
184
- fieldset[disabled] .checkbox label {
185
- cursor: not-allowed;
186
- }
187
- .form-control-static {
188
- min-height: 34px;
189
- padding-top: 7px;
190
- padding-bottom: 7px;
191
- margin-bottom: 0;
192
- }
193
- .form-control-static.input-lg,
194
- .form-control-static.input-sm {
195
- padding-right: 0;
196
- padding-left: 0;
197
- }
198
- .input-sm {
199
- height: 30px;
200
- padding: 5px 10px;
201
- font-size: 12px;
202
- line-height: 1.5;
203
- border-radius: 3px;
204
- }
205
- select.input-sm {
206
- height: 30px;
207
- line-height: 30px;
208
- }
209
- textarea.input-sm,
210
- select[multiple].input-sm {
211
- height: auto;
212
- }
213
- .form-group-sm .form-control {
214
- height: 30px;
215
- padding: 5px 10px;
216
- font-size: 12px;
217
- line-height: 1.5;
218
- border-radius: 3px;
219
- }
220
- .form-group-sm select.form-control {
221
- height: 30px;
222
- line-height: 30px;
223
- }
224
- .form-group-sm textarea.form-control,
225
- .form-group-sm select[multiple].form-control {
226
- height: auto;
227
- }
228
- .form-group-sm .form-control-static {
229
- height: 30px;
230
- min-height: 32px;
231
- padding: 6px 10px;
232
- font-size: 12px;
233
- line-height: 1.5;
234
- }
235
- .input-lg {
236
- height: 46px;
237
- padding: 10px 16px;
238
- font-size: 18px;
239
- line-height: 1.3333333;
240
- border-radius: 6px;
241
- }
242
- select.input-lg {
243
- height: 46px;
244
- line-height: 46px;
245
- }
246
- textarea.input-lg,
247
- select[multiple].input-lg {
248
- height: auto;
249
- }
250
- .form-group-lg .form-control {
251
- height: 46px;
252
- padding: 10px 16px;
253
- font-size: 18px;
254
- line-height: 1.3333333;
255
- border-radius: 6px;
256
- }
257
- .form-group-lg select.form-control {
258
- height: 46px;
259
- line-height: 46px;
260
- }
261
- .form-group-lg textarea.form-control,
262
- .form-group-lg select[multiple].form-control {
263
- height: auto;
264
- }
265
- .form-group-lg .form-control-static {
266
- height: 46px;
267
- min-height: 38px;
268
- padding: 11px 16px;
269
- font-size: 18px;
270
- line-height: 1.3333333;
271
  }
272
 
273
- .form-control-feedback {
274
- position: absolute;
275
- top: 0;
276
- right: 0;
277
- z-index: 2;
278
- display: block;
279
- width: 34px;
280
- height: 34px;
281
- line-height: 34px;
282
- text-align: center;
283
- pointer-events: none;
284
- }
285
- .input-lg + .form-control-feedback,
286
- .input-group-lg + .form-control-feedback,
287
- .form-group-lg .form-control + .form-control-feedback {
288
- width: 46px;
289
- height: 46px;
290
- line-height: 46px;
291
- }
292
- .input-sm + .form-control-feedback,
293
- .input-group-sm + .form-control-feedback,
294
- .form-group-sm .form-control + .form-control-feedback {
295
- width: 30px;
296
- height: 30px;
297
- line-height: 30px;
298
- }
299
- .has-success .help-block,
300
- .has-success .control-label,
301
- .has-success .radio,
302
- .has-success .checkbox,
303
- .has-success .radio-inline,
304
- .has-success .checkbox-inline,
305
- .has-success.radio label,
306
- .has-success.checkbox label,
307
- .has-success.radio-inline label,
308
- .has-success.checkbox-inline label {
309
- color: #3c763d;
310
- }
311
- .has-success .form-control {
312
- border-color: #3c763d;
313
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
314
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
315
- }
316
- .has-success .form-control:focus {
317
- border-color: #2b542c;
318
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;
319
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;
320
- }
321
- .has-success .form-control-feedback {
322
- color: #3c763d;
323
  }
324
- .has-warning .help-block,
325
- .has-warning .control-label,
326
- .has-warning .radio,
327
- .has-warning .checkbox,
328
- .has-warning .radio-inline,
329
- .has-warning .checkbox-inline,
330
- .has-warning.radio label,
331
- .has-warning.checkbox label,
332
- .has-warning.radio-inline label,
333
- .has-warning.checkbox-inline label {
334
- color: #8a6d3b;
335
  }
336
- .has-warning .form-control {
337
- border-color: #8a6d3b;
338
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
339
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
 
340
  }
341
- .has-warning .form-control:focus {
342
- border-color: #66512c;
343
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;
344
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;
 
345
  }
346
- .has-warning .input-group-addon {
347
- color: #8a6d3b;
348
- background-color: #fcf8e3;
349
- border-color: #8a6d3b;
 
350
  }
351
- .has-warning .form-control-feedback {
352
- color: #8a6d3b;
 
 
 
353
  }
354
- .has-error .help-block,
355
- .has-error .control-label,
356
- .has-error .radio,
357
- .has-error .checkbox,
358
- .has-error .radio-inline,
359
- .has-error .checkbox-inline,
360
- .has-error.radio label,
361
- .has-error.checkbox label,
362
- .has-error.radio-inline label,
363
- .has-error.checkbox-inline label {
364
- color: #a94442;
365
  }
366
- .has-error .form-control {
367
- border-color: #a94442;
368
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
369
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
 
370
  }
371
- .has-error .form-control:focus {
372
- border-color: #843534;
373
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;
374
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;
 
375
  }
376
- .has-error .input-group-addon {
377
- color: #a94442;
378
- background-color: #f2dede;
379
- border-color: #a94442;
 
380
  }
381
- .has-error .form-control-feedback {
382
- color: #a94442;
 
 
 
383
  }
384
- .has-feedback label ~ .form-control-feedback {
385
- top: 25px;
 
 
 
386
  }
387
- .has-feedback label.sr-only ~ .form-control-feedback {
388
- top: 0;
 
 
 
389
  }
390
- .help-block {
391
- display: block;
392
- margin-top: 5px;
393
- margin-bottom: 10px;
394
- color: #737373;
395
  }
396
- @media (min-width: 768px) {
397
- .form-inline .form-group {
398
- display: inline-block;
399
- margin-bottom: 0;
400
- vertical-align: middle;
 
 
 
401
  }
402
- .form-inline .form-control {
403
- display: inline-block;
 
404
  width: auto;
405
- vertical-align: middle;
 
 
 
 
 
406
  }
407
- .form-inline .form-control-static {
408
- display: inline-block;
 
 
409
  }
410
- .form-inline .input-group {
411
- display: inline-table;
412
- vertical-align: middle;
 
413
  }
414
- .form-inline .input-group .input-group-addon,
415
- .form-inline .input-group .input-group-btn,
416
- .form-inline .input-group .form-control {
417
- width: auto;
418
  }
419
- .form-inline .input-group > .form-control {
420
- width: 100%;
 
 
421
  }
422
- .form-inline .control-label {
423
- margin-bottom: 0;
424
- vertical-align: middle;
 
425
  }
426
- .form-inline .radio,
427
- .form-inline .checkbox {
428
- display: inline-block;
429
- margin-top: 0;
430
- margin-bottom: 0;
431
- vertical-align: middle;
432
  }
433
- .form-inline .radio label,
434
- .form-inline .checkbox label {
435
- padding-left: 0;
 
436
  }
437
- .form-inline .radio input[type="radio"],
438
- .form-inline .checkbox input[type="checkbox"] {
439
- position: relative;
440
- margin-left: 0;
441
  }
442
- .form-inline .has-feedback .form-control-feedback {
443
- top: 0;
 
 
444
  }
445
- }
446
- .form-horizontal .radio,
447
- .form-horizontal .checkbox,
448
- .form-horizontal .radio-inline,
449
- .form-horizontal .checkbox-inline {
450
- padding-top: 7px;
451
- margin-top: 0;
452
- margin-bottom: 0;
453
- }
454
- .form-horizontal .radio,
455
- .form-horizontal .checkbox {
456
- min-height: 27px;
457
- }
458
- .form-horizontal .form-group {
459
- margin-right: -15px;
460
- margin-left: -15px;
461
- }
462
- @media (min-width: 768px) {
463
- .form-horizontal .control-label {
464
- padding-top: 7px;
465
- margin-bottom: 0;
466
- text-align: right;
467
  }
468
- }
469
- .form-horizontal .has-feedback .form-control-feedback {
470
- right: 15px;
471
- }
472
- @media (min-width: 768px) {
473
- .form-horizontal .form-group-lg .control-label {
474
- padding-top: 11px;
475
- font-size: 18px;
476
  }
477
  }
 
478
  @media (min-width: 768px) {
479
- .form-horizontal .form-group-sm .control-label {
480
- padding-top: 6px;
481
- font-size: 12px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
482
  }
483
  }
 
 
 
 
 
484
  .btn {
485
  display: inline-block;
486
- padding: 6px 12px;
487
- margin-bottom: 0;
488
- font-size: 14px;
489
- font-weight: normal;
490
- line-height: 1.42857143;
491
  text-align: center;
492
- white-space: nowrap;
493
  vertical-align: middle;
494
- -ms-touch-action: manipulation;
495
- touch-action: manipulation;
496
- cursor: pointer;
497
  -webkit-user-select: none;
498
- -moz-user-select: none;
499
- -ms-user-select: none;
500
- user-select: none;
501
- background-image: none;
502
  border: 1px solid transparent;
503
- border-radius: 4px;
 
 
 
 
504
  }
505
- .btn:focus,
506
- .btn:active:focus,
507
- .btn.active:focus,
508
- .btn.focus,
509
- .btn:active.focus,
510
- .btn.active.focus {
511
- outline: thin dotted;
512
- outline: 5px auto -webkit-focus-ring-color;
513
- outline-offset: -2px;
514
  }
515
- .btn:hover,
516
- .btn:focus,
517
- .btn.focus {
518
- color: #333;
519
  text-decoration: none;
520
  }
521
- .btn:active,
522
- .btn.active {
523
- background-image: none;
524
  outline: 0;
525
- -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
526
- box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
 
 
 
527
  }
528
- .btn.disabled,
529
- .btn[disabled],
530
- fieldset[disabled] .btn {
531
- cursor: not-allowed;
532
- filter: alpha(opacity=65);
533
- -webkit-box-shadow: none;
534
- box-shadow: none;
535
- opacity: .65;
536
  }
 
537
  a.btn.disabled,
538
- fieldset[disabled] a.btn {
539
  pointer-events: none;
540
  }
541
- .btn-default {
542
- color: #333;
543
- background-color: #fff;
544
- border-color: #ccc;
545
- }
546
- .btn-default:focus,
547
- .btn-default.focus {
548
- color: #333;
549
- background-color: #e6e6e6;
550
- border-color: #8c8c8c;
551
- }
552
- .btn-default:hover {
553
- color: #333;
554
- background-color: #e6e6e6;
555
- border-color: #adadad;
556
- }
557
- .btn-default:active,
558
- .btn-default.active,
559
- .open > .dropdown-toggle.btn-default {
560
- color: #333;
561
- background-color: #e6e6e6;
562
- border-color: #adadad;
563
- }
564
- .btn-default:active:hover,
565
- .btn-default.active:hover,
566
- .open > .dropdown-toggle.btn-default:hover,
567
- .btn-default:active:focus,
568
- .btn-default.active:focus,
569
- .open > .dropdown-toggle.btn-default:focus,
570
- .btn-default:active.focus,
571
- .btn-default.active.focus,
572
- .open > .dropdown-toggle.btn-default.focus {
573
- color: #333;
574
- background-color: #d4d4d4;
575
- border-color: #8c8c8c;
576
- }
577
- .btn-default:active,
578
- .btn-default.active,
579
- .open > .dropdown-toggle.btn-default {
580
- background-image: none;
581
- }
582
- .btn-default.disabled:hover,
583
- .btn-default[disabled]:hover,
584
- fieldset[disabled] .btn-default:hover,
585
- .btn-default.disabled:focus,
586
- .btn-default[disabled]:focus,
587
- fieldset[disabled] .btn-default:focus,
588
- .btn-default.disabled.focus,
589
- .btn-default[disabled].focus,
590
- fieldset[disabled] .btn-default.focus {
591
- background-color: #fff;
592
- border-color: #ccc;
593
- }
594
- .btn-default .badge {
595
- color: #fff;
596
- background-color: #333;
597
  }
 
598
  .btn-primary {
599
  color: #fff;
600
- background-color: #337ab7;
601
- border-color: #2e6da4;
602
- }
603
- .btn-primary:focus,
604
- .btn-primary.focus {
605
- color: #fff;
606
- background-color: #286090;
607
- border-color: #122b40;
608
  }
 
609
  .btn-primary:hover {
610
  color: #fff;
611
- background-color: #286090;
612
- border-color: #204d74;
613
- }
614
- .btn-primary:active,
615
- .btn-primary.active,
616
- .open > .dropdown-toggle.btn-primary {
617
- color: #fff;
618
- background-color: #286090;
619
- border-color: #204d74;
620
- }
621
- .btn-primary:active:hover,
622
- .btn-primary.active:hover,
623
- .open > .dropdown-toggle.btn-primary:hover,
624
- .btn-primary:active:focus,
625
- .btn-primary.active:focus,
626
- .open > .dropdown-toggle.btn-primary:focus,
627
- .btn-primary:active.focus,
628
- .btn-primary.active.focus,
629
- .open > .dropdown-toggle.btn-primary.focus {
630
- color: #fff;
631
- background-color: #204d74;
632
- border-color: #122b40;
633
- }
634
- .btn-primary:active,
635
- .btn-primary.active,
636
- .open > .dropdown-toggle.btn-primary {
637
- background-image: none;
638
- }
639
- .btn-primary.disabled:hover,
640
- .btn-primary[disabled]:hover,
641
- fieldset[disabled] .btn-primary:hover,
642
- .btn-primary.disabled:focus,
643
- .btn-primary[disabled]:focus,
644
- fieldset[disabled] .btn-primary:focus,
645
- .btn-primary.disabled.focus,
646
- .btn-primary[disabled].focus,
647
- fieldset[disabled] .btn-primary.focus {
648
- background-color: #337ab7;
649
- border-color: #2e6da4;
650
- }
651
- .btn-primary .badge {
652
- color: #337ab7;
653
- background-color: #fff;
654
- }
655
- .btn-success {
656
- color: #fff;
657
- background-color: #5cb85c;
658
- border-color: #4cae4c;
659
- }
660
- .btn-success:focus,
661
- .btn-success.focus {
662
- color: #fff;
663
- background-color: #449d44;
664
- border-color: #255625;
665
- }
666
- .btn-success:hover {
667
- color: #fff;
668
- background-color: #449d44;
669
- border-color: #398439;
670
- }
671
- .btn-success:active,
672
- .btn-success.active,
673
- .open > .dropdown-toggle.btn-success {
674
- color: #fff;
675
- background-color: #449d44;
676
- border-color: #398439;
677
- }
678
- .btn-success:active:hover,
679
- .btn-success.active:hover,
680
- .open > .dropdown-toggle.btn-success:hover,
681
- .btn-success:active:focus,
682
- .btn-success.active:focus,
683
- .open > .dropdown-toggle.btn-success:focus,
684
- .btn-success:active.focus,
685
- .btn-success.active.focus,
686
- .open > .dropdown-toggle.btn-success.focus {
687
- color: #fff;
688
- background-color: #398439;
689
- border-color: #255625;
690
- }
691
- .btn-success:active,
692
- .btn-success.active,
693
- .open > .dropdown-toggle.btn-success {
694
- background-image: none;
695
- }
696
- .btn-success.disabled:hover,
697
- .btn-success[disabled]:hover,
698
- fieldset[disabled] .btn-success:hover,
699
- .btn-success.disabled:focus,
700
- .btn-success[disabled]:focus,
701
- fieldset[disabled] .btn-success:focus,
702
- .btn-success.disabled.focus,
703
- .btn-success[disabled].focus,
704
- fieldset[disabled] .btn-success.focus {
705
- background-color: #5cb85c;
706
- border-color: #4cae4c;
707
- }
708
- .btn-info {
709
- color: #fff;
710
- background-color: #5bc0de;
711
- border-color: #46b8da;
712
- }
713
- .btn-info:focus,
714
- .btn-info.focus {
715
- color: #fff;
716
- background-color: #31b0d5;
717
- border-color: #1b6d85;
718
- }
719
- .btn-info:hover {
720
- color: #fff;
721
- background-color: #31b0d5;
722
- border-color: #269abc;
723
- }
724
- .btn-info:active,
725
- .btn-info.active,
726
- .open > .dropdown-toggle.btn-info {
727
- color: #fff;
728
- background-color: #31b0d5;
729
- border-color: #269abc;
730
- }
731
- .btn-info:active:hover,
732
- .btn-info.active:hover,
733
- .open > .dropdown-toggle.btn-info:hover,
734
- .btn-info:active:focus,
735
- .btn-info.active:focus,
736
- .open > .dropdown-toggle.btn-info:focus,
737
- .btn-info:active.focus,
738
- .btn-info.active.focus,
739
- .open > .dropdown-toggle.btn-info.focus {
740
- color: #fff;
741
- background-color: #269abc;
742
- border-color: #1b6d85;
743
- }
744
- .btn-info:active,
745
- .btn-info.active,
746
- .open > .dropdown-toggle.btn-info {
747
- background-image: none;
748
- }
749
- .btn-info.disabled:hover,
750
- .btn-info[disabled]:hover,
751
- fieldset[disabled] .btn-info:hover,
752
- .btn-info.disabled:focus,
753
- .btn-info[disabled]:focus,
754
- fieldset[disabled] .btn-info:focus,
755
- .btn-info.disabled.focus,
756
- .btn-info[disabled].focus,
757
- fieldset[disabled] .btn-info.focus {
758
- background-color: #5bc0de;
759
- border-color: #46b8da;
760
- }
761
- .btn-info .badge {
762
- color: #5bc0de;
763
- background-color: #fff;
764
- }
765
- .btn-warning {
766
- color: #fff;
767
- background-color: #f0ad4e;
768
- border-color: #eea236;
769
  }
770
- .btn-warning:focus,
771
- .btn-warning.focus {
772
- color: #fff;
773
- background-color: #ec971f;
774
- border-color: #985f0d;
775
- }
776
- .btn-warning:hover {
777
  color: #fff;
778
- background-color: #ec971f;
779
- border-color: #d58512;
 
780
  }
781
- .btn-warning:active,
782
- .btn-warning.active,
783
- .open > .dropdown-toggle.btn-warning {
784
  color: #fff;
785
- background-color: #ec971f;
786
- border-color: #d58512;
787
  }
788
- .btn-warning:active:hover,
789
- .btn-warning.active:hover,
790
- .open > .dropdown-toggle.btn-warning:hover,
791
- .btn-warning:active:focus,
792
- .btn-warning.active:focus,
793
- .open > .dropdown-toggle.btn-warning:focus,
794
- .btn-warning:active.focus,
795
- .btn-warning.active.focus,
796
- .open > .dropdown-toggle.btn-warning.focus {
797
  color: #fff;
798
- background-color: #d58512;
799
- border-color: #985f0d;
800
- }
801
- .btn-warning:active,
802
- .btn-warning.active,
803
- .open > .dropdown-toggle.btn-warning {
804
- background-image: none;
805
  }
806
- .btn-warning.disabled:hover,
807
- .btn-warning[disabled]:hover,
808
- fieldset[disabled] .btn-warning:hover,
809
- .btn-warning.disabled:focus,
810
- .btn-warning[disabled]:focus,
811
- fieldset[disabled] .btn-warning:focus,
812
- .btn-warning.disabled.focus,
813
- .btn-warning[disabled].focus,
814
- fieldset[disabled] .btn-warning.focus {
815
- background-color: #f0ad4e;
816
- border-color: #eea236;
817
- }
818
- .btn-warning .badge {
819
- color: #f0ad4e;
820
- background-color: #fff;
821
  }
 
822
  .btn-danger {
823
  color: #fff;
824
- background-color: #d9534f;
825
- border-color: #d43f3a;
826
- }
827
- .btn-danger:focus,
828
- .btn-danger.focus {
829
- color: #fff;
830
- background-color: #c9302c;
831
- border-color: #761c19;
832
  }
 
833
  .btn-danger:hover {
834
  color: #fff;
835
- background-color: #c9302c;
836
- border-color: #ac2925;
837
  }
838
- .btn-danger:active,
839
- .btn-danger.active,
840
- .open > .dropdown-toggle.btn-danger {
841
  color: #fff;
842
- background-color: #c9302c;
843
- border-color: #ac2925;
 
844
  }
845
- .btn-danger:active:hover,
846
- .btn-danger.active:hover,
847
- .open > .dropdown-toggle.btn-danger:hover,
848
- .btn-danger:active:focus,
849
- .btn-danger.active:focus,
850
- .open > .dropdown-toggle.btn-danger:focus,
851
- .btn-danger:active.focus,
852
- .btn-danger.active.focus,
853
- .open > .dropdown-toggle.btn-danger.focus {
854
  color: #fff;
855
- background-color: #ac2925;
856
- border-color: #761c19;
857
- }
858
- .btn-danger:active,
859
- .btn-danger.active,
860
- .open > .dropdown-toggle.btn-danger {
861
- background-image: none;
862
- }
863
- .btn-danger.disabled:hover,
864
- .btn-danger[disabled]:hover,
865
- fieldset[disabled] .btn-danger:hover,
866
- .btn-danger.disabled:focus,
867
- .btn-danger[disabled]:focus,
868
- fieldset[disabled] .btn-danger:focus,
869
- .btn-danger.disabled.focus,
870
- .btn-danger[disabled].focus,
871
- fieldset[disabled] .btn-danger.focus {
872
- background-color: #d9534f;
873
- border-color: #d43f3a;
874
  }
875
- .btn-danger .badge {
876
- color: #d9534f;
877
- background-color: #fff;
878
- }
879
- .btn-link {
880
- font-weight: normal;
881
- color: #337ab7;
882
- border-radius: 0;
883
- }
884
- .btn-link,
885
- .btn-link:active,
886
- .btn-link.active,
887
- .btn-link[disabled],
888
- fieldset[disabled] .btn-link {
889
- background-color: transparent;
890
- -webkit-box-shadow: none;
891
- box-shadow: none;
892
  }
893
- .btn-link,
894
- .btn-link:hover,
895
- .btn-link:focus,
896
- .btn-link:active {
897
- border-color: transparent;
898
  }
899
- .btn-link:hover,
900
- .btn-link:focus {
901
- color: #23527c;
902
- text-decoration: underline;
903
- background-color: transparent;
 
 
 
 
 
904
  }
905
- .btn-link[disabled]:hover,
906
- fieldset[disabled] .btn-link:hover,
907
- .btn-link[disabled]:focus,
908
- fieldset[disabled] .btn-link:focus {
909
- color: #777;
910
- text-decoration: none;
 
 
 
 
 
 
911
  }
912
- .btn-lg,
913
- .btn-group-lg > .btn {
914
- padding: 10px 16px;
915
- font-size: 18px;
916
- line-height: 1.3333333;
917
- border-radius: 6px;
918
  }
919
- .btn-sm,
920
- .btn-group-sm > .btn {
921
- padding: 5px 10px;
922
- font-size: 12px;
923
- line-height: 1.5;
924
- border-radius: 3px;
925
- }
926
- .btn-xs,
927
- .btn-group-xs > .btn {
928
- padding: 1px 5px;
929
- font-size: 12px;
930
- line-height: 1.5;
931
- border-radius: 3px;
932
- }
933
- .btn-block {
934
- display: block;
935
- width: 100%;
936
- }
937
- .btn-block + .btn-block {
938
- margin-top: 5px;
939
- }
940
- input[type="submit"].btn-block,
941
- input[type="reset"].btn-block,
942
- input[type="button"].btn-block {
943
- width: 100%;
944
- }
945
- .fade {
946
- opacity: 0;
947
- -webkit-transition: opacity .15s linear;
948
- -o-transition: opacity .15s linear;
949
- transition: opacity .15s linear;
950
- }
951
- .fade.in {
952
- opacity: 1;
953
- }
954
- .collapse {
955
- display: none;
956
- }
957
- .collapse.in {
958
- display: block;
959
- }
960
- tr.collapse.in {
961
- display: table-row;
962
- }
963
- tbody.collapse.in {
964
- display: table-row-group;
965
- }
966
- .collapsing {
967
- position: relative;
968
- height: 0;
969
- overflow: hidden;
970
- -webkit-transition-timing-function: ease;
971
- -o-transition-timing-function: ease;
972
- transition-timing-function: ease;
973
- -webkit-transition-duration: .35s;
974
- -o-transition-duration: .35s;
975
- transition-duration: .35s;
976
- -webkit-transition-property: height, visibility;
977
- -o-transition-property: height, visibility;
978
- transition-property: height, visibility;
979
- }
980
- .caret {
981
- display: inline-block;
982
- width: 0;
983
- height: 0;
984
- margin-left: 2px;
985
- vertical-align: middle;
986
- border-top: 4px dashed;
987
- border-top: 4px solid \9;
988
- border-right: 4px solid transparent;
989
- border-left: 4px solid transparent;
990
- }
991
- .dropup,
992
- .dropdown {
993
- position: relative;
994
- }
995
- .dropdown-toggle:focus {
996
- outline: 0;
997
- }
998
- .dropdown-menu {
999
- position: absolute;
1000
- top: 100%;
1001
- left: 0;
1002
- z-index: 1000;
1003
- display: none;
1004
- float: left;
1005
- min-width: 160px;
1006
- padding: 5px 0;
1007
- margin: 2px 0 0;
1008
- font-size: 14px;
1009
- text-align: left;
1010
- list-style: none;
1011
- background-color: #fff;
1012
- -webkit-background-clip: padding-box;
1013
- background-clip: padding-box;
1014
- border: 1px solid #ccc;
1015
- border: 1px solid rgba(0, 0, 0, .15);
1016
- border-radius: 4px;
1017
- -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
1018
- box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
1019
- }
1020
- .dropdown-menu.pull-right {
1021
- right: 0;
1022
- left: auto;
1023
- }
1024
- .dropdown-menu .divider {
1025
- height: 1px;
1026
- margin: 9px 0;
1027
- overflow: hidden;
1028
- background-color: #e5e5e5;
1029
- }
1030
- .dropdown-menu > li > a {
1031
- display: block;
1032
- padding: 3px 20px;
1033
- clear: both;
1034
- font-weight: normal;
1035
- line-height: 1.42857143;
1036
- color: #333;
1037
- white-space: nowrap;
1038
- }
1039
- .dropdown-menu > li > a:hover,
1040
- .dropdown-menu > li > a:focus {
1041
- color: #262626;
1042
- text-decoration: none;
1043
- background-color: #f5f5f5;
1044
- }
1045
- .dropdown-menu > .active > a,
1046
- .dropdown-menu > .active > a:hover,
1047
- .dropdown-menu > .active > a:focus {
1048
- color: #fff;
1049
- text-decoration: none;
1050
- background-color: #337ab7;
1051
- outline: 0;
1052
- }
1053
- .dropdown-menu > .disabled > a,
1054
- .dropdown-menu > .disabled > a:hover,
1055
- .dropdown-menu > .disabled > a:focus {
1056
- color: #777;
1057
- }
1058
- .dropdown-menu > .disabled > a:hover,
1059
- .dropdown-menu > .disabled > a:focus {
1060
- text-decoration: none;
1061
- cursor: not-allowed;
1062
- background-color: transparent;
1063
- background-image: none;
1064
- filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
1065
- }
1066
- .open > .dropdown-menu {
1067
- display: block;
1068
- }
1069
- .open > a {
1070
- outline: 0;
1071
- }
1072
- .dropdown-menu-right {
1073
- right: 0;
1074
- left: auto;
1075
- }
1076
- .dropdown-menu-left {
1077
- right: auto;
1078
- left: 0;
1079
- }
1080
- .dropdown-header {
1081
- display: block;
1082
- padding: 3px 20px;
1083
- font-size: 12px;
1084
- line-height: 1.42857143;
1085
- color: #777;
1086
- white-space: nowrap;
1087
- }
1088
- .dropdown-backdrop {
1089
- position: fixed;
1090
- top: 0;
1091
- right: 0;
1092
- bottom: 0;
1093
- left: 0;
1094
- z-index: 990;
1095
- }
1096
- .pull-right > .dropdown-menu {
1097
- right: 0;
1098
- left: auto;
1099
- }
1100
- .dropup .caret,
1101
- .navbar-fixed-bottom .dropdown .caret {
1102
- content: "";
1103
- border-top: 0;
1104
- border-bottom: 4px dashed;
1105
- border-bottom: 4px solid \9;
1106
- }
1107
- .dropup .dropdown-menu,
1108
- .navbar-fixed-bottom .dropdown .dropdown-menu {
1109
- top: auto;
1110
- bottom: 100%;
1111
- margin-bottom: 2px;
1112
- }
1113
- @media (min-width: 768px) {
1114
- .navbar-right .dropdown-menu {
1115
- right: 0;
1116
- left: auto;
1117
- }
1118
- .navbar-right .dropdown-menu-left {
1119
- right: auto;
1120
- left: 0;
1121
- }
1122
- }
1123
- .btn-group,
1124
- .btn-group-vertical {
1125
- position: relative;
1126
- display: inline-block;
1127
- vertical-align: middle;
1128
- }
1129
- .btn-group > .btn,
1130
- .btn-group-vertical > .btn {
1131
- position: relative;
1132
- float: left;
1133
- }
1134
- .btn-group > .btn:hover,
1135
- .btn-group-vertical > .btn:hover,
1136
- .btn-group > .btn:focus,
1137
- .btn-group-vertical > .btn:focus,
1138
- .btn-group > .btn:active,
1139
- .btn-group-vertical > .btn:active,
1140
- .btn-group > .btn.active,
1141
- .btn-group-vertical > .btn.active {
1142
- z-index: 2;
1143
- }
1144
- .btn-group .btn + .btn,
1145
- .btn-group .btn + .btn-group,
1146
- .btn-group .btn-group + .btn,
1147
- .btn-group .btn-group + .btn-group {
1148
- margin-left: -1px;
1149
- }
1150
- .btn-toolbar {
1151
- margin-left: -5px;
1152
- }
1153
- .btn-toolbar .btn,
1154
- .btn-toolbar .btn-group,
1155
- .btn-toolbar .input-group {
1156
- float: left;
1157
- }
1158
- .btn-toolbar > .btn,
1159
- .btn-toolbar > .btn-group,
1160
- .btn-toolbar > .input-group {
1161
- margin-left: 5px;
1162
- }
1163
- .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
1164
- border-radius: 0;
1165
- }
1166
- .btn-group > .btn:first-child {
1167
- margin-left: 0;
1168
- }
1169
- .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
1170
- border-top-right-radius: 0;
1171
- border-bottom-right-radius: 0;
1172
- }
1173
- .btn-group > .btn:last-child:not(:first-child),
1174
- .btn-group > .dropdown-toggle:not(:first-child) {
1175
- border-top-left-radius: 0;
1176
- border-bottom-left-radius: 0;
1177
- }
1178
- .btn-group > .btn-group {
1179
- float: left;
1180
- }
1181
- .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
1182
- border-radius: 0;
1183
- }
1184
- .btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
1185
- .btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
1186
- border-top-right-radius: 0;
1187
- border-bottom-right-radius: 0;
1188
- }
1189
- .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
1190
- border-top-left-radius: 0;
1191
- border-bottom-left-radius: 0;
1192
- }
1193
- .btn-group .dropdown-toggle:active,
1194
- .btn-group.open .dropdown-toggle {
1195
- outline: 0;
1196
- }
1197
- .btn-group > .btn + .dropdown-toggle {
1198
- padding-right: 8px;
1199
- padding-left: 8px;
1200
- }
1201
- .btn-group > .btn-lg + .dropdown-toggle {
1202
- padding-right: 12px;
1203
- padding-left: 12px;
1204
- }
1205
- .btn-group.open .dropdown-toggle {
1206
- -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
1207
- box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
1208
- }
1209
- .btn-group.open .dropdown-toggle.btn-link {
1210
- -webkit-box-shadow: none;
1211
- box-shadow: none;
1212
- }
1213
- .btn .caret {
1214
- margin-left: 0;
1215
- }
1216
- .btn-lg .caret {
1217
- border-width: 5px 5px 0;
1218
- border-bottom-width: 0;
1219
- }
1220
- .btn-group-vertical > .btn,
1221
- .btn-group-vertical > .btn-group,
1222
- .btn-group-vertical > .btn-group > .btn {
1223
- display: block;
1224
- float: none;
1225
- width: 100%;
1226
- max-width: 100%;
1227
- }
1228
- .btn-group-vertical > .btn-group > .btn {
1229
- float: none;
1230
- }
1231
- .btn-group-vertical > .btn + .btn,
1232
- .btn-group-vertical > .btn + .btn-group,
1233
- .btn-group-vertical > .btn-group + .btn,
1234
- .btn-group-vertical > .btn-group + .btn-group {
1235
- margin-top: -1px;
1236
- margin-left: 0;
1237
- }
1238
- .btn-group-vertical > .btn:not(:first-child):not(:last-child) {
1239
- border-radius: 0;
1240
- }
1241
- .btn-group-vertical > .btn:first-child:not(:last-child) {
1242
- border-top-left-radius: 4px;
1243
- border-top-right-radius: 4px;
1244
- border-bottom-right-radius: 0;
1245
- border-bottom-left-radius: 0;
1246
- }
1247
- .btn-group-vertical > .btn:last-child:not(:first-child) {
1248
- border-top-left-radius: 0;
1249
- border-top-right-radius: 0;
1250
- border-bottom-right-radius: 4px;
1251
- border-bottom-left-radius: 4px;
1252
- }
1253
- .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
1254
- border-radius: 0;
1255
- }
1256
- .btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
1257
- .btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
1258
- border-bottom-right-radius: 0;
1259
- border-bottom-left-radius: 0;
1260
- }
1261
- .btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
1262
- border-top-left-radius: 0;
1263
- border-top-right-radius: 0;
1264
- }
1265
- .btn-group-justified {
1266
- display: table;
1267
- width: 100%;
1268
- table-layout: fixed;
1269
- border-collapse: separate;
1270
- }
1271
- .btn-group-justified > .btn,
1272
- .btn-group-justified > .btn-group {
1273
- display: table-cell;
1274
- float: none;
1275
- width: 1%;
1276
- }
1277
- .btn-group-justified > .btn-group .btn {
1278
- width: 100%;
1279
- }
1280
- .btn-group-justified > .btn-group .dropdown-menu {
1281
- left: auto;
1282
- }
1283
- [data-toggle="buttons"] > .btn input[type="radio"],
1284
- [data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
1285
- [data-toggle="buttons"] > .btn input[type="checkbox"],
1286
- [data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
1287
- position: absolute;
1288
- clip: rect(0, 0, 0, 0);
1289
- pointer-events: none;
1290
- }
1291
- .input-group {
1292
- position: relative;
1293
- display: table;
1294
- border-collapse: separate;
1295
- }
1296
- .input-group[class*="col-"] {
1297
- float: none;
1298
- padding-right: 0;
1299
- padding-left: 0;
1300
- }
1301
- .input-group .form-control {
1302
- position: relative;
1303
- z-index: 2;
1304
- float: left;
1305
- width: 100%;
1306
- margin-bottom: 0;
1307
- }
1308
- .input-group .form-control:focus {
1309
- z-index: 3;
1310
- }
1311
- .input-group-lg > .form-control,
1312
- .input-group-lg > .input-group-addon,
1313
- .input-group-lg > .input-group-btn > .btn {
1314
- height: 46px;
1315
- padding: 10px 16px;
1316
- font-size: 18px;
1317
- line-height: 1.3333333;
1318
- border-radius: 6px;
1319
- }
1320
- select.input-group-lg > .form-control,
1321
- select.input-group-lg > .input-group-addon,
1322
- select.input-group-lg > .input-group-btn > .btn {
1323
- height: 46px;
1324
- line-height: 46px;
1325
- }
1326
- textarea.input-group-lg > .form-control,
1327
- textarea.input-group-lg > .input-group-addon,
1328
- textarea.input-group-lg > .input-group-btn > .btn,
1329
- select[multiple].input-group-lg > .form-control,
1330
- select[multiple].input-group-lg > .input-group-addon,
1331
- select[multiple].input-group-lg > .input-group-btn > .btn {
1332
- height: auto;
1333
- }
1334
- .input-group-sm > .form-control,
1335
- .input-group-sm > .input-group-addon,
1336
- .input-group-sm > .input-group-btn > .btn {
1337
- height: 30px;
1338
- padding: 5px 10px;
1339
- font-size: 12px;
1340
- line-height: 1.5;
1341
- border-radius: 3px;
1342
- }
1343
- select.input-group-sm > .form-control,
1344
- select.input-group-sm > .input-group-addon,
1345
- select.input-group-sm > .input-group-btn > .btn {
1346
- height: 30px;
1347
- line-height: 30px;
1348
- }
1349
- textarea.input-group-sm > .form-control,
1350
- textarea.input-group-sm > .input-group-addon,
1351
- textarea.input-group-sm > .input-group-btn > .btn,
1352
- select[multiple].input-group-sm > .form-control,
1353
- select[multiple].input-group-sm > .input-group-addon,
1354
- select[multiple].input-group-sm > .input-group-btn > .btn {
1355
- height: auto;
1356
- }
1357
- .input-group-addon,
1358
- .input-group-btn,
1359
- .input-group .form-control {
1360
- display: table-cell;
1361
- }
1362
- .input-group-addon:not(:first-child):not(:last-child),
1363
- .input-group-btn:not(:first-child):not(:last-child),
1364
- .input-group .form-control:not(:first-child):not(:last-child) {
1365
- border-radius: 0;
1366
- }
1367
- .input-group-addon,
1368
- .input-group-btn {
1369
- width: 1%;
1370
- white-space: nowrap;
1371
- vertical-align: middle;
1372
- }
1373
- .input-group-addon {
1374
- padding: 6px 12px;
1375
- font-size: 14px;
1376
- font-weight: normal;
1377
- line-height: 1;
1378
- color: #555;
1379
- text-align: center;
1380
- background-color: #eee;
1381
- border: 1px solid #ccc;
1382
- border-radius: 4px;
1383
- }
1384
- .input-group-addon.input-sm {
1385
- padding: 5px 10px;
1386
- font-size: 12px;
1387
- border-radius: 3px;
1388
- }
1389
- .input-group-addon.input-lg {
1390
- padding: 10px 16px;
1391
- font-size: 18px;
1392
- border-radius: 6px;
1393
- }
1394
- .input-group-addon input[type="radio"],
1395
- .input-group-addon input[type="checkbox"] {
1396
- margin-top: 0;
1397
- }
1398
- .input-group .form-control:first-child,
1399
- .input-group-addon:first-child,
1400
- .input-group-btn:first-child > .btn,
1401
- .input-group-btn:first-child > .btn-group > .btn,
1402
- .input-group-btn:first-child > .dropdown-toggle,
1403
- .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
1404
- .input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
1405
- border-top-right-radius: 0;
1406
- border-bottom-right-radius: 0;
1407
- }
1408
- .input-group-addon:first-child {
1409
- border-right: 0;
1410
- }
1411
- .input-group .form-control:last-child,
1412
- .input-group-addon:last-child,
1413
- .input-group-btn:last-child > .btn,
1414
- .input-group-btn:last-child > .btn-group > .btn,
1415
- .input-group-btn:last-child > .dropdown-toggle,
1416
- .input-group-btn:first-child > .btn:not(:first-child),
1417
- .input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
1418
- border-top-left-radius: 0;
1419
- border-bottom-left-radius: 0;
1420
- }
1421
- .input-group-addon:last-child {
1422
- border-left: 0;
1423
- }
1424
- .input-group-btn {
1425
- position: relative;
1426
- font-size: 0;
1427
- white-space: nowrap;
1428
- }
1429
- .input-group-btn > .btn {
1430
- position: relative;
1431
- }
1432
- .input-group-btn > .btn + .btn {
1433
- margin-left: -1px;
1434
- }
1435
- .input-group-btn > .btn:hover,
1436
- .input-group-btn > .btn:focus,
1437
- .input-group-btn > .btn:active {
1438
- z-index: 2;
1439
- }
1440
- .input-group-btn:first-child > .btn,
1441
- .input-group-btn:first-child > .btn-group {
1442
- margin-right: -1px;
1443
- }
1444
- .input-group-btn:last-child > .btn,
1445
- .input-group-btn:last-child > .btn-group {
1446
- z-index: 2;
1447
- margin-left: -1px;
1448
- }
1449
- .nav {
1450
- padding-left: 0;
1451
- margin-bottom: 0;
1452
- list-style: none;
1453
- }
1454
- .nav > li {
1455
- position: relative;
1456
- display: block;
1457
- }
1458
- .nav > li > a {
1459
- position: relative;
1460
- display: block;
1461
- padding: 10px 15px;
1462
- }
1463
- .nav > li > a:hover,
1464
- .nav > li > a:focus {
1465
- text-decoration: none;
1466
- background-color: #eee;
1467
- }
1468
- .nav > li.disabled > a {
1469
- color: #777;
1470
- }
1471
- .nav > li.disabled > a:hover,
1472
- .nav > li.disabled > a:focus {
1473
- color: #777;
1474
- text-decoration: none;
1475
- cursor: not-allowed;
1476
- background-color: transparent;
1477
- }
1478
- .nav .open > a,
1479
- .nav .open > a:hover,
1480
- .nav .open > a:focus {
1481
- background-color: #eee;
1482
- border-color: #337ab7;
1483
- }
1484
- .nav .nav-divider {
1485
- height: 1px;
1486
- margin: 9px 0;
1487
- overflow: hidden;
1488
- background-color: #e5e5e5;
1489
- }
1490
- .nav > li > a > img {
1491
- max-width: none;
1492
- }
1493
- .nav-tabs {
1494
- border-bottom: 1px solid #ddd;
1495
- }
1496
- .nav-tabs > li {
1497
- float: left;
1498
- margin-bottom: -1px;
1499
- }
1500
- .nav-tabs > li > a {
1501
- margin-right: 2px;
1502
- line-height: 1.42857143;
1503
- border: 1px solid transparent;
1504
- border-radius: 4px 4px 0 0;
1505
- }
1506
- .nav-tabs > li > a:hover {
1507
- border-color: #eee #eee #ddd;
1508
- }
1509
- .nav-tabs > li.active > a,
1510
- .nav-tabs > li.active > a:hover,
1511
- .nav-tabs > li.active > a:focus {
1512
- color: #555;
1513
- cursor: default;
1514
- background-color: #fff;
1515
- border: 1px solid #ddd;
1516
- border-bottom-color: transparent;
1517
- }
1518
- .nav-tabs.nav-justified {
1519
- width: 100%;
1520
- border-bottom: 0;
1521
- }
1522
- .nav-tabs.nav-justified > li {
1523
- float: none;
1524
- }
1525
- .nav-tabs.nav-justified > li > a {
1526
- margin-bottom: 5px;
1527
- text-align: center;
1528
- }
1529
- .nav-tabs.nav-justified > .dropdown .dropdown-menu {
1530
- top: auto;
1531
- left: auto;
1532
- }
1533
- @media (min-width: 768px) {
1534
- .nav-tabs.nav-justified > li {
1535
- display: table-cell;
1536
- width: 1%;
1537
- }
1538
- .nav-tabs.nav-justified > li > a {
1539
- margin-bottom: 0;
1540
- }
1541
- }
1542
- .nav-tabs.nav-justified > li > a {
1543
- margin-right: 0;
1544
- border-radius: 4px;
1545
- }
1546
- .nav-tabs.nav-justified > .active > a,
1547
- .nav-tabs.nav-justified > .active > a:hover,
1548
- .nav-tabs.nav-justified > .active > a:focus {
1549
- border: 1px solid #ddd;
1550
- }
1551
- @media (min-width: 768px) {
1552
- .nav-tabs.nav-justified > li > a {
1553
- border-bottom: 1px solid #ddd;
1554
- border-radius: 4px 4px 0 0;
1555
- }
1556
- .nav-tabs.nav-justified > .active > a,
1557
- .nav-tabs.nav-justified > .active > a:hover,
1558
- .nav-tabs.nav-justified > .active > a:focus {
1559
- border-bottom-color: #fff;
1560
- }
1561
- }
1562
- .nav-pills > li {
1563
- float: left;
1564
- }
1565
- .nav-pills > li > a {
1566
- border-radius: 4px;
1567
- }
1568
- .nav-pills > li + li {
1569
- margin-left: 2px;
1570
- }
1571
- .nav-pills > li.active > a,
1572
- .nav-pills > li.active > a:hover,
1573
- .nav-pills > li.active > a:focus {
1574
- color: #fff;
1575
- background-color: #337ab7;
1576
- }
1577
- .nav-stacked > li {
1578
- float: none;
1579
- }
1580
- .nav-stacked > li + li {
1581
- margin-top: 2px;
1582
- margin-left: 0;
1583
- }
1584
- .nav-justified {
1585
- width: 100%;
1586
- }
1587
- .nav-justified > li {
1588
- float: none;
1589
- }
1590
- .nav-justified > li > a {
1591
- margin-bottom: 5px;
1592
- text-align: center;
1593
- }
1594
- .nav-justified > .dropdown .dropdown-menu {
1595
- top: auto;
1596
- left: auto;
1597
- }
1598
- @media (min-width: 768px) {
1599
- .nav-justified > li {
1600
- display: table-cell;
1601
- width: 1%;
1602
- }
1603
- .nav-justified > li > a {
1604
- margin-bottom: 0;
1605
- }
1606
- }
1607
- .nav-tabs-justified {
1608
- border-bottom: 0;
1609
- }
1610
- .nav-tabs-justified > li > a {
1611
- margin-right: 0;
1612
- border-radius: 4px;
1613
- }
1614
- .nav-tabs-justified > .active > a,
1615
- .nav-tabs-justified > .active > a:hover,
1616
- .nav-tabs-justified > .active > a:focus {
1617
- border: 1px solid #ddd;
1618
- }
1619
- @media (min-width: 768px) {
1620
- .nav-tabs-justified > li > a {
1621
- border-bottom: 1px solid #ddd;
1622
- border-radius: 4px 4px 0 0;
1623
- }
1624
- .nav-tabs-justified > .active > a,
1625
- .nav-tabs-justified > .active > a:hover,
1626
- .nav-tabs-justified > .active > a:focus {
1627
- border-bottom-color: #fff;
1628
- }
1629
- }
1630
- .tab-content > .tab-pane {
1631
- display: none;
1632
- }
1633
- .tab-content > .active {
1634
- display: block;
1635
- }
1636
- .nav-tabs .dropdown-menu {
1637
- margin-top: -1px;
1638
- border-top-left-radius: 0;
1639
- border-top-right-radius: 0;
1640
- }
1641
- .navbar {
1642
- position: relative;
1643
- min-height: 50px;
1644
- margin-bottom: 20px;
1645
- border: 1px solid transparent;
1646
- }
1647
- @media (min-width: 768px) {
1648
- .navbar {
1649
- border-radius: 4px;
1650
- }
1651
- }
1652
- @media (min-width: 768px) {
1653
- .navbar-header {
1654
- float: left;
1655
- }
1656
- }
1657
- .navbar-collapse {
1658
- padding-right: 15px;
1659
- padding-left: 15px;
1660
- overflow-x: visible;
1661
- -webkit-overflow-scrolling: touch;
1662
- border-top: 1px solid transparent;
1663
- -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
1664
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
1665
- }
1666
- .navbar-collapse.in {
1667
- overflow-y: auto;
1668
- }
1669
- @media (min-width: 768px) {
1670
- .navbar-collapse {
1671
- width: auto;
1672
- border-top: 0;
1673
- -webkit-box-shadow: none;
1674
- box-shadow: none;
1675
- }
1676
- .navbar-collapse.collapse {
1677
- display: block !important;
1678
- height: auto !important;
1679
- padding-bottom: 0;
1680
- overflow: visible !important;
1681
- }
1682
- .navbar-collapse.in {
1683
- overflow-y: visible;
1684
- }
1685
- .navbar-fixed-top .navbar-collapse,
1686
- .navbar-static-top .navbar-collapse,
1687
- .navbar-fixed-bottom .navbar-collapse {
1688
- padding-right: 0;
1689
- padding-left: 0;
1690
- }
1691
- }
1692
- .navbar-fixed-top .navbar-collapse,
1693
- .navbar-fixed-bottom .navbar-collapse {
1694
- max-height: 340px;
1695
- }
1696
- @media (max-device-width: 480px) and (orientation: landscape) {
1697
- .navbar-fixed-top .navbar-collapse,
1698
- .navbar-fixed-bottom .navbar-collapse {
1699
- max-height: 200px;
1700
- }
1701
- }
1702
- .container > .navbar-header,
1703
- .container-fluid > .navbar-header,
1704
- .container > .navbar-collapse,
1705
- .container-fluid > .navbar-collapse {
1706
- margin-right: -15px;
1707
- margin-left: -15px;
1708
- }
1709
- @media (min-width: 768px) {
1710
- .container > .navbar-header,
1711
- .container-fluid > .navbar-header,
1712
- .container > .navbar-collapse,
1713
- .container-fluid > .navbar-collapse {
1714
- margin-right: 0;
1715
- margin-left: 0;
1716
- }
1717
- }
1718
- .navbar-static-top {
1719
- z-index: 1000;
1720
- border-width: 0 0 1px;
1721
- }
1722
- @media (min-width: 768px) {
1723
- .navbar-static-top {
1724
- border-radius: 0;
1725
- }
1726
- }
1727
- .navbar-fixed-top,
1728
- .navbar-fixed-bottom {
1729
- position: fixed;
1730
- right: 0;
1731
- left: 0;
1732
- z-index: 1030;
1733
- }
1734
- @media (min-width: 768px) {
1735
- .navbar-fixed-top,
1736
- .navbar-fixed-bottom {
1737
- border-radius: 0;
1738
- }
1739
- }
1740
- .navbar-fixed-top {
1741
- top: 0;
1742
- border-width: 0 0 1px;
1743
- }
1744
- .navbar-fixed-bottom {
1745
- bottom: 0;
1746
- margin-bottom: 0;
1747
- border-width: 1px 0 0;
1748
- }
1749
- .navbar-brand {
1750
- float: left;
1751
- height: 50px;
1752
- padding: 15px 15px;
1753
- font-size: 18px;
1754
- line-height: 20px;
1755
- }
1756
- .navbar-brand:hover,
1757
- .navbar-brand:focus {
1758
- text-decoration: none;
1759
- }
1760
- .navbar-brand > img {
1761
- display: block;
1762
- }
1763
- @media (min-width: 768px) {
1764
- .navbar > .container .navbar-brand,
1765
- .navbar > .container-fluid .navbar-brand {
1766
- margin-left: -15px;
1767
- }
1768
- }
1769
- .navbar-toggle {
1770
- position: relative;
1771
- float: right;
1772
- padding: 9px 10px;
1773
- margin-top: 8px;
1774
- margin-right: 15px;
1775
- margin-bottom: 8px;
1776
- background-color: transparent;
1777
- background-image: none;
1778
- border: 1px solid transparent;
1779
- border-radius: 4px;
1780
- }
1781
- .navbar-toggle:focus {
1782
- outline: 0;
1783
- }
1784
- .navbar-toggle .icon-bar {
1785
- display: block;
1786
- width: 22px;
1787
- height: 2px;
1788
- border-radius: 1px;
1789
- }
1790
- .navbar-toggle .icon-bar + .icon-bar {
1791
- margin-top: 4px;
1792
- }
1793
- @media (min-width: 768px) {
1794
- .navbar-toggle {
1795
- display: none;
1796
- }
1797
- }
1798
- .navbar-nav {
1799
- margin: 7.5px -15px;
1800
- }
1801
- .navbar-nav > li > a {
1802
- padding-top: 10px;
1803
- padding-bottom: 10px;
1804
- line-height: 20px;
1805
- }
1806
- @media (max-width: 767px) {
1807
- .navbar-nav .open .dropdown-menu {
1808
- position: static;
1809
- float: none;
1810
- width: auto;
1811
- margin-top: 0;
1812
- background-color: transparent;
1813
- border: 0;
1814
- -webkit-box-shadow: none;
1815
- box-shadow: none;
1816
- }
1817
- .navbar-nav .open .dropdown-menu > li > a,
1818
- .navbar-nav .open .dropdown-menu .dropdown-header {
1819
- padding: 5px 15px 5px 25px;
1820
- }
1821
- .navbar-nav .open .dropdown-menu > li > a {
1822
- line-height: 20px;
1823
- }
1824
- .navbar-nav .open .dropdown-menu > li > a:hover,
1825
- .navbar-nav .open .dropdown-menu > li > a:focus {
1826
- background-image: none;
1827
- }
1828
- }
1829
- @media (min-width: 768px) {
1830
- .navbar-nav {
1831
- float: left;
1832
- margin: 0;
1833
- }
1834
- .navbar-nav > li {
1835
- float: left;
1836
- }
1837
- .navbar-nav > li > a {
1838
- padding-top: 15px;
1839
- padding-bottom: 15px;
1840
- }
1841
- }
1842
- .navbar-form {
1843
- padding: 10px 15px;
1844
- margin-top: 8px;
1845
- margin-right: -15px;
1846
- margin-bottom: 8px;
1847
- margin-left: -15px;
1848
- border-top: 1px solid transparent;
1849
- border-bottom: 1px solid transparent;
1850
- -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);
1851
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);
1852
- }
1853
- @media (min-width: 768px) {
1854
- .navbar-form .form-group {
1855
- display: inline-block;
1856
- margin-bottom: 0;
1857
- vertical-align: middle;
1858
- }
1859
- .navbar-form .form-control {
1860
- display: inline-block;
1861
- width: auto;
1862
- vertical-align: middle;
1863
- }
1864
- .navbar-form .form-control-static {
1865
- display: inline-block;
1866
- }
1867
- .navbar-form .input-group {
1868
- display: inline-table;
1869
- vertical-align: middle;
1870
- }
1871
- .navbar-form .input-group .input-group-addon,
1872
- .navbar-form .input-group .input-group-btn,
1873
- .navbar-form .input-group .form-control {
1874
- width: auto;
1875
- }
1876
- .navbar-form .input-group > .form-control {
1877
- width: 100%;
1878
- }
1879
- .navbar-form .control-label {
1880
- margin-bottom: 0;
1881
- vertical-align: middle;
1882
- }
1883
- .navbar-form .radio,
1884
- .navbar-form .checkbox {
1885
- display: inline-block;
1886
- margin-top: 0;
1887
- margin-bottom: 0;
1888
- vertical-align: middle;
1889
- }
1890
- .navbar-form .radio label,
1891
- .navbar-form .checkbox label {
1892
- padding-left: 0;
1893
- }
1894
- .navbar-form .radio input[type="radio"],
1895
- .navbar-form .checkbox input[type="checkbox"] {
1896
- position: relative;
1897
- margin-left: 0;
1898
- }
1899
- .navbar-form .has-feedback .form-control-feedback {
1900
- top: 0;
1901
- }
1902
- }
1903
- @media (max-width: 767px) {
1904
- .navbar-form .form-group {
1905
- margin-bottom: 5px;
1906
- }
1907
- .navbar-form .form-group:last-child {
1908
- margin-bottom: 0;
1909
- }
1910
- }
1911
- @media (min-width: 768px) {
1912
- .navbar-form {
1913
- width: auto;
1914
- padding-top: 0;
1915
- padding-bottom: 0;
1916
- margin-right: 0;
1917
- margin-left: 0;
1918
- border: 0;
1919
- -webkit-box-shadow: none;
1920
- box-shadow: none;
1921
- }
1922
- }
1923
- .navbar-nav > li > .dropdown-menu {
1924
- margin-top: 0;
1925
- border-top-left-radius: 0;
1926
- border-top-right-radius: 0;
1927
- }
1928
- .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
1929
- margin-bottom: 0;
1930
- border-top-left-radius: 4px;
1931
- border-top-right-radius: 4px;
1932
- border-bottom-right-radius: 0;
1933
- border-bottom-left-radius: 0;
1934
- }
1935
- .navbar-btn {
1936
- margin-top: 8px;
1937
- margin-bottom: 8px;
1938
- }
1939
- .navbar-btn.btn-sm {
1940
- margin-top: 10px;
1941
- margin-bottom: 10px;
1942
- }
1943
- .navbar-btn.btn-xs {
1944
- margin-top: 14px;
1945
- margin-bottom: 14px;
1946
- }
1947
- .navbar-text {
1948
- margin-top: 15px;
1949
- margin-bottom: 15px;
1950
- }
1951
- @media (min-width: 768px) {
1952
- .navbar-text {
1953
- float: left;
1954
- margin-right: 15px;
1955
- margin-left: 15px;
1956
- }
1957
- }
1958
- @media (min-width: 768px) {
1959
- .navbar-left {
1960
- float: left !important;
1961
- }
1962
- .navbar-right {
1963
- float: right !important;
1964
- margin-right: -15px;
1965
- }
1966
- .navbar-right ~ .navbar-right {
1967
- margin-right: 0;
1968
- }
1969
- }
1970
- .navbar-default {
1971
- background-color: #f8f8f8;
1972
- border-color: #e7e7e7;
1973
- }
1974
- .navbar-default .navbar-brand {
1975
- color: #777;
1976
- }
1977
- .navbar-default .navbar-brand:hover,
1978
- .navbar-default .navbar-brand:focus {
1979
- color: #5e5e5e;
1980
- background-color: transparent;
1981
- }
1982
- .navbar-default .navbar-text {
1983
- color: #777;
1984
- }
1985
- .navbar-default .navbar-nav > li > a {
1986
- color: #777;
1987
- }
1988
- .navbar-default .navbar-nav > li > a:hover,
1989
- .navbar-default .navbar-nav > li > a:focus {
1990
- color: #333;
1991
- background-color: transparent;
1992
- }
1993
- .navbar-default .navbar-nav > .active > a,
1994
- .navbar-default .navbar-nav > .active > a:hover,
1995
- .navbar-default .navbar-nav > .active > a:focus {
1996
- color: #555;
1997
- background-color: #e7e7e7;
1998
- }
1999
- .navbar-default .navbar-nav > .disabled > a,
2000
- .navbar-default .navbar-nav > .disabled > a:hover,
2001
- .navbar-default .navbar-nav > .disabled > a:focus {
2002
- color: #ccc;
2003
- background-color: transparent;
2004
- }
2005
- .navbar-default .navbar-toggle {
2006
- border-color: #ddd;
2007
- }
2008
- .navbar-default .navbar-toggle:hover,
2009
- .navbar-default .navbar-toggle:focus {
2010
- background-color: #ddd;
2011
- }
2012
- .navbar-default .navbar-toggle .icon-bar {
2013
- background-color: #888;
2014
- }
2015
- .navbar-default .navbar-collapse,
2016
- .navbar-default .navbar-form {
2017
- border-color: #e7e7e7;
2018
- }
2019
- .navbar-default .navbar-nav > .open > a,
2020
- .navbar-default .navbar-nav > .open > a:hover,
2021
- .navbar-default .navbar-nav > .open > a:focus {
2022
- color: #555;
2023
- background-color: #e7e7e7;
2024
- }
2025
- @media (max-width: 767px) {
2026
- .navbar-default .navbar-nav .open .dropdown-menu > li > a {
2027
- color: #777;
2028
- }
2029
- .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
2030
- .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
2031
- color: #333;
2032
- background-color: transparent;
2033
- }
2034
- .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
2035
- .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
2036
- .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
2037
- color: #555;
2038
- background-color: #e7e7e7;
2039
- }
2040
- .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
2041
- .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
2042
- .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
2043
- color: #ccc;
2044
- background-color: transparent;
2045
- }
2046
- }
2047
- .navbar-default .navbar-link {
2048
- color: #777;
2049
- }
2050
- .navbar-default .navbar-link:hover {
2051
- color: #333;
2052
- }
2053
- .navbar-default .btn-link {
2054
- color: #777;
2055
- }
2056
- .navbar-default .btn-link:hover,
2057
- .navbar-default .btn-link:focus {
2058
- color: #333;
2059
- }
2060
- .navbar-default .btn-link[disabled]:hover,
2061
- fieldset[disabled] .navbar-default .btn-link:hover,
2062
- .navbar-default .btn-link[disabled]:focus,
2063
- fieldset[disabled] .navbar-default .btn-link:focus {
2064
- color: #ccc;
2065
- }
2066
- .navbar-inverse {
2067
- background-color: #222;
2068
- border-color: #080808;
2069
- }
2070
- .navbar-inverse .navbar-brand {
2071
- color: #9d9d9d;
2072
- }
2073
- .navbar-inverse .navbar-brand:hover,
2074
- .navbar-inverse .navbar-brand:focus {
2075
- color: #fff;
2076
- background-color: transparent;
2077
- }
2078
- .navbar-inverse .navbar-text {
2079
- color: #9d9d9d;
2080
- }
2081
- .navbar-inverse .navbar-nav > li > a {
2082
- color: #9d9d9d;
2083
- }
2084
- .navbar-inverse .navbar-nav > li > a:hover,
2085
- .navbar-inverse .navbar-nav > li > a:focus {
2086
- color: #fff;
2087
- background-color: transparent;
2088
- }
2089
- .navbar-inverse .navbar-nav > .active > a,
2090
- .navbar-inverse .navbar-nav > .active > a:hover,
2091
- .navbar-inverse .navbar-nav > .active > a:focus {
2092
- color: #fff;
2093
- background-color: #080808;
2094
- }
2095
- .navbar-inverse .navbar-nav > .disabled > a,
2096
- .navbar-inverse .navbar-nav > .disabled > a:hover,
2097
- .navbar-inverse .navbar-nav > .disabled > a:focus {
2098
- color: #444;
2099
- background-color: transparent;
2100
- }
2101
- .navbar-inverse .navbar-toggle {
2102
- border-color: #333;
2103
- }
2104
- .navbar-inverse .navbar-toggle:hover,
2105
- .navbar-inverse .navbar-toggle:focus {
2106
- background-color: #333;
2107
- }
2108
- .navbar-inverse .navbar-toggle .icon-bar {
2109
- background-color: #fff;
2110
- }
2111
- .navbar-inverse .navbar-collapse,
2112
- .navbar-inverse .navbar-form {
2113
- border-color: #101010;
2114
- }
2115
- .navbar-inverse .navbar-nav > .open > a,
2116
- .navbar-inverse .navbar-nav > .open > a:hover,
2117
- .navbar-inverse .navbar-nav > .open > a:focus {
2118
- color: #fff;
2119
- background-color: #080808;
2120
- }
2121
- @media (max-width: 767px) {
2122
- .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
2123
- border-color: #080808;
2124
- }
2125
- .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
2126
- background-color: #080808;
2127
- }
2128
- .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
2129
- color: #9d9d9d;
2130
- }
2131
- .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
2132
- .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
2133
- color: #fff;
2134
- background-color: transparent;
2135
- }
2136
- .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
2137
- .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
2138
- .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
2139
- color: #fff;
2140
- background-color: #080808;
2141
- }
2142
- .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
2143
- .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
2144
- .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
2145
- color: #444;
2146
- background-color: transparent;
2147
- }
2148
- }
2149
- .navbar-inverse .navbar-link {
2150
- color: #9d9d9d;
2151
- }
2152
- .navbar-inverse .navbar-link:hover {
2153
- color: #fff;
2154
- }
2155
- .navbar-inverse .btn-link {
2156
- color: #9d9d9d;
2157
- }
2158
- .navbar-inverse .btn-link:hover,
2159
- .navbar-inverse .btn-link:focus {
2160
- color: #fff;
2161
- }
2162
- .navbar-inverse .btn-link[disabled]:hover,
2163
- fieldset[disabled] .navbar-inverse .btn-link:hover,
2164
- .navbar-inverse .btn-link[disabled]:focus,
2165
- fieldset[disabled] .navbar-inverse .btn-link:focus {
2166
- color: #444;
2167
- }
2168
- .breadcrumb {
2169
- padding: 8px 15px;
2170
- margin-bottom: 20px;
2171
- list-style: none;
2172
- background-color: #f5f5f5;
2173
- border-radius: 4px;
2174
- }
2175
- .breadcrumb > li {
2176
- display: inline-block;
2177
- }
2178
- .breadcrumb > li + li:before {
2179
- padding: 0 5px;
2180
- color: #ccc;
2181
- content: "/\00a0";
2182
- }
2183
- .breadcrumb > .active {
2184
- color: #777;
2185
- }
2186
- .pagination {
2187
- display: inline-block;
2188
- padding-left: 0;
2189
- margin: 20px 0;
2190
- border-radius: 4px;
2191
- }
2192
- .pagination > li {
2193
- display: inline;
2194
- }
2195
- .pagination > li > a,
2196
- .pagination > li > span {
2197
- position: relative;
2198
- float: left;
2199
- padding: 6px 12px;
2200
- margin-left: -1px;
2201
- line-height: 1.42857143;
2202
- color: #337ab7;
2203
- text-decoration: none;
2204
- background-color: #fff;
2205
- border: 1px solid #ddd;
2206
- }
2207
- .pagination > li:first-child > a,
2208
- .pagination > li:first-child > span {
2209
- margin-left: 0;
2210
- border-top-left-radius: 4px;
2211
- border-bottom-left-radius: 4px;
2212
- }
2213
- .pagination > li:last-child > a,
2214
- .pagination > li:last-child > span {
2215
- border-top-right-radius: 4px;
2216
- border-bottom-right-radius: 4px;
2217
- }
2218
- .pagination > li > a:hover,
2219
- .pagination > li > span:hover,
2220
- .pagination > li > a:focus,
2221
- .pagination > li > span:focus {
2222
- z-index: 2;
2223
- color: #23527c;
2224
- background-color: #eee;
2225
- border-color: #ddd;
2226
- }
2227
- .pagination > .active > a,
2228
- .pagination > .active > span,
2229
- .pagination > .active > a:hover,
2230
- .pagination > .active > span:hover,
2231
- .pagination > .active > a:focus,
2232
- .pagination > .active > span:focus {
2233
- z-index: 3;
2234
- color: #fff;
2235
- cursor: default;
2236
- background-color: #337ab7;
2237
- border-color: #337ab7;
2238
- }
2239
- .pagination > .disabled > span,
2240
- .pagination > .disabled > span:hover,
2241
- .pagination > .disabled > span:focus,
2242
- .pagination > .disabled > a,
2243
- .pagination > .disabled > a:hover,
2244
- .pagination > .disabled > a:focus {
2245
- color: #777;
2246
- cursor: not-allowed;
2247
- background-color: #fff;
2248
- border-color: #ddd;
2249
- }
2250
- .pagination-lg > li > a,
2251
- .pagination-lg > li > span {
2252
- padding: 10px 16px;
2253
- font-size: 18px;
2254
- line-height: 1.3333333;
2255
- }
2256
- .pagination-lg > li:first-child > a,
2257
- .pagination-lg > li:first-child > span {
2258
- border-top-left-radius: 6px;
2259
- border-bottom-left-radius: 6px;
2260
- }
2261
- .pagination-lg > li:last-child > a,
2262
- .pagination-lg > li:last-child > span {
2263
- border-top-right-radius: 6px;
2264
- border-bottom-right-radius: 6px;
2265
- }
2266
- .pagination-sm > li > a,
2267
- .pagination-sm > li > span {
2268
- padding: 5px 10px;
2269
- font-size: 12px;
2270
- line-height: 1.5;
2271
- }
2272
- .pagination-sm > li:first-child > a,
2273
- .pagination-sm > li:first-child > span {
2274
- border-top-left-radius: 3px;
2275
- border-bottom-left-radius: 3px;
2276
- }
2277
- .pagination-sm > li:last-child > a,
2278
- .pagination-sm > li:last-child > span {
2279
- border-top-right-radius: 3px;
2280
- border-bottom-right-radius: 3px;
2281
- }
2282
- .pager {
2283
- padding-left: 0;
2284
- margin: 20px 0;
2285
- text-align: center;
2286
- list-style: none;
2287
- }
2288
- .pager li {
2289
- display: inline;
2290
- }
2291
- .pager li > a,
2292
- .pager li > span {
2293
- display: inline-block;
2294
- padding: 5px 14px;
2295
- background-color: #fff;
2296
- border: 1px solid #ddd;
2297
- border-radius: 15px;
2298
- }
2299
- .pager li > a:hover,
2300
- .pager li > a:focus {
2301
- text-decoration: none;
2302
- background-color: #eee;
2303
- }
2304
- .pager .next > a,
2305
- .pager .next > span {
2306
- float: right;
2307
- }
2308
- .pager .previous > a,
2309
- .pager .previous > span {
2310
- float: left;
2311
- }
2312
- .pager .disabled > a,
2313
- .pager .disabled > a:hover,
2314
- .pager .disabled > a:focus,
2315
- .pager .disabled > span {
2316
- color: #777;
2317
- cursor: not-allowed;
2318
- background-color: #fff;
2319
- }
2320
- .label {
2321
- display: inline;
2322
- padding: .2em .6em .3em;
2323
- font-size: 75%;
2324
- font-weight: bold;
2325
- line-height: 1;
2326
- color: #fff;
2327
- text-align: center;
2328
- white-space: nowrap;
2329
- vertical-align: baseline;
2330
- border-radius: .25em;
2331
- }
2332
- a.label:hover,
2333
- a.label:focus {
2334
- color: #fff;
2335
- text-decoration: none;
2336
- cursor: pointer;
2337
- }
2338
- .label:empty {
2339
- display: none;
2340
- }
2341
- .btn .label {
2342
- position: relative;
2343
- top: -1px;
2344
- }
2345
- .label-default {
2346
- background-color: #777;
2347
- }
2348
- .label-default[href]:hover,
2349
- .label-default[href]:focus {
2350
- background-color: #5e5e5e;
2351
- }
2352
- .label-primary {
2353
- background-color: #337ab7;
2354
- }
2355
- .label-primary[href]:hover,
2356
- .label-primary[href]:focus {
2357
- background-color: #286090;
2358
- }
2359
- .label-success {
2360
- background-color: #5cb85c;
2361
- }
2362
- .label-success[href]:hover,
2363
- .label-success[href]:focus {
2364
- background-color: #449d44;
2365
- }
2366
- .label-info {
2367
- background-color: #5bc0de;
2368
- }
2369
- .label-info[href]:hover,
2370
- .label-info[href]:focus {
2371
- background-color: #31b0d5;
2372
- }
2373
- .label-warning {
2374
- background-color: #f0ad4e;
2375
- }
2376
- .label-warning[href]:hover,
2377
- .label-warning[href]:focus {
2378
- background-color: #ec971f;
2379
- }
2380
- .label-danger {
2381
- background-color: #d9534f;
2382
- }
2383
- .label-danger[href]:hover,
2384
- .label-danger[href]:focus {
2385
- background-color: #c9302c;
2386
- }
2387
- .badge {
2388
- display: inline-block;
2389
- min-width: 10px;
2390
- padding: 3px 7px;
2391
- font-size: 12px;
2392
- font-weight: bold;
2393
- line-height: 1;
2394
- color: #fff;
2395
- text-align: center;
2396
- white-space: nowrap;
2397
- vertical-align: middle;
2398
- background-color: #777;
2399
- border-radius: 10px;
2400
- }
2401
- .badge:empty {
2402
- display: none;
2403
- }
2404
- .btn .badge {
2405
- position: relative;
2406
- top: -1px;
2407
- }
2408
- .btn-xs .badge,
2409
- .btn-group-xs > .btn .badge {
2410
- top: 0;
2411
- padding: 1px 5px;
2412
- }
2413
- a.badge:hover,
2414
- a.badge:focus {
2415
- color: #fff;
2416
- text-decoration: none;
2417
- cursor: pointer;
2418
- }
2419
- .list-group-item.active > .badge,
2420
- .nav-pills > .active > a > .badge {
2421
- color: #337ab7;
2422
- background-color: #fff;
2423
- }
2424
- .list-group-item > .badge {
2425
- float: right;
2426
- }
2427
- .list-group-item > .badge + .badge {
2428
- margin-right: 5px;
2429
- }
2430
- .nav-pills > li > a > .badge {
2431
- margin-left: 3px;
2432
- }
2433
- .jumbotron {
2434
- padding-top: 30px;
2435
- padding-bottom: 30px;
2436
- margin-bottom: 30px;
2437
- color: inherit;
2438
- background-color: #eee;
2439
- }
2440
- .jumbotron h1,
2441
- .jumbotron .h1 {
2442
- color: inherit;
2443
- }
2444
- .jumbotron p {
2445
- margin-bottom: 15px;
2446
- font-size: 21px;
2447
- font-weight: 200;
2448
- }
2449
- .jumbotron > hr {
2450
- border-top-color: #d5d5d5;
2451
- }
2452
- .container .jumbotron,
2453
- .container-fluid .jumbotron {
2454
- padding-right: 15px;
2455
- padding-left: 15px;
2456
- border-radius: 6px;
2457
- }
2458
- .jumbotron .container {
2459
- max-width: 100%;
2460
- }
2461
- @media screen and (min-width: 768px) {
2462
- .jumbotron {
2463
- padding-top: 48px;
2464
- padding-bottom: 48px;
2465
- }
2466
- .container .jumbotron,
2467
- .container-fluid .jumbotron {
2468
- padding-right: 60px;
2469
- padding-left: 60px;
2470
- }
2471
- .jumbotron h1,
2472
- .jumbotron .h1 {
2473
- font-size: 63px;
2474
- }
2475
- }
2476
- .thumbnail {
2477
- display: block;
2478
- padding: 4px;
2479
- margin-bottom: 20px;
2480
- line-height: 1.42857143;
2481
- background-color: #fff;
2482
- border: 1px solid #ddd;
2483
- border-radius: 4px;
2484
- -webkit-transition: border .2s ease-in-out;
2485
- -o-transition: border .2s ease-in-out;
2486
- transition: border .2s ease-in-out;
2487
- }
2488
- .thumbnail > img,
2489
- .thumbnail a > img {
2490
- margin-right: auto;
2491
- margin-left: auto;
2492
- }
2493
- a.thumbnail:hover,
2494
- a.thumbnail:focus,
2495
- a.thumbnail.active {
2496
- border-color: #337ab7;
2497
- }
2498
- .thumbnail .caption {
2499
- padding: 9px;
2500
- color: #333;
2501
- }
2502
- .alert {
2503
- padding: 15px;
2504
- margin-bottom: 20px;
2505
- border: 1px solid transparent;
2506
- border-radius: 4px;
2507
- }
2508
- .alert h4 {
2509
- margin-top: 0;
2510
- color: inherit;
2511
- }
2512
- .alert .alert-link {
2513
- font-weight: bold;
2514
- }
2515
- .alert > p,
2516
- .alert > ul {
2517
- margin-bottom: 0;
2518
- }
2519
- .alert > p + p {
2520
- margin-top: 5px;
2521
- }
2522
- .alert-dismissable,
2523
- .alert-dismissible {
2524
- padding-right: 35px;
2525
- }
2526
- .alert-dismissable .close,
2527
- .alert-dismissible .close {
2528
- position: relative;
2529
- top: -2px;
2530
- right: -21px;
2531
- color: inherit;
2532
- }
2533
- .alert-success {
2534
- color: #3c763d;
2535
- background-color: #dff0d8;
2536
- border-color: #d6e9c6;
2537
- }
2538
- .alert-success hr {
2539
- border-top-color: #c9e2b3;
2540
- }
2541
- .alert-success .alert-link {
2542
- color: #2b542c;
2543
- }
2544
- .alert-info {
2545
- color: #31708f;
2546
- background-color: #d9edf7;
2547
- border-color: #bce8f1;
2548
- }
2549
- .alert-info hr {
2550
- border-top-color: #a6e1ec;
2551
- }
2552
- .alert-info .alert-link {
2553
- color: #245269;
2554
- }
2555
- .alert-warning {
2556
- color: #8a6d3b;
2557
- background-color: #fcf8e3;
2558
- border-color: #faebcc;
2559
- }
2560
- .alert-warning hr {
2561
- border-top-color: #f7e1b5;
2562
- }
2563
- .alert-warning .alert-link {
2564
- color: #66512c;
2565
- }
2566
- .alert-danger {
2567
- color: #a94442;
2568
- background-color: #f2dede;
2569
- border-color: #ebccd1;
2570
- }
2571
- .alert-danger hr {
2572
- border-top-color: #e4b9c0;
2573
- }
2574
- .alert-danger .alert-link {
2575
- color: #843534;
2576
- }
2577
- @-webkit-keyframes progress-bar-stripes {
2578
- from {
2579
- background-position: 40px 0;
2580
- }
2581
- to {
2582
- background-position: 0 0;
2583
- }
2584
- }
2585
- @-o-keyframes progress-bar-stripes {
2586
- from {
2587
- background-position: 40px 0;
2588
- }
2589
- to {
2590
- background-position: 0 0;
2591
- }
2592
- }
2593
- @keyframes progress-bar-stripes {
2594
- from {
2595
- background-position: 40px 0;
2596
- }
2597
- to {
2598
- background-position: 0 0;
2599
- }
2600
- }
2601
- .progress {
2602
- height: 20px;
2603
- margin-bottom: 20px;
2604
- overflow: hidden;
2605
- background-color: #f5f5f5;
2606
- border-radius: 4px;
2607
- -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
2608
- box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
2609
- }
2610
- .progress-bar {
2611
- float: left;
2612
- width: 0;
2613
- height: 100%;
2614
- font-size: 12px;
2615
- line-height: 20px;
2616
- color: #fff;
2617
- text-align: center;
2618
- background-color: #337ab7;
2619
- -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);
2620
- box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);
2621
- -webkit-transition: width .6s ease;
2622
- -o-transition: width .6s ease;
2623
- transition: width .6s ease;
2624
- }
2625
- .progress-striped .progress-bar,
2626
- .progress-bar-striped {
2627
- background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
2628
- background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
2629
- background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
2630
- -webkit-background-size: 40px 40px;
2631
- background-size: 40px 40px;
2632
- }
2633
- .progress.active .progress-bar,
2634
- .progress-bar.active {
2635
- -webkit-animation: progress-bar-stripes 2s linear infinite;
2636
- -o-animation: progress-bar-stripes 2s linear infinite;
2637
- animation: progress-bar-stripes 2s linear infinite;
2638
- }
2639
- .progress-bar-success {
2640
- background-color: #5cb85c;
2641
- }
2642
- .progress-striped .progress-bar-success {
2643
- background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
2644
- background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
2645
- background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
2646
- }
2647
-
2648
- .progress-striped .progress-bar-info {
2649
- background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
2650
- background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
2651
- background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
2652
- }
2653
- .progress-bar-warning {
2654
- background-color: #f0ad4e;
2655
- }
2656
- .progress-striped .progress-bar-warning {
2657
- background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
2658
- background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
2659
- background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
2660
- }
2661
- .progress-bar-danger {
2662
- background-color: #d9534f;
2663
- }
2664
- .progress-striped .progress-bar-danger {
2665
- background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
2666
- background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
2667
- background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
2668
- }
2669
- .media {
2670
- margin-top: 15px;
2671
- }
2672
- .media:first-child {
2673
- margin-top: 0;
2674
- }
2675
- .media,
2676
- .media-body {
2677
- overflow: hidden;
2678
- zoom: 1;
2679
- }
2680
- .media-body {
2681
- width: 10000px;
2682
- }
2683
- .media-object {
2684
- display: block;
2685
- }
2686
- .media-object.img-thumbnail {
2687
- max-width: none;
2688
- }
2689
- .media-right,
2690
- .media > .pull-right {
2691
- padding-left: 10px;
2692
- }
2693
- .media-left,
2694
- .media > .pull-left {
2695
- padding-right: 10px;
2696
- }
2697
- .media-left,
2698
- .media-right,
2699
- .media-body {
2700
- display: table-cell;
2701
- vertical-align: top;
2702
- }
2703
- .media-middle {
2704
- vertical-align: middle;
2705
- }
2706
- .media-bottom {
2707
- vertical-align: bottom;
2708
- }
2709
- .media-heading {
2710
- margin-top: 0;
2711
- margin-bottom: 5px;
2712
- }
2713
- .media-list {
2714
- padding-left: 0;
2715
- list-style: none;
2716
- }
2717
- .list-group {
2718
- padding-left: 0;
2719
- margin-bottom: 20px;
2720
- }
2721
- .list-group-item {
2722
- position: relative;
2723
- display: block;
2724
- padding: 10px 15px;
2725
- margin-bottom: -1px;
2726
- background-color: #fff;
2727
- border: 1px solid #ddd;
2728
- }
2729
- .list-group-item:first-child {
2730
- border-top-left-radius: 4px;
2731
- border-top-right-radius: 4px;
2732
- }
2733
- .list-group-item:last-child {
2734
- margin-bottom: 0;
2735
- border-bottom-right-radius: 4px;
2736
- border-bottom-left-radius: 4px;
2737
- }
2738
- a.list-group-item,
2739
- button.list-group-item {
2740
- color: #555;
2741
- }
2742
- a.list-group-item .list-group-item-heading,
2743
- button.list-group-item .list-group-item-heading {
2744
- color: #333;
2745
- }
2746
- a.list-group-item:hover,
2747
- button.list-group-item:hover,
2748
- a.list-group-item:focus,
2749
- button.list-group-item:focus {
2750
- color: #555;
2751
- text-decoration: none;
2752
- background-color: #f5f5f5;
2753
- }
2754
- button.list-group-item {
2755
- width: 100%;
2756
- text-align: left;
2757
- }
2758
- .list-group-item.disabled,
2759
- .list-group-item.disabled:hover,
2760
- .list-group-item.disabled:focus {
2761
- color: #777;
2762
- cursor: not-allowed;
2763
- background-color: #eee;
2764
- }
2765
- .list-group-item.disabled .list-group-item-heading,
2766
- .list-group-item.disabled:hover .list-group-item-heading,
2767
- .list-group-item.disabled:focus .list-group-item-heading {
2768
- color: inherit;
2769
- }
2770
- .list-group-item.disabled .list-group-item-text,
2771
- .list-group-item.disabled:hover .list-group-item-text,
2772
- .list-group-item.disabled:focus .list-group-item-text {
2773
- color: #777;
2774
- }
2775
- .list-group-item.active,
2776
- .list-group-item.active:hover,
2777
- .list-group-item.active:focus {
2778
- z-index: 2;
2779
- color: #fff;
2780
- background-color: #337ab7;
2781
- border-color: #337ab7;
2782
- }
2783
- .list-group-item.active .list-group-item-heading,
2784
- .list-group-item.active:hover .list-group-item-heading,
2785
- .list-group-item.active:focus .list-group-item-heading,
2786
- .list-group-item.active .list-group-item-heading > small,
2787
- .list-group-item.active:hover .list-group-item-heading > small,
2788
- .list-group-item.active:focus .list-group-item-heading > small,
2789
- .list-group-item.active .list-group-item-heading > .small,
2790
- .list-group-item.active:hover .list-group-item-heading > .small,
2791
- .list-group-item.active:focus .list-group-item-heading > .small {
2792
- color: inherit;
2793
- }
2794
- .list-group-item.active .list-group-item-text,
2795
- .list-group-item.active:hover .list-group-item-text,
2796
- .list-group-item.active:focus .list-group-item-text {
2797
- color: #c7ddef;
2798
- }
2799
- .list-group-item-success {
2800
- color: #3c763d;
2801
- background-color: #dff0d8;
2802
- }
2803
- a.list-group-item-success,
2804
- button.list-group-item-success {
2805
- color: #3c763d;
2806
- }
2807
- a.list-group-item-success .list-group-item-heading,
2808
- button.list-group-item-success .list-group-item-heading {
2809
- color: inherit;
2810
- }
2811
- a.list-group-item-success:hover,
2812
- button.list-group-item-success:hover,
2813
- a.list-group-item-success:focus,
2814
- button.list-group-item-success:focus {
2815
- color: #3c763d;
2816
- background-color: #d0e9c6;
2817
- }
2818
- a.list-group-item-success.active,
2819
- button.list-group-item-success.active,
2820
- a.list-group-item-success.active:hover,
2821
- button.list-group-item-success.active:hover,
2822
- a.list-group-item-success.active:focus,
2823
- button.list-group-item-success.active:focus {
2824
- color: #fff;
2825
- background-color: #3c763d;
2826
- border-color: #3c763d;
2827
- }
2828
- .list-group-item-info {
2829
- color: #31708f;
2830
- background-color: #d9edf7;
2831
- }
2832
- a.list-group-item-info,
2833
- button.list-group-item-info {
2834
- color: #31708f;
2835
- }
2836
- a.list-group-item-info .list-group-item-heading,
2837
- button.list-group-item-info .list-group-item-heading {
2838
- color: inherit;
2839
- }
2840
- a.list-group-item-info:hover,
2841
- button.list-group-item-info:hover,
2842
- a.list-group-item-info:focus,
2843
- button.list-group-item-info:focus {
2844
- color: #31708f;
2845
- background-color: #c4e3f3;
2846
- }
2847
- a.list-group-item-info.active,
2848
- button.list-group-item-info.active,
2849
- a.list-group-item-info.active:hover,
2850
- button.list-group-item-info.active:hover,
2851
- a.list-group-item-info.active:focus,
2852
- button.list-group-item-info.active:focus {
2853
- color: #fff;
2854
- background-color: #31708f;
2855
- border-color: #31708f;
2856
- }
2857
- .list-group-item-warning {
2858
- color: #8a6d3b;
2859
- background-color: #fcf8e3;
2860
- }
2861
- a.list-group-item-warning,
2862
- button.list-group-item-warning {
2863
- color: #8a6d3b;
2864
- }
2865
- a.list-group-item-warning .list-group-item-heading,
2866
- button.list-group-item-warning .list-group-item-heading {
2867
- color: inherit;
2868
- }
2869
- a.list-group-item-warning:hover,
2870
- button.list-group-item-warning:hover,
2871
- a.list-group-item-warning:focus,
2872
- button.list-group-item-warning:focus {
2873
- color: #8a6d3b;
2874
- background-color: #faf2cc;
2875
- }
2876
- a.list-group-item-warning.active,
2877
- button.list-group-item-warning.active,
2878
- a.list-group-item-warning.active:hover,
2879
- button.list-group-item-warning.active:hover,
2880
- a.list-group-item-warning.active:focus,
2881
- button.list-group-item-warning.active:focus {
2882
- color: #fff;
2883
- background-color: #8a6d3b;
2884
- border-color: #8a6d3b;
2885
- }
2886
- .list-group-item-danger {
2887
- color: #a94442;
2888
- background-color: #f2dede;
2889
- }
2890
- a.list-group-item-danger,
2891
- button.list-group-item-danger {
2892
- color: #a94442;
2893
- }
2894
- a.list-group-item-danger .list-group-item-heading,
2895
- button.list-group-item-danger .list-group-item-heading {
2896
- color: inherit;
2897
- }
2898
- a.list-group-item-danger:hover,
2899
- button.list-group-item-danger:hover,
2900
- a.list-group-item-danger:focus,
2901
- button.list-group-item-danger:focus {
2902
- color: #a94442;
2903
- background-color: #ebcccc;
2904
- }
2905
- a.list-group-item-danger.active,
2906
- button.list-group-item-danger.active,
2907
- a.list-group-item-danger.active:hover,
2908
- button.list-group-item-danger.active:hover,
2909
- a.list-group-item-danger.active:focus,
2910
- button.list-group-item-danger.active:focus {
2911
- color: #fff;
2912
- background-color: #a94442;
2913
- border-color: #a94442;
2914
- }
2915
- .list-group-item-heading {
2916
- margin-top: 0;
2917
- margin-bottom: 5px;
2918
- }
2919
- .list-group-item-text {
2920
- margin-bottom: 0;
2921
- line-height: 1.3;
2922
- }
2923
- .panel {
2924
- margin-bottom: 20px;
2925
- background-color: #fff;
2926
- border: 1px solid transparent;
2927
- border-radius: 4px;
2928
- -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
2929
- box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
2930
- }
2931
- .panel-body {
2932
- padding: 15px;
2933
- }
2934
- .panel-heading {
2935
- padding: 10px 15px;
2936
- border-bottom: 1px solid transparent;
2937
- border-top-left-radius: 3px;
2938
- border-top-right-radius: 3px;
2939
- }
2940
- .panel-heading > .dropdown .dropdown-toggle {
2941
- color: inherit;
2942
- }
2943
- .panel-title {
2944
- margin-top: 0;
2945
- margin-bottom: 0;
2946
- font-size: 16px;
2947
- color: inherit;
2948
- }
2949
- .panel-title > a,
2950
- .panel-title > small,
2951
- .panel-title > .small,
2952
- .panel-title > small > a,
2953
- .panel-title > .small > a {
2954
- color: inherit;
2955
- }
2956
- .panel-footer {
2957
- padding: 10px 15px;
2958
- background-color: #f5f5f5;
2959
- border-top: 1px solid #ddd;
2960
- border-bottom-right-radius: 3px;
2961
- border-bottom-left-radius: 3px;
2962
- }
2963
- .panel > .list-group,
2964
- .panel > .panel-collapse > .list-group {
2965
- margin-bottom: 0;
2966
- }
2967
- .panel > .list-group .list-group-item,
2968
- .panel > .panel-collapse > .list-group .list-group-item {
2969
- border-width: 1px 0;
2970
- border-radius: 0;
2971
- }
2972
- .panel > .list-group:first-child .list-group-item:first-child,
2973
- .panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
2974
- border-top: 0;
2975
- border-top-left-radius: 3px;
2976
- border-top-right-radius: 3px;
2977
- }
2978
- .panel > .list-group:last-child .list-group-item:last-child,
2979
- .panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
2980
- border-bottom: 0;
2981
- border-bottom-right-radius: 3px;
2982
- border-bottom-left-radius: 3px;
2983
- }
2984
- .panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
2985
- border-top-left-radius: 0;
2986
- border-top-right-radius: 0;
2987
- }
2988
- .panel-heading + .list-group .list-group-item:first-child {
2989
- border-top-width: 0;
2990
- }
2991
- .list-group + .panel-footer {
2992
- border-top-width: 0;
2993
- }
2994
- .panel > .table,
2995
- .panel > .table-responsive > .table,
2996
- .panel > .panel-collapse > .table {
2997
- margin-bottom: 0;
2998
- }
2999
- .panel > .table caption,
3000
- .panel > .table-responsive > .table caption,
3001
- .panel > .panel-collapse > .table caption {
3002
- padding-right: 15px;
3003
- padding-left: 15px;
3004
- }
3005
- .panel > .table:first-child,
3006
- .panel > .table-responsive:first-child > .table:first-child {
3007
- border-top-left-radius: 3px;
3008
- border-top-right-radius: 3px;
3009
- }
3010
- .panel > .table:first-child > thead:first-child > tr:first-child,
3011
- .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
3012
- .panel > .table:first-child > tbody:first-child > tr:first-child,
3013
- .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
3014
- border-top-left-radius: 3px;
3015
- border-top-right-radius: 3px;
3016
- }
3017
- .panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
3018
- .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
3019
- .panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
3020
- .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
3021
- .panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
3022
- .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
3023
- .panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
3024
- .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
3025
- border-top-left-radius: 3px;
3026
- }
3027
- .panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
3028
- .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
3029
- .panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
3030
- .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
3031
- .panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
3032
- .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
3033
- .panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
3034
- .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
3035
- border-top-right-radius: 3px;
3036
- }
3037
- .panel > .table:last-child,
3038
- .panel > .table-responsive:last-child > .table:last-child {
3039
- border-bottom-right-radius: 3px;
3040
- border-bottom-left-radius: 3px;
3041
- }
3042
- .panel > .table:last-child > tbody:last-child > tr:last-child,
3043
- .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
3044
- .panel > .table:last-child > tfoot:last-child > tr:last-child,
3045
- .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
3046
- border-bottom-right-radius: 3px;
3047
- border-bottom-left-radius: 3px;
3048
- }
3049
- .panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
3050
- .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
3051
- .panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
3052
- .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
3053
- .panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
3054
- .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
3055
- .panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
3056
- .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
3057
- border-bottom-left-radius: 3px;
3058
- }
3059
- .panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
3060
- .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
3061
- .panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
3062
- .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
3063
- .panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
3064
- .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
3065
- .panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
3066
- .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
3067
- border-bottom-right-radius: 3px;
3068
- }
3069
- .panel > .panel-body + .table,
3070
- .panel > .panel-body + .table-responsive,
3071
- .panel > .table + .panel-body,
3072
- .panel > .table-responsive + .panel-body {
3073
- border-top: 1px solid #ddd;
3074
- }
3075
- .panel > .table > tbody:first-child > tr:first-child th,
3076
- .panel > .table > tbody:first-child > tr:first-child td {
3077
- border-top: 0;
3078
- }
3079
- .panel > .table-bordered,
3080
- .panel > .table-responsive > .table-bordered {
3081
- border: 0;
3082
- }
3083
- .panel > .table-bordered > thead > tr > th:first-child,
3084
- .panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
3085
- .panel > .table-bordered > tbody > tr > th:first-child,
3086
- .panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
3087
- .panel > .table-bordered > tfoot > tr > th:first-child,
3088
- .panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
3089
- .panel > .table-bordered > thead > tr > td:first-child,
3090
- .panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
3091
- .panel > .table-bordered > tbody > tr > td:first-child,
3092
- .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
3093
- .panel > .table-bordered > tfoot > tr > td:first-child,
3094
- .panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
3095
- border-left: 0;
3096
- }
3097
- .panel > .table-bordered > thead > tr > th:last-child,
3098
- .panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
3099
- .panel > .table-bordered > tbody > tr > th:last-child,
3100
- .panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
3101
- .panel > .table-bordered > tfoot > tr > th:last-child,
3102
- .panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
3103
- .panel > .table-bordered > thead > tr > td:last-child,
3104
- .panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
3105
- .panel > .table-bordered > tbody > tr > td:last-child,
3106
- .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
3107
- .panel > .table-bordered > tfoot > tr > td:last-child,
3108
- .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
3109
- border-right: 0;
3110
- }
3111
- .panel > .table-bordered > thead > tr:first-child > td,
3112
- .panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
3113
- .panel > .table-bordered > tbody > tr:first-child > td,
3114
- .panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
3115
- .panel > .table-bordered > thead > tr:first-child > th,
3116
- .panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
3117
- .panel > .table-bordered > tbody > tr:first-child > th,
3118
- .panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
3119
- border-bottom: 0;
3120
- }
3121
- .panel > .table-bordered > tbody > tr:last-child > td,
3122
- .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
3123
- .panel > .table-bordered > tfoot > tr:last-child > td,
3124
- .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
3125
- .panel > .table-bordered > tbody > tr:last-child > th,
3126
- .panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
3127
- .panel > .table-bordered > tfoot > tr:last-child > th,
3128
- .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
3129
- border-bottom: 0;
3130
- }
3131
- .panel > .table-responsive {
3132
- margin-bottom: 0;
3133
- border: 0;
3134
- }
3135
- .panel-group {
3136
- margin-bottom: 20px;
3137
- }
3138
- .panel-group .panel {
3139
- margin-bottom: 0;
3140
- border-radius: 4px;
3141
- }
3142
- .panel-group .panel + .panel {
3143
- margin-top: 5px;
3144
- }
3145
- .panel-group .panel-heading {
3146
- border-bottom: 0;
3147
- }
3148
- .panel-group .panel-heading + .panel-collapse > .panel-body,
3149
- .panel-group .panel-heading + .panel-collapse > .list-group {
3150
- border-top: 1px solid #ddd;
3151
- }
3152
- .panel-group .panel-footer {
3153
- border-top: 0;
3154
- }
3155
- .panel-group .panel-footer + .panel-collapse .panel-body {
3156
- border-bottom: 1px solid #ddd;
3157
- }
3158
- .panel-default {
3159
- border-color: #ddd;
3160
- }
3161
- .panel-default > .panel-heading {
3162
- color: #333;
3163
- background-color: #f5f5f5;
3164
- border-color: #ddd;
3165
- }
3166
- .panel-default > .panel-heading + .panel-collapse > .panel-body {
3167
- border-top-color: #ddd;
3168
- }
3169
- .panel-default > .panel-heading .badge {
3170
- color: #f5f5f5;
3171
- background-color: #333;
3172
- }
3173
- .panel-default > .panel-footer + .panel-collapse > .panel-body {
3174
- border-bottom-color: #ddd;
3175
- }
3176
- .panel-primary {
3177
- border-color: #337ab7;
3178
- }
3179
- .panel-primary > .panel-heading {
3180
- color: #fff;
3181
- background-color: #337ab7;
3182
- border-color: #337ab7;
3183
- }
3184
- .panel-primary > .panel-heading + .panel-collapse > .panel-body {
3185
- border-top-color: #337ab7;
3186
- }
3187
- .panel-primary > .panel-heading .badge {
3188
- color: #337ab7;
3189
- background-color: #fff;
3190
- }
3191
- .panel-primary > .panel-footer + .panel-collapse > .panel-body {
3192
- border-bottom-color: #337ab7;
3193
- }
3194
- .panel-success {
3195
- border-color: #d6e9c6;
3196
- }
3197
- .panel-success > .panel-heading {
3198
- color: #3c763d;
3199
- background-color: #dff0d8;
3200
- border-color: #d6e9c6;
3201
- }
3202
- .panel-success > .panel-heading + .panel-collapse > .panel-body {
3203
- border-top-color: #d6e9c6;
3204
- }
3205
- .panel-success > .panel-heading .badge {
3206
- color: #dff0d8;
3207
- background-color: #3c763d;
3208
- }
3209
- .panel-success > .panel-footer + .panel-collapse > .panel-body {
3210
- border-bottom-color: #d6e9c6;
3211
- }
3212
- .panel-info {
3213
- border-color: #bce8f1;
3214
- }
3215
- .panel-info > .panel-heading {
3216
- color: #31708f;
3217
- background-color: #d9edf7;
3218
- border-color: #bce8f1;
3219
- }
3220
- .panel-info > .panel-heading + .panel-collapse > .panel-body {
3221
- border-top-color: #bce8f1;
3222
- }
3223
- .panel-info > .panel-heading .badge {
3224
- color: #d9edf7;
3225
- background-color: #31708f;
3226
- }
3227
- .panel-info > .panel-footer + .panel-collapse > .panel-body {
3228
- border-bottom-color: #bce8f1;
3229
- }
3230
- .panel-warning {
3231
- border-color: #faebcc;
3232
- }
3233
- .panel-warning > .panel-heading {
3234
- color: #8a6d3b;
3235
- background-color: #fcf8e3;
3236
- border-color: #faebcc;
3237
- }
3238
- .panel-warning > .panel-heading + .panel-collapse > .panel-body {
3239
- border-top-color: #faebcc;
3240
- }
3241
- .panel-warning > .panel-heading .badge {
3242
- color: #fcf8e3;
3243
- background-color: #8a6d3b;
3244
- }
3245
- .panel-warning > .panel-footer + .panel-collapse > .panel-body {
3246
- border-bottom-color: #faebcc;
3247
- }
3248
- .panel-danger {
3249
- border-color: #ebccd1;
3250
- }
3251
- .panel-danger > .panel-heading {
3252
- color: #a94442;
3253
- background-color: #f2dede;
3254
- border-color: #ebccd1;
3255
- }
3256
- .panel-danger > .panel-heading + .panel-collapse > .panel-body {
3257
- border-top-color: #ebccd1;
3258
- }
3259
- .panel-danger > .panel-heading .badge {
3260
- color: #f2dede;
3261
- background-color: #a94442;
3262
- }
3263
- .panel-danger > .panel-footer + .panel-collapse > .panel-body {
3264
- border-bottom-color: #ebccd1;
3265
- }
3266
- .embed-responsive {
3267
- position: relative;
3268
- display: block;
3269
- height: 0;
3270
- padding: 0;
3271
- overflow: hidden;
3272
- }
3273
- .embed-responsive .embed-responsive-item,
3274
- .embed-responsive iframe,
3275
- .embed-responsive embed,
3276
- .embed-responsive object,
3277
- .embed-responsive video {
3278
- position: absolute;
3279
- top: 0;
3280
- bottom: 0;
3281
- left: 0;
3282
- width: 100%;
3283
- height: 100%;
3284
- border: 0;
3285
- }
3286
- .embed-responsive-16by9 {
3287
- padding-bottom: 56.25%;
3288
- }
3289
- .embed-responsive-4by3 {
3290
- padding-bottom: 75%;
3291
- }
3292
- .well {
3293
- min-height: 20px;
3294
- padding: 19px;
3295
- margin-bottom: 20px;
3296
- background-color: #f5f5f5;
3297
- border: 1px solid #e3e3e3;
3298
- border-radius: 4px;
3299
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);
3300
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);
3301
- }
3302
- .well blockquote {
3303
- border-color: #ddd;
3304
- border-color: rgba(0, 0, 0, .15);
3305
- }
3306
- .well-lg {
3307
- padding: 24px;
3308
- border-radius: 6px;
3309
- }
3310
- .well-sm {
3311
- padding: 9px;
3312
- border-radius: 3px;
3313
- }
3314
- .close {
3315
- float: right;
3316
- font-size: 21px;
3317
- font-weight: bold;
3318
- line-height: 1;
3319
- color: #000;
3320
- text-shadow: 0 1px 0 #fff;
3321
- filter: alpha(opacity=20);
3322
- opacity: .2;
3323
- }
3324
- .close:hover,
3325
- .close:focus {
3326
- color: #000;
3327
- text-decoration: none;
3328
- cursor: pointer;
3329
- filter: alpha(opacity=50);
3330
- opacity: .5;
3331
- }
3332
- button.close {
3333
- -webkit-appearance: none;
3334
- padding: 0;
3335
- cursor: pointer;
3336
- background: transparent;
3337
- border: 0;
3338
- }
3339
- .modal-open {
3340
- overflow: hidden;
3341
- }
3342
- .modal {
3343
- position: fixed;
3344
- top: 0;
3345
- right: 0;
3346
- bottom: 0;
3347
- left: 0;
3348
- z-index: 1050;
3349
- display: none;
3350
- overflow: hidden;
3351
- -webkit-overflow-scrolling: touch;
3352
- outline: 0;
3353
- }
3354
- .modal.fade .modal-dialog {
3355
- -webkit-transition: -webkit-transform .3s ease-out;
3356
- -o-transition: -o-transform .3s ease-out;
3357
- transition: transform .3s ease-out;
3358
- -webkit-transform: translate(0, -25%);
3359
- -ms-transform: translate(0, -25%);
3360
- -o-transform: translate(0, -25%);
3361
- transform: translate(0, -25%);
3362
- }
3363
- .modal.in .modal-dialog {
3364
- -webkit-transform: translate(0, 0);
3365
- -ms-transform: translate(0, 0);
3366
- -o-transform: translate(0, 0);
3367
- transform: translate(0, 0);
3368
- }
3369
- .modal-open .modal {
3370
- overflow-x: hidden;
3371
- overflow-y: auto;
3372
- }
3373
- .modal-dialog {
3374
- position: relative;
3375
- width: auto;
3376
- margin: 10px;
3377
- }
3378
- .modal-content {
3379
- position: relative;
3380
- background-color: #fff;
3381
- -webkit-background-clip: padding-box;
3382
- background-clip: padding-box;
3383
- border: 1px solid #999;
3384
- border: 1px solid rgba(0, 0, 0, .2);
3385
- border-radius: 6px;
3386
- outline: 0;
3387
- -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
3388
- box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
3389
- }
3390
- .modal-backdrop {
3391
- position: fixed;
3392
- top: 0;
3393
- right: 0;
3394
- bottom: 0;
3395
- left: 0;
3396
- z-index: 1040;
3397
- background-color: #000;
3398
- }
3399
- .modal-backdrop.fade {
3400
- filter: alpha(opacity=0);
3401
- opacity: 0;
3402
- }
3403
- .modal-backdrop.in {
3404
- filter: alpha(opacity=50);
3405
- opacity: .5;
3406
- }
3407
- .modal-header {
3408
- padding: 15px;
3409
- border-bottom: 1px solid #e5e5e5;
3410
- }
3411
- .modal-header .close {
3412
- margin-top: -2px;
3413
- }
3414
- .modal-title {
3415
- margin: 0;
3416
- line-height: 1.42857143;
3417
- }
3418
- .modal-body {
3419
- position: relative;
3420
- padding: 15px;
3421
- }
3422
- .modal-footer {
3423
- padding: 15px;
3424
- text-align: right;
3425
- border-top: 1px solid #e5e5e5;
3426
- }
3427
- .modal-footer .btn + .btn {
3428
- margin-bottom: 0;
3429
- margin-left: 5px;
3430
- }
3431
- .modal-footer .btn-group .btn + .btn {
3432
- margin-left: -1px;
3433
- }
3434
- .modal-footer .btn-block + .btn-block {
3435
- margin-left: 0;
3436
- }
3437
- .modal-scrollbar-measure {
3438
- position: absolute;
3439
- top: -9999px;
3440
- width: 50px;
3441
- height: 50px;
3442
- overflow: scroll;
3443
- }
3444
- @media (min-width: 768px) {
3445
- .modal-dialog {
3446
- width: 600px;
3447
- margin: 30px auto;
3448
- }
3449
- .modal-content {
3450
- -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5);
3451
- box-shadow: 0 5px 15px rgba(0, 0, 0, .5);
3452
- }
3453
- .modal-sm {
3454
- width: 300px;
3455
- }
3456
- }
3457
- @media (min-width: 992px) {
3458
- .modal-lg {
3459
- width: 900px;
3460
- }
3461
- }
3462
- .tooltip {
3463
- position: absolute;
3464
- z-index: 1070;
3465
- display: block;
3466
- font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
3467
- font-size: 12px;
3468
- font-style: normal;
3469
- font-weight: normal;
3470
- line-height: 1.42857143;
3471
- text-align: left;
3472
- text-align: start;
3473
- text-decoration: none;
3474
- text-shadow: none;
3475
- text-transform: none;
3476
- letter-spacing: normal;
3477
- word-break: normal;
3478
- word-spacing: normal;
3479
- word-wrap: normal;
3480
- white-space: normal;
3481
- filter: alpha(opacity=0);
3482
- opacity: 0;
3483
-
3484
- line-break: auto;
3485
- }
3486
- .tooltip.in {
3487
- filter: alpha(opacity=90);
3488
- opacity: .9;
3489
- }
3490
- .tooltip.top {
3491
- padding: 5px 0;
3492
- margin-top: -3px;
3493
- }
3494
- .tooltip.right {
3495
- padding: 0 5px;
3496
- margin-left: 3px;
3497
- }
3498
- .tooltip.bottom {
3499
- padding: 5px 0;
3500
- margin-top: 3px;
3501
- }
3502
- .tooltip.left {
3503
- padding: 0 5px;
3504
- margin-left: -3px;
3505
- }
3506
- .tooltip-inner {
3507
- max-width: 200px;
3508
- padding: 3px 8px;
3509
- color: #fff;
3510
- text-align: center;
3511
- background-color: #000;
3512
- border-radius: 4px;
3513
- }
3514
- .tooltip-arrow {
3515
- position: absolute;
3516
- width: 0;
3517
- height: 0;
3518
- border-color: transparent;
3519
- border-style: solid;
3520
- }
3521
- .tooltip.top .tooltip-arrow {
3522
- bottom: 0;
3523
- left: 50%;
3524
- margin-left: -5px;
3525
- border-width: 5px 5px 0;
3526
- border-top-color: #000;
3527
- }
3528
- .tooltip.top-left .tooltip-arrow {
3529
- right: 5px;
3530
- bottom: 0;
3531
- margin-bottom: -5px;
3532
- border-width: 5px 5px 0;
3533
- border-top-color: #000;
3534
- }
3535
- .tooltip.top-right .tooltip-arrow {
3536
- bottom: 0;
3537
- left: 5px;
3538
- margin-bottom: -5px;
3539
- border-width: 5px 5px 0;
3540
- border-top-color: #000;
3541
- }
3542
- .tooltip.right .tooltip-arrow {
3543
- top: 50%;
3544
- left: 0;
3545
- margin-top: -5px;
3546
- border-width: 5px 5px 5px 0;
3547
- border-right-color: #000;
3548
- }
3549
- .tooltip.left .tooltip-arrow {
3550
- top: 50%;
3551
- right: 0;
3552
- margin-top: -5px;
3553
- border-width: 5px 0 5px 5px;
3554
- border-left-color: #000;
3555
- }
3556
- .tooltip.bottom .tooltip-arrow {
3557
- top: 0;
3558
- left: 50%;
3559
- margin-left: -5px;
3560
- border-width: 0 5px 5px;
3561
- border-bottom-color: #000;
3562
- }
3563
- .tooltip.bottom-left .tooltip-arrow {
3564
- top: 0;
3565
- right: 5px;
3566
- margin-top: -5px;
3567
- border-width: 0 5px 5px;
3568
- border-bottom-color: #000;
3569
- }
3570
- .tooltip.bottom-right .tooltip-arrow {
3571
- top: 0;
3572
- left: 5px;
3573
- margin-top: -5px;
3574
- border-width: 0 5px 5px;
3575
- border-bottom-color: #000;
3576
- }
3577
- .popover {
3578
- position: absolute;
3579
- top: 0;
3580
- left: 0;
3581
- z-index: 1060;
3582
- display: none;
3583
- max-width: 276px;
3584
- padding: 1px;
3585
- font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
3586
- font-size: 14px;
3587
- font-style: normal;
3588
- font-weight: normal;
3589
- line-height: 1.42857143;
3590
- text-align: left;
3591
- text-align: start;
3592
- text-decoration: none;
3593
- text-shadow: none;
3594
- text-transform: none;
3595
- letter-spacing: normal;
3596
- word-break: normal;
3597
- word-spacing: normal;
3598
- word-wrap: normal;
3599
- white-space: normal;
3600
- background-color: #fff;
3601
- -webkit-background-clip: padding-box;
3602
- background-clip: padding-box;
3603
- border: 1px solid #ccc;
3604
- border: 1px solid rgba(0, 0, 0, .2);
3605
- border-radius: 6px;
3606
- -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
3607
- box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
3608
-
3609
- line-break: auto;
3610
- }
3611
- .popover.top {
3612
- margin-top: -10px;
3613
- }
3614
- .popover.right {
3615
- margin-left: 10px;
3616
- }
3617
- .popover.bottom {
3618
- margin-top: 10px;
3619
- }
3620
- .popover.left {
3621
- margin-left: -10px;
3622
- }
3623
- .popover-title {
3624
- padding: 8px 14px;
3625
- margin: 0;
3626
- font-size: 14px;
3627
- background-color: #f7f7f7;
3628
- border-bottom: 1px solid #ebebeb;
3629
- border-radius: 5px 5px 0 0;
3630
- }
3631
- .popover-content {
3632
- padding: 9px 14px;
3633
- }
3634
- .popover > .arrow,
3635
- .popover > .arrow:after {
3636
- position: absolute;
3637
- display: block;
3638
- width: 0;
3639
- height: 0;
3640
- border-color: transparent;
3641
- border-style: solid;
3642
- }
3643
- .popover > .arrow {
3644
- border-width: 11px;
3645
- }
3646
- .popover > .arrow:after {
3647
- content: "";
3648
- border-width: 10px;
3649
- }
3650
- .popover.top > .arrow {
3651
- bottom: -11px;
3652
- left: 50%;
3653
- margin-left: -11px;
3654
- border-top-color: #999;
3655
- border-top-color: rgba(0, 0, 0, .25);
3656
- border-bottom-width: 0;
3657
- }
3658
- .popover.top > .arrow:after {
3659
- bottom: 1px;
3660
- margin-left: -10px;
3661
- content: " ";
3662
- border-top-color: #fff;
3663
- border-bottom-width: 0;
3664
- }
3665
- .popover.right > .arrow {
3666
- top: 50%;
3667
- left: -11px;
3668
- margin-top: -11px;
3669
- border-right-color: #999;
3670
- border-right-color: rgba(0, 0, 0, .25);
3671
- border-left-width: 0;
3672
- }
3673
- .popover.right > .arrow:after {
3674
- bottom: -10px;
3675
- left: 1px;
3676
- content: " ";
3677
- border-right-color: #fff;
3678
- border-left-width: 0;
3679
- }
3680
- .popover.bottom > .arrow {
3681
- top: -11px;
3682
- left: 50%;
3683
- margin-left: -11px;
3684
- border-top-width: 0;
3685
- border-bottom-color: #999;
3686
- border-bottom-color: rgba(0, 0, 0, .25);
3687
- }
3688
- .popover.bottom > .arrow:after {
3689
- top: 1px;
3690
- margin-left: -10px;
3691
- content: " ";
3692
- border-top-width: 0;
3693
- border-bottom-color: #fff;
3694
- }
3695
- .popover.left > .arrow {
3696
- top: 50%;
3697
- right: -11px;
3698
- margin-top: -11px;
3699
- border-right-width: 0;
3700
- border-left-color: #999;
3701
- border-left-color: rgba(0, 0, 0, .25);
3702
- }
3703
- .popover.left > .arrow:after {
3704
- right: 1px;
3705
- bottom: -10px;
3706
- content: " ";
3707
- border-right-width: 0;
3708
- border-left-color: #fff;
3709
- }
3710
- .col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
3711
- position: relative;
3712
- min-height: 1px;
3713
- padding-left: 15px;
3714
- padding-right: 15px; }
3715
-
3716
- .col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
3717
- float: left; }
3718
-
3719
- .col-xs-1 {
3720
- width: 8.33333%; }
3721
-
3722
- .col-xs-2 {
3723
- width: 16.66667%; }
3724
-
3725
- .col-xs-3 {
3726
- width: 25%; }
3727
-
3728
- .col-xs-4 {
3729
- width: 33.33333%; }
3730
-
3731
- .col-xs-5 {
3732
- width: 41.66667%; }
3733
-
3734
- .col-xs-6 {
3735
- width: 50%; }
3736
-
3737
- .col-xs-7 {
3738
- width: 58.33333%; }
3739
-
3740
- .col-xs-8 {
3741
- width: 66.66667%; }
3742
-
3743
- .col-xs-9 {
3744
- width: 75%; }
3745
-
3746
- .col-xs-10 {
3747
- width: 83.33333%; }
3748
-
3749
- .col-xs-11 {
3750
- width: 91.66667%; }
3751
-
3752
- .col-xs-12 {
3753
- width: 100%; }
3754
-
3755
- .col-xs-pull-0 {
3756
- right: auto; }
3757
-
3758
- .col-xs-pull-1 {
3759
- right: 8.33333%; }
3760
-
3761
- .col-xs-pull-2 {
3762
- right: 16.66667%; }
3763
-
3764
- .col-xs-pull-3 {
3765
- right: 25%; }
3766
-
3767
- .col-xs-pull-4 {
3768
- right: 33.33333%; }
3769
-
3770
- .col-xs-pull-5 {
3771
- right: 41.66667%; }
3772
-
3773
- .col-xs-pull-6 {
3774
- right: 50%; }
3775
-
3776
- .col-xs-pull-7 {
3777
- right: 58.33333%; }
3778
-
3779
- .col-xs-pull-8 {
3780
- right: 66.66667%; }
3781
-
3782
- .col-xs-pull-9 {
3783
- right: 75%; }
3784
-
3785
- .col-xs-pull-10 {
3786
- right: 83.33333%; }
3787
-
3788
- .col-xs-pull-11 {
3789
- right: 91.66667%; }
3790
-
3791
- .col-xs-pull-12 {
3792
- right: 100%; }
3793
-
3794
- .col-xs-push-0 {
3795
- left: auto; }
3796
-
3797
- .col-xs-push-1 {
3798
- left: 8.33333%; }
3799
-
3800
- .col-xs-push-2 {
3801
- left: 16.66667%; }
3802
-
3803
- .col-xs-push-3 {
3804
- left: 25%; }
3805
-
3806
- .col-xs-push-4 {
3807
- left: 33.33333%; }
3808
-
3809
- .col-xs-push-5 {
3810
- left: 41.66667%; }
3811
-
3812
- .col-xs-push-6 {
3813
- left: 50%; }
3814
-
3815
- .col-xs-push-7 {
3816
- left: 58.33333%; }
3817
-
3818
- .col-xs-push-8 {
3819
- left: 66.66667%; }
3820
-
3821
- .col-xs-push-9 {
3822
- left: 75%; }
3823
-
3824
- .col-xs-push-10 {
3825
- left: 83.33333%; }
3826
-
3827
- .col-xs-push-11 {
3828
- left: 91.66667%; }
3829
-
3830
- .col-xs-push-12 {
3831
- left: 100%; }
3832
-
3833
- .col-xs-offset-0 {
3834
- margin-left: 0%; }
3835
-
3836
- .col-xs-offset-1 {
3837
- margin-left: 8.33333%; }
3838
-
3839
- .col-xs-offset-2 {
3840
- margin-left: 16.66667%; }
3841
-
3842
- .col-xs-offset-3 {
3843
- margin-left: 25%; }
3844
-
3845
- .col-xs-offset-4 {
3846
- margin-left: 33.33333%; }
3847
-
3848
- .col-xs-offset-5 {
3849
- margin-left: 41.66667%; }
3850
-
3851
- .col-xs-offset-6 {
3852
- margin-left: 50%; }
3853
-
3854
- .col-xs-offset-7 {
3855
- margin-left: 58.33333%; }
3856
-
3857
- .col-xs-offset-8 {
3858
- margin-left: 66.66667%; }
3859
-
3860
- .col-xs-offset-9 {
3861
- margin-left: 75%; }
3862
-
3863
- .col-xs-offset-10 {
3864
- margin-left: 83.33333%; }
3865
-
3866
- .col-xs-offset-11 {
3867
- margin-left: 91.66667%; }
3868
-
3869
- .col-xs-offset-12 {
3870
- margin-left: 100%; }
3871
-
3872
- @media (min-width: 768px) {
3873
- .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
3874
- float: left; }
3875
-
3876
- .col-sm-1 {
3877
- width: 8.33333%; }
3878
-
3879
- .col-sm-2 {
3880
- width: 16.66667%; }
3881
-
3882
- .col-sm-3 {
3883
- width: 25%; }
3884
-
3885
- .col-sm-4 {
3886
- width: 33.33333%; }
3887
-
3888
- .col-sm-5 {
3889
- width: 41.66667%; }
3890
-
3891
- .col-sm-6 {
3892
- width: 50%; }
3893
-
3894
- .col-sm-7 {
3895
- width: 58.33333%; }
3896
-
3897
- .col-sm-8 {
3898
- width: 66.66667%; }
3899
-
3900
- .col-sm-9 {
3901
- width: 75%; }
3902
-
3903
- .col-sm-10 {
3904
- width: 83.33333%; }
3905
-
3906
- .col-sm-11 {
3907
- width: 91.66667%; }
3908
-
3909
- .col-sm-12 {
3910
- width: 100%; }
3911
-
3912
- .col-sm-pull-0 {
3913
- right: auto; }
3914
-
3915
- .col-sm-pull-1 {
3916
- right: 8.33333%; }
3917
-
3918
- .col-sm-pull-2 {
3919
- right: 16.66667%; }
3920
-
3921
- .col-sm-pull-3 {
3922
- right: 25%; }
3923
-
3924
- .col-sm-pull-4 {
3925
- right: 33.33333%; }
3926
-
3927
- .col-sm-pull-5 {
3928
- right: 41.66667%; }
3929
-
3930
- .col-sm-pull-6 {
3931
- right: 50%; }
3932
-
3933
- .col-sm-pull-7 {
3934
- right: 58.33333%; }
3935
-
3936
- .col-sm-pull-8 {
3937
- right: 66.66667%; }
3938
-
3939
- .col-sm-pull-9 {
3940
- right: 75%; }
3941
-
3942
- .col-sm-pull-10 {
3943
- right: 83.33333%; }
3944
-
3945
- .col-sm-pull-11 {
3946
- right: 91.66667%; }
3947
-
3948
- .col-sm-pull-12 {
3949
- right: 100%; }
3950
-
3951
- .col-sm-push-0 {
3952
- left: auto; }
3953
-
3954
- .col-sm-push-1 {
3955
- left: 8.33333%; }
3956
-
3957
- .col-sm-push-2 {
3958
- left: 16.66667%; }
3959
-
3960
- .col-sm-push-3 {
3961
- left: 25%; }
3962
-
3963
- .col-sm-push-4 {
3964
- left: 33.33333%; }
3965
-
3966
- .col-sm-push-5 {
3967
- left: 41.66667%; }
3968
-
3969
- .col-sm-push-6 {
3970
- left: 50%; }
3971
-
3972
- .col-sm-push-7 {
3973
- left: 58.33333%; }
3974
-
3975
- .col-sm-push-8 {
3976
- left: 66.66667%; }
3977
-
3978
- .col-sm-push-9 {
3979
- left: 75%; }
3980
-
3981
- .col-sm-push-10 {
3982
- left: 83.33333%; }
3983
-
3984
- .col-sm-push-11 {
3985
- left: 91.66667%; }
3986
-
3987
- .col-sm-push-12 {
3988
- left: 100%; }
3989
 
3990
- .col-sm-offset-0 {
3991
- margin-left: 0%; }
3992
-
3993
- .col-sm-offset-1 {
3994
- margin-left: 8.33333%; }
3995
-
3996
- .col-sm-offset-2 {
3997
- margin-left: 16.66667%; }
3998
-
3999
- .col-sm-offset-3 {
4000
- margin-left: 25%; }
4001
-
4002
- .col-sm-offset-4 {
4003
- margin-left: 33.33333%; }
4004
-
4005
- .col-sm-offset-5 {
4006
- margin-left: 41.66667%; }
4007
-
4008
- .col-sm-offset-6 {
4009
- margin-left: 50%; }
4010
-
4011
- .col-sm-offset-7 {
4012
- margin-left: 58.33333%; }
4013
-
4014
- .col-sm-offset-8 {
4015
- margin-left: 66.66667%; }
4016
-
4017
- .col-sm-offset-9 {
4018
- margin-left: 75%; }
4019
-
4020
- .col-sm-offset-10 {
4021
- margin-left: 83.33333%; }
4022
-
4023
- .col-sm-offset-11 {
4024
- margin-left: 91.66667%; }
4025
-
4026
- .col-sm-offset-12 {
4027
- margin-left: 100%; } }
4028
- @media (min-width: 992px) {
4029
- .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
4030
- float: left; }
4031
-
4032
- .col-md-1 {
4033
- width: 8.33333%; }
4034
-
4035
- .col-md-2 {
4036
- width: 16.66667%; }
4037
-
4038
- .col-md-3 {
4039
- width: 25%; }
4040
-
4041
- .col-md-4 {
4042
- width: 33.33333%; }
4043
-
4044
- .col-md-5 {
4045
- width: 41.66667%; }
4046
-
4047
- .col-md-6 {
4048
- width: 50%; }
4049
-
4050
- .col-md-7 {
4051
- width: 58.33333%; }
4052
-
4053
- .col-md-8 {
4054
- width: 66.66667%; }
4055
-
4056
- .col-md-9 {
4057
- width: 75%; }
4058
-
4059
- .col-md-10 {
4060
- width: 83.33333%; }
4061
-
4062
- .col-md-11 {
4063
- width: 91.66667%; }
4064
-
4065
- .col-md-12 {
4066
- width: 100%; }
4067
-
4068
- .col-md-pull-0 {
4069
- right: auto; }
4070
-
4071
- .col-md-pull-1 {
4072
- right: 8.33333%; }
4073
-
4074
- .col-md-pull-2 {
4075
- right: 16.66667%; }
4076
-
4077
- .col-md-pull-3 {
4078
- right: 25%; }
4079
-
4080
- .col-md-pull-4 {
4081
- right: 33.33333%; }
4082
-
4083
- .col-md-pull-5 {
4084
- right: 41.66667%; }
4085
-
4086
- .col-md-pull-6 {
4087
- right: 50%; }
4088
-
4089
- .col-md-pull-7 {
4090
- right: 58.33333%; }
4091
-
4092
- .col-md-pull-8 {
4093
- right: 66.66667%; }
4094
-
4095
- .col-md-pull-9 {
4096
- right: 75%; }
4097
-
4098
- .col-md-pull-10 {
4099
- right: 83.33333%; }
4100
-
4101
- .col-md-pull-11 {
4102
- right: 91.66667%; }
4103
-
4104
- .col-md-pull-12 {
4105
- right: 100%; }
4106
-
4107
- .col-md-push-0 {
4108
- left: auto; }
4109
-
4110
- .col-md-push-1 {
4111
- left: 8.33333%; }
4112
-
4113
- .col-md-push-2 {
4114
- left: 16.66667%; }
4115
-
4116
- .col-md-push-3 {
4117
- left: 25%; }
4118
-
4119
- .col-md-push-4 {
4120
- left: 33.33333%; }
4121
-
4122
- .col-md-push-5 {
4123
- left: 41.66667%; }
4124
-
4125
- .col-md-push-6 {
4126
- left: 50%; }
4127
-
4128
- .col-md-push-7 {
4129
- left: 58.33333%; }
4130
-
4131
- .col-md-push-8 {
4132
- left: 66.66667%; }
4133
-
4134
- .col-md-push-9 {
4135
- left: 75%; }
4136
-
4137
- .col-md-push-10 {
4138
- left: 83.33333%; }
4139
-
4140
- .col-md-push-11 {
4141
- left: 91.66667%; }
4142
-
4143
- .col-md-push-12 {
4144
- left: 100%; }
4145
-
4146
- .col-md-offset-0 {
4147
- margin-left: 0%; }
4148
-
4149
- .col-md-offset-1 {
4150
- margin-left: 8.33333%; }
4151
-
4152
- .col-md-offset-2 {
4153
- margin-left: 16.66667%; }
4154
-
4155
- .col-md-offset-3 {
4156
- margin-left: 25%; }
4157
-
4158
- .col-md-offset-4 {
4159
- margin-left: 33.33333%; }
4160
-
4161
- .col-md-offset-5 {
4162
- margin-left: 41.66667%; }
4163
-
4164
- .col-md-offset-6 {
4165
- margin-left: 50%; }
4166
-
4167
- .col-md-offset-7 {
4168
- margin-left: 58.33333%; }
4169
-
4170
- .col-md-offset-8 {
4171
- margin-left: 66.66667%; }
4172
-
4173
- .col-md-offset-9 {
4174
- margin-left: 75%; }
4175
-
4176
- .col-md-offset-10 {
4177
- margin-left: 83.33333%; }
4178
-
4179
- .col-md-offset-11 {
4180
- margin-left: 91.66667%; }
4181
-
4182
- .col-md-offset-12 {
4183
- margin-left: 100%; } }
4184
- @media (min-width: 1200px) {
4185
- .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
4186
- float: left; }
4187
-
4188
- .col-lg-1 {
4189
- width: 8.33333%; }
4190
-
4191
- .col-lg-2 {
4192
- width: 16.66667%; }
4193
-
4194
- .col-lg-3 {
4195
- width: 25%; }
4196
-
4197
- .col-lg-4 {
4198
- width: 33.33333%; }
4199
-
4200
- .col-lg-5 {
4201
- width: 41.66667%; }
4202
-
4203
- .col-lg-6 {
4204
- width: 50%; }
4205
-
4206
- .col-lg-7 {
4207
- width: 58.33333%; }
4208
-
4209
- .col-lg-8 {
4210
- width: 66.66667%; }
4211
-
4212
- .col-lg-9 {
4213
- width: 75%; }
4214
-
4215
- .col-lg-10 {
4216
- width: 83.33333%; }
4217
-
4218
- .col-lg-11 {
4219
- width: 91.66667%; }
4220
-
4221
- .col-lg-12 {
4222
- width: 100%; }
4223
-
4224
- .col-lg-pull-0 {
4225
- right: auto; }
4226
-
4227
- .col-lg-pull-1 {
4228
- right: 8.33333%; }
4229
-
4230
- .col-lg-pull-2 {
4231
- right: 16.66667%; }
4232
-
4233
- .col-lg-pull-3 {
4234
- right: 25%; }
4235
-
4236
- .col-lg-pull-4 {
4237
- right: 33.33333%; }
4238
-
4239
- .col-lg-pull-5 {
4240
- right: 41.66667%; }
4241
-
4242
- .col-lg-pull-6 {
4243
- right: 50%; }
4244
-
4245
- .col-lg-pull-7 {
4246
- right: 58.33333%; }
4247
-
4248
- .col-lg-pull-8 {
4249
- right: 66.66667%; }
4250
-
4251
- .col-lg-pull-9 {
4252
- right: 75%; }
4253
-
4254
- .col-lg-pull-10 {
4255
- right: 83.33333%; }
4256
-
4257
- .col-lg-pull-11 {
4258
- right: 91.66667%; }
4259
-
4260
- .col-lg-pull-12 {
4261
- right: 100%; }
4262
-
4263
- .col-lg-push-0 {
4264
- left: auto; }
4265
-
4266
- .col-lg-push-1 {
4267
- left: 8.33333%; }
4268
-
4269
- .col-lg-push-2 {
4270
- left: 16.66667%; }
4271
-
4272
- .col-lg-push-3 {
4273
- left: 25%; }
4274
-
4275
- .col-lg-push-4 {
4276
- left: 33.33333%; }
4277
-
4278
- .col-lg-push-5 {
4279
- left: 41.66667%; }
4280
-
4281
- .col-lg-push-6 {
4282
- left: 50%; }
4283
-
4284
- .col-lg-push-7 {
4285
- left: 58.33333%; }
4286
-
4287
- .col-lg-push-8 {
4288
- left: 66.66667%; }
4289
-
4290
- .col-lg-push-9 {
4291
- left: 75%; }
4292
-
4293
- .col-lg-push-10 {
4294
- left: 83.33333%; }
4295
-
4296
- .col-lg-push-11 {
4297
- left: 91.66667%; }
4298
-
4299
- .col-lg-push-12 {
4300
- left: 100%; }
4301
-
4302
- .col-lg-offset-0 {
4303
- margin-left: 0%; }
4304
-
4305
- .col-lg-offset-1 {
4306
- margin-left: 8.33333%; }
4307
-
4308
- .col-lg-offset-2 {
4309
- margin-left: 16.66667%; }
4310
-
4311
- .col-lg-offset-3 {
4312
- margin-left: 25%; }
4313
-
4314
- .col-lg-offset-4 {
4315
- margin-left: 33.33333%; }
4316
-
4317
- .col-lg-offset-5 {
4318
- margin-left: 41.66667%; }
4319
-
4320
- .col-lg-offset-6 {
4321
- margin-left: 50%; }
4322
-
4323
- .col-lg-offset-7 {
4324
- margin-left: 58.33333%; }
4325
-
4326
- .col-lg-offset-8 {
4327
- margin-left: 66.66667%; }
4328
-
4329
- .col-lg-offset-9 {
4330
- margin-left: 75%; }
4331
-
4332
- .col-lg-offset-10 {
4333
- margin-left: 83.33333%; }
4334
-
4335
- .col-lg-offset-11 {
4336
- margin-left: 91.66667%; }
4337
-
4338
- .col-lg-offset-12 {
4339
- margin-left: 100%; } }
4340
- .img-responsive {
4341
- display: block;
4342
- width: 100% \9;
4343
- max-width: 100%;
4344
- height: auto; }
1
  /*!
2
+ * Bootstrap v4.6.0 (https://getbootstrap.com/)
3
+ * Copyright 2011-2021 The Bootstrap Authors
4
+ * Copyright 2011-2021 Twitter, Inc.
5
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
6
  */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
 
8
+ *,
9
+ *::before,
10
+ *::after {
11
+ box-sizing: border-box;
12
  }
13
+
14
+ .img-fluid {
15
+ max-width: 100%;
16
  height: auto;
17
  }
 
 
 
 
 
 
 
18
 
19
+ .row {
20
+ display: -ms-flexbox;
21
+ display: flex;
22
+ -ms-flex-wrap: wrap;
23
+ flex-wrap: wrap;
24
+ margin-right: -15px;
25
+ margin-left: -15px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
  }
27
 
28
+ .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
29
+ .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
30
+ .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
31
+ .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
32
+ .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
33
+ .col-xl-auto {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34
  position: relative;
35
+ width: 100%;
36
+ padding-right: 15px;
37
+ padding-left: 15px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  }
39
 
40
+ .col {
41
+ -ms-flex-preferred-size: 0;
42
+ flex-basis: 0;
43
+ -ms-flex-positive: 1;
44
+ flex-grow: 1;
45
+ max-width: 100%;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
  }
47
+
48
+ .col-auto {
49
+ -ms-flex: 0 0 auto;
50
+ flex: 0 0 auto;
51
+ width: auto;
52
+ max-width: 100%;
 
 
 
 
 
53
  }
54
+
55
+ .col-1 {
56
+ -ms-flex: 0 0 8.333333%;
57
+ flex: 0 0 8.333333%;
58
+ max-width: 8.333333%;
59
  }
60
+
61
+ .col-2 {
62
+ -ms-flex: 0 0 16.666667%;
63
+ flex: 0 0 16.666667%;
64
+ max-width: 16.666667%;
65
  }
66
+
67
+ .col-3 {
68
+ -ms-flex: 0 0 25%;
69
+ flex: 0 0 25%;
70
+ max-width: 25%;
71
  }
72
+
73
+ .col-4 {
74
+ -ms-flex: 0 0 33.333333%;
75
+ flex: 0 0 33.333333%;
76
+ max-width: 33.333333%;
77
  }
78
+
79
+ .col-5 {
80
+ -ms-flex: 0 0 41.666667%;
81
+ flex: 0 0 41.666667%;
82
+ max-width: 41.666667%;
 
 
 
 
 
 
83
  }
84
+
85
+ .col-6 {
86
+ -ms-flex: 0 0 50%;
87
+ flex: 0 0 50%;
88
+ max-width: 50%;
89
  }
90
+
91
+ .col-7 {
92
+ -ms-flex: 0 0 58.333333%;
93
+ flex: 0 0 58.333333%;
94
+ max-width: 58.333333%;
95
  }
96
+
97
+ .col-8 {
98
+ -ms-flex: 0 0 66.666667%;
99
+ flex: 0 0 66.666667%;
100
+ max-width: 66.666667%;
101
  }
102
+
103
+ .col-9 {
104
+ -ms-flex: 0 0 75%;
105
+ flex: 0 0 75%;
106
+ max-width: 75%;
107
  }
108
+
109
+ .col-10 {
110
+ -ms-flex: 0 0 83.333333%;
111
+ flex: 0 0 83.333333%;
112
+ max-width: 83.333333%;
113
  }
114
+
115
+ .col-11 {
116
+ -ms-flex: 0 0 91.666667%;
117
+ flex: 0 0 91.666667%;
118
+ max-width: 91.666667%;
119
  }
120
+
121
+ .col-12 {
122
+ -ms-flex: 0 0 100%;
123
+ flex: 0 0 100%;
124
+ max-width: 100%;
125
  }
126
+
127
+ @media (min-width: 576px) {
128
+ .col-sm {
129
+ -ms-flex-preferred-size: 0;
130
+ flex-basis: 0;
131
+ -ms-flex-positive: 1;
132
+ flex-grow: 1;
133
+ max-width: 100%;
134
  }
135
+ .col-sm-auto {
136
+ -ms-flex: 0 0 auto;
137
+ flex: 0 0 auto;
138
  width: auto;
139
+ max-width: 100%;
140
+ }
141
+ .col-sm-1 {
142
+ -ms-flex: 0 0 8.333333%;
143
+ flex: 0 0 8.333333%;
144
+ max-width: 8.333333%;
145
  }
146
+ .col-sm-2 {
147
+ -ms-flex: 0 0 16.666667%;
148
+ flex: 0 0 16.666667%;
149
+ max-width: 16.666667%;
150
  }
151
+ .col-sm-3 {
152
+ -ms-flex: 0 0 25%;
153
+ flex: 0 0 25%;
154
+ max-width: 25%;
155
  }
156
+ .col-sm-4 {
157
+ -ms-flex: 0 0 33.333333%;
158
+ flex: 0 0 33.333333%;
159
+ max-width: 33.333333%;
160
  }
161
+ .col-sm-5 {
162
+ -ms-flex: 0 0 41.666667%;
163
+ flex: 0 0 41.666667%;
164
+ max-width: 41.666667%;
165
  }
166
+ .col-sm-6 {
167
+ -ms-flex: 0 0 50%;
168
+ flex: 0 0 50%;
169
+ max-width: 50%;
170
  }
171
+ .col-sm-7 {
172
+ -ms-flex: 0 0 58.333333%;
173
+ flex: 0 0 58.333333%;
174
+ max-width: 58.333333%;
 
 
175
  }
176
+ .col-sm-8 {
177
+ -ms-flex: 0 0 66.666667%;
178
+ flex: 0 0 66.666667%;
179
+ max-width: 66.666667%;
180
  }
181
+ .col-sm-9 {
182
+ -ms-flex: 0 0 75%;
183
+ flex: 0 0 75%;
184
+ max-width: 75%;
185
  }
186
+ .col-sm-10 {
187
+ -ms-flex: 0 0 83.333333%;
188
+ flex: 0 0 83.333333%;
189
+ max-width: 83.333333%;
190
  }
191
+ .col-sm-11 {
192
+ -ms-flex: 0 0 91.666667%;
193
+ flex: 0 0 91.666667%;
194
+ max-width: 91.666667%;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
195
  }
196
+ .col-sm-12 {
197
+ -ms-flex: 0 0 100%;
198
+ flex: 0 0 100%;
199
+ max-width: 100%;
 
 
 
 
200
  }
201
  }
202
+
203
  @media (min-width: 768px) {
204
+ .col-md {
205
+ -ms-flex-preferred-size: 0;
206
+ flex-basis: 0;
207
+ -ms-flex-positive: 1;
208
+ flex-grow: 1;
209
+ max-width: 100%;
210
+ }
211
+ .col-md-auto {
212
+ -ms-flex: 0 0 auto;
213
+ flex: 0 0 auto;
214
+ width: auto;
215
+ max-width: 100%;
216
+ }
217
+ .col-md-1 {
218
+ -ms-flex: 0 0 8.333333%;
219
+ flex: 0 0 8.333333%;
220
+ max-width: 8.333333%;
221
+ }
222
+ .col-md-2 {
223
+ -ms-flex: 0 0 16.666667%;
224
+ flex: 0 0 16.666667%;
225
+ max-width: 16.666667%;
226
+ }
227
+ .col-md-3 {
228
+ -ms-flex: 0 0 25%;
229
+ flex: 0 0 25%;
230
+ max-width: 25%;
231
+ }
232
+ .col-md-4 {
233
+ -ms-flex: 0 0 33.333333%;
234
+ flex: 0 0 33.333333%;
235
+ max-width: 33.333333%;
236
+ }
237
+ .col-md-5 {
238
+ -ms-flex: 0 0 41.666667%;
239
+ flex: 0 0 41.666667%;
240
+ max-width: 41.666667%;
241
+ }
242
+ .col-md-6 {
243
+ -ms-flex: 0 0 50%;
244
+ flex: 0 0 50%;
245
+ max-width: 50%;
246
+ }
247
+ .col-md-7 {
248
+ -ms-flex: 0 0 58.333333%;
249
+ flex: 0 0 58.333333%;
250
+ max-width: 58.333333%;
251
+ }
252
+ .col-md-8 {
253
+ -ms-flex: 0 0 66.666667%;
254
+ flex: 0 0 66.666667%;
255
+ max-width: 66.666667%;
256
+ }
257
+ .col-md-9 {
258
+ -ms-flex: 0 0 75%;
259
+ flex: 0 0 75%;
260
+ max-width: 75%;
261
+ }
262
+ .col-md-10 {
263
+ -ms-flex: 0 0 83.333333%;
264
+ flex: 0 0 83.333333%;
265
+ max-width: 83.333333%;
266
+ }
267
+ .col-md-11 {
268
+ -ms-flex: 0 0 91.666667%;
269
+ flex: 0 0 91.666667%;
270
+ max-width: 91.666667%;
271
+ }
272
+ .col-md-12 {
273
+ -ms-flex: 0 0 100%;
274
+ flex: 0 0 100%;
275
+ max-width: 100%;
276
  }
277
  }
278
+
279
+ .form-group {
280
+ margin-bottom: 1rem;
281
+ }
282
+
283
  .btn {
284
  display: inline-block;
285
+ font-weight: 400;
286
+ color: #212529;
 
 
 
287
  text-align: center;
 
288
  vertical-align: middle;
 
 
 
289
  -webkit-user-select: none;
290
+ -moz-user-select: none;
291
+ -ms-user-select: none;
292
+ user-select: none;
293
+ background-color: transparent;
294
  border: 1px solid transparent;
295
+ padding: 0.375rem 0.75rem;
296
+ font-size: 1rem;
297
+ line-height: 1.5;
298
+ border-radius: 0.25rem;
299
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
300
  }
301
+
302
+ @media (prefers-reduced-motion: reduce) {
303
+ .btn {
304
+ transition: none;
305
+ }
 
 
 
 
306
  }
307
+
308
+ .btn:hover {
309
+ color: #212529;
 
310
  text-decoration: none;
311
  }
312
+
313
+ .btn:focus, .btn.focus {
 
314
  outline: 0;
315
+ box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
316
+ }
317
+
318
+ .btn.disabled, .btn:disabled {
319
+ opacity: 0.65;
320
  }
321
+
322
+ .btn:not(:disabled):not(.disabled) {
323
+ cursor: pointer;
 
 
 
 
 
324
  }
325
+
326
  a.btn.disabled,
327
+ fieldset:disabled a.btn {
328
  pointer-events: none;
329
  }
330
+
331
+ .btn-block {
332
+ display: block;
333
+ width: 100%;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
334
  }
335
+
336
  .btn-primary {
337
  color: #fff;
338
+ background-color: #007bff;
339
+ border-color: #007bff;
 
 
 
 
 
 
340
  }
341
+
342
  .btn-primary:hover {
343
  color: #fff;
344
+ background-color: #0069d9;
345
+ border-color: #0062cc;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
346
  }
347
+
348
+ .btn-primary:focus, .btn-primary.focus {
 
 
 
 
 
349
  color: #fff;
350
+ background-color: #0069d9;
351
+ border-color: #0062cc;
352
+ box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
353
  }
354
+
355
+ .btn-primary.disabled, .btn-primary:disabled {
 
356
  color: #fff;
357
+ background-color: #007bff;
358
+ border-color: #007bff;
359
  }
360
+
361
+ .btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,
362
+ .show > .btn-primary.dropdown-toggle {
 
 
 
 
 
 
363
  color: #fff;
364
+ background-color: #0062cc;
365
+ border-color: #005cbf;
 
 
 
 
 
366
  }
367
+
368
+ .btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,
369
+ .show > .btn-primary.dropdown-toggle:focus {
370
+ box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
 
 
 
 
 
 
 
 
 
 
 
371
  }
372
+
373
  .btn-danger {
374
  color: #fff;
375
+ background-color: #dc3545;
376
+ border-color: #dc3545;
 
 
 
 
 
 
377
  }
378
+
379
  .btn-danger:hover {
380
  color: #fff;
381
+ background-color: #c82333;
382
+ border-color: #bd2130;
383
  }
384
+
385
+ .btn-danger:focus, .btn-danger.focus {
 
386
  color: #fff;
387
+ background-color: #c82333;
388
+ border-color: #bd2130;
389
+ box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);
390
  }
391
+
392
+ .btn-danger.disabled, .btn-danger:disabled {
 
 
 
 
 
 
 
393
  color: #fff;
394
+ background-color: #dc3545;
395
+ border-color: #dc3545;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
396
  }
397
+
398
+ .btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,
399
+ .show > .btn-danger.dropdown-toggle {
400
+ color: #fff;
401
+ background-color: #bd2130;
402
+ border-color: #b21f2d;
 
 
 
 
 
 
 
 
 
 
 
403
  }
404
+
405
+ .btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,
406
+ .show > .btn-danger.dropdown-toggle:focus {
407
+ box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);
 
408
  }
409
+
410
+ .input-group {
411
+ position: relative;
412
+ display: -ms-flexbox;
413
+ display: flex;
414
+ -ms-flex-wrap: wrap;
415
+ flex-wrap: wrap;
416
+ -ms-flex-align: stretch;
417
+ align-items: stretch;
418
+ width: 100%;
419
  }
420
+
421
+
422
+ .input-group > .form-control,
423
+ .input-group > .form-control-plaintext,
424
+ .input-group > .custom-select,
425
+ .input-group > .custom-file {
426
+ position: relative;
427
+ -ms-flex: 1 1 auto;
428
+ flex: 1 1 auto;
429
+ width: 1%;
430
+ min-width: 0;
431
+ margin-bottom: 0;
432
  }
433
+
434
+ .input-group > .form-control:not(:first-child),
435
+ .input-group > .custom-select:not(:first-child) {
436
+ border-top-left-radius: 0;
437
+ border-bottom-left-radius: 0;
 
438
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
439
 
440
+ /*# sourceMappingURL=bootstrap.css.map
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/css/panel-style.css CHANGED
@@ -135,10 +135,15 @@ display:block;
135
 
136
  .iconpicker-container .input-group-addon {
137
 
138
- color: #fff !important;
139
- text-align: center;
140
- background-color: #31a3dd !important;
141
- border: 1px solid #31a3dd!important;
 
 
 
 
 
142
 
143
  }
144
 
135
 
136
  .iconpicker-container .input-group-addon {
137
 
138
+ padding: 6px 12px;
139
+ font-size: 14px;
140
+ font-weight: normal;
141
+ line-height: 1;
142
+ border-radius: 0 4px 4px 0;
143
+ color: #fff !important;
144
+ text-align: center;
145
+ background-color: #31a3dd !important;
146
+ border: 1px solid #31a3dd!important;
147
 
148
  }
149
 
assets/js/bootstrap.js CHANGED
@@ -1,2356 +0,0 @@
1
- /*!
2
- * Bootstrap v3.3.6 (http://getbootstrap.com)
3
- * Copyright 2011-2015 Twitter, Inc.
4
- * Licensed under the MIT license
5
- */
6
-
7
- if (typeof jQuery === 'undefined') {
8
- throw new Error('Bootstrap\'s JavaScript requires jQuery')
9
- }
10
-
11
- /*+function ($) {
12
- 'use strict';
13
- var version = $.fn.jquery.split(' ')[0].split('.')
14
- if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] > 2)) {
15
- throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3')
16
- }
17
- }(jQuery);*/
18
-
19
-
20
-
21
- +function ($) {
22
- 'use strict';
23
-
24
- // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)
25
- // ============================================================
26
-
27
- function transitionEnd() {
28
- var el = document.createElement('bootstrap')
29
-
30
- var transEndEventNames = {
31
- WebkitTransition : 'webkitTransitionEnd',
32
- MozTransition : 'transitionend',
33
- OTransition : 'oTransitionEnd otransitionend',
34
- transition : 'transitionend'
35
- }
36
-
37
- for (var name in transEndEventNames) {
38
- if (el.style[name] !== undefined) {
39
- return { end: transEndEventNames[name] }
40
- }
41
- }
42
-
43
- return false // explicit for ie8 ( ._.)
44
- }
45
-
46
- // http://blog.alexmaccaw.com/css-transitions
47
- $.fn.emulateTransitionEnd = function (duration) {
48
- var called = false
49
- var $el = this
50
- $(this).one('bsTransitionEnd', function () { called = true })
51
- var callback = function () { if (!called) $($el).trigger($.support.transition.end) }
52
- setTimeout(callback, duration)
53
- return this
54
- }
55
-
56
- $(function () {
57
- $.support.transition = transitionEnd()
58
-
59
- if (!$.support.transition) return
60
-
61
- $.event.special.bsTransitionEnd = {
62
- bindType: $.support.transition.end,
63
- delegateType: $.support.transition.end,
64
- handle: function (e) {
65
- if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments)
66
- }
67
- }
68
- })
69
-
70
- }(jQuery);
71
-
72
- /* ========================================================================
73
- * Bootstrap: alert.js v3.3.6
74
- * http://getbootstrap.com/javascript/#alerts
75
- * ========================================================================
76
- * Copyright 2011-2015 Twitter, Inc.
77
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
78
- * ======================================================================== */
79
-
80
-
81
- +function ($) {
82
- 'use strict';
83
-
84
- // ALERT CLASS DEFINITION
85
- // ======================
86
-
87
- var dismiss = '[data-dismiss="alert"]'
88
- var Alert = function (el) {
89
- $(el).on('click', dismiss, this.close)
90
- }
91
-
92
- Alert.VERSION = '3.3.6'
93
-
94
- Alert.TRANSITION_DURATION = 150
95
-
96
- Alert.prototype.close = function (e) {
97
- var $this = $(this)
98
- var selector = $this.attr('data-target')
99
-
100
- if (!selector) {
101
- selector = $this.attr('href')
102
- selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
103
- }
104
-
105
- var $parent = $(selector)
106
-
107
- if (e) e.preventDefault()
108
-
109
- if (!$parent.length) {
110
- $parent = $this.closest('.alert')
111
- }
112
-
113
- $parent.trigger(e = $.Event('close.bs.alert'))
114
-
115
- if (e.isDefaultPrevented()) return
116
-
117
- $parent.removeClass('in')
118
-
119
- function removeElement() {
120
- // detach from parent, fire event then clean up data
121
- $parent.detach().trigger('closed.bs.alert').remove()
122
- }
123
-
124
- $.support.transition && $parent.hasClass('fade') ?
125
- $parent
126
- .one('bsTransitionEnd', removeElement)
127
- .emulateTransitionEnd(Alert.TRANSITION_DURATION) :
128
- removeElement()
129
- }
130
-
131
-
132
- // ALERT PLUGIN DEFINITION
133
- // =======================
134
-
135
- function Plugin(option) {
136
- return this.each(function () {
137
- var $this = $(this)
138
- var data = $this.data('bs.alert')
139
-
140
- if (!data) $this.data('bs.alert', (data = new Alert(this)))
141
- if (typeof option == 'string') data[option].call($this)
142
- })
143
- }
144
-
145
- var old = $.fn.alert
146
-
147
- $.fn.alert = Plugin
148
- $.fn.alert.Constructor = Alert
149
-
150
-
151
- // ALERT NO CONFLICT
152
- // =================
153
-
154
- $.fn.alert.noConflict = function () {
155
- $.fn.alert = old
156
- return this
157
- }
158
-
159
-
160
- // ALERT DATA-API
161
- // ==============
162
-
163
- $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close)
164
-
165
- }(jQuery);
166
-
167
- /* ========================================================================
168
- * Bootstrap: button.js v3.3.6
169
- * http://getbootstrap.com/javascript/#buttons
170
- * ========================================================================
171
- * Copyright 2011-2015 Twitter, Inc.
172
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
173
- * ======================================================================== */
174
-
175
-
176
- +function ($) {
177
- 'use strict';
178
-
179
- // BUTTON PUBLIC CLASS DEFINITION
180
- // ==============================
181
-
182
- var Button = function (element, options) {
183
- this.$element = $(element)
184
- this.options = $.extend({}, Button.DEFAULTS, options)
185
- this.isLoading = false
186
- }
187
-
188
- Button.VERSION = '3.3.6'
189
-
190
- Button.DEFAULTS = {
191
- loadingText: 'loading...'
192
- }
193
-
194
- Button.prototype.setState = function (state) {
195
- var d = 'disabled'
196
- var $el = this.$element
197
- var val = $el.is('input') ? 'val' : 'html'
198
- var data = $el.data()
199
-
200
- state += 'Text'
201
-
202
- if (data.resetText == null) $el.data('resetText', $el[val]())
203
-
204
- // push to event loop to allow forms to submit
205
- setTimeout($.proxy(function () {
206
- $el[val](data[state] == null ? this.options[state] : data[state])
207
-
208
- if (state == 'loadingText') {
209
- this.isLoading = true
210
- $el.addClass(d).attr(d, d)
211
- } else if (this.isLoading) {
212
- this.isLoading = false
213
- $el.removeClass(d).removeAttr(d)
214
- }
215
- }, this), 0)
216
- }
217
-
218
- Button.prototype.toggle = function () {
219
- var changed = true
220
- var $parent = this.$element.closest('[data-toggle="buttons"]')
221
-
222
- if ($parent.length) {
223
- var $input = this.$element.find('input')
224
- if ($input.prop('type') == 'radio') {
225
- if ($input.prop('checked')) changed = false
226
- $parent.find('.active').removeClass('active')
227
- this.$element.addClass('active')
228
- } else if ($input.prop('type') == 'checkbox') {
229
- if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false
230
- this.$element.toggleClass('active')
231
- }
232
- $input.prop('checked', this.$element.hasClass('active'))
233
- if (changed) $input.trigger('change')
234
- } else {
235
- this.$element.attr('aria-pressed', !this.$element.hasClass('active'))
236
- this.$element.toggleClass('active')
237
- }
238
- }
239
-
240
-
241
- // BUTTON PLUGIN DEFINITION
242
- // ========================
243
-
244
- function Plugin(option) {
245
- return this.each(function () {
246
- var $this = $(this)
247
- var data = $this.data('bs.button')
248
- var options = typeof option == 'object' && option
249
-
250
- if (!data) $this.data('bs.button', (data = new Button(this, options)))
251
-
252
- if (option == 'toggle') data.toggle()
253
- else if (option) data.setState(option)
254
- })
255
- }
256
-
257
- var old = $.fn.button
258
-
259
- $.fn.button = Plugin
260
- $.fn.button.Constructor = Button
261
-
262
-
263
- // BUTTON NO CONFLICT
264
- // ==================
265
-
266
- $.fn.button.noConflict = function () {
267
- $.fn.button = old
268
- return this
269
- }
270
-
271
-
272
- // BUTTON DATA-API
273
- // ===============
274
-
275
- $(document)
276
- .on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) {
277
- var $btn = $(e.target)
278
- if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
279
- Plugin.call($btn, 'toggle')
280
- if (!($(e.target).is('input[type="radio"]') || $(e.target).is('input[type="checkbox"]'))) e.preventDefault()
281
- })
282
- .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) {
283
- $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type))
284
- })
285
-
286
- }(jQuery);
287
-
288
- /* ========================================================================
289
- * Bootstrap: carousel.js v3.3.6
290
- * http://getbootstrap.com/javascript/#carousel
291
- * ========================================================================
292
- * Copyright 2011-2015 Twitter, Inc.
293
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
294
- * ======================================================================== */
295
-
296
-
297
- +function ($) {
298
- 'use strict';
299
-
300
- // CAROUSEL CLASS DEFINITION
301
- // =========================
302
-
303
- var Carousel = function (element, options) {
304
- this.$element = $(element)
305
- this.$indicators = this.$element.find('.carousel-indicators')
306
- this.options = options
307
- this.paused = null
308
- this.sliding = null
309
- this.interval = null
310
- this.$active = null
311
- this.$items = null
312
-
313
- this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this))
314
-
315
- this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element
316
- .on('mouseenter.bs.carousel', $.proxy(this.pause, this))
317
- .on('mouseleave.bs.carousel', $.proxy(this.cycle, this))
318
- }
319
-
320
- Carousel.VERSION = '3.3.6'
321
-
322
- Carousel.TRANSITION_DURATION = 600
323
-
324
- Carousel.DEFAULTS = {
325
- interval: 5000,
326
- pause: 'hover',
327
- wrap: true,
328
- keyboard: true
329
- }
330
-
331
- Carousel.prototype.keydown = function (e) {
332
- if (/input|textarea/i.test(e.target.tagName)) return
333
- switch (e.which) {
334
- case 37: this.prev(); break
335
- case 39: this.next(); break
336
- default: return
337
- }
338
-
339
- e.preventDefault()
340
- }
341
-
342
- Carousel.prototype.cycle = function (e) {
343
- e || (this.paused = false)
344
-
345
- this.interval && clearInterval(this.interval)
346
-
347
- this.options.interval
348
- && !this.paused
349
- && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
350
-
351
- return this
352
- }
353
-
354
- Carousel.prototype.getItemIndex = function (item) {
355
- this.$items = item.parent().children('.item')
356
- return this.$items.index(item || this.$active)
357
- }
358
-
359
- Carousel.prototype.getItemForDirection = function (direction, active) {
360
- var activeIndex = this.getItemIndex(active)
361
- var willWrap = (direction == 'prev' && activeIndex === 0)
362
- || (direction == 'next' && activeIndex == (this.$items.length - 1))
363
- if (willWrap && !this.options.wrap) return active
364
- var delta = direction == 'prev' ? -1 : 1
365
- var itemIndex = (activeIndex + delta) % this.$items.length
366
- return this.$items.eq(itemIndex)
367
- }
368
-
369
- Carousel.prototype.to = function (pos) {
370
- var that = this
371
- var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active'))
372
-
373
- if (pos > (this.$items.length - 1) || pos < 0) return
374
-
375
- if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid"
376
- if (activeIndex == pos) return this.pause().cycle()
377
-
378
- return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos))
379
- }
380
-
381
- Carousel.prototype.pause = function (e) {
382
- e || (this.paused = true)
383
-
384
- if (this.$element.find('.next, .prev').length && $.support.transition) {
385
- this.$element.trigger($.support.transition.end)
386
- this.cycle(true)
387
- }
388
-
389
- this.interval = clearInterval(this.interval)
390
-
391
- return this
392
- }
393
-
394
- Carousel.prototype.next = function () {
395
- if (this.sliding) return
396
- return this.slide('next')
397
- }
398
-
399
- Carousel.prototype.prev = function () {
400
- if (this.sliding) return
401
- return this.slide('prev')
402
- }
403
-
404
- Carousel.prototype.slide = function (type, next) {
405
- var $active = this.$element.find('.item.active')
406
- var $next = next || this.getItemForDirection(type, $active)
407
- var isCycling = this.interval
408
- var direction = type == 'next' ? 'left' : 'right'
409
- var that = this
410
-
411
- if ($next.hasClass('active')) return (this.sliding = false)
412
-
413
- var relatedTarget = $next[0]
414
- var slideEvent = $.Event('slide.bs.carousel', {
415
- relatedTarget: relatedTarget,
416
- direction: direction
417
- })
418
- this.$element.trigger(slideEvent)
419
- if (slideEvent.isDefaultPrevented()) return
420
-
421
- this.sliding = true
422
-
423
- isCycling && this.pause()
424
-
425
- if (this.$indicators.length) {
426
- this.$indicators.find('.active').removeClass('active')
427
- var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)])
428
- $nextIndicator && $nextIndicator.addClass('active')
429
- }
430
-
431
- var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid"
432
- if ($.support.transition && this.$element.hasClass('slide')) {
433
- $next.addClass(type)
434
- $next[0].offsetWidth // force reflow
435
- $active.addClass(direction)
436
- $next.addClass(direction)
437
- $active
438
- .one('bsTransitionEnd', function () {
439
- $next.removeClass([type, direction].join(' ')).addClass('active')
440
- $active.removeClass(['active', direction].join(' '))
441
- that.sliding = false
442
- setTimeout(function () {
443
- that.$element.trigger(slidEvent)
444
- }, 0)
445
- })
446
- .emulateTransitionEnd(Carousel.TRANSITION_DURATION)
447
- } else {
448
- $active.removeClass('active')
449
- $next.addClass('active')
450
- this.sliding = false
451
- this.$element.trigger(slidEvent)
452
- }
453
-
454
- isCycling && this.cycle()
455
-
456
- return this
457
- }
458
-
459
-
460
- // CAROUSEL PLUGIN DEFINITION
461
- // ==========================
462
-
463
- function Plugin(option) {
464
- return this.each(function () {
465
- var $this = $(this)
466
- var data = $this.data('bs.carousel')
467
- var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option)
468
- var action = typeof option == 'string' ? option : options.slide
469
-
470
- if (!data) $this.data('bs.carousel', (data = new Carousel(this, options)))
471
- if (typeof option == 'number') data.to(option)
472
- else if (action) data[action]()
473
- else if (options.interval) data.pause().cycle()
474
- })
475
- }
476
-
477
- var old = $.fn.carousel
478
-
479
- $.fn.carousel = Plugin
480
- $.fn.carousel.Constructor = Carousel
481
-
482
-
483
- // CAROUSEL NO CONFLICT
484
- // ====================
485
-
486
- $.fn.carousel.noConflict = function () {
487
- $.fn.carousel = old
488
- return this
489
- }
490
-
491
-
492
- // CAROUSEL DATA-API
493
- // =================
494
-
495
- var clickHandler = function (e) {
496
- var href
497
- var $this = $(this)
498
- var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7
499
- if (!$target.hasClass('carousel')) return
500
- var options = $.extend({}, $target.data(), $this.data())
501
- var slideIndex = $this.attr('data-slide-to')
502
- if (slideIndex) options.interval = false
503
-
504
- Plugin.call($target, options)
505
-
506
- if (slideIndex) {
507
- $target.data('bs.carousel').to(slideIndex)
508
- }
509
-
510
- e.preventDefault()
511
- }
512
-
513
- $(document)
514
- .on('click.bs.carousel.data-api', '[data-slide]', clickHandler)
515
- .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler)
516
-
517
- $(window).on('load', function () {
518
- $('[data-ride="carousel"]').each(function () {
519
- var $carousel = $(this)
520
- Plugin.call($carousel, $carousel.data())
521
- })
522
- })
523
-
524
- }(jQuery);
525
-
526
- /* ========================================================================
527
- * Bootstrap: collapse.js v3.3.6
528
- * http://getbootstrap.com/javascript/#collapse
529
- * ========================================================================
530
- * Copyright 2011-2015 Twitter, Inc.
531
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
532
- * ======================================================================== */
533
-
534
-
535
- +function ($) {
536
- 'use strict';
537
-
538
- // COLLAPSE PUBLIC CLASS DEFINITION
539
- // ================================
540
-
541
- var Collapse = function (element, options) {
542
- this.$element = $(element)
543
- this.options = $.extend({}, Collapse.DEFAULTS, options)
544
- this.$trigger = $('[data-toggle="collapse"][href="#' + element.id + '"],' +
545
- '[data-toggle="collapse"][data-target="#' + element.id + '"]')
546
- this.transitioning = null
547
-
548
- if (this.options.parent) {
549
- this.$parent = this.getParent()
550
- } else {
551
- this.addAriaAndCollapsedClass(this.$element, this.$trigger)
552
- }
553
-
554
- if (this.options.toggle) this.toggle()
555
- }
556
-
557
- Collapse.VERSION = '3.3.6'
558
-
559
- Collapse.TRANSITION_DURATION = 350
560
-
561
- Collapse.DEFAULTS = {
562
- toggle: true
563
- }
564
-
565
- Collapse.prototype.dimension = function () {
566
- var hasWidth = this.$element.hasClass('width')
567
- return hasWidth ? 'width' : 'height'
568
- }
569
-
570
- Collapse.prototype.show = function () {
571
- if (this.transitioning || this.$element.hasClass('in')) return
572
-
573
- var activesData
574
- var actives = this.$parent && this.$parent.children('.wpsm_panel').children('.in, .collapsing')
575
-
576
- if (actives && actives.length) {
577
- activesData = actives.data('bs.collapse')
578
- if (activesData && activesData.transitioning) return
579
- }
580
-
581
- var startEvent = $.Event('show.bs.collapse')
582
- this.$element.trigger(startEvent)
583
- if (startEvent.isDefaultPrevented()) return
584
-
585
- if (actives && actives.length) {
586
- Plugin.call(actives, 'hide')
587
- activesData || actives.data('bs.collapse', null)
588
- }
589
-
590
- var dimension = this.dimension()
591
-
592
- this.$element
593
- .removeClass('collapse')
594
- .addClass('collapsing')[dimension](0)
595
- .attr('aria-expanded', true)
596
-
597
- this.$trigger
598
- .removeClass('collapsed')
599
- .attr('aria-expanded', true)
600
-
601
- this.transitioning = 1
602
-
603
- var complete = function () {
604
- this.$element
605
- .removeClass('collapsing')
606
- .addClass('collapse in')[dimension]('')
607
- this.transitioning = 0
608
- this.$element
609
- .trigger('shown.bs.collapse')
610
- }
611
-
612
- if (!$.support.transition) return complete.call(this)
613
-
614
- var scrollSize = $.camelCase(['scroll', dimension].join('-'))
615
-
616
- this.$element
617
- .one('bsTransitionEnd', $.proxy(complete, this))
618
- .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize])
619
- }
620
-
621
- Collapse.prototype.hide = function () {
622
- if (this.transitioning || !this.$element.hasClass('in')) return
623
-
624
- var startEvent = $.Event('hide.bs.collapse')
625
- this.$element.trigger(startEvent)
626
- if (startEvent.isDefaultPrevented()) return
627
-
628
- var dimension = this.dimension()
629
-
630
- this.$element[dimension](this.$element[dimension]())[0].offsetHeight
631
-
632
- this.$element
633
- .addClass('collapsing')
634
- .removeClass('collapse in')
635
- .attr('aria-expanded', false)
636
-
637
- this.$trigger
638
- .addClass('collapsed')
639
- .attr('aria-expanded', false)
640
-
641
- this.transitioning = 1
642
-
643
- var complete = function () {
644
- this.transitioning = 0
645
- this.$element
646
- .removeClass('collapsing')
647
- .addClass('collapse')
648
- .trigger('hidden.bs.collapse')
649
- }
650
-
651
- if (!$.support.transition) return complete.call(this)
652
-
653
- this.$element
654
- [dimension](0)
655
- .one('bsTransitionEnd', $.proxy(complete, this))
656
- .emulateTransitionEnd(Collapse.TRANSITION_DURATION)
657
- }
658
-
659
- Collapse.prototype.toggle = function () {
660
- this[this.$element.hasClass('in') ? 'hide' : 'show']()
661
- }
662
-
663
- Collapse.prototype.getParent = function () {
664
- return $(this.options.parent)
665
- .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]')
666
- .each($.proxy(function (i, element) {
667
- var $element = $(element)
668
- this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element)
669
- }, this))
670
- .end()
671
- }
672
-
673
- Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) {
674
- var isOpen = $element.hasClass('in')
675
-
676
- $element.attr('aria-expanded', isOpen)
677
- $trigger
678
- .toggleClass('collapsed', !isOpen)
679
- .attr('aria-expanded', isOpen)
680
- }
681
-
682
- function getTargetFromTrigger($trigger) {
683
- var href
684
- var target = $trigger.attr('data-target')
685
- || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7
686
-
687
- return $(target)
688
- }
689
-
690
-
691
- // COLLAPSE PLUGIN DEFINITION
692
- // ==========================
693
-
694
- function Plugin(option) {
695
- return this.each(function () {
696
- var $this = $(this)
697
- var data = $this.data('bs.collapse')
698
- var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)
699
-
700
- if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false
701
- if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))
702
- if (typeof option == 'string') data[option]()
703
- })
704
- }
705
-
706
- var old = $.fn.collapse
707
-
708
- $.fn.collapse = Plugin
709
- $.fn.collapse.Constructor = Collapse
710
-
711
-
712
- // COLLAPSE NO CONFLICT
713
- // ====================
714
-
715
- $.fn.collapse.noConflict = function () {
716
- $.fn.collapse = old
717
- return this
718
- }
719
-
720
-
721
- // COLLAPSE DATA-API
722
- // =================
723
-
724
- $(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) {
725
- var $this = $(this)
726
-
727
- if (!$this.attr('data-target')) e.preventDefault()
728
-
729
- var $target = getTargetFromTrigger($this)
730
- var data = $target.data('bs.collapse')
731
- var option = data ? 'toggle' : $this.data()
732
-
733
- Plugin.call($target, option)
734
- })
735
-
736
- }(jQuery);
737
-
738
- /* ========================================================================
739
- * Bootstrap: dropdown.js v3.3.6
740
- * http://getbootstrap.com/javascript/#dropdowns
741
- * ========================================================================
742
- * Copyright 2011-2015 Twitter, Inc.
743
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
744
- * ======================================================================== */
745
-
746
-
747
- +function ($) {
748
- 'use strict';
749
-
750
- // DROPDOWN CLASS DEFINITION
751
- // =========================
752
-
753
- var backdrop = '.dropdown-backdrop'
754
- var toggle = '[data-toggle="dropdown"]'
755
- var Dropdown = function (element) {
756
- $(element).on('click.bs.dropdown', this.toggle)
757
- }
758
-
759
- Dropdown.VERSION = '3.3.6'
760
-
761
- function getParent($this) {
762
- var selector = $this.attr('data-target')
763
-
764
- if (!selector) {
765
- selector = $this.attr('href')
766
- selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
767
- }
768
-
769
- var $parent = selector && $(selector)
770
-
771
- return $parent && $parent.length ? $parent : $this.parent()
772
- }
773
-
774
- function clearMenus(e) {
775
- if (e && e.which === 3) return
776
- $(backdrop).remove()
777
- $(toggle).each(function () {
778
- var $this = $(this)
779
- var $parent = getParent($this)
780
- var relatedTarget = { relatedTarget: this }
781
-
782
- if (!$parent.hasClass('open')) return
783
-
784
- if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return
785
-
786
- $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))
787
-
788
- if (e.isDefaultPrevented()) return
789
-
790
- $this.attr('aria-expanded', 'false')
791
- $parent.removeClass('open').trigger($.Event('hidden.bs.dropdown', relatedTarget))
792
- })
793
- }
794
-
795
- Dropdown.prototype.toggle = function (e) {
796
- var $this = $(this)
797
-
798
- if ($this.is('.disabled, :disabled')) return
799
-
800
- var $parent = getParent($this)
801
- var isActive = $parent.hasClass('open')
802
-
803
- clearMenus()
804
-
805
- if (!isActive) {
806
- if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {
807
- // if mobile we use a backdrop because click events don't delegate
808
- $(document.createElement('div'))
809
- .addClass('dropdown-backdrop')
810
- .insertAfter($(this))
811
- .on('click', clearMenus)
812
- }
813
-
814
- var relatedTarget = { relatedTarget: this }
815
- $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget))
816
-
817
- if (e.isDefaultPrevented()) return
818
-
819
- $this
820
- .trigger('focus')
821
- .attr('aria-expanded', 'true')
822
-
823
- $parent
824
- .toggleClass('open')
825
- .trigger($.Event('shown.bs.dropdown', relatedTarget))
826
- }
827
-
828
- return false
829
- }
830
-
831
- Dropdown.prototype.keydown = function (e) {
832
- if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return
833
-
834
- var $this = $(this)
835
-
836
- e.preventDefault()
837
- e.stopPropagation()
838
-
839
- if ($this.is('.disabled, :disabled')) return
840
-
841
- var $parent = getParent($this)
842
- var isActive = $parent.hasClass('open')
843
-
844
- if (!isActive && e.which != 27 || isActive && e.which == 27) {
845
- if (e.which == 27) $parent.find(toggle).trigger('focus')
846
- return $this.trigger('click')
847
- }
848
-
849
- var desc = ' li:not(.disabled):visible a'
850
- var $items = $parent.find('.dropdown-menu' + desc)
851
-
852
- if (!$items.length) return
853
-
854
- var index = $items.index(e.target)
855
-
856
- if (e.which == 38 && index > 0) index-- // up
857
- if (e.which == 40 && index < $items.length - 1) index++ // down
858
- if (!~index) index = 0
859
-
860
- $items.eq(index).trigger('focus')
861
- }
862
-
863
-
864
- // DROPDOWN PLUGIN DEFINITION
865
- // ==========================
866
-
867
- function Plugin(option) {
868
- return this.each(function () {
869
- var $this = $(this)
870
- var data = $this.data('bs.dropdown')
871
-
872
- if (!data) $this.data('bs.dropdown', (data = new Dropdown(this)))
873
- if (typeof option == 'string') data[option].call($this)
874
- })
875
- }
876
-
877
- var old = $.fn.dropdown
878
-
879
- $.fn.dropdown = Plugin
880
- $.fn.dropdown.Constructor = Dropdown
881
-
882
-
883
- // DROPDOWN NO CONFLICT
884
- // ====================
885
-
886
- $.fn.dropdown.noConflict = function () {
887
- $.fn.dropdown = old
888
- return this
889
- }
890
-
891
-
892
- // APPLY TO STANDARD DROPDOWN ELEMENTS
893
- // ===================================
894
-
895
- $(document)
896
- .on('click.bs.dropdown.data-api', clearMenus)
897
- .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
898
- .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)
899
- .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)
900
- .on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown)
901
-
902
- }(jQuery);
903
-
904
- /* ========================================================================
905
- * Bootstrap: modal.js v3.3.6
906
- * http://getbootstrap.com/javascript/#modals
907
- * ========================================================================
908
- * Copyright 2011-2015 Twitter, Inc.
909
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
910
- * ======================================================================== */
911
-
912
-
913
- +function ($) {
914
- 'use strict';
915
-
916
- // MODAL CLASS DEFINITION
917
- // ======================
918
-
919
- var Modal = function (element, options) {
920
- this.options = options
921
- this.$body = $(document.body)
922
- this.$element = $(element)
923
- this.$dialog = this.$element.find('.modal-dialog')
924
- this.$backdrop = null
925
- this.isShown = null
926
- this.originalBodyPad = null
927
- this.scrollbarWidth = 0
928
- this.ignoreBackdropClick = false
929
-
930
- if (this.options.remote) {
931
- this.$element
932
- .find('.modal-content')
933
- .load(this.options.remote, $.proxy(function () {
934
- this.$element.trigger('loaded.bs.modal')
935
- }, this))
936
- }
937
- }
938
-
939
- Modal.VERSION = '3.3.6'
940
-
941
- Modal.TRANSITION_DURATION = 300
942
- Modal.BACKDROP_TRANSITION_DURATION = 150
943
-
944
- Modal.DEFAULTS = {
945
- backdrop: true,
946
- keyboard: true,
947
- show: true
948
- }
949
-
950
- Modal.prototype.toggle = function (_relatedTarget) {
951
- return this.isShown ? this.hide() : this.show(_relatedTarget)
952
- }
953
-
954
- Modal.prototype.show = function (_relatedTarget) {
955
- var that = this
956
- var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget })
957
-
958
- this.$element.trigger(e)
959
-
960
- if (this.isShown || e.isDefaultPrevented()) return
961
-
962
- this.isShown = true
963
-
964
- this.checkScrollbar()
965
- this.setScrollbar()
966
- this.$body.addClass('modal-open')
967
-
968
- this.escape()
969
- this.resize()
970
-
971
- this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
972
-
973
- this.$dialog.on('mousedown.dismiss.bs.modal', function () {
974
- that.$element.one('mouseup.dismiss.bs.modal', function (e) {
975
- if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true
976
- })
977
- })
978
-
979
- this.backdrop(function () {
980
- var transition = $.support.transition && that.$element.hasClass('fade')
981
-
982
- if (!that.$element.parent().length) {
983
- that.$element.appendTo(that.$body) // don't move modals dom position
984
- }
985
-
986
- that.$element
987
- .show()
988
- .scrollTop(0)
989
-
990
- that.adjustDialog()
991
-
992
- if (transition) {
993
- that.$element[0].offsetWidth // force reflow
994
- }
995
-
996
- that.$element.addClass('in')
997
-
998
- that.enforceFocus()
999
-
1000
- var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget })
1001
-
1002
- transition ?
1003
- that.$dialog // wait for modal to slide in
1004
- .one('bsTransitionEnd', function () {
1005
- that.$element.trigger('focus').trigger(e)
1006
- })
1007
- .emulateTransitionEnd(Modal.TRANSITION_DURATION) :
1008
- that.$element.trigger('focus').trigger(e)
1009
- })
1010
- }
1011
-
1012
- Modal.prototype.hide = function (e) {
1013
- if (e) e.preventDefault()
1014
-
1015
- e = $.Event('hide.bs.modal')
1016
-
1017
- this.$element.trigger(e)
1018
-
1019
- if (!this.isShown || e.isDefaultPrevented()) return
1020
-
1021
- this.isShown = false
1022
-
1023
- this.escape()
1024
- this.resize()
1025
-
1026
- $(document).off('focusin.bs.modal')
1027
-
1028
- this.$element
1029
- .removeClass('in')
1030
- .off('click.dismiss.bs.modal')
1031
- .off('mouseup.dismiss.bs.modal')
1032
-
1033
- this.$dialog.off('mousedown.dismiss.bs.modal')
1034
-
1035
- $.support.transition && this.$element.hasClass('fade') ?
1036
- this.$element
1037
- .one('bsTransitionEnd', $.proxy(this.hideModal, this))
1038
- .emulateTransitionEnd(Modal.TRANSITION_DURATION) :
1039
- this.hideModal()
1040
- }
1041
-
1042
- Modal.prototype.enforceFocus = function () {
1043
- $(document)
1044
- .off('focusin.bs.modal') // guard against infinite focus loop
1045
- .on('focusin.bs.modal', $.proxy(function (e) {
1046
- if (this.$element[0] !== e.target && !this.$element.has(e.target).length) {
1047
- this.$element.trigger('focus')
1048
- }
1049
- }, this))
1050
- }
1051
-
1052
- Modal.prototype.escape = function () {
1053
- if (this.isShown && this.options.keyboard) {
1054
- this.$element.on('keydown.dismiss.bs.modal', $.proxy(function (e) {
1055
- e.which == 27 && this.hide()
1056
- }, this))
1057
- } else if (!this.isShown) {
1058
- this.$element.off('keydown.dismiss.bs.modal')
1059
- }
1060
- }
1061
-
1062
- Modal.prototype.resize = function () {
1063
- if (this.isShown) {
1064
- $(window).on('resize.bs.modal', $.proxy(this.handleUpdate, this))
1065
- } else {
1066
- $(window).off('resize.bs.modal')
1067
- }
1068
- }
1069
-
1070
- Modal.prototype.hideModal = function () {
1071
- var that = this
1072
- this.$element.hide()
1073
- this.backdrop(function () {
1074
- that.$body.removeClass('modal-open')
1075
- that.resetAdjustments()
1076
- that.resetScrollbar()
1077
- that.$element.trigger('hidden.bs.modal')
1078
- })
1079
- }
1080
-
1081
- Modal.prototype.removeBackdrop = function () {
1082
- this.$backdrop && this.$backdrop.remove()
1083
- this.$backdrop = null
1084
- }
1085
-
1086
- Modal.prototype.backdrop = function (callback) {
1087
- var that = this
1088
- var animate = this.$element.hasClass('fade') ? 'fade' : ''
1089
-
1090
- if (this.isShown && this.options.backdrop) {
1091
- var doAnimate = $.support.transition && animate
1092
-
1093
- this.$backdrop = $(document.createElement('div'))
1094
- .addClass('modal-backdrop ' + animate)
1095
- .appendTo(this.$body)
1096
-
1097
- this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) {
1098
- if (this.ignoreBackdropClick) {
1099
- this.ignoreBackdropClick = false
1100
- return
1101
- }
1102
- if (e.target !== e.currentTarget) return
1103
- this.options.backdrop == 'static'
1104
- ? this.$element[0].focus()
1105
- : this.hide()
1106
- }, this))
1107
-
1108
- if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
1109
-
1110
- this.$backdrop.addClass('in')
1111
-
1112
- if (!callback) return
1113
-
1114
- doAnimate ?
1115
- this.$backdrop
1116
- .one('bsTransitionEnd', callback)
1117
- .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :
1118
- callback()
1119
-
1120
- } else if (!this.isShown && this.$backdrop) {
1121
- this.$backdrop.removeClass('in')
1122
-
1123
- var callbackRemove = function () {
1124
- that.removeBackdrop()
1125
- callback && callback()
1126
- }
1127
- $.support.transition && this.$element.hasClass('fade') ?
1128
- this.$backdrop
1129
- .one('bsTransitionEnd', callbackRemove)
1130
- .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :
1131
- callbackRemove()
1132
-
1133
- } else if (callback) {
1134
- callback()
1135
- }
1136
- }
1137
-
1138
- // these following methods are used to handle overflowing modals
1139
-
1140
- Modal.prototype.handleUpdate = function () {
1141
- this.adjustDialog()
1142
- }
1143
-
1144
- Modal.prototype.adjustDialog = function () {
1145
- var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight
1146
-
1147
- this.$element.css({
1148
- paddingLeft: !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '',
1149
- paddingRight: this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : ''
1150
- })
1151
- }
1152
-
1153
- Modal.prototype.resetAdjustments = function () {
1154
- this.$element.css({
1155
- paddingLeft: '',
1156
- paddingRight: ''
1157
- })
1158
- }
1159
-
1160
- Modal.prototype.checkScrollbar = function () {
1161
- var fullWindowWidth = window.innerWidth
1162
- if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8
1163
- var documentElementRect = document.documentElement.getBoundingClientRect()
1164
- fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left)
1165
- }
1166
- this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth
1167
- this.scrollbarWidth = this.measureScrollbar()
1168
- }
1169
-
1170
- Modal.prototype.setScrollbar = function () {
1171
- var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10)
1172
- this.originalBodyPad = document.body.style.paddingRight || ''
1173
- if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth)
1174
- }
1175
-
1176
- Modal.prototype.resetScrollbar = function () {
1177
- this.$body.css('padding-right', this.originalBodyPad)
1178
- }
1179
-
1180
- Modal.prototype.measureScrollbar = function () { // thx walsh
1181
- var scrollDiv = document.createElement('div')
1182
- scrollDiv.className = 'modal-scrollbar-measure'
1183
- this.$body.append(scrollDiv)
1184
- var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth
1185
- this.$body[0].removeChild(scrollDiv)
1186
- return scrollbarWidth
1187
- }
1188
-
1189
-
1190
- // MODAL PLUGIN DEFINITION
1191
- // =======================
1192
-
1193
- function Plugin(option, _relatedTarget) {
1194
- return this.each(function () {
1195
- var $this = $(this)
1196
- var data = $this.data('bs.modal')
1197
- var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option)
1198
-
1199
- if (!data) $this.data('bs.modal', (data = new Modal(this, options)))
1200
- if (typeof option == 'string') data[option](_relatedTarget)
1201
- else if (options.show) data.show(_relatedTarget)
1202
- })
1203
- }
1204
-
1205
- var old = $.fn.modal
1206
-
1207
- $.fn.modal = Plugin
1208
- $.fn.modal.Constructor = Modal
1209
-
1210
-
1211
- // MODAL NO CONFLICT
1212
- // =================
1213
-
1214
- $.fn.modal.noConflict = function () {
1215
- $.fn.modal = old
1216
- return this
1217
- }
1218
-
1219
-
1220
- // MODAL DATA-API
1221
- // ==============
1222
-
1223
- $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) {
1224
- var $this = $(this)
1225
- var href = $this.attr('href')
1226
- var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) // strip for ie7
1227
- var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
1228
-
1229
- if ($this.is('a')) e.preventDefault()
1230
-
1231
- $target.one('show.bs.modal', function (showEvent) {
1232
- if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown
1233
- $target.one('hidden.bs.modal', function () {
1234
- $this.is(':visible') && $this.trigger('focus')
1235
- })
1236
- })
1237
- Plugin.call($target, option, this)
1238
- })
1239
-
1240
- }(jQuery);
1241
-
1242
- /* ========================================================================
1243
- * Bootstrap: tooltip.js v3.3.6
1244
- * http://getbootstrap.com/javascript/#tooltip
1245
- * Inspired by the original jQuery.tipsy by Jason Frame
1246
- * ========================================================================
1247
- * Copyright 2011-2015 Twitter, Inc.
1248
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
1249
- * ======================================================================== */
1250
-
1251
-
1252
- +function ($) {
1253
- 'use strict';
1254
-
1255
- // TOOLTIP PUBLIC CLASS DEFINITION
1256
- // ===============================
1257
-
1258
- var Tooltip = function (element, options) {
1259
- this.type = null
1260
- this.options = null
1261
- this.enabled = null
1262
- this.timeout = null
1263
- this.hoverState = null
1264
- this.$element = null
1265
- this.inState = null
1266
-
1267
- this.init('tooltip', element, options)
1268
- }
1269
-
1270
- Tooltip.VERSION = '3.3.6'
1271
-
1272
- Tooltip.TRANSITION_DURATION = 150
1273
-
1274
- Tooltip.DEFAULTS = {
1275
- animation: true,
1276
- placement: 'top',
1277
- selector: false,
1278
- template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
1279
- trigger: 'hover focus',
1280
- title: '',
1281
- delay: 0,
1282
- html: false,
1283
- container: false,
1284
- viewport: {
1285
- selector: 'body',
1286
- padding: 0
1287
- }
1288
- }
1289
-
1290
- Tooltip.prototype.init = function (type, element, options) {
1291
- this.enabled = true
1292
- this.type = type
1293
- this.$element = $(element)
1294
- this.options = this.getOptions(options)
1295
- this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport))
1296
- this.inState = { click: false, hover: false, focus: false }
1297
-
1298
- if (this.$element[0] instanceof document.constructor && !this.options.selector) {
1299
- throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!')
1300
- }
1301
-
1302
- var triggers = this.options.trigger.split(' ')
1303
-
1304
- for (var i = triggers.length; i--;) {
1305
- var trigger = triggers[i]
1306
-
1307
- if (trigger == 'click') {
1308
- this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
1309
- } else if (trigger != 'manual') {
1310
- var eventIn = trigger == 'hover' ? 'mouseenter' : 'focusin'
1311
- var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout'
1312
-
1313
- this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
1314
- this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
1315
- }
1316
- }
1317
-
1318
- this.options.selector ?
1319
- (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
1320
- this.fixTitle()
1321
- }
1322
-
1323
- Tooltip.prototype.getDefaults = function () {
1324
- return Tooltip.DEFAULTS
1325
- }
1326
-
1327
- Tooltip.prototype.getOptions = function (options) {
1328
- options = $.extend({}, this.getDefaults(), this.$element.data(), options)
1329
-
1330
- if (options.delay && typeof options.delay == 'number') {
1331
- options.delay = {
1332
- show: options.delay,
1333
- hide: options.delay
1334
- }
1335
- }
1336
-
1337
- return options
1338
- }
1339
-
1340
- Tooltip.prototype.getDelegateOptions = function () {
1341
- var options = {}
1342
- var defaults = this.getDefaults()
1343
-
1344
- this._options && $.each(this._options, function (key, value) {
1345
- if (defaults[key] != value) options[key] = value
1346
- })
1347
-
1348
- return options
1349
- }
1350
-
1351
- Tooltip.prototype.enter = function (obj) {
1352
- var self = obj instanceof this.constructor ?
1353
- obj : $(obj.currentTarget).data('bs.' + this.type)
1354
-
1355
- if (!self) {
1356
- self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
1357
- $(obj.currentTarget).data('bs.' + this.type, self)
1358
- }
1359
-
1360
- if (obj instanceof $.Event) {
1361
- self.inState[obj.type == 'focusin' ? 'focus' : 'hover'] = true
1362
- }
1363
-
1364
- if (self.tip().hasClass('in') || self.hoverState == 'in') {
1365
- self.hoverState = 'in'
1366
- return
1367
- }
1368
-
1369
- clearTimeout(self.timeout)
1370
-
1371
- self.hoverState = 'in'
1372
-
1373
- if (!self.options.delay || !self.options.delay.show) return self.show()
1374
-
1375
- self.timeout = setTimeout(function () {
1376
- if (self.hoverState == 'in') self.show()
1377
- }, self.options.delay.show)
1378
- }
1379
-
1380
- Tooltip.prototype.isInStateTrue = function () {
1381
- for (var key in this.inState) {
1382
- if (this.inState[key]) return true
1383
- }
1384
-
1385
- return false
1386
- }
1387
-
1388
- Tooltip.prototype.leave = function (obj) {
1389
- var self = obj instanceof this.constructor ?
1390
- obj : $(obj.currentTarget).data('bs.' + this.type)
1391
-
1392
- if (!self) {
1393
- self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
1394
- $(obj.currentTarget).data('bs.' + this.type, self)
1395
- }
1396
-
1397
- if (obj instanceof $.Event) {
1398
- self.inState[obj.type == 'focusout' ? 'focus' : 'hover'] = false
1399
- }
1400
-
1401
- if (self.isInStateTrue()) return
1402
-
1403
- clearTimeout(self.timeout)
1404
-
1405
- self.hoverState = 'out'
1406
-
1407
- if (!self.options.delay || !self.options.delay.hide) return self.hide()
1408
-
1409
- self.timeout = setTimeout(function () {
1410
- if (self.hoverState == 'out') self.hide()
1411
- }, self.options.delay.hide)
1412
- }
1413
-
1414
- Tooltip.prototype.show = function () {
1415
- var e = $.Event('show.bs.' + this.type)
1416
-
1417
- if (this.hasContent() && this.enabled) {
1418
- this.$element.trigger(e)
1419
-
1420
- var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0])
1421
- if (e.isDefaultPrevented() || !inDom) return
1422
- var that = this
1423
-
1424
- var $tip = this.tip()
1425
-
1426
- var tipId = this.getUID(this.type)
1427
-
1428
- this.setContent()
1429
- $tip.attr('id', tipId)
1430
- this.$element.attr('aria-describedby', tipId)
1431
-
1432
- if (this.options.animation) $tip.addClass('fade')
1433
-
1434
- var placement = typeof this.options.placement == 'function' ?
1435
- this.options.placement.call(this, $tip[0], this.$element[0]) :
1436
- this.options.placement
1437
-
1438
- var autoToken = /\s?auto?\s?/i
1439
- var autoPlace = autoToken.test(placement)
1440
- if (autoPlace) placement = placement.replace(autoToken, '') || 'top'
1441
-
1442
- $tip
1443
- .detach()
1444
- .css({ top: 0, left: 0, display: 'block' })
1445
- .addClass(placement)
1446
- .data('bs.' + this.type, this)
1447
-
1448
- this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
1449
- this.$element.trigger('inserted.bs.' + this.type)
1450
-
1451
- var pos = this.getPosition()
1452
- var actualWidth = $tip[0].offsetWidth
1453
- var actualHeight = $tip[0].offsetHeight
1454
-
1455
- if (autoPlace) {
1456
- var orgPlacement = placement
1457
- var viewportDim = this.getPosition(this.$viewport)
1458
-
1459
- placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top' :
1460
- placement == 'top' && pos.top - actualHeight < viewportDim.top ? 'bottom' :
1461
- placement == 'right' && pos.right + actualWidth > viewportDim.width ? 'left' :
1462
- placement == 'left' && pos.left - actualWidth < viewportDim.left ? 'right' :
1463
- placement
1464
-
1465
- $tip
1466
- .removeClass(orgPlacement)
1467
- .addClass(placement)
1468
- }
1469
-
1470
- var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight)
1471
-
1472
- this.applyPlacement(calculatedOffset, placement)
1473
-
1474
- var complete = function () {
1475
- var prevHoverState = that.hoverState
1476
- that.$element.trigger('shown.bs.' + that.type)
1477
- that.hoverState = null
1478
-
1479
- if (prevHoverState == 'out') that.leave(that)
1480
- }
1481
-
1482
- $.support.transition && this.$tip.hasClass('fade') ?
1483
- $tip
1484
- .one('bsTransitionEnd', complete)
1485
- .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
1486
- complete()
1487
- }
1488
- }
1489
-
1490
- Tooltip.prototype.applyPlacement = function (offset, placement) {
1491
- var $tip = this.tip()
1492
- var width = $tip[0].offsetWidth
1493
- var height = $tip[0].offsetHeight
1494
-
1495
- // manually read margins because getBoundingClientRect includes difference
1496
- var marginTop = parseInt($tip.css('margin-top'), 10)
1497
- var marginLeft = parseInt($tip.css('margin-left'), 10)
1498
-
1499
- // we must check for NaN for ie 8/9
1500
- if (isNaN(marginTop)) marginTop = 0
1501
- if (isNaN(marginLeft)) marginLeft = 0
1502
-
1503
- offset.top += marginTop
1504
- offset.left += marginLeft
1505
-
1506
- // $.fn.offset doesn't round pixel values
1507
- // so we use setOffset directly with our own function B-0
1508
- $.offset.setOffset($tip[0], $.extend({
1509
- using: function (props) {
1510
- $tip.css({
1511
- top: Math.round(props.top),
1512
- left: Math.round(props.left)
1513
- })
1514
- }
1515
- }, offset), 0)
1516
-
1517
- $tip.addClass('in')
1518
-
1519
- // check to see if placing tip in new offset caused the tip to resize itself
1520
- var actualWidth = $tip[0].offsetWidth
1521
- var actualHeight = $tip[0].offsetHeight
1522
-
1523
- if (placement == 'top' && actualHeight != height) {
1524
- offset.top = offset.top + height - actualHeight
1525
- }
1526
-
1527
- var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight)
1528
-
1529
- if (delta.left) offset.left += delta.left
1530
- else offset.top += delta.top
1531
-
1532
- var isVertical = /top|bottom/.test(placement)
1533
- var arrowDelta = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight
1534
- var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight'
1535
-
1536
- $tip.offset(offset)
1537
- this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical)
1538
- }
1539
-
1540
- Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) {
1541
- this.arrow()
1542
- .css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%')
1543
- .css(isVertical ? 'top' : 'left', '')
1544
- }
1545
-
1546
- Tooltip.prototype.setContent = function () {
1547
- var $tip = this.tip()
1548
- var title = this.getTitle()
1549
-
1550
- $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
1551
- $tip.removeClass('fade in top bottom left right')
1552
- }
1553
-
1554
- Tooltip.prototype.hide = function (callback) {
1555
- var that = this
1556
- var $tip = $(this.$tip)
1557
- var e = $.Event('hide.bs.' + this.type)
1558
-
1559
- function complete() {
1560
- if (that.hoverState != 'in') $tip.detach()
1561
- that.$element
1562
- .removeAttr('aria-describedby')
1563
- .trigger('hidden.bs.' + that.type)
1564
- callback && callback()
1565
- }
1566
-
1567
- this.$element.trigger(e)
1568
-
1569
- if (e.isDefaultPrevented()) return
1570
-
1571
- $tip.removeClass('in')
1572
-
1573
- $.support.transition && $tip.hasClass('fade') ?
1574
- $tip
1575
- .one('bsTransitionEnd', complete)
1576
- .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
1577
- complete()
1578
-
1579
- this.hoverState = null
1580
-
1581
- return this
1582
- }
1583
-
1584
- Tooltip.prototype.fixTitle = function () {
1585
- var $e = this.$element
1586
- if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') {
1587
- $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
1588
- }
1589
- }
1590
-
1591
- Tooltip.prototype.hasContent = function () {
1592
- return this.getTitle()
1593
- }
1594
-
1595
- Tooltip.prototype.getPosition = function ($element) {
1596
- $element = $element || this.$element
1597
-
1598
- var el = $element[0]
1599
- var isBody = el.tagName == 'BODY'
1600
-
1601
- var elRect = el.getBoundingClientRect()
1602
- if (elRect.width == null) {
1603
- // width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093
1604
- elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top })
1605
- }
1606
- var elOffset = isBody ? { top: 0, left: 0 } : $element.offset()
1607
- var scroll = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() }
1608
- var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null
1609
-
1610
- return $.extend({}, elRect, scroll, outerDims, elOffset)
1611
- }
1612
-
1613
- Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {
1614
- return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } :
1615
- placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :
1616
- placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :
1617
- /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width }
1618
-
1619
- }
1620
-
1621
- Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) {
1622
- var delta = { top: 0, left: 0 }
1623
- if (!this.$viewport) return delta
1624
-
1625
- var viewportPadding = this.options.viewport && this.options.viewport.padding || 0
1626
- var viewportDimensions = this.getPosition(this.$viewport)
1627
-
1628
- if (/right|left/.test(placement)) {
1629
- var topEdgeOffset = pos.top - viewportPadding - viewportDimensions.scroll
1630
- var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight
1631
- if (topEdgeOffset < viewportDimensions.top) { // top overflow
1632
- delta.top = viewportDimensions.top - topEdgeOffset
1633
- } else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow
1634
- delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset
1635
- }
1636
- } else {
1637
- var leftEdgeOffset = pos.left - viewportPadding
1638
- var rightEdgeOffset = pos.left + viewportPadding + actualWidth
1639
- if (leftEdgeOffset < viewportDimensions.left) { // left overflow
1640
- delta.left = viewportDimensions.left - leftEdgeOffset
1641
- } else if (rightEdgeOffset > viewportDimensions.right) { // right overflow
1642
- delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset
1643
- }
1644
- }
1645
-
1646
- return delta
1647
- }
1648
-
1649
- Tooltip.prototype.getTitle = function () {
1650
- var title
1651
- var $e = this.$element
1652
- var o = this.options
1653
-
1654
- title = $e.attr('data-original-title')
1655
- || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)
1656
-
1657
- return title
1658
- }
1659
-
1660
- Tooltip.prototype.getUID = function (prefix) {
1661
- do prefix += ~~(Math.random() * 1000000)
1662
- while (document.getElementById(prefix))
1663
- return prefix
1664
- }
1665
-
1666
- Tooltip.prototype.tip = function () {
1667
- if (!this.$tip) {
1668
- this.$tip = $(this.options.template)
1669
- if (this.$tip.length != 1) {
1670
- throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!')
1671
- }
1672
- }
1673
- return this.$tip
1674
- }
1675
-
1676
- Tooltip.prototype.arrow = function () {
1677
- return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow'))
1678
- }
1679
-
1680
- Tooltip.prototype.enable = function () {
1681
- this.enabled = true
1682
- }
1683
-
1684
- Tooltip.prototype.disable = function () {
1685
- this.enabled = false
1686
- }
1687
-
1688
- Tooltip.prototype.toggleEnabled = function () {
1689
- this.enabled = !this.enabled
1690
- }
1691
-
1692
- Tooltip.prototype.toggle = function (e) {
1693
- var self = this
1694
- if (e) {
1695
- self = $(e.currentTarget).data('bs.' + this.type)
1696
- if (!self) {
1697
- self = new this.constructor(e.currentTarget, this.getDelegateOptions())
1698
- $(e.currentTarget).data('bs.' + this.type, self)
1699
- }
1700
- }
1701
-
1702
- if (e) {
1703
- self.inState.click = !self.inState.click
1704
- if (self.isInStateTrue()) self.enter(self)
1705
- else self.leave(self)
1706
- } else {
1707
- self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
1708
- }
1709
- }
1710
-
1711
- Tooltip.prototype.destroy = function () {
1712
- var that = this
1713
- clearTimeout(this.timeout)
1714
- this.hide(function () {
1715
- that.$element.off('.' + that.type).removeData('bs.' + that.type)
1716
- if (that.$tip) {
1717
- that.$tip.detach()
1718
- }
1719
- that.$tip = null
1720
- that.$arrow = null
1721
- that.$viewport = null
1722
- })
1723
- }
1724
-
1725
-
1726
- // TOOLTIP PLUGIN DEFINITION
1727
- // =========================
1728
-
1729
- function Plugin(option) {
1730
- return this.each(function () {
1731
- var $this = $(this)
1732
- var data = $this.data('bs.tooltip')
1733
- var options = typeof option == 'object' && option
1734
-
1735
- if (!data && /destroy|hide/.test(option)) return
1736
- if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
1737
- if (typeof option == 'string') data[option]()
1738
- })
1739
- }
1740
-
1741
- var old = $.fn.tooltip
1742
-
1743
- $.fn.tooltip = Plugin
1744
- $.fn.tooltip.Constructor = Tooltip
1745
-
1746
-
1747
- // TOOLTIP NO CONFLICT
1748
- // ===================
1749
-
1750
- $.fn.tooltip.noConflict = function () {
1751
- $.fn.tooltip = old
1752
- return this
1753
- }
1754
-
1755
- }(jQuery);
1756
-
1757
- /* ========================================================================
1758
- * Bootstrap: popover.js v3.3.6
1759
- * http://getbootstrap.com/javascript/#popovers
1760
- * ========================================================================
1761
- * Copyright 2011-2015 Twitter, Inc.
1762
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
1763
- * ======================================================================== */
1764
-
1765
-
1766
- +function ($) {
1767
- 'use strict';
1768
-
1769
- // POPOVER PUBLIC CLASS DEFINITION
1770
- // ===============================
1771
-
1772
- var Popover = function (element, options) {
1773
- this.init('popover', element, options)
1774
- }
1775
-
1776
- if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
1777
-
1778
- Popover.VERSION = '3.3.6'
1779
-
1780
- Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
1781
- placement: 'right',
1782
- trigger: 'click',
1783
- content: '',
1784
- template: '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
1785
- })
1786
-
1787
-
1788
- // NOTE: POPOVER EXTENDS tooltip.js
1789
- // ================================
1790
-
1791
- Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype)
1792
-
1793
- Popover.prototype.constructor = Popover
1794
-
1795
- Popover.prototype.getDefaults = function () {
1796
- return Popover.DEFAULTS
1797
- }
1798
-
1799
- Popover.prototype.setContent = function () {
1800
- var $tip = this.tip()
1801
- var title = this.getTitle()
1802
- var content = this.getContent()
1803
-
1804
- $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
1805
- $tip.find('.popover-content').children().detach().end()[ // we use append for html objects to maintain js events
1806
- this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text'
1807
- ](content)
1808
-
1809
- $tip.removeClass('fade top bottom left right in')
1810
-
1811
- // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do
1812
- // this manually by checking the contents.
1813
- if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide()
1814
- }
1815
-
1816
- Popover.prototype.hasContent = function () {
1817
- return this.getTitle() || this.getContent()
1818
- }
1819
-
1820
- Popover.prototype.getContent = function () {
1821
- var $e = this.$element
1822
- var o = this.options
1823
-
1824
- return $e.attr('data-content')
1825
- || (typeof o.content == 'function' ?
1826
- o.content.call($e[0]) :
1827
- o.content)
1828
- }
1829
-
1830
- Popover.prototype.arrow = function () {
1831
- return (this.$arrow = this.$arrow || this.tip().find('.arrow'))
1832
- }
1833
-
1834
-
1835
- // POPOVER PLUGIN DEFINITION
1836
- // =========================
1837
-
1838
- function Plugin(option) {
1839
- return this.each(function () {
1840
- var $this = $(this)
1841
- var data = $this.data('bs.popover')
1842
- var options = typeof option == 'object' && option
1843
-
1844
- if (!data && /destroy|hide/.test(option)) return
1845
- if (!data) $this.data('bs.popover', (data = new Popover(this, options)))
1846
- if (typeof option == 'string') data[option]()
1847
- })
1848
- }
1849
-
1850
- var old = $.fn.popover
1851
-
1852
- $.fn.popover = Plugin
1853
- $.fn.popover.Constructor = Popover
1854
-
1855
-
1856
- // POPOVER NO CONFLICT
1857
- // ===================
1858
-
1859
- $.fn.popover.noConflict = function () {
1860
- $.fn.popover = old
1861
- return this
1862
- }
1863
-
1864
- }(jQuery);
1865
-
1866
- /* ========================================================================
1867
- * Bootstrap: scrollspy.js v3.3.6
1868
- * http://getbootstrap.com/javascript/#scrollspy
1869
- * ========================================================================
1870
- * Copyright 2011-2015 Twitter, Inc.
1871
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
1872
- * ======================================================================== */
1873
-
1874
-
1875
- +function ($) {
1876
- 'use strict';
1877
-
1878
- // SCROLLSPY CLASS DEFINITION
1879
- // ==========================
1880
-
1881
- function ScrollSpy(element, options) {
1882
- this.$body = $(document.body)
1883
- this.$scrollElement = $(element).is(document.body) ? $(window) : $(element)
1884
- this.options = $.extend({}, ScrollSpy.DEFAULTS, options)
1885
- this.selector = (this.options.target || '') + ' .nav li > a'
1886
- this.offsets = []
1887
- this.targets = []
1888
- this.activeTarget = null
1889
- this.scrollHeight = 0
1890
-
1891
- this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this))
1892
- this.refresh()
1893
- this.process()
1894
- }
1895
-
1896
- ScrollSpy.VERSION = '3.3.6'
1897
-
1898
- ScrollSpy.DEFAULTS = {
1899
- offset: 10
1900
- }
1901
-
1902
- ScrollSpy.prototype.getScrollHeight = function () {
1903
- return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight)
1904
- }
1905
-
1906
- ScrollSpy.prototype.refresh = function () {
1907
- var that = this
1908
- var offsetMethod = 'offset'
1909
- var offsetBase = 0
1910
-
1911
- this.offsets = []
1912
- this.targets = []
1913
- this.scrollHeight = this.getScrollHeight()
1914
-
1915
- if (!$.isWindow(this.$scrollElement[0])) {
1916
- offsetMethod = 'position'
1917
- offsetBase = this.$scrollElement.scrollTop()
1918
- }
1919
-
1920
- this.$body
1921
- .find(this.selector)
1922
- .map(function () {
1923
- var $el = $(this)
1924
- var href = $el.data('target') || $el.attr('href')
1925
- var $href = /^#./.test(href) && $(href)
1926
-
1927
- return ($href
1928
- && $href.length
1929
- && $href.is(':visible')
1930
- && [[$href[offsetMethod]().top + offsetBase, href]]) || null
1931
- })
1932
- .sort(function (a, b) { return a[0] - b[0] })
1933
- .each(function () {
1934
- that.offsets.push(this[0])
1935
- that.targets.push(this[1])
1936
- })
1937
- }
1938
-
1939
- ScrollSpy.prototype.process = function () {
1940
- var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
1941
- var scrollHeight = this.getScrollHeight()
1942
- var maxScroll = this.options.offset + scrollHeight - this.$scrollElement.height()
1943
- var offsets = this.offsets
1944
- var targets = this.targets
1945
- var activeTarget = this.activeTarget
1946
- var i
1947
-
1948
- if (this.scrollHeight != scrollHeight) {
1949
- this.refresh()
1950
- }
1951
-
1952
- if (scrollTop >= maxScroll) {
1953
- return activeTarget != (i = targets[targets.length - 1]) && this.activate(i)
1954
- }
1955
-
1956
- if (activeTarget && scrollTop < offsets[0]) {
1957
- this.activeTarget = null
1958
- return this.clear()
1959
- }
1960
-
1961
- for (i = offsets.length; i--;) {
1962
- activeTarget != targets[i]
1963
- && scrollTop >= offsets[i]
1964
- && (offsets[i + 1] === undefined || scrollTop < offsets[i + 1])
1965
- && this.activate(targets[i])
1966
- }
1967
- }
1968
-
1969
- ScrollSpy.prototype.activate = function (target) {
1970
- this.activeTarget = target
1971
-
1972
- this.clear()
1973
-
1974
- var selector = this.selector +
1975
- '[data-target="' + target + '"],' +
1976
- this.selector + '[href="' + target + '"]'
1977
-
1978
- var active = $(selector)
1979
- .parents('li')
1980
- .addClass('active')
1981
-
1982
- if (active.parent('.dropdown-menu').length) {
1983
- active = active
1984
- .closest('li.dropdown')
1985
- .addClass('active')
1986
- }
1987
-
1988
- active.trigger('activate.bs.scrollspy')
1989
- }
1990
-
1991
- ScrollSpy.prototype.clear = function () {
1992
- $(this.selector)
1993
- .parentsUntil(this.options.target, '.active')
1994
- .removeClass('active')
1995
- }
1996
-
1997
-
1998
- // SCROLLSPY PLUGIN DEFINITION
1999
- // ===========================
2000
-
2001
- function Plugin(option) {
2002
- return this.each(function () {
2003
- var $this = $(this)
2004
- var data = $this.data('bs.scrollspy')
2005
- var options = typeof option == 'object' && option
2006
-
2007
- if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options)))
2008
- if (typeof option == 'string') data[option]()
2009
- })
2010
- }
2011
-
2012
- var old = $.fn.scrollspy
2013
-
2014
- $.fn.scrollspy = Plugin
2015
- $.fn.scrollspy.Constructor = ScrollSpy
2016
-
2017
-
2018
- // SCROLLSPY NO CONFLICT
2019
- // =====================
2020
-
2021
- $.fn.scrollspy.noConflict = function () {
2022
- $.fn.scrollspy = old
2023
- return this
2024
- }
2025
-
2026
-
2027
- // SCROLLSPY DATA-API
2028
- // ==================
2029
-
2030
- $(window).on('load.bs.scrollspy.data-api', function () {
2031
- $('[data-spy="scroll"]').each(function () {
2032
- var $spy = $(this)
2033
- Plugin.call($spy, $spy.data())
2034
- })
2035
- })
2036
-
2037
- }(jQuery);
2038
-
2039
- /* ========================================================================
2040
- * Bootstrap: tab.js v3.3.6
2041
- * http://getbootstrap.com/javascript/#tabs
2042
- * ========================================================================
2043
- * Copyright 2011-2015 Twitter, Inc.
2044
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
2045
- * ======================================================================== */
2046
-
2047
-
2048
- +function ($) {
2049
- 'use strict';
2050
-
2051
- // TAB CLASS DEFINITION
2052
- // ====================
2053
-
2054
- var Tab = function (element) {
2055
- // jscs:disable requireDollarBeforejQueryAssignment
2056
- this.element = $(element)
2057
- // jscs:enable requireDollarBeforejQueryAssignment
2058
- }
2059
-
2060
- Tab.VERSION = '3.3.6'
2061
-
2062
- Tab.TRANSITION_DURATION = 150
2063
-
2064
- Tab.prototype.show = function () {
2065
- var $this = this.element
2066
- var $ul = $this.closest('ul:not(.dropdown-menu)')
2067
- var selector = $this.data('target')
2068
-
2069
- if (!selector) {
2070
- selector = $this.attr('href')
2071
- selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
2072
- }
2073
-
2074
- if ($this.parent('li').hasClass('active')) return
2075
-
2076
- var $previous = $ul.find('.active:last a')
2077
- var hideEvent = $.Event('hide.bs.tab', {
2078
- relatedTarget: $this[0]
2079
- })
2080
- var showEvent = $.Event('show.bs.tab', {
2081
- relatedTarget: $previous[0]
2082
- })
2083
-
2084
- $previous.trigger(hideEvent)
2085
- $this.trigger(showEvent)
2086
-
2087
- if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return
2088
-
2089
- var $target = $(selector)
2090
-
2091
- this.activate($this.closest('li'), $ul)
2092
- this.activate($target, $target.parent(), function () {
2093
- $previous.trigger({
2094
- type: 'hidden.bs.tab',
2095
- relatedTarget: $this[0]
2096
- })
2097
- $this.trigger({
2098
- type: 'shown.bs.tab',
2099
- relatedTarget: $previous[0]
2100
- })
2101
- })
2102
- }
2103
-
2104
- Tab.prototype.activate = function (element, container, callback) {
2105
- var $active = container.find('> .active')
2106
- var transition = callback
2107
- && $.support.transition
2108
- && ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length)
2109
-
2110
- function next() {
2111
- $active
2112
- .removeClass('active')
2113
- .find('> .dropdown-menu > .active')
2114
- .removeClass('active')
2115
- .end()
2116
- .find('[data-toggle="tab"]')
2117
- .attr('aria-expanded', false)
2118
-
2119
- element
2120
- .addClass('active')
2121
- .find('[data-toggle="tab"]')
2122
- .attr('aria-expanded', true)
2123
-
2124
- if (transition) {
2125
- element[0].offsetWidth // reflow for transition
2126
- element.addClass('in')
2127
- } else {
2128
- element.removeClass('fade')
2129
- }
2130
-
2131
- if (element.parent('.dropdown-menu').length) {
2132
- element
2133
- .closest('li.dropdown')
2134
- .addClass('active')
2135
- .end()
2136
- .find('[data-toggle="tab"]')
2137
- .attr('aria-expanded', true)
2138
- }
2139
-
2140
- callback && callback()
2141
- }
2142
-
2143
- $active.length && transition ?
2144
- $active
2145
- .one('bsTransitionEnd', next)
2146
- .emulateTransitionEnd(Tab.TRANSITION_DURATION) :
2147
- next()
2148
-
2149
- $active.removeClass('in')
2150
- }
2151
-
2152
-
2153
- // TAB PLUGIN DEFINITION
2154
- // =====================
2155
-
2156
- function Plugin(option) {
2157
- return this.each(function () {
2158
- var $this = $(this)
2159
- var data = $this.data('bs.tab')
2160
-
2161
- if (!data) $this.data('bs.tab', (data = new Tab(this)))
2162
- if (typeof option == 'string') data[option]()
2163
- })
2164
- }
2165
-
2166
- var old = $.fn.tab
2167
-
2168
- $.fn.tab = Plugin
2169
- $.fn.tab.Constructor = Tab
2170
-
2171
-
2172
- // TAB NO CONFLICT
2173
- // ===============
2174
-
2175
- $.fn.tab.noConflict = function () {
2176
- $.fn.tab = old
2177
- return this
2178
- }
2179
-
2180
-
2181
- // TAB DATA-API
2182
- // ============
2183
-
2184
- var clickHandler = function (e) {
2185
- e.preventDefault()
2186
- Plugin.call($(this), 'show')
2187
- }
2188
-
2189
- $(document)
2190
- .on('click.bs.tab.data-api', '[data-toggle="tab"]', clickHandler)
2191
- .on('click.bs.tab.data-api', '[data-toggle="pill"]', clickHandler)
2192
-
2193
- }(jQuery);
2194
-
2195
- /* ========================================================================
2196
- * Bootstrap: affix.js v3.3.6
2197
- * http://getbootstrap.com/javascript/#affix
2198
- * ========================================================================
2199
- * Copyright 2011-2015 Twitter, Inc.
2200
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
2201
- * ======================================================================== */
2202
-
2203
-
2204
- +function ($) {
2205
- 'use strict';
2206
-
2207
- // AFFIX CLASS DEFINITION
2208
- // ======================
2209
-
2210
- var Affix = function (element, options) {
2211
- this.options = $.extend({}, Affix.DEFAULTS, options)
2212
-
2213
- this.$target = $(this.options.target)
2214
- .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))
2215
- .on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this))
2216
-
2217
- this.$element = $(element)
2218
- this.affixed = null
2219
- this.unpin = null
2220
- this.pinnedOffset = null
2221
-
2222
- this.checkPosition()
2223
- }
2224
-
2225
- Affix.VERSION = '3.3.6'
2226
-
2227
- Affix.RESET = 'affix affix-top affix-bottom'
2228
-
2229
- Affix.DEFAULTS = {
2230
- offset: 0,
2231
- target: window
2232
- }
2233
-
2234
- Affix.prototype.getState = function (scrollHeight, height, offsetTop, offsetBottom) {
2235
- var scrollTop = this.$target.scrollTop()
2236
- var position = this.$element.offset()
2237
- var targetHeight = this.$target.height()
2238
-
2239
- if (offsetTop != null && this.affixed == 'top') return scrollTop < offsetTop ? 'top' : false
2240
-
2241
- if (this.affixed == 'bottom') {
2242
- if (offsetTop != null) return (scrollTop + this.unpin <= position.top) ? false : 'bottom'
2243
- return (scrollTop + targetHeight <= scrollHeight - offsetBottom) ? false : 'bottom'
2244
- }
2245
-
2246
- var initializing = this.affixed == null
2247
- var colliderTop = initializing ? scrollTop : position.top
2248
- var colliderHeight = initializing ? targetHeight : height
2249
-
2250
- if (offsetTop != null && scrollTop <= offsetTop) return 'top'
2251
- if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom'
2252
-
2253
- return false
2254
- }
2255
-
2256
- Affix.prototype.getPinnedOffset = function () {
2257
- if (this.pinnedOffset) return this.pinnedOffset
2258
- this.$element.removeClass(Affix.RESET).addClass('affix')
2259
- var scrollTop = this.$target.scrollTop()
2260
- var position = this.$element.offset()
2261
- return (this.pinnedOffset = position.top - scrollTop)
2262
- }
2263
-
2264
- Affix.prototype.checkPositionWithEventLoop = function () {
2265
- setTimeout($.proxy(this.checkPosition, this), 1)
2266
- }
2267
-
2268
- Affix.prototype.checkPosition = function () {
2269
- if (!this.$element.is(':visible')) return
2270
-
2271
- var height = this.$element.height()
2272
- var offset = this.options.offset
2273
- var offsetTop = offset.top
2274
- var offsetBottom = offset.bottom
2275
- var scrollHeight = Math.max($(document).height(), $(document.body).height())
2276
-
2277
- if (typeof offset != 'object') offsetBottom = offsetTop = offset
2278
- if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element)
2279
- if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element)
2280
-
2281
- var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom)
2282
-
2283
- if (this.affixed != affix) {
2284
- if (this.unpin != null) this.$element.css('top', '')
2285
-
2286
- var affixType = 'affix' + (affix ? '-' + affix : '')
2287
- var e = $.Event(affixType + '.bs.affix')
2288
-
2289
- this.$element.trigger(e)
2290
-
2291
- if (e.isDefaultPrevented()) return
2292
-
2293
- this.affixed = affix
2294
- this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null
2295
-
2296
- this.$element
2297
- .removeClass(Affix.RESET)
2298
- .addClass(affixType)
2299
- .trigger(affixType.replace('affix', 'affixed') + '.bs.affix')
2300
- }
2301
-
2302
- if (affix == 'bottom') {
2303
- this.$element.offset({
2304
- top: scrollHeight - height - offsetBottom
2305
- })
2306
- }
2307
- }
2308
-
2309
-
2310
- // AFFIX PLUGIN DEFINITION
2311
- // =======================
2312
-
2313
- function Plugin(option) {
2314
- return this.each(function () {
2315
- var $this = $(this)
2316
- var data = $this.data('bs.affix')
2317
- var options = typeof option == 'object' && option
2318
-
2319
- if (!data) $this.data('bs.affix', (data = new Affix(this, options)))
2320
- if (typeof option == 'string') data[option]()
2321
- })
2322
- }
2323
-
2324
- var old = $.fn.affix
2325
-
2326
- $.fn.affix = Plugin
2327
- $.fn.affix.Constructor = Affix
2328
-
2329
-
2330
- // AFFIX NO CONFLICT
2331
- // =================
2332
-
2333
- $.fn.affix.noConflict = function () {
2334
- $.fn.affix = old
2335
- return this
2336
- }
2337
-
2338
-
2339
- // AFFIX DATA-API
2340
- // ==============
2341
-
2342
- $(window).on('load', function () {
2343
- $('[data-spy="affix"]').each(function () {
2344
- var $spy = $(this)
2345
- var data = $spy.data()
2346
-
2347
- data.offset = data.offset || {}
2348
-
2349
- if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom
2350
- if (data.offsetTop != null) data.offset.top = data.offsetTop
2351
-
2352
- Plugin.call($spy, data)
2353
- })
2354
- })
2355
-
2356
- }(jQuery);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/js/tabs-custom.js ADDED
@@ -0,0 +1,2247 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ +function ($) {
2
+ 'use strict';
3
+
4
+ // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)
5
+ // ============================================================
6
+
7
+ function transitionEnd() {
8
+ var el = document.createElement('bootstrap')
9
+
10
+ var transEndEventNames = {
11
+ WebkitTransition : 'webkitTransitionEnd',
12
+ MozTransition : 'transitionend',
13
+ OTransition : 'oTransitionEnd otransitionend',
14
+ transition : 'transitionend'
15
+ }
16
+
17
+ for (var name in transEndEventNames) {
18
+ if (el.style[name] !== undefined) {
19
+ return { end: transEndEventNames[name] }
20
+ }
21
+ }
22
+
23
+ return false // explicit for ie8 ( ._.)
24
+ }
25
+
26
+ // http://blog.alexmaccaw.com/css-transitions
27
+ $.fn.emulateTransitionEnd = function (duration) {
28
+ var called = false
29
+ var $el = this
30
+ $(this).one('bsTransitionEnd', function () { called = true })
31
+ var callback = function () { if (!called) $($el).trigger($.support.transition.end) }
32
+ setTimeout(callback, duration)
33
+ return this
34
+ }
35
+
36
+ $(function () {
37
+ $.support.transition = transitionEnd()
38
+
39
+ if (!$.support.transition) return
40
+
41
+ $.event.special.bsTransitionEnd = {
42
+ bindType: $.support.transition.end,
43
+ delegateType: $.support.transition.end,
44
+ handle: function (e) {
45
+ if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments)
46
+ }
47
+ }
48
+ })
49
+
50
+ }(jQuery);
51
+
52
+
53
+ +function ($) {
54
+ 'use strict';
55
+
56
+ // ALERT CLASS DEFINITION
57
+ // ======================
58
+
59
+ var dismiss = '[data-dismiss="alert"]'
60
+ var Alert = function (el) {
61
+ $(el).on('click', dismiss, this.close)
62
+ }
63
+
64
+ Alert.VERSION = '3.3.6'
65
+
66
+ Alert.TRANSITION_DURATION = 150
67
+
68
+ Alert.prototype.close = function (e) {
69
+ var $this = $(this)
70
+ var selector = $this.attr('data-target')
71
+
72
+ if (!selector) {
73
+ selector = $this.attr('href')
74
+ selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
75
+ }
76
+
77
+ var $parent = $(selector)
78
+
79
+ if (e) e.preventDefault()
80
+
81
+ if (!$parent.length) {
82
+ $parent = $this.closest('.alert')
83
+ }
84
+
85
+ $parent.trigger(e = $.Event('close.bs.alert'))
86
+
87
+ if (e.isDefaultPrevented()) return
88
+
89
+ $parent.removeClass('in')
90
+
91
+ function removeElement() {
92
+ // detach from parent, fire event then clean up data
93
+ $parent.detach().trigger('closed.bs.alert').remove()
94
+ }
95
+
96
+ $.support.transition && $parent.hasClass('fade') ?
97
+ $parent
98
+ .one('bsTransitionEnd', removeElement)
99
+ .emulateTransitionEnd(Alert.TRANSITION_DURATION) :
100
+ removeElement()
101
+ }
102
+
103
+
104
+ // ALERT PLUGIN DEFINITION
105
+ // =======================
106
+
107
+ function Plugin(option) {
108
+ return this.each(function () {
109
+ var $this = $(this)
110
+ var data = $this.data('bs.alert')
111
+
112
+ if (!data) $this.data('bs.alert', (data = new Alert(this)))
113
+ if (typeof option == 'string') data[option].call($this)
114
+ })
115
+ }
116
+
117
+ var old = $.fn.alert
118
+
119
+ $.fn.alert = Plugin
120
+ $.fn.alert.Constructor = Alert
121
+
122
+
123
+ // ALERT NO CONFLICT
124
+ // =================
125
+
126
+ $.fn.alert.noConflict = function () {
127
+ $.fn.alert = old
128
+ return this
129
+ }
130
+
131
+
132
+ // ALERT DATA-API
133
+ // ==============
134
+
135
+ $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close)
136
+
137
+ }(jQuery);
138
+
139
+
140
+ +function ($) {
141
+ 'use strict';
142
+
143
+ // BUTTON PUBLIC CLASS DEFINITION
144
+ // ==============================
145
+
146
+ var Button = function (element, options) {
147
+ this.$element = $(element)
148
+ this.options = $.extend({}, Button.DEFAULTS, options)
149
+ this.isLoading = false
150
+ }
151
+
152
+ Button.VERSION = '3.3.6'
153
+
154
+ Button.DEFAULTS = {
155
+ loadingText: 'loading...'
156
+ }
157
+
158
+ Button.prototype.setState = function (state) {
159
+ var d = 'disabled'
160
+ var $el = this.$element
161
+ var val = $el.is('input') ? 'val' : 'html'
162
+ var data = $el.data()
163
+
164
+ state += 'Text'
165
+
166
+ if (data.resetText == null) $el.data('resetText', $el[val]())
167
+
168
+ // push to event loop to allow forms to submit
169
+ setTimeout($.proxy(function () {
170
+ $el[val](data[state] == null ? this.options[state] : data[state])
171
+
172
+ if (state == 'loadingText') {
173
+ this.isLoading = true
174
+ $el.addClass(d).attr(d, d)
175
+ } else if (this.isLoading) {
176
+ this.isLoading = false
177
+ $el.removeClass(d).removeAttr(d)
178
+ }
179
+ }, this), 0)
180
+ }
181
+
182
+ Button.prototype.toggle = function () {
183
+ var changed = true
184
+ var $parent = this.$element.closest('[data-toggle="buttons"]')
185
+
186
+ if ($parent.length) {
187
+ var $input = this.$element.find('input')
188
+ if ($input.prop('type') == 'radio') {
189
+ if ($input.prop('checked')) changed = false
190
+ $parent.find('.active').removeClass('active')
191
+ this.$element.addClass('active')
192
+ } else if ($input.prop('type') == 'checkbox') {
193
+ if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false
194
+ this.$element.toggleClass('active')
195
+ }
196
+ $input.prop('checked', this.$element.hasClass('active'))
197
+ if (changed) $input.trigger('change')
198
+ } else {
199
+ this.$element.attr('aria-pressed', !this.$element.hasClass('active'))
200
+ this.$element.toggleClass('active')
201
+ }
202
+ }
203
+
204
+
205
+ // BUTTON PLUGIN DEFINITION
206
+ // ========================
207
+
208
+ function Plugin(option) {
209
+ return this.each(function () {
210
+ var $this = $(this)
211
+ var data = $this.data('bs.button')
212
+ var options = typeof option == 'object' && option
213
+
214
+ if (!data) $this.data('bs.button', (data = new Button(this, options)))
215
+
216
+ if (option == 'toggle') data.toggle()
217
+ else if (option) data.setState(option)
218
+ })
219
+ }
220
+
221
+ var old = $.fn.button
222
+
223
+ $.fn.button = Plugin
224
+ $.fn.button.Constructor = Button
225
+
226
+
227
+ // BUTTON NO CONFLICT
228
+ // ==================
229
+
230
+ $.fn.button.noConflict = function () {
231
+ $.fn.button = old
232
+ return this
233
+ }
234
+
235
+
236
+ // BUTTON DATA-API
237
+ // ===============
238
+
239
+ $(document)
240
+ .on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) {
241
+ var $btn = $(e.target)
242
+ if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
243
+ Plugin.call($btn, 'toggle')
244
+ if (!($(e.target).is('input[type="radio"]') || $(e.target).is('input[type="checkbox"]'))) e.preventDefault()
245
+ })
246
+ .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) {
247
+ $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type))
248
+ })
249
+
250
+ }(jQuery);
251
+
252
+
253
+ +function ($) {
254
+ 'use strict';
255
+
256
+ // CAROUSEL CLASS DEFINITION
257
+ // =========================
258
+
259
+ var Carousel = function (element, options) {
260
+ this.$element = $(element)
261
+ this.$indicators = this.$element.find('.carousel-indicators')
262
+ this.options = options
263
+ this.paused = null
264
+ this.sliding = null
265
+ this.interval = null
266
+ this.$active = null
267
+ this.$items = null
268
+
269
+ this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this))
270
+
271
+ this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element
272
+ .on('mouseenter.bs.carousel', $.proxy(this.pause, this))
273
+ .on('mouseleave.bs.carousel', $.proxy(this.cycle, this))
274
+ }
275
+
276
+ Carousel.VERSION = '3.3.6'
277
+
278
+ Carousel.TRANSITION_DURATION = 600
279
+
280
+ Carousel.DEFAULTS = {
281
+ interval: 5000,
282
+ pause: 'hover',
283
+ wrap: true,
284
+ keyboard: true
285
+ }
286
+
287
+ Carousel.prototype.keydown = function (e) {
288
+ if (/input|textarea/i.test(e.target.tagName)) return
289
+ switch (e.which) {
290
+ case 37: this.prev(); break
291
+ case 39: this.next(); break
292
+ default: return
293
+ }
294
+
295
+ e.preventDefault()
296
+ }
297
+
298
+ Carousel.prototype.cycle = function (e) {
299
+ e || (this.paused = false)
300
+
301
+ this.interval && clearInterval(this.interval)
302
+
303
+ this.options.interval
304
+ && !this.paused
305
+ && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
306
+
307
+ return this
308
+ }
309
+
310
+ Carousel.prototype.getItemIndex = function (item) {
311
+ this.$items = item.parent().children('.item')
312
+ return this.$items.index(item || this.$active)
313
+ }
314
+
315
+ Carousel.prototype.getItemForDirection = function (direction, active) {
316
+ var activeIndex = this.getItemIndex(active)
317
+ var willWrap = (direction == 'prev' && activeIndex === 0)
318
+ || (direction == 'next' && activeIndex == (this.$items.length - 1))
319
+ if (willWrap && !this.options.wrap) return active
320
+ var delta = direction == 'prev' ? -1 : 1
321
+ var itemIndex = (activeIndex + delta) % this.$items.length
322
+ return this.$items.eq(itemIndex)
323
+ }
324
+
325
+ Carousel.prototype.to = function (pos) {
326
+ var that = this
327
+ var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active'))
328
+
329
+ if (pos > (this.$items.length - 1) || pos < 0) return
330
+
331
+ if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid"
332
+ if (activeIndex == pos) return this.pause().cycle()
333
+
334
+ return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos))
335
+ }
336
+
337
+ Carousel.prototype.pause = function (e) {
338
+ e || (this.paused = true)
339
+
340
+ if (this.$element.find('.next, .prev').length && $.support.transition) {
341
+ this.$element.trigger($.support.transition.end)
342
+ this.cycle(true)
343
+ }
344
+
345
+ this.interval = clearInterval(this.interval)
346
+
347
+ return this
348
+ }
349
+
350
+ Carousel.prototype.next = function () {
351
+ if (this.sliding) return
352
+ return this.slide('next')
353
+ }
354
+
355
+ Carousel.prototype.prev = function () {
356
+ if (this.sliding) return
357
+ return this.slide('prev')
358
+ }
359
+
360
+ Carousel.prototype.slide = function (type, next) {
361
+ var $active = this.$element.find('.item.active')
362
+ var $next = next || this.getItemForDirection(type, $active)
363
+ var isCycling = this.interval
364
+ var direction = type == 'next' ? 'left' : 'right'
365
+ var that = this
366
+
367
+ if ($next.hasClass('active')) return (this.sliding = false)
368
+
369
+ var relatedTarget = $next[0]
370
+ var slideEvent = $.Event('slide.bs.carousel', {
371
+ relatedTarget: relatedTarget,
372
+ direction: direction
373
+ })
374
+ this.$element.trigger(slideEvent)
375
+ if (slideEvent.isDefaultPrevented()) return
376
+
377
+ this.sliding = true
378
+
379
+ isCycling && this.pause()
380
+
381
+ if (this.$indicators.length) {
382
+ this.$indicators.find('.active').removeClass('active')
383
+ var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)])
384
+ $nextIndicator && $nextIndicator.addClass('active')
385
+ }
386
+
387
+ var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid"
388
+ if ($.support.transition && this.$element.hasClass('slide')) {
389
+ $next.addClass(type)
390
+ $next[0].offsetWidth // force reflow
391
+ $active.addClass(direction)
392
+ $next.addClass(direction)
393
+ $active
394
+ .one('bsTransitionEnd', function () {
395
+ $next.removeClass([type, direction].join(' ')).addClass('active')
396
+ $active.removeClass(['active', direction].join(' '))
397
+ that.sliding = false
398
+ setTimeout(function () {
399
+ that.$element.trigger(slidEvent)
400
+ }, 0)
401
+ })
402
+ .emulateTransitionEnd(Carousel.TRANSITION_DURATION)
403
+ } else {
404
+ $active.removeClass('active')
405
+ $next.addClass('active')
406
+ this.sliding = false
407
+ this.$element.trigger(slidEvent)
408
+ }
409
+
410
+ isCycling && this.cycle()
411
+
412
+ return this
413
+ }
414
+
415
+
416
+ // CAROUSEL PLUGIN DEFINITION
417
+ // ==========================
418
+
419
+ function Plugin(option) {
420
+ return this.each(function () {
421
+ var $this = $(this)
422
+ var data = $this.data('bs.carousel')
423
+ var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option)
424
+ var action = typeof option == 'string' ? option : options.slide
425
+
426
+ if (!data) $this.data('bs.carousel', (data = new Carousel(this, options)))
427
+ if (typeof option == 'number') data.to(option)
428
+ else if (action) data[action]()
429
+ else if (options.interval) data.pause().cycle()
430
+ })
431
+ }
432
+
433
+ var old = $.fn.carousel
434
+
435
+ $.fn.carousel = Plugin
436
+ $.fn.carousel.Constructor = Carousel
437
+
438
+
439
+ // CAROUSEL NO CONFLICT
440
+ // ====================
441
+
442
+ $.fn.carousel.noConflict = function () {
443
+ $.fn.carousel = old
444
+ return this
445
+ }
446
+
447
+
448
+ // CAROUSEL DATA-API
449
+ // =================
450
+
451
+ var clickHandler = function (e) {
452
+ var href
453
+ var $this = $(this)
454
+ var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7
455
+ if (!$target.hasClass('carousel')) return
456
+ var options = $.extend({}, $target.data(), $this.data())
457
+ var slideIndex = $this.attr('data-slide-to')
458
+ if (slideIndex) options.interval = false
459
+
460
+ Plugin.call($target, options)
461
+
462
+ if (slideIndex) {
463
+ $target.data('bs.carousel').to(slideIndex)
464
+ }
465
+
466
+ e.preventDefault()
467
+ }
468
+
469
+ $(document)
470
+ .on('click.bs.carousel.data-api', '[data-slide]', clickHandler)
471
+ .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler)
472
+
473
+ $(window).on('load', function () {
474
+ $('[data-ride="carousel"]').each(function () {
475
+ var $carousel = $(this)
476
+ Plugin.call($carousel, $carousel.data())
477
+ })
478
+ })
479
+
480
+ }(jQuery);
481
+
482
+
483
+ +function ($) {
484
+ 'use strict';
485
+
486
+ // COLLAPSE PUBLIC CLASS DEFINITION
487
+ // ================================
488
+
489
+ var Collapse = function (element, options) {
490
+ this.$element = $(element)
491
+ this.options = $.extend({}, Collapse.DEFAULTS, options)
492
+ this.$trigger = $('[data-toggle="collapse"][href="#' + element.id + '"],' +
493
+ '[data-toggle="collapse"][data-target="#' + element.id + '"]')
494
+ this.transitioning = null
495
+
496
+ if (this.options.parent) {
497
+ this.$parent = this.getParent()
498
+ } else {
499
+ this.addAriaAndCollapsedClass(this.$element, this.$trigger)
500
+ }
501
+
502
+ if (this.options.toggle) this.toggle()
503
+ }
504
+
505
+ Collapse.VERSION = '3.3.6'
506
+
507
+ Collapse.TRANSITION_DURATION = 350
508
+
509
+ Collapse.DEFAULTS = {
510
+ toggle: true
511
+ }
512
+
513
+ Collapse.prototype.dimension = function () {
514
+ var hasWidth = this.$element.hasClass('width')
515
+ return hasWidth ? 'width' : 'height'
516
+ }
517
+
518
+ Collapse.prototype.show = function () {
519
+ if (this.transitioning || this.$element.hasClass('in')) return
520
+
521
+ var activesData
522
+ var actives = this.$parent && this.$parent.children('.wpsm_panel').children('.in, .collapsing')
523
+
524
+ if (actives && actives.length) {
525
+ activesData = actives.data('bs.collapse')
526
+ if (activesData && activesData.transitioning) return
527
+ }
528
+
529
+ var startEvent = $.Event('show.bs.collapse')
530
+ this.$element.trigger(startEvent)
531
+ if (startEvent.isDefaultPrevented()) return
532
+
533
+ if (actives && actives.length) {
534
+ Plugin.call(actives, 'hide')
535
+ activesData || actives.data('bs.collapse', null)
536
+ }
537
+
538
+ var dimension = this.dimension()
539
+
540
+ this.$element
541
+ .removeClass('collapse')
542
+ .addClass('collapsing')[dimension](0)
543
+ .attr('aria-expanded', true)
544
+
545
+ this.$trigger
546
+ .removeClass('collapsed')
547
+ .attr('aria-expanded', true)
548
+
549
+ this.transitioning = 1
550
+
551
+ var complete = function () {
552
+ this.$element
553
+ .removeClass('collapsing')
554
+ .addClass('collapse in')[dimension]('')
555
+ this.transitioning = 0
556
+ this.$element
557
+ .trigger('shown.bs.collapse')
558
+ }
559
+
560
+ if (!$.support.transition) return complete.call(this)
561
+
562
+ var scrollSize = $.camelCase(['scroll', dimension].join('-'))
563
+
564
+ this.$element
565
+ .one('bsTransitionEnd', $.proxy(complete, this))
566
+ .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize])
567
+ }
568
+
569
+ Collapse.prototype.hide = function () {
570
+ if (this.transitioning || !this.$element.hasClass('in')) return
571
+
572
+ var startEvent = $.Event('hide.bs.collapse')
573
+ this.$element.trigger(startEvent)
574
+ if (startEvent.isDefaultPrevented()) return
575
+
576
+ var dimension = this.dimension()
577
+
578
+ this.$element[dimension](this.$element[dimension]())[0].offsetHeight
579
+
580
+ this.$element
581
+ .addClass('collapsing')
582
+ .removeClass('collapse in')
583
+ .attr('aria-expanded', false)
584
+
585
+ this.$trigger
586
+ .addClass('collapsed')
587
+ .attr('aria-expanded', false)
588
+
589
+ this.transitioning = 1
590
+
591
+ var complete = function () {
592
+ this.transitioning = 0
593
+ this.$element
594
+ .removeClass('collapsing')
595
+ .addClass('collapse')
596
+ .trigger('hidden.bs.collapse')
597
+ }
598
+
599
+ if (!$.support.transition) return complete.call(this)
600
+
601
+ this.$element
602
+ [dimension](0)
603
+ .one('bsTransitionEnd', $.proxy(complete, this))
604
+ .emulateTransitionEnd(Collapse.TRANSITION_DURATION)
605
+ }
606
+
607
+ Collapse.prototype.toggle = function () {
608
+ this[this.$element.hasClass('in') ? 'hide' : 'show']()
609
+ }
610
+
611
+ Collapse.prototype.getParent = function () {
612
+ return $(this.options.parent)
613
+ .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]')
614
+ .each($.proxy(function (i, element) {
615
+ var $element = $(element)
616
+ this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element)
617
+ }, this))
618
+ .end()
619
+ }
620
+
621
+ Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) {
622
+ var isOpen = $element.hasClass('in')
623
+
624
+ $element.attr('aria-expanded', isOpen)
625
+ $trigger
626
+ .toggleClass('collapsed', !isOpen)
627
+ .attr('aria-expanded', isOpen)
628
+ }
629
+
630
+ function getTargetFromTrigger($trigger) {
631
+ var href
632
+ var target = $trigger.attr('data-target')
633
+ || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7
634
+
635
+ return $(target)
636
+ }
637
+
638
+
639
+ // COLLAPSE PLUGIN DEFINITION
640
+ // ==========================
641
+
642
+ function Plugin(option) {
643
+ return this.each(function () {
644
+ var $this = $(this)
645
+ var data = $this.data('bs.collapse')
646
+ var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)
647
+
648
+ if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false
649
+ if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))
650
+ if (typeof option == 'string') data[option]()
651
+ })
652
+ }
653
+
654
+ var old = $.fn.collapse
655
+
656
+ $.fn.collapse = Plugin
657
+ $.fn.collapse.Constructor = Collapse
658
+
659
+
660
+ // COLLAPSE NO CONFLICT
661
+ // ====================
662
+
663
+ $.fn.collapse.noConflict = function () {
664
+ $.fn.collapse = old
665
+ return this
666
+ }
667
+
668
+
669
+ // COLLAPSE DATA-API
670
+ // =================
671
+
672
+ $(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) {
673
+ var $this = $(this)
674
+
675
+ if (!$this.attr('data-target')) e.preventDefault()
676
+
677
+ var $target = getTargetFromTrigger($this)
678
+ var data = $target.data('bs.collapse')
679
+ var option = data ? 'toggle' : $this.data()
680
+
681
+ Plugin.call($target, option)
682
+ })
683
+
684
+ }(jQuery);
685
+
686
+
687
+ +function ($) {
688
+ 'use strict';
689
+
690
+ // DROPDOWN CLASS DEFINITION
691
+ // =========================
692
+
693
+ var backdrop = '.dropdown-backdrop'
694
+ var toggle = '[data-toggle="dropdown"]'
695
+ var Dropdown = function (element) {
696
+ $(element).on('click.bs.dropdown', this.toggle)
697
+ }
698
+
699
+ Dropdown.VERSION = '3.3.6'
700
+
701
+ function getParent($this) {
702
+ var selector = $this.attr('data-target')
703
+
704
+ if (!selector) {
705
+ selector = $this.attr('href')
706
+ selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
707
+ }
708
+
709
+ var $parent = selector && $(selector)
710
+
711
+ return $parent && $parent.length ? $parent : $this.parent()
712
+ }
713
+
714
+ function clearMenus(e) {
715
+ if (e && e.which === 3) return
716
+ $(backdrop).remove()
717
+ $(toggle).each(function () {
718
+ var $this = $(this)
719
+ var $parent = getParent($this)
720
+ var relatedTarget = { relatedTarget: this }
721
+
722
+ if (!$parent.hasClass('open')) return
723
+
724
+ if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return
725
+
726
+ $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))
727
+
728
+ if (e.isDefaultPrevented()) return
729
+
730
+ $this.attr('aria-expanded', 'false')
731
+ $parent.removeClass('open').trigger($.Event('hidden.bs.dropdown', relatedTarget))
732
+ })
733
+ }
734
+
735
+ Dropdown.prototype.toggle = function (e) {
736
+ var $this = $(this)
737
+
738
+ if ($this.is('.disabled, :disabled')) return
739
+
740
+ var $parent = getParent($this)
741
+ var isActive = $parent.hasClass('open')
742
+
743
+ clearMenus()
744
+
745
+ if (!isActive) {
746
+ if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {
747
+ // if mobile we use a backdrop because click events don't delegate
748
+ $(document.createElement('div'))
749
+ .addClass('dropdown-backdrop')
750
+ .insertAfter($(this))
751
+ .on('click', clearMenus)
752
+ }
753
+
754
+ var relatedTarget = { relatedTarget: this }
755
+ $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget))
756
+
757
+ if (e.isDefaultPrevented()) return
758
+
759
+ $this
760
+ .trigger('focus')
761
+ .attr('aria-expanded', 'true')
762
+
763
+ $parent
764
+ .toggleClass('open')
765
+ .trigger($.Event('shown.bs.dropdown', relatedTarget))
766
+ }
767
+
768
+ return false
769
+ }
770
+
771
+ Dropdown.prototype.keydown = function (e) {
772
+ if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return
773
+
774
+ var $this = $(this)
775
+
776
+ e.preventDefault()
777
+ e.stopPropagation()
778
+
779
+ if ($this.is('.disabled, :disabled')) return
780
+
781
+ var $parent = getParent($this)
782
+ var isActive = $parent.hasClass('open')
783
+
784
+ if (!isActive && e.which != 27 || isActive && e.which == 27) {
785
+ if (e.which == 27) $parent.find(toggle).trigger('focus')
786
+ return $this.trigger('click')
787
+ }
788
+
789
+ var desc = ' li:not(.disabled):visible a'
790
+ var $items = $parent.find('.dropdown-menu' + desc)
791
+
792
+ if (!$items.length) return
793
+
794
+ var index = $items.index(e.target)
795
+
796
+ if (e.which == 38 && index > 0) index-- // up
797
+ if (e.which == 40 && index < $items.length - 1) index++ // down
798
+ if (!~index) index = 0
799
+
800
+ $items.eq(index).trigger('focus')
801
+ }
802
+
803
+
804
+ // DROPDOWN PLUGIN DEFINITION
805
+ // ==========================
806
+
807
+ function Plugin(option) {
808
+ return this.each(function () {
809
+ var $this = $(this)
810
+ var data = $this.data('bs.dropdown')
811
+
812
+ if (!data) $this.data('bs.dropdown', (data = new Dropdown(this)))
813
+ if (typeof option == 'string') data[option].call($this)
814
+ })
815
+ }
816
+
817
+ var old = $.fn.dropdown
818
+
819
+ $.fn.dropdown = Plugin
820
+ $.fn.dropdown.Constructor = Dropdown
821
+
822
+
823
+ // DROPDOWN NO CONFLICT
824
+ // ====================
825
+
826
+ $.fn.dropdown.noConflict = function () {
827
+ $.fn.dropdown = old
828
+ return this
829
+ }
830
+
831
+
832
+ // APPLY TO STANDARD DROPDOWN ELEMENTS
833
+ // ===================================
834
+
835
+ $(document)
836
+ .on('click.bs.dropdown.data-api', clearMenus)
837
+ .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
838
+ .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)
839
+ .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)
840
+ .on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown)
841
+
842
+ }(jQuery);
843
+
844
+
845
+ +function ($) {
846
+ 'use strict';
847
+
848
+ // MODAL CLASS DEFINITION
849
+ // ======================
850
+
851
+ var Modal = function (element, options) {
852
+ this.options = options
853
+ this.$body = $(document.body)
854
+ this.$element = $(element)
855
+ this.$dialog = this.$element.find('.modal-dialog')
856
+ this.$backdrop = null
857
+ this.isShown = null
858
+ this.originalBodyPad = null
859
+ this.scrollbarWidth = 0
860
+ this.ignoreBackdropClick = false
861
+
862
+ if (this.options.remote) {
863
+ this.$element
864
+ .find('.modal-content')
865
+ .load(this.options.remote, $.proxy(function () {
866
+ this.$element.trigger('loaded.bs.modal')
867
+ }, this))
868
+ }
869
+ }
870
+
871
+ Modal.VERSION = '3.3.6'
872
+
873
+ Modal.TRANSITION_DURATION = 300
874
+ Modal.BACKDROP_TRANSITION_DURATION = 150
875
+
876
+ Modal.DEFAULTS = {
877
+ backdrop: true,
878
+ keyboard: true,
879
+ show: true
880
+ }
881
+
882
+ Modal.prototype.toggle = function (_relatedTarget) {
883
+ return this.isShown ? this.hide() : this.show(_relatedTarget)
884
+ }
885
+
886
+ Modal.prototype.show = function (_relatedTarget) {
887
+ var that = this
888
+ var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget })
889
+
890
+ this.$element.trigger(e)
891
+
892
+ if (this.isShown || e.isDefaultPrevented()) return
893
+
894
+ this.isShown = true
895
+
896
+ this.checkScrollbar()
897
+ this.setScrollbar()
898
+ this.$body.addClass('modal-open')
899
+
900
+ this.escape()
901
+ this.resize()
902
+
903
+ this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
904
+
905
+ this.$dialog.on('mousedown.dismiss.bs.modal', function () {
906
+ that.$element.one('mouseup.dismiss.bs.modal', function (e) {
907
+ if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true
908
+ })
909
+ })
910
+
911
+ this.backdrop(function () {
912
+ var transition = $.support.transition && that.$element.hasClass('fade')
913
+
914
+ if (!that.$element.parent().length) {
915
+ that.$element.appendTo(that.$body) // don't move modals dom position
916
+ }
917
+
918
+ that.$element
919
+ .show()
920
+ .scrollTop(0)
921
+
922
+ that.adjustDialog()
923
+
924
+ if (transition) {
925
+ that.$element[0].offsetWidth // force reflow
926
+ }
927
+
928
+ that.$element.addClass('in')
929
+
930
+ that.enforceFocus()
931
+
932
+ var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget })
933
+
934
+ transition ?
935
+ that.$dialog // wait for modal to slide in
936
+ .one('bsTransitionEnd', function () {
937
+ that.$element.trigger('focus').trigger(e)
938
+ })
939
+ .emulateTransitionEnd(Modal.TRANSITION_DURATION) :
940
+ that.$element.trigger('focus').trigger(e)
941
+ })
942
+ }
943
+
944
+ Modal.prototype.hide = function (e) {
945
+ if (e) e.preventDefault()
946
+
947
+ e = $.Event('hide.bs.modal')
948
+
949
+ this.$element.trigger(e)
950
+
951
+ if (!this.isShown || e.isDefaultPrevented()) return
952
+
953
+ this.isShown = false
954
+
955
+ this.escape()
956
+ this.resize()
957
+
958
+ $(document).off('focusin.bs.modal')
959
+
960
+ this.$element
961
+ .removeClass('in')
962
+ .off('click.dismiss.bs.modal')
963
+ .off('mouseup.dismiss.bs.modal')
964
+
965
+ this.$dialog.off('mousedown.dismiss.bs.modal')
966
+
967
+ $.support.transition && this.$element.hasClass('fade') ?
968
+ this.$element
969
+ .one('bsTransitionEnd', $.proxy(this.hideModal, this))
970
+ .emulateTransitionEnd(Modal.TRANSITION_DURATION) :
971
+ this.hideModal()
972
+ }
973
+
974
+ Modal.prototype.enforceFocus = function () {
975
+ $(document)
976
+ .off('focusin.bs.modal') // guard against infinite focus loop
977
+ .on('focusin.bs.modal', $.proxy(function (e) {
978
+ if (this.$element[0] !== e.target && !this.$element.has(e.target).length) {
979
+ this.$element.trigger('focus')
980
+ }
981
+ }, this))
982
+ }
983
+
984
+ Modal.prototype.escape = function () {
985
+ if (this.isShown && this.options.keyboard) {
986
+ this.$element.on('keydown.dismiss.bs.modal', $.proxy(function (e) {
987
+ e.which == 27 && this.hide()
988
+ }, this))
989
+ } else if (!this.isShown) {
990
+ this.$element.off('keydown.dismiss.bs.modal')
991
+ }
992
+ }
993
+
994
+ Modal.prototype.resize = function () {
995
+ if (this.isShown) {
996
+ $(window).on('resize.bs.modal', $.proxy(this.handleUpdate, this))
997
+ } else {
998
+ $(window).off('resize.bs.modal')
999
+ }
1000
+ }
1001
+
1002
+ Modal.prototype.hideModal = function () {
1003
+ var that = this
1004
+ this.$element.hide()
1005
+ this.backdrop(function () {
1006
+ that.$body.removeClass('modal-open')
1007
+ that.resetAdjustments()
1008
+ that.resetScrollbar()
1009
+ that.$element.trigger('hidden.bs.modal')
1010
+ })
1011
+ }
1012
+
1013
+ Modal.prototype.removeBackdrop = function () {
1014
+ this.$backdrop && this.$backdrop.remove()
1015
+ this.$backdrop = null
1016
+ }
1017
+
1018
+ Modal.prototype.backdrop = function (callback) {
1019
+ var that = this
1020
+ var animate = this.$element.hasClass('fade') ? 'fade' : ''
1021
+
1022
+ if (this.isShown && this.options.backdrop) {
1023
+ var doAnimate = $.support.transition && animate
1024
+
1025
+ this.$backdrop = $(document.createElement('div'))
1026
+ .addClass('modal-backdrop ' + animate)
1027
+ .appendTo(this.$body)
1028
+
1029
+ this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) {
1030
+ if (this.ignoreBackdropClick) {
1031
+ this.ignoreBackdropClick = false
1032
+ return
1033
+ }
1034
+ if (e.target !== e.currentTarget) return
1035
+ this.options.backdrop == 'static'
1036
+ ? this.$element[0].focus()
1037
+ : this.hide()
1038
+ }, this))
1039
+
1040
+ if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
1041
+
1042
+ this.$backdrop.addClass('in')
1043
+
1044
+ if (!callback) return
1045
+
1046
+ doAnimate ?
1047
+ this.$backdrop
1048
+ .one('bsTransitionEnd', callback)
1049
+ .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :
1050
+ callback()
1051
+
1052
+ } else if (!this.isShown && this.$backdrop) {
1053
+ this.$backdrop.removeClass('in')
1054
+
1055
+ var callbackRemove = function () {
1056
+ that.removeBackdrop()
1057
+ callback && callback()
1058
+ }
1059
+ $.support.transition && this.$element.hasClass('fade') ?
1060
+ this.$backdrop
1061
+ .one('bsTransitionEnd', callbackRemove)
1062
+ .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :
1063
+ callbackRemove()
1064
+
1065
+ } else if (callback) {
1066
+ callback()
1067
+ }
1068
+ }
1069
+
1070
+ // these following methods are used to handle overflowing modals
1071
+
1072
+ Modal.prototype.handleUpdate = function () {
1073
+ this.adjustDialog()
1074
+ }
1075
+
1076
+ Modal.prototype.adjustDialog = function () {
1077
+ var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight
1078
+
1079
+ this.$element.css({
1080
+ paddingLeft: !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '',
1081
+ paddingRight: this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : ''
1082
+ })
1083
+ }
1084
+
1085
+ Modal.prototype.resetAdjustments = function () {
1086
+ this.$element.css({
1087
+ paddingLeft: '',
1088
+ paddingRight: ''
1089
+ })
1090
+ }
1091
+
1092
+ Modal.prototype.checkScrollbar = function () {
1093
+ var fullWindowWidth = window.innerWidth
1094
+ if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8
1095
+ var documentElementRect = document.documentElement.getBoundingClientRect()
1096
+ fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left)
1097
+ }
1098
+ this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth
1099
+ this.scrollbarWidth = this.measureScrollbar()
1100
+ }
1101
+
1102
+ Modal.prototype.setScrollbar = function () {
1103
+ var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10)
1104
+ this.originalBodyPad = document.body.style.paddingRight || ''
1105
+ if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth)
1106
+ }
1107
+
1108
+ Modal.prototype.resetScrollbar = function () {
1109
+ this.$body.css('padding-right', this.originalBodyPad)
1110
+ }
1111
+
1112
+ Modal.prototype.measureScrollbar = function () { // thx walsh
1113
+ var scrollDiv = document.createElement('div')
1114
+ scrollDiv.className = 'modal-scrollbar-measure'
1115
+ this.$body.append(scrollDiv)
1116
+ var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth
1117
+ this.$body[0].removeChild(scrollDiv)
1118
+ return scrollbarWidth
1119
+ }
1120
+
1121
+
1122
+ // MODAL PLUGIN DEFINITION
1123
+ // =======================
1124
+
1125
+ function Plugin(option, _relatedTarget) {
1126
+ return this.each(function () {
1127
+ var $this = $(this)
1128
+ var data = $this.data('bs.modal')
1129
+ var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option)
1130
+
1131
+ if (!data) $this.data('bs.modal', (data = new Modal(this, options)))
1132
+ if (typeof option == 'string') data[option](_relatedTarget)
1133
+ else if (options.show) data.show(_relatedTarget)
1134
+ })
1135
+ }
1136
+
1137
+ var old = $.fn.modal
1138
+
1139
+ $.fn.modal = Plugin
1140
+ $.fn.modal.Constructor = Modal
1141
+
1142
+
1143
+ // MODAL NO CONFLICT
1144
+ // =================
1145
+
1146
+ $.fn.modal.noConflict = function () {
1147
+ $.fn.modal = old
1148
+ return this
1149
+ }
1150
+
1151
+
1152
+ // MODAL DATA-API
1153
+ // ==============
1154
+
1155
+ $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) {
1156
+ var $this = $(this)
1157
+ var href = $this.attr('href')
1158
+ var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) // strip for ie7
1159
+ var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
1160
+
1161
+ if ($this.is('a')) e.preventDefault()
1162
+
1163
+ $target.one('show.bs.modal', function (showEvent) {
1164
+ if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown
1165
+ $target.one('hidden.bs.modal', function () {
1166
+ $this.is(':visible') && $this.trigger('focus')
1167
+ })
1168
+ })
1169
+ Plugin.call($target, option, this)
1170
+ })
1171
+
1172
+ }(jQuery);
1173
+
1174
+
1175
+ +function ($) {
1176
+ 'use strict';
1177
+
1178
+ // TOOLTIP PUBLIC CLASS DEFINITION
1179
+ // ===============================
1180
+
1181
+ var Tooltip = function (element, options) {
1182
+ this.type = null
1183
+ this.options = null
1184
+ this.enabled = null
1185
+ this.timeout = null
1186
+ this.hoverState = null
1187
+ this.$element = null
1188
+ this.inState = null
1189
+
1190
+ this.init('tooltip', element, options)
1191
+ }
1192
+
1193
+ Tooltip.VERSION = '3.3.6'
1194
+
1195
+ Tooltip.TRANSITION_DURATION = 150
1196
+
1197
+ Tooltip.DEFAULTS = {
1198
+ animation: true,
1199
+ placement: 'top',
1200
+ selector: false,
1201
+ template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
1202
+ trigger: 'hover focus',
1203
+ title: '',
1204
+ delay: 0,
1205
+ html: false,
1206
+ container: false,
1207
+ viewport: {
1208
+ selector: 'body',
1209
+ padding: 0
1210
+ }
1211
+ }
1212
+
1213
+ Tooltip.prototype.init = function (type, element, options) {
1214
+ this.enabled = true
1215
+ this.type = type
1216
+ this.$element = $(element)
1217
+ this.options = this.getOptions(options)
1218
+ this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport))
1219
+ this.inState = { click: false, hover: false, focus: false }
1220
+
1221
+ if (this.$element[0] instanceof document.constructor && !this.options.selector) {
1222
+ throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!')
1223
+ }
1224
+
1225
+ var triggers = this.options.trigger.split(' ')
1226
+
1227
+ for (var i = triggers.length; i--;) {
1228
+ var trigger = triggers[i]
1229
+
1230
+ if (trigger == 'click') {
1231
+ this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
1232
+ } else if (trigger != 'manual') {
1233
+ var eventIn = trigger == 'hover' ? 'mouseenter' : 'focusin'
1234
+ var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout'
1235
+
1236
+ this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
1237
+ this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
1238
+ }
1239
+ }
1240
+
1241
+ this.options.selector ?
1242
+ (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
1243
+ this.fixTitle()
1244
+ }
1245
+
1246
+ Tooltip.prototype.getDefaults = function () {
1247
+ return Tooltip.DEFAULTS
1248
+ }
1249
+
1250
+ Tooltip.prototype.getOptions = function (options) {
1251
+ options = $.extend({}, this.getDefaults(), this.$element.data(), options)
1252
+
1253
+ if (options.delay && typeof options.delay == 'number') {
1254
+ options.delay = {
1255
+ show: options.delay,
1256
+ hide: options.delay
1257
+ }
1258
+ }
1259
+
1260
+ return options
1261
+ }
1262
+
1263
+ Tooltip.prototype.getDelegateOptions = function () {
1264
+ var options = {}
1265
+ var defaults = this.getDefaults()
1266
+
1267
+ this._options && $.each(this._options, function (key, value) {
1268
+ if (defaults[key] != value) options[key] = value
1269
+ })
1270
+
1271
+ return options
1272
+ }
1273
+
1274
+ Tooltip.prototype.enter = function (obj) {
1275
+ var self = obj instanceof this.constructor ?
1276
+ obj : $(obj.currentTarget).data('bs.' + this.type)
1277
+
1278
+ if (!self) {
1279
+ self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
1280
+ $(obj.currentTarget).data('bs.' + this.type, self)
1281
+ }
1282
+
1283
+ if (obj instanceof $.Event) {
1284
+ self.inState[obj.type == 'focusin' ? 'focus' : 'hover'] = true
1285
+ }
1286
+
1287
+ if (self.tip().hasClass('in') || self.hoverState == 'in') {
1288
+ self.hoverState = 'in'
1289
+ return
1290
+ }
1291
+
1292
+ clearTimeout(self.timeout)
1293
+
1294
+ self.hoverState = 'in'
1295
+
1296
+ if (!self.options.delay || !self.options.delay.show) return self.show()
1297
+
1298
+ self.timeout = setTimeout(function () {
1299
+ if (self.hoverState == 'in') self.show()
1300
+ }, self.options.delay.show)
1301
+ }
1302
+
1303
+ Tooltip.prototype.isInStateTrue = function () {
1304
+ for (var key in this.inState) {
1305
+ if (this.inState[key]) return true
1306
+ }
1307
+
1308
+ return false
1309
+ }
1310
+
1311
+ Tooltip.prototype.leave = function (obj) {
1312
+ var self = obj instanceof this.constructor ?
1313
+ obj : $(obj.currentTarget).data('bs.' + this.type)
1314
+
1315
+ if (!self) {
1316
+ self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
1317
+ $(obj.currentTarget).data('bs.' + this.type, self)
1318
+ }
1319
+
1320
+ if (obj instanceof $.Event) {
1321
+ self.inState[obj.type == 'focusout' ? 'focus' : 'hover'] = false
1322
+ }
1323
+
1324
+ if (self.isInStateTrue()) return
1325
+
1326
+ clearTimeout(self.timeout)
1327
+
1328
+ self.hoverState = 'out'
1329
+
1330
+ if (!self.options.delay || !self.options.delay.hide) return self.hide()
1331
+
1332
+ self.timeout = setTimeout(function () {
1333
+ if (self.hoverState == 'out') self.hide()
1334
+ }, self.options.delay.hide)
1335
+ }
1336
+
1337
+ Tooltip.prototype.show = function () {
1338
+ var e = $.Event('show.bs.' + this.type)
1339
+
1340
+ if (this.hasContent() && this.enabled) {
1341
+ this.$element.trigger(e)
1342
+
1343
+ var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0])
1344
+ if (e.isDefaultPrevented() || !inDom) return
1345
+ var that = this
1346
+
1347
+ var $tip = this.tip()
1348
+
1349
+ var tipId = this.getUID(this.type)
1350
+
1351
+ this.setContent()
1352
+ $tip.attr('id', tipId)
1353
+ this.$element.attr('aria-describedby', tipId)
1354
+
1355
+ if (this.options.animation) $tip.addClass('fade')
1356
+
1357
+ var placement = typeof this.options.placement == 'function' ?
1358
+ this.options.placement.call(this, $tip[0], this.$element[0]) :
1359
+ this.options.placement
1360
+
1361
+ var autoToken = /\s?auto?\s?/i
1362
+ var autoPlace = autoToken.test(placement)
1363
+ if (autoPlace) placement = placement.replace(autoToken, '') || 'top'
1364
+
1365
+ $tip
1366
+ .detach()
1367
+ .css({ top: 0, left: 0, display: 'block' })
1368
+ .addClass(placement)
1369
+ .data('bs.' + this.type, this)
1370
+
1371
+ this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
1372
+ this.$element.trigger('inserted.bs.' + this.type)
1373
+
1374
+ var pos = this.getPosition()
1375
+ var actualWidth = $tip[0].offsetWidth
1376
+ var actualHeight = $tip[0].offsetHeight
1377
+
1378
+ if (autoPlace) {
1379
+ var orgPlacement = placement
1380
+ var viewportDim = this.getPosition(this.$viewport)
1381
+
1382
+ placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top' :
1383
+ placement == 'top' && pos.top - actualHeight < viewportDim.top ? 'bottom' :
1384
+ placement == 'right' && pos.right + actualWidth > viewportDim.width ? 'left' :
1385
+ placement == 'left' && pos.left - actualWidth < viewportDim.left ? 'right' :
1386
+ placement
1387
+
1388
+ $tip
1389
+ .removeClass(orgPlacement)
1390
+ .addClass(placement)
1391
+ }
1392
+
1393
+ var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight)
1394
+
1395
+ this.applyPlacement(calculatedOffset, placement)
1396
+
1397
+ var complete = function () {
1398
+ var prevHoverState = that.hoverState
1399
+ that.$element.trigger('shown.bs.' + that.type)
1400
+ that.hoverState = null
1401
+
1402
+ if (prevHoverState == 'out') that.leave(that)
1403
+ }
1404
+
1405
+ $.support.transition && this.$tip.hasClass('fade') ?
1406
+ $tip
1407
+ .one('bsTransitionEnd', complete)
1408
+ .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
1409
+ complete()
1410
+ }
1411
+ }
1412
+
1413
+ Tooltip.prototype.applyPlacement = function (offset, placement) {
1414
+ var $tip = this.tip()
1415
+ var width = $tip[0].offsetWidth
1416
+ var height = $tip[0].offsetHeight
1417
+
1418
+ // manually read margins because getBoundingClientRect includes difference
1419
+ var marginTop = parseInt($tip.css('margin-top'), 10)
1420
+ var marginLeft = parseInt($tip.css('margin-left'), 10)
1421
+
1422
+ // we must check for NaN for ie 8/9
1423
+ if (isNaN(marginTop)) marginTop = 0
1424
+ if (isNaN(marginLeft)) marginLeft = 0
1425
+
1426
+ offset.top += marginTop
1427
+ offset.left += marginLeft
1428
+
1429
+ // $.fn.offset doesn't round pixel values
1430
+ // so we use setOffset directly with our own function B-0
1431
+ $.offset.setOffset($tip[0], $.extend({
1432
+ using: function (props) {
1433
+ $tip.css({
1434
+ top: Math.round(props.top),
1435
+ left: Math.round(props.left)
1436
+ })
1437
+ }
1438
+ }, offset), 0)
1439
+
1440
+ $tip.addClass('in')
1441
+
1442
+ // check to see if placing tip in new offset caused the tip to resize itself
1443
+ var actualWidth = $tip[0].offsetWidth
1444
+ var actualHeight = $tip[0].offsetHeight
1445
+
1446
+ if (placement == 'top' && actualHeight != height) {
1447
+ offset.top = offset.top + height - actualHeight
1448
+ }
1449
+
1450
+ var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight)
1451
+
1452
+ if (delta.left) offset.left += delta.left
1453
+ else offset.top += delta.top
1454
+
1455
+ var isVertical = /top|bottom/.test(placement)
1456
+ var arrowDelta = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight
1457
+ var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight'
1458
+
1459
+ $tip.offset(offset)
1460
+ this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical)
1461
+ }
1462
+
1463
+ Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) {
1464
+ this.arrow()
1465
+ .css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%')
1466
+ .css(isVertical ? 'top' : 'left', '')
1467
+ }
1468
+
1469
+ Tooltip.prototype.setContent = function () {
1470
+ var $tip = this.tip()
1471
+ var title = this.getTitle()
1472
+
1473
+ $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
1474
+ $tip.removeClass('fade in top bottom left right')
1475
+ }
1476
+
1477
+ Tooltip.prototype.hide = function (callback) {
1478
+ var that = this
1479
+ var $tip = $(this.$tip)
1480
+ var e = $.Event('hide.bs.' + this.type)
1481
+
1482
+ function complete() {
1483
+ if (that.hoverState != 'in') $tip.detach()
1484
+ that.$element
1485
+ .removeAttr('aria-describedby')
1486
+ .trigger('hidden.bs.' + that.type)
1487
+ callback && callback()
1488
+ }
1489
+
1490
+ this.$element.trigger(e)
1491
+
1492
+ if (e.isDefaultPrevented()) return
1493
+
1494
+ $tip.removeClass('in')
1495
+
1496
+ $.support.transition && $tip.hasClass('fade') ?
1497
+ $tip
1498
+ .one('bsTransitionEnd', complete)
1499
+ .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
1500
+ complete()
1501
+
1502
+ this.hoverState = null
1503
+
1504
+ return this
1505
+ }
1506
+
1507
+ Tooltip.prototype.fixTitle = function () {
1508
+ var $e = this.$element
1509
+ if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') {
1510
+ $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
1511
+ }
1512
+ }
1513
+
1514
+ Tooltip.prototype.hasContent = function () {
1515
+ return this.getTitle()
1516
+ }
1517
+
1518
+ Tooltip.prototype.getPosition = function ($element) {
1519
+ $element = $element || this.$element
1520
+
1521
+ var el = $element[0]
1522
+ var isBody = el.tagName == 'BODY'
1523
+
1524
+ var elRect = el.getBoundingClientRect()
1525
+ if (elRect.width == null) {
1526
+ // width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093
1527
+ elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top })
1528
+ }
1529
+ var elOffset = isBody ? { top: 0, left: 0 } : $element.offset()
1530
+ var scroll = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() }
1531
+ var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null
1532
+
1533
+ return $.extend({}, elRect, scroll, outerDims, elOffset)
1534
+ }
1535
+
1536
+ Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {
1537
+ return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } :
1538
+ placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :
1539
+ placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :
1540
+ /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width }
1541
+
1542
+ }
1543
+
1544
+ Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) {
1545
+ var delta = { top: 0, left: 0 }
1546
+ if (!this.$viewport) return delta
1547
+
1548
+ var viewportPadding = this.options.viewport && this.options.viewport.padding || 0
1549
+ var viewportDimensions = this.getPosition(this.$viewport)
1550
+
1551
+ if (/right|left/.test(placement)) {
1552
+ var topEdgeOffset = pos.top - viewportPadding - viewportDimensions.scroll
1553
+ var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight
1554
+ if (topEdgeOffset < viewportDimensions.top) { // top overflow
1555
+ delta.top = viewportDimensions.top - topEdgeOffset
1556
+ } else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow
1557
+ delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset
1558
+ }
1559
+ } else {
1560
+ var leftEdgeOffset = pos.left - viewportPadding
1561
+ var rightEdgeOffset = pos.left + viewportPadding + actualWidth
1562
+ if (leftEdgeOffset < viewportDimensions.left) { // left overflow
1563
+ delta.left = viewportDimensions.left - leftEdgeOffset
1564
+ } else if (rightEdgeOffset > viewportDimensions.right) { // right overflow
1565
+ delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset
1566
+ }
1567
+ }
1568
+
1569
+ return delta
1570
+ }
1571
+
1572
+ Tooltip.prototype.getTitle = function () {
1573
+ var title
1574
+ var $e = this.$element
1575
+ var o = this.options
1576
+
1577
+ title = $e.attr('data-original-title')
1578
+ || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)
1579
+
1580
+ return title
1581
+ }
1582
+
1583
+ Tooltip.prototype.getUID = function (prefix) {
1584
+ do prefix += ~~(Math.random() * 1000000)
1585
+ while (document.getElementById(prefix))
1586
+ return prefix
1587
+ }
1588
+
1589
+ Tooltip.prototype.tip = function () {
1590
+ if (!this.$tip) {
1591
+ this.$tip = $(this.options.template)
1592
+ if (this.$tip.length != 1) {
1593
+ throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!')
1594
+ }
1595
+ }
1596
+ return this.$tip
1597
+ }
1598
+
1599
+ Tooltip.prototype.arrow = function () {
1600
+ return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow'))
1601
+ }
1602
+
1603
+ Tooltip.prototype.enable = function () {
1604
+ this.enabled = true
1605
+ }
1606
+
1607
+ Tooltip.prototype.disable = function () {
1608
+ this.enabled = false
1609
+ }
1610
+
1611
+ Tooltip.prototype.toggleEnabled = function () {
1612
+ this.enabled = !this.enabled
1613
+ }
1614
+
1615
+ Tooltip.prototype.toggle = function (e) {
1616
+ var self = this
1617
+ if (e) {
1618
+ self = $(e.currentTarget).data('bs.' + this.type)
1619
+ if (!self) {
1620
+ self = new this.constructor(e.currentTarget, this.getDelegateOptions())
1621
+ $(e.currentTarget).data('bs.' + this.type, self)
1622
+ }
1623
+ }
1624
+
1625
+ if (e) {
1626
+ self.inState.click = !self.inState.click
1627
+ if (self.isInStateTrue()) self.enter(self)
1628
+ else self.leave(self)
1629
+ } else {
1630
+ self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
1631
+ }
1632
+ }
1633
+
1634
+ Tooltip.prototype.destroy = function () {
1635
+ var that = this
1636
+ clearTimeout(this.timeout)
1637
+ this.hide(function () {
1638
+ that.$element.off('.' + that.type).removeData('bs.' + that.type)
1639
+ if (that.$tip) {
1640
+ that.$tip.detach()
1641
+ }
1642
+ that.$tip = null
1643
+ that.$arrow = null
1644
+ that.$viewport = null
1645
+ })
1646
+ }
1647
+
1648
+
1649
+ // TOOLTIP PLUGIN DEFINITION
1650
+ // =========================
1651
+
1652
+ function Plugin(option) {
1653
+ return this.each(function () {
1654
+ var $this = $(this)
1655
+ var data = $this.data('bs.tooltip')
1656
+ var options = typeof option == 'object' && option
1657
+
1658
+ if (!data && /destroy|hide/.test(option)) return
1659
+ if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
1660
+ if (typeof option == 'string') data[option]()
1661
+ })
1662
+ }
1663
+
1664
+ var old = $.fn.tooltip
1665
+
1666
+ $.fn.tooltip = Plugin
1667
+ $.fn.tooltip.Constructor = Tooltip
1668
+
1669
+
1670
+ // TOOLTIP NO CONFLICT
1671
+ // ===================
1672
+
1673
+ $.fn.tooltip.noConflict = function () {
1674
+ $.fn.tooltip = old
1675
+ return this
1676
+ }
1677
+
1678
+ }(jQuery);
1679
+
1680
+
1681
+ +function ($) {
1682
+ 'use strict';
1683
+
1684
+ // POPOVER PUBLIC CLASS DEFINITION
1685
+ // ===============================
1686
+
1687
+ var Popover = function (element, options) {
1688
+ this.init('popover', element, options)
1689
+ }
1690
+
1691
+ if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
1692
+
1693
+ Popover.VERSION = '3.3.6'
1694
+
1695
+ Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
1696
+ placement: 'right',
1697
+ trigger: 'click',
1698
+ content: '',
1699
+ template: '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
1700
+ })
1701
+
1702
+
1703
+ // NOTE: POPOVER EXTENDS tooltip.js
1704
+ // ================================
1705
+
1706
+ Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype)
1707
+
1708
+ Popover.prototype.constructor = Popover
1709
+
1710
+ Popover.prototype.getDefaults = function () {
1711
+ return Popover.DEFAULTS
1712
+ }
1713
+
1714
+ Popover.prototype.setContent = function () {
1715
+ var $tip = this.tip()
1716
+ var title = this.getTitle()
1717
+ var content = this.getContent()
1718
+
1719
+ $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
1720
+ $tip.find('.popover-content').children().detach().end()[ // we use append for html objects to maintain js events
1721
+ this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text'
1722
+ ](content)
1723
+
1724
+ $tip.removeClass('fade top bottom left right in')
1725
+
1726
+ // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do
1727
+ // this manually by checking the contents.
1728
+ if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide()
1729
+ }
1730
+
1731
+ Popover.prototype.hasContent = function () {
1732
+ return this.getTitle() || this.getContent()
1733
+ }
1734
+
1735
+ Popover.prototype.getContent = function () {
1736
+ var $e = this.$element
1737
+ var o = this.options
1738
+
1739
+ return $e.attr('data-content')
1740
+ || (typeof o.content == 'function' ?
1741
+ o.content.call($e[0]) :
1742
+ o.content)
1743
+ }
1744
+
1745
+ Popover.prototype.arrow = function () {
1746
+ return (this.$arrow = this.$arrow || this.tip().find('.arrow'))
1747
+ }
1748
+
1749
+
1750
+ // POPOVER PLUGIN DEFINITION
1751
+ // =========================
1752
+
1753
+ function Plugin(option) {
1754
+ return this.each(function () {
1755
+ var $this = $(this)
1756
+ var data = $this.data('bs.popover')
1757
+ var options = typeof option == 'object' && option
1758
+
1759
+ if (!data && /destroy|hide/.test(option)) return
1760
+ if (!data) $this.data('bs.popover', (data = new Popover(this, options)))
1761
+ if (typeof option == 'string') data[option]()
1762
+ })
1763
+ }
1764
+
1765
+ var old = $.fn.popover
1766
+
1767
+ $.fn.popover = Plugin
1768
+ $.fn.popover.Constructor = Popover
1769
+
1770
+
1771
+ // POPOVER NO CONFLICT
1772
+ // ===================
1773
+
1774
+ $.fn.popover.noConflict = function () {
1775
+ $.fn.popover = old
1776
+ return this
1777
+ }
1778
+
1779
+ }(jQuery);
1780
+
1781
+
1782
+ +function ($) {
1783
+ 'use strict';
1784
+
1785
+ // SCROLLSPY CLASS DEFINITION
1786
+ // ==========================
1787
+
1788
+ function ScrollSpy(element, options) {
1789
+ this.$body = $(document.body)
1790
+ this.$scrollElement = $(element).is(document.body) ? $(window) : $(element)
1791
+ this.options = $.extend({}, ScrollSpy.DEFAULTS, options)
1792
+ this.selector = (this.options.target || '') + ' .nav li > a'
1793
+ this.offsets = []
1794
+ this.targets = []
1795
+ this.activeTarget = null
1796
+ this.scrollHeight = 0
1797
+
1798
+ this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this))
1799
+ this.refresh()
1800
+ this.process()
1801
+ }
1802
+
1803
+ ScrollSpy.VERSION = '3.3.6'
1804
+
1805
+ ScrollSpy.DEFAULTS = {
1806
+ offset: 10
1807
+ }
1808
+
1809
+ ScrollSpy.prototype.getScrollHeight = function () {
1810
+ return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight)
1811
+ }
1812
+
1813
+ ScrollSpy.prototype.refresh = function () {
1814
+ var that = this
1815
+ var offsetMethod = 'offset'
1816
+ var offsetBase = 0
1817
+
1818
+ this.offsets = []
1819
+ this.targets = []
1820
+ this.scrollHeight = this.getScrollHeight()
1821
+
1822
+ if (!$.isWindow(this.$scrollElement[0])) {
1823
+ offsetMethod = 'position'
1824
+ offsetBase = this.$scrollElement.scrollTop()
1825
+ }
1826
+
1827
+ this.$body
1828
+ .find(this.selector)
1829
+ .map(function () {
1830
+ var $el = $(this)
1831
+ var href = $el.data('target') || $el.attr('href')
1832
+ var $href = /^#./.test(href) && $(href)
1833
+
1834
+ return ($href
1835
+ && $href.length
1836
+ && $href.is(':visible')
1837
+ && [[$href[offsetMethod]().top + offsetBase, href]]) || null
1838
+ })
1839
+ .sort(function (a, b) { return a[0] - b[0] })
1840
+ .each(function () {
1841
+ that.offsets.push(this[0])
1842
+ that.targets.push(this[1])
1843
+ })
1844
+ }
1845
+
1846
+ ScrollSpy.prototype.process = function () {
1847
+ var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
1848
+ var scrollHeight = this.getScrollHeight()
1849
+ var maxScroll = this.options.offset + scrollHeight - this.$scrollElement.height()
1850
+ var offsets = this.offsets
1851
+ var targets = this.targets
1852
+ var activeTarget = this.activeTarget
1853
+ var i
1854
+
1855
+ if (this.scrollHeight != scrollHeight) {
1856
+ this.refresh()
1857
+ }
1858
+
1859
+ if (scrollTop >= maxScroll) {
1860
+ return activeTarget != (i = targets[targets.length - 1]) && this.activate(i)
1861
+ }
1862
+
1863
+ if (activeTarget && scrollTop < offsets[0]) {
1864
+ this.activeTarget = null
1865
+ return this.clear()
1866
+ }
1867
+
1868
+ for (i = offsets.length; i--;) {
1869
+ activeTarget != targets[i]
1870
+ && scrollTop >= offsets[i]
1871
+ && (offsets[i + 1] === undefined || scrollTop < offsets[i + 1])
1872
+ && this.activate(targets[i])
1873
+ }
1874
+ }
1875
+
1876
+ ScrollSpy.prototype.activate = function (target) {
1877
+ this.activeTarget = target
1878
+
1879
+ this.clear()
1880
+
1881
+ var selector = this.selector +
1882
+ '[data-target="' + target + '"],' +
1883
+ this.selector + '[href="' + target + '"]'
1884
+
1885
+ var active = $(selector)
1886
+ .parents('li')
1887
+ .addClass('active')
1888
+
1889
+ if (active.parent('.dropdown-menu').length) {
1890
+ active = active
1891
+ .closest('li.dropdown')
1892
+ .addClass('active')
1893
+ }
1894
+
1895
+ active.trigger('activate.bs.scrollspy')
1896
+ }
1897
+
1898
+ ScrollSpy.prototype.clear = function () {
1899
+ $(this.selector)
1900
+ .parentsUntil(this.options.target, '.active')
1901
+ .removeClass('active')
1902
+ }
1903
+
1904
+
1905
+ // SCROLLSPY PLUGIN DEFINITION
1906
+ // ===========================
1907
+
1908
+ function Plugin(option) {
1909
+ return this.each(function () {
1910
+ var $this = $(this)
1911
+ var data = $this.data('bs.scrollspy')
1912
+ var options = typeof option == 'object' && option
1913
+
1914
+ if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options)))
1915
+ if (typeof option == 'string') data[option]()
1916
+ })
1917
+ }
1918
+
1919
+ var old = $.fn.scrollspy
1920
+
1921
+ $.fn.scrollspy = Plugin
1922
+ $.fn.scrollspy.Constructor = ScrollSpy
1923
+
1924
+
1925
+ // SCROLLSPY NO CONFLICT
1926
+ // =====================
1927
+
1928
+ $.fn.scrollspy.noConflict = function () {
1929
+ $.fn.scrollspy = old
1930
+ return this
1931
+ }
1932
+
1933
+
1934
+ // SCROLLSPY DATA-API
1935
+ // ==================
1936
+
1937
+ $(window).on('load.bs.scrollspy.data-api', function () {
1938
+ $('[data-spy="scroll"]').each(function () {
1939
+ var $spy = $(this)
1940
+ Plugin.call($spy, $spy.data())
1941
+ })
1942
+ })
1943
+
1944
+ }(jQuery);
1945
+
1946
+
1947
+ +function ($) {
1948
+ 'use strict';
1949
+
1950
+ // TAB CLASS DEFINITION
1951
+ // ====================
1952
+
1953
+ var Tab = function (element) {
1954
+ // jscs:disable requireDollarBeforejQueryAssignment
1955
+ this.element = $(element)
1956
+ // jscs:enable requireDollarBeforejQueryAssignment
1957
+ }
1958
+
1959
+ Tab.VERSION = '3.3.6'
1960
+
1961
+ Tab.TRANSITION_DURATION = 150
1962
+
1963
+ Tab.prototype.show = function () {
1964
+ var $this = this.element
1965
+ var $ul = $this.closest('ul:not(.dropdown-menu)')
1966
+ var selector = $this.data('target')
1967
+
1968
+ if (!selector) {
1969
+ selector = $this.attr('href')
1970
+ selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
1971
+ }
1972
+
1973
+ if ($this.parent('li').hasClass('active')) return
1974
+
1975
+ var $previous = $ul.find('.active:last a')
1976
+ var hideEvent = $.Event('hide.bs.tab', {
1977
+ relatedTarget: $this[0]
1978
+ })
1979
+ var showEvent = $.Event('show.bs.tab', {
1980
+ relatedTarget: $previous[0]
1981
+ })
1982
+
1983
+ $previous.trigger(hideEvent)
1984
+ $this.trigger(showEvent)
1985
+
1986
+ if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return
1987
+
1988
+ var $target = $(selector)
1989
+
1990
+ this.activate($this.closest('li'), $ul)
1991
+ this.activate($target, $target.parent(), function () {
1992
+ $previous.trigger({
1993
+ type: 'hidden.bs.tab',
1994
+ relatedTarget: $this[0]
1995
+ })
1996
+ $this.trigger({
1997
+ type: 'shown.bs.tab',
1998
+ relatedTarget: $previous[0]
1999
+ })
2000
+ })
2001
+ }
2002
+
2003
+ Tab.prototype.activate = function (element, container, callback) {
2004
+ var $active = container.find('> .active')
2005
+ var transition = callback
2006
+ && $.support.transition
2007
+ && ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length)
2008
+
2009
+ function next() {
2010
+ $active
2011
+ .removeClass('active')
2012
+ .find('> .dropdown-menu > .active')
2013
+ .removeClass('active')
2014
+ .end()
2015
+ .find('[data-toggle="tab"]')
2016
+ .attr('aria-expanded', false)
2017
+
2018
+ element
2019
+ .addClass('active')
2020
+ .find('[data-toggle="tab"]')
2021
+ .attr('aria-expanded', true)
2022
+
2023
+ if (transition) {
2024
+ element[0].offsetWidth // reflow for transition
2025
+ element.addClass('in')
2026
+ } else {
2027
+ element.removeClass('fade')
2028
+ }
2029
+
2030
+ if (element.parent('.dropdown-menu').length) {
2031
+ element
2032
+ .closest('li.dropdown')
2033
+ .addClass('active')
2034
+ .end()
2035
+ .find('[data-toggle="tab"]')
2036
+ .attr('aria-expanded', true)
2037
+ }
2038
+
2039
+ callback && callback()
2040
+ }
2041
+
2042
+ $active.length && transition ?
2043
+ $active
2044
+ .one('bsTransitionEnd', next)
2045
+ .emulateTransitionEnd(Tab.TRANSITION_DURATION) :
2046
+ next()
2047
+
2048
+ $active.removeClass('in')
2049
+ }
2050
+
2051
+
2052
+ // TAB PLUGIN DEFINITION
2053
+ // =====================
2054
+
2055
+ function Plugin(option) {
2056
+ return this.each(function () {
2057
+ var $this = $(this)
2058
+ var data = $this.data('bs.tab')
2059
+
2060
+ if (!data) $this.data('bs.tab', (data = new Tab(this)))
2061
+ if (typeof option == 'string') data[option]()
2062
+ })
2063
+ }
2064
+
2065
+ var old = $.fn.tab
2066
+
2067
+ $.fn.tab = Plugin
2068
+ $.fn.tab.Constructor = Tab
2069
+
2070
+
2071
+ // TAB NO CONFLICT
2072
+ // ===============
2073
+
2074
+ $.fn.tab.noConflict = function () {
2075
+ $.fn.tab = old
2076
+ return this
2077
+ }
2078
+
2079
+
2080
+ // TAB DATA-API
2081
+ // ============
2082
+
2083
+ var clickHandler = function (e) {
2084
+ e.preventDefault()
2085
+ Plugin.call($(this), 'show')
2086
+ }
2087
+
2088
+ $(document)
2089
+ .on('click.bs.tab.data-api', '[data-toggle="tab"]', clickHandler)
2090
+ .on('click.bs.tab.data-api', '[data-toggle="pill"]', clickHandler)
2091
+
2092
+ }(jQuery);
2093
+
2094
+
2095
+ +function ($) {
2096
+ 'use strict';
2097
+
2098
+ // AFFIX CLASS DEFINITION
2099
+ // ======================
2100
+
2101
+ var Affix = function (element, options) {
2102
+ this.options = $.extend({}, Affix.DEFAULTS, options)
2103
+
2104
+ this.$target = $(this.options.target)
2105
+ .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))
2106
+ .on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this))
2107
+
2108
+ this.$element = $(element)
2109
+ this.affixed = null
2110
+ this.unpin = null
2111
+ this.pinnedOffset = null
2112
+
2113
+ this.checkPosition()
2114
+ }
2115
+
2116
+ Affix.VERSION = '3.3.6'
2117
+
2118
+ Affix.RESET = 'affix affix-top affix-bottom'
2119
+
2120
+ Affix.DEFAULTS = {
2121
+ offset: 0,
2122
+ target: window
2123
+ }
2124
+
2125
+ Affix.prototype.getState = function (scrollHeight, height, offsetTop, offsetBottom) {
2126
+ var scrollTop = this.$target.scrollTop()
2127
+ var position = this.$element.offset()
2128
+ var targetHeight = this.$target.height()
2129
+
2130
+ if (offsetTop != null && this.affixed == 'top') return scrollTop < offsetTop ? 'top' : false
2131
+
2132
+ if (this.affixed == 'bottom') {
2133
+ if (offsetTop != null) return (scrollTop + this.unpin <= position.top) ? false : 'bottom'
2134
+ return (scrollTop + targetHeight <= scrollHeight - offsetBottom) ? false : 'bottom'
2135
+ }
2136
+
2137
+ var initializing = this.affixed == null
2138
+ var colliderTop = initializing ? scrollTop : position.top
2139
+ var colliderHeight = initializing ? targetHeight : height
2140
+
2141
+ if (offsetTop != null && scrollTop <= offsetTop) return 'top'
2142
+ if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom'
2143
+
2144
+ return false
2145
+ }
2146
+
2147
+ Affix.prototype.getPinnedOffset = function () {
2148
+ if (this.pinnedOffset) return this.pinnedOffset
2149
+ this.$element.removeClass(Affix.RESET).addClass('affix')
2150
+ var scrollTop = this.$target.scrollTop()
2151
+ var position = this.$element.offset()
2152
+ return (this.pinnedOffset = position.top - scrollTop)
2153
+ }
2154
+
2155
+ Affix.prototype.checkPositionWithEventLoop = function () {
2156
+ setTimeout($.proxy(this.checkPosition, this), 1)
2157
+ }
2158
+
2159
+ Affix.prototype.checkPosition = function () {
2160
+ if (!this.$element.is(':visible')) return
2161
+
2162
+ var height = this.$element.height()
2163
+ var offset = this.options.offset
2164
+ var offsetTop = offset.top
2165
+ var offsetBottom = offset.bottom
2166
+ var scrollHeight = Math.max($(document).height(), $(document.body).height())
2167
+
2168
+ if (typeof offset != 'object') offsetBottom = offsetTop = offset
2169
+ if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element)
2170
+ if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element)
2171
+
2172
+ var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom)
2173
+
2174
+ if (this.affixed != affix) {
2175
+ if (this.unpin != null) this.$element.css('top', '')
2176
+
2177
+ var affixType = 'affix' + (affix ? '-' + affix : '')
2178
+ var e = $.Event(affixType + '.bs.affix')
2179
+
2180
+ this.$element.trigger(e)
2181
+
2182
+ if (e.isDefaultPrevented()) return
2183
+
2184
+ this.affixed = affix
2185
+ this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null
2186
+
2187
+ this.$element
2188
+ .removeClass(Affix.RESET)
2189
+ .addClass(affixType)
2190
+ .trigger(affixType.replace('affix', 'affixed') + '.bs.affix')
2191
+ }
2192
+
2193
+ if (affix == 'bottom') {
2194
+ this.$element.offset({
2195
+ top: scrollHeight - height - offsetBottom
2196
+ })
2197
+ }
2198
+ }
2199
+
2200
+
2201
+ // AFFIX PLUGIN DEFINITION
2202
+ // =======================
2203
+
2204
+ function Plugin(option) {
2205
+ return this.each(function () {
2206
+ var $this = $(this)
2207
+ var data = $this.data('bs.affix')
2208
+ var options = typeof option == 'object' && option
2209
+
2210
+ if (!data) $this.data('bs.affix', (data = new Affix(this, options)))
2211
+ if (typeof option == 'string') data[option]()
2212
+ })
2213
+ }
2214
+
2215
+ var old = $.fn.affix
2216
+
2217
+ $.fn.affix = Plugin
2218
+ $.fn.affix.Constructor = Affix
2219
+
2220
+
2221
+ // AFFIX NO CONFLICT
2222
+ // =================
2223
+
2224
+ $.fn.affix.noConflict = function () {
2225
+ $.fn.affix = old
2226
+ return this
2227
+ }
2228
+
2229
+
2230
+ // AFFIX DATA-API
2231
+ // ==============
2232
+
2233
+ $(window).on('load', function () {
2234
+ $('[data-spy="affix"]').each(function () {
2235
+ var $spy = $(this)
2236
+ var data = $spy.data()
2237
+
2238
+ data.offset = data.offset || {}
2239
+
2240
+ if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom
2241
+ if (data.offsetTop != null) data.offset.top = data.offsetTop
2242
+
2243
+ Plugin.call($spy, data)
2244
+ })
2245
+ })
2246
+
2247
+ }(jQuery);
ink/admin/add-tabs.php CHANGED
@@ -7,20 +7,20 @@
7
  margin-bottom:20px;
8
  }
9
  </style>
10
- <h1>Tabs Design Templates </h1>
11
- <div style="overflow:hidden;display:block;width:100%;padding-top:20px">
12
- <div class="col-md-3">
13
  <div class="demoftr">
14
 
15
  <div class="">
16
  <div class="wpsm_home_portfolio_showcase">
17
- <div class="wpsm_ribbon"><a target="_blank" href="https://wpshopmart.com/plugins/tabs-pro-plugin/"><span> Selected </span></a></div>
18
- <img class="wpsm_img_responsive ftr_img" src="<?php echo wpshopmart_tabs_r_directory_url.'assets/images/accordion-1.png'?>">
19
  </div>
20
  </div>
21
  <div style="padding:13px;overflow:hidden; background: #EFEFEF; border-top: 1px dashed #ccc;">
22
  <h3 class="text-center pull-left" style="margin-top: 10px;margin-bottom: 10px;font-weight:900">Selected Design</h3>
23
- <a type="button" class="pull-right btn btn-danger design_btn" id="templates_btn1" target="_blank" href="http://demo.wpshopmart.com/tabs-pro-plugin-demo-for-wordpress/" >Check Demo</a>
24
  </div>
25
  </div>
26
  </div>
@@ -30,13 +30,13 @@
30
 
31
  <div class="">
32
  <div class="wpsm_home_portfolio_showcase">
33
- <div class="wpsm_ribbon wpsm_ribbon2"><a target="_blank" href="https://wpshopmart.com/plugins/tabs-pro-plugin/"><span>Buy Now</span></a></div>
34
- <img class="wpsm_img_responsive ftr_img" src="<?php echo wpshopmart_tabs_r_directory_url.'assets/images/accordion-2.png'?>">
35
  </div>
36
  </div>
37
  <div style="padding:13px;overflow:hidden; background: #EFEFEF; border-top: 1px dashed #ccc;">
38
  <h3 class="text-center pull-left" style="margin-top: 10px;margin-bottom: 10px;font-weight:900">Pro Templates </h3>
39
- <a type="button" class="pull-right btn btn-danger design_btn" id="templates_btn2" target="_blank" href="http://demo.wpshopmart.com/tabs-pro-plugin-demo-for-wordpress/" >Check Demo</a>
40
  </div>
41
  </div>
42
  </div>
@@ -72,11 +72,11 @@
72
  <input type="text" id="tabs_title[]" name="tabs_title[]" value="<?php echo esc_attr($tabs_title); ?>" placeholder="Enter Tab Title Here" class="wpsm_ac_label_text">
73
  <span class="ac_label"><?php _e('Tab Description',wpshopmart_tabs_r_text_domain); ?></span>
74
  <textarea id="tabs_desc[]" name="tabs_desc[]" placeholder="Enter Tab Description Here" class="wpsm_ac_label_text"><?php echo esc_html($tabs_desc); ?></textarea>
75
- <a type="button" class="btn btn-primary btn-block html_editor_button" data-remodal-target="modal" href="#" id="<?php echo $i; ?>" onclick="open_editor(<?php echo $i; ?>)">Use WYSIWYG Editor </a>
76
 
77
  <span class="ac_label"><?php _e('Tab Icon',wpshopmart_tabs_r_text_domain); ?></span>
78
  <div class="form-group input-group">
79
- <input data-placement="bottomRight" id="tabs_title_icon[]" name="tabs_title_icon[]" class="form-control icp icp-auto" value="<?php echo $tabs_title_icon; ?>" type="text" readonly="readonly" />
80
  <span class="input-group-addon "></span>
81
  </div>
82
  <span class="ac_label"><?php _e('Display Above Icon',wpshopmart_tabs_r_text_domain); ?></span>
@@ -106,7 +106,7 @@
106
  <input type="text" id="tabs_title[]" name="tabs_title[]" value="Sample Title" placeholder="Enter Tab Title Here" class="wpsm_ac_label_text">
107
  <span class="ac_label"><?php _e('Tab Description',wpshopmart_tabs_r_text_domain); ?></span>
108
  <textarea id="tabs_desc[]" name="tabs_desc[]" placeholder="Enter Tab Description Here" class="wpsm_ac_label_text">Sample Description</textarea>
109
- <a type="button" class="btn btn-primary btn-block html_editor_button" data-remodal-target="modal" href="#" id="<?php echo $i; ?>" onclick="open_editor(<?php echo $i; ?>)">Use WYSIWYG Editor </a>
110
 
111
  <span class="ac_label"><?php _e('Tab Icon',wpshopmart_tabs_r_text_domain); ?></span>
112
  <div class="form-group input-group">
@@ -133,7 +133,7 @@
133
  <div class="remodal" data-remodal-options=" closeOnOutsideClick: false" data-remodal-id="modal" role="dialog" aria-labelledby="modal1Title" aria-describedby="modal1Desc">
134
  <button data-remodal-action="close" class="remodal-close" aria-label="Close"></button>
135
  <div>
136
- <h2 id="modal1Title">Accordion Editor</h2>
137
  <p id="modal1Desc">
138
  <?php
139
  $content = '';
7
  margin-bottom:20px;
8
  }
9
  </style>
10
+ <h1> <?php esc_html_e('Tabs Design Templates',wpshopmart_tabs_r_text_domain); ?> </h1>
11
+ <div class="row" style="overflow:hidden;width:100%;padding-top:20px">
12
+ <div class="col-md-3">
13
  <div class="demoftr">
14
 
15
  <div class="">
16
  <div class="wpsm_home_portfolio_showcase">
17
+ <div class="wpsm_ribbon"><a target="_blank" href="https://wpshopmart.com/plugins/tabs-pro-plugin/"><span> <?php esc_html_e('Selected',wpshopmart_tabs_r_text_domain); ?> </span></a></div>
18
+ <img class="wpsm_img_responsive ftr_img" src="<?php echo esc_url(wpshopmart_tabs_r_directory_url.'assets/images/accordion-1.png'); ?>">
19
  </div>
20
  </div>
21
  <div style="padding:13px;overflow:hidden; background: #EFEFEF; border-top: 1px dashed #ccc;">
22
  <h3 class="text-center pull-left" style="margin-top: 10px;margin-bottom: 10px;font-weight:900">Selected Design</h3>
23
+ <a type="button" class="pull-right btn btn-danger design_btn" id="templates_btn1" target="_blank" href="http://demo.wpshopmart.com/tabs-pro-plugin-demo-for-wordpress/" ><?php esc_html_e('Check Demo',wpshopmart_tabs_r_text_domain); ?></a>
24
  </div>
25
  </div>
26
  </div>
30
 
31
  <div class="">
32
  <div class="wpsm_home_portfolio_showcase">
33
+ <div class="wpsm_ribbon wpsm_ribbon2"><a target="_blank" href="https://wpshopmart.com/plugins/tabs-pro-plugin/"><span><?php esc_html_e('Buy Now',wpshopmart_tabs_r_text_domain); ?></span></a></div>
34
+ <img class="wpsm_img_responsive ftr_img" src="<?php echo esc_url(wpshopmart_tabs_r_directory_url.'assets/images/accordion-2.png'); ?>">
35
  </div>
36
  </div>
37
  <div style="padding:13px;overflow:hidden; background: #EFEFEF; border-top: 1px dashed #ccc;">
38
  <h3 class="text-center pull-left" style="margin-top: 10px;margin-bottom: 10px;font-weight:900">Pro Templates </h3>
39
+ <a type="button" class="pull-right btn btn-danger design_btn" id="templates_btn2" target="_blank" href="http://demo.wpshopmart.com/tabs-pro-plugin-demo-for-wordpress/" ><?php esc_html_e('Check Demo',wpshopmart_tabs_r_text_domain); ?></a>
40
  </div>
41
  </div>
42
  </div>
72
  <input type="text" id="tabs_title[]" name="tabs_title[]" value="<?php echo esc_attr($tabs_title); ?>" placeholder="Enter Tab Title Here" class="wpsm_ac_label_text">
73
  <span class="ac_label"><?php _e('Tab Description',wpshopmart_tabs_r_text_domain); ?></span>
74
  <textarea id="tabs_desc[]" name="tabs_desc[]" placeholder="Enter Tab Description Here" class="wpsm_ac_label_text"><?php echo esc_html($tabs_desc); ?></textarea>
75
+ <a type="button" class="btn btn-primary btn-block html_editor_button" data-remodal-target="modal" href="#" id="<?php echo esc_attr($i); ?>" onclick="open_editor(<?php echo esc_attr($i); ?>)">Use WYSIWYG Editor </a>
76
 
77
  <span class="ac_label"><?php _e('Tab Icon',wpshopmart_tabs_r_text_domain); ?></span>
78
  <div class="form-group input-group">
79
+ <input data-placement="bottomRight" id="tabs_title_icon[]" name="tabs_title_icon[]" class="form-control icp icp-auto" value="<?php echo esc_attr($tabs_title_icon); ?>" type="text" readonly="readonly" />
80
  <span class="input-group-addon "></span>
81
  </div>
82
  <span class="ac_label"><?php _e('Display Above Icon',wpshopmart_tabs_r_text_domain); ?></span>
106
  <input type="text" id="tabs_title[]" name="tabs_title[]" value="Sample Title" placeholder="Enter Tab Title Here" class="wpsm_ac_label_text">
107
  <span class="ac_label"><?php _e('Tab Description',wpshopmart_tabs_r_text_domain); ?></span>
108
  <textarea id="tabs_desc[]" name="tabs_desc[]" placeholder="Enter Tab Description Here" class="wpsm_ac_label_text">Sample Description</textarea>
109
+ <a type="button" class="btn btn-primary btn-block html_editor_button" data-remodal-target="modal" href="#" id="<?php echo esc_attr($i); ?>" onclick="open_editor(<?php echo esc_attr($i); ?>)">Use WYSIWYG Editor </a>
110
 
111
  <span class="ac_label"><?php _e('Tab Icon',wpshopmart_tabs_r_text_domain); ?></span>
112
  <div class="form-group input-group">
133
  <div class="remodal" data-remodal-options=" closeOnOutsideClick: false" data-remodal-id="modal" role="dialog" aria-labelledby="modal1Title" aria-describedby="modal1Desc">
134
  <button data-remodal-action="close" class="remodal-close" aria-label="Close"></button>
135
  <div>
136
+ <h2 id="modal1Title"><?php esc_html_e('Accordion Editor',wpshopmart_tabs_r_text_domain); ?></h2>
137
  <p id="modal1Desc">
138
  <?php
139
  $content = '';
ink/admin/data-post/tabs-save-data.php CHANGED
@@ -1,5 +1,8 @@
1
  <?php
2
  if(isset($PostID) && isset($_POST['tabs_r_save_data_action']) ) {
 
 
 
3
  $TotalCount = count($_POST['tabs_title']);
4
  $All_data = array();
5
  if($TotalCount) {
@@ -7,7 +10,7 @@ if(isset($PostID) && isset($_POST['tabs_r_save_data_action']) ) {
7
  $tabs_title = stripslashes(sanitize_text_field($_POST['tabs_title'][$i]));
8
  $tabs_title_icon = sanitize_text_field($_POST['tabs_title_icon'][$i]);
9
  $enable_single_icon = sanitize_text_field($_POST['enable_single_icon'][$i]);
10
- $tabs_desc = stripslashes($_POST['tabs_desc'][$i]);
11
  $tabs_desc = str_replace('\\', '&#92;', $tabs_desc);
12
  $All_data[] = array(
13
  'tabs_title' => $tabs_title,
1
  <?php
2
  if(isset($PostID) && isset($_POST['tabs_r_save_data_action']) ) {
3
+ if (!wp_verify_nonce($_POST['wpsm_tabs_security'], 'wpsm_tabs_nonce_save_settings_values')) {
4
+ die();
5
+ }
6
  $TotalCount = count($_POST['tabs_title']);
7
  $All_data = array();
8
  if($TotalCount) {
10
  $tabs_title = stripslashes(sanitize_text_field($_POST['tabs_title'][$i]));
11
  $tabs_title_icon = sanitize_text_field($_POST['tabs_title_icon'][$i]);
12
  $enable_single_icon = sanitize_text_field($_POST['enable_single_icon'][$i]);
13
+ $tabs_desc = stripslashes(wp_kses_post($_POST['tabs_desc'][$i]));
14
  $tabs_desc = str_replace('\\', '&#92;', $tabs_desc);
15
  $All_data[] = array(
16
  'tabs_title' => $tabs_title,
ink/admin/data-post/tabs-settings-save-data.php CHANGED
@@ -1,5 +1,8 @@
1
  <?php
2
  if(isset($PostID) && isset($_POST['tabs_setting_save_action'])) {
 
 
 
3
  $tabs_sec_title = sanitize_option('tabs_sec_title', $_POST['tabs_sec_title']);
4
  $show_tabs_title_icon = sanitize_option('show_tabs_title_icon', $_POST['show_tabs_title_icon']);
5
  $show_tabs_icon_align = sanitize_option('show_tabs_icon_align', $_POST['show_tabs_icon_align']);
@@ -19,7 +22,7 @@ if(isset($PostID) && isset($_POST['tabs_setting_save_action'])) {
19
  $des_size = sanitize_text_field($_POST['des_size']);
20
  $font_family = sanitize_text_field($_POST['font_family']);
21
  $tabs_animation = sanitize_text_field($_POST['tabs_animation']);
22
- $custom_css = stripslashes($_POST['custom_css']);
23
  $tabs_display_on_mob = sanitize_option('tabs_display_on_mob', $_POST['tabs_display_on_mob']);
24
  $tabs_display_mode_mob = sanitize_option('tabs_display_mode_mob', $_POST['tabs_display_mode_mob']);
25
 
1
  <?php
2
  if(isset($PostID) && isset($_POST['tabs_setting_save_action'])) {
3
+ if (!wp_verify_nonce($_POST['wpsm_tabs_security'], 'wpsm_tabs_nonce_save_settings_values')) {
4
+ die();
5
+ }
6
  $tabs_sec_title = sanitize_option('tabs_sec_title', $_POST['tabs_sec_title']);
7
  $show_tabs_title_icon = sanitize_option('show_tabs_title_icon', $_POST['show_tabs_title_icon']);
8
  $show_tabs_icon_align = sanitize_option('show_tabs_icon_align', $_POST['show_tabs_icon_align']);
22
  $des_size = sanitize_text_field($_POST['des_size']);
23
  $font_family = sanitize_text_field($_POST['font_family']);
24
  $tabs_animation = sanitize_text_field($_POST['tabs_animation']);
25
+ $custom_css = sanitize_textarea_field($_POST['custom_css']);
26
  $tabs_display_on_mob = sanitize_option('tabs_display_on_mob', $_POST['tabs_display_on_mob']);
27
  $tabs_display_mode_mob = sanitize_option('tabs_display_mode_mob', $_POST['tabs_display_mode_mob']);
28
 
ink/admin/free.php CHANGED
@@ -16,6 +16,28 @@
16
  border: 0px solid #e5e5e5 !important;
17
  background: #f1f1f1 !important;
18
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
 
20
  </style>
21
  <div class="row">
@@ -77,10 +99,10 @@
77
  }
78
 
79
  echo '<div class="star-rating" title="' . esc_attr( $title ) . '">';
80
- echo '<span class="screen-reader-text">' . $title . '</span>';
81
- echo str_repeat( '<div class="star star-full"></div>', $full_stars );
82
- echo str_repeat( '<div class="star star-half"></div>', $half_stars );
83
- echo str_repeat( '<div class="star star-empty"></div>', $empty_stars);
84
  echo '</div>';
85
  }
86
  }
@@ -92,7 +114,7 @@
92
  <div id="advanced" class="meta-box-sortables">
93
  <div id="gallery_bank_get_started" class="postbox" >
94
  <div class="handlediv" data-target="ux_recommendation" title="Click to toggle" data-toggle="collapse"><br></div>
95
- <h2 class="hndle" style="text-align:center;font-size:30px;"><span>More Free Plugins Recommendation From Wpshopmart</span></h3>
96
  <div class="inside">
97
  <div id="ux_recommendation" class="gallery_bank_layout">
98
 
@@ -173,20 +195,20 @@
173
  <div class="plugin-div-top plugin-div-settings-top">
174
  <div class="plugin-div-inner-content">
175
  <a href="<?php echo esc_url( $details_link ); ?>" class="thickbox plugin-icon plugin-icon-custom">
176
- <img class="custom_icon" src="<?php echo esc_attr( $plugin_icon_url ) ?>" />
177
  </a>
178
  <div class="name column-name">
179
  <h4>
180
- <a href="<?php echo esc_url( $details_link ); ?>" class="thickbox"><?php echo $title; ?></a>
181
  </h4>
182
  </div>
183
  <div class="desc column-description">
184
  <p>
185
- <?php echo $description; ?>
186
  </p>
187
  <p class="authors">
188
  <cite>
189
- By <?php echo $author;?>
190
  </cite>
191
  </p>
192
  </div>
@@ -197,7 +219,7 @@
197
  <?php
198
  if ($action_links)
199
  {
200
- echo implode("</li><li>", $action_links);
201
  }
202
 
203
  switch($plugin["slug"])
16
  border: 0px solid #e5e5e5 !important;
17
  background: #f1f1f1 !important;
18
  }
19
+ .plugin-div-settings ul.plugin-action-buttons-custom li{
20
+ color: #a7aaad!important;
21
+ border-color: #dcdcde!important;
22
+ background: #f6f7f7!important;
23
+ box-shadow: none!important;
24
+ cursor: default;
25
+ transform: none!important;
26
+ display: inline-block;
27
+ text-decoration: none;
28
+ font-size: 13px;
29
+ line-height: 2.15384615;
30
+ min-height: 30px;
31
+ margin: 0;
32
+ padding: 0 10px;
33
+ cursor: pointer;
34
+ border-width: 1px;
35
+ border-style: solid;
36
+ -webkit-appearance: none;
37
+ border-radius: 3px;
38
+ white-space: nowrap;
39
+ box-sizing: border-box;
40
+ }
41
 
42
  </style>
43
  <div class="row">
99
  }
100
 
101
  echo '<div class="star-rating" title="' . esc_attr( $title ) . '">';
102
+ echo '<span class="screen-reader-text">' . esc_html($title) . '</span>';
103
+ echo str_repeat( '<div class="star star-full"></div>', esc_html($full_stars) );
104
+ echo str_repeat( '<div class="star star-half"></div>', esc_html($half_stars) );
105
+ echo str_repeat( '<div class="star star-empty"></div>', esc_html($empty_stars) );
106
  echo '</div>';
107
  }
108
  }
114
  <div id="advanced" class="meta-box-sortables">
115
  <div id="gallery_bank_get_started" class="postbox" >
116
  <div class="handlediv" data-target="ux_recommendation" title="Click to toggle" data-toggle="collapse"><br></div>
117
+ <h2 class="hndle" style="text-align:center;font-size:30px;"><span><?php esc_html_e('More Free Plugins Recommendation From Wpshopmart',wpshopmart_tabs_r_text_domain); ?></span></h3>
118
  <div class="inside">
119
  <div id="ux_recommendation" class="gallery_bank_layout">
120
 
195
  <div class="plugin-div-top plugin-div-settings-top">
196
  <div class="plugin-div-inner-content">
197
  <a href="<?php echo esc_url( $details_link ); ?>" class="thickbox plugin-icon plugin-icon-custom">
198
+ <img class="custom_icon" src="<?php echo esc_url( $plugin_icon_url ) ?>" />
199
  </a>
200
  <div class="name column-name">
201
  <h4>
202
+ <a href="<?php echo esc_url( $details_link ); ?>" class="thickbox"><?php echo esc_html($title); ?></a>
203
  </h4>
204
  </div>
205
  <div class="desc column-description">
206
  <p>
207
+ <?php echo esc_html($description); ?>
208
  </p>
209
  <p class="authors">
210
  <cite>
211
+ <?php esc_html_e('By ',wpshopmart_tabs_r_text_domain);?> <?php echo wp_kses_data($author);?>
212
  </cite>
213
  </p>
214
  </div>
219
  <?php
220
  if ($action_links)
221
  {
222
+ echo wp_kses_data(implode("</li><li>", $action_links));
223
  }
224
 
225
  switch($plugin["slug"])
ink/admin/fvp.php CHANGED
@@ -1,6 +1,6 @@
1
  <div class="free-vs-pro-tab info-tab-content">
2
- <a href="http://demo.wpshopmart.com/tabs-pro-plugin-demo-for-wordpress/" target="_blank" class="button button-primary button-hero">Tab Pro Plugin</a>
3
- <a href="https://wpshopmart.com/plugins/tabs-pro-plugin/" target="_blank" class="button button-primary button-hero">Upgrade To Pro</a>
4
  </div>
5
 
6
  <div class="free-vs-pro-tab info-tab-content">
@@ -9,15 +9,15 @@
9
  <thead>
10
  <tr>
11
  <th></th>
12
- <th>Tabs Free</th>
13
- <th>Tabs Pro</th>
14
  </tr>
15
  </thead>
16
  <tbody>
17
  <tr>
18
  <td><h3><?php _e('Pricing', wpshopmart_tabs_r_text_domain); ?></h3></td>
19
- <td class="only-lite">free</td>
20
- <td class="only-lite">$9</td>
21
  </tr>
22
  <tr>
23
  <td><h3><?php _e('Responsive Layout', wpshopmart_tabs_r_text_domain); ?></h3></td>
@@ -25,12 +25,12 @@
25
  <td class="only-lite"><span class="dashicons-before dashicons-yes"></span></td>
26
  </tr>
27
  <td><h3><?php _e('No. Of Design Templates', wpshopmart_tabs_r_text_domain); ?></h3></td>
28
- <td class="only-lite">1</td>
29
- <td class="only-lite">20+</td>
30
  </tr>
31
  <td><h3><?php _e('Coulmn Layout', wpshopmart_tabs_r_text_domain); ?></h3></td>
32
- <td class="only-lite">3</td>
33
- <td class="only-lite">9</td>
34
  </tr>
35
 
36
  <tr>
@@ -67,7 +67,7 @@
67
  <tr>
68
  <td><h3><?php _e('Google Fonts', wpshopmart_tabs_r_text_domain); ?></h3></td>
69
  <td class="only-pro"><span class="dashicons-before dashicons-no-alt"></span></td>
70
- <td class="only-lite">500+</td>
71
  </tr>
72
  <tr>
73
  <td><h3><?php _e('Custom Image Icons', wpshopmart_tabs_r_text_domain);?></h3></td>
@@ -125,8 +125,8 @@
125
  </tr>
126
 
127
  <tr class="ti-about-page-text-center">
128
- <td><a href="http://demo.wpshopmart.com/tabs-pro-plugin-demo-for-wordpress/" target="_blank" class="button button-primary button-hero">Tabs Pro Demo</a></td>
129
- <td colspan="2"><a href="https://wpshopmart.com/plugins/tabs-pro-plugin/" target="_blank" class="button button-primary button-hero">Upgrade To Pro</a></td>
130
  </tr>
131
  </tbody>
132
  </table>
1
  <div class="free-vs-pro-tab info-tab-content">
2
+ <a href="http://demo.wpshopmart.com/tabs-pro-plugin-demo-for-wordpress/" target="_blank" class="button button-primary button-hero"><?php esc_html_e('Tab Pro Plugin',wpshopmart_tabs_r_text_domain); ?></a>
3
+ <a href="https://wpshopmart.com/plugins/tabs-pro-plugin/" target="_blank" class="button button-primary button-hero"><?php esc_html_e('Upgrade To Pro',wpshopmart_tabs_r_text_domain); ?></a>
4
  </div>
5
 
6
  <div class="free-vs-pro-tab info-tab-content">
9
  <thead>
10
  <tr>
11
  <th></th>
12
+ <th><?php esc_html_e('Tabs Free',wpshopmart_tabs_r_text_domain); ?></th>
13
+ <th><?php esc_html_e('Tabs Pro',wpshopmart_tabs_r_text_domain); ?></th>
14
  </tr>
15
  </thead>
16
  <tbody>
17
  <tr>
18
  <td><h3><?php _e('Pricing', wpshopmart_tabs_r_text_domain); ?></h3></td>
19
+ <td class="only-lite"><?php esc_html_e('free',wpshopmart_tabs_r_text_domain); ?></td>
20
+ <td class="only-lite"><?php esc_html_e('$9',wpshopmart_tabs_r_text_domain); ?></td>
21
  </tr>
22
  <tr>
23
  <td><h3><?php _e('Responsive Layout', wpshopmart_tabs_r_text_domain); ?></h3></td>
25
  <td class="only-lite"><span class="dashicons-before dashicons-yes"></span></td>
26
  </tr>
27
  <td><h3><?php _e('No. Of Design Templates', wpshopmart_tabs_r_text_domain); ?></h3></td>
28
+ <td class="only-lite"><?php esc_html_e('1',wpshopmart_tabs_r_text_domain); ?></td>
29
+ <td class="only-lite"><?php esc_html_e('20+',wpshopmart_tabs_r_text_domain); ?></td>
30
  </tr>
31
  <td><h3><?php _e('Coulmn Layout', wpshopmart_tabs_r_text_domain); ?></h3></td>
32
+ <td class="only-lite"><?php esc_html_e('3',wpshopmart_tabs_r_text_domain); ?></td>
33
+ <td class="only-lite"><?php esc_html_e('9',wpshopmart_tabs_r_text_domain); ?></td>
34
  </tr>
35
 
36
  <tr>
67
  <tr>
68
  <td><h3><?php _e('Google Fonts', wpshopmart_tabs_r_text_domain); ?></h3></td>
69
  <td class="only-pro"><span class="dashicons-before dashicons-no-alt"></span></td>
70
+ <td class="only-lite"><?php esc_html_e('500+',wpshopmart_tabs_r_text_domain); ?></td>
71
  </tr>
72
  <tr>
73
  <td><h3><?php _e('Custom Image Icons', wpshopmart_tabs_r_text_domain);?></h3></td>
125
  </tr>
126
 
127
  <tr class="ti-about-page-text-center">
128
+ <td><a href="http://demo.wpshopmart.com/tabs-pro-plugin-demo-for-wordpress/" target="_blank" class="button button-primary button-hero"><?php esc_html_e('Tabs Pro Demo',wpshopmart_tabs_r_text_domain); ?></a></td>
129
+ <td colspan="2"><a href="https://wpshopmart.com/plugins/tabs-pro-plugin/" target="_blank" class="button button-primary button-hero"><?php esc_html_e('Upgrade To Pro',wpshopmart_tabs_r_text_domain); ?></a></td>
130
  </tr>
131
  </tbody>
132
  </table>
ink/admin/help.php CHANGED
@@ -51,23 +51,23 @@
51
  </style>
52
 
53
 
54
- <div class="row wpsm_ac_h_i2 " >
55
- <h1 style="color:#000;">Get Support Help Here</h1>
56
- <h3 style="color:#000;">If You have any issue then please ask us any time</h3>
57
- <a href="https://wordpress.org/support/plugin/tabs-responsive" target="_blank" class="button button-primary button-hero ">Get Support Here</a>
58
- </br></br>
59
- <div>
60
- <h1 style="color:#000;font-size:24px;font-weight:500;line-height:1.4">Tabs documentation Form</h1>
61
- </div>
62
 
63
- <div class="col-md-12" style="margin-bottom: 30px;">
64
- <div class="col-md-4"> <img width="100" height="20" style="width:310px;height:auto; margin-top: 20px;" src="<?php echo wpshopmart_tabs_r_directory_url.'assets/images/wpshopmart-logo.png'; ?>" > </div>
65
- <div class="col-md-8"><a class="btn btn-danger btn-lg " href="https://www.youtube.com/c/wpshopmart?sub_confirmation=1" target="_blank">Subscribe Our Channel</a>
66
- <a class="btn btn-success btn-lg " href="https://www.youtube.com/c/wpshopmart" target="_blank">Check More Helping Videos</a></div>
67
- </div>
68
- </br></br>
69
- <div class="col-md-12" >
70
- <iframe width="700" height="400" src="https://www.youtube.com/embed/cQd52BJw9c8" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
71
- </div>
72
- </div>
73
 
51
  </style>
52
 
53
 
54
+ <div class="wpsm_ac_h_i2 " >
55
+ <h1 style="color:#000;"><?php esc_html_e('Get Support Help Here',wpshopmart_tabs_r_text_domain); ?></h1>
56
+ <h3 style="color:#000;"><?php esc_html_e('If You have any issue then please ask us any time',wpshopmart_tabs_r_text_domain); ?></h3>
57
+ <a href="https://wordpress.org/support/plugin/tabs-responsive" target="_blank" class="button button-primary button-hero "><?php esc_html_e('Get Support Here',wpshopmart_tabs_r_text_domain); ?></a>
58
+ </br></br>
59
+ <div>
60
+ <h1 style="color:#000;font-size:24px;font-weight:500;line-height:1.4"><?php esc_html_e('Tabs documentation Form',wpshopmart_tabs_r_text_domain); ?></h1>
61
+ </div>
62
 
63
+ <div class="row col-md-12">
64
+ <div class="col-md-4"> <img width="100" height="20" style="width:310px;height:auto; margin-top: 20px;" src="<?php echo esc_url(wpshopmart_tabs_r_directory_url.'assets/images/wpshopmart-logo.png'); ?>" > </div>
65
+ <div class="col-md-8"><a class="btn btn-danger btn-lg " href="https://www.youtube.com/c/wpshopmart?sub_confirmation=1" target="_blank"><?php esc_html_e('Subscribe Our Channel',wpshopmart_tabs_r_text_domain); ?></a>
66
+ <a class="btn btn-success btn-lg " href="https://www.youtube.com/c/wpshopmart" target="_blank"><?php esc_html_e('Check More Helping Videos',wpshopmart_tabs_r_text_domain); ?></a></div>
67
+ </div>
68
+ </br></br>
69
+ <div class="col-md-12" >
70
+ <iframe width="700" height="400" src="https://www.youtube.com/embed/cQd52BJw9c8" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
71
+ </div>
72
+ </div>
73
 
ink/admin/menu.php CHANGED
@@ -41,6 +41,7 @@ class wpsm_tabs_r {
41
  wp_enqueue_style('wpsm_tabs_r_line-edtor', wpshopmart_tabs_r_directory_url.'assets/css/jquery-linedtextarea.css');
42
  wp_enqueue_script( 'wpsm_tabs_r-line-edit-js', wpshopmart_tabs_r_directory_url.'assets/js/jquery-linedtextarea.js');
43
 
 
44
  wp_enqueue_script( 'wpsm_tabs_bootstrap-js', wpshopmart_tabs_r_directory_url.'assets/js/bootstrap.js');
45
 
46
  //tooltip
@@ -81,7 +82,7 @@ class wpsm_tabs_r {
81
  global $post;
82
  switch( $column ) {
83
  case 'shortcode' :
84
- echo '<input style="width:225px" type="text" onclick="this.select()" value="[TABS_R id='.$post_id.']" readonly="readonly" />';
85
  break;
86
  default :
87
  break;
@@ -130,7 +131,7 @@ class wpsm_tabs_r {
130
  }
131
 
132
  </style>
133
- <h3>Tabs Shortcode</h3>
134
  <p><?php _e("Use below shortcode in any Page/Post to publish your Tabs", wpshopmart_tabs_r_text_domain);?></p>
135
  <input readonly="readonly" onclick="this.select()" type="text" value="<?php echo "[TABS_R id=".get_the_ID()."]"; ?>">
136
  <?php
@@ -146,19 +147,19 @@ class wpsm_tabs_r {
146
 
147
  <br><br>
148
  <div>
149
- <h3>To activate widget into any widget area</H3>
150
- <p><a href="<?php get_site_url();?>./widgets.php" >Click Here</a>. </p>
151
- <p>Find <b>Tabs Widget </b> and place it to your widget area. Select any Tabs from the list and then save changes.</p>
152
  </div>
153
- <h3>Custom Css</h3>
154
- <textarea name="custom_css" id="custom_css" style="width:100% !important ;height:300px;background:#ECECEC;"><?php echo $custom_css ; ?></textarea>
155
- <p>Enter Css without <strong>&lt;style&gt; &lt;/style&gt; </strong> tag</p>
156
  <br>
157
 
158
  <?php if(isset($Settings['custom_css'])){ ?>
159
- <h3>Add This Tab settings as default setting for new tabs</h3>
160
  <div class="">
161
- <a class="button button-primary button-hero" name="updte_wpsm_tabs_r_default_settings" id="updte_wpsm_tabs_r_default_settings" onclick="wpsm_update_default()">Update Default Settings</a>
162
  </div>
163
  <?php } ?>
164
  <script>
@@ -195,9 +196,9 @@ class wpsm_tabs_r {
195
 
196
  </style>
197
  <a href="http://wpshopmart.com/members/signup/tabs-responsive-donation" target="_blank" >
198
- <img src="<?php echo wpshopmart_tabs_r_directory_url.'assets/images/donate-1.jpg'; ?>" style="width:100%;height:auto"/>
199
  <h3> We Need Your Support</h3>
200
- <img src="<?php echo wpshopmart_tabs_r_directory_url.'assets/images/donate-button.png'; ?>" style="width:100%;height:auto"/>
201
  </a>
202
  <?php
203
  }
@@ -238,8 +239,8 @@ class wpsm_tabs_r {
238
  font-size: 40px;
239
  }
240
  </style>
241
- <h1>Rate This plugin</h1>
242
- <a href="https://wordpress.org/support/plugin/tabs-responsive/reviews/?filter=5" target="_blank" class="button button-primary button-hero ">RATE HERE</a>
243
  <a class="wpsm-rate-us" style=" text-decoration: none; height: 40px; width: 40px;" href="https://wordpress.org/support/plugin/tabs-responsive/reviews/?filter=5" target="_blank">
244
  <span class="dashicons dashicons-star-filled"></span>
245
  <span class="dashicons dashicons-star-filled"></span>
41
  wp_enqueue_style('wpsm_tabs_r_line-edtor', wpshopmart_tabs_r_directory_url.'assets/css/jquery-linedtextarea.css');
42
  wp_enqueue_script( 'wpsm_tabs_r-line-edit-js', wpshopmart_tabs_r_directory_url.'assets/js/jquery-linedtextarea.js');
43
 
44
+ wp_enqueue_script( 'wpsm_tabs_custom-js', wpshopmart_tabs_r_directory_url.'assets/js/tabs-custom.js');
45
  wp_enqueue_script( 'wpsm_tabs_bootstrap-js', wpshopmart_tabs_r_directory_url.'assets/js/bootstrap.js');
46
 
47
  //tooltip
82
  global $post;
83
  switch( $column ) {
84
  case 'shortcode' :
85
+ echo '<input style="width:225px" type="text" onclick="this.select()" value="[TABS_R id='.esc_html($post_id).']" readonly="readonly" />';
86
  break;
87
  default :
88
  break;
131
  }
132
 
133
  </style>
134
+ <h3><?php esc_html_e('Tabs Shortcode',wpshopmart_tabs_r_text_domain); ?></h3>
135
  <p><?php _e("Use below shortcode in any Page/Post to publish your Tabs", wpshopmart_tabs_r_text_domain);?></p>
136
  <input readonly="readonly" onclick="this.select()" type="text" value="<?php echo "[TABS_R id=".get_the_ID()."]"; ?>">
137
  <?php
147
 
148
  <br><br>
149
  <div>
150
+ <h3><?php esc_html_e('To activate widget into any widget area',wpshopmart_tabs_r_text_domain); ?></H3>
151
+ <p><a href="<?php get_site_url();?>./widgets.php" ><?php esc_html_e('Click Here',wpshopmart_tabs_r_text_domain); ?></a>. </p>
152
+ <p><?php esc_html_e('Find ',wpshopmart_tabs_r_text_domain); ?><b><?php esc_html_e('Tabs Widget ',wpshopmart_tabs_r_text_domain); ?></b><?php esc_html_e(' and place it to your widget area. Select any Tabs from the list and then save changes.',wpshopmart_tabs_r_text_domain); ?></p>
153
  </div>
154
+ <h3><?php esc_html_e('Custom Css',wpshopmart_tabs_r_text_domain); ?></h3>
155
+ <textarea name="custom_css" id="custom_css" style="width:100% !important ;height:300px;background:#ECECEC;"><?php echo esc_html($custom_css) ; ?></textarea>
156
+ <p><?php esc_html_e('Enter Css without ',wpshopmart_tabs_r_text_domain); ?><strong>&lt;style&gt; &lt;/style&gt; </strong><?php esc_html_e(' tag',wpshopmart_tabs_r_text_domain); ?></p>
157
  <br>
158
 
159
  <?php if(isset($Settings['custom_css'])){ ?>
160
+ <h3><?php esc_html_e('Add This Tab settings as default setting for new tabs',wpshopmart_tabs_r_text_domain); ?></h3>
161
  <div class="">
162
+ <a class="button button-primary button-hero" name="updte_wpsm_tabs_r_default_settings" id="updte_wpsm_tabs_r_default_settings" onclick="wpsm_update_default()"><?php esc_html_e('Update Default Settings',wpshopmart_tabs_r_text_domain); ?></a>
163
  </div>
164
  <?php } ?>
165
  <script>
196
 
197
  </style>
198
  <a href="http://wpshopmart.com/members/signup/tabs-responsive-donation" target="_blank" >
199
+ <img src="<?php echo esc_url(wpshopmart_tabs_r_directory_url.'assets/images/donate-1.jpg'); ?>" style="width:100%;height:auto"/>
200
  <h3> We Need Your Support</h3>
201
+ <img src="<?php echo esc_url(wpshopmart_tabs_r_directory_url.'assets/images/donate-button.png'); ?>" style="width:100%;height:auto"/>
202
  </a>
203
  <?php
204
  }
239
  font-size: 40px;
240
  }
241
  </style>
242
+ <h1><?php esc_html_e('Rate This plugin',wpshopmart_tabs_r_text_domain); ?></h1>
243
+ <a href="https://wordpress.org/support/plugin/tabs-responsive/reviews/?filter=5" target="_blank" class="button button-primary button-hero "><?php esc_html_e('RATE HERE',wpshopmart_tabs_r_text_domain); ?></a>
244
  <a class="wpsm-rate-us" style=" text-decoration: none; height: 40px; width: 40px;" href="https://wordpress.org/support/plugin/tabs-responsive/reviews/?filter=5" target="_blank">
245
  <span class="dashicons dashicons-star-filled"></span>
246
  <span class="dashicons dashicons-star-filled"></span>
ink/admin/more-free-plugins.php CHANGED
@@ -112,8 +112,30 @@
112
  padding-left: 22px;
113
  padding-right: 22px;
114
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
115
  </style>
116
- <h1>Recommended Free WordPress Plugins From Wpshopmart</h1>
117
  <div style="overflow:hidden;display:block;width:100%;padding-top:20px;padding-bottom:20px;">
118
  <div class="col-md-12">
119
 
@@ -174,10 +196,10 @@
174
  }
175
 
176
  echo '<div class="star-rating" title="' . esc_attr( $title ) . '">';
177
- echo '<span class="screen-reader-text">' . $title . '</span>';
178
- echo str_repeat( '<div class="star star-full"></div>', $full_stars );
179
- echo str_repeat( '<div class="star star-half"></div>', $half_stars );
180
- echo str_repeat( '<div class="star star-empty"></div>', $empty_stars);
181
  echo '</div>';
182
  }
183
  }
@@ -269,20 +291,20 @@
269
  <div class="plugin-div-top plugin-div-settings-top">
270
  <div class="plugin-div-inner-content">
271
  <a href="<?php echo esc_url( $details_link ); ?>" class="thickbox plugin-icon plugin-icon-custom">
272
- <img class="custom_icon" src="<?php echo esc_attr( $plugin_icon_url ) ?>" />
273
  </a>
274
  <div class="name column-name">
275
  <h4>
276
- <a href="<?php echo esc_url( $details_link ); ?>" class="thickbox"><?php echo $title; ?></a>
277
  </h4>
278
  </div>
279
  <div class="desc column-description">
280
  <p>
281
- <?php echo $description; ?>
282
  </p>
283
  <p class="authors">
284
  <cite>
285
- By <?php echo $author;?>
286
  </cite>
287
  </p>
288
  </div>
@@ -293,7 +315,7 @@
293
  <?php
294
  if ($action_links)
295
  {
296
- echo implode("</li><li>", $action_links);
297
  }
298
 
299
  switch($plugin["slug"])
112
  padding-left: 22px;
113
  padding-right: 22px;
114
  }
115
+ .plugin-div-settings ul.plugin-action-buttons-custom li{
116
+ color: #a7aaad!important;
117
+ border-color: #dcdcde!important;
118
+ background: #f6f7f7!important;
119
+ box-shadow: none!important;
120
+ cursor: default;
121
+ transform: none!important;
122
+ display: inline-block;
123
+ text-decoration: none;
124
+ font-size: 13px;
125
+ line-height: 2.15384615;
126
+ min-height: 30px;
127
+ margin: 0;
128
+ padding: 0 10px;
129
+ cursor: pointer;
130
+ border-width: 1px;
131
+ border-style: solid;
132
+ -webkit-appearance: none;
133
+ border-radius: 3px;
134
+ white-space: nowrap;
135
+ box-sizing: border-box;
136
+ }
137
  </style>
138
+ <h1><?php esc_html_e('Recommended Free WordPress Plugins From Wpshopmart',wpshopmart_tabs_r_text_domain); ?></h1>
139
  <div style="overflow:hidden;display:block;width:100%;padding-top:20px;padding-bottom:20px;">
140
  <div class="col-md-12">
141
 
196
  }
197
 
198
  echo '<div class="star-rating" title="' . esc_attr( $title ) . '">';
199
+ echo '<span class="screen-reader-text">' . esc_html($title) . '</span>';
200
+ echo str_repeat( '<div class="star star-full"></div>', esc_html($full_stars) );
201
+ echo str_repeat( '<div class="star star-half"></div>', esc_html($half_stars) );
202
+ echo str_repeat( '<div class="star star-empty"></div>', esc_html($empty_stars) );
203
  echo '</div>';
204
  }
205
  }
291
  <div class="plugin-div-top plugin-div-settings-top">
292
  <div class="plugin-div-inner-content">
293
  <a href="<?php echo esc_url( $details_link ); ?>" class="thickbox plugin-icon plugin-icon-custom">
294
+ <img class="custom_icon" src="<?php echo esc_url( $plugin_icon_url ) ?>" />
295
  </a>
296
  <div class="name column-name">
297
  <h4>
298
+ <a href="<?php echo esc_url( $details_link ); ?>" class="thickbox"><?php echo esc_html($title); ?></a>
299
  </h4>
300
  </div>
301
  <div class="desc column-description">
302
  <p>
303
+ <?php echo esc_html($description); ?>
304
  </p>
305
  <p class="authors">
306
  <cite>
307
+ <?php esc_html_e('By ',wpshopmart_tabs_r_text_domain);?> <?php echo wp_kses_data($author);?>
308
  </cite>
309
  </p>
310
  </div>
315
  <?php
316
  if ($action_links)
317
  {
318
+ echo wp_kses_data(implode("</li><li>", $action_links));
319
  }
320
 
321
  switch($plugin["slug"])
ink/admin/more-free-themes.php CHANGED
@@ -1,206 +0,0 @@
1
- <style>
2
- #tabs_r_more_free_themes{
3
- background:transparent #fff;
4
-
5
- margin-top:40px;
6
- }
7
- #tabs_r_more_free_themes .hndle , #tabs_r_more_free_themes .handlediv{
8
- display:none;
9
- }
10
- #tabs_r_more_free_themes p{
11
- color:#000;
12
- font-size:15px;
13
- }
14
- .wpsm-theme-container {
15
- background: #fff;
16
- padding-left: 0px;
17
- padding-right: 0px;
18
- box-shadow: 0 0 20px rgba(0,0,0,.2);
19
- margin-bottom: 20px;
20
- }
21
- .wpsm_site-img-responsive {
22
- display: block;
23
- width: 100%;
24
- height: auto;
25
- }
26
- .wpsm_product_wrapper {
27
- padding: 20px;
28
- overflow: hidden;
29
- }
30
- .wpsm_product_wrapper h3 {
31
- float: left;
32
- margin-bottom: 0px;
33
- color: #000 !important;
34
- letter-spacing: 0px;
35
- text-transform: uppercase;
36
- font-size: 18px;
37
- font-weight: 700;
38
- text-align: left;
39
- margin:0px;
40
- }
41
- .wpsm_product_wrapper h3 span {
42
- display: block;
43
- float: left;
44
- width: 100%;
45
- overflow: hidden;
46
- font-size: 14px;
47
- color: #919499;
48
- margin-top: 6px;
49
- }
50
- .wpsm_product_wrapper .price {
51
- float: right;
52
- font-size: 24px;
53
- color: #000;
54
- font-family: sans-serif;
55
- font-weight: 500;
56
- }
57
- .wpsm-btn-block {
58
- overflow: hidden;
59
- float: left;
60
- width: 100%;
61
- margin-top: 20px;
62
- display: block;
63
- }
64
- .portfolio_read_more_btn {
65
- border: 1px solid #1e73be;
66
- border-radius: 0px;
67
- margin-bottom: 10px;
68
- text-transform: uppercase;
69
- font-weight: 700;
70
- font-size: 15px;
71
- padding: 12px 12px;
72
- display: block;
73
- text-align:center;
74
- width:100%;
75
- border-radius: 2px;
76
- cursor: pointer;
77
- letter-spacing: 1px;
78
- outline: none;
79
- position: relative;
80
- text-decoration: none !important;
81
- color: #fff !important;
82
- -webkit-transition: all ease 0.5s;
83
- -moz-transition: all ease 0.5s;
84
- transition: all ease 0.5s;
85
- background: #1e73be;
86
- padding-left: 22px;
87
- padding-right: 22px;
88
- }
89
- .portfolio_demo_btn {
90
- border: 1px solid #919499;
91
- border-radius: 0px;
92
- margin-bottom: 10px;
93
- text-transform: uppercase;
94
- font-weight: 700;
95
- font-size: 15px;
96
- padding: 12px 12px;
97
- display: block;
98
- text-align:center;
99
- width:100%;
100
- border-radius: 2px;
101
- cursor: pointer;
102
- letter-spacing: 1px;
103
- outline: none;
104
- position: relative;
105
- text-decoration: none !important;
106
- background-color: #242629;
107
- border-color: #242629;
108
- color: #fff !important;
109
- -webkit-transition: all ease 0.5s;
110
- -moz-transition: all ease 0.5s;
111
- transition: all ease 0.5s;
112
- padding-left: 22px;
113
- padding-right: 22px;
114
- }
115
- #tabs_r_more_free_themes .theme-id-container {
116
- position: relative;
117
- height: 49px;
118
- }
119
- #tabs_r_more_free_themes .theme-browser .theme .theme-name{
120
- height: auto;
121
- }#tabs_r_more_free_themes .theme-browser .theme .theme-actions{
122
- opacity: 1;
123
- }
124
- </style>
125
- <h1>Recommended Free Wordpress Themes From Wpshopmart</h1>
126
- <div style="overflow:hidden;display:block;width:100%;padding-top:20px;padding-bottom:20px;height: 330px; overflow: auto;">
127
- <div class="col-md-12">
128
-
129
- <?php
130
- /**
131
- * @access protected
132
- *
133
- * @return bool
134
- */
135
- /**
136
- * Ajax handler for getting themes from themes_api().
137
- *
138
- * @since 3.9.0
139
- *
140
- * @global array $themes_allowedtags
141
- * @global array $theme_field_defaults
142
- */
143
- function wp_ajax_query_themes()
144
- {
145
- global $themes_allowedtags, $theme_field_defaults;
146
- if (!current_user_can('install_themes')) {
147
- wp_send_json_error();
148
- }
149
- $args = array('per_page' => 20, 'fields' => $theme_field_defaults,'author'=>'wpshopmart');
150
- if (isset($args['browse']) && 'favorites' === $args['browse'] && !isset($args['user'])) {
151
- $user = 'wpshopmart';
152
- if ($user) {
153
- $args['user'] = $user;
154
- }
155
- }
156
- $old_filter = isset($args['browse']) ? $args['browse'] : 'search';
157
- /** This filter is documented in wp-admin/includes/class-wp-theme-install-list-table.php */
158
- $args = apply_filters('install_themes_table_api_args_' . $old_filter, $args);
159
- $api = themes_api('query_themes', $args);
160
- if (is_wp_error($api)) {
161
- wp_send_json_error();
162
- }
163
- $update_php = network_admin_url('update.php?action=install-theme');
164
-
165
- ?>
166
- <div class="theme-browser rendered">
167
- <div class="themes">
168
- <?php
169
- foreach ($api->themes as &$theme) {
170
- //print_r($theme);
171
- $theme->install_url = add_query_arg(array('theme' => $theme->slug, '_wpnonce' => wp_create_nonce('install-theme_' . $theme->slug)), $update_php);
172
-
173
- ?>
174
- <div class="theme">
175
- <div class="theme-screenshot">
176
- <img src="<?php echo $theme->screenshot_url ?>" alt="">
177
- </div>
178
- <div class="theme-id-container">
179
-
180
- <h2 class="theme-name" id="<?php echo $theme->name ?>-name"><?php echo $theme->name ?></h2>
181
-
182
-
183
- <div class="theme-actions">
184
-
185
- <a class="button button-primary" href="<?php echo $theme->install_url ?>" aria-label="Activate bizlite">Install/Activate</a>
186
-
187
- </div>
188
- </div>
189
-
190
- </div>
191
- <?php
192
-
193
- }
194
- //wp_send_json_success($api);
195
- ?>
196
- </div>
197
- </div>
198
- <?php
199
- }
200
- wp_ajax_query_themes();
201
-
202
- ?>
203
-
204
-
205
- </div>
206
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ink/admin/more-pro.php CHANGED
@@ -113,21 +113,21 @@
113
  padding-right: 22px;
114
  }
115
  </style>
116
- <h1>Recommended Premium Plugins From Wpshopmart</h1>
117
  <div style="overflow:hidden;display:block;width:100%;padding-top:20px;padding-bottom:20px;">
118
- <div class="col-md-12">
119
 
120
  <div class="col-md-4">
121
 
122
  <div class="wpsm-theme-container" style="">
123
- <img width="700" height="394" src="<?php echo wpshopmart_tabs_r_directory_url.'assets/images/tabs-pro-screesnhot.png'; ?>" class="wpsm_site-img-responsive wp-post-image" alt="tabs pro plugin">
124
  <div class="wpsm_product_wrapper">
125
- <h3 style="width:70%">Team Pro </h3>
126
- <span class="price"><span class="amount">$16</span></span>
127
  <div class="wpsm-btn-block" style="">
128
 
129
- <a title="Check Detail" target="_blank" href="https://wpshopmart.com/plugins/team-pro/" class="portfolio_read_more_btn pull-left">Check Detail</a>
130
- <a title="View Demo" target="_blank" href="http://demo.wpshopmart.com/team-pro-demo/" class="portfolio_demo_btn pull-right">View Demo</a>
131
  </div>
132
  </div>
133
  </div>
@@ -136,14 +136,14 @@
136
  <div class="col-md-4">
137
 
138
  <div class="wpsm-theme-container" style="">
139
- <img width="700" height="394" src="<?php echo wpshopmart_tabs_r_directory_url.'assets/images/cb.png'; ?>" class="wpsm_site-img-responsive wp-post-image" alt="Colorbox and panels pro plugin">
140
  <div class="wpsm_product_wrapper">
141
- <h3 style="width:70%">Testimonial Pro </h3>
142
- <span class="price"><span class="amount">$14</span></span>
143
  <div class="wpsm-btn-block" style="">
144
 
145
- <a title="Check Detail" target="_blank" href="https://wpshopmart.com/plugins/colorbox-pro/" class="portfolio_read_more_btn pull-left">Check Detail</a>
146
- <a title="View Demo" target="_blank" href="http://demo.wpshopmart.com/colorbox-pro/" class="portfolio_demo_btn pull-right">View Demo</a>
147
  </div>
148
  </div>
149
  </div>
@@ -153,13 +153,13 @@
153
  <div class="col-md-4">
154
 
155
  <div class="wpsm-theme-container" style="">
156
- <img width="700" height="394" src="<?php echo wpshopmart_tabs_r_directory_url.'assets/images/csp.png'; ?>" class="wpsm_site-img-responsive wp-post-image" alt="Colorbox and panels pro plugin">
157
  <div class="wpsm_product_wrapper">
158
- <h3 style="width:70%">Coming Soon Pro </h3>
159
- <span class="price"><span class="amount">$19</span></span>
160
  <div class="wpsm-btn-block" style="">
161
- <a title="Check Detail" target="_blank" href="https://wpshopmart.com/plugins/testimonial-pro/" class="portfolio_read_more_btn pull-left">Check Detail</a>
162
- <a title="View Demo" target="_blank" href="http://demo.wpshopmart.com/testimonial-pro-demo/" class="portfolio_demo_btn pull-right">View Demo</a>
163
  </div>
164
  </div>
165
  </div>
@@ -170,14 +170,14 @@
170
  <div class="col-md-4">
171
 
172
  <div class="wpsm-theme-container" style="">
173
- <img width="700" height="394" src="<?php echo wpshopmart_tabs_r_directory_url.'assets/images/ac.png'; ?>" class="wpsm_site-img-responsive wp-post-image" alt="Colorbox and panels pro plugin">
174
  <div class="wpsm_product_wrapper">
175
- <h3 style="width:70%">Accordion Pro </h3>
176
- <span class="price"><span class="amount">$9</span></span>
177
  <div class="wpsm-btn-block" style="">
178
 
179
- <a title="Check Detail" target="_blank" href="http://wpshopmart.com/plugins/accordion-pro/" class="portfolio_read_more_btn pull-left">Check Detail</a>
180
- <a title="View Demo" target="_blank" href="http://demo.wpshopmart.com/accordion-pro/" class="portfolio_demo_btn pull-right">View Demo</a>
181
  </div>
182
  </div>
183
  </div>
@@ -187,14 +187,14 @@
187
  <div class="col-md-4">
188
 
189
  <div class="wpsm-theme-container" style="">
190
- <img width="700" height="394" src="<?php echo wpshopmart_tabs_r_directory_url.'assets/images/counters.jpg'; ?>" class="wpsm_site-img-responsive wp-post-image" alt="Colorbox and panels pro plugin">
191
  <div class="wpsm_product_wrapper">
192
- <h3 style="width:70%">Counter Number Pro </h3>
193
- <span class="price"><span class="amount">$12</span></span>
194
  <div class="wpsm-btn-block" style="">
195
 
196
- <a title="Check Detail" target="_blank" href="https://wpshopmart.com/plugins/counter-numbers-pro/" class="portfolio_read_more_btn pull-left">Check Detail</a>
197
- <a title="View Demo" target="_blank" href="http://demo.wpshopmart.com/counter-number-pro/" class="portfolio_demo_btn pull-right">View Demo</a>
198
  </div>
199
  </div>
200
  </div>
@@ -205,14 +205,14 @@
205
  <div class="col-md-4">
206
 
207
  <div class="wpsm-theme-container" style="">
208
- <img width="700" height="394" src="<?php echo wpshopmart_tabs_r_directory_url.'assets/images/service-showcase-pro-preview.jpg'; ?>" class="wpsm_site-img-responsive wp-post-image" alt="Colorbox and panels pro plugin">
209
  <div class="wpsm_product_wrapper">
210
- <h3 style="width:70%">Service Showcase </h3>
211
- <span class="price"><span class="amount">$9</span></span>
212
  <div class="wpsm-btn-block" style="">
213
 
214
- <a title="Check Detail" target="_blank" href="https://wpshopmart.com/plugins/service-showcase-pro-plugin-wordpress/" class="portfolio_read_more_btn pull-left">Check Detail</a>
215
- <a title="View Demo" target="_blank" href="http://dazzlersoftware.com/wpshopmart-demo/service-showcase-pro-plugin-demo/" class="portfolio_demo_btn pull-right">View Demo</a>
216
  </div>
217
  </div>
218
  </div>
113
  padding-right: 22px;
114
  }
115
  </style>
116
+ <h1><?php esc_html_e('Recommended Premium Plugins From Wpshopmart',wpshopmart_tabs_r_text_domain); ?></h1>
117
  <div style="overflow:hidden;display:block;width:100%;padding-top:20px;padding-bottom:20px;">
118
+ <div class="row col-md-12">
119
 
120
  <div class="col-md-4">
121
 
122
  <div class="wpsm-theme-container" style="">
123
+ <img width="700" height="394" src="<?php echo esc_url(wpshopmart_tabs_r_directory_url.'assets/images/tabs-pro-screesnhot.png'); ?>" class="wpsm_site-img-responsive wp-post-image" alt="tabs pro plugin">
124
  <div class="wpsm_product_wrapper">
125
+ <h3 style="width:70%"><?php esc_html_e('Team Pro',wpshopmart_tabs_r_text_domain); ?></h3>
126
+ <span class="price"><span class="amount"><?php esc_html_e('$16',wpshopmart_tabs_r_text_domain); ?></span></span>
127
  <div class="wpsm-btn-block" style="">
128
 
129
+ <a title="Check Detail" target="_blank" href="https://wpshopmart.com/plugins/team-pro/" class="portfolio_read_more_btn pull-left"><?php esc_html_e('Check Detail',wpshopmart_tabs_r_text_domain); ?></a>
130
+ <a title="View Demo" target="_blank" href="http://demo.wpshopmart.com/team-pro-demo/" class="portfolio_demo_btn pull-right"><?php esc_html_e('View Demo',wpshopmart_tabs_r_text_domain); ?></a>
131
  </div>
132
  </div>
133
  </div>
136
  <div class="col-md-4">
137
 
138
  <div class="wpsm-theme-container" style="">
139
+ <img width="700" height="394" src="<?php echo esc_url(wpshopmart_tabs_r_directory_url.'assets/images/cb.png'); ?>" class="wpsm_site-img-responsive wp-post-image" alt="Colorbox and panels pro plugin">
140
  <div class="wpsm_product_wrapper">
141
+ <h3 style="width:70%"><?php esc_html_e('Testimonial Pro',wpshopmart_tabs_r_text_domain); ?> </h3>
142
+ <span class="price"><span class="amount"><?php esc_html_e('$14',wpshopmart_tabs_r_text_domain); ?></span></span>
143
  <div class="wpsm-btn-block" style="">
144
 
145
+ <a title="Check Detail" target="_blank" href="https://wpshopmart.com/plugins/colorbox-pro/" class="portfolio_read_more_btn pull-left"><?php esc_html_e('Check Detail',wpshopmart_tabs_r_text_domain); ?></a>
146
+ <a title="View Demo" target="_blank" href="http://demo.wpshopmart.com/colorbox-pro/" class="portfolio_demo_btn pull-right"><?php esc_html_e('View Demo',wpshopmart_tabs_r_text_domain); ?></a>
147
  </div>
148
  </div>
149
  </div>
153
  <div class="col-md-4">
154
 
155
  <div class="wpsm-theme-container" style="">
156
+ <img width="700" height="394" src="<?php echo esc_url(wpshopmart_tabs_r_directory_url.'assets/images/csp.png'); ?>" class="wpsm_site-img-responsive wp-post-image" alt="Colorbox and panels pro plugin">
157
  <div class="wpsm_product_wrapper">
158
+ <h3 style="width:70%"><?php esc_html_e('Coming Soon Pro',wpshopmart_tabs_r_text_domain); ?></h3>
159
+ <span class="price"><span class="amount"><?php esc_html_e('$19',wpshopmart_tabs_r_text_domain); ?></span></span>
160
  <div class="wpsm-btn-block" style="">
161
+ <a title="Check Detail" target="_blank" href="https://wpshopmart.com/plugins/testimonial-pro/" class="portfolio_read_more_btn pull-left"><?php esc_html_e('Check Detail',wpshopmart_tabs_r_text_domain); ?></a>
162
+ <a title="View Demo" target="_blank" href="http://demo.wpshopmart.com/testimonial-pro-demo/" class="portfolio_demo_btn pull-right"><?php esc_html_e('View Demo',wpshopmart_tabs_r_text_domain); ?></a>
163
  </div>
164
  </div>
165
  </div>
170
  <div class="col-md-4">
171
 
172
  <div class="wpsm-theme-container" style="">
173
+ <img width="700" height="394" src="<?php echo esc_url(wpshopmart_tabs_r_directory_url.'assets/images/ac.png'); ?>" class="wpsm_site-img-responsive wp-post-image" alt="Colorbox and panels pro plugin">
174
  <div class="wpsm_product_wrapper">
175
+ <h3 style="width:70%"><?php esc_html_e('Accordion Pro',wpshopmart_tabs_r_text_domain); ?></h3>
176
+ <span class="price"><span class="amount"><?php esc_html_e('$9',wpshopmart_tabs_r_text_domain); ?></span></span>
177
  <div class="wpsm-btn-block" style="">
178
 
179
+ <a title="Check Detail" target="_blank" href="http://wpshopmart.com/plugins/accordion-pro/" class="portfolio_read_more_btn pull-left"><?php esc_html_e('Check Detail',wpshopmart_tabs_r_text_domain); ?></a>
180
+ <a title="View Demo" target="_blank" href="http://demo.wpshopmart.com/accordion-pro/" class="portfolio_demo_btn pull-right"><?php esc_html_e('View Demo',wpshopmart_tabs_r_text_domain); ?></a>
181
  </div>
182
  </div>
183
  </div>
187
  <div class="col-md-4">
188
 
189
  <div class="wpsm-theme-container" style="">
190
+ <img width="700" height="394" src="<?php echo esc_url(wpshopmart_tabs_r_directory_url.'assets/images/counters.jpg'); ?>" class="wpsm_site-img-responsive wp-post-image" alt="Colorbox and panels pro plugin">
191
  <div class="wpsm_product_wrapper">
192
+ <h3 style="width:70%"><?php esc_html_e('Counter Number Pro',wpshopmart_tabs_r_text_domain); ?></h3>
193
+ <span class="price"><span class="amount"><?php esc_html_e('$12',wpshopmart_tabs_r_text_domain); ?></span></span>
194
  <div class="wpsm-btn-block" style="">
195
 
196
+ <a title="Check Detail" target="_blank" href="https://wpshopmart.com/plugins/counter-numbers-pro/" class="portfolio_read_more_btn pull-left"><?php esc_html_e('Check Detail',wpshopmart_tabs_r_text_domain); ?></a>
197
+ <a title="View Demo" target="_blank" href="http://demo.wpshopmart.com/counter-number-pro/" class="portfolio_demo_btn pull-right"><?php esc_html_e('View Demo',wpshopmart_tabs_r_text_domain); ?></a>
198
  </div>
199
  </div>
200
  </div>
205
  <div class="col-md-4">
206
 
207
  <div class="wpsm-theme-container" style="">
208
+ <img width="700" height="394" src="<?php echo esc_url(wpshopmart_tabs_r_directory_url.'assets/images/service-showcase-pro-preview.jpg'); ?>" class="wpsm_site-img-responsive wp-post-image" alt="Colorbox and panels pro plugin">
209
  <div class="wpsm_product_wrapper">
210
+ <h3 style="width:70%"><?php esc_html_e('Service Showcase',wpshopmart_tabs_r_text_domain); ?></h3>
211
+ <span class="price"><span class="amount"><?php esc_html_e('$9',wpshopmart_tabs_r_text_domain); ?></span></span>
212
  <div class="wpsm-btn-block" style="">
213
 
214
+ <a title="Check Detail" target="_blank" href="https://wpshopmart.com/plugins/service-showcase-pro-plugin-wordpress/" class="portfolio_read_more_btn pull-left"><?php esc_html_e('Check Detail',wpshopmart_tabs_r_text_domain); ?></a>
215
+ <a title="View Demo" target="_blank" href="http://dazzlersoftware.com/wpshopmart-demo/service-showcase-pro-plugin-demo/" class="portfolio_demo_btn pull-right"><?php esc_html_e('View Demo',wpshopmart_tabs_r_text_domain); ?></a>
216
  </div>
217
  </div>
218
  </div>
ink/admin/settings.php CHANGED
@@ -1,4 +1,5 @@
1
  <?php
 
2
  $De_Settings = unserialize(get_option('Tabs_R_default_Settings'));
3
  $PostId = $post->ID;
4
  $Settings = unserialize(get_post_meta( $PostId, 'Tabs_R_Settings', true));
@@ -7,17 +8,17 @@
7
  "tabs_sec_title" => $De_Settings['tabs_sec_title'],
8
  "show_tabs_title_icon" => $De_Settings['show_tabs_title_icon'],
9
  "show_tabs_icon_align" => $De_Settings['show_tabs_icon_align'],
10
- "enable_tabs_border" => $De_Settings['enable_tabs_border'],
11
- "tabs_title_bg_clr" => $De_Settings['tabs_title_bg_clr'],
12
  "tabs_title_icon_clr" => $De_Settings['tabs_title_icon_clr'],
13
  "select_tabs_title_bg_clr" => $De_Settings['select_tabs_title_bg_clr'],
14
  "select_tabs_title_icon_clr" => $De_Settings['select_tabs_title_icon_clr'],
15
  "tabs_desc_bg_clr" => $De_Settings['tabs_desc_bg_clr'],
16
- "tabs_desc_font_clr" => $De_Settings['tabs_desc_font_clr'],
17
- "title_size" => $De_Settings['title_size'],
18
- "des_size" => $De_Settings['des_size'],
19
- "font_family" => $De_Settings['font_family'],
20
- "tabs_styles" =>$De_Settings['tabs_styles'],
21
  "custom_css" =>$De_Settings['custom_css'],
22
  "tabs_animation" =>$De_Settings['tabs_animation'],
23
  "tabs_alignment" =>$De_Settings['tabs_alignment'],
@@ -53,7 +54,7 @@
53
  }
54
  });
55
 
56
- jQuery( "#title_size_id" ).slider("value",<?php echo $title_size; ?> );
57
  jQuery( "#title_size" ).val( jQuery( "#title_size_id" ).slider( "value") );
58
 
59
  });
@@ -72,7 +73,7 @@
72
  }
73
  });
74
 
75
- jQuery( "#des_size_id" ).slider("value",<?php echo $des_size; ?>);
76
  jQuery( "#des_size" ).val( jQuery( "#des_size_id" ).slider( "value") );
77
 
78
  });
@@ -125,6 +126,7 @@ if(isset($_POST['action123']) == "default_settins_action")
125
  }
126
 
127
  ?>
 
128
  <input type="hidden" id="tabs_setting_save_action" name="tabs_setting_save_action" value="tabs_setting_save_action">
129
 
130
  <table class="form-table acc_table">
@@ -141,11 +143,11 @@ if(isset($_POST['action123']) == "default_settins_action")
141
  <span class="switch-selection"></span>
142
  </div>
143
  <!-- Tooltip -->
144
- <a class="ac_tooltip" href="#help" data-tooltip="#tab_r_sec_title_tp">help</a>
145
  <div id="tab_r_sec_title_tp" style="display:none;">
146
  <div style="color:#fff !important;padding:10px;">
147
  <h2 style="color:#fff !important;"><?php _e('Display Tabs Section Title ',wpshopmart_tabs_r_text_domain); ?></h2>
148
- <img src="<?php echo wpshopmart_tabs_r_directory_url.'assets/tooltip/img/sec-title.png'; ?>">
149
  </div>
150
  </div>
151
  </td>
@@ -154,19 +156,19 @@ if(isset($_POST['action123']) == "default_settins_action")
154
  <tr>
155
  <th scope="row"><label><?php _e('Display Option For Title and icon ',wpshopmart_tabs_r_text_domain); ?></label></th>
156
  <td>
157
- <span style="display:block;margin-bottom:10px"><input type="radio" name="show_tabs_title_icon" id="show_tabs_title_icon" value="1" <?php if($show_tabs_title_icon == '1' ) { echo "checked"; } ?> /> Show Tabs Title + Icon (both) </span>
158
- <span style="display:block;margin-bottom:10px"><input type="radio" name="show_tabs_title_icon" id="show_tabs_title_icon" value="2" <?php if($show_tabs_title_icon == '2' ) { echo "checked"; } ?> /> Show Only Tabs Title </span>
159
- <span style="display:block;margin-bottom:10px"><input type="radio" name="show_tabs_title_icon" id="show_tabs_title_icon" value="3" <?php if($show_tabs_title_icon == '3' ) { echo "checked"; } ?> /> Show Only Icon </span>
160
 
161
  <!-- Tooltip -->
162
- <a class="ac_tooltip" href="#help" data-tooltip="#tabs_r_title_icon_tp">help</a>
163
  <div id="tabs_r_title_icon_tp" style="display:none;">
164
  <div style="color:#fff !important;padding:10px;">
165
  <h2 style="color:#fff !important;"><?php _e('Display Tabs Title And Icon ',wpshopmart_tabs_r_text_domain); ?></h2>
166
- <img src="<?php echo wpshopmart_tabs_r_directory_url.'assets/tooltip/img/tab-title.png'; ?>">
167
  <br>
168
 
169
- <img src="<?php echo wpshopmart_tabs_r_directory_url.'assets/tooltip/img/tab-icon.png'; ?>">
170
 
171
  </div>
172
  </div>
@@ -176,10 +178,10 @@ if(isset($_POST['action123']) == "default_settins_action")
176
  <tr>
177
  <th scope="row"><label><?php _e('Tabs Icon Position Alignment',wpshopmart_tabs_r_text_domain); ?></label></th>
178
  <td>
179
- <span style="display:block;margin-bottom:10px"><input type="radio" name="show_tabs_icon_align" id="show_tabs_icon_align" value="left" <?php if($show_tabs_icon_align == 'left' ) { echo "checked"; } ?> /> Before Tab Title </span>
180
- <span style="display:block;margin-bottom:10px"><input type="radio" name="show_tabs_icon_align" id="show_tabs_icon_align" value="right" <?php if($show_tabs_icon_align == 'right' ) { echo "checked"; } ?> /> After Tab Title </span>
181
  <!-- Tooltip -->
182
- <a class="ac_tooltip" href="#help" data-tooltip="#tabs_r_title_icon_align_tp">help</a>
183
  <div id="tabs_r_title_icon_align_tp" style="display:none;">
184
  <div style="color:#fff !important;padding:10px;">
185
  <h2 style="color:#fff !important;"><?php _e('Align your Tab Icon Position before title or after title',wpshopmart_tabs_r_text_domain); ?></h2>
@@ -199,7 +201,7 @@ if(isset($_POST['action123']) == "default_settins_action")
199
  <span class="switch-selection"></span>
200
  </div>
201
  <!-- Tooltip -->
202
- <a class="ac_tooltip" href="#enable_ac_border_tp" data-tooltip="#enable_tabs_r_border_tp">help</a>
203
  <div id="enable_tabs_r_border_tp" style="display:none;">
204
  <div style="color:#fff !important;padding:10px;">
205
  <h2 style="color:#fff !important;"><?php _e('Display Or Hide Tabs Border Here',wpshopmart_tabs_r_text_domain); ?></h2>
@@ -211,21 +213,21 @@ if(isset($_POST['action123']) == "default_settins_action")
211
  <tr>
212
  <th scope="row"><label><?php _e('Tabs Styles',wpshopmart_tabs_r_text_domain); ?></label></th>
213
  <td>
214
- <span style="display:block;margin-bottom:10px"><input type="radio" name="tabs_styles" id="tabs_styles" value="1" <?php if($tabs_styles == '1' ) { echo "checked"; } ?> /> Default </span>
215
- <span style="display:block;margin-bottom:10px"><input type="radio" name="tabs_styles" id="tabs_styles" value="2" <?php if($tabs_styles == '2' ) { echo "checked"; } ?> /> Soft </span>
216
- <span style="display:block"><input type="radio" name="tabs_styles" id="tabs_styles" value="3" <?php if($tabs_styles == '3' ) { echo "checked"; } ?> /> Noise </span>
217
  <!-- Tooltip -->
218
- <a class="ac_tooltip" href="#help" data-tooltip="#tabs_r_styles_tp">help</a>
219
  <div id="tabs_r_styles_tp" style="display:none;">
220
  <div style="color:#fff !important;padding:10px;">
221
  <h2 style="color:#fff !important;"><?php _e('Tab Styles',wpshopmart_tabs_r_text_domain); ?></h2>
222
- <img src="<?php echo wpshopmart_tabs_r_directory_url.'assets/tooltip/img/tab-title.png'; ?>">
223
- <img src="<?php echo wpshopmart_tabs_r_directory_url.'assets/tooltip/img/soft.png'; ?>">
224
  <br>
225
- <img src="<?php echo wpshopmart_tabs_r_directory_url.'assets/tooltip/img/noise.png'; ?>">
226
  </div>
227
  </div>
228
- <div style="margin-top:10px;display:block;overflow:hidden;width:100%;"> <a style="margin-top:10px" href="http://wpshopmart.com/plugins/tabs-pro-plugin/" target="_balnk">Unlock 2 More Overlays Styles In Premium Version</a> </div>
229
 
230
  </td>
231
  </tr>
@@ -233,13 +235,13 @@ if(isset($_POST['action123']) == "default_settins_action")
233
  <tr >
234
  <th scope="row"><label><?php _e('Tabs Title Background Colour',wpshopmart_tabs_r_text_domain); ?></label></th>
235
  <td>
236
- <input id="tabs_title_bg_clr" name="tabs_title_bg_clr" type="text" value="<?php echo $tabs_title_bg_clr; ?>" class="my-color-field" data-default-color="#e8e8e8" />
237
  <!-- Tooltip -->
238
- <a class="ac_tooltip" href="#help" data-tooltip="#tabs_r_title_bg_clr_tp">help</a>
239
  <div id="tabs_r_title_bg_clr_tp" style="display:none;">
240
  <div style="color:#fff !important;padding:10px;">
241
  <h2 style="color:#fff !important;"><?php _e('Tabs Title Background Colour',wpshopmart_tabs_r_text_domain); ?></h2>
242
- <img src="<?php echo wpshopmart_tabs_r_directory_url.'assets/tooltip/img/tabs-bg.png'; ?>">
243
  </div>
244
  </div>
245
  </td>
@@ -248,13 +250,13 @@ if(isset($_POST['action123']) == "default_settins_action")
248
  <tr >
249
  <th scope="row"><label><?php _e('Tabs Title/Icon Font Colour',wpshopmart_tabs_r_text_domain); ?></label></th>
250
  <td>
251
- <input id="tabs_title_icon_clr" name="tabs_title_icon_clr" type="text" value="<?php echo $tabs_title_icon_clr; ?>" class="my-color-field" data-default-color="#ffffff" />
252
  <!-- Tooltip -->
253
- <a class="ac_tooltip" href="#help" data-tooltip="#tabs_r_title_icon_clr_tp">help</a>
254
  <div id="tabs_r_title_icon_clr_tp" style="display:none;">
255
  <div style="color:#fff !important;padding:10px;">
256
  <h2 style="color:#fff !important;"><?php _e('Tabs Title/Icon Font Colour',wpshopmart_tabs_r_text_domain); ?></h2>
257
- <img src="<?php echo wpshopmart_tabs_r_directory_url.'assets/tooltip/img/tabs-ft-color.png'; ?>">
258
  </div>
259
  </div>
260
  </td>
@@ -264,13 +266,13 @@ if(isset($_POST['action123']) == "default_settins_action")
264
  <tr >
265
  <th scope="row"><label><?php _e('Selected Tabs Title Background Colour',wpshopmart_tabs_r_text_domain); ?></label></th>
266
  <td>
267
- <input id="select_tabs_title_bg_clr" name="select_tabs_title_bg_clr" type="text" value="<?php echo $select_tabs_title_bg_clr; ?>" class="my-color-field" data-default-color="#e8e8e8" />
268
  <!-- Tooltip -->
269
- <a class="ac_tooltip" href="#help" data-tooltip="#tabs_r_sel_bg_clr_tp">help</a>
270
  <div id="tabs_r_sel_bg_clr_tp" style="display:none;">
271
  <div style="color:#fff !important;padding:10px;">
272
  <h2 style="color:#fff !important;"><?php _e('Selected/Open Tabs Title Background Colour',wpshopmart_tabs_r_text_domain); ?></h2>
273
- <img src="<?php echo wpshopmart_tabs_r_directory_url.'assets/tooltip/img/sel-tab-color.png'; ?>">
274
  </div>
275
  </div>
276
  </td>
@@ -279,13 +281,13 @@ if(isset($_POST['action123']) == "default_settins_action")
279
  <tr >
280
  <th scope="row"><label><?php _e('Selected Tabs Title/Icon Font Colour',wpshopmart_tabs_r_text_domain); ?></label></th>
281
  <td>
282
- <input id="select_tabs_title_icon_clr" name="select_tabs_title_icon_clr" type="text" value="<?php echo $select_tabs_title_icon_clr; ?>" class="my-color-field" data-default-color="#ffffff" />
283
  <!-- Tooltip -->
284
- <a class="ac_tooltip" href="#help" data-tooltip="#tabs_r_sel_icon_clr_tp">help</a>
285
  <div id="tabs_r_sel_icon_clr_tp" style="display:none;">
286
  <div style="color:#fff !important;padding:10px;">
287
  <h2 style="color:#fff !important;"><?php _e('Selected/Open Tabs Title/Icon Font Colour',wpshopmart_tabs_r_text_domain); ?></h2>
288
- <img src="<?php echo wpshopmart_tabs_r_directory_url.'assets/tooltip/img/tabs-ft-color.png'; ?>">
289
  </div>
290
  </div>
291
  </td>
@@ -294,13 +296,13 @@ if(isset($_POST['action123']) == "default_settins_action")
294
  <tr >
295
  <th scope="row"><label><?php _e('Tabs Description Background Colour',wpshopmart_tabs_r_text_domain); ?></label></th>
296
  <td>
297
- <input id="tabs_desc_bg_clr" name="tabs_desc_bg_clr" type="text" value="<?php echo $tabs_desc_bg_clr; ?>" class="my-color-field" data-default-color="#ffffff" />
298
  <!-- Tooltip -->
299
- <a class="ac_tooltip" href="#help" data-tooltip="#tabs_r_desc_bg_clr_tp">help</a>
300
  <div id="tabs_r_desc_bg_clr_tp" style="display:none;">
301
  <div style="color:#fff !important;padding:10px;">
302
  <h2 style="color:#fff !important;"><?php _e('Tabs Description Background Colour',wpshopmart_tabs_r_text_domain); ?></h2>
303
- <img src="<?php echo wpshopmart_tabs_r_directory_url.'assets/tooltip/img/desc-bg-color.png'; ?>">
304
  </div>
305
  </div>
306
  </td>
@@ -309,13 +311,13 @@ if(isset($_POST['action123']) == "default_settins_action")
309
  <tr >
310
  <th scope="row"><label><?php _e('Tabs Description Font Colour',wpshopmart_tabs_r_text_domain); ?></label></th>
311
  <td>
312
- <input id="tabs_desc_font_clr" name="tabs_desc_font_clr" type="text" value="<?php echo $tabs_desc_font_clr; ?>" class="my-color-field" data-default-color="#000000" />
313
  <!-- Tooltip -->
314
- <a class="ac_tooltip" href="#help" data-tooltip="#tabs_r_desc_font_clr_tp">help</a>
315
  <div id="tabs_r_desc_font_clr_tp" style="display:none;">
316
  <div style="color:#fff !important;padding:10px;">
317
  <h2 style="color:#fff !important;"><?php _e('Tabs Description Font Colour',wpshopmart_tabs_r_text_domain); ?></h2>
318
- <img src="<?php echo wpshopmart_tabs_r_directory_url.'assets/tooltip/img/noise.png'; ?>">
319
  </div>
320
  </div>
321
  </td>
@@ -327,10 +329,10 @@ if(isset($_POST['action123']) == "default_settins_action")
327
  <div id="title_size_id" class="size-slider" ></div>
328
  <input type="text" class="slider-text" id="title_size" name="title_size" readonly="readonly">
329
  <!-- Tooltip -->
330
- <a class="ac_tooltip" href="#help" data-tooltip="#title_size_tp">help</a>
331
  <div id="title_size_tp" style="display:none;">
332
  <div style="color:#fff !important;padding:10px;max-width: 300px;">
333
- <h2 style="color:#fff !important;">You can update Tabs Title and Icon Font Size from here. Just Scroll it to change size.</h2>
334
  </div>
335
  </div>
336
  </td>
@@ -342,10 +344,10 @@ if(isset($_POST['action123']) == "default_settins_action")
342
  <div id="des_size_id" class="size-slider" ></div>
343
  <input type="text" class="slider-text" id="des_size" name="des_size" readonly="readonly">
344
  <!-- Tooltip -->
345
- <a class="ac_tooltip" href="#help" data-tooltip="#des_size_tp">help</a>
346
  <div id="des_size_tp" style="display:none;">
347
  <div style="color:#fff !important;padding:10px;max-width: 300px;">
348
- <h2 style="color:#fff !important;">You can update Tabs Description/content Font Size from here. Just Scroll it to change size.</h2>
349
 
350
  </div>
351
  </div>
@@ -356,35 +358,35 @@ if(isset($_POST['action123']) == "default_settins_action")
356
  <td>
357
  <select name="font_family" id="font_family" class="standard-dropdown" style="width:100%" >
358
  <optgroup label="Default Fonts">
359
- <option value="Arial" <?php if($font_family == 'Arial' ) { echo "selected"; } ?>>Arial</option>
360
- <option value="Arial Black" <?php if($font_family == 'Arial Black' ) { echo "selected"; } ?>>Arial Black</option>
361
- <option value="Courier New" <?php if($font_family == 'Courier New' ) { echo "selected"; } ?>>Courier New</option>
362
- <option value="Georgia" <?php if($font_family == 'Georgia' ) { echo "selected"; } ?>>Georgia</option>
363
- <option value="Grande" <?php if($font_family == 'Grande' ) { echo "selected"; } ?>>Grande</option>
364
- <option value="Helvetica" <?php if($font_family == 'Helvetica' ) { echo "selected"; } ?>>Helvetica Neue</option>
365
- <option value="Impact" <?php if($font_family == 'Impact' ) { echo "selected"; } ?>>Impact</option>
366
- <option value="Lucida" <?php if($font_family == 'Lucida' ) { echo "selected"; } ?>>Lucida</option>
367
- <option value="Lucida Grande" <?php if($font_family == 'Lucida Grande' ) { echo "selected"; } ?>>Lucida Grande</option>
368
- <option value="Open Sans" <?php if($font_family == 'Open Sans' ) { echo "selected"; } ?>>Open Sans</option>
369
- <option value="OpenSansBold" <?php if($font_family == 'OpenSansBold' ) { echo "selected"; } ?>>OpenSansBold</option>
370
- <option value="Palatino Linotype" <?php if($font_family == 'Palatino Linotype' ) { echo "selected"; } ?>>Palatino</option>
371
- <option value="Sans" <?php if($font_family == 'Sans' ) { echo "selected"; } ?>>Sans</option>
372
- <option value="sans-serif" <?php if($font_family == 'sans-serif' ) { echo "selected"; } ?>>Sans-Serif</option>
373
- <option value="Tahoma" <?php if($font_family == 'Tahoma' ) { echo "selected"; } ?>>Tahoma</option>
374
- <option value="Times New Roman" <?php if($font_family == 'Times New Roman' ) { echo "selected"; } ?>>Times New Roman</option>
375
- <option value="Trebuchet" <?php if($font_family == 'Trebuchet' ) { echo "selected"; } ?>>Trebuchet</option>
376
- <option value="Verdana" <?php if($font_family == 'Verdana' ) { echo "selected"; } ?>>Verdana</option>
377
  </optgroup>
378
  </select>
379
  <!-- Tooltip -->
380
- <a class="ac_tooltip" href="#help" data-tooltip="#font_family_tp">help</a>
381
  <div id="font_family_tp" style="display:none;">
382
  <div style="color:#fff !important;padding:10px;max-width: 300px;">
383
- <h2 style="color:#fff !important;">You can update Tabs Title and Description Font Family/Style from here. Select any one form these options.</h2>
384
 
385
  </div>
386
  </div>
387
- <div style="margin-top:10px;display:block;overflow:hidden;width:100%;"> <a style="margin-top:10px" href="http://wpshopmart.com/plugins/tabs-pro-plugin/" target="_balnk">Get 500+ Google Fonts In Premium Version</a> </div>
388
 
389
  </td>
390
  </tr>
@@ -394,55 +396,55 @@ if(isset($_POST['action123']) == "default_settins_action")
394
  <th><?php _e('Tabs Description Animation',wpshopmart_tabs_r_text_domain); ?> </th>
395
  <td>
396
  <select name="tabs_animation" id="tabs_animation" class="standard-dropdown" style="width:100%" >
397
- <option value="fadeIn" <?php if($tabs_animation == 'fadeIn' ) { echo "selected"; } ?>>Fade Animation</option>
398
- <option value="fadeInUp" <?php if($tabs_animation == 'fadeInUp' ) { echo "selected"; } ?>>Fade In Up Animation</option>
399
- <option value="fadeInDown" <?php if($tabs_animation == 'fadeInDown' ) { echo "selected"; } ?>>Fade In Down Animation</option>
400
- <option value="fadeInLeft" <?php if($tabs_animation == 'fadeInLeft' ) { echo "selected"; } ?>>Fade In Left Animation</option>
401
- <option value="fadeInRight" <?php if($tabs_animation == 'fadeInRight' ) { echo "selected"; } ?>>Fade In Right Animation</option>
402
- <option value="None" <?php if($tabs_animation == 'None' ) { echo "selected"; } ?>>No Animation</option>
403
- <option value="flip" disabled <?php if($tabs_animation == 'flip' ) { echo "selected"; } ?> >flip (Available in Pro)</option>
404
- <option value="flipInX" disabled <?php if($tabs_animation == 'flipInX' ) { echo "selected"; } ?> >flipInX (Available in Pro)</option>
405
- <option value="flipInY" disabled <?php if($tabs_animation == 'flipInY' ) { echo "selected"; } ?> >flipInY (Available in Pro)option>
406
- <option value="flipOutX" disabled <?php if($tabs_animation == 'flipOutX' ) { echo "selected"; } ?> >flipOutX (Available in Pro)</option>
407
- <option value="flipOutY" disabled <?php if($tabs_animation == 'flipOutY' ) { echo "selected"; } ?> >flipOutY (Available in Pro)</option>
408
- <option value="zoomIn" disabled <?php if($tabs_animation == 'zoomIn' ) { echo "selected"; } ?> >ZoomIn (Available in Pro)</option>
409
- <option value="zoomInLeft" disabled <?php if($tabs_animation == 'zoomInLeft' ) { echo "selected"; } ?> >ZoomInLeft (Available in Pro)</option>
410
- <option value="zoomInRight" disabled <?php if($tabs_animation == 'zoomInRight' ) { echo "selected"; } ?> >ZoomInRight (Available in Pro)</option>
411
- <option value="zoomInUp" disabled <?php if($tabs_animation == 'zoomInUp' ) { echo "selected"; } ?> >ZoomInUp (Available in Pro)</option>
412
- <option value="zoomInDown" disabled <?php if($tabs_animation == 'zoomInDown' ) { echo "selected"; } ?> >ZoomInDown (Available in Pro)</option>
413
- <option value="bounce" disabled <?php if($tabs_animation == 'bounce' ) { echo "selected"; } ?> >bounce (Available in Pro)</option>
414
- <option value="bounceIn" disabled <?php if($tabs_animation == 'bounceIn' ) { echo "selected"; } ?> >bounceIn (Available in Pro)</option>
415
- <option value="bounceInLeft" disabled <?php if($tabs_animation == 'bounceInLeft' ) { echo "selected"; } ?> >bounceInLeft (Available in Pro)</option>
416
- <option value="bounceInRight" disabled <?php if($tabs_animation == 'bounceInRight' ) { echo "selected"; } ?> >bounceInRight (Available in Pro)</option>
417
- <option value="bounceInUp" disabled <?php if($tabs_animation == 'bounceInUp' ) { echo "selected"; } ?> >bounceInUp (Available in Pro)</option>
418
- <option value="bounceInDown" disabled <?php if($tabs_animation == 'bounceInDown' ) { echo "selected"; } ?> >bounceInDown (Available in Pro)</option>
419
- <option value="flash" disabled <?php if($tabs_animation == 'flash' ) { echo "selected"; } ?> >flash (Available in Pro)</option>
420
- <option value="pulse" disabled <?php if($tabs_animation == 'pulse' ) { echo "selected"; } ?> >pulse (Available in Pro)</option>
421
- <option value="shake" disabled <?php if($tabs_animation == 'shake' ) { echo "selected"; } ?> >shake (Available in Pro)</option>
422
- <option value="swing" disabled <?php if($tabs_animation == 'swing' ) { echo "selected"; } ?> >swing (Available in Pro)</option>
423
- <option value="tada" disabled <?php if($tabs_animation == 'tada' ) { echo "selected"; } ?> >tada (Available in Pro)</option>
424
- <option value="wobble" disabled <?php if($tabs_animation == 'wobble' ) { echo "selected"; } ?> >wobble (Available in Pro)</option>
425
- <option value="lightSpeedIn" disabled <?php if($tabs_animation == 'lightSpeedIn' ) { echo "selected"; } ?> >lightSpeedIn (Available in Pro)</option>
426
- <option value="rollIn" disabled <?php if($tabs_animation == 'rollIn' ) { echo "selected"; } ?> >rollIn (Available in Pro)</option>
427
- <option value="slideInDown" disabled <?php if($tabs_animation == 'slideInDown' ) { echo "selected"; } ?> >slideInDown (Available in Pro)</option>
428
- <option value="slideInLeft" disabled <?php if($tabs_animation == 'slideInLeft' ) { echo "selected"; } ?> >slideInLeft (Available in Pro)</option>
429
- <option value="slideInRight" disabled <?php if($tabs_animation == 'slideInRight' ) { echo "selected"; } ?> >slideInRight (Available in Pro)</option>
430
- <option value="slideInUp" disabled <?php if($tabs_animation == 'slideInUp' ) { echo "selected"; } ?> >slideInUp (Available in Pro)</option>
431
- <option value="rotateIn" disabled <?php if($tabs_animation == 'rotateIn' ) { echo "selected"; } ?> >rotateIn (Available in Pro)</option>
432
- <option value="rotateInDownLeft" disabled <?php if($tabs_animation == 'rotateInDownLeft' ) { echo "selected"; } ?> >rotateInDownLeft (Available in Pro)</option>
433
- <option value="rotateInDownRight" disabled <?php if($tabs_animation == 'rotateInDownRight' ) { echo "selected"; } ?> >rotateInDownRight (Available in Pro)</option>
434
- <option value="rotateInUpLeft" disabled <?php if($tabs_animation == 'rotateInUpLeft' ) { echo "selected"; } ?> >rotateInUpLeft (Available in Pro)</option>
435
- <option value="rotateInUpRight" disabled <?php if($tabs_animation == 'rotateInUpRight' ) { echo "selected"; } ?> >rotateInUpRight (Available in Pro)</option>
436
 
437
  </select>
438
  <!-- Tooltip -->
439
  <a class="ac_tooltip" href="#help" data-tooltip="#tabs_r_animation">help</a>
440
  <div id="tabs_r_animation" style="display:none;">
441
  <div style="color:#fff !important;padding:10px;max-width: 300px;">
442
- <h2 style="color:#fff !important;">Animation your tabs content on click , select your animation form here</h2>
443
  </div>
444
  </div>
445
- <div style="margin-top:10px;display:block;overflow:hidden;width:100%;"> <a style="margin-top:10px" href="http://wpshopmart.com/plugins/tabs-pro-plugin/" target="_balnk">Unlock 25+ MOre Animation Effect In Premium Version</a> </div>
446
 
447
  </td>
448
  </tr>
@@ -450,18 +452,18 @@ if(isset($_POST['action123']) == "default_settins_action")
450
  <tr>
451
  <th scope="row"><label><?php _e('Tabs Alignment ',wpshopmart_tabs_r_text_domain); ?></label></th>
452
  <td>
453
- <span style="display:block;margin-bottom:10px"><input type="radio" name="tabs_alignment" id="tabs_alignment" value="horizontal" <?php if($tabs_alignment == 'horizontal' ) { echo "checked"; } ?> /> Horizontal </span>
454
- <span style="display:block;margin-bottom:10px"><input type="radio" name="tabs_alignment" id="tabs_alignment" value="vertical" <?php if($tabs_alignment == 'vertical') { echo "checked"; } ?> /> Vertical </span>
455
 
456
  <!-- Tooltip -->
457
- <a class="ac_tooltip" href="#help" data-tooltip="#tabs_r_align">help</a>
458
  <div id="tabs_r_align" style="display:none;">
459
  <div style="color:#fff !important;padding:10px;">
460
  <h2 style="color:#fff !important;"><?php _e('Align Your Tabs from here',wpshopmart_tabs_r_text_domain); ?></h2>
461
- <img src="<?php echo wpshopmart_tabs_r_directory_url.'assets/tooltip/img/margin-con-tab.png'; ?>">
462
 
463
  <br>
464
- <img src="<?php echo wpshopmart_tabs_r_directory_url.'assets/tooltip/img/vertical-left.png'; ?>">
465
 
466
  </div>
467
  </div>
@@ -479,13 +481,13 @@ if(isset($_POST['action123']) == "default_settins_action")
479
  <span class="switch-selection"></span>
480
  </div>
481
  <!-- Tooltip -->
482
- <a class="ac_tooltip" href="#help" data-tooltip="#tabs_r_pos">help</a>
483
  <div id="tabs_r_pos" style="display:none;">
484
  <div style="color:#fff !important;padding:10px;">
485
  <h2 style="color:#fff !important;"><?php _e('Align Your Tabs position here ',wpshopmart_tabs_r_text_domain); ?></h2>
486
- <img src="<?php echo wpshopmart_tabs_r_directory_url.'assets/tooltip/img/vertical-left.png'; ?>">
487
  <br>
488
- <img src="<?php echo wpshopmart_tabs_r_directory_url.'assets/tooltip/img/vertical-right.png'; ?>">
489
  </div>
490
  </div>
491
  </td>
@@ -502,11 +504,11 @@ if(isset($_POST['action123']) == "default_settins_action")
502
  <span class="switch-selection"></span>
503
  </div>
504
  <!-- Tooltip -->
505
- <a class="ac_tooltip" href="#help" data-tooltip="#tabs_r_2_margin">help</a>
506
  <div id="tabs_r_2_margin" style="display:none;">
507
  <div style="color:#fff !important;padding:10px;">
508
  <h2 style="color:#fff !important;"><?php _e('Margin Between Two Tabs ',wpshopmart_tabs_r_text_domain); ?></h2>
509
- <img src="<?php echo wpshopmart_tabs_r_directory_url.'assets/tooltip/img/margin-2-tab.png'; ?>">
510
  </div>
511
  </div>
512
  </td>
@@ -523,11 +525,11 @@ if(isset($_POST['action123']) == "default_settins_action")
523
  <span class="switch-selection"></span>
524
  </div>
525
  <!-- Tooltip -->
526
- <a class="ac_tooltip" href="#help" data-tooltip="#tabs_r_con_marg">help</a>
527
  <div id="tabs_r_con_marg" style="display:none;">
528
  <div style="color:#fff !important;padding:10px;">
529
  <h2 style="color:#fff !important;"><?php _e('Margin Between Tabs And Content',wpshopmart_tabs_r_text_domain); ?></h2>
530
- <img src="<?php echo wpshopmart_tabs_r_directory_url.'assets/tooltip/img/margin-con-tab.png'; ?>">
531
  </div>
532
  </div>
533
  </td>
@@ -535,11 +537,11 @@ if(isset($_POST['action123']) == "default_settins_action")
535
  <tr>
536
  <th scope="row"><label><?php _e('Tabs Mobile display Settings',wpshopmart_tabs_r_text_domain); ?></label></th>
537
  <td>
538
- <span style="display:block;margin-bottom:10px"><input type="radio" name="tabs_display_on_mob" id="tabs_display_on_mob" value="1" <?php if($tabs_display_on_mob == '1' ) { echo "checked"; } ?> /> Display Both Title + Icon </span>
539
- <span style="display:block;margin-bottom:10px"><input type="radio" name="tabs_display_on_mob" id="tabs_display_on_mob" value="2" <?php if($tabs_display_on_mob == '2' ) { echo "checked"; } ?> /> Display only Icon </span>
540
- <span style="display:block"><input type="radio" name="tabs_display_on_mob" id="tabs_display_on_mob" value="3" <?php if($tabs_display_on_mob == '3' ) { echo "checked"; } ?> /> Display Only Title </span>
541
  <!-- Tooltip -->
542
- <a class="ac_tooltip" href="#help" data-tooltip="#tabs_display_on_mob_tp">help</a>
543
  <div id="tabs_display_on_mob_tp" style="display:none;">
544
  <div style="color:#fff !important;padding:10px;">
545
  <h2 style="color:#fff !important;"><?php _e('Hide/display your icon and title on mobile and tablets',wpshopmart_tabs_r_text_domain); ?></h2>
@@ -552,16 +554,16 @@ if(isset($_POST['action123']) == "default_settins_action")
552
  <tr>
553
  <th scope="row"><label><?php _e('Title Display Mode In Mobile',wpshopmart_tabs_r_text_domain); ?></label></th>
554
  <td>
555
- <span style="display:block;margin-bottom:10px"><input type="radio" name="tabs_display_mode_mob" id="tabs_display_mode_mob" value="1" <?php if($tabs_display_mode_mob == '1' ) { echo "checked"; } ?> /> Display As a tabs </span>
556
- <span style="display:block;margin-bottom:10px"><input type="radio" name="tabs_display_mode_mob" id="tabs_display_mode_mob" value="2" <?php if($tabs_display_mode_mob == '2' ) { echo "checked"; } ?> /> Display As A vertical Button </span>
557
  <!-- Tooltip -->
558
- <a class="ac_tooltip" href="#help" data-tooltip="#tabs_display_mode_mob_tp">help</a>
559
  <div id="tabs_display_mode_mob_tp" style="display:none;">
560
  <div style="color:#fff !important;padding:10px;">
561
  <h2 style="color:#fff !important;"><?php _e('Display Your Title as Vrtical Button or as tabs in Mobile',wpshopmart_tabs_r_text_domain); ?></h2>
562
- <img src="<?php echo wpshopmart_tabs_r_directory_url.'assets/tooltip/img/noise.png'; ?>">
563
 
564
- <img src="<?php echo wpshopmart_tabs_r_directory_url.'assets/tooltip/img/as-a-button.png'; ?>">
565
  </div>
566
  </div>
567
  </td>
@@ -569,18 +571,18 @@ if(isset($_POST['action123']) == "default_settins_action")
569
  <tr>
570
  <th scope="row"><label><?php _e('Tabs On Hover',wpshopmart_tabs_r_text_domain); ?></label></th>
571
  <td>
572
- <img style="width:100px; "class="wpsm_img_responsive" src="<?php echo wpshopmart_tabs_r_directory_url.'assets/images/snap.png'; ?>" />
573
  <br />
574
- <a style="margin-top:10px" href="http://wpshopmart.com/plugins/tabs-pro-plugin/" target="_balnk">Available In Premium Version</a>
575
  </td>
576
  </tr>
577
 
578
  <tr>
579
  <th scope="row"><label><?php _e('',wpshopmart_tabs_r_text_domain); ?></label></th>
580
  <td>
581
- <img class="wpsm_img_responsive" src="<?php echo wpshopmart_tabs_r_directory_url.'assets/images/more-setting.jpg'; ?>" />
582
  <br />
583
- <a style="margin-top:10px" href="http://wpshopmart.com/plugins/tabs-pro-plugin/" target="_balnk">Available In Premium Version</a>
584
  </td>
585
  </tr>
586
  <script>
1
  <?php
2
+ $wpsm_nonce = wp_create_nonce( 'wpsm_tabs_nonce_save_settings_values' );
3
  $De_Settings = unserialize(get_option('Tabs_R_default_Settings'));
4
  $PostId = $post->ID;
5
  $Settings = unserialize(get_post_meta( $PostId, 'Tabs_R_Settings', true));
8
  "tabs_sec_title" => $De_Settings['tabs_sec_title'],
9
  "show_tabs_title_icon" => $De_Settings['show_tabs_title_icon'],
10
  "show_tabs_icon_align" => $De_Settings['show_tabs_icon_align'],
11
+ "enable_tabs_border" => $De_Settings['enable_tabs_border'],
12
+ "tabs_title_bg_clr" => $De_Settings['tabs_title_bg_clr'],
13
  "tabs_title_icon_clr" => $De_Settings['tabs_title_icon_clr'],
14
  "select_tabs_title_bg_clr" => $De_Settings['select_tabs_title_bg_clr'],
15
  "select_tabs_title_icon_clr" => $De_Settings['select_tabs_title_icon_clr'],
16
  "tabs_desc_bg_clr" => $De_Settings['tabs_desc_bg_clr'],
17
+ "tabs_desc_font_clr" => $De_Settings['tabs_desc_font_clr'],
18
+ "title_size" => $De_Settings['title_size'],
19
+ "des_size" => $De_Settings['des_size'],
20
+ "font_family" => $De_Settings['font_family'],
21
+ "tabs_styles" =>$De_Settings['tabs_styles'],
22
  "custom_css" =>$De_Settings['custom_css'],
23
  "tabs_animation" =>$De_Settings['tabs_animation'],
24
  "tabs_alignment" =>$De_Settings['tabs_alignment'],
54
  }
55
  });
56
 
57
+ jQuery( "#title_size_id" ).slider("value",<?php echo esc_html($title_size); ?> );
58
  jQuery( "#title_size" ).val( jQuery( "#title_size_id" ).slider( "value") );
59
 
60
  });
73
  }
74
  });
75
 
76
+ jQuery( "#des_size_id" ).slider("value",<?php echo esc_html($des_size); ?>);
77
  jQuery( "#des_size" ).val( jQuery( "#des_size_id" ).slider( "value") );
78
 
79
  });
126
  }
127
 
128
  ?>
129
+ <input type="hidden" name="wpsm_tabs_security" value="<?php echo esc_attr( $wpsm_nonce ); ?>">
130
  <input type="hidden" id="tabs_setting_save_action" name="tabs_setting_save_action" value="tabs_setting_save_action">
131
 
132
  <table class="form-table acc_table">
143
  <span class="switch-selection"></span>
144
  </div>
145
  <!-- Tooltip -->
146
+ <a class="ac_tooltip" href="#help" data-tooltip="#tab_r_sec_title_tp"><?php esc_html_e('help',wpshopmart_tabs_r_text_domain); ?></a>
147
  <div id="tab_r_sec_title_tp" style="display:none;">
148
  <div style="color:#fff !important;padding:10px;">
149
  <h2 style="color:#fff !important;"><?php _e('Display Tabs Section Title ',wpshopmart_tabs_r_text_domain); ?></h2>
150
+ <img src="<?php echo esc_url(wpshopmart_tabs_r_directory_url.'assets/tooltip/img/sec-title.png'); ?>">
151
  </div>
152
  </div>
153
  </td>
156
  <tr>
157
  <th scope="row"><label><?php _e('Display Option For Title and icon ',wpshopmart_tabs_r_text_domain); ?></label></th>
158
  <td>
159
+ <span style="display:block;margin-bottom:10px"><input type="radio" name="show_tabs_title_icon" id="show_tabs_title_icon" value="1" <?php if($show_tabs_title_icon == '1' ) { echo "checked"; } ?> /> <?php esc_html_e('Show Tabs Title + Icon (both)',wpshopmart_tabs_r_text_domain); ?> </span>
160
+ <span style="display:block;margin-bottom:10px"><input type="radio" name="show_tabs_title_icon" id="show_tabs_title_icon" value="2" <?php if($show_tabs_title_icon == '2' ) { echo "checked"; } ?> /> <?php esc_html_e('Show Only Tabs Title',wpshopmart_tabs_r_text_domain); ?> </span>
161
+ <span style="display:block;margin-bottom:10px"><input type="radio" name="show_tabs_title_icon" id="show_tabs_title_icon" value="3" <?php if($show_tabs_title_icon == '3' ) { echo "checked"; } ?> /> <?php esc_html_e('Show Only Icon',wpshopmart_tabs_r_text_domain); ?> </span>
162
 
163
  <!-- Tooltip -->
164
+ <a class="ac_tooltip" href="#help" data-tooltip="#tabs_r_title_icon_tp"><?php esc_html_e('help',wpshopmart_tabs_r_text_domain); ?></a>
165
  <div id="tabs_r_title_icon_tp" style="display:none;">
166
  <div style="color:#fff !important;padding:10px;">
167
  <h2 style="color:#fff !important;"><?php _e('Display Tabs Title And Icon ',wpshopmart_tabs_r_text_domain); ?></h2>
168
+ <img src="<?php echo esc_url(wpshopmart_tabs_r_directory_url.'assets/tooltip/img/tab-title.png'); ?>">
169
  <br>
170
 
171
+ <img src="<?php echo esc_url(wpshopmart_tabs_r_directory_url.'assets/tooltip/img/tab-icon.png'); ?>">
172
 
173
  </div>
174
  </div>
178
  <tr>
179
  <th scope="row"><label><?php _e('Tabs Icon Position Alignment',wpshopmart_tabs_r_text_domain); ?></label></th>
180
  <td>
181
+ <span style="display:block;margin-bottom:10px"><input type="radio" name="show_tabs_icon_align" id="show_tabs_icon_align" value="left" <?php if($show_tabs_icon_align == 'left' ) { echo "checked"; } ?> /> <?php esc_html_e('Before Tab Title',wpshopmart_tabs_r_text_domain); ?> </span>
182
+ <span style="display:block;margin-bottom:10px"><input type="radio" name="show_tabs_icon_align" id="show_tabs_icon_align" value="right" <?php if($show_tabs_icon_align == 'right' ) { echo "checked"; } ?> /> <?php esc_html_e('After Tab Title',wpshopmart_tabs_r_text_domain); ?> </span>
183
  <!-- Tooltip -->
184
+ <a class="ac_tooltip" href="#help" data-tooltip="#tabs_r_title_icon_align_tp"><?php esc_html_e('help',wpshopmart_tabs_r_text_domain); ?></a>
185
  <div id="tabs_r_title_icon_align_tp" style="display:none;">
186
  <div style="color:#fff !important;padding:10px;">
187
  <h2 style="color:#fff !important;"><?php _e('Align your Tab Icon Position before title or after title',wpshopmart_tabs_r_text_domain); ?></h2>
201
  <span class="switch-selection"></span>
202
  </div>
203
  <!-- Tooltip -->
204
+ <a class="ac_tooltip" href="#enable_ac_border_tp" data-tooltip="#enable_tabs_r_border_tp"><?php esc_html_e('help',wpshopmart_tabs_r_text_domain); ?></a>
205
  <div id="enable_tabs_r_border_tp" style="display:none;">
206
  <div style="color:#fff !important;padding:10px;">
207
  <h2 style="color:#fff !important;"><?php _e('Display Or Hide Tabs Border Here',wpshopmart_tabs_r_text_domain); ?></h2>
213
  <tr>
214
  <th scope="row"><label><?php _e('Tabs Styles',wpshopmart_tabs_r_text_domain); ?></label></th>
215
  <td>
216
+ <span style="display:block;margin-bottom:10px"><input type="radio" name="tabs_styles" id="tabs_styles" value="1" <?php if($tabs_styles == '1' ) { echo "checked"; } ?> /> <?php esc_html_e('Default',wpshopmart_tabs_r_text_domain); ?> </span>
217
+ <span style="display:block;margin-bottom:10px"><input type="radio" name="tabs_styles" id="tabs_styles" value="2" <?php if($tabs_styles == '2' ) { echo "checked"; } ?> /> <?php esc_html_e('Soft',wpshopmart_tabs_r_text_domain); ?> </span>
218
+ <span style="display:block"><input type="radio" name="tabs_styles" id="tabs_styles" value="3" <?php if($tabs_styles == '3' ) { echo "checked"; } ?> /> <?php esc_html_e('Noise',wpshopmart_tabs_r_text_domain); ?> </span>
219
  <!-- Tooltip -->
220
+ <a class="ac_tooltip" href="#help" data-tooltip="#tabs_r_styles_tp"><?php esc_html_e('help',wpshopmart_tabs_r_text_domain); ?></a>
221
  <div id="tabs_r_styles_tp" style="display:none;">
222
  <div style="color:#fff !important;padding:10px;">
223
  <h2 style="color:#fff !important;"><?php _e('Tab Styles',wpshopmart_tabs_r_text_domain); ?></h2>
224
+ <img src="<?php echo esc_url(wpshopmart_tabs_r_directory_url.'assets/tooltip/img/tab-title.png'); ?>">
225
+ <img src="<?php echo esc_url(wpshopmart_tabs_r_directory_url.'assets/tooltip/img/soft.png'); ?>">
226
  <br>
227
+ <img src="<?php echo esc_url(wpshopmart_tabs_r_directory_url.'assets/tooltip/img/noise.png'); ?>">
228
  </div>
229
  </div>
230
+ <div style="margin-top:10px;display:block;overflow:hidden;width:100%;"> <a style="margin-top:10px" href="http://wpshopmart.com/plugins/tabs-pro-plugin/" target="_balnk"><?php esc_html_e('Unlock 2 More Overlays Styles In Premium Version',wpshopmart_tabs_r_text_domain); ?></a> </div>
231
 
232
  </td>
233
  </tr>
235
  <tr >
236
  <th scope="row"><label><?php _e('Tabs Title Background Colour',wpshopmart_tabs_r_text_domain); ?></label></th>
237
  <td>
238
+ <input id="tabs_title_bg_clr" name="tabs_title_bg_clr" type="text" value="<?php echo esc_attr($tabs_title_bg_clr); ?>" class="my-color-field" data-default-color="#e8e8e8" />
239
  <!-- Tooltip -->
240
+ <a class="ac_tooltip" href="#help" data-tooltip="#tabs_r_title_bg_clr_tp"><?php esc_html_e('help',wpshopmart_tabs_r_text_domain); ?></a>
241
  <div id="tabs_r_title_bg_clr_tp" style="display:none;">
242
  <div style="color:#fff !important;padding:10px;">
243
  <h2 style="color:#fff !important;"><?php _e('Tabs Title Background Colour',wpshopmart_tabs_r_text_domain); ?></h2>
244
+ <img src="<?php echo esc_url(wpshopmart_tabs_r_directory_url.'assets/tooltip/img/tabs-bg.png'); ?>">
245
  </div>
246
  </div>
247
  </td>
250
  <tr >
251
  <th scope="row"><label><?php _e('Tabs Title/Icon Font Colour',wpshopmart_tabs_r_text_domain); ?></label></th>
252
  <td>
253
+ <input id="tabs_title_icon_clr" name="tabs_title_icon_clr" type="text" value="<?php echo esc_attr($tabs_title_icon_clr); ?>" class="my-color-field" data-default-color="#ffffff" />
254
  <!-- Tooltip -->
255
+ <a class="ac_tooltip" href="#help" data-tooltip="#tabs_r_title_icon_clr_tp"><?php esc_html_e('help',wpshopmart_tabs_r_text_domain); ?></a>
256
  <div id="tabs_r_title_icon_clr_tp" style="display:none;">
257
  <div style="color:#fff !important;padding:10px;">
258
  <h2 style="color:#fff !important;"><?php _e('Tabs Title/Icon Font Colour',wpshopmart_tabs_r_text_domain); ?></h2>
259
+ <img src="<?php echo esc_url(wpshopmart_tabs_r_directory_url.'assets/tooltip/img/tabs-ft-color.png'); ?>">
260
  </div>
261
  </div>
262
  </td>
266
  <tr >
267
  <th scope="row"><label><?php _e('Selected Tabs Title Background Colour',wpshopmart_tabs_r_text_domain); ?></label></th>
268
  <td>
269
+ <input id="select_tabs_title_bg_clr" name="select_tabs_title_bg_clr" type="text" value="<?php echo esc_attr($select_tabs_title_bg_clr); ?>" class="my-color-field" data-default-color="#e8e8e8" />
270
  <!-- Tooltip -->
271
+ <a class="ac_tooltip" href="#help" data-tooltip="#tabs_r_sel_bg_clr_tp"><?php esc_html_e('help',wpshopmart_tabs_r_text_domain); ?></a>
272
  <div id="tabs_r_sel_bg_clr_tp" style="display:none;">
273
  <div style="color:#fff !important;padding:10px;">
274
  <h2 style="color:#fff !important;"><?php _e('Selected/Open Tabs Title Background Colour',wpshopmart_tabs_r_text_domain); ?></h2>
275
+ <img src="<?php echo esc_url(wpshopmart_tabs_r_directory_url.'assets/tooltip/img/sel-tab-color.png'); ?>">
276
  </div>
277
  </div>
278
  </td>
281
  <tr >
282
  <th scope="row"><label><?php _e('Selected Tabs Title/Icon Font Colour',wpshopmart_tabs_r_text_domain); ?></label></th>
283
  <td>
284
+ <input id="select_tabs_title_icon_clr" name="select_tabs_title_icon_clr" type="text" value="<?php echo esc_attr($select_tabs_title_icon_clr); ?>" class="my-color-field" data-default-color="#ffffff" />
285
  <!-- Tooltip -->
286
+ <a class="ac_tooltip" href="#help" data-tooltip="#tabs_r_sel_icon_clr_tp"><?php esc_html_e('help',wpshopmart_tabs_r_text_domain); ?></a>
287
  <div id="tabs_r_sel_icon_clr_tp" style="display:none;">
288
  <div style="color:#fff !important;padding:10px;">
289
  <h2 style="color:#fff !important;"><?php _e('Selected/Open Tabs Title/Icon Font Colour',wpshopmart_tabs_r_text_domain); ?></h2>
290
+ <img src="<?php echo esc_url(wpshopmart_tabs_r_directory_url.'assets/tooltip/img/tabs-ft-color.png'); ?>">
291
  </div>
292
  </div>
293
  </td>
296
  <tr >
297
  <th scope="row"><label><?php _e('Tabs Description Background Colour',wpshopmart_tabs_r_text_domain); ?></label></th>
298
  <td>
299
+ <input id="tabs_desc_bg_clr" name="tabs_desc_bg_clr" type="text" value="<?php echo esc_attr($tabs_desc_bg_clr); ?>" class="my-color-field" data-default-color="#ffffff" />
300
  <!-- Tooltip -->
301
+ <a class="ac_tooltip" href="#help" data-tooltip="#tabs_r_desc_bg_clr_tp"><?php esc_html_e('help',wpshopmart_tabs_r_text_domain); ?></a>
302
  <div id="tabs_r_desc_bg_clr_tp" style="display:none;">
303
  <div style="color:#fff !important;padding:10px;">
304
  <h2 style="color:#fff !important;"><?php _e('Tabs Description Background Colour',wpshopmart_tabs_r_text_domain); ?></h2>
305
+ <img src="<?php echo esc_url(wpshopmart_tabs_r_directory_url.'assets/tooltip/img/desc-bg-color.png'); ?>">
306
  </div>
307
  </div>
308
  </td>
311
  <tr >
312
  <th scope="row"><label><?php _e('Tabs Description Font Colour',wpshopmart_tabs_r_text_domain); ?></label></th>
313
  <td>
314
+ <input id="tabs_desc_font_clr" name="tabs_desc_font_clr" type="text" value="<?php echo esc_attr($tabs_desc_font_clr); ?>" class="my-color-field" data-default-color="#000000" />
315
  <!-- Tooltip -->
316
+ <a class="ac_tooltip" href="#help" data-tooltip="#tabs_r_desc_font_clr_tp"><?php esc_html_e('help',wpshopmart_tabs_r_text_domain); ?></a>
317
  <div id="tabs_r_desc_font_clr_tp" style="display:none;">
318
  <div style="color:#fff !important;padding:10px;">
319
  <h2 style="color:#fff !important;"><?php _e('Tabs Description Font Colour',wpshopmart_tabs_r_text_domain); ?></h2>
320
+ <img src="<?php echo esc_url(wpshopmart_tabs_r_directory_url.'assets/tooltip/img/noise.png'); ?>">
321
  </div>
322
  </div>
323
  </td>
329
  <div id="title_size_id" class="size-slider" ></div>
330
  <input type="text" class="slider-text" id="title_size" name="title_size" readonly="readonly">
331
  <!-- Tooltip -->
332
+ <a class="ac_tooltip" href="#help" data-tooltip="#title_size_tp"><?php esc_html_e('help',wpshopmart_tabs_r_text_domain); ?></a>
333
  <div id="title_size_tp" style="display:none;">
334
  <div style="color:#fff !important;padding:10px;max-width: 300px;">
335
+ <h2 style="color:#fff !important;"><?php esc_html_e('You can update Tabs Title and Icon Font Size from here. Just Scroll it to change size.',wpshopmart_tabs_r_text_domain); ?></h2>
336
  </div>
337
  </div>
338
  </td>
344
  <div id="des_size_id" class="size-slider" ></div>
345
  <input type="text" class="slider-text" id="des_size" name="des_size" readonly="readonly">
346
  <!-- Tooltip -->
347
+ <a class="ac_tooltip" href="#help" data-tooltip="#des_size_tp"><?php esc_html_e('help',wpshopmart_tabs_r_text_domain); ?></a>
348
  <div id="des_size_tp" style="display:none;">
349
  <div style="color:#fff !important;padding:10px;max-width: 300px;">
350
+ <h2 style="color:#fff !important;"><?php esc_html_e('You can update Tabs Description/content Font Size from here. Just Scroll it to change size.',wpshopmart_tabs_r_text_domain); ?></h2>
351
 
352
  </div>
353
  </div>
358
  <td>
359
  <select name="font_family" id="font_family" class="standard-dropdown" style="width:100%" >
360
  <optgroup label="Default Fonts">
361
+ <option value="Arial" <?php if($font_family == 'Arial' ) { echo "selected"; } ?>><?php esc_html_e('Arial',wpshopmart_tabs_r_text_domain); ?></option>
362
+ <option value="Arial Black" <?php if($font_family == 'Arial Black' ) { echo "selected"; } ?>><?php esc_html_e('Arial Black',wpshopmart_tabs_r_text_domain); ?></option>
363
+ <option value="Courier New" <?php if($font_family == 'Courier New' ) { echo "selected"; } ?>><?php esc_html_e('Courier New',wpshopmart_tabs_r_text_domain); ?></option>
364
+ <option value="Georgia" <?php if($font_family == 'Georgia' ) { echo "selected"; } ?>><?php esc_html_e('Georgia',wpshopmart_tabs_r_text_domain); ?></option>
365
+ <option value="Grande" <?php if($font_family == 'Grande' ) { echo "selected"; } ?>><?php esc_html_e('Grande',wpshopmart_tabs_r_text_domain); ?></option>
366
+ <option value="Helvetica" <?php if($font_family == 'Helvetica' ) { echo "selected"; } ?>><?php esc_html_e('Helvetica Neue',wpshopmart_tabs_r_text_domain); ?></option>
367
+ <option value="Impact" <?php if($font_family == 'Impact' ) { echo "selected"; } ?>><?php esc_html_e('Impact',wpshopmart_tabs_r_text_domain); ?></option>
368
+ <option value="Lucida" <?php if($font_family == 'Lucida' ) { echo "selected"; } ?>><?php esc_html_e('Lucida',wpshopmart_tabs_r_text_domain); ?></option>
369
+ <option value="Lucida Grande" <?php if($font_family == 'Lucida Grande' ) { echo "selected"; } ?>><?php esc_html_e('Lucida Grande',wpshopmart_tabs_r_text_domain); ?></option>
370
+ <option value="Open Sans" <?php if($font_family == 'Open Sans' ) { echo "selected"; } ?>><?php esc_html_e('Open Sans',wpshopmart_tabs_r_text_domain); ?></option>
371
+ <option value="OpenSansBold" <?php if($font_family == 'OpenSansBold' ) { echo "selected"; } ?>><?php esc_html_e('OpenSansBold',wpshopmart_tabs_r_text_domain); ?></option>
372
+ <option value="Palatino Linotype" <?php if($font_family == 'Palatino Linotype' ) { echo "selected"; } ?>><?php esc_html_e('Palatino',wpshopmart_tabs_r_text_domain); ?></option>
373
+ <option value="Sans" <?php if($font_family == 'Sans' ) { echo "selected"; } ?>><?php esc_html_e('Sans',wpshopmart_tabs_r_text_domain); ?></option>
374
+ <option value="sans-serif" <?php if($font_family == 'sans-serif' ) { echo "selected"; } ?>><?php esc_html_e('Sans-Serif',wpshopmart_tabs_r_text_domain); ?></option>
375
+ <option value="Tahoma" <?php if($font_family == 'Tahoma' ) { echo "selected"; } ?>><?php esc_html_e('Tahoma',wpshopmart_tabs_r_text_domain); ?></option>
376
+ <option value="Times New Roman" <?php if($font_family == 'Times New Roman' ) { echo "selected"; } ?>><?php esc_html_e('Times New Roman',wpshopmart_tabs_r_text_domain); ?></option>
377
+ <option value="Trebuchet" <?php if($font_family == 'Trebuchet' ) { echo "selected"; } ?>><?php esc_html_e('Trebuchet',wpshopmart_tabs_r_text_domain); ?></option>
378
+ <option value="Verdana" <?php if($font_family == 'Verdana' ) { echo "selected"; } ?>><?php esc_html_e('Verdana',wpshopmart_tabs_r_text_domain); ?></option>
379
  </optgroup>
380
  </select>
381
  <!-- Tooltip -->
382
+ <a class="ac_tooltip" href="#help" data-tooltip="#font_family_tp"><?php esc_html_e('help',wpshopmart_tabs_r_text_domain); ?></a>
383
  <div id="font_family_tp" style="display:none;">
384
  <div style="color:#fff !important;padding:10px;max-width: 300px;">
385
+ <h2 style="color:#fff !important;"><?php esc_html_e('You can update Tabs Title and Description Font Family/Style from here. Select any one form these options.',wpshopmart_tabs_r_text_domain); ?></h2>
386
 
387
  </div>
388
  </div>
389
+ <div style="margin-top:10px;display:block;overflow:hidden;width:100%;"> <a style="margin-top:10px" href="http://wpshopmart.com/plugins/tabs-pro-plugin/" target="_balnk"><?php esc_html_e('Get 500+ Google Fonts In Premium Version',wpshopmart_tabs_r_text_domain); ?></a> </div>
390
 
391
  </td>
392
  </tr>
396
  <th><?php _e('Tabs Description Animation',wpshopmart_tabs_r_text_domain); ?> </th>
397
  <td>
398
  <select name="tabs_animation" id="tabs_animation" class="standard-dropdown" style="width:100%" >
399
+ <option value="fadeIn" <?php if($tabs_animation == 'fadeIn' ) { echo "selected"; } ?>><?php esc_html_e('Fade Animation',wpshopmart_tabs_r_text_domain); ?></option>
400
+ <option value="fadeInUp" <?php if($tabs_animation == 'fadeInUp' ) { echo "selected"; } ?>><?php esc_html_e('Fade In Up Animation',wpshopmart_tabs_r_text_domain); ?></option>
401
+ <option value="fadeInDown" <?php if($tabs_animation == 'fadeInDown' ) { echo "selected"; } ?>><?php esc_html_e('Fade In Down Animation',wpshopmart_tabs_r_text_domain); ?></option>
402
+ <option value="fadeInLeft" <?php if($tabs_animation == 'fadeInLeft' ) { echo "selected"; } ?>><?php esc_html_e('Fade In Left Animation',wpshopmart_tabs_r_text_domain); ?></option>
403
+ <option value="fadeInRight" <?php if($tabs_animation == 'fadeInRight' ) { echo "selected"; } ?>><?php esc_html_e('Fade In Right Animation',wpshopmart_tabs_r_text_domain); ?></option>
404
+ <option value="None" <?php if($tabs_animation == 'None' ) { echo "selected"; } ?>><?php esc_html_e('No Animation',wpshopmart_tabs_r_text_domain); ?></option>
405
+ <option value="flip" disabled <?php if($tabs_animation == 'flip' ) { echo "selected"; } ?> ><?php esc_html_e('flip (Available in Pro)',wpshopmart_tabs_r_text_domain); ?></option>
406
+ <option value="flipInX" disabled <?php if($tabs_animation == 'flipInX' ) { echo "selected"; } ?> ><?php esc_html_e('flipInX (Available in Pro)',wpshopmart_tabs_r_text_domain); ?></option>
407
+ <option value="flipInY" disabled <?php if($tabs_animation == 'flipInY' ) { echo "selected"; } ?> ><?php esc_html_e('flipInY (Available in Pro)',wpshopmart_tabs_r_text_domain); ?></option>
408
+ <option value="flipOutX" disabled <?php if($tabs_animation == 'flipOutX' ) { echo "selected"; } ?> ><?php esc_html_e('flipOutX (Available in Pro)',wpshopmart_tabs_r_text_domain); ?></option>
409
+ <option value="flipOutY" disabled <?php if($tabs_animation == 'flipOutY' ) { echo "selected"; } ?> ><?php esc_html_e('flipOutY (Available in Pro)',wpshopmart_tabs_r_text_domain); ?></option>
410
+ <option value="zoomIn" disabled <?php if($tabs_animation == 'zoomIn' ) { echo "selected"; } ?> ><?php esc_html_e('ZoomIn (Available in Pro)',wpshopmart_tabs_r_text_domain); ?></option>
411
+ <option value="zoomInLeft" disabled <?php if($tabs_animation == 'zoomInLeft' ) { echo "selected"; } ?> ><?php esc_html_e('ZoomInLeft (Available in Pro)',wpshopmart_tabs_r_text_domain); ?></option>
412
+ <option value="zoomInRight" disabled <?php if($tabs_animation == 'zoomInRight' ) { echo "selected"; } ?> ><?php esc_html_e('ZoomInRight (Available in Pro)',wpshopmart_tabs_r_text_domain); ?></option>
413
+ <option value="zoomInUp" disabled <?php if($tabs_animation == 'zoomInUp' ) { echo "selected"; } ?> ><?php esc_html_e('ZoomInUp (Available in Pro)',wpshopmart_tabs_r_text_domain); ?></option>
414
+ <option value="zoomInDown" disabled <?php if($tabs_animation == 'zoomInDown' ) { echo "selected"; } ?> ><?php esc_html_e('ZoomInDown (Available in Pro)',wpshopmart_tabs_r_text_domain); ?></option>
415
+ <option value="bounce" disabled <?php if($tabs_animation == 'bounce' ) { echo "selected"; } ?> ><?php esc_html_e('bounce (Available in Pro)',wpshopmart_tabs_r_text_domain); ?></option>
416
+ <option value="bounceIn" disabled <?php if($tabs_animation == 'bounceIn' ) { echo "selected"; } ?> ><?php esc_html_e('bounceIn (Available in Pro)',wpshopmart_tabs_r_text_domain); ?></option>
417
+ <option value="bounceInLeft" disabled <?php if($tabs_animation == 'bounceInLeft' ) { echo "selected"; } ?> ><?php esc_html_e('bounceInLeft (Available in Pro)',wpshopmart_tabs_r_text_domain); ?></option>
418
+ <option value="bounceInRight" disabled <?php if($tabs_animation == 'bounceInRight' ) { echo "selected"; } ?> ><?php esc_html_e('bounceInRight (Available in Pro)',wpshopmart_tabs_r_text_domain); ?></option>
419
+ <option value="bounceInUp" disabled <?php if($tabs_animation == 'bounceInUp' ) { echo "selected"; } ?> ><?php esc_html_e('bounceInUp (Available in Pro)',wpshopmart_tabs_r_text_domain); ?></option>
420
+ <option value="bounceInDown" disabled <?php if($tabs_animation == 'bounceInDown' ) { echo "selected"; } ?> ><?php esc_html_e('bounceInDown (Available in Pro)',wpshopmart_tabs_r_text_domain); ?></option>
421
+ <option value="flash" disabled <?php if($tabs_animation == 'flash' ) { echo "selected"; } ?> ><?php esc_html_e('flash (Available in Pro)',wpshopmart_tabs_r_text_domain); ?></option>
422
+ <option value="pulse" disabled <?php if($tabs_animation == 'pulse' ) { echo "selected"; } ?> ><?php esc_html_e('pulse (Available in Pro)',wpshopmart_tabs_r_text_domain); ?></option>
423
+ <option value="shake" disabled <?php if($tabs_animation == 'shake' ) { echo "selected"; } ?> ><?php esc_html_e('shake (Available in Pro)',wpshopmart_tabs_r_text_domain); ?></option>
424
+ <option value="swing" disabled <?php if($tabs_animation == 'swing' ) { echo "selected"; } ?> ><?php esc_html_e('swing (Available in Pro)',wpshopmart_tabs_r_text_domain); ?></option>
425
+ <option value="tada" disabled <?php if($tabs_animation == 'tada' ) { echo "selected"; } ?> ><?php esc_html_e('tada (Available in Pro)',wpshopmart_tabs_r_text_domain); ?></option>
426
+ <option value="wobble" disabled <?php if($tabs_animation == 'wobble' ) { echo "selected"; } ?> ><?php esc_html_e('wobble (Available in Pro)',wpshopmart_tabs_r_text_domain); ?></option>
427
+ <option value="lightSpeedIn" disabled <?php if($tabs_animation == 'lightSpeedIn' ) { echo "selected"; } ?> ><?php esc_html_e('lightSpeedIn (Available in Pro)',wpshopmart_tabs_r_text_domain); ?></option>
428
+ <option value="rollIn" disabled <?php if($tabs_animation == 'rollIn' ) { echo "selected"; } ?> ><?php esc_html_e('rollIn (Available in Pro)',wpshopmart_tabs_r_text_domain); ?></option>
429
+ <option value="slideInDown" disabled <?php if($tabs_animation == 'slideInDown' ) { echo "selected"; } ?> ><?php esc_html_e('slideInDown (Available in Pro)',wpshopmart_tabs_r_text_domain); ?></option>
430
+ <option value="slideInLeft" disabled <?php if($tabs_animation == 'slideInLeft' ) { echo "selected"; } ?> ><?php esc_html_e('slideInLeft (Available in Pro)',wpshopmart_tabs_r_text_domain); ?></option>
431
+ <option value="slideInRight" disabled <?php if($tabs_animation == 'slideInRight' ) { echo "selected"; } ?> ><?php esc_html_e('slideInRight (Available in Pro)',wpshopmart_tabs_r_text_domain); ?></option>
432
+ <option value="slideInUp" disabled <?php if($tabs_animation == 'slideInUp' ) { echo "selected"; } ?> ><?php esc_html_e('slideInUp (Available in Pro)',wpshopmart_tabs_r_text_domain); ?></option>
433
+ <option value="rotateIn" disabled <?php if($tabs_animation == 'rotateIn' ) { echo "selected"; } ?> ><?php esc_html_e('rotateIn (Available in Pro)',wpshopmart_tabs_r_text_domain); ?></option>
434
+ <option value="rotateInDownLeft" disabled <?php if($tabs_animation == 'rotateInDownLeft' ) { echo "selected"; } ?> ><?php esc_html_e('rotateInDownLeft (Available in Pro)',wpshopmart_tabs_r_text_domain); ?></option>
435
+ <option value="rotateInDownRight" disabled <?php if($tabs_animation == 'rotateInDownRight' ) { echo "selected"; } ?> ><?php esc_html_e('rotateInDownRight (Available in Pro)',wpshopmart_tabs_r_text_domain); ?></option>
436
+ <option value="rotateInUpLeft" disabled <?php if($tabs_animation == 'rotateInUpLeft' ) { echo "selected"; } ?> ><?php esc_html_e('rotateInUpLeft (Available in Pro)',wpshopmart_tabs_r_text_domain); ?></option>
437
+ <option value="rotateInUpRight" disabled <?php if($tabs_animation == 'rotateInUpRight' ) { echo "selected"; } ?> ><?php esc_html_e('rotateInUpRight (Available in Pro)',wpshopmart_tabs_r_text_domain); ?></option>
438
 
439
  </select>
440
  <!-- Tooltip -->
441
  <a class="ac_tooltip" href="#help" data-tooltip="#tabs_r_animation">help</a>
442
  <div id="tabs_r_animation" style="display:none;">
443
  <div style="color:#fff !important;padding:10px;max-width: 300px;">
444
+ <h2 style="color:#fff !important;"><?php esc_html_e('Animation your tabs content on click , select your animation form here',wpshopmart_tabs_r_text_domain); ?></h2>
445
  </div>
446
  </div>
447
+ <div style="margin-top:10px;display:block;overflow:hidden;width:100%;"> <a style="margin-top:10px" href="http://wpshopmart.com/plugins/tabs-pro-plugin/" target="_balnk"><?php esc_html_e('Unlock 25+ More Animation Effect In Premium Version',wpshopmart_tabs_r_text_domain); ?></a> </div>
448
 
449
  </td>
450
  </tr>
452
  <tr>
453
  <th scope="row"><label><?php _e('Tabs Alignment ',wpshopmart_tabs_r_text_domain); ?></label></th>
454
  <td>
455
+ <span style="display:block;margin-bottom:10px"><input type="radio" name="tabs_alignment" id="tabs_alignment" value="horizontal" <?php if($tabs_alignment == 'horizontal' ) { echo "checked"; } ?> /><?php esc_html_e('Horizontal',wpshopmart_tabs_r_text_domain); ?> </span>
456
+ <span style="display:block;margin-bottom:10px"><input type="radio" name="tabs_alignment" id="tabs_alignment" value="vertical" <?php if($tabs_alignment == 'vertical') { echo "checked"; } ?> /><?php esc_html_e('Vertical',wpshopmart_tabs_r_text_domain); ?> </span>
457
 
458
  <!-- Tooltip -->
459
+ <a class="ac_tooltip" href="#help" data-tooltip="#tabs_r_align"><?php esc_html_e('help',wpshopmart_tabs_r_text_domain); ?></a>
460
  <div id="tabs_r_align" style="display:none;">
461
  <div style="color:#fff !important;padding:10px;">
462
  <h2 style="color:#fff !important;"><?php _e('Align Your Tabs from here',wpshopmart_tabs_r_text_domain); ?></h2>
463
+ <img src="<?php echo esc_url(wpshopmart_tabs_r_directory_url.'assets/tooltip/img/margin-con-tab.png'); ?>">
464
 
465
  <br>
466
+ <img src="<?php echo esc_url(wpshopmart_tabs_r_directory_url.'assets/tooltip/img/vertical-left.png'); ?>">
467
 
468
  </div>
469
  </div>
481
  <span class="switch-selection"></span>
482
  </div>
483
  <!-- Tooltip -->
484
+ <a class="ac_tooltip" href="#help" data-tooltip="#tabs_r_pos"><?php esc_html_e('help',wpshopmart_tabs_r_text_domain); ?></a>
485
  <div id="tabs_r_pos" style="display:none;">
486
  <div style="color:#fff !important;padding:10px;">
487
  <h2 style="color:#fff !important;"><?php _e('Align Your Tabs position here ',wpshopmart_tabs_r_text_domain); ?></h2>
488
+ <img src="<?php echo esc_url(wpshopmart_tabs_r_directory_url.'assets/tooltip/img/vertical-left.png'); ?>">
489
  <br>
490
+ <img src="<?php echo esc_url(wpshopmart_tabs_r_directory_url.'assets/tooltip/img/vertical-right.png'); ?>">
491
  </div>
492
  </div>
493
  </td>
504
  <span class="switch-selection"></span>
505
  </div>
506
  <!-- Tooltip -->
507
+ <a class="ac_tooltip" href="#help" data-tooltip="#tabs_r_2_margin"><?php esc_html_e('help',wpshopmart_tabs_r_text_domain); ?></a>
508
  <div id="tabs_r_2_margin" style="display:none;">
509
  <div style="color:#fff !important;padding:10px;">
510
  <h2 style="color:#fff !important;"><?php _e('Margin Between Two Tabs ',wpshopmart_tabs_r_text_domain); ?></h2>
511
+ <img src="<?php echo esc_url(wpshopmart_tabs_r_directory_url.'assets/tooltip/img/margin-2-tab.png'); ?>">
512
  </div>
513
  </div>
514
  </td>
525
  <span class="switch-selection"></span>
526
  </div>
527
  <!-- Tooltip -->
528
+ <a class="ac_tooltip" href="#help" data-tooltip="#tabs_r_con_marg"><?php esc_html_e('help',wpshopmart_tabs_r_text_domain); ?></a>
529
  <div id="tabs_r_con_marg" style="display:none;">
530
  <div style="color:#fff !important;padding:10px;">
531
  <h2 style="color:#fff !important;"><?php _e('Margin Between Tabs And Content',wpshopmart_tabs_r_text_domain); ?></h2>
532
+ <img src="<?php echo esc_url(wpshopmart_tabs_r_directory_url.'assets/tooltip/img/margin-con-tab.png'); ?>">
533
  </div>
534
  </div>
535
  </td>
537
  <tr>
538
  <th scope="row"><label><?php _e('Tabs Mobile display Settings',wpshopmart_tabs_r_text_domain); ?></label></th>
539
  <td>
540
+ <span style="display:block;margin-bottom:10px"><input type="radio" name="tabs_display_on_mob" id="tabs_display_on_mob" value="1" <?php if($tabs_display_on_mob == '1' ) { echo "checked"; } ?> /> <?php esc_html_e('Display Both Title + Icon',wpshopmart_tabs_r_text_domain); ?> </span>
541
+ <span style="display:block;margin-bottom:10px"><input type="radio" name="tabs_display_on_mob" id="tabs_display_on_mob" value="2" <?php if($tabs_display_on_mob == '2' ) { echo "checked"; } ?> /> <?php esc_html_e('Display only Icon',wpshopmart_tabs_r_text_domain); ?> </span>
542
+ <span style="display:block"><input type="radio" name="tabs_display_on_mob" id="tabs_display_on_mob" value="3" <?php if($tabs_display_on_mob == '3' ) { echo "checked"; } ?> /> <?php esc_html_e('Display Only Title',wpshopmart_tabs_r_text_domain); ?> </span>
543
  <!-- Tooltip -->
544
+ <a class="ac_tooltip" href="#help" data-tooltip="#tabs_display_on_mob_tp"><?php esc_html_e('help',wpshopmart_tabs_r_text_domain); ?></a>
545
  <div id="tabs_display_on_mob_tp" style="display:none;">
546
  <div style="color:#fff !important;padding:10px;">
547
  <h2 style="color:#fff !important;"><?php _e('Hide/display your icon and title on mobile and tablets',wpshopmart_tabs_r_text_domain); ?></h2>
554
  <tr>
555
  <th scope="row"><label><?php _e('Title Display Mode In Mobile',wpshopmart_tabs_r_text_domain); ?></label></th>
556
  <td>
557
+ <span style="display:block;margin-bottom:10px"><input type="radio" name="tabs_display_mode_mob" id="tabs_display_mode_mob" value="1" <?php if($tabs_display_mode_mob == '1' ) { echo "checked"; } ?> /> <?php esc_html_e('Display As a tabs',wpshopmart_tabs_r_text_domain); ?> </span>
558
+ <span style="display:block;margin-bottom:10px"><input type="radio" name="tabs_display_mode_mob" id="tabs_display_mode_mob" value="2" <?php if($tabs_display_mode_mob == '2' ) { echo "checked"; } ?> /> <?php esc_html_e('Display As A vertical Button',wpshopmart_tabs_r_text_domain); ?> </span>
559
  <!-- Tooltip -->
560
+ <a class="ac_tooltip" href="#help" data-tooltip="#tabs_display_mode_mob_tp"><?php esc_html_e('help',wpshopmart_tabs_r_text_domain); ?></a>
561
  <div id="tabs_display_mode_mob_tp" style="display:none;">
562
  <div style="color:#fff !important;padding:10px;">
563
  <h2 style="color:#fff !important;"><?php _e('Display Your Title as Vrtical Button or as tabs in Mobile',wpshopmart_tabs_r_text_domain); ?></h2>
564
+ <img src="<?php echo esc_url(wpshopmart_tabs_r_directory_url.'assets/tooltip/img/noise.png'); ?>">
565
 
566
+ <img src="<?php echo esc_url(wpshopmart_tabs_r_directory_url.'assets/tooltip/img/as-a-button.png'); ?>">
567
  </div>
568
  </div>
569
  </td>
571
  <tr>
572
  <th scope="row"><label><?php _e('Tabs On Hover',wpshopmart_tabs_r_text_domain); ?></label></th>
573
  <td>
574
+ <img style="width:100px; "class="wpsm_img_responsive" src="<?php echo esc_url(wpshopmart_tabs_r_directory_url.'assets/images/snap.png'); ?>" />
575
  <br />
576
+ <a style="margin-top:10px" href="http://wpshopmart.com/plugins/tabs-pro-plugin/" target="_balnk"><?php esc_html_e('Available In Premium Version',wpshopmart_tabs_r_text_domain); ?></a>
577
  </td>
578
  </tr>
579
 
580
  <tr>
581
  <th scope="row"><label><?php _e('',wpshopmart_tabs_r_text_domain); ?></label></th>
582
  <td>
583
+ <img class="wpsm_img_responsive" src="<?php echo esc_url(wpshopmart_tabs_r_directory_url.'assets/images/more-setting.jpg'); ?>" />
584
  <br />
585
+ <a style="margin-top:10px" href="http://wpshopmart.com/plugins/tabs-pro-plugin/" target="_balnk"><?php esc_html_e('Available In Premium Version',wpshopmart_tabs_r_text_domain); ?></a>
586
  </td>
587
  </tr>
588
  <script>
ink/install/installation.php CHANGED
@@ -5,6 +5,7 @@ function wpsm_tabs_r_front_script() {
5
  wp_enqueue_style('wpsm_tabs_r_bootstrap-front', wpshopmart_tabs_r_directory_url.'assets/css/bootstrap-front.css');
6
  wp_enqueue_style('wpsm_tabs_r_animate', wpshopmart_tabs_r_directory_url.'assets/css/animate.css');
7
  wp_enqueue_script('jquery');
 
8
  wp_enqueue_script( 'wpsm_tabs_r_bootstrap-js-front', wpshopmart_tabs_r_directory_url.'assets/js/bootstrap.js', array(), '', true );
9
 
10
  }
@@ -58,7 +59,7 @@ function wpsm_tabs_r_editor_popup_content() {
58
  }
59
  </style>
60
  <div id="TABS_R" style="display:none;">
61
- <h3>Select Tabs To Insert Into Post</h3>
62
  <?php
63
 
64
  $all_posts = wp_count_posts( 'tabs_responsive')->publish;
@@ -70,7 +71,7 @@ function wpsm_tabs_r_editor_popup_content() {
70
  <?php
71
  while ( $All_rac->have_posts() ) : $All_rac->the_post(); ?>
72
  <?php $title = get_the_title(); ?>
73
- <option value="<?php echo get_the_ID(); ?>"><?php if (strlen($title) == 0) echo 'No Title Found'; else echo $title; ?></option>
74
  <?php
75
  endwhile;
76
  ?>
@@ -113,12 +114,12 @@ function wpsm_tabs_r_review() {
113
  ?>
114
  <div class="notice notice-info is-dismissible wpsm-tabs-b-review-notice">
115
  <div style="float:left;margin-right:10px;margin-bottom:5px;">
116
- <img style="width:100%;width: 120px;height: auto;" src="<?php echo wpshopmart_tabs_r_directory_url.'assets/images/show-icon.png'; ?>" />
117
  </div>
118
- <p style="font-size:18px;">'Hi! We saw you have been using <strong>Tabs Responsive plugin</strong> for a few days and wanted to ask for your help to <strong>make the plugin better</strong>.We just need a minute of your time to rate the plugin. Thank you!</p>
119
  <p style="font-size:18px;"><strong><?php _e( '~ wpshopmart', '' ); ?></strong></p>
120
  <p style="font-size:19px;">
121
- <a style="color: #fff;background: #ef4238;padding: 5px 7px 4px 6px;border-radius: 4px;" href="https://wordpress.org/support/plugin/tabs-responsive/reviews/?filter=5#new-post" class="wpsm-tabs-b-dismiss-review-notice wpsm-tabs-b-review-out" target="_blank" rel="noopener">Rate the plugin</a>&nbsp; &nbsp;
122
  <a style="color: #fff;background: #27d63c;padding: 5px 7px 4px 6px;border-radius: 4px;" href="#" class="wpsm-tabs-b-dismiss-review-notice wpsm-rate-later" target="_self" rel="noopener"><?php _e( 'Nope, maybe later', '' ); ?></a>&nbsp; &nbsp;
123
  <a style="color: #fff;background: #31a3dd;padding: 5px 7px 4px 6px;border-radius: 4px;" href="#" class="wpsm-tabs-b-dismiss-review-notice wpsm-rated" target="_self" rel="noopener"><?php _e( 'I already did', '' ); ?></a>
124
  <a style=" color: #fff;
@@ -235,7 +236,7 @@ function wpsm_tabs_respnsive_header_info() {
235
  .texture-layer {
236
  background: rgba(0,0,0,0);
237
  padding-top: 0px;
238
- padding: 0px 0 23px 0;
239
  }
240
  .wpsm_ac_h_i ul{
241
  padding:0px 0px 0px 0px;
@@ -285,65 +286,65 @@ function wpsm_tabs_respnsive_header_info() {
285
 
286
 
287
  <div class="wpsm_ac_h_i ">
288
- <div class="texture-layer">
289
  <div class="col-md-3">
290
- <img src="<?php echo wpshopmart_tabs_r_directory_url.'assets/images/tab-intro.jpg'; ?>" class="img-responsive"/>
291
 
292
  </div>
293
 
294
 
295
 
296
- <div class="col-md-9">
297
- <div class="wpsm_ac_h_b col-md-6" style="text-align:left">
298
- <a class="btn btn-danger btn-lg " href="https://wpshopmart.com/plugins/tabs-pro-plugin/" target="_blank">Get Pro Version</a><a class="btn btn-success btn-lg " href="http://demo.wpshopmart.com/tabs-pro-plugin-demo-for-wordpress/" target="_blank">View Demo</a>
299
- </div>
300
- <div class="col-md-6" style="text-align:left">
301
- <h1 style="color:#fff;font-size:34px;font-weight:800;line-height:1.4">Tabs Pro Plugin Features</h1>
302
- </div>
303
-
304
- <div class="col-md-12" style="padding-bottom:20px;">
305
- <a href="https://wpshopmart.com/plugins/tabs-pro-plugin/" target="_blank">
306
- <div class="col-md-3 pad-o">
307
- <ul>
308
- <li> <i class="fa fa-check"></i>20+ Design Templates </li>
309
- <li> <i class="fa fa-check"></i>30+ Content Animations </li>
310
- <li> <i class="fa fa-check"></i>Individual Color Scheme </li>
311
- <li> <i class="fa fa-check"></i>4 Overlay Effect </li>
312
- <li> <i class="fa fa-check"></i>500+ Google Fonts </li>
313
- </ul>
314
- </ul>
315
- </div>
316
- <div class="col-md-3 pad-o">
317
- <ul>
318
- <li> <i class="fa fa-check"></i>Customize Icon Position </li>
319
- <li> <i class="fa fa-check"></i>Custom Image icon </li>
320
- <li> <i class="fa fa-check"></i>Tabs on Hover </li>
321
- <li> <i class="fa fa-check"></i>Widget Option </li>
322
- <li> <i class="fa fa-check"></i>500+ Glyphicon Icons Support </li>
323
- </ul>
324
- </div>
325
- <div class="col-md-3 pad-o">
326
- <ul> <li> <i class="fa fa-check"></i>500+ Dashicons Icon Support </li>
327
- <li> <i class="fa fa-check"></i>1000+ Font Awesome Icon Support </li>
328
- <li> <i class="fa fa-check"></i>Tabs Custom Width </li>
329
- <li> <i class="fa fa-check"></i>Unlimited Shortcode </li>
330
-
331
- <li> <i class="fa fa-check"></i>Drag And Drop Builder </li>
332
-
333
- </ul>
334
- </div>
335
- <div class="col-md-3 pad-o">
336
- <ul> <li> <i class="fa fa-check"></i>Tabs Custom Height </li>
337
- <li> <i class="fa fa-check"></i>Border Color Customization </li>
338
- <li> <i class="fa fa-check"></i>Unlimited Color Scheme </li>
339
- <li> <i class="fa fa-check"></i>High Priority Support </li>
340
- <li> <i class="fa fa-check"></i>All Browser Compatible </li>
341
- </ul>
342
- </div>
343
- </a>
344
- </div>
345
 
 
 
 
 
 
 
 
 
 
 
 
 
 
346
  </div>
 
 
347
 
348
  </div>
349
 
5
  wp_enqueue_style('wpsm_tabs_r_bootstrap-front', wpshopmart_tabs_r_directory_url.'assets/css/bootstrap-front.css');
6
  wp_enqueue_style('wpsm_tabs_r_animate', wpshopmart_tabs_r_directory_url.'assets/css/animate.css');
7
  wp_enqueue_script('jquery');
8
+ wp_enqueue_script( 'wpsm_tabs_r_custom-js-front', wpshopmart_tabs_r_directory_url.'assets/js/tabs-custom.js', array(), '', true );
9
  wp_enqueue_script( 'wpsm_tabs_r_bootstrap-js-front', wpshopmart_tabs_r_directory_url.'assets/js/bootstrap.js', array(), '', true );
10
 
11
  }
59
  }
60
  </style>
61
  <div id="TABS_R" style="display:none;">
62
+ <h3><?php esc_html_e('Select Tabs To Insert Into Post',wpshopmart_tabs_r_text_domain); ?></h3>
63
  <?php
64
 
65
  $all_posts = wp_count_posts( 'tabs_responsive')->publish;
71
  <?php
72
  while ( $All_rac->have_posts() ) : $All_rac->the_post(); ?>
73
  <?php $title = get_the_title(); ?>
74
+ <option value="<?php echo get_the_ID(); ?>"><?php if (strlen($title) == 0) echo 'No Title Found'; else echo esc_html($title); ?></option>
75
  <?php
76
  endwhile;
77
  ?>
114
  ?>
115
  <div class="notice notice-info is-dismissible wpsm-tabs-b-review-notice">
116
  <div style="float:left;margin-right:10px;margin-bottom:5px;">
117
+ <img style="width:100%;width: 120px;height: auto;" src="<?php echo esc_url(wpshopmart_tabs_r_directory_url.'assets/images/show-icon.png'); ?>" />
118
  </div>
119
+ <p style="font-size:18px;"><?php esc_html_e('Hi! We saw you have been using ',wpshopmart_tabs_r_text_domain); ?><strong><?php esc_html_e('Tabs Responsive plugin',wpshopmart_tabs_r_text_domain); ?> </strong> <?php esc_html_e(' for a few days and wanted to ask for your help to ',wpshopmart_tabs_r_text_domain); ?> <strong> <?php esc_html_e('make the plugin better',wpshopmart_tabs_r_text_domain); ?></strong><?php esc_html_e(' We just need a minute of your time to rate the plugin. Thank you!',wpshopmart_tabs_r_text_domain); ?></p>
120
  <p style="font-size:18px;"><strong><?php _e( '~ wpshopmart', '' ); ?></strong></p>
121
  <p style="font-size:19px;">
122
+ <a style="color: #fff;background: #ef4238;padding: 5px 7px 4px 6px;border-radius: 4px;" href="https://wordpress.org/support/plugin/tabs-responsive/reviews/?filter=5#new-post" class="wpsm-tabs-b-dismiss-review-notice wpsm-tabs-b-review-out" target="_blank" rel="noopener"><?php esc_html_e('Rate the plugin',wpshopmart_tabs_r_text_domain); ?></a>&nbsp; &nbsp;
123
  <a style="color: #fff;background: #27d63c;padding: 5px 7px 4px 6px;border-radius: 4px;" href="#" class="wpsm-tabs-b-dismiss-review-notice wpsm-rate-later" target="_self" rel="noopener"><?php _e( 'Nope, maybe later', '' ); ?></a>&nbsp; &nbsp;
124
  <a style="color: #fff;background: #31a3dd;padding: 5px 7px 4px 6px;border-radius: 4px;" href="#" class="wpsm-tabs-b-dismiss-review-notice wpsm-rated" target="_self" rel="noopener"><?php _e( 'I already did', '' ); ?></a>
125
  <a style=" color: #fff;
236
  .texture-layer {
237
  background: rgba(0,0,0,0);
238
  padding-top: 0px;
239
+ padding: 0 0 0 15px;
240
  }
241
  .wpsm_ac_h_i ul{
242
  padding:0px 0px 0px 0px;
286
 
287
 
288
  <div class="wpsm_ac_h_i ">
289
+ <div class="row texture-layer">
290
  <div class="col-md-3">
291
+ <img src="<?php echo esc_url(wpshopmart_tabs_r_directory_url.'assets/images/tab-intro.jpg'); ?>" class="img-fluid"/>
292
 
293
  </div>
294
 
295
 
296
 
297
+ <div class="row col-md-9" style="margin-left: 4px;">
298
+ <div class="wpsm_ac_h_b col-md-6" style="text-align:left">
299
+ <a class="btn btn-danger btn-lg " href="https://wpshopmart.com/plugins/tabs-pro-plugin/" target="_blank"><?php esc_html_e('Get Pro Version',wpshopmart_tabs_r_text_domain); ?></a><a class="btn btn-success btn-lg " href="http://demo.wpshopmart.com/tabs-pro-plugin-demo-for-wordpress/" target="_blank"><?php esc_html_e('View Demo',wpshopmart_tabs_r_text_domain); ?></a>
300
+ </div>
301
+ <div class="col-md-6" style="text-align:left">
302
+ <h1 style="color:#fff;font-size:34px;font-weight:800;line-height:1.4"><?php esc_html_e('Tabs Pro Plugin Features',wpshopmart_tabs_r_text_domain); ?></h1>
303
+ </div>
304
+
305
+ <div class="row col-md-12" style="padding-bottom:20px;margin-left: 5px;">
306
+ <div class="col-md-3 pad-o">
307
+ <ul>
308
+ <li> <i class="fa fa-check"></i><?php esc_html_e('20+ Design Templates',wpshopmart_tabs_r_text_domain); ?> </li>
309
+ <li> <i class="fa fa-check"></i><?php esc_html_e('30+ Content Animations',wpshopmart_tabs_r_text_domain); ?> </li>
310
+ <li> <i class="fa fa-check"></i><?php esc_html_e('Individual Color Scheme',wpshopmart_tabs_r_text_domain); ?> </li>
311
+ <li> <i class="fa fa-check"></i><?php esc_html_e('4 Overlay Effect',wpshopmart_tabs_r_text_domain); ?> </li>
312
+ <li> <i class="fa fa-check"></i><?php esc_html_e('500+ Google Fonts',wpshopmart_tabs_r_text_domain); ?> </li>
313
+ </ul>
314
+ </ul>
315
+ </div>
316
+ <div class="col-md-3 pad-o">
317
+ <ul>
318
+ <li> <i class="fa fa-check"></i><?php esc_html_e('Customize Icon Position',wpshopmart_tabs_r_text_domain); ?> </li>
319
+ <li> <i class="fa fa-check"></i><?php esc_html_e('Custom Image icon',wpshopmart_tabs_r_text_domain); ?> </li>
320
+ <li> <i class="fa fa-check"></i><?php esc_html_e('Tabs on Hover',wpshopmart_tabs_r_text_domain); ?> </li>
321
+ <li> <i class="fa fa-check"></i><?php esc_html_e('Widget Option',wpshopmart_tabs_r_text_domain); ?> </li>
322
+ <li> <i class="fa fa-check"></i><?php esc_html_e('500+ Glyphicon Icons Support',wpshopmart_tabs_r_text_domain); ?> </li>
323
+ </ul>
324
+ </div>
325
+ <div class="col-md-3 pad-o">
326
+ <ul>
327
+ <li> <i class="fa fa-check"></i><?php esc_html_e('500+ Dashicons Icon Support',wpshopmart_tabs_r_text_domain); ?> </li>
328
+ <li> <i class="fa fa-check"></i><?php esc_html_e('1000+ Font Awesome Icon Support',wpshopmart_tabs_r_text_domain); ?> </li>
329
+ <li> <i class="fa fa-check"></i><?php esc_html_e('Tabs Custom Width',wpshopmart_tabs_r_text_domain); ?> </li>
330
+ <li> <i class="fa fa-check"></i><?php esc_html_e('Unlimited Shortcode',wpshopmart_tabs_r_text_domain); ?> </li>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
331
 
332
+ <li> <i class="fa fa-check"></i><?php esc_html_e('Drag And Drop Builder',wpshopmart_tabs_r_text_domain); ?> </li>
333
+
334
+ </ul>
335
+ </div>
336
+ <div class="col-md-3 pad-o">
337
+ <ul>
338
+ <li> <i class="fa fa-check"></i><?php esc_html_e('Tabs Custom Height',wpshopmart_tabs_r_text_domain); ?> </li>
339
+ <li> <i class="fa fa-check"></i><?php esc_html_e('Border Color Customization',wpshopmart_tabs_r_text_domain); ?> </li>
340
+ <li> <i class="fa fa-check"></i><?php esc_html_e('Unlimited Color Scheme',wpshopmart_tabs_r_text_domain); ?> </li>
341
+ <li> <i class="fa fa-check"></i><?php esc_html_e('High Priority Support',wpshopmart_tabs_r_text_domain); ?> </li>
342
+ <li> <i class="fa fa-check"></i><?php esc_html_e('All Browser Compatible',wpshopmart_tabs_r_text_domain); ?> </li>
343
+ </ul>
344
+ </div>
345
  </div>
346
+
347
+ </div>
348
 
349
  </div>
350
 
ink/widget/widget.php CHANGED
@@ -20,19 +20,19 @@ class Wpsm_Tabs_R_Widget extends WP_Widget {
20
  */
21
  public function widget( $args, $instance ) {
22
  $Title = apply_filters( 'wpsm_tabs_r_widget_title', $instance['Title'] );
23
- echo $args['before_widget'];
24
 
25
  $wpsm_tabs_r_id = apply_filters( 'wpsm_tabs_r_widget_shortcode', $instance['Shortcode'] );
26
 
27
  if(is_numeric($wpsm_tabs_r_id)) {
28
  if ( ! empty( $instance['Title'] ) ) {
29
- echo $args['before_title'] . apply_filters( 'widget_title', $instance['Title'] ). $args['after_title'];
30
  }
31
- echo do_shortcode( '[TABS_R id='.$wpsm_tabs_r_id.']' );
32
  } else {
33
  echo "<p>Sorry! No Tabs Shortcode Found.</p>";
34
  }
35
- echo $args['after_widget'];
36
  }
37
 
38
  /**
@@ -57,12 +57,12 @@ class Wpsm_Tabs_R_Widget extends WP_Widget {
57
  }
58
  ?>
59
  <p>
60
- <label for="<?php echo $this->get_field_id( 'Title' ); ?>"><?php _e( 'Widget Title' ); ?></label>
61
- <input class="widefat" id="<?php echo $this->get_field_id( 'Title' ); ?>" name="<?php echo $this->get_field_name( 'Title' ); ?>" type="text" value="<?php echo esc_attr( $Title ); ?>">
62
  </p>
63
 
64
  <p>
65
- <label for="<?php echo $this->get_field_id( 'Shortcode' ); ?>"><?php _e( 'Select Tabs' ); ?> (Required)</label>
66
  <?php
67
  /**
68
  * Get All Tabs Shortcode Custom Post Type
@@ -72,15 +72,15 @@ class Wpsm_Tabs_R_Widget extends WP_Widget {
72
  $All_Wpsm_Acsh = array('post_type' => $wpsm_ac_cpt, 'orderby' => 'ASC', 'post_status' => 'publish');
73
  $All_Wpsm_Acsh = new WP_Query( $All_Wpsm_Acsh );
74
  ?>
75
- <select id="<?php echo $this->get_field_id( 'Shortcode' ); ?>" name="<?php echo $this->get_field_name( 'Shortcode' ); ?>" style="width: 100%;">
76
- <option value="Select Any Tabs" <?php if($Shortcode == "Select Any Tabs") echo 'selected="selected"'; ?>>Select Any Tabs</option>
77
  <?php
78
  if( $All_Wpsm_Acsh->have_posts() ) { ?>
79
  <?php while ( $All_Wpsm_Acsh->have_posts() ) : $All_Wpsm_Acsh->the_post();
80
  $PostId = get_the_ID();
81
  $PostTitle = get_the_title($PostId);
82
  ?>
83
- <option value="<?php echo $PostId; ?>" <?php if($Shortcode == $PostId) echo 'selected="selected"'; ?>><?php if($PostTitle) echo $PostTitle; else _e("No Title", wpshopmart_tabs_r_text_domain); ?></option>
84
  <?php endwhile; ?>
85
  <?php
86
  } else {
20
  */
21
  public function widget( $args, $instance ) {
22
  $Title = apply_filters( 'wpsm_tabs_r_widget_title', $instance['Title'] );
23
+ echo wp_kses_post($args['before_widget']);
24
 
25
  $wpsm_tabs_r_id = apply_filters( 'wpsm_tabs_r_widget_shortcode', $instance['Shortcode'] );
26
 
27
  if(is_numeric($wpsm_tabs_r_id)) {
28
  if ( ! empty( $instance['Title'] ) ) {
29
+ echo wp_kses_post($args['before_title']) . apply_filters( 'widget_title', esc_html($instance['Title']) ). wp_kses_post($args['after_title']);
30
  }
31
+ echo do_shortcode( '[TABS_R id='.esc_html($wpsm_tabs_r_id).']' );
32
  } else {
33
  echo "<p>Sorry! No Tabs Shortcode Found.</p>";
34
  }
35
+ echo wp_kses_post($args['after_widget']);
36
  }
37
 
38
  /**
57
  }
58
  ?>
59
  <p>
60
+ <label for="<?php echo esc_attr($this->get_field_id( 'Title' )); ?>"><?php _e( 'Widget Title' ); ?></label>
61
+ <input class="widefat" id="<?php echo esc_attr($this->get_field_id( 'Title' )); ?>" name="<?php echo esc_attr($this->get_field_name( 'Title' )); ?>" type="text" value="<?php echo esc_attr( $Title ); ?>">
62
  </p>
63
 
64
  <p>
65
+ <label for="<?php echo esc_attr($this->get_field_id( 'Shortcode' )); ?>"><?php _e( 'Select Tabs' ); ?> (Required)</label>
66
  <?php
67
  /**
68
  * Get All Tabs Shortcode Custom Post Type
72
  $All_Wpsm_Acsh = array('post_type' => $wpsm_ac_cpt, 'orderby' => 'ASC', 'post_status' => 'publish');
73
  $All_Wpsm_Acsh = new WP_Query( $All_Wpsm_Acsh );
74
  ?>
75
+ <select id="<?php echo esc_attr($this->get_field_id( 'Shortcode' )); ?>" name="<?php echo esc_attr($this->get_field_name( 'Shortcode' )); ?>" style="width: 100%;">
76
+ <option value="Select Any Tabs" <?php if($Shortcode == "Select Any Tabs") echo 'selected="selected"'; ?>><?php esc_html_e('Select Any Tabs',wpshopmart_tabs_r_text_domain); ?></option>
77
  <?php
78
  if( $All_Wpsm_Acsh->have_posts() ) { ?>
79
  <?php while ( $All_Wpsm_Acsh->have_posts() ) : $All_Wpsm_Acsh->the_post();
80
  $PostId = get_the_ID();
81
  $PostTitle = get_the_title($PostId);
82
  ?>
83
+ <option value="<?php echo esc_attr($PostId); ?>" <?php if($Shortcode == $PostId) echo 'selected="selected"'; ?>><?php if($PostTitle) echo esc_html($PostTitle); else _e("No Title", wpshopmart_tabs_r_text_domain); ?></option>
84
  <?php endwhile; ?>
85
  <?php
86
  } else {
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: wpshopmart
3
  Donate link: https://wpshopmart.com/plugins/tabs-pro-plugin/
4
  Tags: tab, tabs, responsive tabs, animation, animated tab, css3 tabs, bootstrap tabs, tabs content, responsive, shortcode, widget, wordpress tabs, wp tabs, accordion, collapse, toggle, bootstrap tab, jquery, tab widget, tab shortcode, jquery tabs, sidebar, plugin, html, html5, html5 tabs
5
  Requires at least: 5.0
6
- Tested up to: 5.8
7
- Stable tag: 2.2.1
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -160,11 +160,13 @@ Please use WordPress support forum to ask any query regarding any issue.
160
 
161
  == Changelog ==
162
 
 
 
 
163
  = 2.2.1 =
164
  * minor issue resolved
165
  * Compatible with wordpress version 5.8
166
 
167
-
168
  = 2.2 =
169
  * minor bug resolved
170
  * Compatible with wordpress version 5.7.2
3
  Donate link: https://wpshopmart.com/plugins/tabs-pro-plugin/
4
  Tags: tab, tabs, responsive tabs, animation, animated tab, css3 tabs, bootstrap tabs, tabs content, responsive, shortcode, widget, wordpress tabs, wp tabs, accordion, collapse, toggle, bootstrap tab, jquery, tab widget, tab shortcode, jquery tabs, sidebar, plugin, html, html5, html5 tabs
5
  Requires at least: 5.0
6
+ Tested up to: 5.8.1
7
+ Stable tag: 2.2.2
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
160
 
161
  == Changelog ==
162
 
163
+ = 2.2.2 =
164
+ * Sanitization, Escaping and Nonce issue resolved
165
+
166
  = 2.2.1 =
167
  * minor issue resolved
168
  * Compatible with wordpress version 5.8
169
 
 
170
  = 2.2 =
171
  * minor bug resolved
172
  * Compatible with wordpress version 5.7.2
tabs-responsive.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * Plugin Name: Tabs Responsive
4
- * Version: 2.2.1
5
  * Description: Tabs Responsive is the most easiest drag & drop Tabs builder for WordPress. You can add unlimited Tabs with unlimited color Scheme.
6
  * Author: wpshopmart
7
  * Author URI: https://www.wpshopmart.com
1
  <?php
2
  /**
3
  * Plugin Name: Tabs Responsive
4
+ * Version: 2.2.2
5
  * Description: Tabs Responsive is the most easiest drag & drop Tabs builder for WordPress. You can add unlimited Tabs with unlimited color Scheme.
6
  * Author: wpshopmart
7
  * Author URI: https://www.wpshopmart.com
template/content.php CHANGED
@@ -58,18 +58,18 @@
58
  {
59
  ?>
60
  <?php if($tabs_sec_title == 'yes' ) { ?>
61
- <h3 style="margin-bottom:20px ;display:block;width:100%;margin-top:10px"><?php echo get_the_title( $post_id ); ?> </h3>
62
  <?php } ?>
63
  <style>
64
 
65
  <?php
66
  require('style.php');
67
 
68
- echo $custom_css; ?>
69
  </style>
70
- <div id="tab_container_<?php echo $post_id; ?>" >
71
 
72
- <ul class="wpsm_nav wpsm_nav-tabs" role="tablist" id="myTab_<?php echo $post_id; ?>">
73
  <?php
74
  foreach($tabs_data as $tabs_single_data)
75
  {
@@ -79,23 +79,23 @@
79
  $enable_single_icon = $tabs_single_data['enable_single_icon'];
80
  ?>
81
  <li role="presentation" <?php if($i==1){ ?> class="active" <?php } ?> >
82
- <a href="#tabs_desc_<?php echo $post_id; ?>_<?php echo $i; ?>" aria-controls="tabs_desc_<?php echo $post_id; ?>_<?php echo $i; ?>" role="tab" data-toggle="tab">
83
 
84
  <?php if($show_tabs_icon_align=="left"){ ?>
85
  <?php if($show_tabs_title_icon=="1" || $show_tabs_title_icon=="3") { ?>
86
- <?php if($enable_single_icon=="yes") { ?> <i class="fa <?php echo $tabs_title_icon; ?>"></i> <?php }?>
87
  <?php }
88
  } ?>
89
 
90
  <?php if($show_tabs_title_icon=="1" || $show_tabs_title_icon=="2") { ?>
91
 
92
- <span><?php echo $tabs_title; ?></span>
93
 
94
  <?php } ?>
95
 
96
  <?php if($show_tabs_icon_align=="right"){ ?>
97
  <?php if($show_tabs_title_icon=="1" || $show_tabs_title_icon=="3") { ?>
98
- <?php if($enable_single_icon=="yes") { ?> <i class="fa <?php echo $tabs_title_icon; ?>"></i> <?php }?>
99
  <?php }
100
  } ?>
101
 
@@ -107,7 +107,7 @@
107
  </ul>
108
 
109
  <!-- Tab panes -->
110
- <div class="tab-content" id="tab-content_<?php echo $post_id; ?>">
111
  <?php foreach($tabs_data as $tabs_single_data)
112
  {
113
  $tabs_title = $tabs_single_data['tabs_title'];
@@ -115,8 +115,8 @@
115
  $tabs_title_icon = $tabs_single_data['tabs_title_icon'];
116
  $enable_single_icon = $tabs_single_data['enable_single_icon'];
117
  ?>
118
- <div role="tabpanel" class="tab-pane <?php if($j==1){ ?> in active <?php } ?>" id="tabs_desc_<?php echo $post_id; ?>_<?php echo $j; ?>">
119
- <?php echo do_shortcode($tabs_desc); ?>
120
  </div>
121
  <?php $j++; } ?>
122
  </div>
@@ -124,15 +124,15 @@
124
  </div>
125
  <script>
126
  jQuery(function () {
127
- jQuery('#myTab_<?php echo $post_id; ?> a:first').tab('show')
128
  });
129
 
130
  <?php if($tabs_animation!="None") { ?>
131
  jQuery(function(){
132
- var b="<?php echo $tabs_animation ?>";
133
  var c;
134
  var a;
135
- d(jQuery("#myTab_<?php echo $post_id; ?> a"),jQuery("#tab-content_<?php echo $post_id; ?>"));function d(e,f,g){
136
  e.click(function(i){
137
  i.preventDefault();
138
  jQuery(this).tab("show");
58
  {
59
  ?>
60
  <?php if($tabs_sec_title == 'yes' ) { ?>
61
+ <h3 style="margin-bottom:20px ;display:block;width:100%;margin-top:10px"><?php echo get_the_title( esc_html($post_id) ); ?> </h3>
62
  <?php } ?>
63
  <style>
64
 
65
  <?php
66
  require('style.php');
67
 
68
+ echo esc_attr($custom_css); ?>
69
  </style>
70
+ <div id="tab_container_<?php echo esc_attr($post_id); ?>" >
71
 
72
+ <ul class="wpsm_nav wpsm_nav-tabs" role="tablist" id="myTab_<?php echo esc_attr($post_id); ?>">
73
  <?php
74
  foreach($tabs_data as $tabs_single_data)
75
  {
79
  $enable_single_icon = $tabs_single_data['enable_single_icon'];
80
  ?>
81
  <li role="presentation" <?php if($i==1){ ?> class="active" <?php } ?> >
82
+ <a href="#tabs_desc_<?php echo esc_attr($post_id); ?>_<?php echo esc_attr($i); ?>" aria-controls="tabs_desc_<?php echo esc_attr($post_id); ?>_<?php echo esc_attr($i); ?>" role="tab" data-toggle="tab">
83
 
84
  <?php if($show_tabs_icon_align=="left"){ ?>
85
  <?php if($show_tabs_title_icon=="1" || $show_tabs_title_icon=="3") { ?>
86
+ <?php if($enable_single_icon=="yes") { ?> <i class="fa <?php echo esc_attr($tabs_title_icon); ?>"></i> <?php }?>
87
  <?php }
88
  } ?>
89
 
90
  <?php if($show_tabs_title_icon=="1" || $show_tabs_title_icon=="2") { ?>
91
 
92
+ <span><?php echo esc_html($tabs_title); ?></span>
93
 
94
  <?php } ?>
95
 
96
  <?php if($show_tabs_icon_align=="right"){ ?>
97
  <?php if($show_tabs_title_icon=="1" || $show_tabs_title_icon=="3") { ?>
98
+ <?php if($enable_single_icon=="yes") { ?> <i class="fa <?php echo esc_attr($tabs_title_icon); ?>"></i> <?php }?>
99
  <?php }
100
  } ?>
101
 
107
  </ul>
108
 
109
  <!-- Tab panes -->
110
+ <div class="tab-content" id="tab-content_<?php echo esc_attr($post_id); ?>">
111
  <?php foreach($tabs_data as $tabs_single_data)
112
  {
113
  $tabs_title = $tabs_single_data['tabs_title'];
115
  $tabs_title_icon = $tabs_single_data['tabs_title_icon'];
116
  $enable_single_icon = $tabs_single_data['enable_single_icon'];
117
  ?>
118
+ <div role="tabpanel" class="tab-pane <?php if($j==1){ ?> in active <?php } ?>" id="tabs_desc_<?php echo esc_attr($post_id); ?>_<?php echo esc_attr($j); ?>">
119
+ <?php echo do_shortcode(wp_kses_post($tabs_desc)); ?>
120
  </div>
121
  <?php $j++; } ?>
122
  </div>
124
  </div>
125
  <script>
126
  jQuery(function () {
127
+ jQuery('#myTab_<?php echo esc_attr($post_id); ?> a:first').tab('show')
128
  });
129
 
130
  <?php if($tabs_animation!="None") { ?>
131
  jQuery(function(){
132
+ var b="<?php echo esc_attr($tabs_animation) ?>";
133
  var c;
134
  var a;
135
+ d(jQuery("#myTab_<?php echo esc_attr($post_id); ?> a"),jQuery("#tab-content_<?php echo esc_attr($post_id); ?>"));function d(e,f,g){
136
  e.click(function(i){
137
  i.preventDefault();
138
  jQuery(this).tab("show");
template/style.php CHANGED
@@ -1,4 +1,4 @@
1
- #tab_container_<?php echo $post_id; ?> {
2
  overflow:hidden;
3
  display:block;
4
  width:100%;
@@ -6,68 +6,68 @@
6
  margin-bottom:30px;
7
  }
8
 
9
- #tab_container_<?php echo $post_id; ?> .tab-content{
10
  padding:20px;
11
- border: 1px solid <?php echo $tab_content_border_color; ?> !important;
12
  margin-top: 0px;
13
- background-color:<?php echo $tabs_desc_bg_clr; ?> !important;
14
- color: <?php echo $tabs_desc_font_clr; ?> !important;
15
- font-size:<?php echo $des_size; ?>px !important;
16
- font-family: <?php echo $font_family; ?> !important;
17
 
18
  <?php if($enable_tabs_border=="yes"){ ?>
19
- border: 1px solid <?php echo $tab_content_border_color; ?> !important;
20
  <?php
21
  } else { ?>
22
- border: 0px solid <?php echo $tab_content_border_color; ?> !important;
23
 
24
  <?php } ?>
25
  }
26
- #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs {
27
  border-bottom: 0px solid #ddd;
28
  }
29
- #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li.active > a, #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li.active > a:hover, #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li.active > a:focus {
30
- color: <?php echo $select_tabs_title_icon_clr; ?> !important;
31
  cursor: default;
32
- background-color: <?php echo $select_tabs_title_bg_clr; ?> !important;
33
- border: 1px solid <?php echo $selected_tab_border_color; ?> !important;
34
  }
35
 
36
- #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li > a {
37
  margin-right: 0px !important;
38
  line-height: 1.42857143 !important;
39
- border: 1px solid <?php echo $tab_border_color; ?> !important;
40
  border-radius: 0px 0px 0 0 !important;
41
- background-color: <?php echo $tabs_title_bg_clr; ?> !important;
42
- color: <?php echo $tabs_title_icon_clr; ?> !important;
43
  padding: 15px 18px 15px 18px !important;
44
  text-decoration: none !important;
45
- font-size: <?php echo $title_size; ?>px !important;
46
  text-align:center !important;
47
- font-family: <?php echo $font_family; ?> !important;
48
  }
49
- #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li > a:focus {
50
  outline: 0px !important;
51
  }
52
 
53
- #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li > a:before {
54
  display:none !important;
55
  }
56
- #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li > a:after {
57
  display:none !important ;
58
  }
59
- #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li{
60
  padding:0px !important ;
61
  margin:0px;
62
  }
63
 
64
- #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li > a:hover , #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li > a:focus {
65
- color: <?php echo $tabs_title_icon_clr; ?> !important;
66
- background-color: <?php echo $tabs_title_bg_clr; ?> !important;
67
- border: 1px solid <?php echo $tab_border_color; ?> !important;
68
 
69
  }
70
- #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li > a .fa{
71
 
72
  margin-right:5px !important;
73
 
@@ -80,7 +80,7 @@ margin-left:5px !important;
80
  switch($tabs_styles){
81
  case "1":
82
  ?>
83
- #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs a{
84
  background-image: none;
85
  background-position: 0 0;
86
  background-repeat: repeat-x;
@@ -89,8 +89,8 @@ margin-left:5px !important;
89
  break;
90
  case "2":
91
  ?>
92
- #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs a{
93
- background-image: url(<?php echo wpshopmart_tabs_r_directory_url.'assets/images/style-soft.png'; ?>);
94
  background-position: 0 0;
95
  background-repeat: repeat-x;
96
  }
@@ -98,8 +98,8 @@ margin-left:5px !important;
98
  break;
99
  case "3":
100
  ?>
101
- #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs a{
102
- background-image: url(<?php echo wpshopmart_tabs_r_directory_url.'assets/images/style-noise.png'; ?>);
103
  background-position: 0 0;
104
  background-repeat: repeat-x;
105
  }
@@ -109,14 +109,14 @@ margin-left:5px !important;
109
  ?>
110
 
111
 
112
- #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li {
113
- float: <?php echo $tabs_position; ?>;
114
  margin-bottom: -1px !important;
115
  margin-right:0px !important;
116
  }
117
 
118
 
119
- #tab_container_<?php echo $post_id; ?> .tab-content{
120
  overflow:hidden !important;
121
  }
122
 
@@ -124,7 +124,7 @@ overflow:hidden !important;
124
 
125
  @media (min-width: 769px) {
126
 
127
- #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li{
128
  float:none !important;
129
  <?php if($tabs_position=="left"){ ?>
130
  margin-right:-1px !important;
@@ -133,19 +133,19 @@ overflow:hidden !important;
133
  margin-left:-1px !important;
134
  <?php } ?>
135
  }
136
- #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs{
137
- float:<?php echo $tabs_position; ?> !important;
138
  margin:0px !important;
139
  }
140
  }
141
 
142
- #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li {
143
  <?php if($tabs_margin=="yes"){ ?>
144
  margin-bottom: 8px !important;
145
  <?php } ?>
146
 
147
  }
148
- #tab_container_<?php echo $post_id; ?> .wpsm_nav{
149
  <?php if($tabs_content_margin=="yes"){?>
150
  <?php if($tabs_position=="left"){ ?>
151
  margin-right: 8px !important;
@@ -160,8 +160,8 @@ overflow:hidden !important;
160
 
161
  @media (min-width: 769px) {
162
 
163
- #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li{
164
- float:<?php echo $tabs_position; ?> !important ;
165
  <?php if($tabs_position=="left"){ ?>
166
  margin-right:-1px !important;
167
  <?php } ?>
@@ -169,12 +169,12 @@ overflow:hidden !important;
169
  margin-left:-1px !important;
170
  <?php } ?>
171
  }
172
- #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs{
173
  float:none !important;
174
  margin:0px !important;
175
  }
176
 
177
- #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li {
178
  <?php if($tabs_margin=="yes"){ ?>
179
  <?php if($tabs_position=="left"){ ?>
180
  margin-right: 8px !important;
@@ -185,7 +185,7 @@ overflow:hidden !important;
185
  <?php } ?>
186
 
187
  }
188
- #tab_container_<?php echo $post_id; ?> .wpsm_nav{
189
  <?php if($tabs_content_margin=="yes"){?>
190
  margin-bottom: 8px !important;
191
  <?php } ?>
@@ -197,7 +197,7 @@ overflow:hidden !important;
197
  <?php } ?>
198
 
199
  @media (max-width: 768px) {
200
- #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li {
201
  <?php if($tabs_margin=="yes"){ ?>
202
  margin-bottom: 8px !important;
203
  margin-right:0px !important;
@@ -205,7 +205,7 @@ overflow:hidden !important;
205
  <?php } ?>
206
 
207
  }
208
- #tab_container_<?php echo $post_id; ?> .wpsm_nav{
209
  <?php if($tabs_content_margin=="yes"){?>
210
  margin-bottom: 8px !important;
211
  margin-right:0px !important;
@@ -222,7 +222,7 @@ overflow:hidden !important;
222
  @media (max-width: 768px) {
223
  <?php if($tabs_display_on_mob=="2"){ ?>
224
 
225
- #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs li a span{
226
  display: none !important;
227
  }
228
 
@@ -230,7 +230,7 @@ overflow:hidden !important;
230
 
231
  <?php if($tabs_display_on_mob=="3"){ ?>
232
 
233
- #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs li a i{
234
  display: none !important;
235
  }
236
 
@@ -241,12 +241,12 @@ overflow:hidden !important;
241
 
242
  }
243
  <?php if($tabs_display_mode_mob == "2") { ?>
244
- #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li{
245
  float:none !important;
246
  }
247
  <?php } else { ?>
248
 
249
- #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li {
250
  <?php if($tabs_margin=="yes"){ ?>
251
  <?php if($tabs_position=="left"){ ?>
252
  margin-right: 8px !important;
@@ -259,15 +259,15 @@ overflow:hidden !important;
259
  }
260
 
261
  <?php if($tabs_alignment=="vertical") { ?>
262
- #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs > li{
263
  float:none !important;
264
  }
265
- #tab_container_<?php echo $post_id; ?> .wpsm_nav-tabs{
266
- float:<?php echo $tabs_position; ?> !important;
267
  margin:0px !important;
268
  }
269
  <?php } ?>
270
 
271
  <?php } ?>
272
 
273
- }
1
+ #tab_container_<?php echo esc_attr($post_id); ?> {
2
  overflow:hidden;
3
  display:block;
4
  width:100%;
6
  margin-bottom:30px;
7
  }
8
 
9
+ #tab_container_<?php echo esc_attr($post_id); ?> .tab-content{
10
  padding:20px;
11
+ border: 1px solid <?php echo esc_attr($tab_content_border_color); ?> !important;
12
  margin-top: 0px;
13
+ background-color:<?php echo esc_attr($tabs_desc_bg_clr); ?> !important;
14
+ color: <?php echo esc_attr($tabs_desc_font_clr); ?> !important;
15
+ font-size:<?php echo esc_attr($des_size); ?>px !important;
16
+ font-family: <?php echo esc_attr($font_family); ?> !important;
17
 
18
  <?php if($enable_tabs_border=="yes"){ ?>
19
+ border: 1px solid <?php echo esc_attr($tab_content_border_color); ?> !important;
20
  <?php
21
  } else { ?>
22
+ border: 0px solid <?php echo esc_attr($tab_content_border_color); ?> !important;
23
 
24
  <?php } ?>
25
  }
26
+ #tab_container_<?php echo esc_attr($post_id); ?> .wpsm_nav-tabs {
27
  border-bottom: 0px solid #ddd;
28
  }
29
+ #tab_container_<?php echo esc_attr($post_id); ?> .wpsm_nav-tabs > li.active > a, #tab_container_<?php echo esc_attr($post_id); ?> .wpsm_nav-tabs > li.active > a:hover, #tab_container_<?php echo esc_attr($post_id); ?> .wpsm_nav-tabs > li.active > a:focus {
30
+ color: <?php echo esc_attr($select_tabs_title_icon_clr); ?> !important;
31
  cursor: default;
32
+ background-color: <?php echo esc_attr($select_tabs_title_bg_clr); ?> !important;
33
+ border: 1px solid <?php echo esc_attr($selected_tab_border_color); ?> !important;
34
  }
35
 
36
+ #tab_container_<?php echo esc_attr($post_id); ?> .wpsm_nav-tabs > li > a {
37
  margin-right: 0px !important;
38
  line-height: 1.42857143 !important;
39
+ border: 1px solid <?php echo esc_attr($tab_border_color); ?> !important;
40
  border-radius: 0px 0px 0 0 !important;
41
+ background-color: <?php echo esc_attr($tabs_title_bg_clr); ?> !important;
42
+ color: <?php echo esc_attr($tabs_title_icon_clr); ?> !important;
43
  padding: 15px 18px 15px 18px !important;
44
  text-decoration: none !important;
45
+ font-size: <?php echo esc_attr($title_size); ?>px !important;
46
  text-align:center !important;
47
+ font-family: <?php echo esc_attr($font_family); ?> !important;
48
  }
49
+ #tab_container_<?php echo esc_attr($post_id); ?> .wpsm_nav-tabs > li > a:focus {
50
  outline: 0px !important;
51
  }
52
 
53
+ #tab_container_<?php echo esc_attr($post_id); ?> .wpsm_nav-tabs > li > a:before {
54
  display:none !important;
55
  }
56
+ #tab_container_<?php echo esc_attr($post_id); ?> .wpsm_nav-tabs > li > a:after {
57
  display:none !important ;
58
  }
59
+ #tab_container_<?php echo esc_attr($post_id); ?> .wpsm_nav-tabs > li{
60
  padding:0px !important ;
61
  margin:0px;
62
  }
63
 
64
+ #tab_container_<?php echo esc_attr($post_id); ?> .wpsm_nav-tabs > li > a:hover , #tab_container_<?php echo esc_attr($post_id); ?> .wpsm_nav-tabs > li > a:focus {
65
+ color: <?php echo esc_attr($tabs_title_icon_clr); ?> !important;
66
+ background-color: <?php echo esc_attr($tabs_title_bg_clr); ?> !important;
67
+ border: 1px solid <?php echo esc_attr($tab_border_color); ?> !important;
68
 
69
  }
70
+ #tab_container_<?php echo esc_attr($post_id); ?> .wpsm_nav-tabs > li > a .fa{
71
 
72
  margin-right:5px !important;
73
 
80
  switch($tabs_styles){
81
  case "1":
82
  ?>
83
+ #tab_container_<?php echo esc_attr($post_id); ?> .wpsm_nav-tabs a{
84
  background-image: none;
85
  background-position: 0 0;
86
  background-repeat: repeat-x;
89
  break;
90
  case "2":
91
  ?>
92
+ #tab_container_<?php echo esc_attr($post_id); ?> .wpsm_nav-tabs a{
93
+ background-image: url(<?php echo esc_url(wpshopmart_tabs_r_directory_url.'assets/images/style-soft.png'); ?>);
94
  background-position: 0 0;
95
  background-repeat: repeat-x;
96
  }
98
  break;
99
  case "3":
100
  ?>
101
+ #tab_container_<?php echo esc_attr($post_id); ?> .wpsm_nav-tabs a{
102
+ background-image: url(<?php echo esc_url(wpshopmart_tabs_r_directory_url.'assets/images/style-noise.png'); ?>);
103
  background-position: 0 0;
104
  background-repeat: repeat-x;
105
  }
109
  ?>
110
 
111
 
112
+ #tab_container_<?php echo esc_attr($post_id); ?> .wpsm_nav-tabs > li {
113
+ float: <?php echo esc_attr($tabs_position); ?>;
114
  margin-bottom: -1px !important;
115
  margin-right:0px !important;
116
  }
117
 
118
 
119
+ #tab_container_<?php echo esc_attr($post_id); ?> .tab-content{
120
  overflow:hidden !important;
121
  }
122
 
124
 
125
  @media (min-width: 769px) {
126
 
127
+ #tab_container_<?php echo esc_attr($post_id); ?> .wpsm_nav-tabs > li{
128
  float:none !important;
129
  <?php if($tabs_position=="left"){ ?>
130
  margin-right:-1px !important;
133
  margin-left:-1px !important;
134
  <?php } ?>
135
  }
136
+ #tab_container_<?php echo esc_attr($post_id); ?> .wpsm_nav-tabs{
137
+ float:<?php echo esc_attr($tabs_position); ?> !important;
138
  margin:0px !important;
139
  }
140
  }
141
 
142
+ #tab_container_<?php echo esc_attr($post_id); ?> .wpsm_nav-tabs > li {
143
  <?php if($tabs_margin=="yes"){ ?>
144
  margin-bottom: 8px !important;
145
  <?php } ?>
146
 
147
  }
148
+ #tab_container_<?php echo esc_attr($post_id); ?> .wpsm_nav{
149
  <?php if($tabs_content_margin=="yes"){?>
150
  <?php if($tabs_position=="left"){ ?>
151
  margin-right: 8px !important;
160
 
161
  @media (min-width: 769px) {
162
 
163
+ #tab_container_<?php echo esc_attr($post_id); ?> .wpsm_nav-tabs > li{
164
+ float:<?php echo esc_attr($tabs_position); ?> !important ;
165
  <?php if($tabs_position=="left"){ ?>
166
  margin-right:-1px !important;
167
  <?php } ?>
169
  margin-left:-1px !important;
170
  <?php } ?>
171
  }
172
+ #tab_container_<?php echo esc_attr($post_id); ?> .wpsm_nav-tabs{
173
  float:none !important;
174
  margin:0px !important;
175
  }
176
 
177
+ #tab_container_<?php echo esc_attr($post_id); ?> .wpsm_nav-tabs > li {
178
  <?php if($tabs_margin=="yes"){ ?>
179
  <?php if($tabs_position=="left"){ ?>
180
  margin-right: 8px !important;
185
  <?php } ?>
186
 
187
  }
188
+ #tab_container_<?php echo esc_attr($post_id); ?> .wpsm_nav{
189
  <?php if($tabs_content_margin=="yes"){?>
190
  margin-bottom: 8px !important;
191
  <?php } ?>
197
  <?php } ?>
198
 
199
  @media (max-width: 768px) {
200
+ #tab_container_<?php echo esc_attr($post_id); ?> .wpsm_nav-tabs > li {
201
  <?php if($tabs_margin=="yes"){ ?>
202
  margin-bottom: 8px !important;
203
  margin-right:0px !important;
205
  <?php } ?>
206
 
207
  }
208
+ #tab_container_<?php echo esc_attr($post_id); ?> .wpsm_nav{
209
  <?php if($tabs_content_margin=="yes"){?>
210
  margin-bottom: 8px !important;
211
  margin-right:0px !important;
222
  @media (max-width: 768px) {
223
  <?php if($tabs_display_on_mob=="2"){ ?>
224
 
225
+ #tab_container_<?php echo esc_attr($post_id); ?> .wpsm_nav-tabs li a span{
226
  display: none !important;
227
  }
228
 
230
 
231
  <?php if($tabs_display_on_mob=="3"){ ?>
232
 
233
+ #tab_container_<?php echo esc_attr($post_id); ?> .wpsm_nav-tabs li a i{
234
  display: none !important;
235
  }
236
 
241
 
242
  }
243
  <?php if($tabs_display_mode_mob == "2") { ?>
244
+ #tab_container_<?php echo esc_attr($post_id); ?> .wpsm_nav-tabs > li{
245
  float:none !important;
246
  }
247
  <?php } else { ?>
248
 
249
+ #tab_container_<?php echo esc_attr($post_id); ?> .wpsm_nav-tabs > li {
250
  <?php if($tabs_margin=="yes"){ ?>
251
  <?php if($tabs_position=="left"){ ?>
252
  margin-right: 8px !important;
259
  }
260
 
261
  <?php if($tabs_alignment=="vertical") { ?>
262
+ #tab_container_<?php echo esc_attr($post_id); ?> .wpsm_nav-tabs > li{
263
  float:none !important;
264
  }
265
+ #tab_container_<?php echo esc_attr($post_id); ?> .wpsm_nav-tabs{
266
+ float:<?php echo esc_attr($tabs_position); ?> !important;
267
  margin:0px !important;
268
  }
269
  <?php } ?>
270
 
271
  <?php } ?>
272
 
273
+ }