Countdown, Coming Soon – Countdown & Clock - Version 1.1.1.0

Version Description

Download this release

Release Info

Developer Otto42
Plugin Icon 128x128 Countdown, Coming Soon – Countdown & Clock
Version 1.1.1.0
Comparing to
See all releases

Version 1.1.1.0

CountdownInit.php ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace ycd;
3
+
4
+ class CountdownInit {
5
+
6
+ private static $instance = null;
7
+ private $actions;
8
+ private $filters;
9
+
10
+ private function __construct() {
11
+ $this->init();
12
+ }
13
+
14
+ private function __clone() {
15
+
16
+ }
17
+
18
+ public static function getInstance() {
19
+ if(!isset(self::$instance)) {
20
+ self::$instance = new self();
21
+ }
22
+ return self::$instance;
23
+ }
24
+
25
+ public function init() {
26
+ $this->includeData();
27
+ $this->actions();
28
+ $this->filters();
29
+ }
30
+
31
+ private function includeData() {
32
+ require_once YCD_HELPERS_PATH.'ScriptsIncluder.php';
33
+ require_once YCD_HELPERS_PATH.'AdminHelper.php';
34
+ require_once YCD_CLASSES_PATH.'CountdownType.php';
35
+ require_once YCD_COUNTDOWNS_PATH.'Countdown.php';
36
+ require_once YCD_CSS_PATH.'Css.php';
37
+ require_once YCD_CLASSES_PATH.'RegisterPostType.php';
38
+ require_once YCD_CLASSES_PATH.'Filters.php';
39
+ require_once YCD_CLASSES_PATH.'Actions.php';
40
+ }
41
+
42
+ public function actions() {
43
+ $this->actions = new Actions();
44
+ }
45
+
46
+ public function filters() {
47
+ $this->filters = new Filters();
48
+ }
49
+ }
50
+
51
+ CountdownInit::getInstance();
assets/css/Css.php ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace ycd;
3
+
4
+ class Css {
5
+
6
+ public function __construct() {
7
+ $this->init();
8
+ }
9
+
10
+ public function init() {
11
+
12
+ add_action('admin_enqueue_scripts', array($this, 'enqueueStyles'));
13
+ }
14
+
15
+ public function enqueueStyles($hook) {
16
+
17
+ ScriptsIncluder::registerStyle('admin.css');
18
+ ScriptsIncluder::registerStyle('bootstrap.css');
19
+
20
+ if($hook == 'ycdcountdown_page_ycdcountdown' || get_post_type($_GET['post']) == YCD_COUNTDOWN_POST_TYPE) {
21
+ ScriptsIncluder::enqueueStyle('bootstrap.css');
22
+ ScriptsIncluder::enqueueStyle('admin.css');
23
+ }
24
+ }
25
+ }
26
+
27
+ new Css();
assets/css/TimeCircles.css ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * This element is created inside your target element
3
+ * It is used so that your own element will not need to be altered
4
+ **/
5
+ .time_circles {
6
+ position: relative;
7
+ width: 100%;
8
+ height: 100%;
9
+ }
10
+
11
+ /**
12
+ * This is all the elements used to house all text used
13
+ * in time circles
14
+ **/
15
+ .time_circles > div {
16
+ position: absolute;
17
+ text-align: center;
18
+ }
19
+
20
+ /**
21
+ * Titles (Days, Hours, etc)
22
+ **/
23
+ .time_circles > div > h4 {
24
+ margin: 0;
25
+ padding: 0;
26
+ text-align: center;
27
+ text-transform: uppercase;
28
+ font-family: 'Century Gothic', Arial;
29
+ line-height: 1;
30
+ }
31
+
32
+ /**
33
+ * Time numbers, ie: 12
34
+ **/
35
+ .time_circles > div > span {
36
+ margin: 0;
37
+ padding: 0;
38
+ display: block;
39
+ width: 100%;
40
+ text-align: center;
41
+ font-family: 'Century Gothic', Arial;
42
+ line-height: 1;
43
+ font-weight: bold;
44
+ }
assets/css/admin.css ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .ycd-bootstrap-wrapper .row {
2
+ margin-left: 0;
3
+ margin-right: 0;
4
+ }
5
+
6
+ .countdowns-div {
7
+ width: 250px;
8
+ height: 150px;
9
+ border: 1px solid #CCCCCC;
10
+ float: left;
11
+ margin-right: 10px;
12
+ margin-bottom: 10px;
13
+ background-color: #DEDEDE;
14
+ background-size: 100%;
15
+ transition: all .1s ease-in-out;
16
+ }
17
+
18
+ .countdowns-div:hover {
19
+ background-color: #CDCDCD;
20
+ transform: scale(1.05);
21
+ }
22
+
23
+ .circle-countdown {
24
+ background-image: url("../img/Cricle.png");
25
+ background-size: 100% 100%;
26
+ }
27
+
28
+ .js-ycd-select {
29
+ min-width: 100% !important;
30
+ }
assets/css/bootstrap.css ADDED
@@ -0,0 +1,6846 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .ycd-bootstrap-wrapper {
2
+ /*!
3
+ * Bootstrap v3.3.6 (http://getbootstrap.com)
4
+ * Copyright 2011-2015 Twitter, Inc.
5
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
6
+ */
7
+ /*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
8
+ /*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
9
+ /*# sourceMappingURL=bootstrap.css.map */
10
+ }
11
+ .ycd-bootstrap-wrapper html {
12
+ font-family: sans-serif;
13
+ -webkit-text-size-adjust: 100%;
14
+ -ms-text-size-adjust: 100%;
15
+ }
16
+ .ycd-bootstrap-wrapper body {
17
+ margin: 0;
18
+ }
19
+ .ycd-bootstrap-wrapper article,
20
+ .ycd-bootstrap-wrapper aside,
21
+ .ycd-bootstrap-wrapper details,
22
+ .ycd-bootstrap-wrapper figcaption,
23
+ .ycd-bootstrap-wrapper figure,
24
+ .ycd-bootstrap-wrapper footer,
25
+ .ycd-bootstrap-wrapper header,
26
+ .ycd-bootstrap-wrapper hgroup,
27
+ .ycd-bootstrap-wrapper main,
28
+ .ycd-bootstrap-wrapper menu,
29
+ .ycd-bootstrap-wrapper nav,
30
+ .ycd-bootstrap-wrapper section,
31
+ .ycd-bootstrap-wrapper summary {
32
+ display: block;
33
+ }
34
+ .ycd-bootstrap-wrapper audio,
35
+ .ycd-bootstrap-wrapper canvas,
36
+ .ycd-bootstrap-wrapper progress,
37
+ .ycd-bootstrap-wrapper video {
38
+ display: inline-block;
39
+ vertical-align: baseline;
40
+ }
41
+ .ycd-bootstrap-wrapper audio:not([controls]) {
42
+ display: none;
43
+ height: 0;
44
+ }
45
+ .ycd-bootstrap-wrapper [hidden],
46
+ .ycd-bootstrap-wrapper template {
47
+ display: none;
48
+ }
49
+ .ycd-bootstrap-wrapper a {
50
+ background-color: transparent;
51
+ }
52
+ .ycd-bootstrap-wrapper a:active,
53
+ .ycd-bootstrap-wrapper a:hover {
54
+ outline: 0;
55
+ }
56
+ .ycd-bootstrap-wrapper abbr[title] {
57
+ border-bottom: 1px dotted;
58
+ }
59
+ .ycd-bootstrap-wrapper b,
60
+ .ycd-bootstrap-wrapper strong {
61
+ font-weight: bold;
62
+ }
63
+ .ycd-bootstrap-wrapper dfn {
64
+ font-style: italic;
65
+ }
66
+ .ycd-bootstrap-wrapper h1 {
67
+ margin: .67em 0;
68
+ font-size: 2em;
69
+ }
70
+ .ycd-bootstrap-wrapper mark {
71
+ color: #000;
72
+ background: #ff0;
73
+ }
74
+ .ycd-bootstrap-wrapper small {
75
+ font-size: 80%;
76
+ }
77
+ .ycd-bootstrap-wrapper sub,
78
+ .ycd-bootstrap-wrapper sup {
79
+ position: relative;
80
+ font-size: 75%;
81
+ line-height: 0;
82
+ vertical-align: baseline;
83
+ }
84
+ .ycd-bootstrap-wrapper sup {
85
+ top: -0.5em;
86
+ }
87
+ .ycd-bootstrap-wrapper sub {
88
+ bottom: -0.25em;
89
+ }
90
+ .ycd-bootstrap-wrapper img {
91
+ border: 0;
92
+ }
93
+ .ycd-bootstrap-wrapper svg:not(:root) {
94
+ overflow: hidden;
95
+ }
96
+ .ycd-bootstrap-wrapper figure {
97
+ margin: 1em 40px;
98
+ }
99
+ .ycd-bootstrap-wrapper hr {
100
+ height: 0;
101
+ -webkit-box-sizing: content-box;
102
+ -moz-box-sizing: content-box;
103
+ box-sizing: content-box;
104
+ }
105
+ .ycd-bootstrap-wrapper pre {
106
+ overflow: auto;
107
+ }
108
+ .ycd-bootstrap-wrapper code,
109
+ .ycd-bootstrap-wrapper kbd,
110
+ .ycd-bootstrap-wrapper pre,
111
+ .ycd-bootstrap-wrapper samp {
112
+ font-family: monospace, monospace;
113
+ font-size: 1em;
114
+ }
115
+ .ycd-bootstrap-wrapper button,
116
+ .ycd-bootstrap-wrapper input,
117
+ .ycd-bootstrap-wrapper optgroup,
118
+ .ycd-bootstrap-wrapper select,
119
+ .ycd-bootstrap-wrapper textarea {
120
+ margin: 0;
121
+ font: inherit;
122
+ color: inherit;
123
+ }
124
+ .ycd-bootstrap-wrapper button {
125
+ overflow: visible;
126
+ }
127
+ .ycd-bootstrap-wrapper button,
128
+ .ycd-bootstrap-wrapper select {
129
+ text-transform: none;
130
+ }
131
+ .ycd-bootstrap-wrapper button,
132
+ .ycd-bootstrap-wrapper html input[type="button"],
133
+ .ycd-bootstrap-wrapper input[type="reset"],
134
+ .ycd-bootstrap-wrapper input[type="submit"] {
135
+ -webkit-appearance: button;
136
+ cursor: pointer;
137
+ }
138
+ .ycd-bootstrap-wrapper button[disabled],
139
+ .ycd-bootstrap-wrapper html input[disabled] {
140
+ cursor: default;
141
+ }
142
+ .ycd-bootstrap-wrapper button::-moz-focus-inner,
143
+ .ycd-bootstrap-wrapper input::-moz-focus-inner {
144
+ padding: 0;
145
+ border: 0;
146
+ }
147
+ .ycd-bootstrap-wrapper input {
148
+ line-height: normal;
149
+ }
150
+ .ycd-bootstrap-wrapper input[type="checkbox"],
151
+ .ycd-bootstrap-wrapper input[type="radio"] {
152
+ -webkit-box-sizing: border-box;
153
+ -moz-box-sizing: border-box;
154
+ box-sizing: border-box;
155
+ padding: 0;
156
+ }
157
+ .ycd-bootstrap-wrapper input[type="number"]::-webkit-inner-spin-button,
158
+ .ycd-bootstrap-wrapper input[type="number"]::-webkit-outer-spin-button {
159
+ height: auto;
160
+ }
161
+ .ycd-bootstrap-wrapper input[type="search"] {
162
+ -webkit-box-sizing: content-box;
163
+ -moz-box-sizing: content-box;
164
+ box-sizing: content-box;
165
+ -webkit-appearance: textfield;
166
+ }
167
+ .ycd-bootstrap-wrapper input[type="search"]::-webkit-search-cancel-button,
168
+ .ycd-bootstrap-wrapper input[type="search"]::-webkit-search-decoration {
169
+ -webkit-appearance: none;
170
+ }
171
+ .ycd-bootstrap-wrapper fieldset {
172
+ padding: .35em .625em .75em;
173
+ margin: 0 2px;
174
+ border: 1px solid #c0c0c0;
175
+ }
176
+ .ycd-bootstrap-wrapper legend {
177
+ padding: 0;
178
+ border: 0;
179
+ }
180
+ .ycd-bootstrap-wrapper textarea {
181
+ overflow: auto;
182
+ }
183
+ .ycd-bootstrap-wrapper optgroup {
184
+ font-weight: bold;
185
+ }
186
+ .ycd-bootstrap-wrapper table {
187
+ border-spacing: 0;
188
+ border-collapse: collapse;
189
+ }
190
+ .ycd-bootstrap-wrapper td,
191
+ .ycd-bootstrap-wrapper th {
192
+ padding: 0;
193
+ }
194
+ @media print {
195
+ .ycd-bootstrap-wrapper *,
196
+ .ycd-bootstrap-wrapper *:before,
197
+ .ycd-bootstrap-wrapper *:after {
198
+ color: #000 !important;
199
+ text-shadow: none !important;
200
+ background: transparent !important;
201
+ -webkit-box-shadow: none !important;
202
+ box-shadow: none !important;
203
+ }
204
+ .ycd-bootstrap-wrapper a,
205
+ .ycd-bootstrap-wrapper a:visited {
206
+ text-decoration: underline;
207
+ }
208
+ .ycd-bootstrap-wrapper a[href]:after {
209
+ content: " (" attr(href) ")";
210
+ }
211
+ .ycd-bootstrap-wrapper abbr[title]:after {
212
+ content: " (" attr(title) ")";
213
+ }
214
+ .ycd-bootstrap-wrapper a[href^="#"]:after,
215
+ .ycd-bootstrap-wrapper a[href^="javascript:"]:after {
216
+ content: "";
217
+ }
218
+ .ycd-bootstrap-wrapper pre,
219
+ .ycd-bootstrap-wrapper blockquote {
220
+ border: 1px solid #999;
221
+ page-break-inside: avoid;
222
+ }
223
+ .ycd-bootstrap-wrapper thead {
224
+ display: table-header-group;
225
+ }
226
+ .ycd-bootstrap-wrapper tr,
227
+ .ycd-bootstrap-wrapper img {
228
+ page-break-inside: avoid;
229
+ }
230
+ .ycd-bootstrap-wrapper img {
231
+ max-width: 100% !important;
232
+ }
233
+ .ycd-bootstrap-wrapper p,
234
+ .ycd-bootstrap-wrapper h2,
235
+ .ycd-bootstrap-wrapper h3 {
236
+ orphans: 3;
237
+ widows: 3;
238
+ }
239
+ .ycd-bootstrap-wrapper h2,
240
+ .ycd-bootstrap-wrapper h3 {
241
+ page-break-after: avoid;
242
+ }
243
+ .ycd-bootstrap-wrapper .navbar {
244
+ display: none;
245
+ }
246
+ .ycd-bootstrap-wrapper .btn > .caret,
247
+ .ycd-bootstrap-wrapper .dropup > .btn > .caret {
248
+ border-top-color: #000 !important;
249
+ }
250
+ .ycd-bootstrap-wrapper .label {
251
+ border: 1px solid #000;
252
+ }
253
+ .ycd-bootstrap-wrapper .table {
254
+ border-collapse: collapse !important;
255
+ }
256
+ .ycd-bootstrap-wrapper .table td,
257
+ .ycd-bootstrap-wrapper .table th {
258
+ background-color: #fff !important;
259
+ }
260
+ .ycd-bootstrap-wrapper .table-bordered th,
261
+ .ycd-bootstrap-wrapper .table-bordered td {
262
+ border: 1px solid #ddd !important;
263
+ }
264
+ }
265
+ @font-face {
266
+ font-family: 'Glyphicons Halflings';
267
+ src: url('http://localhost/fonts/glyphicons-halflings-regular.eot');
268
+ src: url('http://localhost/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('http://localhost/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('http://localhost/fonts/glyphicons-halflings-regular.woff') format('woff'), url('http://localhost/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('http://localhost/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
269
+ }
270
+ .ycd-bootstrap-wrapper .glyphicon {
271
+ position: relative;
272
+ top: 1px;
273
+ display: inline-block;
274
+ font-family: 'Glyphicons Halflings';
275
+ font-style: normal;
276
+ font-weight: normal;
277
+ line-height: 1;
278
+ -webkit-font-smoothing: antialiased;
279
+ -moz-osx-font-smoothing: grayscale;
280
+ }
281
+ .ycd-bootstrap-wrapper .glyphicon-asterisk:before {
282
+ content: "\002a";
283
+ }
284
+ .ycd-bootstrap-wrapper .glyphicon-plus:before {
285
+ content: "\002b";
286
+ }
287
+ .ycd-bootstrap-wrapper .glyphicon-euro:before,
288
+ .ycd-bootstrap-wrapper .glyphicon-eur:before {
289
+ content: "\20ac";
290
+ }
291
+ .ycd-bootstrap-wrapper .glyphicon-minus:before {
292
+ content: "\2212";
293
+ }
294
+ .ycd-bootstrap-wrapper .glyphicon-cloud:before {
295
+ content: "\2601";
296
+ }
297
+ .ycd-bootstrap-wrapper .glyphicon-envelope:before {
298
+ content: "\2709";
299
+ }
300
+ .ycd-bootstrap-wrapper .glyphicon-pencil:before {
301
+ content: "\270f";
302
+ }
303
+ .ycd-bootstrap-wrapper .glyphicon-glass:before {
304
+ content: "\e001";
305
+ }
306
+ .ycd-bootstrap-wrapper .glyphicon-music:before {
307
+ content: "\e002";
308
+ }
309
+ .ycd-bootstrap-wrapper .glyphicon-search:before {
310
+ content: "\e003";
311
+ }
312
+ .ycd-bootstrap-wrapper .glyphicon-heart:before {
313
+ content: "\e005";
314
+ }
315
+ .ycd-bootstrap-wrapper .glyphicon-star:before {
316
+ content: "\e006";
317
+ }
318
+ .ycd-bootstrap-wrapper .glyphicon-star-empty:before {
319
+ content: "\e007";
320
+ }
321
+ .ycd-bootstrap-wrapper .glyphicon-user:before {
322
+ content: "\e008";
323
+ }
324
+ .ycd-bootstrap-wrapper .glyphicon-film:before {
325
+ content: "\e009";
326
+ }
327
+ .ycd-bootstrap-wrapper .glyphicon-th-large:before {
328
+ content: "\e010";
329
+ }
330
+ .ycd-bootstrap-wrapper .glyphicon-th:before {
331
+ content: "\e011";
332
+ }
333
+ .ycd-bootstrap-wrapper .glyphicon-th-list:before {
334
+ content: "\e012";
335
+ }
336
+ .ycd-bootstrap-wrapper .glyphicon-ok:before {
337
+ content: "\e013";
338
+ }
339
+ .ycd-bootstrap-wrapper .glyphicon-remove:before {
340
+ content: "\e014";
341
+ }
342
+ .ycd-bootstrap-wrapper .glyphicon-zoom-in:before {
343
+ content: "\e015";
344
+ }
345
+ .ycd-bootstrap-wrapper .glyphicon-zoom-out:before {
346
+ content: "\e016";
347
+ }
348
+ .ycd-bootstrap-wrapper .glyphicon-off:before {
349
+ content: "\e017";
350
+ }
351
+ .ycd-bootstrap-wrapper .glyphicon-signal:before {
352
+ content: "\e018";
353
+ }
354
+ .ycd-bootstrap-wrapper .glyphicon-cog:before {
355
+ content: "\e019";
356
+ }
357
+ .ycd-bootstrap-wrapper .glyphicon-trash:before {
358
+ content: "\e020";
359
+ }
360
+ .ycd-bootstrap-wrapper .glyphicon-home:before {
361
+ content: "\e021";
362
+ }
363
+ .ycd-bootstrap-wrapper .glyphicon-file:before {
364
+ content: "\e022";
365
+ }
366
+ .ycd-bootstrap-wrapper .glyphicon-time:before {
367
+ content: "\e023";
368
+ }
369
+ .ycd-bootstrap-wrapper .glyphicon-road:before {
370
+ content: "\e024";
371
+ }
372
+ .ycd-bootstrap-wrapper .glyphicon-download-alt:before {
373
+ content: "\e025";
374
+ }
375
+ .ycd-bootstrap-wrapper .glyphicon-download:before {
376
+ content: "\e026";
377
+ }
378
+ .ycd-bootstrap-wrapper .glyphicon-upload:before {
379
+ content: "\e027";
380
+ }
381
+ .ycd-bootstrap-wrapper .glyphicon-inbox:before {
382
+ content: "\e028";
383
+ }
384
+ .ycd-bootstrap-wrapper .glyphicon-play-circle:before {
385
+ content: "\e029";
386
+ }
387
+ .ycd-bootstrap-wrapper .glyphicon-repeat:before {
388
+ content: "\e030";
389
+ }
390
+ .ycd-bootstrap-wrapper .glyphicon-refresh:before {
391
+ content: "\e031";
392
+ }
393
+ .ycd-bootstrap-wrapper .glyphicon-list-alt:before {
394
+ content: "\e032";
395
+ }
396
+ .ycd-bootstrap-wrapper .glyphicon-lock:before {
397
+ content: "\e033";
398
+ }
399
+ .ycd-bootstrap-wrapper .glyphicon-flag:before {
400
+ content: "\e034";
401
+ }
402
+ .ycd-bootstrap-wrapper .glyphicon-headphones:before {
403
+ content: "\e035";
404
+ }
405
+ .ycd-bootstrap-wrapper .glyphicon-volume-off:before {
406
+ content: "\e036";
407
+ }
408
+ .ycd-bootstrap-wrapper .glyphicon-volume-down:before {
409
+ content: "\e037";
410
+ }
411
+ .ycd-bootstrap-wrapper .glyphicon-volume-up:before {
412
+ content: "\e038";
413
+ }
414
+ .ycd-bootstrap-wrapper .glyphicon-qrcode:before {
415
+ content: "\e039";
416
+ }
417
+ .ycd-bootstrap-wrapper .glyphicon-barcode:before {
418
+ content: "\e040";
419
+ }
420
+ .ycd-bootstrap-wrapper .glyphicon-tag:before {
421
+ content: "\e041";
422
+ }
423
+ .ycd-bootstrap-wrapper .glyphicon-tags:before {
424
+ content: "\e042";
425
+ }
426
+ .ycd-bootstrap-wrapper .glyphicon-book:before {
427
+ content: "\e043";
428
+ }
429
+ .ycd-bootstrap-wrapper .glyphicon-bookmark:before {
430
+ content: "\e044";
431
+ }
432
+ .ycd-bootstrap-wrapper .glyphicon-print:before {
433
+ content: "\e045";
434
+ }
435
+ .ycd-bootstrap-wrapper .glyphicon-camera:before {
436
+ content: "\e046";
437
+ }
438
+ .ycd-bootstrap-wrapper .glyphicon-font:before {
439
+ content: "\e047";
440
+ }
441
+ .ycd-bootstrap-wrapper .glyphicon-bold:before {
442
+ content: "\e048";
443
+ }
444
+ .ycd-bootstrap-wrapper .glyphicon-italic:before {
445
+ content: "\e049";
446
+ }
447
+ .ycd-bootstrap-wrapper .glyphicon-text-height:before {
448
+ content: "\e050";
449
+ }
450
+ .ycd-bootstrap-wrapper .glyphicon-text-width:before {
451
+ content: "\e051";
452
+ }
453
+ .ycd-bootstrap-wrapper .glyphicon-align-left:before {
454
+ content: "\e052";
455
+ }
456
+ .ycd-bootstrap-wrapper .glyphicon-align-center:before {
457
+ content: "\e053";
458
+ }
459
+ .ycd-bootstrap-wrapper .glyphicon-align-right:before {
460
+ content: "\e054";
461
+ }
462
+ .ycd-bootstrap-wrapper .glyphicon-align-justify:before {
463
+ content: "\e055";
464
+ }
465
+ .ycd-bootstrap-wrapper .glyphicon-list:before {
466
+ content: "\e056";
467
+ }
468
+ .ycd-bootstrap-wrapper .glyphicon-indent-left:before {
469
+ content: "\e057";
470
+ }
471
+ .ycd-bootstrap-wrapper .glyphicon-indent-right:before {
472
+ content: "\e058";
473
+ }
474
+ .ycd-bootstrap-wrapper .glyphicon-facetime-video:before {
475
+ content: "\e059";
476
+ }
477
+ .ycd-bootstrap-wrapper .glyphicon-picture:before {
478
+ content: "\e060";
479
+ }
480
+ .ycd-bootstrap-wrapper .glyphicon-map-marker:before {
481
+ content: "\e062";
482
+ }
483
+ .ycd-bootstrap-wrapper .glyphicon-adjust:before {
484
+ content: "\e063";
485
+ }
486
+ .ycd-bootstrap-wrapper .glyphicon-tint:before {
487
+ content: "\e064";
488
+ }
489
+ .ycd-bootstrap-wrapper .glyphicon-edit:before {
490
+ content: "\e065";
491
+ }
492
+ .ycd-bootstrap-wrapper .glyphicon-share:before {
493
+ content: "\e066";
494
+ }
495
+ .ycd-bootstrap-wrapper .glyphicon-check:before {
496
+ content: "\e067";
497
+ }
498
+ .ycd-bootstrap-wrapper .glyphicon-move:before {
499
+ content: "\e068";
500
+ }
501
+ .ycd-bootstrap-wrapper .glyphicon-step-backward:before {
502
+ content: "\e069";
503
+ }
504
+ .ycd-bootstrap-wrapper .glyphicon-fast-backward:before {
505
+ content: "\e070";
506
+ }
507
+ .ycd-bootstrap-wrapper .glyphicon-backward:before {
508
+ content: "\e071";
509
+ }
510
+ .ycd-bootstrap-wrapper .glyphicon-play:before {
511
+ content: "\e072";
512
+ }
513
+ .ycd-bootstrap-wrapper .glyphicon-pause:before {
514
+ content: "\e073";
515
+ }
516
+ .ycd-bootstrap-wrapper .glyphicon-stop:before {
517
+ content: "\e074";
518
+ }
519
+ .ycd-bootstrap-wrapper .glyphicon-forward:before {
520
+ content: "\e075";
521
+ }
522
+ .ycd-bootstrap-wrapper .glyphicon-fast-forward:before {
523
+ content: "\e076";
524
+ }
525
+ .ycd-bootstrap-wrapper .glyphicon-step-forward:before {
526
+ content: "\e077";
527
+ }
528
+ .ycd-bootstrap-wrapper .glyphicon-eject:before {
529
+ content: "\e078";
530
+ }
531
+ .ycd-bootstrap-wrapper .glyphicon-chevron-left:before {
532
+ content: "\e079";
533
+ }
534
+ .ycd-bootstrap-wrapper .glyphicon-chevron-right:before {
535
+ content: "\e080";
536
+ }
537
+ .ycd-bootstrap-wrapper .glyphicon-plus-sign:before {
538
+ content: "\e081";
539
+ }
540
+ .ycd-bootstrap-wrapper .glyphicon-minus-sign:before {
541
+ content: "\e082";
542
+ }
543
+ .ycd-bootstrap-wrapper .glyphicon-remove-sign:before {
544
+ content: "\e083";
545
+ }
546
+ .ycd-bootstrap-wrapper .glyphicon-ok-sign:before {
547
+ content: "\e084";
548
+ }
549
+ .ycd-bootstrap-wrapper .glyphicon-question-sign:before {
550
+ content: "\e085";
551
+ }
552
+ .ycd-bootstrap-wrapper .glyphicon-info-sign:before {
553
+ content: "\e086";
554
+ }
555
+ .ycd-bootstrap-wrapper .glyphicon-screenshot:before {
556
+ content: "\e087";
557
+ }
558
+ .ycd-bootstrap-wrapper .glyphicon-remove-circle:before {
559
+ content: "\e088";
560
+ }
561
+ .ycd-bootstrap-wrapper .glyphicon-ok-circle:before {
562
+ content: "\e089";
563
+ }
564
+ .ycd-bootstrap-wrapper .glyphicon-ban-circle:before {
565
+ content: "\e090";
566
+ }
567
+ .ycd-bootstrap-wrapper .glyphicon-arrow-left:before {
568
+ content: "\e091";
569
+ }
570
+ .ycd-bootstrap-wrapper .glyphicon-arrow-right:before {
571
+ content: "\e092";
572
+ }
573
+ .ycd-bootstrap-wrapper .glyphicon-arrow-up:before {
574
+ content: "\e093";
575
+ }
576
+ .ycd-bootstrap-wrapper .glyphicon-arrow-down:before {
577
+ content: "\e094";
578
+ }
579
+ .ycd-bootstrap-wrapper .glyphicon-share-alt:before {
580
+ content: "\e095";
581
+ }
582
+ .ycd-bootstrap-wrapper .glyphicon-resize-full:before {
583
+ content: "\e096";
584
+ }
585
+ .ycd-bootstrap-wrapper .glyphicon-resize-small:before {
586
+ content: "\e097";
587
+ }
588
+ .ycd-bootstrap-wrapper .glyphicon-exclamation-sign:before {
589
+ content: "\e101";
590
+ }
591
+ .ycd-bootstrap-wrapper .glyphicon-gift:before {
592
+ content: "\e102";
593
+ }
594
+ .ycd-bootstrap-wrapper .glyphicon-leaf:before {
595
+ content: "\e103";
596
+ }
597
+ .ycd-bootstrap-wrapper .glyphicon-fire:before {
598
+ content: "\e104";
599
+ }
600
+ .ycd-bootstrap-wrapper .glyphicon-eye-open:before {
601
+ content: "\e105";
602
+ }
603
+ .ycd-bootstrap-wrapper .glyphicon-eye-close:before {
604
+ content: "\e106";
605
+ }
606
+ .ycd-bootstrap-wrapper .glyphicon-warning-sign:before {
607
+ content: "\e107";
608
+ }
609
+ .ycd-bootstrap-wrapper .glyphicon-plane:before {
610
+ content: "\e108";
611
+ }
612
+ .ycd-bootstrap-wrapper .glyphicon-calendar:before {
613
+ content: "\e109";
614
+ }
615
+ .ycd-bootstrap-wrapper .glyphicon-random:before {
616
+ content: "\e110";
617
+ }
618
+ .ycd-bootstrap-wrapper .glyphicon-comment:before {
619
+ content: "\e111";
620
+ }
621
+ .ycd-bootstrap-wrapper .glyphicon-magnet:before {
622
+ content: "\e112";
623
+ }
624
+ .ycd-bootstrap-wrapper .glyphicon-chevron-up:before {
625
+ content: "\e113";
626
+ }
627
+ .ycd-bootstrap-wrapper .glyphicon-chevron-down:before {
628
+ content: "\e114";
629
+ }
630
+ .ycd-bootstrap-wrapper .glyphicon-retweet:before {
631
+ content: "\e115";
632
+ }
633
+ .ycd-bootstrap-wrapper .glyphicon-shopping-cart:before {
634
+ content: "\e116";
635
+ }
636
+ .ycd-bootstrap-wrapper .glyphicon-folder-close:before {
637
+ content: "\e117";
638
+ }
639
+ .ycd-bootstrap-wrapper .glyphicon-folder-open:before {
640
+ content: "\e118";
641
+ }
642
+ .ycd-bootstrap-wrapper .glyphicon-resize-vertical:before {
643
+ content: "\e119";
644
+ }
645
+ .ycd-bootstrap-wrapper .glyphicon-resize-horizontal:before {
646
+ content: "\e120";
647
+ }
648
+ .ycd-bootstrap-wrapper .glyphicon-hdd:before {
649
+ content: "\e121";
650
+ }
651
+ .ycd-bootstrap-wrapper .glyphicon-bullhorn:before {
652
+ content: "\e122";
653
+ }
654
+ .ycd-bootstrap-wrapper .glyphicon-bell:before {
655
+ content: "\e123";
656
+ }
657
+ .ycd-bootstrap-wrapper .glyphicon-certificate:before {
658
+ content: "\e124";
659
+ }
660
+ .ycd-bootstrap-wrapper .glyphicon-thumbs-up:before {
661
+ content: "\e125";
662
+ }
663
+ .ycd-bootstrap-wrapper .glyphicon-thumbs-down:before {
664
+ content: "\e126";
665
+ }
666
+ .ycd-bootstrap-wrapper .glyphicon-hand-right:before {
667
+ content: "\e127";
668
+ }
669
+ .ycd-bootstrap-wrapper .glyphicon-hand-left:before {
670
+ content: "\e128";
671
+ }
672
+ .ycd-bootstrap-wrapper .glyphicon-hand-up:before {
673
+ content: "\e129";
674
+ }
675
+ .ycd-bootstrap-wrapper .glyphicon-hand-down:before {
676
+ content: "\e130";
677
+ }
678
+ .ycd-bootstrap-wrapper .glyphicon-circle-arrow-right:before {
679
+ content: "\e131";
680
+ }
681
+ .ycd-bootstrap-wrapper .glyphicon-circle-arrow-left:before {
682
+ content: "\e132";
683
+ }
684
+ .ycd-bootstrap-wrapper .glyphicon-circle-arrow-up:before {
685
+ content: "\e133";
686
+ }
687
+ .ycd-bootstrap-wrapper .glyphicon-circle-arrow-down:before {
688
+ content: "\e134";
689
+ }
690
+ .ycd-bootstrap-wrapper .glyphicon-globe:before {
691
+ content: "\e135";
692
+ }
693
+ .ycd-bootstrap-wrapper .glyphicon-wrench:before {
694
+ content: "\e136";
695
+ }
696
+ .ycd-bootstrap-wrapper .glyphicon-tasks:before {
697
+ content: "\e137";
698
+ }
699
+ .ycd-bootstrap-wrapper .glyphicon-filter:before {
700
+ content: "\e138";
701
+ }
702
+ .ycd-bootstrap-wrapper .glyphicon-briefcase:before {
703
+ content: "\e139";
704
+ }
705
+ .ycd-bootstrap-wrapper .glyphicon-fullscreen:before {
706
+ content: "\e140";
707
+ }
708
+ .ycd-bootstrap-wrapper .glyphicon-dashboard:before {
709
+ content: "\e141";
710
+ }
711
+ .ycd-bootstrap-wrapper .glyphicon-paperclip:before {
712
+ content: "\e142";
713
+ }
714
+ .ycd-bootstrap-wrapper .glyphicon-heart-empty:before {
715
+ content: "\e143";
716
+ }
717
+ .ycd-bootstrap-wrapper .glyphicon-link:before {
718
+ content: "\e144";
719
+ }
720
+ .ycd-bootstrap-wrapper .glyphicon-phone:before {
721
+ content: "\e145";
722
+ }
723
+ .ycd-bootstrap-wrapper .glyphicon-pushpin:before {
724
+ content: "\e146";
725
+ }
726
+ .ycd-bootstrap-wrapper .glyphicon-usd:before {
727
+ content: "\e148";
728
+ }
729
+ .ycd-bootstrap-wrapper .glyphicon-gbp:before {
730
+ content: "\e149";
731
+ }
732
+ .ycd-bootstrap-wrapper .glyphicon-sort:before {
733
+ content: "\e150";
734
+ }
735
+ .ycd-bootstrap-wrapper .glyphicon-sort-by-alphabet:before {
736
+ content: "\e151";
737
+ }
738
+ .ycd-bootstrap-wrapper .glyphicon-sort-by-alphabet-alt:before {
739
+ content: "\e152";
740
+ }
741
+ .ycd-bootstrap-wrapper .glyphicon-sort-by-order:before {
742
+ content: "\e153";
743
+ }
744
+ .ycd-bootstrap-wrapper .glyphicon-sort-by-order-alt:before {
745
+ content: "\e154";
746
+ }
747
+ .ycd-bootstrap-wrapper .glyphicon-sort-by-attributes:before {
748
+ content: "\e155";
749
+ }
750
+ .ycd-bootstrap-wrapper .glyphicon-sort-by-attributes-alt:before {
751
+ content: "\e156";
752
+ }
753
+ .ycd-bootstrap-wrapper .glyphicon-unchecked:before {
754
+ content: "\e157";
755
+ }
756
+ .ycd-bootstrap-wrapper .glyphicon-expand:before {
757
+ content: "\e158";
758
+ }
759
+ .ycd-bootstrap-wrapper .glyphicon-collapse-down:before {
760
+ content: "\e159";
761
+ }
762
+ .ycd-bootstrap-wrapper .glyphicon-collapse-up:before {
763
+ content: "\e160";
764
+ }
765
+ .ycd-bootstrap-wrapper .glyphicon-log-in:before {
766
+ content: "\e161";
767
+ }
768
+ .ycd-bootstrap-wrapper .glyphicon-flash:before {
769
+ content: "\e162";
770
+ }
771
+ .ycd-bootstrap-wrapper .glyphicon-log-out:before {
772
+ content: "\e163";
773
+ }
774
+ .ycd-bootstrap-wrapper .glyphicon-new-window:before {
775
+ content: "\e164";
776
+ }
777
+ .ycd-bootstrap-wrapper .glyphicon-record:before {
778
+ content: "\e165";
779
+ }
780
+ .ycd-bootstrap-wrapper .glyphicon-save:before {
781
+ content: "\e166";
782
+ }
783
+ .ycd-bootstrap-wrapper .glyphicon-open:before {
784
+ content: "\e167";
785
+ }
786
+ .ycd-bootstrap-wrapper .glyphicon-saved:before {
787
+ content: "\e168";
788
+ }
789
+ .ycd-bootstrap-wrapper .glyphicon-import:before {
790
+ content: "\e169";
791
+ }
792
+ .ycd-bootstrap-wrapper .glyphicon-export:before {
793
+ content: "\e170";
794
+ }
795
+ .ycd-bootstrap-wrapper .glyphicon-send:before {
796
+ content: "\e171";
797
+ }
798
+ .ycd-bootstrap-wrapper .glyphicon-floppy-disk:before {
799
+ content: "\e172";
800
+ }
801
+ .ycd-bootstrap-wrapper .glyphicon-floppy-saved:before {
802
+ content: "\e173";
803
+ }
804
+ .ycd-bootstrap-wrapper .glyphicon-floppy-remove:before {
805
+ content: "\e174";
806
+ }
807
+ .ycd-bootstrap-wrapper .glyphicon-floppy-save:before {
808
+ content: "\e175";
809
+ }
810
+ .ycd-bootstrap-wrapper .glyphicon-floppy-open:before {
811
+ content: "\e176";
812
+ }
813
+ .ycd-bootstrap-wrapper .glyphicon-credit-card:before {
814
+ content: "\e177";
815
+ }
816
+ .ycd-bootstrap-wrapper .glyphicon-transfer:before {
817
+ content: "\e178";
818
+ }
819
+ .ycd-bootstrap-wrapper .glyphicon-cutlery:before {
820
+ content: "\e179";
821
+ }
822
+ .ycd-bootstrap-wrapper .glyphicon-header:before {
823
+ content: "\e180";
824
+ }
825
+ .ycd-bootstrap-wrapper .glyphicon-compressed:before {
826
+ content: "\e181";
827
+ }
828
+ .ycd-bootstrap-wrapper .glyphicon-earphone:before {
829
+ content: "\e182";
830
+ }
831
+ .ycd-bootstrap-wrapper .glyphicon-phone-alt:before {
832
+ content: "\e183";
833
+ }
834
+ .ycd-bootstrap-wrapper .glyphicon-tower:before {
835
+ content: "\e184";
836
+ }
837
+ .ycd-bootstrap-wrapper .glyphicon-stats:before {
838
+ content: "\e185";
839
+ }
840
+ .ycd-bootstrap-wrapper .glyphicon-sd-video:before {
841
+ content: "\e186";
842
+ }
843
+ .ycd-bootstrap-wrapper .glyphicon-hd-video:before {
844
+ content: "\e187";
845
+ }
846
+ .ycd-bootstrap-wrapper .glyphicon-subtitles:before {
847
+ content: "\e188";
848
+ }
849
+ .ycd-bootstrap-wrapper .glyphicon-sound-stereo:before {
850
+ content: "\e189";
851
+ }
852
+ .ycd-bootstrap-wrapper .glyphicon-sound-dolby:before {
853
+ content: "\e190";
854
+ }
855
+ .ycd-bootstrap-wrapper .glyphicon-sound-5-1:before {
856
+ content: "\e191";
857
+ }
858
+ .ycd-bootstrap-wrapper .glyphicon-sound-6-1:before {
859
+ content: "\e192";
860
+ }
861
+ .ycd-bootstrap-wrapper .glyphicon-sound-7-1:before {
862
+ content: "\e193";
863
+ }
864
+ .ycd-bootstrap-wrapper .glyphicon-copyright-mark:before {
865
+ content: "\e194";
866
+ }
867
+ .ycd-bootstrap-wrapper .glyphicon-registration-mark:before {
868
+ content: "\e195";
869
+ }
870
+ .ycd-bootstrap-wrapper .glyphicon-cloud-download:before {
871
+ content: "\e197";
872
+ }
873
+ .ycd-bootstrap-wrapper .glyphicon-cloud-upload:before {
874
+ content: "\e198";
875
+ }
876
+ .ycd-bootstrap-wrapper .glyphicon-tree-conifer:before {
877
+ content: "\e199";
878
+ }
879
+ .ycd-bootstrap-wrapper .glyphicon-tree-deciduous:before {
880
+ content: "\e200";
881
+ }
882
+ .ycd-bootstrap-wrapper .glyphicon-cd:before {
883
+ content: "\e201";
884
+ }
885
+ .ycd-bootstrap-wrapper .glyphicon-save-file:before {
886
+ content: "\e202";
887
+ }
888
+ .ycd-bootstrap-wrapper .glyphicon-open-file:before {
889
+ content: "\e203";
890
+ }
891
+ .ycd-bootstrap-wrapper .glyphicon-level-up:before {
892
+ content: "\e204";
893
+ }
894
+ .ycd-bootstrap-wrapper .glyphicon-copy:before {
895
+ content: "\e205";
896
+ }
897
+ .ycd-bootstrap-wrapper .glyphicon-paste:before {
898
+ content: "\e206";
899
+ }
900
+ .ycd-bootstrap-wrapper .glyphicon-alert:before {
901
+ content: "\e209";
902
+ }
903
+ .ycd-bootstrap-wrapper .glyphicon-equalizer:before {
904
+ content: "\e210";
905
+ }
906
+ .ycd-bootstrap-wrapper .glyphicon-king:before {
907
+ content: "\e211";
908
+ }
909
+ .ycd-bootstrap-wrapper .glyphicon-queen:before {
910
+ content: "\e212";
911
+ }
912
+ .ycd-bootstrap-wrapper .glyphicon-pawn:before {
913
+ content: "\e213";
914
+ }
915
+ .ycd-bootstrap-wrapper .glyphicon-bishop:before {
916
+ content: "\e214";
917
+ }
918
+ .ycd-bootstrap-wrapper .glyphicon-knight:before {
919
+ content: "\e215";
920
+ }
921
+ .ycd-bootstrap-wrapper .glyphicon-baby-formula:before {
922
+ content: "\e216";
923
+ }
924
+ .ycd-bootstrap-wrapper .glyphicon-tent:before {
925
+ content: "\26fa";
926
+ }
927
+ .ycd-bootstrap-wrapper .glyphicon-blackboard:before {
928
+ content: "\e218";
929
+ }
930
+ .ycd-bootstrap-wrapper .glyphicon-bed:before {
931
+ content: "\e219";
932
+ }
933
+ .ycd-bootstrap-wrapper .glyphicon-apple:before {
934
+ content: "\f8ff";
935
+ }
936
+ .ycd-bootstrap-wrapper .glyphicon-erase:before {
937
+ content: "\e221";
938
+ }
939
+ .ycd-bootstrap-wrapper .glyphicon-hourglass:before {
940
+ content: "\231b";
941
+ }
942
+ .ycd-bootstrap-wrapper .glyphicon-lamp:before {
943
+ content: "\e223";
944
+ }
945
+ .ycd-bootstrap-wrapper .glyphicon-duplicate:before {
946
+ content: "\e224";
947
+ }
948
+ .ycd-bootstrap-wrapper .glyphicon-piggy-bank:before {
949
+ content: "\e225";
950
+ }
951
+ .ycd-bootstrap-wrapper .glyphicon-scissors:before {
952
+ content: "\e226";
953
+ }
954
+ .ycd-bootstrap-wrapper .glyphicon-bitcoin:before {
955
+ content: "\e227";
956
+ }
957
+ .ycd-bootstrap-wrapper .glyphicon-btc:before {
958
+ content: "\e227";
959
+ }
960
+ .ycd-bootstrap-wrapper .glyphicon-xbt:before {
961
+ content: "\e227";
962
+ }
963
+ .ycd-bootstrap-wrapper .glyphicon-yen:before {
964
+ content: "\00a5";
965
+ }
966
+ .ycd-bootstrap-wrapper .glyphicon-jpy:before {
967
+ content: "\00a5";
968
+ }
969
+ .ycd-bootstrap-wrapper .glyphicon-ruble:before {
970
+ content: "\20bd";
971
+ }
972
+ .ycd-bootstrap-wrapper .glyphicon-rub:before {
973
+ content: "\20bd";
974
+ }
975
+ .ycd-bootstrap-wrapper .glyphicon-scale:before {
976
+ content: "\e230";
977
+ }
978
+ .ycd-bootstrap-wrapper .glyphicon-ice-lolly:before {
979
+ content: "\e231";
980
+ }
981
+ .ycd-bootstrap-wrapper .glyphicon-ice-lolly-tasted:before {
982
+ content: "\e232";
983
+ }
984
+ .ycd-bootstrap-wrapper .glyphicon-education:before {
985
+ content: "\e233";
986
+ }
987
+ .ycd-bootstrap-wrapper .glyphicon-option-horizontal:before {
988
+ content: "\e234";
989
+ }
990
+ .ycd-bootstrap-wrapper .glyphicon-option-vertical:before {
991
+ content: "\e235";
992
+ }
993
+ .ycd-bootstrap-wrapper .glyphicon-menu-hamburger:before {
994
+ content: "\e236";
995
+ }
996
+ .ycd-bootstrap-wrapper .glyphicon-modal-window:before {
997
+ content: "\e237";
998
+ }
999
+ .ycd-bootstrap-wrapper .glyphicon-oil:before {
1000
+ content: "\e238";
1001
+ }
1002
+ .ycd-bootstrap-wrapper .glyphicon-grain:before {
1003
+ content: "\e239";
1004
+ }
1005
+ .ycd-bootstrap-wrapper .glyphicon-sunglasses:before {
1006
+ content: "\e240";
1007
+ }
1008
+ .ycd-bootstrap-wrapper .glyphicon-text-size:before {
1009
+ content: "\e241";
1010
+ }
1011
+ .ycd-bootstrap-wrapper .glyphicon-text-color:before {
1012
+ content: "\e242";
1013
+ }
1014
+ .ycd-bootstrap-wrapper .glyphicon-text-background:before {
1015
+ content: "\e243";
1016
+ }
1017
+ .ycd-bootstrap-wrapper .glyphicon-object-align-top:before {
1018
+ content: "\e244";
1019
+ }
1020
+ .ycd-bootstrap-wrapper .glyphicon-object-align-bottom:before {
1021
+ content: "\e245";
1022
+ }
1023
+ .ycd-bootstrap-wrapper .glyphicon-object-align-horizontal:before {
1024
+ content: "\e246";
1025
+ }
1026
+ .ycd-bootstrap-wrapper .glyphicon-object-align-left:before {
1027
+ content: "\e247";
1028
+ }
1029
+ .ycd-bootstrap-wrapper .glyphicon-object-align-vertical:before {
1030
+ content: "\e248";
1031
+ }
1032
+ .ycd-bootstrap-wrapper .glyphicon-object-align-right:before {
1033
+ content: "\e249";
1034
+ }
1035
+ .ycd-bootstrap-wrapper .glyphicon-triangle-right:before {
1036
+ content: "\e250";
1037
+ }
1038
+ .ycd-bootstrap-wrapper .glyphicon-triangle-left:before {
1039
+ content: "\e251";
1040
+ }
1041
+ .ycd-bootstrap-wrapper .glyphicon-triangle-bottom:before {
1042
+ content: "\e252";
1043
+ }
1044
+ .ycd-bootstrap-wrapper .glyphicon-triangle-top:before {
1045
+ content: "\e253";
1046
+ }
1047
+ .ycd-bootstrap-wrapper .glyphicon-console:before {
1048
+ content: "\e254";
1049
+ }
1050
+ .ycd-bootstrap-wrapper .glyphicon-superscript:before {
1051
+ content: "\e255";
1052
+ }
1053
+ .ycd-bootstrap-wrapper .glyphicon-subscript:before {
1054
+ content: "\e256";
1055
+ }
1056
+ .ycd-bootstrap-wrapper .glyphicon-menu-left:before {
1057
+ content: "\e257";
1058
+ }
1059
+ .ycd-bootstrap-wrapper .glyphicon-menu-right:before {
1060
+ content: "\e258";
1061
+ }
1062
+ .ycd-bootstrap-wrapper .glyphicon-menu-down:before {
1063
+ content: "\e259";
1064
+ }
1065
+ .ycd-bootstrap-wrapper .glyphicon-menu-up:before {
1066
+ content: "\e260";
1067
+ }
1068
+ .ycd-bootstrap-wrapper * {
1069
+ -webkit-box-sizing: border-box;
1070
+ -moz-box-sizing: border-box;
1071
+ box-sizing: border-box;
1072
+ }
1073
+ .ycd-bootstrap-wrapper *:before,
1074
+ .ycd-bootstrap-wrapper *:after {
1075
+ -webkit-box-sizing: border-box;
1076
+ -moz-box-sizing: border-box;
1077
+ box-sizing: border-box;
1078
+ }
1079
+ .ycd-bootstrap-wrapper html {
1080
+ font-size: 10px;
1081
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
1082
+ }
1083
+ .ycd-bootstrap-wrapper body {
1084
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
1085
+ font-size: 14px;
1086
+ line-height: 1.42857143;
1087
+ color: #333;
1088
+ background-color: #fff;
1089
+ }
1090
+ .ycd-bootstrap-wrapper input,
1091
+ .ycd-bootstrap-wrapper button,
1092
+ .ycd-bootstrap-wrapper select,
1093
+ .ycd-bootstrap-wrapper textarea {
1094
+ font-family: inherit;
1095
+ font-size: inherit;
1096
+ line-height: inherit;
1097
+ }
1098
+ .ycd-bootstrap-wrapper a {
1099
+ color: #337ab7;
1100
+ text-decoration: none;
1101
+ }
1102
+ .ycd-bootstrap-wrapper a:hover,
1103
+ .ycd-bootstrap-wrapper a:focus {
1104
+ color: #23527c;
1105
+ text-decoration: underline;
1106
+ }
1107
+ .ycd-bootstrap-wrapper a:focus {
1108
+ outline: thin dotted;
1109
+ outline: 5px auto -webkit-focus-ring-color;
1110
+ outline-offset: -2px;
1111
+ }
1112
+ .ycd-bootstrap-wrapper figure {
1113
+ margin: 0;
1114
+ }
1115
+ .ycd-bootstrap-wrapper img {
1116
+ vertical-align: middle;
1117
+ }
1118
+ .ycd-bootstrap-wrapper .img-responsive,
1119
+ .ycd-bootstrap-wrapper .thumbnail > img,
1120
+ .ycd-bootstrap-wrapper .thumbnail a > img,
1121
+ .ycd-bootstrap-wrapper .carousel-inner > .item > img,
1122
+ .ycd-bootstrap-wrapper .carousel-inner > .item > a > img {
1123
+ display: block;
1124
+ max-width: 100%;
1125
+ height: auto;
1126
+ }
1127
+ .ycd-bootstrap-wrapper .img-rounded {
1128
+ border-radius: 6px;
1129
+ }
1130
+ .ycd-bootstrap-wrapper .img-thumbnail {
1131
+ display: inline-block;
1132
+ max-width: 100%;
1133
+ height: auto;
1134
+ padding: 4px;
1135
+ line-height: 1.42857143;
1136
+ background-color: #fff;
1137
+ border: 1px solid #ddd;
1138
+ border-radius: 4px;
1139
+ -webkit-transition: all 0.2s ease-in-out;
1140
+ -o-transition: all 0.2s ease-in-out;
1141
+ transition: all 0.2s ease-in-out;
1142
+ }
1143
+ .ycd-bootstrap-wrapper .img-circle {
1144
+ border-radius: 50%;
1145
+ }
1146
+ .ycd-bootstrap-wrapper hr {
1147
+ margin-top: 20px;
1148
+ margin-bottom: 20px;
1149
+ border: 0;
1150
+ border-top: 1px solid #eee;
1151
+ }
1152
+ .ycd-bootstrap-wrapper .sr-only {
1153
+ position: absolute;
1154
+ width: 1px;
1155
+ height: 1px;
1156
+ padding: 0;
1157
+ margin: -1px;
1158
+ overflow: hidden;
1159
+ clip: rect(0, 0, 0, 0);
1160
+ border: 0;
1161
+ }
1162
+ .ycd-bootstrap-wrapper .sr-only-focusable:active,
1163
+ .ycd-bootstrap-wrapper .sr-only-focusable:focus {
1164
+ position: static;
1165
+ width: auto;
1166
+ height: auto;
1167
+ margin: 0;
1168
+ overflow: visible;
1169
+ clip: auto;
1170
+ }
1171
+ .ycd-bootstrap-wrapper [role="button"] {
1172
+ cursor: pointer;
1173
+ }
1174
+ .ycd-bootstrap-wrapper h1,
1175
+ .ycd-bootstrap-wrapper h2,
1176
+ .ycd-bootstrap-wrapper h3,
1177
+ .ycd-bootstrap-wrapper h4,
1178
+ .ycd-bootstrap-wrapper h5,
1179
+ .ycd-bootstrap-wrapper h6,
1180
+ .ycd-bootstrap-wrapper .h1,
1181
+ .ycd-bootstrap-wrapper .h2,
1182
+ .ycd-bootstrap-wrapper .h3,
1183
+ .ycd-bootstrap-wrapper .h4,
1184
+ .ycd-bootstrap-wrapper .h5,
1185
+ .ycd-bootstrap-wrapper .h6 {
1186
+ font-family: inherit;
1187
+ font-weight: 500;
1188
+ line-height: 1.1;
1189
+ color: inherit;
1190
+ }
1191
+ .ycd-bootstrap-wrapper h1 small,
1192
+ .ycd-bootstrap-wrapper h2 small,
1193
+ .ycd-bootstrap-wrapper h3 small,
1194
+ .ycd-bootstrap-wrapper h4 small,
1195
+ .ycd-bootstrap-wrapper h5 small,
1196
+ .ycd-bootstrap-wrapper h6 small,
1197
+ .ycd-bootstrap-wrapper .h1 small,
1198
+ .ycd-bootstrap-wrapper .h2 small,
1199
+ .ycd-bootstrap-wrapper .h3 small,
1200
+ .ycd-bootstrap-wrapper .h4 small,
1201
+ .ycd-bootstrap-wrapper .h5 small,
1202
+ .ycd-bootstrap-wrapper .h6 small,
1203
+ .ycd-bootstrap-wrapper h1 .small,
1204
+ .ycd-bootstrap-wrapper h2 .small,
1205
+ .ycd-bootstrap-wrapper h3 .small,
1206
+ .ycd-bootstrap-wrapper h4 .small,
1207
+ .ycd-bootstrap-wrapper h5 .small,
1208
+ .ycd-bootstrap-wrapper h6 .small,
1209
+ .ycd-bootstrap-wrapper .h1 .small,
1210
+ .ycd-bootstrap-wrapper .h2 .small,
1211
+ .ycd-bootstrap-wrapper .h3 .small,
1212
+ .ycd-bootstrap-wrapper .h4 .small,
1213
+ .ycd-bootstrap-wrapper .h5 .small,
1214
+ .ycd-bootstrap-wrapper .h6 .small {
1215
+ font-weight: normal;
1216
+ line-height: 1;
1217
+ color: #777;
1218
+ }
1219
+ .ycd-bootstrap-wrapper h1,
1220
+ .ycd-bootstrap-wrapper .h1,
1221
+ .ycd-bootstrap-wrapper h2,
1222
+ .ycd-bootstrap-wrapper .h2,
1223
+ .ycd-bootstrap-wrapper h3,
1224
+ .ycd-bootstrap-wrapper .h3 {
1225
+ margin-top: 20px;
1226
+ margin-bottom: 10px;
1227
+ }
1228
+ .ycd-bootstrap-wrapper h1 small,
1229
+ .ycd-bootstrap-wrapper .h1 small,
1230
+ .ycd-bootstrap-wrapper h2 small,
1231
+ .ycd-bootstrap-wrapper .h2 small,
1232
+ .ycd-bootstrap-wrapper h3 small,
1233
+ .ycd-bootstrap-wrapper .h3 small,
1234
+ .ycd-bootstrap-wrapper h1 .small,
1235
+ .ycd-bootstrap-wrapper .h1 .small,
1236
+ .ycd-bootstrap-wrapper h2 .small,
1237
+ .ycd-bootstrap-wrapper .h2 .small,
1238
+ .ycd-bootstrap-wrapper h3 .small,
1239
+ .ycd-bootstrap-wrapper .h3 .small {
1240
+ font-size: 65%;
1241
+ }
1242
+ .ycd-bootstrap-wrapper h4,
1243
+ .ycd-bootstrap-wrapper .h4,
1244
+ .ycd-bootstrap-wrapper h5,
1245
+ .ycd-bootstrap-wrapper .h5,
1246
+ .ycd-bootstrap-wrapper h6,
1247
+ .ycd-bootstrap-wrapper .h6 {
1248
+ margin-top: 10px;
1249
+ margin-bottom: 10px;
1250
+ }
1251
+ .ycd-bootstrap-wrapper h4 small,
1252
+ .ycd-bootstrap-wrapper .h4 small,
1253
+ .ycd-bootstrap-wrapper h5 small,
1254
+ .ycd-bootstrap-wrapper .h5 small,
1255
+ .ycd-bootstrap-wrapper h6 small,
1256
+ .ycd-bootstrap-wrapper .h6 small,
1257
+ .ycd-bootstrap-wrapper h4 .small,
1258
+ .ycd-bootstrap-wrapper .h4 .small,
1259
+ .ycd-bootstrap-wrapper h5 .small,
1260
+ .ycd-bootstrap-wrapper .h5 .small,
1261
+ .ycd-bootstrap-wrapper h6 .small,
1262
+ .ycd-bootstrap-wrapper .h6 .small {
1263
+ font-size: 75%;
1264
+ }
1265
+ .ycd-bootstrap-wrapper h1,
1266
+ .ycd-bootstrap-wrapper .h1 {
1267
+ font-size: 36px;
1268
+ }
1269
+ .ycd-bootstrap-wrapper h2,
1270
+ .ycd-bootstrap-wrapper .h2 {
1271
+ font-size: 30px;
1272
+ }
1273
+ .ycd-bootstrap-wrapper h3,
1274
+ .ycd-bootstrap-wrapper .h3 {
1275
+ font-size: 24px;
1276
+ }
1277
+ .ycd-bootstrap-wrapper h4,
1278
+ .ycd-bootstrap-wrapper .h4 {
1279
+ font-size: 18px;
1280
+ }
1281
+ .ycd-bootstrap-wrapper h5,
1282
+ .ycd-bootstrap-wrapper .h5 {
1283
+ font-size: 14px;
1284
+ }
1285
+ .ycd-bootstrap-wrapper h6,
1286
+ .ycd-bootstrap-wrapper .h6 {
1287
+ font-size: 12px;
1288
+ }
1289
+ .ycd-bootstrap-wrapper p {
1290
+ margin: 0 0 10px;
1291
+ }
1292
+ .ycd-bootstrap-wrapper .lead {
1293
+ margin-bottom: 20px;
1294
+ font-size: 16px;
1295
+ font-weight: 300;
1296
+ line-height: 1.4;
1297
+ }
1298
+ @media (min-width: 768px) {
1299
+ .ycd-bootstrap-wrapper .lead {
1300
+ font-size: 21px;
1301
+ }
1302
+ }
1303
+ .ycd-bootstrap-wrapper small,
1304
+ .ycd-bootstrap-wrapper .small {
1305
+ font-size: 85%;
1306
+ }
1307
+ .ycd-bootstrap-wrapper mark,
1308
+ .ycd-bootstrap-wrapper .mark {
1309
+ padding: .2em;
1310
+ background-color: #fcf8e3;
1311
+ }
1312
+ .ycd-bootstrap-wrapper .text-left {
1313
+ text-align: left;
1314
+ }
1315
+ .ycd-bootstrap-wrapper .text-right {
1316
+ text-align: right;
1317
+ }
1318
+ .ycd-bootstrap-wrapper .text-center {
1319
+ text-align: center;
1320
+ }
1321
+ .ycd-bootstrap-wrapper .text-justify {
1322
+ text-align: justify;
1323
+ }
1324
+ .ycd-bootstrap-wrapper .text-nowrap {
1325
+ white-space: nowrap;
1326
+ }
1327
+ .ycd-bootstrap-wrapper .text-lowercase {
1328
+ text-transform: lowercase;
1329
+ }
1330
+ .ycd-bootstrap-wrapper .text-uppercase {
1331
+ text-transform: uppercase;
1332
+ }
1333
+ .ycd-bootstrap-wrapper .text-capitalize {
1334
+ text-transform: capitalize;
1335
+ }
1336
+ .ycd-bootstrap-wrapper .text-muted {
1337
+ color: #777;
1338
+ }
1339
+ .ycd-bootstrap-wrapper .text-primary {
1340
+ color: #337ab7;
1341
+ }
1342
+ .ycd-bootstrap-wrapper a.text-primary:hover,
1343
+ .ycd-bootstrap-wrapper a.text-primary:focus {
1344
+ color: #286090;
1345
+ }
1346
+ .ycd-bootstrap-wrapper .text-success {
1347
+ color: #3c763d;
1348
+ }
1349
+ .ycd-bootstrap-wrapper a.text-success:hover,
1350
+ .ycd-bootstrap-wrapper a.text-success:focus {
1351
+ color: #2b542c;
1352
+ }
1353
+ .ycd-bootstrap-wrapper .text-info {
1354
+ color: #31708f;
1355
+ }
1356
+ .ycd-bootstrap-wrapper a.text-info:hover,
1357
+ .ycd-bootstrap-wrapper a.text-info:focus {
1358
+ color: #245269;
1359
+ }
1360
+ .ycd-bootstrap-wrapper .text-warning {
1361
+ color: #8a6d3b;
1362
+ }
1363
+ .ycd-bootstrap-wrapper a.text-warning:hover,
1364
+ .ycd-bootstrap-wrapper a.text-warning:focus {
1365
+ color: #66512c;
1366
+ }
1367
+ .ycd-bootstrap-wrapper .text-danger {
1368
+ color: #a94442;
1369
+ }
1370
+ .ycd-bootstrap-wrapper a.text-danger:hover,
1371
+ .ycd-bootstrap-wrapper a.text-danger:focus {
1372
+ color: #843534;
1373
+ }
1374
+ .ycd-bootstrap-wrapper .bg-primary {
1375
+ color: #fff;
1376
+ background-color: #337ab7;
1377
+ }
1378
+ .ycd-bootstrap-wrapper a.bg-primary:hover,
1379
+ .ycd-bootstrap-wrapper a.bg-primary:focus {
1380
+ background-color: #286090;
1381
+ }
1382
+ .ycd-bootstrap-wrapper .bg-success {
1383
+ background-color: #dff0d8;
1384
+ }
1385
+ .ycd-bootstrap-wrapper a.bg-success:hover,
1386
+ .ycd-bootstrap-wrapper a.bg-success:focus {
1387
+ background-color: #c1e2b3;
1388
+ }
1389
+ .ycd-bootstrap-wrapper .bg-info {
1390
+ background-color: #d9edf7;
1391
+ }
1392
+ .ycd-bootstrap-wrapper a.bg-info:hover,
1393
+ .ycd-bootstrap-wrapper a.bg-info:focus {
1394
+ background-color: #afd9ee;
1395
+ }
1396
+ .ycd-bootstrap-wrapper .bg-warning {
1397
+ background-color: #fcf8e3;
1398
+ }
1399
+ .ycd-bootstrap-wrapper a.bg-warning:hover,
1400
+ .ycd-bootstrap-wrapper a.bg-warning:focus {
1401
+ background-color: #f7ecb5;
1402
+ }
1403
+ .ycd-bootstrap-wrapper .bg-danger {
1404
+ background-color: #f2dede;
1405
+ }
1406
+ .ycd-bootstrap-wrapper a.bg-danger:hover,
1407
+ .ycd-bootstrap-wrapper a.bg-danger:focus {
1408
+ background-color: #e4b9b9;
1409
+ }
1410
+ .ycd-bootstrap-wrapper .page-header {
1411
+ padding-bottom: 9px;
1412
+ margin: 40px 0 20px;
1413
+ border-bottom: 1px solid #eee;
1414
+ }
1415
+ .ycd-bootstrap-wrapper ul,
1416
+ .ycd-bootstrap-wrapper ol {
1417
+ margin-top: 0;
1418
+ margin-bottom: 10px;
1419
+ }
1420
+ .ycd-bootstrap-wrapper ul ul,
1421
+ .ycd-bootstrap-wrapper ol ul,
1422
+ .ycd-bootstrap-wrapper ul ol,
1423
+ .ycd-bootstrap-wrapper ol ol {
1424
+ margin-bottom: 0;
1425
+ }
1426
+ .ycd-bootstrap-wrapper .list-unstyled {
1427
+ padding-left: 0;
1428
+ list-style: none;
1429
+ }
1430
+ .ycd-bootstrap-wrapper .list-inline {
1431
+ padding-left: 0;
1432
+ margin-left: -5px;
1433
+ list-style: none;
1434
+ }
1435
+ .ycd-bootstrap-wrapper .list-inline > li {
1436
+ display: inline-block;
1437
+ padding-right: 5px;
1438
+ padding-left: 5px;
1439
+ }
1440
+ .ycd-bootstrap-wrapper dl {
1441
+ margin-top: 0;
1442
+ margin-bottom: 20px;
1443
+ }
1444
+ .ycd-bootstrap-wrapper dt,
1445
+ .ycd-bootstrap-wrapper dd {
1446
+ line-height: 1.42857143;
1447
+ }
1448
+ .ycd-bootstrap-wrapper dt {
1449
+ font-weight: bold;
1450
+ }
1451
+ .ycd-bootstrap-wrapper dd {
1452
+ margin-left: 0;
1453
+ }
1454
+ @media (min-width: 768px) {
1455
+ .ycd-bootstrap-wrapper .dl-horizontal dt {
1456
+ float: left;
1457
+ width: 160px;
1458
+ overflow: hidden;
1459
+ clear: left;
1460
+ text-align: right;
1461
+ text-overflow: ellipsis;
1462
+ white-space: nowrap;
1463
+ }
1464
+ .ycd-bootstrap-wrapper .dl-horizontal dd {
1465
+ margin-left: 180px;
1466
+ }
1467
+ }
1468
+ .ycd-bootstrap-wrapper abbr[title],
1469
+ .ycd-bootstrap-wrapper abbr[data-original-title] {
1470
+ cursor: help;
1471
+ border-bottom: 1px dotted #777;
1472
+ }
1473
+ .ycd-bootstrap-wrapper .initialism {
1474
+ font-size: 90%;
1475
+ text-transform: uppercase;
1476
+ }
1477
+ .ycd-bootstrap-wrapper blockquote {
1478
+ padding: 10px 20px;
1479
+ margin: 0 0 20px;
1480
+ font-size: 17.5px;
1481
+ border-left: 5px solid #eee;
1482
+ }
1483
+ .ycd-bootstrap-wrapper blockquote p:last-child,
1484
+ .ycd-bootstrap-wrapper blockquote ul:last-child,
1485
+ .ycd-bootstrap-wrapper blockquote ol:last-child {
1486
+ margin-bottom: 0;
1487
+ }
1488
+ .ycd-bootstrap-wrapper blockquote footer,
1489
+ .ycd-bootstrap-wrapper blockquote small,
1490
+ .ycd-bootstrap-wrapper blockquote .small {
1491
+ display: block;
1492
+ font-size: 80%;
1493
+ line-height: 1.42857143;
1494
+ color: #777;
1495
+ }
1496
+ .ycd-bootstrap-wrapper blockquote footer:before,
1497
+ .ycd-bootstrap-wrapper blockquote small:before,
1498
+ .ycd-bootstrap-wrapper blockquote .small:before {
1499
+ content: '\2014 \00A0';
1500
+ }
1501
+ .ycd-bootstrap-wrapper .blockquote-reverse,
1502
+ .ycd-bootstrap-wrapper blockquote.pull-right {
1503
+ padding-right: 15px;
1504
+ padding-left: 0;
1505
+ text-align: right;
1506
+ border-right: 5px solid #eee;
1507
+ border-left: 0;
1508
+ }
1509
+ .ycd-bootstrap-wrapper .blockquote-reverse footer:before,
1510
+ .ycd-bootstrap-wrapper blockquote.pull-right footer:before,
1511
+ .ycd-bootstrap-wrapper .blockquote-reverse small:before,
1512
+ .ycd-bootstrap-wrapper blockquote.pull-right small:before,
1513
+ .ycd-bootstrap-wrapper .blockquote-reverse .small:before,
1514
+ .ycd-bootstrap-wrapper blockquote.pull-right .small:before {
1515
+ content: '';
1516
+ }
1517
+ .ycd-bootstrap-wrapper .blockquote-reverse footer:after,
1518
+ .ycd-bootstrap-wrapper blockquote.pull-right footer:after,
1519
+ .ycd-bootstrap-wrapper .blockquote-reverse small:after,
1520
+ .ycd-bootstrap-wrapper blockquote.pull-right small:after,
1521
+ .ycd-bootstrap-wrapper .blockquote-reverse .small:after,
1522
+ .ycd-bootstrap-wrapper blockquote.pull-right .small:after {
1523
+ content: '\00A0 \2014';
1524
+ }
1525
+ .ycd-bootstrap-wrapper address {
1526
+ margin-bottom: 20px;
1527
+ font-style: normal;
1528
+ line-height: 1.42857143;
1529
+ }
1530
+ .ycd-bootstrap-wrapper code,
1531
+ .ycd-bootstrap-wrapper kbd,
1532
+ .ycd-bootstrap-wrapper pre,
1533
+ .ycd-bootstrap-wrapper samp {
1534
+ font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
1535
+ }
1536
+ .ycd-bootstrap-wrapper code {
1537
+ padding: 2px 4px;
1538
+ font-size: 90%;
1539
+ color: #c7254e;
1540
+ background-color: #f9f2f4;
1541
+ border-radius: 4px;
1542
+ }
1543
+ .ycd-bootstrap-wrapper kbd {
1544
+ padding: 2px 4px;
1545
+ font-size: 90%;
1546
+ color: #fff;
1547
+ background-color: #333;
1548
+ border-radius: 3px;
1549
+ -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
1550
+ box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
1551
+ }
1552
+ .ycd-bootstrap-wrapper kbd kbd {
1553
+ padding: 0;
1554
+ font-size: 100%;
1555
+ font-weight: bold;
1556
+ -webkit-box-shadow: none;
1557
+ box-shadow: none;
1558
+ }
1559
+ .ycd-bootstrap-wrapper pre {
1560
+ display: block;
1561
+ padding: 9.5px;
1562
+ margin: 0 0 10px;
1563
+ font-size: 13px;
1564
+ line-height: 1.42857143;
1565
+ color: #333;
1566
+ word-break: break-all;
1567
+ word-wrap: break-word;
1568
+ background-color: #f5f5f5;
1569
+ border: 1px solid #ccc;
1570
+ border-radius: 4px;
1571
+ }
1572
+ .ycd-bootstrap-wrapper pre code {
1573
+ padding: 0;
1574
+ font-size: inherit;
1575
+ color: inherit;
1576
+ white-space: pre-wrap;
1577
+ background-color: transparent;
1578
+ border-radius: 0;
1579
+ }
1580
+ .ycd-bootstrap-wrapper .pre-scrollable {
1581
+ max-height: 340px;
1582
+ overflow-y: scroll;
1583
+ }
1584
+ .ycd-bootstrap-wrapper .container {
1585
+ padding-right: 15px;
1586
+ padding-left: 15px;
1587
+ margin-right: auto;
1588
+ margin-left: auto;
1589
+ }
1590
+ @media (min-width: 768px) {
1591
+ .ycd-bootstrap-wrapper .container {
1592
+ width: 750px;
1593
+ }
1594
+ }
1595
+ @media (min-width: 992px) {
1596
+ .ycd-bootstrap-wrapper .container {
1597
+ width: 970px;
1598
+ }
1599
+ }
1600
+ @media (min-width: 1200px) {
1601
+ .ycd-bootstrap-wrapper .container {
1602
+ width: 1170px;
1603
+ }
1604
+ }
1605
+ .ycd-bootstrap-wrapper .container-fluid {
1606
+ padding-right: 15px;
1607
+ padding-left: 15px;
1608
+ margin-right: auto;
1609
+ margin-left: auto;
1610
+ }
1611
+ .ycd-bootstrap-wrapper .row {
1612
+ margin-right: -15px;
1613
+ margin-left: -15px;
1614
+ }
1615
+ .ycd-bootstrap-wrapper .col-xs-1,
1616
+ .ycd-bootstrap-wrapper .col-sm-1,
1617
+ .ycd-bootstrap-wrapper .col-md-1,
1618
+ .ycd-bootstrap-wrapper .col-lg-1,
1619
+ .ycd-bootstrap-wrapper .col-xs-2,
1620
+ .ycd-bootstrap-wrapper .col-sm-2,
1621
+ .ycd-bootstrap-wrapper .col-md-2,
1622
+ .ycd-bootstrap-wrapper .col-lg-2,
1623
+ .ycd-bootstrap-wrapper .col-xs-3,
1624
+ .ycd-bootstrap-wrapper .col-sm-3,
1625
+ .ycd-bootstrap-wrapper .col-md-3,
1626
+ .ycd-bootstrap-wrapper .col-lg-3,
1627
+ .ycd-bootstrap-wrapper .col-xs-4,
1628
+ .ycd-bootstrap-wrapper .col-sm-4,
1629
+ .ycd-bootstrap-wrapper .col-md-4,
1630
+ .ycd-bootstrap-wrapper .col-lg-4,
1631
+ .ycd-bootstrap-wrapper .col-xs-5,
1632
+ .ycd-bootstrap-wrapper .col-sm-5,
1633
+ .ycd-bootstrap-wrapper .col-md-5,
1634
+ .ycd-bootstrap-wrapper .col-lg-5,
1635
+ .ycd-bootstrap-wrapper .col-xs-6,
1636
+ .ycd-bootstrap-wrapper .col-sm-6,
1637
+ .ycd-bootstrap-wrapper .col-md-6,
1638
+ .ycd-bootstrap-wrapper .col-lg-6,
1639
+ .ycd-bootstrap-wrapper .col-xs-7,
1640
+ .ycd-bootstrap-wrapper .col-sm-7,
1641
+ .ycd-bootstrap-wrapper .col-md-7,
1642
+ .ycd-bootstrap-wrapper .col-lg-7,
1643
+ .ycd-bootstrap-wrapper .col-xs-8,
1644
+ .ycd-bootstrap-wrapper .col-sm-8,
1645
+ .ycd-bootstrap-wrapper .col-md-8,
1646
+ .ycd-bootstrap-wrapper .col-lg-8,
1647
+ .ycd-bootstrap-wrapper .col-xs-9,
1648
+ .ycd-bootstrap-wrapper .col-sm-9,
1649
+ .ycd-bootstrap-wrapper .col-md-9,
1650
+ .ycd-bootstrap-wrapper .col-lg-9,
1651
+ .ycd-bootstrap-wrapper .col-xs-10,
1652
+ .ycd-bootstrap-wrapper .col-sm-10,
1653
+ .ycd-bootstrap-wrapper .col-md-10,
1654
+ .ycd-bootstrap-wrapper .col-lg-10,
1655
+ .ycd-bootstrap-wrapper .col-xs-11,
1656
+ .ycd-bootstrap-wrapper .col-sm-11,
1657
+ .ycd-bootstrap-wrapper .col-md-11,
1658
+ .ycd-bootstrap-wrapper .col-lg-11,
1659
+ .ycd-bootstrap-wrapper .col-xs-12,
1660
+ .ycd-bootstrap-wrapper .col-sm-12,
1661
+ .ycd-bootstrap-wrapper .col-md-12,
1662
+ .ycd-bootstrap-wrapper .col-lg-12 {
1663
+ position: relative;
1664
+ min-height: 1px;
1665
+ padding-right: 15px;
1666
+ padding-left: 15px;
1667
+ }
1668
+ .ycd-bootstrap-wrapper .col-xs-1,
1669
+ .ycd-bootstrap-wrapper .col-xs-2,
1670
+ .ycd-bootstrap-wrapper .col-xs-3,
1671
+ .ycd-bootstrap-wrapper .col-xs-4,
1672
+ .ycd-bootstrap-wrapper .col-xs-5,
1673
+ .ycd-bootstrap-wrapper .col-xs-6,
1674
+ .ycd-bootstrap-wrapper .col-xs-7,
1675
+ .ycd-bootstrap-wrapper .col-xs-8,
1676
+ .ycd-bootstrap-wrapper .col-xs-9,
1677
+ .ycd-bootstrap-wrapper .col-xs-10,
1678
+ .ycd-bootstrap-wrapper .col-xs-11,
1679
+ .ycd-bootstrap-wrapper .col-xs-12 {
1680
+ float: left;
1681
+ }
1682
+ .ycd-bootstrap-wrapper .col-xs-12 {
1683
+ width: 100%;
1684
+ }
1685
+ .ycd-bootstrap-wrapper .col-xs-11 {
1686
+ width: 91.66666667%;
1687
+ }
1688
+ .ycd-bootstrap-wrapper .col-xs-10 {
1689
+ width: 83.33333333%;
1690
+ }
1691
+ .ycd-bootstrap-wrapper .col-xs-9 {
1692
+ width: 75%;
1693
+ }
1694
+ .ycd-bootstrap-wrapper .col-xs-8 {
1695
+ width: 66.66666667%;
1696
+ }
1697
+ .ycd-bootstrap-wrapper .col-xs-7 {
1698
+ width: 58.33333333%;
1699
+ }
1700
+ .ycd-bootstrap-wrapper .col-xs-6 {
1701
+ width: 50%;
1702
+ }
1703
+ .ycd-bootstrap-wrapper .col-xs-5 {
1704
+ width: 41.66666667%;
1705
+ }
1706
+ .ycd-bootstrap-wrapper .col-xs-4 {
1707
+ width: 33.33333333%;
1708
+ }
1709
+ .ycd-bootstrap-wrapper .col-xs-3 {
1710
+ width: 25%;
1711
+ }
1712
+ .ycd-bootstrap-wrapper .col-xs-2 {
1713
+ width: 16.66666667%;
1714
+ }
1715
+ .ycd-bootstrap-wrapper .col-xs-1 {
1716
+ width: 8.33333333%;
1717
+ }
1718
+ .ycd-bootstrap-wrapper .col-xs-pull-12 {
1719
+ right: 100%;
1720
+ }
1721
+ .ycd-bootstrap-wrapper .col-xs-pull-11 {
1722
+ right: 91.66666667%;
1723
+ }
1724
+ .ycd-bootstrap-wrapper .col-xs-pull-10 {
1725
+ right: 83.33333333%;
1726
+ }
1727
+ .ycd-bootstrap-wrapper .col-xs-pull-9 {
1728
+ right: 75%;
1729
+ }
1730
+ .ycd-bootstrap-wrapper .col-xs-pull-8 {
1731
+ right: 66.66666667%;
1732
+ }
1733
+ .ycd-bootstrap-wrapper .col-xs-pull-7 {
1734
+ right: 58.33333333%;
1735
+ }
1736
+ .ycd-bootstrap-wrapper .col-xs-pull-6 {
1737
+ right: 50%;
1738
+ }
1739
+ .ycd-bootstrap-wrapper .col-xs-pull-5 {
1740
+ right: 41.66666667%;
1741
+ }
1742
+ .ycd-bootstrap-wrapper .col-xs-pull-4 {
1743
+ right: 33.33333333%;
1744
+ }
1745
+ .ycd-bootstrap-wrapper .col-xs-pull-3 {
1746
+ right: 25%;
1747
+ }
1748
+ .ycd-bootstrap-wrapper .col-xs-pull-2 {
1749
+ right: 16.66666667%;
1750
+ }
1751
+ .ycd-bootstrap-wrapper .col-xs-pull-1 {
1752
+ right: 8.33333333%;
1753
+ }
1754
+ .ycd-bootstrap-wrapper .col-xs-pull-0 {
1755
+ right: auto;
1756
+ }
1757
+ .ycd-bootstrap-wrapper .col-xs-push-12 {
1758
+ left: 100%;
1759
+ }
1760
+ .ycd-bootstrap-wrapper .col-xs-push-11 {
1761
+ left: 91.66666667%;
1762
+ }
1763
+ .ycd-bootstrap-wrapper .col-xs-push-10 {
1764
+ left: 83.33333333%;
1765
+ }
1766
+ .ycd-bootstrap-wrapper .col-xs-push-9 {
1767
+ left: 75%;
1768
+ }
1769
+ .ycd-bootstrap-wrapper .col-xs-push-8 {
1770
+ left: 66.66666667%;
1771
+ }
1772
+ .ycd-bootstrap-wrapper .col-xs-push-7 {
1773
+ left: 58.33333333%;
1774
+ }
1775
+ .ycd-bootstrap-wrapper .col-xs-push-6 {
1776
+ left: 50%;
1777
+ }
1778
+ .ycd-bootstrap-wrapper .col-xs-push-5 {
1779
+ left: 41.66666667%;
1780
+ }
1781
+ .ycd-bootstrap-wrapper .col-xs-push-4 {
1782
+ left: 33.33333333%;
1783
+ }
1784
+ .ycd-bootstrap-wrapper .col-xs-push-3 {
1785
+ left: 25%;
1786
+ }
1787
+ .ycd-bootstrap-wrapper .col-xs-push-2 {
1788
+ left: 16.66666667%;
1789
+ }
1790
+ .ycd-bootstrap-wrapper .col-xs-push-1 {
1791
+ left: 8.33333333%;
1792
+ }
1793
+ .ycd-bootstrap-wrapper .col-xs-push-0 {
1794
+ left: auto;
1795
+ }
1796
+ .ycd-bootstrap-wrapper .col-xs-offset-12 {
1797
+ margin-left: 100%;
1798
+ }
1799
+ .ycd-bootstrap-wrapper .col-xs-offset-11 {
1800
+ margin-left: 91.66666667%;
1801
+ }
1802
+ .ycd-bootstrap-wrapper .col-xs-offset-10 {
1803
+ margin-left: 83.33333333%;
1804
+ }
1805
+ .ycd-bootstrap-wrapper .col-xs-offset-9 {
1806
+ margin-left: 75%;
1807
+ }
1808
+ .ycd-bootstrap-wrapper .col-xs-offset-8 {
1809
+ margin-left: 66.66666667%;
1810
+ }
1811
+ .ycd-bootstrap-wrapper .col-xs-offset-7 {
1812
+ margin-left: 58.33333333%;
1813
+ }
1814
+ .ycd-bootstrap-wrapper .col-xs-offset-6 {
1815
+ margin-left: 50%;
1816
+ }
1817
+ .ycd-bootstrap-wrapper .col-xs-offset-5 {
1818
+ margin-left: 41.66666667%;
1819
+ }
1820
+ .ycd-bootstrap-wrapper .col-xs-offset-4 {
1821
+ margin-left: 33.33333333%;
1822
+ }
1823
+ .ycd-bootstrap-wrapper .col-xs-offset-3 {
1824
+ margin-left: 25%;
1825
+ }
1826
+ .ycd-bootstrap-wrapper .col-xs-offset-2 {
1827
+ margin-left: 16.66666667%;
1828
+ }
1829
+ .ycd-bootstrap-wrapper .col-xs-offset-1 {
1830
+ margin-left: 8.33333333%;
1831
+ }
1832
+ .ycd-bootstrap-wrapper .col-xs-offset-0 {
1833
+ margin-left: 0;
1834
+ }
1835
+ @media (min-width: 768px) {
1836
+ .ycd-bootstrap-wrapper .col-sm-1,
1837
+ .ycd-bootstrap-wrapper .col-sm-2,
1838
+ .ycd-bootstrap-wrapper .col-sm-3,
1839
+ .ycd-bootstrap-wrapper .col-sm-4,
1840
+ .ycd-bootstrap-wrapper .col-sm-5,
1841
+ .ycd-bootstrap-wrapper .col-sm-6,
1842
+ .ycd-bootstrap-wrapper .col-sm-7,
1843
+ .ycd-bootstrap-wrapper .col-sm-8,
1844
+ .ycd-bootstrap-wrapper .col-sm-9,
1845
+ .ycd-bootstrap-wrapper .col-sm-10,
1846
+ .ycd-bootstrap-wrapper .col-sm-11,
1847
+ .ycd-bootstrap-wrapper .col-sm-12 {
1848
+ float: left;
1849
+ }
1850
+ .ycd-bootstrap-wrapper .col-sm-12 {
1851
+ width: 100%;
1852
+ }
1853
+ .ycd-bootstrap-wrapper .col-sm-11 {
1854
+ width: 91.66666667%;
1855
+ }
1856
+ .ycd-bootstrap-wrapper .col-sm-10 {
1857
+ width: 83.33333333%;
1858
+ }
1859
+ .ycd-bootstrap-wrapper .col-sm-9 {
1860
+ width: 75%;
1861
+ }
1862
+ .ycd-bootstrap-wrapper .col-sm-8 {
1863
+ width: 66.66666667%;
1864
+ }
1865
+ .ycd-bootstrap-wrapper .col-sm-7 {
1866
+ width: 58.33333333%;
1867
+ }
1868
+ .ycd-bootstrap-wrapper .col-sm-6 {
1869
+ width: 50%;
1870
+ }
1871
+ .ycd-bootstrap-wrapper .col-sm-5 {
1872
+ width: 41.66666667%;
1873
+ }
1874
+ .ycd-bootstrap-wrapper .col-sm-4 {
1875
+ width: 33.33333333%;
1876
+ }
1877
+ .ycd-bootstrap-wrapper .col-sm-3 {
1878
+ width: 25%;
1879
+ }
1880
+ .ycd-bootstrap-wrapper .col-sm-2 {
1881
+ width: 16.66666667%;
1882
+ }
1883
+ .ycd-bootstrap-wrapper .col-sm-1 {
1884
+ width: 8.33333333%;
1885
+ }
1886
+ .ycd-bootstrap-wrapper .col-sm-pull-12 {
1887
+ right: 100%;
1888
+ }
1889
+ .ycd-bootstrap-wrapper .col-sm-pull-11 {
1890
+ right: 91.66666667%;
1891
+ }
1892
+ .ycd-bootstrap-wrapper .col-sm-pull-10 {
1893
+ right: 83.33333333%;
1894
+ }
1895
+ .ycd-bootstrap-wrapper .col-sm-pull-9 {
1896
+ right: 75%;
1897
+ }
1898
+ .ycd-bootstrap-wrapper .col-sm-pull-8 {
1899
+ right: 66.66666667%;
1900
+ }
1901
+ .ycd-bootstrap-wrapper .col-sm-pull-7 {
1902
+ right: 58.33333333%;
1903
+ }
1904
+ .ycd-bootstrap-wrapper .col-sm-pull-6 {
1905
+ right: 50%;
1906
+ }
1907
+ .ycd-bootstrap-wrapper .col-sm-pull-5 {
1908
+ right: 41.66666667%;
1909
+ }
1910
+ .ycd-bootstrap-wrapper .col-sm-pull-4 {
1911
+ right: 33.33333333%;
1912
+ }
1913
+ .ycd-bootstrap-wrapper .col-sm-pull-3 {
1914
+ right: 25%;
1915
+ }
1916
+ .ycd-bootstrap-wrapper .col-sm-pull-2 {
1917
+ right: 16.66666667%;
1918
+ }
1919
+ .ycd-bootstrap-wrapper .col-sm-pull-1 {
1920
+ right: 8.33333333%;
1921
+ }
1922
+ .ycd-bootstrap-wrapper .col-sm-pull-0 {
1923
+ right: auto;
1924
+ }
1925
+ .ycd-bootstrap-wrapper .col-sm-push-12 {
1926
+ left: 100%;
1927
+ }
1928
+ .ycd-bootstrap-wrapper .col-sm-push-11 {
1929
+ left: 91.66666667%;
1930
+ }
1931
+ .ycd-bootstrap-wrapper .col-sm-push-10 {
1932
+ left: 83.33333333%;
1933
+ }
1934
+ .ycd-bootstrap-wrapper .col-sm-push-9 {
1935
+ left: 75%;
1936
+ }
1937
+ .ycd-bootstrap-wrapper .col-sm-push-8 {
1938
+ left: 66.66666667%;
1939
+ }
1940
+ .ycd-bootstrap-wrapper .col-sm-push-7 {
1941
+ left: 58.33333333%;
1942
+ }
1943
+ .ycd-bootstrap-wrapper .col-sm-push-6 {
1944
+ left: 50%;
1945
+ }
1946
+ .ycd-bootstrap-wrapper .col-sm-push-5 {
1947
+ left: 41.66666667%;
1948
+ }
1949
+ .ycd-bootstrap-wrapper .col-sm-push-4 {
1950
+ left: 33.33333333%;
1951
+ }
1952
+ .ycd-bootstrap-wrapper .col-sm-push-3 {
1953
+ left: 25%;
1954
+ }
1955
+ .ycd-bootstrap-wrapper .col-sm-push-2 {
1956
+ left: 16.66666667%;
1957
+ }
1958
+ .ycd-bootstrap-wrapper .col-sm-push-1 {
1959
+ left: 8.33333333%;
1960
+ }
1961
+ .ycd-bootstrap-wrapper .col-sm-push-0 {
1962
+ left: auto;
1963
+ }
1964
+ .ycd-bootstrap-wrapper .col-sm-offset-12 {
1965
+ margin-left: 100%;
1966
+ }
1967
+ .ycd-bootstrap-wrapper .col-sm-offset-11 {
1968
+ margin-left: 91.66666667%;
1969
+ }
1970
+ .ycd-bootstrap-wrapper .col-sm-offset-10 {
1971
+ margin-left: 83.33333333%;
1972
+ }
1973
+ .ycd-bootstrap-wrapper .col-sm-offset-9 {
1974
+ margin-left: 75%;
1975
+ }
1976
+ .ycd-bootstrap-wrapper .col-sm-offset-8 {
1977
+ margin-left: 66.66666667%;
1978
+ }
1979
+ .ycd-bootstrap-wrapper .col-sm-offset-7 {
1980
+ margin-left: 58.33333333%;
1981
+ }
1982
+ .ycd-bootstrap-wrapper .col-sm-offset-6 {
1983
+ margin-left: 50%;
1984
+ }
1985
+ .ycd-bootstrap-wrapper .col-sm-offset-5 {
1986
+ margin-left: 41.66666667%;
1987
+ }
1988
+ .ycd-bootstrap-wrapper .col-sm-offset-4 {
1989
+ margin-left: 33.33333333%;
1990
+ }
1991
+ .ycd-bootstrap-wrapper .col-sm-offset-3 {
1992
+ margin-left: 25%;
1993
+ }
1994
+ .ycd-bootstrap-wrapper .col-sm-offset-2 {
1995
+ margin-left: 16.66666667%;
1996
+ }
1997
+ .ycd-bootstrap-wrapper .col-sm-offset-1 {
1998
+ margin-left: 8.33333333%;
1999
+ }
2000
+ .ycd-bootstrap-wrapper .col-sm-offset-0 {
2001
+ margin-left: 0;
2002
+ }
2003
+ }
2004
+ @media (min-width: 992px) {
2005
+ .ycd-bootstrap-wrapper .col-md-1,
2006
+ .ycd-bootstrap-wrapper .col-md-2,
2007
+ .ycd-bootstrap-wrapper .col-md-3,
2008
+ .ycd-bootstrap-wrapper .col-md-4,
2009
+ .ycd-bootstrap-wrapper .col-md-5,
2010
+ .ycd-bootstrap-wrapper .col-md-6,
2011
+ .ycd-bootstrap-wrapper .col-md-7,
2012
+ .ycd-bootstrap-wrapper .col-md-8,
2013
+ .ycd-bootstrap-wrapper .col-md-9,
2014
+ .ycd-bootstrap-wrapper .col-md-10,
2015
+ .ycd-bootstrap-wrapper .col-md-11,
2016
+ .ycd-bootstrap-wrapper .col-md-12 {
2017
+ float: left;
2018
+ }
2019
+ .ycd-bootstrap-wrapper .col-md-12 {
2020
+ width: 100%;
2021
+ }
2022
+ .ycd-bootstrap-wrapper .col-md-11 {
2023
+ width: 91.66666667%;
2024
+ }
2025
+ .ycd-bootstrap-wrapper .col-md-10 {
2026
+ width: 83.33333333%;
2027
+ }
2028
+ .ycd-bootstrap-wrapper .col-md-9 {
2029
+ width: 75%;
2030
+ }
2031
+ .ycd-bootstrap-wrapper .col-md-8 {
2032
+ width: 66.66666667%;
2033
+ }
2034
+ .ycd-bootstrap-wrapper .col-md-7 {
2035
+ width: 58.33333333%;
2036
+ }
2037
+ .ycd-bootstrap-wrapper .col-md-6 {
2038
+ width: 50%;
2039
+ }
2040
+ .ycd-bootstrap-wrapper .col-md-5 {
2041
+ width: 41.66666667%;
2042
+ }
2043
+ .ycd-bootstrap-wrapper .col-md-4 {
2044
+ width: 33.33333333%;
2045
+ }
2046
+ .ycd-bootstrap-wrapper .col-md-3 {
2047
+ width: 25%;
2048
+ }
2049
+ .ycd-bootstrap-wrapper .col-md-2 {
2050
+ width: 16.66666667%;
2051
+ }
2052
+ .ycd-bootstrap-wrapper .col-md-1 {
2053
+ width: 8.33333333%;
2054
+ }
2055
+ .ycd-bootstrap-wrapper .col-md-pull-12 {
2056
+ right: 100%;
2057
+ }
2058
+ .ycd-bootstrap-wrapper .col-md-pull-11 {
2059
+ right: 91.66666667%;
2060
+ }
2061
+ .ycd-bootstrap-wrapper .col-md-pull-10 {
2062
+ right: 83.33333333%;
2063
+ }
2064
+ .ycd-bootstrap-wrapper .col-md-pull-9 {
2065
+ right: 75%;
2066
+ }
2067
+ .ycd-bootstrap-wrapper .col-md-pull-8 {
2068
+ right: 66.66666667%;
2069
+ }
2070
+ .ycd-bootstrap-wrapper .col-md-pull-7 {
2071
+ right: 58.33333333%;
2072
+ }
2073
+ .ycd-bootstrap-wrapper .col-md-pull-6 {
2074
+ right: 50%;
2075
+ }
2076
+ .ycd-bootstrap-wrapper .col-md-pull-5 {
2077
+ right: 41.66666667%;
2078
+ }
2079
+ .ycd-bootstrap-wrapper .col-md-pull-4 {
2080
+ right: 33.33333333%;
2081
+ }
2082
+ .ycd-bootstrap-wrapper .col-md-pull-3 {
2083
+ right: 25%;
2084
+ }
2085
+ .ycd-bootstrap-wrapper .col-md-pull-2 {
2086
+ right: 16.66666667%;
2087
+ }
2088
+ .ycd-bootstrap-wrapper .col-md-pull-1 {
2089
+ right: 8.33333333%;
2090
+ }
2091
+ .ycd-bootstrap-wrapper .col-md-pull-0 {
2092
+ right: auto;
2093
+ }
2094
+ .ycd-bootstrap-wrapper .col-md-push-12 {
2095
+ left: 100%;
2096
+ }
2097
+ .ycd-bootstrap-wrapper .col-md-push-11 {
2098
+ left: 91.66666667%;
2099
+ }
2100
+ .ycd-bootstrap-wrapper .col-md-push-10 {
2101
+ left: 83.33333333%;
2102
+ }
2103
+ .ycd-bootstrap-wrapper .col-md-push-9 {
2104
+ left: 75%;
2105
+ }
2106
+ .ycd-bootstrap-wrapper .col-md-push-8 {
2107
+ left: 66.66666667%;
2108
+ }
2109
+ .ycd-bootstrap-wrapper .col-md-push-7 {
2110
+ left: 58.33333333%;
2111
+ }
2112
+ .ycd-bootstrap-wrapper .col-md-push-6 {
2113
+ left: 50%;
2114
+ }
2115
+ .ycd-bootstrap-wrapper .col-md-push-5 {
2116
+ left: 41.66666667%;
2117
+ }
2118
+ .ycd-bootstrap-wrapper .col-md-push-4 {
2119
+ left: 33.33333333%;
2120
+ }
2121
+ .ycd-bootstrap-wrapper .col-md-push-3 {
2122
+ left: 25%;
2123
+ }
2124
+ .ycd-bootstrap-wrapper .col-md-push-2 {
2125
+ left: 16.66666667%;
2126
+ }
2127
+ .ycd-bootstrap-wrapper .col-md-push-1 {
2128
+ left: 8.33333333%;
2129
+ }
2130
+ .ycd-bootstrap-wrapper .col-md-push-0 {
2131
+ left: auto;
2132
+ }
2133
+ .ycd-bootstrap-wrapper .col-md-offset-12 {
2134
+ margin-left: 100%;
2135
+ }
2136
+ .ycd-bootstrap-wrapper .col-md-offset-11 {
2137
+ margin-left: 91.66666667%;
2138
+ }
2139
+ .ycd-bootstrap-wrapper .col-md-offset-10 {
2140
+ margin-left: 83.33333333%;
2141
+ }
2142
+ .ycd-bootstrap-wrapper .col-md-offset-9 {
2143
+ margin-left: 75%;
2144
+ }
2145
+ .ycd-bootstrap-wrapper .col-md-offset-8 {
2146
+ margin-left: 66.66666667%;
2147
+ }
2148
+ .ycd-bootstrap-wrapper .col-md-offset-7 {
2149
+ margin-left: 58.33333333%;
2150
+ }
2151
+ .ycd-bootstrap-wrapper .col-md-offset-6 {
2152
+ margin-left: 50%;
2153
+ }
2154
+ .ycd-bootstrap-wrapper .col-md-offset-5 {
2155
+ margin-left: 41.66666667%;
2156
+ }
2157
+ .ycd-bootstrap-wrapper .col-md-offset-4 {
2158
+ margin-left: 33.33333333%;
2159
+ }
2160
+ .ycd-bootstrap-wrapper .col-md-offset-3 {
2161
+ margin-left: 25%;
2162
+ }
2163
+ .ycd-bootstrap-wrapper .col-md-offset-2 {
2164
+ margin-left: 16.66666667%;
2165
+ }
2166
+ .ycd-bootstrap-wrapper .col-md-offset-1 {
2167
+ margin-left: 8.33333333%;
2168
+ }
2169
+ .ycd-bootstrap-wrapper .col-md-offset-0 {
2170
+ margin-left: 0;
2171
+ }
2172
+ }
2173
+ @media (min-width: 1200px) {
2174
+ .ycd-bootstrap-wrapper .col-lg-1,
2175
+ .ycd-bootstrap-wrapper .col-lg-2,
2176
+ .ycd-bootstrap-wrapper .col-lg-3,
2177
+ .ycd-bootstrap-wrapper .col-lg-4,
2178
+ .ycd-bootstrap-wrapper .col-lg-5,
2179
+ .ycd-bootstrap-wrapper .col-lg-6,
2180
+ .ycd-bootstrap-wrapper .col-lg-7,
2181
+ .ycd-bootstrap-wrapper .col-lg-8,
2182
+ .ycd-bootstrap-wrapper .col-lg-9,
2183
+ .ycd-bootstrap-wrapper .col-lg-10,
2184
+ .ycd-bootstrap-wrapper .col-lg-11,
2185
+ .ycd-bootstrap-wrapper .col-lg-12 {
2186
+ float: left;
2187
+ }
2188
+ .ycd-bootstrap-wrapper .col-lg-12 {
2189
+ width: 100%;
2190
+ }
2191
+ .ycd-bootstrap-wrapper .col-lg-11 {
2192
+ width: 91.66666667%;
2193
+ }
2194
+ .ycd-bootstrap-wrapper .col-lg-10 {
2195
+ width: 83.33333333%;
2196
+ }
2197
+ .ycd-bootstrap-wrapper .col-lg-9 {
2198
+ width: 75%;
2199
+ }
2200
+ .ycd-bootstrap-wrapper .col-lg-8 {
2201
+ width: 66.66666667%;
2202
+ }
2203
+ .ycd-bootstrap-wrapper .col-lg-7 {
2204
+ width: 58.33333333%;
2205
+ }
2206
+ .ycd-bootstrap-wrapper .col-lg-6 {
2207
+ width: 50%;
2208
+ }
2209
+ .ycd-bootstrap-wrapper .col-lg-5 {
2210
+ width: 41.66666667%;
2211
+ }
2212
+ .ycd-bootstrap-wrapper .col-lg-4 {
2213
+ width: 33.33333333%;
2214
+ }
2215
+ .ycd-bootstrap-wrapper .col-lg-3 {
2216
+ width: 25%;
2217
+ }
2218
+ .ycd-bootstrap-wrapper .col-lg-2 {
2219
+ width: 16.66666667%;
2220
+ }
2221
+ .ycd-bootstrap-wrapper .col-lg-1 {
2222
+ width: 8.33333333%;
2223
+ }
2224
+ .ycd-bootstrap-wrapper .col-lg-pull-12 {
2225
+ right: 100%;
2226
+ }
2227
+ .ycd-bootstrap-wrapper .col-lg-pull-11 {
2228
+ right: 91.66666667%;
2229
+ }
2230
+ .ycd-bootstrap-wrapper .col-lg-pull-10 {
2231
+ right: 83.33333333%;
2232
+ }
2233
+ .ycd-bootstrap-wrapper .col-lg-pull-9 {
2234
+ right: 75%;
2235
+ }
2236
+ .ycd-bootstrap-wrapper .col-lg-pull-8 {
2237
+ right: 66.66666667%;
2238
+ }
2239
+ .ycd-bootstrap-wrapper .col-lg-pull-7 {
2240
+ right: 58.33333333%;
2241
+ }
2242
+ .ycd-bootstrap-wrapper .col-lg-pull-6 {
2243
+ right: 50%;
2244
+ }
2245
+ .ycd-bootstrap-wrapper .col-lg-pull-5 {
2246
+ right: 41.66666667%;
2247
+ }
2248
+ .ycd-bootstrap-wrapper .col-lg-pull-4 {
2249
+ right: 33.33333333%;
2250
+ }
2251
+ .ycd-bootstrap-wrapper .col-lg-pull-3 {
2252
+ right: 25%;
2253
+ }
2254
+ .ycd-bootstrap-wrapper .col-lg-pull-2 {
2255
+ right: 16.66666667%;
2256
+ }
2257
+ .ycd-bootstrap-wrapper .col-lg-pull-1 {
2258
+ right: 8.33333333%;
2259
+ }
2260
+ .ycd-bootstrap-wrapper .col-lg-pull-0 {
2261
+ right: auto;
2262
+ }
2263
+ .ycd-bootstrap-wrapper .col-lg-push-12 {
2264
+ left: 100%;
2265
+ }
2266
+ .ycd-bootstrap-wrapper .col-lg-push-11 {
2267
+ left: 91.66666667%;
2268
+ }
2269
+ .ycd-bootstrap-wrapper .col-lg-push-10 {
2270
+ left: 83.33333333%;
2271
+ }
2272
+ .ycd-bootstrap-wrapper .col-lg-push-9 {
2273
+ left: 75%;
2274
+ }
2275
+ .ycd-bootstrap-wrapper .col-lg-push-8 {
2276
+ left: 66.66666667%;
2277
+ }
2278
+ .ycd-bootstrap-wrapper .col-lg-push-7 {
2279
+ left: 58.33333333%;
2280
+ }
2281
+ .ycd-bootstrap-wrapper .col-lg-push-6 {
2282
+ left: 50%;
2283
+ }
2284
+ .ycd-bootstrap-wrapper .col-lg-push-5 {
2285
+ left: 41.66666667%;
2286
+ }
2287
+ .ycd-bootstrap-wrapper .col-lg-push-4 {
2288
+ left: 33.33333333%;
2289
+ }
2290
+ .ycd-bootstrap-wrapper .col-lg-push-3 {
2291
+ left: 25%;
2292
+ }
2293
+ .ycd-bootstrap-wrapper .col-lg-push-2 {
2294
+ left: 16.66666667%;
2295
+ }
2296
+ .ycd-bootstrap-wrapper .col-lg-push-1 {
2297
+ left: 8.33333333%;
2298
+ }
2299
+ .ycd-bootstrap-wrapper .col-lg-push-0 {
2300
+ left: auto;
2301
+ }
2302
+ .ycd-bootstrap-wrapper .col-lg-offset-12 {
2303
+ margin-left: 100%;
2304
+ }
2305
+ .ycd-bootstrap-wrapper .col-lg-offset-11 {
2306
+ margin-left: 91.66666667%;
2307
+ }
2308
+ .ycd-bootstrap-wrapper .col-lg-offset-10 {
2309
+ margin-left: 83.33333333%;
2310
+ }
2311
+ .ycd-bootstrap-wrapper .col-lg-offset-9 {
2312
+ margin-left: 75%;
2313
+ }
2314
+ .ycd-bootstrap-wrapper .col-lg-offset-8 {
2315
+ margin-left: 66.66666667%;
2316
+ }
2317
+ .ycd-bootstrap-wrapper .col-lg-offset-7 {
2318
+ margin-left: 58.33333333%;
2319
+ }
2320
+ .ycd-bootstrap-wrapper .col-lg-offset-6 {
2321
+ margin-left: 50%;
2322
+ }
2323
+ .ycd-bootstrap-wrapper .col-lg-offset-5 {
2324
+ margin-left: 41.66666667%;
2325
+ }
2326
+ .ycd-bootstrap-wrapper .col-lg-offset-4 {
2327
+ margin-left: 33.33333333%;
2328
+ }
2329
+ .ycd-bootstrap-wrapper .col-lg-offset-3 {
2330
+ margin-left: 25%;
2331
+ }
2332
+ .ycd-bootstrap-wrapper .col-lg-offset-2 {
2333
+ margin-left: 16.66666667%;
2334
+ }
2335
+ .ycd-bootstrap-wrapper .col-lg-offset-1 {
2336
+ margin-left: 8.33333333%;
2337
+ }
2338
+ .ycd-bootstrap-wrapper .col-lg-offset-0 {
2339
+ margin-left: 0;
2340
+ }
2341
+ }
2342
+ .ycd-bootstrap-wrapper table {
2343
+ background-color: transparent;
2344
+ }
2345
+ .ycd-bootstrap-wrapper caption {
2346
+ padding-top: 8px;
2347
+ padding-bottom: 8px;
2348
+ color: #777;
2349
+ text-align: left;
2350
+ }
2351
+ .ycd-bootstrap-wrapper th {
2352
+ text-align: left;
2353
+ }
2354
+ .ycd-bootstrap-wrapper .table {
2355
+ width: 100%;
2356
+ max-width: 100%;
2357
+ margin-bottom: 20px;
2358
+ }
2359
+ .ycd-bootstrap-wrapper .table > thead > tr > th,
2360
+ .ycd-bootstrap-wrapper .table > tbody > tr > th,
2361
+ .ycd-bootstrap-wrapper .table > tfoot > tr > th,
2362
+ .ycd-bootstrap-wrapper .table > thead > tr > td,
2363
+ .ycd-bootstrap-wrapper .table > tbody > tr > td,
2364
+ .ycd-bootstrap-wrapper .table > tfoot > tr > td {
2365
+ padding: 8px;
2366
+ line-height: 1.42857143;
2367
+ vertical-align: top;
2368
+ border-top: 1px solid #ddd;
2369
+ }
2370
+ .ycd-bootstrap-wrapper .table > thead > tr > th {
2371
+ vertical-align: bottom;
2372
+ border-bottom: 2px solid #ddd;
2373
+ }
2374
+ .ycd-bootstrap-wrapper .table > caption + thead > tr:first-child > th,
2375
+ .ycd-bootstrap-wrapper .table > colgroup + thead > tr:first-child > th,
2376
+ .ycd-bootstrap-wrapper .table > thead:first-child > tr:first-child > th,
2377
+ .ycd-bootstrap-wrapper .table > caption + thead > tr:first-child > td,
2378
+ .ycd-bootstrap-wrapper .table > colgroup + thead > tr:first-child > td,
2379
+ .ycd-bootstrap-wrapper .table > thead:first-child > tr:first-child > td {
2380
+ border-top: 0;
2381
+ }
2382
+ .ycd-bootstrap-wrapper .table > tbody + tbody {
2383
+ border-top: 2px solid #ddd;
2384
+ }
2385
+ .ycd-bootstrap-wrapper .table .table {
2386
+ background-color: #fff;
2387
+ }
2388
+ .ycd-bootstrap-wrapper .table-condensed > thead > tr > th,
2389
+ .ycd-bootstrap-wrapper .table-condensed > tbody > tr > th,
2390
+ .ycd-bootstrap-wrapper .table-condensed > tfoot > tr > th,
2391
+ .ycd-bootstrap-wrapper .table-condensed > thead > tr > td,
2392
+ .ycd-bootstrap-wrapper .table-condensed > tbody > tr > td,
2393
+ .ycd-bootstrap-wrapper .table-condensed > tfoot > tr > td {
2394
+ padding: 5px;
2395
+ }
2396
+ .ycd-bootstrap-wrapper .table-bordered {
2397
+ border: 1px solid #ddd;
2398
+ }
2399
+ .ycd-bootstrap-wrapper .table-bordered > thead > tr > th,
2400
+ .ycd-bootstrap-wrapper .table-bordered > tbody > tr > th,
2401
+ .ycd-bootstrap-wrapper .table-bordered > tfoot > tr > th,
2402
+ .ycd-bootstrap-wrapper .table-bordered > thead > tr > td,
2403
+ .ycd-bootstrap-wrapper .table-bordered > tbody > tr > td,
2404
+ .ycd-bootstrap-wrapper .table-bordered > tfoot > tr > td {
2405
+ border: 1px solid #ddd;
2406
+ }
2407
+ .ycd-bootstrap-wrapper .table-bordered > thead > tr > th,
2408
+ .ycd-bootstrap-wrapper .table-bordered > thead > tr > td {
2409
+ border-bottom-width: 2px;
2410
+ }
2411
+ .ycd-bootstrap-wrapper .table-striped > tbody > tr:nth-of-type(odd) {
2412
+ background-color: #f9f9f9;
2413
+ }
2414
+ .ycd-bootstrap-wrapper .table-hover > tbody > tr:hover {
2415
+ background-color: #f5f5f5;
2416
+ }
2417
+ .ycd-bootstrap-wrapper table col[class*="col-"] {
2418
+ position: static;
2419
+ display: table-column;
2420
+ float: none;
2421
+ }
2422
+ .ycd-bootstrap-wrapper table td[class*="col-"],
2423
+ .ycd-bootstrap-wrapper table th[class*="col-"] {
2424
+ position: static;
2425
+ display: table-cell;
2426
+ float: none;
2427
+ }
2428
+ .ycd-bootstrap-wrapper .table > thead > tr > td.active,
2429
+ .ycd-bootstrap-wrapper .table > tbody > tr > td.active,
2430
+ .ycd-bootstrap-wrapper .table > tfoot > tr > td.active,
2431
+ .ycd-bootstrap-wrapper .table > thead > tr > th.active,
2432
+ .ycd-bootstrap-wrapper .table > tbody > tr > th.active,
2433
+ .ycd-bootstrap-wrapper .table > tfoot > tr > th.active,
2434
+ .ycd-bootstrap-wrapper .table > thead > tr.active > td,
2435
+ .ycd-bootstrap-wrapper .table > tbody > tr.active > td,
2436
+ .ycd-bootstrap-wrapper .table > tfoot > tr.active > td,
2437
+ .ycd-bootstrap-wrapper .table > thead > tr.active > th,
2438
+ .ycd-bootstrap-wrapper .table > tbody > tr.active > th,
2439
+ .ycd-bootstrap-wrapper .table > tfoot > tr.active > th {
2440
+ background-color: #f5f5f5;
2441
+ }
2442
+ .ycd-bootstrap-wrapper .table-hover > tbody > tr > td.active:hover,
2443
+ .ycd-bootstrap-wrapper .table-hover > tbody > tr > th.active:hover,
2444
+ .ycd-bootstrap-wrapper .table-hover > tbody > tr.active:hover > td,
2445
+ .ycd-bootstrap-wrapper .table-hover > tbody > tr:hover > .active,
2446
+ .ycd-bootstrap-wrapper .table-hover > tbody > tr.active:hover > th {
2447
+ background-color: #e8e8e8;
2448
+ }
2449
+ .ycd-bootstrap-wrapper .table > thead > tr > td.success,
2450
+ .ycd-bootstrap-wrapper .table > tbody > tr > td.success,
2451
+ .ycd-bootstrap-wrapper .table > tfoot > tr > td.success,
2452
+ .ycd-bootstrap-wrapper .table > thead > tr > th.success,
2453
+ .ycd-bootstrap-wrapper .table > tbody > tr > th.success,
2454
+ .ycd-bootstrap-wrapper .table > tfoot > tr > th.success,
2455
+ .ycd-bootstrap-wrapper .table > thead > tr.success > td,
2456
+ .ycd-bootstrap-wrapper .table > tbody > tr.success > td,
2457
+ .ycd-bootstrap-wrapper .table > tfoot > tr.success > td,
2458
+ .ycd-bootstrap-wrapper .table > thead > tr.success > th,
2459
+ .ycd-bootstrap-wrapper .table > tbody > tr.success > th,
2460
+ .ycd-bootstrap-wrapper .table > tfoot > tr.success > th {
2461
+ background-color: #dff0d8;
2462
+ }
2463
+ .ycd-bootstrap-wrapper .table-hover > tbody > tr > td.success:hover,
2464
+ .ycd-bootstrap-wrapper .table-hover > tbody > tr > th.success:hover,
2465
+ .ycd-bootstrap-wrapper .table-hover > tbody > tr.success:hover > td,
2466
+ .ycd-bootstrap-wrapper .table-hover > tbody > tr:hover > .success,
2467
+ .ycd-bootstrap-wrapper .table-hover > tbody > tr.success:hover > th {
2468
+ background-color: #d0e9c6;
2469
+ }
2470
+ .ycd-bootstrap-wrapper .table > thead > tr > td.info,
2471
+ .ycd-bootstrap-wrapper .table > tbody > tr > td.info,
2472
+ .ycd-bootstrap-wrapper .table > tfoot > tr > td.info,
2473
+ .ycd-bootstrap-wrapper .table > thead > tr > th.info,
2474
+ .ycd-bootstrap-wrapper .table > tbody > tr > th.info,
2475
+ .ycd-bootstrap-wrapper .table > tfoot > tr > th.info,
2476
+ .ycd-bootstrap-wrapper .table > thead > tr.info > td,
2477
+ .ycd-bootstrap-wrapper .table > tbody > tr.info > td,
2478
+ .ycd-bootstrap-wrapper .table > tfoot > tr.info > td,
2479
+ .ycd-bootstrap-wrapper .table > thead > tr.info > th,
2480
+ .ycd-bootstrap-wrapper .table > tbody > tr.info > th,
2481
+ .ycd-bootstrap-wrapper .table > tfoot > tr.info > th {
2482
+ background-color: #d9edf7;
2483
+ }
2484
+ .ycd-bootstrap-wrapper .table-hover > tbody > tr > td.info:hover,
2485
+ .ycd-bootstrap-wrapper .table-hover > tbody > tr > th.info:hover,
2486
+ .ycd-bootstrap-wrapper .table-hover > tbody > tr.info:hover > td,
2487
+ .ycd-bootstrap-wrapper .table-hover > tbody > tr:hover > .info,
2488
+ .ycd-bootstrap-wrapper .table-hover > tbody > tr.info:hover > th {
2489
+ background-color: #c4e3f3;
2490
+ }
2491
+ .ycd-bootstrap-wrapper .table > thead > tr > td.warning,
2492
+ .ycd-bootstrap-wrapper .table > tbody > tr > td.warning,
2493
+ .ycd-bootstrap-wrapper .table > tfoot > tr > td.warning,
2494
+ .ycd-bootstrap-wrapper .table > thead > tr > th.warning,
2495
+ .ycd-bootstrap-wrapper .table > tbody > tr > th.warning,
2496
+ .ycd-bootstrap-wrapper .table > tfoot > tr > th.warning,
2497
+ .ycd-bootstrap-wrapper .table > thead > tr.warning > td,
2498
+ .ycd-bootstrap-wrapper .table > tbody > tr.warning > td,
2499
+ .ycd-bootstrap-wrapper .table > tfoot > tr.warning > td,
2500
+ .ycd-bootstrap-wrapper .table > thead > tr.warning > th,
2501
+ .ycd-bootstrap-wrapper .table > tbody > tr.warning > th,
2502
+ .ycd-bootstrap-wrapper .table > tfoot > tr.warning > th {
2503
+ background-color: #fcf8e3;
2504
+ }
2505
+ .ycd-bootstrap-wrapper .table-hover > tbody > tr > td.warning:hover,
2506
+ .ycd-bootstrap-wrapper .table-hover > tbody > tr > th.warning:hover,
2507
+ .ycd-bootstrap-wrapper .table-hover > tbody > tr.warning:hover > td,
2508
+ .ycd-bootstrap-wrapper .table-hover > tbody > tr:hover > .warning,
2509
+ .ycd-bootstrap-wrapper .table-hover > tbody > tr.warning:hover > th {
2510
+ background-color: #faf2cc;
2511
+ }
2512
+ .ycd-bootstrap-wrapper .table > thead > tr > td.danger,
2513
+ .ycd-bootstrap-wrapper .table > tbody > tr > td.danger,
2514
+ .ycd-bootstrap-wrapper .table > tfoot > tr > td.danger,
2515
+ .ycd-bootstrap-wrapper .table > thead > tr > th.danger,
2516
+ .ycd-bootstrap-wrapper .table > tbody > tr > th.danger,
2517
+ .ycd-bootstrap-wrapper .table > tfoot > tr > th.danger,
2518
+ .ycd-bootstrap-wrapper .table > thead > tr.danger > td,
2519
+ .ycd-bootstrap-wrapper .table > tbody > tr.danger > td,
2520
+ .ycd-bootstrap-wrapper .table > tfoot > tr.danger > td,
2521
+ .ycd-bootstrap-wrapper .table > thead > tr.danger > th,
2522
+ .ycd-bootstrap-wrapper .table > tbody > tr.danger > th,
2523
+ .ycd-bootstrap-wrapper .table > tfoot > tr.danger > th {
2524
+ background-color: #f2dede;
2525
+ }
2526
+ .ycd-bootstrap-wrapper .table-hover > tbody > tr > td.danger:hover,
2527
+ .ycd-bootstrap-wrapper .table-hover > tbody > tr > th.danger:hover,
2528
+ .ycd-bootstrap-wrapper .table-hover > tbody > tr.danger:hover > td,
2529
+ .ycd-bootstrap-wrapper .table-hover > tbody > tr:hover > .danger,
2530
+ .ycd-bootstrap-wrapper .table-hover > tbody > tr.danger:hover > th {
2531
+ background-color: #ebcccc;
2532
+ }
2533
+ .ycd-bootstrap-wrapper .table-responsive {
2534
+ min-height: .01%;
2535
+ overflow-x: auto;
2536
+ }
2537
+ @media screen and (max-width: 767px) {
2538
+ .ycd-bootstrap-wrapper .table-responsive {
2539
+ width: 100%;
2540
+ margin-bottom: 15px;
2541
+ overflow-y: hidden;
2542
+ -ms-overflow-style: -ms-autohiding-scrollbar;
2543
+ border: 1px solid #ddd;
2544
+ }
2545
+ .ycd-bootstrap-wrapper .table-responsive > .table {
2546
+ margin-bottom: 0;
2547
+ }
2548
+ .ycd-bootstrap-wrapper .table-responsive > .table > thead > tr > th,
2549
+ .ycd-bootstrap-wrapper .table-responsive > .table > tbody > tr > th,
2550
+ .ycd-bootstrap-wrapper .table-responsive > .table > tfoot > tr > th,
2551
+ .ycd-bootstrap-wrapper .table-responsive > .table > thead > tr > td,
2552
+ .ycd-bootstrap-wrapper .table-responsive > .table > tbody > tr > td,
2553
+ .ycd-bootstrap-wrapper .table-responsive > .table > tfoot > tr > td {
2554
+ white-space: nowrap;
2555
+ }
2556
+ .ycd-bootstrap-wrapper .table-responsive > .table-bordered {
2557
+ border: 0;
2558
+ }
2559
+ .ycd-bootstrap-wrapper .table-responsive > .table-bordered > thead > tr > th:first-child,
2560
+ .ycd-bootstrap-wrapper .table-responsive > .table-bordered > tbody > tr > th:first-child,
2561
+ .ycd-bootstrap-wrapper .table-responsive > .table-bordered > tfoot > tr > th:first-child,
2562
+ .ycd-bootstrap-wrapper .table-responsive > .table-bordered > thead > tr > td:first-child,
2563
+ .ycd-bootstrap-wrapper .table-responsive > .table-bordered > tbody > tr > td:first-child,
2564
+ .ycd-bootstrap-wrapper .table-responsive > .table-bordered > tfoot > tr > td:first-child {
2565
+ border-left: 0;
2566
+ }
2567
+ .ycd-bootstrap-wrapper .table-responsive > .table-bordered > thead > tr > th:last-child,
2568
+ .ycd-bootstrap-wrapper .table-responsive > .table-bordered > tbody > tr > th:last-child,
2569
+ .ycd-bootstrap-wrapper .table-responsive > .table-bordered > tfoot > tr > th:last-child,
2570
+ .ycd-bootstrap-wrapper .table-responsive > .table-bordered > thead > tr > td:last-child,
2571
+ .ycd-bootstrap-wrapper .table-responsive > .table-bordered > tbody > tr > td:last-child,
2572
+ .ycd-bootstrap-wrapper .table-responsive > .table-bordered > tfoot > tr > td:last-child {
2573
+ border-right: 0;
2574
+ }
2575
+ .ycd-bootstrap-wrapper .table-responsive > .table-bordered > tbody > tr:last-child > th,
2576
+ .ycd-bootstrap-wrapper .table-responsive > .table-bordered > tfoot > tr:last-child > th,
2577
+ .ycd-bootstrap-wrapper .table-responsive > .table-bordered > tbody > tr:last-child > td,
2578
+ .ycd-bootstrap-wrapper .table-responsive > .table-bordered > tfoot > tr:last-child > td {
2579
+ border-bottom: 0;
2580
+ }
2581
+ }
2582
+ .ycd-bootstrap-wrapper fieldset {
2583
+ min-width: 0;
2584
+ padding: 0;
2585
+ margin: 0;
2586
+ border: 0;
2587
+ }
2588
+ .ycd-bootstrap-wrapper legend {
2589
+ display: block;
2590
+ width: 100%;
2591
+ padding: 0;
2592
+ margin-bottom: 20px;
2593
+ font-size: 21px;
2594
+ line-height: inherit;
2595
+ color: #333;
2596
+ border: 0;
2597
+ border-bottom: 1px solid #e5e5e5;
2598
+ }
2599
+ .ycd-bootstrap-wrapper label {
2600
+ display: inline-block;
2601
+ max-width: 100%;
2602
+ margin-bottom: 5px;
2603
+ font-weight: bold;
2604
+ }
2605
+ .ycd-bootstrap-wrapper input[type="search"] {
2606
+ -webkit-box-sizing: border-box;
2607
+ -moz-box-sizing: border-box;
2608
+ box-sizing: border-box;
2609
+ }
2610
+ .ycd-bootstrap-wrapper input[type="radio"],
2611
+ .ycd-bootstrap-wrapper input[type="checkbox"] {
2612
+ margin: 4px 0 0;
2613
+ margin-top: 1px \9;
2614
+ line-height: normal;
2615
+ }
2616
+ .ycd-bootstrap-wrapper input[type="file"] {
2617
+ display: block;
2618
+ }
2619
+ .ycd-bootstrap-wrapper input[type="range"] {
2620
+ display: block;
2621
+ width: 100%;
2622
+ }
2623
+ .ycd-bootstrap-wrapper select[multiple],
2624
+ .ycd-bootstrap-wrapper select[size] {
2625
+ height: auto;
2626
+ }
2627
+ .ycd-bootstrap-wrapper input[type="file"]:focus,
2628
+ .ycd-bootstrap-wrapper input[type="radio"]:focus,
2629
+ .ycd-bootstrap-wrapper input[type="checkbox"]:focus {
2630
+ outline: thin dotted;
2631
+ outline: 5px auto -webkit-focus-ring-color;
2632
+ outline-offset: -2px;
2633
+ }
2634
+ .ycd-bootstrap-wrapper output {
2635
+ display: block;
2636
+ padding-top: 7px;
2637
+ font-size: 14px;
2638
+ line-height: 1.42857143;
2639
+ color: #555;
2640
+ }
2641
+ .ycd-bootstrap-wrapper .form-control {
2642
+ display: block;
2643
+ width: 100%;
2644
+ height: 34px;
2645
+ padding: 6px 12px;
2646
+ font-size: 14px;
2647
+ line-height: 1.42857143;
2648
+ color: #555;
2649
+ background-color: #fff;
2650
+ background-image: none;
2651
+ border: 1px solid #ccc;
2652
+ border-radius: 4px;
2653
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
2654
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
2655
+ -webkit-transition: border-color ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s;
2656
+ -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
2657
+ transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
2658
+ }
2659
+ .ycd-bootstrap-wrapper .form-control:focus {
2660
+ border-color: #66afe9;
2661
+ outline: 0;
2662
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
2663
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
2664
+ }
2665
+ .ycd-bootstrap-wrapper .form-control::-moz-placeholder {
2666
+ color: #999;
2667
+ opacity: 1;
2668
+ }
2669
+ .ycd-bootstrap-wrapper .form-control:-ms-input-placeholder {
2670
+ color: #999;
2671
+ }
2672
+ .ycd-bootstrap-wrapper .form-control::-webkit-input-placeholder {
2673
+ color: #999;
2674
+ }
2675
+ .ycd-bootstrap-wrapper .form-control::-ms-expand {
2676
+ background-color: transparent;
2677
+ border: 0;
2678
+ }
2679
+ .ycd-bootstrap-wrapper .form-control[disabled],
2680
+ .ycd-bootstrap-wrapper .form-control[readonly],
2681
+ .ycd-bootstrap-wrapper fieldset[disabled] .form-control {
2682
+ background-color: #eee;
2683
+ opacity: 1;
2684
+ }
2685
+ .ycd-bootstrap-wrapper .form-control[disabled],
2686
+ .ycd-bootstrap-wrapper fieldset[disabled] .form-control {
2687
+ cursor: not-allowed;
2688
+ }
2689
+ .ycd-bootstrap-wrapper textarea.form-control {
2690
+ height: auto;
2691
+ }
2692
+ .ycd-bootstrap-wrapper input[type="search"] {
2693
+ -webkit-appearance: none;
2694
+ }
2695
+ @media screen and (-webkit-min-device-pixel-ratio: 0) {
2696
+ .ycd-bootstrap-wrapper input[type="date"].form-control,
2697
+ .ycd-bootstrap-wrapper input[type="time"].form-control,
2698
+ .ycd-bootstrap-wrapper input[type="datetime-local"].form-control,
2699
+ .ycd-bootstrap-wrapper input[type="month"].form-control {
2700
+ line-height: 34px;
2701
+ }
2702
+ .ycd-bootstrap-wrapper input[type="date"].input-sm,
2703
+ .ycd-bootstrap-wrapper input[type="time"].input-sm,
2704
+ .ycd-bootstrap-wrapper input[type="datetime-local"].input-sm,
2705
+ .ycd-bootstrap-wrapper input[type="month"].input-sm,
2706
+ .ycd-bootstrap-wrapper .input-group-sm input[type="date"],
2707
+ .ycd-bootstrap-wrapper .input-group-sm input[type="time"],
2708
+ .ycd-bootstrap-wrapper .input-group-sm input[type="datetime-local"],
2709
+ .ycd-bootstrap-wrapper .input-group-sm input[type="month"] {
2710
+ line-height: 30px;
2711
+ }
2712
+ .ycd-bootstrap-wrapper input[type="date"].input-lg,
2713
+ .ycd-bootstrap-wrapper input[type="time"].input-lg,
2714
+ .ycd-bootstrap-wrapper input[type="datetime-local"].input-lg,
2715
+ .ycd-bootstrap-wrapper input[type="month"].input-lg,
2716
+ .ycd-bootstrap-wrapper .input-group-lg input[type="date"],
2717
+ .ycd-bootstrap-wrapper .input-group-lg input[type="time"],
2718
+ .ycd-bootstrap-wrapper .input-group-lg input[type="datetime-local"],
2719
+ .ycd-bootstrap-wrapper .input-group-lg input[type="month"] {
2720
+ line-height: 46px;
2721
+ }
2722
+ }
2723
+ .ycd-bootstrap-wrapper .form-group {
2724
+ margin-bottom: 15px;
2725
+ }
2726
+ .ycd-bootstrap-wrapper .radio,
2727
+ .ycd-bootstrap-wrapper .checkbox {
2728
+ position: relative;
2729
+ display: block;
2730
+ margin-top: 10px;
2731
+ margin-bottom: 10px;
2732
+ }
2733
+ .ycd-bootstrap-wrapper .radio label,
2734
+ .ycd-bootstrap-wrapper .checkbox label {
2735
+ min-height: 20px;
2736
+ padding-left: 20px;
2737
+ margin-bottom: 0;
2738
+ font-weight: normal;
2739
+ cursor: pointer;
2740
+ }
2741
+ .ycd-bootstrap-wrapper .radio input[type="radio"],
2742
+ .ycd-bootstrap-wrapper .radio-inline input[type="radio"],
2743
+ .ycd-bootstrap-wrapper .checkbox input[type="checkbox"],
2744
+ .ycd-bootstrap-wrapper .checkbox-inline input[type="checkbox"] {
2745
+ position: absolute;
2746
+ margin-top: 4px \9;
2747
+ margin-left: -20px;
2748
+ }
2749
+ .ycd-bootstrap-wrapper .radio + .radio,
2750
+ .ycd-bootstrap-wrapper .checkbox + .checkbox {
2751
+ margin-top: -5px;
2752
+ }
2753
+ .ycd-bootstrap-wrapper .radio-inline,
2754
+ .ycd-bootstrap-wrapper .checkbox-inline {
2755
+ position: relative;
2756
+ display: inline-block;
2757
+ padding-left: 20px;
2758
+ margin-bottom: 0;
2759
+ font-weight: normal;
2760
+ vertical-align: middle;
2761
+ cursor: pointer;
2762
+ }
2763
+ .ycd-bootstrap-wrapper .radio-inline + .radio-inline,
2764
+ .ycd-bootstrap-wrapper .checkbox-inline + .checkbox-inline {
2765
+ margin-top: 0;
2766
+ margin-left: 10px;
2767
+ }
2768
+ .ycd-bootstrap-wrapper input[type="radio"][disabled],
2769
+ .ycd-bootstrap-wrapper input[type="checkbox"][disabled],
2770
+ .ycd-bootstrap-wrapper input[type="radio"].disabled,
2771
+ .ycd-bootstrap-wrapper input[type="checkbox"].disabled,
2772
+ .ycd-bootstrap-wrapper fieldset[disabled] input[type="radio"],
2773
+ .ycd-bootstrap-wrapper fieldset[disabled] input[type="checkbox"] {
2774
+ cursor: not-allowed;
2775
+ }
2776
+ .ycd-bootstrap-wrapper .radio-inline.disabled,
2777
+ .ycd-bootstrap-wrapper .checkbox-inline.disabled,
2778
+ .ycd-bootstrap-wrapper fieldset[disabled] .radio-inline,
2779
+ .ycd-bootstrap-wrapper fieldset[disabled] .checkbox-inline {
2780
+ cursor: not-allowed;
2781
+ }
2782
+ .ycd-bootstrap-wrapper .radio.disabled label,
2783
+ .ycd-bootstrap-wrapper .checkbox.disabled label,
2784
+ .ycd-bootstrap-wrapper fieldset[disabled] .radio label,
2785
+ .ycd-bootstrap-wrapper fieldset[disabled] .checkbox label {
2786
+ cursor: not-allowed;
2787
+ }
2788
+ .ycd-bootstrap-wrapper .form-control-static {
2789
+ min-height: 34px;
2790
+ padding-top: 7px;
2791
+ padding-bottom: 7px;
2792
+ margin-bottom: 0;
2793
+ }
2794
+ .ycd-bootstrap-wrapper .form-control-static.input-lg,
2795
+ .ycd-bootstrap-wrapper .form-control-static.input-sm {
2796
+ padding-right: 0;
2797
+ padding-left: 0;
2798
+ }
2799
+ .ycd-bootstrap-wrapper .input-sm {
2800
+ height: 30px;
2801
+ padding: 5px 10px;
2802
+ font-size: 12px;
2803
+ line-height: 1.5;
2804
+ border-radius: 3px;
2805
+ }
2806
+ .ycd-bootstrap-wrapper select.input-sm {
2807
+ height: 30px;
2808
+ line-height: 30px;
2809
+ }
2810
+ .ycd-bootstrap-wrapper textarea.input-sm,
2811
+ .ycd-bootstrap-wrapper select[multiple].input-sm {
2812
+ height: auto;
2813
+ }
2814
+ .ycd-bootstrap-wrapper .form-group-sm .form-control {
2815
+ height: 30px;
2816
+ padding: 5px 10px;
2817
+ font-size: 12px;
2818
+ line-height: 1.5;
2819
+ border-radius: 3px;
2820
+ }
2821
+ .ycd-bootstrap-wrapper .form-group-sm select.form-control {
2822
+ height: 30px;
2823
+ line-height: 30px;
2824
+ }
2825
+ .ycd-bootstrap-wrapper .form-group-sm textarea.form-control,
2826
+ .ycd-bootstrap-wrapper .form-group-sm select[multiple].form-control {
2827
+ height: auto;
2828
+ }
2829
+ .ycd-bootstrap-wrapper .form-group-sm .form-control-static {
2830
+ height: 30px;
2831
+ min-height: 32px;
2832
+ padding: 6px 10px;
2833
+ font-size: 12px;
2834
+ line-height: 1.5;
2835
+ }
2836
+ .ycd-bootstrap-wrapper .input-lg {
2837
+ height: 46px;
2838
+ padding: 10px 16px;
2839
+ font-size: 18px;
2840
+ line-height: 1.3333333;
2841
+ border-radius: 6px;
2842
+ }
2843
+ .ycd-bootstrap-wrapper select.input-lg {
2844
+ height: 46px;
2845
+ line-height: 46px;
2846
+ }
2847
+ .ycd-bootstrap-wrapper textarea.input-lg,
2848
+ .ycd-bootstrap-wrapper select[multiple].input-lg {
2849
+ height: auto;
2850
+ }
2851
+ .ycd-bootstrap-wrapper .form-group-lg .form-control {
2852
+ height: 46px;
2853
+ padding: 10px 16px;
2854
+ font-size: 18px;
2855
+ line-height: 1.3333333;
2856
+ border-radius: 6px;
2857
+ }
2858
+ .ycd-bootstrap-wrapper .form-group-lg select.form-control {
2859
+ height: 46px;
2860
+ line-height: 46px;
2861
+ }
2862
+ .ycd-bootstrap-wrapper .form-group-lg textarea.form-control,
2863
+ .ycd-bootstrap-wrapper .form-group-lg select[multiple].form-control {
2864
+ height: auto;
2865
+ }
2866
+ .ycd-bootstrap-wrapper .form-group-lg .form-control-static {
2867
+ height: 46px;
2868
+ min-height: 38px;
2869
+ padding: 11px 16px;
2870
+ font-size: 18px;
2871
+ line-height: 1.3333333;
2872
+ }
2873
+ .ycd-bootstrap-wrapper .has-feedback {
2874
+ position: relative;
2875
+ }
2876
+ .ycd-bootstrap-wrapper .has-feedback .form-control {
2877
+ padding-right: 42.5px;
2878
+ }
2879
+ .ycd-bootstrap-wrapper .form-control-feedback {
2880
+ position: absolute;
2881
+ top: 0;
2882
+ right: 0;
2883
+ z-index: 2;
2884
+ display: block;
2885
+ width: 34px;
2886
+ height: 34px;
2887
+ line-height: 34px;
2888
+ text-align: center;
2889
+ pointer-events: none;
2890
+ }
2891
+ .ycd-bootstrap-wrapper .input-lg + .form-control-feedback,
2892
+ .ycd-bootstrap-wrapper .input-group-lg + .form-control-feedback,
2893
+ .ycd-bootstrap-wrapper .form-group-lg .form-control + .form-control-feedback {
2894
+ width: 46px;
2895
+ height: 46px;
2896
+ line-height: 46px;
2897
+ }
2898
+ .ycd-bootstrap-wrapper .input-sm + .form-control-feedback,
2899
+ .ycd-bootstrap-wrapper .input-group-sm + .form-control-feedback,
2900
+ .ycd-bootstrap-wrapper .form-group-sm .form-control + .form-control-feedback {
2901
+ width: 30px;
2902
+ height: 30px;
2903
+ line-height: 30px;
2904
+ }
2905
+ .ycd-bootstrap-wrapper .has-success .help-block,
2906
+ .ycd-bootstrap-wrapper .has-success .control-label,
2907
+ .ycd-bootstrap-wrapper .has-success .radio,
2908
+ .ycd-bootstrap-wrapper .has-success .checkbox,
2909
+ .ycd-bootstrap-wrapper .has-success .radio-inline,
2910
+ .ycd-bootstrap-wrapper .has-success .checkbox-inline,
2911
+ .ycd-bootstrap-wrapper .has-success.radio label,
2912
+ .ycd-bootstrap-wrapper .has-success.checkbox label,
2913
+ .ycd-bootstrap-wrapper .has-success.radio-inline label,
2914
+ .ycd-bootstrap-wrapper .has-success.checkbox-inline label {
2915
+ color: #3c763d;
2916
+ }
2917
+ .ycd-bootstrap-wrapper .has-success .form-control {
2918
+ border-color: #3c763d;
2919
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
2920
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
2921
+ }
2922
+ .ycd-bootstrap-wrapper .has-success .form-control:focus {
2923
+ border-color: #2b542c;
2924
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
2925
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
2926
+ }
2927
+ .ycd-bootstrap-wrapper .has-success .input-group-addon {
2928
+ color: #3c763d;
2929
+ background-color: #dff0d8;
2930
+ border-color: #3c763d;
2931
+ }
2932
+ .ycd-bootstrap-wrapper .has-success .form-control-feedback {
2933
+ color: #3c763d;
2934
+ }
2935
+ .ycd-bootstrap-wrapper .has-warning .help-block,
2936
+ .ycd-bootstrap-wrapper .has-warning .control-label,
2937
+ .ycd-bootstrap-wrapper .has-warning .radio,
2938
+ .ycd-bootstrap-wrapper .has-warning .checkbox,
2939
+ .ycd-bootstrap-wrapper .has-warning .radio-inline,
2940
+ .ycd-bootstrap-wrapper .has-warning .checkbox-inline,
2941
+ .ycd-bootstrap-wrapper .has-warning.radio label,
2942
+ .ycd-bootstrap-wrapper .has-warning.checkbox label,
2943
+ .ycd-bootstrap-wrapper .has-warning.radio-inline label,
2944
+ .ycd-bootstrap-wrapper .has-warning.checkbox-inline label {
2945
+ color: #8a6d3b;
2946
+ }
2947
+ .ycd-bootstrap-wrapper .has-warning .form-control {
2948
+ border-color: #8a6d3b;
2949
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
2950
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
2951
+ }
2952
+ .ycd-bootstrap-wrapper .has-warning .form-control:focus {
2953
+ border-color: #66512c;
2954
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
2955
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
2956
+ }
2957
+ .ycd-bootstrap-wrapper .has-warning .input-group-addon {
2958
+ color: #8a6d3b;
2959
+ background-color: #fcf8e3;
2960
+ border-color: #8a6d3b;
2961
+ }
2962
+ .ycd-bootstrap-wrapper .has-warning .form-control-feedback {
2963
+ color: #8a6d3b;
2964
+ }
2965
+ .ycd-bootstrap-wrapper .has-error .help-block,
2966
+ .ycd-bootstrap-wrapper .has-error .control-label,
2967
+ .ycd-bootstrap-wrapper .has-error .radio,
2968
+ .ycd-bootstrap-wrapper .has-error .checkbox,
2969
+ .ycd-bootstrap-wrapper .has-error .radio-inline,
2970
+ .ycd-bootstrap-wrapper .has-error .checkbox-inline,
2971
+ .ycd-bootstrap-wrapper .has-error.radio label,
2972
+ .ycd-bootstrap-wrapper .has-error.checkbox label,
2973
+ .ycd-bootstrap-wrapper .has-error.radio-inline label,
2974
+ .ycd-bootstrap-wrapper .has-error.checkbox-inline label {
2975
+ color: #a94442;
2976
+ }
2977
+ .ycd-bootstrap-wrapper .has-error .form-control {
2978
+ border-color: #a94442;
2979
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
2980
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
2981
+ }
2982
+ .ycd-bootstrap-wrapper .has-error .form-control:focus {
2983
+ border-color: #843534;
2984
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
2985
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
2986
+ }
2987
+ .ycd-bootstrap-wrapper .has-error .input-group-addon {
2988
+ color: #a94442;
2989
+ background-color: #f2dede;
2990
+ border-color: #a94442;
2991
+ }
2992
+ .ycd-bootstrap-wrapper .has-error .form-control-feedback {
2993
+ color: #a94442;
2994
+ }
2995
+ .ycd-bootstrap-wrapper .has-feedback label ~ .form-control-feedback {
2996
+ top: 25px;
2997
+ }
2998
+ .ycd-bootstrap-wrapper .has-feedback label.sr-only ~ .form-control-feedback {
2999
+ top: 0;
3000
+ }
3001
+ .ycd-bootstrap-wrapper .help-block {
3002
+ display: block;
3003
+ margin-top: 5px;
3004
+ margin-bottom: 10px;
3005
+ color: #737373;
3006
+ }
3007
+ @media (min-width: 768px) {
3008
+ .ycd-bootstrap-wrapper .form-inline .form-group {
3009
+ display: inline-block;
3010
+ margin-bottom: 0;
3011
+ vertical-align: middle;
3012
+ }
3013
+ .ycd-bootstrap-wrapper .form-inline .form-control {
3014
+ display: inline-block;
3015
+ width: auto;
3016
+ vertical-align: middle;
3017
+ }
3018
+ .ycd-bootstrap-wrapper .form-inline .form-control-static {
3019
+ display: inline-block;
3020
+ }
3021
+ .ycd-bootstrap-wrapper .form-inline .input-group {
3022
+ display: inline-table;
3023
+ vertical-align: middle;
3024
+ }
3025
+ .ycd-bootstrap-wrapper .form-inline .input-group .input-group-addon,
3026
+ .ycd-bootstrap-wrapper .form-inline .input-group .input-group-btn,
3027
+ .ycd-bootstrap-wrapper .form-inline .input-group .form-control {
3028
+ width: auto;
3029
+ }
3030
+ .ycd-bootstrap-wrapper .form-inline .input-group > .form-control {
3031
+ width: 100%;
3032
+ }
3033
+ .ycd-bootstrap-wrapper .form-inline .control-label {
3034
+ margin-bottom: 0;
3035
+ vertical-align: middle;
3036
+ }
3037
+ .ycd-bootstrap-wrapper .form-inline .radio,
3038
+ .ycd-bootstrap-wrapper .form-inline .checkbox {
3039
+ display: inline-block;
3040
+ margin-top: 0;
3041
+ margin-bottom: 0;
3042
+ vertical-align: middle;
3043
+ }
3044
+ .ycd-bootstrap-wrapper .form-inline .radio label,
3045
+ .ycd-bootstrap-wrapper .form-inline .checkbox label {
3046
+ padding-left: 0;
3047
+ }
3048
+ .ycd-bootstrap-wrapper .form-inline .radio input[type="radio"],
3049
+ .ycd-bootstrap-wrapper .form-inline .checkbox input[type="checkbox"] {
3050
+ position: relative;
3051
+ margin-left: 0;
3052
+ }
3053
+ .ycd-bootstrap-wrapper .form-inline .has-feedback .form-control-feedback {
3054
+ top: 0;
3055
+ }
3056
+ }
3057
+ .ycd-bootstrap-wrapper .form-horizontal .radio,
3058
+ .ycd-bootstrap-wrapper .form-horizontal .checkbox,
3059
+ .ycd-bootstrap-wrapper .form-horizontal .radio-inline,
3060
+ .ycd-bootstrap-wrapper .form-horizontal .checkbox-inline {
3061
+ padding-top: 7px;
3062
+ margin-top: 0;
3063
+ margin-bottom: 0;
3064
+ }
3065
+ .ycd-bootstrap-wrapper .form-horizontal .radio,
3066
+ .ycd-bootstrap-wrapper .form-horizontal .checkbox {
3067
+ min-height: 27px;
3068
+ }
3069
+ .ycd-bootstrap-wrapper .form-horizontal .form-group {
3070
+ margin-right: -15px;
3071
+ margin-left: -15px;
3072
+ }
3073
+ @media (min-width: 768px) {
3074
+ .ycd-bootstrap-wrapper .form-horizontal .control-label {
3075
+ padding-top: 7px;
3076
+ margin-bottom: 0;
3077
+ text-align: left;
3078
+ }
3079
+ }
3080
+ .ycd-bootstrap-wrapper .form-horizontal .has-feedback .form-control-feedback {
3081
+ right: 15px;
3082
+ }
3083
+ @media (min-width: 768px) {
3084
+ .ycd-bootstrap-wrapper .form-horizontal .form-group-lg .control-label {
3085
+ padding-top: 11px;
3086
+ font-size: 18px;
3087
+ }
3088
+ }
3089
+ @media (min-width: 768px) {
3090
+ .ycd-bootstrap-wrapper .form-horizontal .form-group-sm .control-label {
3091
+ padding-top: 6px;
3092
+ font-size: 12px;
3093
+ }
3094
+ }
3095
+ .ycd-bootstrap-wrapper .btn {
3096
+ display: inline-block;
3097
+ padding: 6px 12px;
3098
+ margin-bottom: 0;
3099
+ font-size: 14px;
3100
+ font-weight: normal;
3101
+ line-height: 1.42857143;
3102
+ text-align: center;
3103
+ white-space: nowrap;
3104
+ vertical-align: middle;
3105
+ -ms-touch-action: manipulation;
3106
+ touch-action: manipulation;
3107
+ cursor: pointer;
3108
+ -webkit-user-select: none;
3109
+ -moz-user-select: none;
3110
+ -ms-user-select: none;
3111
+ user-select: none;
3112
+ background-image: none;
3113
+ border: 1px solid transparent;
3114
+ border-radius: 4px;
3115
+ }
3116
+ .ycd-bootstrap-wrapper .btn:focus,
3117
+ .ycd-bootstrap-wrapper .btn:active:focus,
3118
+ .ycd-bootstrap-wrapper .btn.active:focus,
3119
+ .ycd-bootstrap-wrapper .btn.focus,
3120
+ .ycd-bootstrap-wrapper .btn:active.focus,
3121
+ .ycd-bootstrap-wrapper .btn.active.focus {
3122
+ outline: thin dotted;
3123
+ outline: 5px auto -webkit-focus-ring-color;
3124
+ outline-offset: -2px;
3125
+ }
3126
+ .ycd-bootstrap-wrapper .btn:hover,
3127
+ .ycd-bootstrap-wrapper .btn:focus,
3128
+ .ycd-bootstrap-wrapper .btn.focus {
3129
+ color: #333;
3130
+ text-decoration: none;
3131
+ }
3132
+ .ycd-bootstrap-wrapper .btn:active,
3133
+ .ycd-bootstrap-wrapper .btn.active {
3134
+ background-image: none;
3135
+ outline: 0;
3136
+ -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
3137
+ box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
3138
+ }
3139
+ .ycd-bootstrap-wrapper .btn.disabled,
3140
+ .ycd-bootstrap-wrapper .btn[disabled],
3141
+ .ycd-bootstrap-wrapper fieldset[disabled] .btn {
3142
+ cursor: not-allowed;
3143
+ filter: alpha(opacity=65);
3144
+ -webkit-box-shadow: none;
3145
+ box-shadow: none;
3146
+ opacity: .65;
3147
+ }
3148
+ .ycd-bootstrap-wrapper a.btn.disabled,
3149
+ .ycd-bootstrap-wrapper fieldset[disabled] a.btn {
3150
+ pointer-events: none;
3151
+ }
3152
+ .ycd-bootstrap-wrapper .btn-default {
3153
+ color: #333;
3154
+ background-color: #fff;
3155
+ border-color: #ccc;
3156
+ }
3157
+ .ycd-bootstrap-wrapper .btn-default:focus,
3158
+ .ycd-bootstrap-wrapper .btn-default.focus {
3159
+ color: #333;
3160
+ background-color: #e6e6e6;
3161
+ border-color: #8c8c8c;
3162
+ }
3163
+ .ycd-bootstrap-wrapper .btn-default:hover {
3164
+ color: #333;
3165
+ background-color: #e6e6e6;
3166
+ border-color: #adadad;
3167
+ }
3168
+ .ycd-bootstrap-wrapper .btn-default:active,
3169
+ .ycd-bootstrap-wrapper .btn-default.active,
3170
+ .ycd-bootstrap-wrapper .open > .dropdown-toggle.btn-default {
3171
+ color: #333;
3172
+ background-color: #e6e6e6;
3173
+ border-color: #adadad;
3174
+ }
3175
+ .ycd-bootstrap-wrapper .btn-default:active:hover,
3176
+ .ycd-bootstrap-wrapper .btn-default.active:hover,
3177
+ .ycd-bootstrap-wrapper .open > .dropdown-toggle.btn-default:hover,
3178
+ .ycd-bootstrap-wrapper .btn-default:active:focus,
3179
+ .ycd-bootstrap-wrapper .btn-default.active:focus,
3180
+ .ycd-bootstrap-wrapper .open > .dropdown-toggle.btn-default:focus,
3181
+ .ycd-bootstrap-wrapper .btn-default:active.focus,
3182
+ .ycd-bootstrap-wrapper .btn-default.active.focus,
3183
+ .ycd-bootstrap-wrapper .open > .dropdown-toggle.btn-default.focus {
3184
+ color: #333;
3185
+ background-color: #d4d4d4;
3186
+ border-color: #8c8c8c;
3187
+ }
3188
+ .ycd-bootstrap-wrapper .btn-default:active,
3189
+ .ycd-bootstrap-wrapper .btn-default.active,
3190
+ .ycd-bootstrap-wrapper .open > .dropdown-toggle.btn-default {
3191
+ background-image: none;
3192
+ }
3193
+ .ycd-bootstrap-wrapper .btn-default.disabled:hover,
3194
+ .ycd-bootstrap-wrapper .btn-default[disabled]:hover,
3195
+ .ycd-bootstrap-wrapper fieldset[disabled] .btn-default:hover,
3196
+ .ycd-bootstrap-wrapper .btn-default.disabled:focus,
3197
+ .ycd-bootstrap-wrapper .btn-default[disabled]:focus,
3198
+ .ycd-bootstrap-wrapper fieldset[disabled] .btn-default:focus,
3199
+ .ycd-bootstrap-wrapper .btn-default.disabled.focus,
3200
+ .ycd-bootstrap-wrapper .btn-default[disabled].focus,
3201
+ .ycd-bootstrap-wrapper fieldset[disabled] .btn-default.focus {
3202
+ background-color: #fff;
3203
+ border-color: #ccc;
3204
+ }
3205
+ .ycd-bootstrap-wrapper .btn-default .badge {
3206
+ color: #fff;
3207
+ background-color: #333;
3208
+ }
3209
+ .ycd-bootstrap-wrapper .btn-primary {
3210
+ color: #fff;
3211
+ background-color: #337ab7;
3212
+ border-color: #2e6da4;
3213
+ }
3214
+ .ycd-bootstrap-wrapper .btn-primary:focus,
3215
+ .ycd-bootstrap-wrapper .btn-primary.focus {
3216
+ color: #fff;
3217
+ background-color: #286090;
3218
+ border-color: #122b40;
3219
+ }
3220
+ .ycd-bootstrap-wrapper .btn-primary:hover {
3221
+ color: #fff;
3222
+ background-color: #286090;
3223
+ border-color: #204d74;
3224
+ }
3225
+ .ycd-bootstrap-wrapper .btn-primary:active,
3226
+ .ycd-bootstrap-wrapper .btn-primary.active,
3227
+ .ycd-bootstrap-wrapper .open > .dropdown-toggle.btn-primary {
3228
+ color: #fff;
3229
+ background-color: #286090;
3230
+ border-color: #204d74;
3231
+ }
3232
+ .ycd-bootstrap-wrapper .btn-primary:active:hover,
3233
+ .ycd-bootstrap-wrapper .btn-primary.active:hover,
3234
+ .ycd-bootstrap-wrapper .open > .dropdown-toggle.btn-primary:hover,
3235
+ .ycd-bootstrap-wrapper .btn-primary:active:focus,
3236
+ .ycd-bootstrap-wrapper .btn-primary.active:focus,
3237
+ .ycd-bootstrap-wrapper .open > .dropdown-toggle.btn-primary:focus,
3238
+ .ycd-bootstrap-wrapper .btn-primary:active.focus,
3239
+ .ycd-bootstrap-wrapper .btn-primary.active.focus,
3240
+ .ycd-bootstrap-wrapper .open > .dropdown-toggle.btn-primary.focus {
3241
+ color: #fff;
3242
+ background-color: #204d74;
3243
+ border-color: #122b40;
3244
+ }
3245
+ .ycd-bootstrap-wrapper .btn-primary:active,
3246
+ .ycd-bootstrap-wrapper .btn-primary.active,
3247
+ .ycd-bootstrap-wrapper .open > .dropdown-toggle.btn-primary {
3248
+ background-image: none;
3249
+ }
3250
+ .ycd-bootstrap-wrapper .btn-primary.disabled:hover,
3251
+ .ycd-bootstrap-wrapper .btn-primary[disabled]:hover,
3252
+ .ycd-bootstrap-wrapper fieldset[disabled] .btn-primary:hover,
3253
+ .ycd-bootstrap-wrapper .btn-primary.disabled:focus,
3254
+ .ycd-bootstrap-wrapper .btn-primary[disabled]:focus,
3255
+ .ycd-bootstrap-wrapper fieldset[disabled] .btn-primary:focus,
3256
+ .ycd-bootstrap-wrapper .btn-primary.disabled.focus,
3257
+ .ycd-bootstrap-wrapper .btn-primary[disabled].focus,
3258
+ .ycd-bootstrap-wrapper fieldset[disabled] .btn-primary.focus {
3259
+ background-color: #337ab7;
3260
+ border-color: #2e6da4;
3261
+ }
3262
+ .ycd-bootstrap-wrapper .btn-primary .badge {
3263
+ color: #337ab7;
3264
+ background-color: #fff;
3265
+ }
3266
+ .ycd-bootstrap-wrapper .btn-success {
3267
+ color: #fff;
3268
+ background-color: #5cb85c;
3269
+ border-color: #4cae4c;
3270
+ }
3271
+ .ycd-bootstrap-wrapper .btn-success:focus,
3272
+ .ycd-bootstrap-wrapper .btn-success.focus {
3273
+ color: #fff;
3274
+ background-color: #449d44;
3275
+ border-color: #255625;
3276
+ }
3277
+ .ycd-bootstrap-wrapper .btn-success:hover {
3278
+ color: #fff;
3279
+ background-color: #449d44;
3280
+ border-color: #398439;
3281
+ }
3282
+ .ycd-bootstrap-wrapper .btn-success:active,
3283
+ .ycd-bootstrap-wrapper .btn-success.active,
3284
+ .ycd-bootstrap-wrapper .open > .dropdown-toggle.btn-success {
3285
+ color: #fff;
3286
+ background-color: #449d44;
3287
+ border-color: #398439;
3288
+ }
3289
+ .ycd-bootstrap-wrapper .btn-success:active:hover,
3290
+ .ycd-bootstrap-wrapper .btn-success.active:hover,
3291
+ .ycd-bootstrap-wrapper .open > .dropdown-toggle.btn-success:hover,
3292
+ .ycd-bootstrap-wrapper .btn-success:active:focus,
3293
+ .ycd-bootstrap-wrapper .btn-success.active:focus,
3294
+ .ycd-bootstrap-wrapper .open > .dropdown-toggle.btn-success:focus,
3295
+ .ycd-bootstrap-wrapper .btn-success:active.focus,
3296
+ .ycd-bootstrap-wrapper .btn-success.active.focus,
3297
+ .ycd-bootstrap-wrapper .open > .dropdown-toggle.btn-success.focus {
3298
+ color: #fff;
3299
+ background-color: #398439;
3300
+ border-color: #255625;
3301
+ }
3302
+ .ycd-bootstrap-wrapper .btn-success:active,
3303
+ .ycd-bootstrap-wrapper .btn-success.active,
3304
+ .ycd-bootstrap-wrapper .open > .dropdown-toggle.btn-success {
3305
+ background-image: none;
3306
+ }
3307
+ .ycd-bootstrap-wrapper .btn-success.disabled:hover,
3308
+ .ycd-bootstrap-wrapper .btn-success[disabled]:hover,
3309
+ .ycd-bootstrap-wrapper fieldset[disabled] .btn-success:hover,
3310
+ .ycd-bootstrap-wrapper .btn-success.disabled:focus,
3311
+ .ycd-bootstrap-wrapper .btn-success[disabled]:focus,
3312
+ .ycd-bootstrap-wrapper fieldset[disabled] .btn-success:focus,
3313
+ .ycd-bootstrap-wrapper .btn-success.disabled.focus,
3314
+ .ycd-bootstrap-wrapper .btn-success[disabled].focus,
3315
+ .ycd-bootstrap-wrapper fieldset[disabled] .btn-success.focus {
3316
+ background-color: #5cb85c;
3317
+ border-color: #4cae4c;
3318
+ }
3319
+ .ycd-bootstrap-wrapper .btn-success .badge {
3320
+ color: #5cb85c;
3321
+ background-color: #fff;
3322
+ }
3323
+ .ycd-bootstrap-wrapper .btn-info {
3324
+ color: #fff;
3325
+ background-color: #5bc0de;
3326
+ border-color: #46b8da;
3327
+ }
3328
+ .ycd-bootstrap-wrapper .btn-info:focus,
3329
+ .ycd-bootstrap-wrapper .btn-info.focus {
3330
+ color: #fff;
3331
+ background-color: #31b0d5;
3332
+ border-color: #1b6d85;
3333
+ }
3334
+ .ycd-bootstrap-wrapper .btn-info:hover {
3335
+ color: #fff;
3336
+ background-color: #31b0d5;
3337
+ border-color: #269abc;
3338
+ }
3339
+ .ycd-bootstrap-wrapper .btn-info:active,
3340
+ .ycd-bootstrap-wrapper .btn-info.active,
3341
+ .ycd-bootstrap-wrapper .open > .dropdown-toggle.btn-info {
3342
+ color: #fff;
3343
+ background-color: #31b0d5;
3344
+ border-color: #269abc;
3345
+ }
3346
+ .ycd-bootstrap-wrapper .btn-info:active:hover,
3347
+ .ycd-bootstrap-wrapper .btn-info.active:hover,
3348
+ .ycd-bootstrap-wrapper .open > .dropdown-toggle.btn-info:hover,
3349
+ .ycd-bootstrap-wrapper .btn-info:active:focus,
3350
+ .ycd-bootstrap-wrapper .btn-info.active:focus,
3351
+ .ycd-bootstrap-wrapper .open > .dropdown-toggle.btn-info:focus,
3352
+ .ycd-bootstrap-wrapper .btn-info:active.focus,
3353
+ .ycd-bootstrap-wrapper .btn-info.active.focus,
3354
+ .ycd-bootstrap-wrapper .open > .dropdown-toggle.btn-info.focus {
3355
+ color: #fff;
3356
+ background-color: #269abc;
3357
+ border-color: #1b6d85;
3358
+ }
3359
+ .ycd-bootstrap-wrapper .btn-info:active,
3360
+ .ycd-bootstrap-wrapper .btn-info.active,
3361
+ .ycd-bootstrap-wrapper .open > .dropdown-toggle.btn-info {
3362
+ background-image: none;
3363
+ }
3364
+ .ycd-bootstrap-wrapper .btn-info.disabled:hover,
3365
+ .ycd-bootstrap-wrapper .btn-info[disabled]:hover,
3366
+ .ycd-bootstrap-wrapper fieldset[disabled] .btn-info:hover,
3367
+ .ycd-bootstrap-wrapper .btn-info.disabled:focus,
3368
+ .ycd-bootstrap-wrapper .btn-info[disabled]:focus,
3369
+ .ycd-bootstrap-wrapper fieldset[disabled] .btn-info:focus,
3370
+ .ycd-bootstrap-wrapper .btn-info.disabled.focus,
3371
+ .ycd-bootstrap-wrapper .btn-info[disabled].focus,
3372
+ .ycd-bootstrap-wrapper fieldset[disabled] .btn-info.focus {
3373
+ background-color: #5bc0de;
3374
+ border-color: #46b8da;
3375
+ }
3376
+ .ycd-bootstrap-wrapper .btn-info .badge {
3377
+ color: #5bc0de;
3378
+ background-color: #fff;
3379
+ }
3380
+ .ycd-bootstrap-wrapper .btn-warning {
3381
+ color: #fff;
3382
+ background-color: #f0ad4e;
3383
+ border-color: #eea236;
3384
+ }
3385
+ .ycd-bootstrap-wrapper .btn-warning:focus,
3386
+ .ycd-bootstrap-wrapper .btn-warning.focus {
3387
+ color: #fff;
3388
+ background-color: #ec971f;
3389
+ border-color: #985f0d;
3390
+ }
3391
+ .ycd-bootstrap-wrapper .btn-warning:hover {
3392
+ color: #fff;
3393
+ background-color: #ec971f;
3394
+ border-color: #d58512;
3395
+ }
3396
+ .ycd-bootstrap-wrapper .btn-warning:active,
3397
+ .ycd-bootstrap-wrapper .btn-warning.active,
3398
+ .ycd-bootstrap-wrapper .open > .dropdown-toggle.btn-warning {
3399
+ color: #fff;
3400
+ background-color: #ec971f;
3401
+ border-color: #d58512;
3402
+ }
3403
+ .ycd-bootstrap-wrapper .btn-warning:active:hover,
3404
+ .ycd-bootstrap-wrapper .btn-warning.active:hover,
3405
+ .ycd-bootstrap-wrapper .open > .dropdown-toggle.btn-warning:hover,
3406
+ .ycd-bootstrap-wrapper .btn-warning:active:focus,
3407
+ .ycd-bootstrap-wrapper .btn-warning.active:focus,
3408
+ .ycd-bootstrap-wrapper .open > .dropdown-toggle.btn-warning:focus,
3409
+ .ycd-bootstrap-wrapper .btn-warning:active.focus,
3410
+ .ycd-bootstrap-wrapper .btn-warning.active.focus,
3411
+ .ycd-bootstrap-wrapper .open > .dropdown-toggle.btn-warning.focus {
3412
+ color: #fff;
3413
+ background-color: #d58512;
3414
+ border-color: #985f0d;
3415
+ }
3416
+ .ycd-bootstrap-wrapper .btn-warning:active,
3417
+ .ycd-bootstrap-wrapper .btn-warning.active,
3418
+ .ycd-bootstrap-wrapper .open > .dropdown-toggle.btn-warning {
3419
+ background-image: none;
3420
+ }
3421
+ .ycd-bootstrap-wrapper .btn-warning.disabled:hover,
3422
+ .ycd-bootstrap-wrapper .btn-warning[disabled]:hover,
3423
+ .ycd-bootstrap-wrapper fieldset[disabled] .btn-warning:hover,
3424
+ .ycd-bootstrap-wrapper .btn-warning.disabled:focus,
3425
+ .ycd-bootstrap-wrapper .btn-warning[disabled]:focus,
3426
+ .ycd-bootstrap-wrapper fieldset[disabled] .btn-warning:focus,
3427
+ .ycd-bootstrap-wrapper .btn-warning.disabled.focus,
3428
+ .ycd-bootstrap-wrapper .btn-warning[disabled].focus,
3429
+ .ycd-bootstrap-wrapper fieldset[disabled] .btn-warning.focus {
3430
+ background-color: #f0ad4e;
3431
+ border-color: #eea236;
3432
+ }
3433
+ .ycd-bootstrap-wrapper .btn-warning .badge {
3434
+ color: #f0ad4e;
3435
+ background-color: #fff;
3436
+ }
3437
+ .ycd-bootstrap-wrapper .btn-danger {
3438
+ color: #fff;
3439
+ background-color: #d9534f;
3440
+ border-color: #d43f3a;
3441
+ }
3442
+ .ycd-bootstrap-wrapper .btn-danger:focus,
3443
+ .ycd-bootstrap-wrapper .btn-danger.focus {
3444
+ color: #fff;
3445
+ background-color: #c9302c;
3446
+ border-color: #761c19;
3447
+ }
3448
+ .ycd-bootstrap-wrapper .btn-danger:hover {
3449
+ color: #fff;
3450
+ background-color: #c9302c;
3451
+ border-color: #ac2925;
3452
+ }
3453
+ .ycd-bootstrap-wrapper .btn-danger:active,
3454
+ .ycd-bootstrap-wrapper .btn-danger.active,
3455
+ .ycd-bootstrap-wrapper .open > .dropdown-toggle.btn-danger {
3456
+ color: #fff;
3457
+ background-color: #c9302c;
3458
+ border-color: #ac2925;
3459
+ }
3460
+ .ycd-bootstrap-wrapper .btn-danger:active:hover,
3461
+ .ycd-bootstrap-wrapper .btn-danger.active:hover,
3462
+ .ycd-bootstrap-wrapper .open > .dropdown-toggle.btn-danger:hover,
3463
+ .ycd-bootstrap-wrapper .btn-danger:active:focus,
3464
+ .ycd-bootstrap-wrapper .btn-danger.active:focus,
3465
+ .ycd-bootstrap-wrapper .open > .dropdown-toggle.btn-danger:focus,
3466
+ .ycd-bootstrap-wrapper .btn-danger:active.focus,
3467
+ .ycd-bootstrap-wrapper .btn-danger.active.focus,
3468
+ .ycd-bootstrap-wrapper .open > .dropdown-toggle.btn-danger.focus {
3469
+ color: #fff;
3470
+ background-color: #ac2925;
3471
+ border-color: #761c19;
3472
+ }
3473
+ .ycd-bootstrap-wrapper .btn-danger:active,
3474
+ .ycd-bootstrap-wrapper .btn-danger.active,
3475
+ .ycd-bootstrap-wrapper .open > .dropdown-toggle.btn-danger {
3476
+ background-image: none;
3477
+ }
3478
+ .ycd-bootstrap-wrapper .btn-danger.disabled:hover,
3479
+ .ycd-bootstrap-wrapper .btn-danger[disabled]:hover,
3480
+ .ycd-bootstrap-wrapper fieldset[disabled] .btn-danger:hover,
3481
+ .ycd-bootstrap-wrapper .btn-danger.disabled:focus,
3482
+ .ycd-bootstrap-wrapper .btn-danger[disabled]:focus,
3483
+ .ycd-bootstrap-wrapper fieldset[disabled] .btn-danger:focus,
3484
+ .ycd-bootstrap-wrapper .btn-danger.disabled.focus,
3485
+ .ycd-bootstrap-wrapper .btn-danger[disabled].focus,
3486
+ .ycd-bootstrap-wrapper fieldset[disabled] .btn-danger.focus {
3487
+ background-color: #d9534f;
3488
+ border-color: #d43f3a;
3489
+ }
3490
+ .ycd-bootstrap-wrapper .btn-danger .badge {
3491
+ color: #d9534f;
3492
+ background-color: #fff;
3493
+ }
3494
+ .ycd-bootstrap-wrapper .btn-link {
3495
+ font-weight: normal;
3496
+ color: #337ab7;
3497
+ border-radius: 0;
3498
+ }
3499
+ .ycd-bootstrap-wrapper .btn-link,
3500
+ .ycd-bootstrap-wrapper .btn-link:active,
3501
+ .ycd-bootstrap-wrapper .btn-link.active,
3502
+ .ycd-bootstrap-wrapper .btn-link[disabled],
3503
+ .ycd-bootstrap-wrapper fieldset[disabled] .btn-link {
3504
+ background-color: transparent;
3505
+ -webkit-box-shadow: none;
3506
+ box-shadow: none;
3507
+ }
3508
+ .ycd-bootstrap-wrapper .btn-link,
3509
+ .ycd-bootstrap-wrapper .btn-link:hover,
3510
+ .ycd-bootstrap-wrapper .btn-link:focus,
3511
+ .ycd-bootstrap-wrapper .btn-link:active {
3512
+ border-color: transparent;
3513
+ }
3514
+ .ycd-bootstrap-wrapper .btn-link:hover,
3515
+ .ycd-bootstrap-wrapper .btn-link:focus {
3516
+ color: #23527c;
3517
+ text-decoration: underline;
3518
+ background-color: transparent;
3519
+ }
3520
+ .ycd-bootstrap-wrapper .btn-link[disabled]:hover,
3521
+ .ycd-bootstrap-wrapper fieldset[disabled] .btn-link:hover,
3522
+ .ycd-bootstrap-wrapper .btn-link[disabled]:focus,
3523
+ .ycd-bootstrap-wrapper fieldset[disabled] .btn-link:focus {
3524
+ color: #777;
3525
+ text-decoration: none;
3526
+ }
3527
+ .ycd-bootstrap-wrapper .btn-lg,
3528
+ .ycd-bootstrap-wrapper .btn-group-lg > .btn {
3529
+ padding: 10px 16px;
3530
+ font-size: 18px;
3531
+ line-height: 1.3333333;
3532
+ border-radius: 6px;
3533
+ }
3534
+ .ycd-bootstrap-wrapper .btn-sm,
3535
+ .ycd-bootstrap-wrapper .btn-group-sm > .btn {
3536
+ padding: 5px 10px;
3537
+ font-size: 12px;
3538
+ line-height: 1.5;
3539
+ border-radius: 3px;
3540
+ }
3541
+ .ycd-bootstrap-wrapper .btn-xs,
3542
+ .ycd-bootstrap-wrapper .btn-group-xs > .btn {
3543
+ padding: 1px 5px;
3544
+ font-size: 12px;
3545
+ line-height: 1.5;
3546
+ border-radius: 3px;
3547
+ }
3548
+ .ycd-bootstrap-wrapper .btn-block {
3549
+ display: block;
3550
+ width: 100%;
3551
+ }
3552
+ .ycd-bootstrap-wrapper .btn-block + .btn-block {
3553
+ margin-top: 5px;
3554
+ }
3555
+ .ycd-bootstrap-wrapper input[type="submit"].btn-block,
3556
+ .ycd-bootstrap-wrapper input[type="reset"].btn-block,
3557
+ .ycd-bootstrap-wrapper input[type="button"].btn-block {
3558
+ width: 100%;
3559
+ }
3560
+ .ycd-bootstrap-wrapper .fade {
3561
+ opacity: 0;
3562
+ -webkit-transition: opacity .15s linear;
3563
+ -o-transition: opacity .15s linear;
3564
+ transition: opacity .15s linear;
3565
+ }
3566
+ .ycd-bootstrap-wrapper .fade.in {
3567
+ opacity: 1;
3568
+ }
3569
+ .ycd-bootstrap-wrapper .collapse {
3570
+ display: none;
3571
+ }
3572
+ .ycd-bootstrap-wrapper .collapse.in {
3573
+ display: block;
3574
+ }
3575
+ .ycd-bootstrap-wrapper tr.collapse.in {
3576
+ display: table-row;
3577
+ }
3578
+ .ycd-bootstrap-wrapper tbody.collapse.in {
3579
+ display: table-row-group;
3580
+ }
3581
+ .ycd-bootstrap-wrapper .collapsing {
3582
+ position: relative;
3583
+ height: 0;
3584
+ overflow: hidden;
3585
+ -webkit-transition-timing-function: ease;
3586
+ -o-transition-timing-function: ease;
3587
+ transition-timing-function: ease;
3588
+ -webkit-transition-duration: .35s;
3589
+ -o-transition-duration: .35s;
3590
+ transition-duration: .35s;
3591
+ -webkit-transition-property: height, visibility;
3592
+ -o-transition-property: height, visibility;
3593
+ transition-property: height, visibility;
3594
+ }
3595
+ .ycd-bootstrap-wrapper .caret {
3596
+ display: inline-block;
3597
+ width: 0;
3598
+ height: 0;
3599
+ margin-left: 2px;
3600
+ vertical-align: middle;
3601
+ border-top: 4px dashed;
3602
+ border-top: 4px solid \9;
3603
+ border-right: 4px solid transparent;
3604
+ border-left: 4px solid transparent;
3605
+ }
3606
+ .ycd-bootstrap-wrapper .dropup,
3607
+ .ycd-bootstrap-wrapper .dropdown {
3608
+ position: relative;
3609
+ }
3610
+ .ycd-bootstrap-wrapper .dropdown-toggle:focus {
3611
+ outline: 0;
3612
+ }
3613
+ .ycd-bootstrap-wrapper .dropdown-menu {
3614
+ position: absolute;
3615
+ top: 100%;
3616
+ left: 0;
3617
+ z-index: 1000;
3618
+ display: none;
3619
+ float: left;
3620
+ min-width: 160px;
3621
+ padding: 5px 0;
3622
+ margin: 2px 0 0;
3623
+ font-size: 14px;
3624
+ text-align: left;
3625
+ list-style: none;
3626
+ background-color: #fff;
3627
+ -webkit-background-clip: padding-box;
3628
+ background-clip: padding-box;
3629
+ border: 1px solid #ccc;
3630
+ border: 1px solid rgba(0, 0, 0, 0.15);
3631
+ border-radius: 4px;
3632
+ -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
3633
+ box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
3634
+ }
3635
+ .ycd-bootstrap-wrapper .dropdown-menu.pull-right {
3636
+ right: 0;
3637
+ left: auto;
3638
+ }
3639
+ .ycd-bootstrap-wrapper .dropdown-menu .divider {
3640
+ height: 1px;
3641
+ margin: 9px 0;
3642
+ overflow: hidden;
3643
+ background-color: #e5e5e5;
3644
+ }
3645
+ .ycd-bootstrap-wrapper .dropdown-menu > li > a {
3646
+ display: block;
3647
+ padding: 3px 20px;
3648
+ clear: both;
3649
+ font-weight: normal;
3650
+ line-height: 1.42857143;
3651
+ color: #333;
3652
+ white-space: nowrap;
3653
+ }
3654
+ .ycd-bootstrap-wrapper .dropdown-menu > li > a:hover,
3655
+ .ycd-bootstrap-wrapper .dropdown-menu > li > a:focus {
3656
+ color: #262626;
3657
+ text-decoration: none;
3658
+ background-color: #f5f5f5;
3659
+ }
3660
+ .ycd-bootstrap-wrapper .dropdown-menu > .active > a,
3661
+ .ycd-bootstrap-wrapper .dropdown-menu > .active > a:hover,
3662
+ .ycd-bootstrap-wrapper .dropdown-menu > .active > a:focus {
3663
+ color: #fff;
3664
+ text-decoration: none;
3665
+ background-color: #337ab7;
3666
+ outline: 0;
3667
+ }
3668
+ .ycd-bootstrap-wrapper .dropdown-menu > .disabled > a,
3669
+ .ycd-bootstrap-wrapper .dropdown-menu > .disabled > a:hover,
3670
+ .ycd-bootstrap-wrapper .dropdown-menu > .disabled > a:focus {
3671
+ color: #777;
3672
+ }
3673
+ .ycd-bootstrap-wrapper .dropdown-menu > .disabled > a:hover,
3674
+ .ycd-bootstrap-wrapper .dropdown-menu > .disabled > a:focus {
3675
+ text-decoration: none;
3676
+ cursor: not-allowed;
3677
+ background-color: transparent;
3678
+ background-image: none;
3679
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
3680
+ }
3681
+ .ycd-bootstrap-wrapper .open > .dropdown-menu {
3682
+ display: block;
3683
+ }
3684
+ .ycd-bootstrap-wrapper .open > a {
3685
+ outline: 0;
3686
+ }
3687
+ .ycd-bootstrap-wrapper .dropdown-menu-right {
3688
+ right: 0;
3689
+ left: auto;
3690
+ }
3691
+ .ycd-bootstrap-wrapper .dropdown-menu-left {
3692
+ right: auto;
3693
+ left: 0;
3694
+ }
3695
+ .ycd-bootstrap-wrapper .dropdown-header {
3696
+ display: block;
3697
+ padding: 3px 20px;
3698
+ font-size: 12px;
3699
+ line-height: 1.42857143;
3700
+ color: #777;
3701
+ white-space: nowrap;
3702
+ }
3703
+ .ycd-bootstrap-wrapper .dropdown-backdrop {
3704
+ position: fixed;
3705
+ top: 0;
3706
+ right: 0;
3707
+ bottom: 0;
3708
+ left: 0;
3709
+ z-index: 990;
3710
+ }
3711
+ .ycd-bootstrap-wrapper .pull-right > .dropdown-menu {
3712
+ right: 0;
3713
+ left: auto;
3714
+ }
3715
+ .ycd-bootstrap-wrapper .dropup .caret,
3716
+ .ycd-bootstrap-wrapper .navbar-fixed-bottom .dropdown .caret {
3717
+ content: "";
3718
+ border-top: 0;
3719
+ border-bottom: 4px dashed;
3720
+ border-bottom: 4px solid \9;
3721
+ }
3722
+ .ycd-bootstrap-wrapper .dropup .dropdown-menu,
3723
+ .ycd-bootstrap-wrapper .navbar-fixed-bottom .dropdown .dropdown-menu {
3724
+ top: auto;
3725
+ bottom: 100%;
3726
+ margin-bottom: 2px;
3727
+ }
3728
+ @media (min-width: 768px) {
3729
+ .ycd-bootstrap-wrapper .navbar-right .dropdown-menu {
3730
+ right: 0;
3731
+ left: auto;
3732
+ }
3733
+ .ycd-bootstrap-wrapper .navbar-right .dropdown-menu-left {
3734
+ right: auto;
3735
+ left: 0;
3736
+ }
3737
+ }
3738
+ .ycd-bootstrap-wrapper .btn-group,
3739
+ .ycd-bootstrap-wrapper .btn-group-vertical {
3740
+ position: relative;
3741
+ display: inline-block;
3742
+ vertical-align: middle;
3743
+ }
3744
+ .ycd-bootstrap-wrapper .btn-group > .btn,
3745
+ .ycd-bootstrap-wrapper .btn-group-vertical > .btn {
3746
+ position: relative;
3747
+ float: left;
3748
+ }
3749
+ .ycd-bootstrap-wrapper .btn-group > .btn:hover,
3750
+ .ycd-bootstrap-wrapper .btn-group-vertical > .btn:hover,
3751
+ .ycd-bootstrap-wrapper .btn-group > .btn:focus,
3752
+ .ycd-bootstrap-wrapper .btn-group-vertical > .btn:focus,
3753
+ .ycd-bootstrap-wrapper .btn-group > .btn:active,
3754
+ .ycd-bootstrap-wrapper .btn-group-vertical > .btn:active,
3755
+ .ycd-bootstrap-wrapper .btn-group > .btn.active,
3756
+ .ycd-bootstrap-wrapper .btn-group-vertical > .btn.active {
3757
+ z-index: 2;
3758
+ }
3759
+ .ycd-bootstrap-wrapper .btn-group .btn + .btn,
3760
+ .ycd-bootstrap-wrapper .btn-group .btn + .btn-group,
3761
+ .ycd-bootstrap-wrapper .btn-group .btn-group + .btn,
3762
+ .ycd-bootstrap-wrapper .btn-group .btn-group + .btn-group {
3763
+ margin-left: -1px;
3764
+ }
3765
+ .ycd-bootstrap-wrapper .btn-toolbar {
3766
+ margin-left: -5px;
3767
+ }
3768
+ .ycd-bootstrap-wrapper .btn-toolbar .btn,
3769
+ .ycd-bootstrap-wrapper .btn-toolbar .btn-group,
3770
+ .ycd-bootstrap-wrapper .btn-toolbar .input-group {
3771
+ float: left;
3772
+ }
3773
+ .ycd-bootstrap-wrapper .btn-toolbar > .btn,
3774
+ .ycd-bootstrap-wrapper .btn-toolbar > .btn-group,
3775
+ .ycd-bootstrap-wrapper .btn-toolbar > .input-group {
3776
+ margin-left: 5px;
3777
+ }
3778
+ .ycd-bootstrap-wrapper .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
3779
+ border-radius: 0;
3780
+ }
3781
+ .ycd-bootstrap-wrapper .btn-group > .btn:first-child {
3782
+ margin-left: 0;
3783
+ }
3784
+ .ycd-bootstrap-wrapper .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
3785
+ border-top-right-radius: 0;
3786
+ border-bottom-right-radius: 0;
3787
+ }
3788
+ .ycd-bootstrap-wrapper .btn-group > .btn:last-child:not(:first-child),
3789
+ .ycd-bootstrap-wrapper .btn-group > .dropdown-toggle:not(:first-child) {
3790
+ border-top-left-radius: 0;
3791
+ border-bottom-left-radius: 0;
3792
+ }
3793
+ .ycd-bootstrap-wrapper .btn-group > .btn-group {
3794
+ float: left;
3795
+ }
3796
+ .ycd-bootstrap-wrapper .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
3797
+ border-radius: 0;
3798
+ }
3799
+ .ycd-bootstrap-wrapper .btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
3800
+ .ycd-bootstrap-wrapper .btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
3801
+ border-top-right-radius: 0;
3802
+ border-bottom-right-radius: 0;
3803
+ }
3804
+ .ycd-bootstrap-wrapper .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
3805
+ border-top-left-radius: 0;
3806
+ border-bottom-left-radius: 0;
3807
+ }
3808
+ .ycd-bootstrap-wrapper .btn-group .dropdown-toggle:active,
3809
+ .ycd-bootstrap-wrapper .btn-group.open .dropdown-toggle {
3810
+ outline: 0;
3811
+ }
3812
+ .ycd-bootstrap-wrapper .btn-group > .btn + .dropdown-toggle {
3813
+ padding-right: 8px;
3814
+ padding-left: 8px;
3815
+ }
3816
+ .ycd-bootstrap-wrapper .btn-group > .btn-lg + .dropdown-toggle {
3817
+ padding-right: 12px;
3818
+ padding-left: 12px;
3819
+ }
3820
+ .ycd-bootstrap-wrapper .btn-group.open .dropdown-toggle {
3821
+ -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
3822
+ box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
3823
+ }
3824
+ .ycd-bootstrap-wrapper .btn-group.open .dropdown-toggle.btn-link {
3825
+ -webkit-box-shadow: none;
3826
+ box-shadow: none;
3827
+ }
3828
+ .ycd-bootstrap-wrapper .btn .caret {
3829
+ margin-left: 0;
3830
+ }
3831
+ .ycd-bootstrap-wrapper .btn-lg .caret {
3832
+ border-width: 5px 5px 0;
3833
+ border-bottom-width: 0;
3834
+ }
3835
+ .ycd-bootstrap-wrapper .dropup .btn-lg .caret {
3836
+ border-width: 0 5px 5px;
3837
+ }
3838
+ .ycd-bootstrap-wrapper .btn-group-vertical > .btn,
3839
+ .ycd-bootstrap-wrapper .btn-group-vertical > .btn-group,
3840
+ .ycd-bootstrap-wrapper .btn-group-vertical > .btn-group > .btn {
3841
+ display: block;
3842
+ float: none;
3843
+ width: 100%;
3844
+ max-width: 100%;
3845
+ }
3846
+ .ycd-bootstrap-wrapper .btn-group-vertical > .btn-group > .btn {
3847
+ float: none;
3848
+ }
3849
+ .ycd-bootstrap-wrapper .btn-group-vertical > .btn + .btn,
3850
+ .ycd-bootstrap-wrapper .btn-group-vertical > .btn + .btn-group,
3851
+ .ycd-bootstrap-wrapper .btn-group-vertical > .btn-group + .btn,
3852
+ .ycd-bootstrap-wrapper .btn-group-vertical > .btn-group + .btn-group {
3853
+ margin-top: -1px;
3854
+ margin-left: 0;
3855
+ }
3856
+ .ycd-bootstrap-wrapper .btn-group-vertical > .btn:not(:first-child):not(:last-child) {
3857
+ border-radius: 0;
3858
+ }
3859
+ .ycd-bootstrap-wrapper .btn-group-vertical > .btn:first-child:not(:last-child) {
3860
+ border-top-left-radius: 4px;
3861
+ border-top-right-radius: 4px;
3862
+ border-bottom-right-radius: 0;
3863
+ border-bottom-left-radius: 0;
3864
+ }
3865
+ .ycd-bootstrap-wrapper .btn-group-vertical > .btn:last-child:not(:first-child) {
3866
+ border-top-left-radius: 0;
3867
+ border-top-right-radius: 0;
3868
+ border-bottom-right-radius: 4px;
3869
+ border-bottom-left-radius: 4px;
3870
+ }
3871
+ .ycd-bootstrap-wrapper .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
3872
+ border-radius: 0;
3873
+ }
3874
+ .ycd-bootstrap-wrapper .btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
3875
+ .ycd-bootstrap-wrapper .btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
3876
+ border-bottom-right-radius: 0;
3877
+ border-bottom-left-radius: 0;
3878
+ }
3879
+ .ycd-bootstrap-wrapper .btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
3880
+ border-top-left-radius: 0;
3881
+ border-top-right-radius: 0;
3882
+ }
3883
+ .ycd-bootstrap-wrapper .btn-group-justified {
3884
+ display: table;
3885
+ width: 100%;
3886
+ table-layout: fixed;
3887
+ border-collapse: separate;
3888
+ }
3889
+ .ycd-bootstrap-wrapper .btn-group-justified > .btn,
3890
+ .ycd-bootstrap-wrapper .btn-group-justified > .btn-group {
3891
+ display: table-cell;
3892
+ float: none;
3893
+ width: 1%;
3894
+ }
3895
+ .ycd-bootstrap-wrapper .btn-group-justified > .btn-group .btn {
3896
+ width: 100%;
3897
+ }
3898
+ .ycd-bootstrap-wrapper .btn-group-justified > .btn-group .dropdown-menu {
3899
+ left: auto;
3900
+ }
3901
+ .ycd-bootstrap-wrapper [data-toggle="buttons"] > .btn input[type="radio"],
3902
+ .ycd-bootstrap-wrapper [data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
3903
+ .ycd-bootstrap-wrapper [data-toggle="buttons"] > .btn input[type="checkbox"],
3904
+ .ycd-bootstrap-wrapper [data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
3905
+ position: absolute;
3906
+ clip: rect(0, 0, 0, 0);
3907
+ pointer-events: none;
3908
+ }
3909
+ .ycd-bootstrap-wrapper .input-group {
3910
+ position: relative;
3911
+ display: table;
3912
+ border-collapse: separate;
3913
+ }
3914
+ .ycd-bootstrap-wrapper .input-group[class*="col-"] {
3915
+ float: none;
3916
+ padding-right: 0;
3917
+ padding-left: 0;
3918
+ }
3919
+ .ycd-bootstrap-wrapper .input-group .form-control {
3920
+ position: relative;
3921
+ z-index: 2;
3922
+ float: left;
3923
+ width: 100%;
3924
+ margin-bottom: 0;
3925
+ }
3926
+ .ycd-bootstrap-wrapper .input-group .form-control:focus {
3927
+ z-index: 3;
3928
+ }
3929
+ .ycd-bootstrap-wrapper .input-group-lg > .form-control,
3930
+ .ycd-bootstrap-wrapper .input-group-lg > .input-group-addon,
3931
+ .ycd-bootstrap-wrapper .input-group-lg > .input-group-btn > .btn {
3932
+ height: 46px;
3933
+ padding: 10px 16px;
3934
+ font-size: 18px;
3935
+ line-height: 1.3333333;
3936
+ border-radius: 6px;
3937
+ }
3938
+ .ycd-bootstrap-wrapper select.input-group-lg > .form-control,
3939
+ .ycd-bootstrap-wrapper select.input-group-lg > .input-group-addon,
3940
+ .ycd-bootstrap-wrapper select.input-group-lg > .input-group-btn > .btn {
3941
+ height: 46px;
3942
+ line-height: 46px;
3943
+ }
3944
+ .ycd-bootstrap-wrapper textarea.input-group-lg > .form-control,
3945
+ .ycd-bootstrap-wrapper textarea.input-group-lg > .input-group-addon,
3946
+ .ycd-bootstrap-wrapper textarea.input-group-lg > .input-group-btn > .btn,
3947
+ .ycd-bootstrap-wrapper select[multiple].input-group-lg > .form-control,
3948
+ .ycd-bootstrap-wrapper select[multiple].input-group-lg > .input-group-addon,
3949
+ .ycd-bootstrap-wrapper select[multiple].input-group-lg > .input-group-btn > .btn {
3950
+ height: auto;
3951
+ }
3952
+ .ycd-bootstrap-wrapper .input-group-sm > .form-control,
3953
+ .ycd-bootstrap-wrapper .input-group-sm > .input-group-addon,
3954
+ .ycd-bootstrap-wrapper .input-group-sm > .input-group-btn > .btn {
3955
+ height: 30px;
3956
+ padding: 5px 10px;
3957
+ font-size: 12px;
3958
+ line-height: 1.5;
3959
+ border-radius: 3px;
3960
+ }
3961
+ .ycd-bootstrap-wrapper select.input-group-sm > .form-control,
3962
+ .ycd-bootstrap-wrapper select.input-group-sm > .input-group-addon,
3963
+ .ycd-bootstrap-wrapper select.input-group-sm > .input-group-btn > .btn {
3964
+ height: 30px;
3965
+ line-height: 30px;
3966
+ }
3967
+ .ycd-bootstrap-wrapper textarea.input-group-sm > .form-control,
3968
+ .ycd-bootstrap-wrapper textarea.input-group-sm > .input-group-addon,
3969
+ .ycd-bootstrap-wrapper textarea.input-group-sm > .input-group-btn > .btn,
3970
+ .ycd-bootstrap-wrapper select[multiple].input-group-sm > .form-control,
3971
+ .ycd-bootstrap-wrapper select[multiple].input-group-sm > .input-group-addon,
3972
+ .ycd-bootstrap-wrapper select[multiple].input-group-sm > .input-group-btn > .btn {
3973
+ height: auto;
3974
+ }
3975
+ .ycd-bootstrap-wrapper .input-group-addon,
3976
+ .ycd-bootstrap-wrapper .input-group-btn,
3977
+ .ycd-bootstrap-wrapper .input-group .form-control {
3978
+ display: table-cell;
3979
+ }
3980
+ .ycd-bootstrap-wrapper .input-group-addon:not(:first-child):not(:last-child),
3981
+ .ycd-bootstrap-wrapper .input-group-btn:not(:first-child):not(:last-child),
3982
+ .ycd-bootstrap-wrapper .input-group .form-control:not(:first-child):not(:last-child) {
3983
+ border-radius: 0;
3984
+ }
3985
+ .ycd-bootstrap-wrapper .input-group-addon,
3986
+ .ycd-bootstrap-wrapper .input-group-btn {
3987
+ width: 1%;
3988
+ white-space: nowrap;
3989
+ vertical-align: middle;
3990
+ }
3991
+ .ycd-bootstrap-wrapper .input-group-addon {
3992
+ padding: 6px 12px;
3993
+ font-size: 14px;
3994
+ font-weight: normal;
3995
+ line-height: 1;
3996
+ color: #555;
3997
+ text-align: center;
3998
+ background-color: #eee;
3999
+ border: 1px solid #ccc;
4000
+ border-radius: 4px;
4001
+ }
4002
+ .ycd-bootstrap-wrapper .input-group-addon.input-sm {
4003
+ padding: 5px 10px;
4004
+ font-size: 12px;
4005
+ border-radius: 3px;
4006
+ }
4007
+ .ycd-bootstrap-wrapper .input-group-addon.input-lg {
4008
+ padding: 10px 16px;
4009
+ font-size: 18px;
4010
+ border-radius: 6px;
4011
+ }
4012
+ .ycd-bootstrap-wrapper .input-group-addon input[type="radio"],
4013
+ .ycd-bootstrap-wrapper .input-group-addon input[type="checkbox"] {
4014
+ margin-top: 0;
4015
+ }
4016
+ .ycd-bootstrap-wrapper .input-group .form-control:first-child,
4017
+ .ycd-bootstrap-wrapper .input-group-addon:first-child,
4018
+ .ycd-bootstrap-wrapper .input-group-btn:first-child > .btn,
4019
+ .ycd-bootstrap-wrapper .input-group-btn:first-child > .btn-group > .btn,
4020
+ .ycd-bootstrap-wrapper .input-group-btn:first-child > .dropdown-toggle,
4021
+ .ycd-bootstrap-wrapper .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
4022
+ .ycd-bootstrap-wrapper .input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
4023
+ border-top-right-radius: 0;
4024
+ border-bottom-right-radius: 0;
4025
+ }
4026
+ .ycd-bootstrap-wrapper .input-group-addon:first-child {
4027
+ border-right: 0;
4028
+ }
4029
+ .ycd-bootstrap-wrapper .input-group .form-control:last-child,
4030
+ .ycd-bootstrap-wrapper .input-group-addon:last-child,
4031
+ .ycd-bootstrap-wrapper .input-group-btn:last-child > .btn,
4032
+ .ycd-bootstrap-wrapper .input-group-btn:last-child > .btn-group > .btn,
4033
+ .ycd-bootstrap-wrapper .input-group-btn:last-child > .dropdown-toggle,
4034
+ .ycd-bootstrap-wrapper .input-group-btn:first-child > .btn:not(:first-child),
4035
+ .ycd-bootstrap-wrapper .input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
4036
+ border-top-left-radius: 0;
4037
+ border-bottom-left-radius: 0;
4038
+ }
4039
+ .ycd-bootstrap-wrapper .input-group-addon:last-child {
4040
+ border-left: 0;
4041
+ }
4042
+ .ycd-bootstrap-wrapper .input-group-btn {
4043
+ position: relative;
4044
+ font-size: 0;
4045
+ white-space: nowrap;
4046
+ }
4047
+ .ycd-bootstrap-wrapper .input-group-btn > .btn {
4048
+ position: relative;
4049
+ }
4050
+ .ycd-bootstrap-wrapper .input-group-btn > .btn + .btn {
4051
+ margin-left: -1px;
4052
+ }
4053
+ .ycd-bootstrap-wrapper .input-group-btn > .btn:hover,
4054
+ .ycd-bootstrap-wrapper .input-group-btn > .btn:focus,
4055
+ .ycd-bootstrap-wrapper .input-group-btn > .btn:active {
4056
+ z-index: 2;
4057
+ }
4058
+ .ycd-bootstrap-wrapper .input-group-btn:first-child > .btn,
4059
+ .ycd-bootstrap-wrapper .input-group-btn:first-child > .btn-group {
4060
+ margin-right: -1px;
4061
+ }
4062
+ .ycd-bootstrap-wrapper .input-group-btn:last-child > .btn,
4063
+ .ycd-bootstrap-wrapper .input-group-btn:last-child > .btn-group {
4064
+ z-index: 2;
4065
+ margin-left: -1px;
4066
+ }
4067
+ .ycd-bootstrap-wrapper .nav {
4068
+ padding-left: 0;
4069
+ margin-bottom: 0;
4070
+ list-style: none;
4071
+ }
4072
+ .ycd-bootstrap-wrapper .nav > li {
4073
+ position: relative;
4074
+ display: block;
4075
+ }
4076
+ .ycd-bootstrap-wrapper .nav > li > a {
4077
+ position: relative;
4078
+ display: block;
4079
+ padding: 10px 15px;
4080
+ }
4081
+ .ycd-bootstrap-wrapper .nav > li > a:hover,
4082
+ .ycd-bootstrap-wrapper .nav > li > a:focus {
4083
+ text-decoration: none;
4084
+ background-color: #eee;
4085
+ }
4086
+ .ycd-bootstrap-wrapper .nav > li.disabled > a {
4087
+ color: #777;
4088
+ }
4089
+ .ycd-bootstrap-wrapper .nav > li.disabled > a:hover,
4090
+ .ycd-bootstrap-wrapper .nav > li.disabled > a:focus {
4091
+ color: #777;
4092
+ text-decoration: none;
4093
+ cursor: not-allowed;
4094
+ background-color: transparent;
4095
+ }
4096
+ .ycd-bootstrap-wrapper .nav .open > a,
4097
+ .ycd-bootstrap-wrapper .nav .open > a:hover,
4098
+ .ycd-bootstrap-wrapper .nav .open > a:focus {
4099
+ background-color: #eee;
4100
+ border-color: #337ab7;
4101
+ }
4102
+ .ycd-bootstrap-wrapper .nav .nav-divider {
4103
+ height: 1px;
4104
+ margin: 9px 0;
4105
+ overflow: hidden;
4106
+ background-color: #e5e5e5;
4107
+ }
4108
+ .ycd-bootstrap-wrapper .nav > li > a > img {
4109
+ max-width: none;
4110
+ }
4111
+ .ycd-bootstrap-wrapper .nav-tabs {
4112
+ border-bottom: 1px solid #ddd;
4113
+ }
4114
+ .ycd-bootstrap-wrapper .nav-tabs > li {
4115
+ float: left;
4116
+ margin-bottom: -1px;
4117
+ }
4118
+ .ycd-bootstrap-wrapper .nav-tabs > li > a {
4119
+ margin-right: 2px;
4120
+ line-height: 1.42857143;
4121
+ border: 1px solid transparent;
4122
+ border-radius: 4px 4px 0 0;
4123
+ }
4124
+ .ycd-bootstrap-wrapper .nav-tabs > li > a:hover {
4125
+ border-color: #eee #eee #ddd;
4126
+ }
4127
+ .ycd-bootstrap-wrapper .nav-tabs > li.active > a,
4128
+ .ycd-bootstrap-wrapper .nav-tabs > li.active > a:hover,
4129
+ .ycd-bootstrap-wrapper .nav-tabs > li.active > a:focus {
4130
+ color: #555;
4131
+ cursor: default;
4132
+ background-color: #fff;
4133
+ border: 1px solid #ddd;
4134
+ border-bottom-color: transparent;
4135
+ }
4136
+ .ycd-bootstrap-wrapper .nav-tabs.nav-justified {
4137
+ width: 100%;
4138
+ border-bottom: 0;
4139
+ }
4140
+ .ycd-bootstrap-wrapper .nav-tabs.nav-justified > li {
4141
+ float: none;
4142
+ }
4143
+ .ycd-bootstrap-wrapper .nav-tabs.nav-justified > li > a {
4144
+ margin-bottom: 5px;
4145
+ text-align: center;
4146
+ }
4147
+ .ycd-bootstrap-wrapper .nav-tabs.nav-justified > .dropdown .dropdown-menu {
4148
+ top: auto;
4149
+ left: auto;
4150
+ }
4151
+ @media (min-width: 768px) {
4152
+ .ycd-bootstrap-wrapper .nav-tabs.nav-justified > li {
4153
+ display: table-cell;
4154
+ width: 1%;
4155
+ }
4156
+ .ycd-bootstrap-wrapper .nav-tabs.nav-justified > li > a {
4157
+ margin-bottom: 0;
4158
+ }
4159
+ }
4160
+ .ycd-bootstrap-wrapper .nav-tabs.nav-justified > li > a {
4161
+ margin-right: 0;
4162
+ border-radius: 4px;
4163
+ }
4164
+ .ycd-bootstrap-wrapper .nav-tabs.nav-justified > .active > a,
4165
+ .ycd-bootstrap-wrapper .nav-tabs.nav-justified > .active > a:hover,
4166
+ .ycd-bootstrap-wrapper .nav-tabs.nav-justified > .active > a:focus {
4167
+ border: 1px solid #ddd;
4168
+ }
4169
+ @media (min-width: 768px) {
4170
+ .ycd-bootstrap-wrapper .nav-tabs.nav-justified > li > a {
4171
+ border-bottom: 1px solid #ddd;
4172
+ border-radius: 4px 4px 0 0;
4173
+ }
4174
+ .ycd-bootstrap-wrapper .nav-tabs.nav-justified > .active > a,
4175
+ .ycd-bootstrap-wrapper .nav-tabs.nav-justified > .active > a:hover,
4176
+ .ycd-bootstrap-wrapper .nav-tabs.nav-justified > .active > a:focus {
4177
+ border-bottom-color: #fff;
4178
+ }
4179
+ }
4180
+ .ycd-bootstrap-wrapper .nav-pills > li {
4181
+ float: left;
4182
+ }
4183
+ .ycd-bootstrap-wrapper .nav-pills > li > a {
4184
+ border-radius: 4px;
4185
+ }
4186
+ .ycd-bootstrap-wrapper .nav-pills > li + li {
4187
+ margin-left: 2px;
4188
+ }
4189
+ .ycd-bootstrap-wrapper .nav-pills > li.active > a,
4190
+ .ycd-bootstrap-wrapper .nav-pills > li.active > a:hover,
4191
+ .ycd-bootstrap-wrapper .nav-pills > li.active > a:focus {
4192
+ color: #fff;
4193
+ background-color: #337ab7;
4194
+ }
4195
+ .ycd-bootstrap-wrapper .nav-stacked > li {
4196
+ float: none;
4197
+ }
4198
+ .ycd-bootstrap-wrapper .nav-stacked > li + li {
4199
+ margin-top: 2px;
4200
+ margin-left: 0;
4201
+ }
4202
+ .ycd-bootstrap-wrapper .nav-justified {
4203
+ width: 100%;
4204
+ }
4205
+ .ycd-bootstrap-wrapper .nav-justified > li {
4206
+ float: none;
4207
+ }
4208
+ .ycd-bootstrap-wrapper .nav-justified > li > a {
4209
+ margin-bottom: 5px;
4210
+ text-align: center;
4211
+ }
4212
+ .ycd-bootstrap-wrapper .nav-justified > .dropdown .dropdown-menu {
4213
+ top: auto;
4214
+ left: auto;
4215
+ }
4216
+ @media (min-width: 768px) {
4217
+ .ycd-bootstrap-wrapper .nav-justified > li {
4218
+ display: table-cell;
4219
+ width: 1%;
4220
+ }
4221
+ .ycd-bootstrap-wrapper .nav-justified > li > a {
4222
+ margin-bottom: 0;
4223
+ }
4224
+ }
4225
+ .ycd-bootstrap-wrapper .nav-tabs-justified {
4226
+ border-bottom: 0;
4227
+ }
4228
+ .ycd-bootstrap-wrapper .nav-tabs-justified > li > a {
4229
+ margin-right: 0;
4230
+ border-radius: 4px;
4231
+ }
4232
+ .ycd-bootstrap-wrapper .nav-tabs-justified > .active > a,
4233
+ .ycd-bootstrap-wrapper .nav-tabs-justified > .active > a:hover,
4234
+ .ycd-bootstrap-wrapper .nav-tabs-justified > .active > a:focus {
4235
+ border: 1px solid #ddd;
4236
+ }
4237
+ @media (min-width: 768px) {
4238
+ .ycd-bootstrap-wrapper .nav-tabs-justified > li > a {
4239
+ border-bottom: 1px solid #ddd;
4240
+ border-radius: 4px 4px 0 0;
4241
+ }
4242
+ .ycd-bootstrap-wrapper .nav-tabs-justified > .active > a,
4243
+ .ycd-bootstrap-wrapper .nav-tabs-justified > .active > a:hover,
4244
+ .ycd-bootstrap-wrapper .nav-tabs-justified > .active > a:focus {
4245
+ border-bottom-color: #fff;
4246
+ }
4247
+ }
4248
+ .ycd-bootstrap-wrapper .tab-content > .tab-pane {
4249
+ display: none;
4250
+ }
4251
+ .ycd-bootstrap-wrapper .tab-content > .active {
4252
+ display: block;
4253
+ }
4254
+ .ycd-bootstrap-wrapper .nav-tabs .dropdown-menu {
4255
+ margin-top: -1px;
4256
+ border-top-left-radius: 0;
4257
+ border-top-right-radius: 0;
4258
+ }
4259
+ .ycd-bootstrap-wrapper .navbar {
4260
+ position: relative;
4261
+ min-height: 50px;
4262
+ margin-bottom: 20px;
4263
+ border: 1px solid transparent;
4264
+ }
4265
+ @media (min-width: 768px) {
4266
+ .ycd-bootstrap-wrapper .navbar {
4267
+ border-radius: 4px;
4268
+ }
4269
+ }
4270
+ @media (min-width: 768px) {
4271
+ .ycd-bootstrap-wrapper .navbar-header {
4272
+ float: left;
4273
+ }
4274
+ }
4275
+ .ycd-bootstrap-wrapper .navbar-collapse {
4276
+ padding-right: 15px;
4277
+ padding-left: 15px;
4278
+ overflow-x: visible;
4279
+ -webkit-overflow-scrolling: touch;
4280
+ border-top: 1px solid transparent;
4281
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
4282
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
4283
+ }
4284
+ .ycd-bootstrap-wrapper .navbar-collapse.in {
4285
+ overflow-y: auto;
4286
+ }
4287
+ @media (min-width: 768px) {
4288
+ .ycd-bootstrap-wrapper .navbar-collapse {
4289
+ width: auto;
4290
+ border-top: 0;
4291
+ -webkit-box-shadow: none;
4292
+ box-shadow: none;
4293
+ }
4294
+ .ycd-bootstrap-wrapper .navbar-collapse.collapse {
4295
+ display: block !important;
4296
+ height: auto !important;
4297
+ padding-bottom: 0;
4298
+ overflow: visible !important;
4299
+ }
4300
+ .ycd-bootstrap-wrapper .navbar-collapse.in {
4301
+ overflow-y: visible;
4302
+ }
4303
+ .ycd-bootstrap-wrapper .navbar-fixed-top .navbar-collapse,
4304
+ .ycd-bootstrap-wrapper .navbar-static-top .navbar-collapse,
4305
+ .ycd-bootstrap-wrapper .navbar-fixed-bottom .navbar-collapse {
4306
+ padding-right: 0;
4307
+ padding-left: 0;
4308
+ }
4309
+ }
4310
+ .ycd-bootstrap-wrapper .navbar-fixed-top .navbar-collapse,
4311
+ .ycd-bootstrap-wrapper .navbar-fixed-bottom .navbar-collapse {
4312
+ max-height: 340px;
4313
+ }
4314
+ @media (max-device-width: 480px) and (orientation: landscape) {
4315
+ .ycd-bootstrap-wrapper .navbar-fixed-top .navbar-collapse,
4316
+ .ycd-bootstrap-wrapper .navbar-fixed-bottom .navbar-collapse {
4317
+ max-height: 200px;
4318
+ }
4319
+ }
4320
+ .ycd-bootstrap-wrapper .container > .navbar-header,
4321
+ .ycd-bootstrap-wrapper .container-fluid > .navbar-header,
4322
+ .ycd-bootstrap-wrapper .container > .navbar-collapse,
4323
+ .ycd-bootstrap-wrapper .container-fluid > .navbar-collapse {
4324
+ margin-right: -15px;
4325
+ margin-left: -15px;
4326
+ }
4327
+ @media (min-width: 768px) {
4328
+ .ycd-bootstrap-wrapper .container > .navbar-header,
4329
+ .ycd-bootstrap-wrapper .container-fluid > .navbar-header,
4330
+ .ycd-bootstrap-wrapper .container > .navbar-collapse,
4331
+ .ycd-bootstrap-wrapper .container-fluid > .navbar-collapse {
4332
+ margin-right: 0;
4333
+ margin-left: 0;
4334
+ }
4335
+ }
4336
+ .ycd-bootstrap-wrapper .navbar-static-top {
4337
+ z-index: 1000;
4338
+ border-width: 0 0 1px;
4339
+ }
4340
+ @media (min-width: 768px) {
4341
+ .ycd-bootstrap-wrapper .navbar-static-top {
4342
+ border-radius: 0;
4343
+ }
4344
+ }
4345
+ .ycd-bootstrap-wrapper .navbar-fixed-top,
4346
+ .ycd-bootstrap-wrapper .navbar-fixed-bottom {
4347
+ position: fixed;
4348
+ right: 0;
4349
+ left: 0;
4350
+ z-index: 1030;
4351
+ }
4352
+ @media (min-width: 768px) {
4353
+ .ycd-bootstrap-wrapper .navbar-fixed-top,
4354
+ .ycd-bootstrap-wrapper .navbar-fixed-bottom {
4355
+ border-radius: 0;
4356
+ }
4357
+ }
4358
+ .ycd-bootstrap-wrapper .navbar-fixed-top {
4359
+ top: 0;
4360
+ border-width: 0 0 1px;
4361
+ }
4362
+ .ycd-bootstrap-wrapper .navbar-fixed-bottom {
4363
+ bottom: 0;
4364
+ margin-bottom: 0;
4365
+ border-width: 1px 0 0;
4366
+ }
4367
+ .ycd-bootstrap-wrapper .navbar-brand {
4368
+ float: left;
4369
+ height: 50px;
4370
+ padding: 15px 15px;
4371
+ font-size: 18px;
4372
+ line-height: 20px;
4373
+ }
4374
+ .ycd-bootstrap-wrapper .navbar-brand:hover,
4375
+ .ycd-bootstrap-wrapper .navbar-brand:focus {
4376
+ text-decoration: none;
4377
+ }
4378
+ .ycd-bootstrap-wrapper .navbar-brand > img {
4379
+ display: block;
4380
+ }
4381
+ @media (min-width: 768px) {
4382
+ .ycd-bootstrap-wrapper .navbar > .container .navbar-brand,
4383
+ .ycd-bootstrap-wrapper .navbar > .container-fluid .navbar-brand {
4384
+ margin-left: -15px;
4385
+ }
4386
+ }
4387
+ .ycd-bootstrap-wrapper .navbar-toggle {
4388
+ position: relative;
4389
+ float: right;
4390
+ padding: 9px 10px;
4391
+ margin-top: 8px;
4392
+ margin-right: 15px;
4393
+ margin-bottom: 8px;
4394
+ background-color: transparent;
4395
+ background-image: none;
4396
+ border: 1px solid transparent;
4397
+ border-radius: 4px;
4398
+ }
4399
+ .ycd-bootstrap-wrapper .navbar-toggle:focus {
4400
+ outline: 0;
4401
+ }
4402
+ .ycd-bootstrap-wrapper .navbar-toggle .icon-bar {
4403
+ display: block;
4404
+ width: 22px;
4405
+ height: 2px;
4406
+ border-radius: 1px;
4407
+ }
4408
+ .ycd-bootstrap-wrapper .navbar-toggle .icon-bar + .icon-bar {
4409
+ margin-top: 4px;
4410
+ }
4411
+ @media (min-width: 768px) {
4412
+ .ycd-bootstrap-wrapper .navbar-toggle {
4413
+ display: none;
4414
+ }
4415
+ }
4416
+ .ycd-bootstrap-wrapper .navbar-nav {
4417
+ margin: 7.5px -15px;
4418
+ }
4419
+ .ycd-bootstrap-wrapper .navbar-nav > li > a {
4420
+ padding-top: 10px;
4421
+ padding-bottom: 10px;
4422
+ line-height: 20px;
4423
+ }
4424
+ @media (max-width: 767px) {
4425
+ .ycd-bootstrap-wrapper .navbar-nav .open .dropdown-menu {
4426
+ position: static;
4427
+ float: none;
4428
+ width: auto;
4429
+ margin-top: 0;
4430
+ background-color: transparent;
4431
+ border: 0;
4432
+ -webkit-box-shadow: none;
4433
+ box-shadow: none;
4434
+ }
4435
+ .ycd-bootstrap-wrapper .navbar-nav .open .dropdown-menu > li > a,
4436
+ .ycd-bootstrap-wrapper .navbar-nav .open .dropdown-menu .dropdown-header {
4437
+ padding: 5px 15px 5px 25px;
4438
+ }
4439
+ .ycd-bootstrap-wrapper .navbar-nav .open .dropdown-menu > li > a {
4440
+ line-height: 20px;
4441
+ }
4442
+ .ycd-bootstrap-wrapper .navbar-nav .open .dropdown-menu > li > a:hover,
4443
+ .ycd-bootstrap-wrapper .navbar-nav .open .dropdown-menu > li > a:focus {
4444
+ background-image: none;
4445
+ }
4446
+ }
4447
+ @media (min-width: 768px) {
4448
+ .ycd-bootstrap-wrapper .navbar-nav {
4449
+ float: left;
4450
+ margin: 0;
4451
+ }
4452
+ .ycd-bootstrap-wrapper .navbar-nav > li {
4453
+ float: left;
4454
+ }
4455
+ .ycd-bootstrap-wrapper .navbar-nav > li > a {
4456
+ padding-top: 15px;
4457
+ padding-bottom: 15px;
4458
+ }
4459
+ }
4460
+ .ycd-bootstrap-wrapper .navbar-form {
4461
+ padding: 10px 15px;
4462
+ margin-top: 8px;
4463
+ margin-right: -15px;
4464
+ margin-bottom: 8px;
4465
+ margin-left: -15px;
4466
+ border-top: 1px solid transparent;
4467
+ border-bottom: 1px solid transparent;
4468
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
4469
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
4470
+ }
4471
+ @media (min-width: 768px) {
4472
+ .ycd-bootstrap-wrapper .navbar-form .form-group {
4473
+ display: inline-block;
4474
+ margin-bottom: 0;
4475
+ vertical-align: middle;
4476
+ }
4477
+ .ycd-bootstrap-wrapper .navbar-form .form-control {
4478
+ display: inline-block;
4479
+ width: auto;
4480
+ vertical-align: middle;
4481
+ }
4482
+ .ycd-bootstrap-wrapper .navbar-form .form-control-static {
4483
+ display: inline-block;
4484
+ }
4485
+ .ycd-bootstrap-wrapper .navbar-form .input-group {
4486
+ display: inline-table;
4487
+ vertical-align: middle;
4488
+ }
4489
+ .ycd-bootstrap-wrapper .navbar-form .input-group .input-group-addon,
4490
+ .ycd-bootstrap-wrapper .navbar-form .input-group .input-group-btn,
4491
+ .ycd-bootstrap-wrapper .navbar-form .input-group .form-control {
4492
+ width: auto;
4493
+ }
4494
+ .ycd-bootstrap-wrapper .navbar-form .input-group > .form-control {
4495
+ width: 100%;
4496
+ }
4497
+ .ycd-bootstrap-wrapper .navbar-form .control-label {
4498
+ margin-bottom: 0;
4499
+ vertical-align: middle;
4500
+ }
4501
+ .ycd-bootstrap-wrapper .navbar-form .radio,
4502
+ .ycd-bootstrap-wrapper .navbar-form .checkbox {
4503
+ display: inline-block;
4504
+ margin-top: 0;
4505
+ margin-bottom: 0;
4506
+ vertical-align: middle;
4507
+ }
4508
+ .ycd-bootstrap-wrapper .navbar-form .radio label,
4509
+ .ycd-bootstrap-wrapper .navbar-form .checkbox label {
4510
+ padding-left: 0;
4511
+ }
4512
+ .ycd-bootstrap-wrapper .navbar-form .radio input[type="radio"],
4513
+ .ycd-bootstrap-wrapper .navbar-form .checkbox input[type="checkbox"] {
4514
+ position: relative;
4515
+ margin-left: 0;
4516
+ }
4517
+ .ycd-bootstrap-wrapper .navbar-form .has-feedback .form-control-feedback {
4518
+ top: 0;
4519
+ }
4520
+ }
4521
+ @media (max-width: 767px) {
4522
+ .ycd-bootstrap-wrapper .navbar-form .form-group {
4523
+ margin-bottom: 5px;
4524
+ }
4525
+ .ycd-bootstrap-wrapper .navbar-form .form-group:last-child {
4526
+ margin-bottom: 0;
4527
+ }
4528
+ }
4529
+ @media (min-width: 768px) {
4530
+ .ycd-bootstrap-wrapper .navbar-form {
4531
+ width: auto;
4532
+ padding-top: 0;
4533
+ padding-bottom: 0;
4534
+ margin-right: 0;
4535
+ margin-left: 0;
4536
+ border: 0;
4537
+ -webkit-box-shadow: none;
4538
+ box-shadow: none;
4539
+ }
4540
+ }
4541
+ .ycd-bootstrap-wrapper .navbar-nav > li > .dropdown-menu {
4542
+ margin-top: 0;
4543
+ border-top-left-radius: 0;
4544
+ border-top-right-radius: 0;
4545
+ }
4546
+ .ycd-bootstrap-wrapper .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
4547
+ margin-bottom: 0;
4548
+ border-top-left-radius: 4px;
4549
+ border-top-right-radius: 4px;
4550
+ border-bottom-right-radius: 0;
4551
+ border-bottom-left-radius: 0;
4552
+ }
4553
+ .ycd-bootstrap-wrapper .navbar-btn {
4554
+ margin-top: 8px;
4555
+ margin-bottom: 8px;
4556
+ }
4557
+ .ycd-bootstrap-wrapper .navbar-btn.btn-sm {
4558
+ margin-top: 10px;
4559
+ margin-bottom: 10px;
4560
+ }
4561
+ .ycd-bootstrap-wrapper .navbar-btn.btn-xs {
4562
+ margin-top: 14px;
4563
+ margin-bottom: 14px;
4564
+ }
4565
+ .ycd-bootstrap-wrapper .navbar-text {
4566
+ margin-top: 15px;
4567
+ margin-bottom: 15px;
4568
+ }
4569
+ @media (min-width: 768px) {
4570
+ .ycd-bootstrap-wrapper .navbar-text {
4571
+ float: left;
4572
+ margin-right: 15px;
4573
+ margin-left: 15px;
4574
+ }
4575
+ }
4576
+ @media (min-width: 768px) {
4577
+ .ycd-bootstrap-wrapper .navbar-left {
4578
+ float: left !important;
4579
+ }
4580
+ .ycd-bootstrap-wrapper .navbar-right {
4581
+ float: right !important;
4582
+ margin-right: -15px;
4583
+ }
4584
+ .ycd-bootstrap-wrapper .navbar-right ~ .navbar-right {
4585
+ margin-right: 0;
4586
+ }
4587
+ }
4588
+ .ycd-bootstrap-wrapper .navbar-default {
4589
+ background-color: #f8f8f8;
4590
+ border-color: #e7e7e7;
4591
+ }
4592
+ .ycd-bootstrap-wrapper .navbar-default .navbar-brand {
4593
+ color: #777;
4594
+ }
4595
+ .ycd-bootstrap-wrapper .navbar-default .navbar-brand:hover,
4596
+ .ycd-bootstrap-wrapper .navbar-default .navbar-brand:focus {
4597
+ color: #5e5e5e;
4598
+ background-color: transparent;
4599
+ }
4600
+ .ycd-bootstrap-wrapper .navbar-default .navbar-text {
4601
+ color: #777;
4602
+ }
4603
+ .ycd-bootstrap-wrapper .navbar-default .navbar-nav > li > a {
4604
+ color: #777;
4605
+ }
4606
+ .ycd-bootstrap-wrapper .navbar-default .navbar-nav > li > a:hover,
4607
+ .ycd-bootstrap-wrapper .navbar-default .navbar-nav > li > a:focus {
4608
+ color: #333;
4609
+ background-color: transparent;
4610
+ }
4611
+ .ycd-bootstrap-wrapper .navbar-default .navbar-nav > .active > a,
4612
+ .ycd-bootstrap-wrapper .navbar-default .navbar-nav > .active > a:hover,
4613
+ .ycd-bootstrap-wrapper .navbar-default .navbar-nav > .active > a:focus {
4614
+ color: #555;
4615
+ background-color: #e7e7e7;
4616
+ }
4617
+ .ycd-bootstrap-wrapper .navbar-default .navbar-nav > .disabled > a,
4618
+ .ycd-bootstrap-wrapper .navbar-default .navbar-nav > .disabled > a:hover,
4619
+ .ycd-bootstrap-wrapper .navbar-default .navbar-nav > .disabled > a:focus {
4620
+ color: #ccc;
4621
+ background-color: transparent;
4622
+ }
4623
+ .ycd-bootstrap-wrapper .navbar-default .navbar-toggle {
4624
+ border-color: #ddd;
4625
+ }
4626
+ .ycd-bootstrap-wrapper .navbar-default .navbar-toggle:hover,
4627
+ .ycd-bootstrap-wrapper .navbar-default .navbar-toggle:focus {
4628
+ background-color: #ddd;
4629
+ }
4630
+ .ycd-bootstrap-wrapper .navbar-default .navbar-toggle .icon-bar {
4631
+ background-color: #888;
4632
+ }
4633
+ .ycd-bootstrap-wrapper .navbar-default .navbar-collapse,
4634
+ .ycd-bootstrap-wrapper .navbar-default .navbar-form {
4635
+ border-color: #e7e7e7;
4636
+ }
4637
+ .ycd-bootstrap-wrapper .navbar-default .navbar-nav > .open > a,
4638
+ .ycd-bootstrap-wrapper .navbar-default .navbar-nav > .open > a:hover,
4639
+ .ycd-bootstrap-wrapper .navbar-default .navbar-nav > .open > a:focus {
4640
+ color: #555;
4641
+ background-color: #e7e7e7;
4642
+ }
4643
+ @media (max-width: 767px) {
4644
+ .ycd-bootstrap-wrapper .navbar-default .navbar-nav .open .dropdown-menu > li > a {
4645
+ color: #777;
4646
+ }
4647
+ .ycd-bootstrap-wrapper .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
4648
+ .ycd-bootstrap-wrapper .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
4649
+ color: #333;
4650
+ background-color: transparent;
4651
+ }
4652
+ .ycd-bootstrap-wrapper .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
4653
+ .ycd-bootstrap-wrapper .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
4654
+ .ycd-bootstrap-wrapper .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
4655
+ color: #555;
4656
+ background-color: #e7e7e7;
4657
+ }
4658
+ .ycd-bootstrap-wrapper .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
4659
+ .ycd-bootstrap-wrapper .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
4660
+ .ycd-bootstrap-wrapper .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
4661
+ color: #ccc;
4662
+ background-color: transparent;
4663
+ }
4664
+ }
4665
+ .ycd-bootstrap-wrapper .navbar-default .navbar-link {
4666
+ color: #777;
4667
+ }
4668
+ .ycd-bootstrap-wrapper .navbar-default .navbar-link:hover {
4669
+ color: #333;
4670
+ }
4671
+ .ycd-bootstrap-wrapper .navbar-default .btn-link {
4672
+ color: #777;
4673
+ }
4674
+ .ycd-bootstrap-wrapper .navbar-default .btn-link:hover,
4675
+ .ycd-bootstrap-wrapper .navbar-default .btn-link:focus {
4676
+ color: #333;
4677
+ }
4678
+ .ycd-bootstrap-wrapper .navbar-default .btn-link[disabled]:hover,
4679
+ .ycd-bootstrap-wrapper fieldset[disabled] .navbar-default .btn-link:hover,
4680
+ .ycd-bootstrap-wrapper .navbar-default .btn-link[disabled]:focus,
4681
+ .ycd-bootstrap-wrapper fieldset[disabled] .navbar-default .btn-link:focus {
4682
+ color: #ccc;
4683
+ }
4684
+ .ycd-bootstrap-wrapper .navbar-inverse {
4685
+ background-color: #222;
4686
+ border-color: #080808;
4687
+ }
4688
+ .ycd-bootstrap-wrapper .navbar-inverse .navbar-brand {
4689
+ color: #9d9d9d;
4690
+ }
4691
+ .ycd-bootstrap-wrapper .navbar-inverse .navbar-brand:hover,
4692
+ .ycd-bootstrap-wrapper .navbar-inverse .navbar-brand:focus {
4693
+ color: #fff;
4694
+ background-color: transparent;
4695
+ }
4696
+ .ycd-bootstrap-wrapper .navbar-inverse .navbar-text {
4697
+ color: #9d9d9d;
4698
+ }
4699
+ .ycd-bootstrap-wrapper .navbar-inverse .navbar-nav > li > a {
4700
+ color: #9d9d9d;
4701
+ }
4702
+ .ycd-bootstrap-wrapper .navbar-inverse .navbar-nav > li > a:hover,
4703
+ .ycd-bootstrap-wrapper .navbar-inverse .navbar-nav > li > a:focus {
4704
+ color: #fff;
4705
+ background-color: transparent;
4706
+ }
4707
+ .ycd-bootstrap-wrapper .navbar-inverse .navbar-nav > .active > a,
4708
+ .ycd-bootstrap-wrapper .navbar-inverse .navbar-nav > .active > a:hover,
4709
+ .ycd-bootstrap-wrapper .navbar-inverse .navbar-nav > .active > a:focus {
4710
+ color: #fff;
4711
+ background-color: #080808;
4712
+ }
4713
+ .ycd-bootstrap-wrapper .navbar-inverse .navbar-nav > .disabled > a,
4714
+ .ycd-bootstrap-wrapper .navbar-inverse .navbar-nav > .disabled > a:hover,
4715
+ .ycd-bootstrap-wrapper .navbar-inverse .navbar-nav > .disabled > a:focus {
4716
+ color: #444;
4717
+ background-color: transparent;
4718
+ }
4719
+ .ycd-bootstrap-wrapper .navbar-inverse .navbar-toggle {
4720
+ border-color: #333;
4721
+ }
4722
+ .ycd-bootstrap-wrapper .navbar-inverse .navbar-toggle:hover,
4723
+ .ycd-bootstrap-wrapper .navbar-inverse .navbar-toggle:focus {
4724
+ background-color: #333;
4725
+ }
4726
+ .ycd-bootstrap-wrapper .navbar-inverse .navbar-toggle .icon-bar {
4727
+ background-color: #fff;
4728
+ }
4729
+ .ycd-bootstrap-wrapper .navbar-inverse .navbar-collapse,
4730
+ .ycd-bootstrap-wrapper .navbar-inverse .navbar-form {
4731
+ border-color: #101010;
4732
+ }
4733
+ .ycd-bootstrap-wrapper .navbar-inverse .navbar-nav > .open > a,
4734
+ .ycd-bootstrap-wrapper .navbar-inverse .navbar-nav > .open > a:hover,
4735
+ .ycd-bootstrap-wrapper .navbar-inverse .navbar-nav > .open > a:focus {
4736
+ color: #fff;
4737
+ background-color: #080808;
4738
+ }
4739
+ @media (max-width: 767px) {
4740
+ .ycd-bootstrap-wrapper .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
4741
+ border-color: #080808;
4742
+ }
4743
+ .ycd-bootstrap-wrapper .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
4744
+ background-color: #080808;
4745
+ }
4746
+ .ycd-bootstrap-wrapper .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
4747
+ color: #9d9d9d;
4748
+ }
4749
+ .ycd-bootstrap-wrapper .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
4750
+ .ycd-bootstrap-wrapper .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
4751
+ color: #fff;
4752
+ background-color: transparent;
4753
+ }
4754
+ .ycd-bootstrap-wrapper .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
4755
+ .ycd-bootstrap-wrapper .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
4756
+ .ycd-bootstrap-wrapper .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
4757
+ color: #fff;
4758
+ background-color: #080808;
4759
+ }
4760
+ .ycd-bootstrap-wrapper .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
4761
+ .ycd-bootstrap-wrapper .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
4762
+ .ycd-bootstrap-wrapper .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
4763
+ color: #444;
4764
+ background-color: transparent;
4765
+ }
4766
+ }
4767
+ .ycd-bootstrap-wrapper .navbar-inverse .navbar-link {
4768
+ color: #9d9d9d;
4769
+ }
4770
+ .ycd-bootstrap-wrapper .navbar-inverse .navbar-link:hover {
4771
+ color: #fff;
4772
+ }
4773
+ .ycd-bootstrap-wrapper .navbar-inverse .btn-link {
4774
+ color: #9d9d9d;
4775
+ }
4776
+ .ycd-bootstrap-wrapper .navbar-inverse .btn-link:hover,
4777
+ .ycd-bootstrap-wrapper .navbar-inverse .btn-link:focus {
4778
+ color: #fff;
4779
+ }
4780
+ .ycd-bootstrap-wrapper .navbar-inverse .btn-link[disabled]:hover,
4781
+ .ycd-bootstrap-wrapper fieldset[disabled] .navbar-inverse .btn-link:hover,
4782
+ .ycd-bootstrap-wrapper .navbar-inverse .btn-link[disabled]:focus,
4783
+ .ycd-bootstrap-wrapper fieldset[disabled] .navbar-inverse .btn-link:focus {
4784
+ color: #444;
4785
+ }
4786
+ .ycd-bootstrap-wrapper .breadcrumb {
4787
+ padding: 8px 15px;
4788
+ margin-bottom: 20px;
4789
+ list-style: none;
4790
+ background-color: #f5f5f5;
4791
+ border-radius: 4px;
4792
+ }
4793
+ .ycd-bootstrap-wrapper .breadcrumb > li {
4794
+ display: inline-block;
4795
+ }
4796
+ .ycd-bootstrap-wrapper .breadcrumb > li + li:before {
4797
+ padding: 0 5px;
4798
+ color: #ccc;
4799
+ content: "/\00a0";
4800
+ }
4801
+ .ycd-bootstrap-wrapper .breadcrumb > .active {
4802
+ color: #777;
4803
+ }
4804
+ .ycd-bootstrap-wrapper .pagination {
4805
+ display: inline-block;
4806
+ padding-left: 0;
4807
+ margin: 20px 0;
4808
+ border-radius: 4px;
4809
+ }
4810
+ .ycd-bootstrap-wrapper .pagination > li {
4811
+ display: inline;
4812
+ }
4813
+ .ycd-bootstrap-wrapper .pagination > li > a,
4814
+ .ycd-bootstrap-wrapper .pagination > li > span {
4815
+ position: relative;
4816
+ float: left;
4817
+ padding: 6px 12px;
4818
+ margin-left: -1px;
4819
+ line-height: 1.42857143;
4820
+ color: #337ab7;
4821
+ text-decoration: none;
4822
+ background-color: #fff;
4823
+ border: 1px solid #ddd;
4824
+ }
4825
+ .ycd-bootstrap-wrapper .pagination > li:first-child > a,
4826
+ .ycd-bootstrap-wrapper .pagination > li:first-child > span {
4827
+ margin-left: 0;
4828
+ border-top-left-radius: 4px;
4829
+ border-bottom-left-radius: 4px;
4830
+ }
4831
+ .ycd-bootstrap-wrapper .pagination > li:last-child > a,
4832
+ .ycd-bootstrap-wrapper .pagination > li:last-child > span {
4833
+ border-top-right-radius: 4px;
4834
+ border-bottom-right-radius: 4px;
4835
+ }
4836
+ .ycd-bootstrap-wrapper .pagination > li > a:hover,
4837
+ .ycd-bootstrap-wrapper .pagination > li > span:hover,
4838
+ .ycd-bootstrap-wrapper .pagination > li > a:focus,
4839
+ .ycd-bootstrap-wrapper .pagination > li > span:focus {
4840
+ z-index: 2;
4841
+ color: #23527c;
4842
+ background-color: #eee;
4843
+ border-color: #ddd;
4844
+ }
4845
+ .ycd-bootstrap-wrapper .pagination > .active > a,
4846
+ .ycd-bootstrap-wrapper .pagination > .active > span,
4847
+ .ycd-bootstrap-wrapper .pagination > .active > a:hover,
4848
+ .ycd-bootstrap-wrapper .pagination > .active > span:hover,
4849
+ .ycd-bootstrap-wrapper .pagination > .active > a:focus,
4850
+ .ycd-bootstrap-wrapper .pagination > .active > span:focus {
4851
+ z-index: 3;
4852
+ color: #fff;
4853
+ cursor: default;
4854
+ background-color: #337ab7;
4855
+ border-color: #337ab7;
4856
+ }
4857
+ .ycd-bootstrap-wrapper .pagination > .disabled > span,
4858
+ .ycd-bootstrap-wrapper .pagination > .disabled > span:hover,
4859
+ .ycd-bootstrap-wrapper .pagination > .disabled > span:focus,
4860
+ .ycd-bootstrap-wrapper .pagination > .disabled > a,
4861
+ .ycd-bootstrap-wrapper .pagination > .disabled > a:hover,
4862
+ .ycd-bootstrap-wrapper .pagination > .disabled > a:focus {
4863
+ color: #777;
4864
+ cursor: not-allowed;
4865
+ background-color: #fff;
4866
+ border-color: #ddd;
4867
+ }
4868
+ .ycd-bootstrap-wrapper .pagination-lg > li > a,
4869
+ .ycd-bootstrap-wrapper .pagination-lg > li > span {
4870
+ padding: 10px 16px;
4871
+ font-size: 18px;
4872
+ line-height: 1.3333333;
4873
+ }
4874
+ .ycd-bootstrap-wrapper .pagination-lg > li:first-child > a,
4875
+ .ycd-bootstrap-wrapper .pagination-lg > li:first-child > span {
4876
+ border-top-left-radius: 6px;
4877
+ border-bottom-left-radius: 6px;
4878
+ }
4879
+ .ycd-bootstrap-wrapper .pagination-lg > li:last-child > a,
4880
+ .ycd-bootstrap-wrapper .pagination-lg > li:last-child > span {
4881
+ border-top-right-radius: 6px;
4882
+ border-bottom-right-radius: 6px;
4883
+ }
4884
+ .ycd-bootstrap-wrapper .pagination-sm > li > a,
4885
+ .ycd-bootstrap-wrapper .pagination-sm > li > span {
4886
+ padding: 5px 10px;
4887
+ font-size: 12px;
4888
+ line-height: 1.5;
4889
+ }
4890
+ .ycd-bootstrap-wrapper .pagination-sm > li:first-child > a,
4891
+ .ycd-bootstrap-wrapper .pagination-sm > li:first-child > span {
4892
+ border-top-left-radius: 3px;
4893
+ border-bottom-left-radius: 3px;
4894
+ }
4895
+ .ycd-bootstrap-wrapper .pagination-sm > li:last-child > a,
4896
+ .ycd-bootstrap-wrapper .pagination-sm > li:last-child > span {
4897
+ border-top-right-radius: 3px;
4898
+ border-bottom-right-radius: 3px;
4899
+ }
4900
+ .ycd-bootstrap-wrapper .pager {
4901
+ padding-left: 0;
4902
+ margin: 20px 0;
4903
+ text-align: center;
4904
+ list-style: none;
4905
+ }
4906
+ .ycd-bootstrap-wrapper .pager li {
4907
+ display: inline;
4908
+ }
4909
+ .ycd-bootstrap-wrapper .pager li > a,
4910
+ .ycd-bootstrap-wrapper .pager li > span {
4911
+ display: inline-block;
4912
+ padding: 5px 14px;
4913
+ background-color: #fff;
4914
+ border: 1px solid #ddd;
4915
+ border-radius: 15px;
4916
+ }
4917
+ .ycd-bootstrap-wrapper .pager li > a:hover,
4918
+ .ycd-bootstrap-wrapper .pager li > a:focus {
4919
+ text-decoration: none;
4920
+ background-color: #eee;
4921
+ }
4922
+ .ycd-bootstrap-wrapper .pager .next > a,
4923
+ .ycd-bootstrap-wrapper .pager .next > span {
4924
+ float: right;
4925
+ }
4926
+ .ycd-bootstrap-wrapper .pager .previous > a,
4927
+ .ycd-bootstrap-wrapper .pager .previous > span {
4928
+ float: left;
4929
+ }
4930
+ .ycd-bootstrap-wrapper .pager .disabled > a,
4931
+ .ycd-bootstrap-wrapper .pager .disabled > a:hover,
4932
+ .ycd-bootstrap-wrapper .pager .disabled > a:focus,
4933
+ .ycd-bootstrap-wrapper .pager .disabled > span {
4934
+ color: #777;
4935
+ cursor: not-allowed;
4936
+ background-color: #fff;
4937
+ }
4938
+ .ycd-bootstrap-wrapper .label {
4939
+ display: inline;
4940
+ padding: .2em .6em .3em;
4941
+ font-size: 75%;
4942
+ font-weight: bold;
4943
+ line-height: 1;
4944
+ color: #fff;
4945
+ text-align: center;
4946
+ white-space: nowrap;
4947
+ vertical-align: baseline;
4948
+ border-radius: .25em;
4949
+ }
4950
+ .ycd-bootstrap-wrapper a.label:hover,
4951
+ .ycd-bootstrap-wrapper a.label:focus {
4952
+ color: #fff;
4953
+ text-decoration: none;
4954
+ cursor: pointer;
4955
+ }
4956
+ .ycd-bootstrap-wrapper .label:empty {
4957
+ display: none;
4958
+ }
4959
+ .ycd-bootstrap-wrapper .btn .label {
4960
+ position: relative;
4961
+ top: -1px;
4962
+ }
4963
+ .ycd-bootstrap-wrapper .label-default {
4964
+ background-color: #777;
4965
+ }
4966
+ .ycd-bootstrap-wrapper .label-default[href]:hover,
4967
+ .ycd-bootstrap-wrapper .label-default[href]:focus {
4968
+ background-color: #5e5e5e;
4969
+ }
4970
+ .ycd-bootstrap-wrapper .label-primary {
4971
+ background-color: #337ab7;
4972
+ }
4973
+ .ycd-bootstrap-wrapper .label-primary[href]:hover,
4974
+ .ycd-bootstrap-wrapper .label-primary[href]:focus {
4975
+ background-color: #286090;
4976
+ }
4977
+ .ycd-bootstrap-wrapper .label-success {
4978
+ background-color: #5cb85c;
4979
+ }
4980
+ .ycd-bootstrap-wrapper .label-success[href]:hover,
4981
+ .ycd-bootstrap-wrapper .label-success[href]:focus {
4982
+ background-color: #449d44;
4983
+ }
4984
+ .ycd-bootstrap-wrapper .label-info {
4985
+ background-color: #5bc0de;
4986
+ }
4987
+ .ycd-bootstrap-wrapper .label-info[href]:hover,
4988
+ .ycd-bootstrap-wrapper .label-info[href]:focus {
4989
+ background-color: #31b0d5;
4990
+ }
4991
+ .ycd-bootstrap-wrapper .label-warning {
4992
+ background-color: #f0ad4e;
4993
+ }
4994
+ .ycd-bootstrap-wrapper .label-warning[href]:hover,
4995
+ .ycd-bootstrap-wrapper .label-warning[href]:focus {
4996
+ background-color: #ec971f;
4997
+ }
4998
+ .ycd-bootstrap-wrapper .label-danger {
4999
+ background-color: #d9534f;
5000
+ }
5001
+ .ycd-bootstrap-wrapper .label-danger[href]:hover,
5002
+ .ycd-bootstrap-wrapper .label-danger[href]:focus {
5003
+ background-color: #c9302c;
5004
+ }
5005
+ .ycd-bootstrap-wrapper .badge {
5006
+ display: inline-block;
5007
+ min-width: 10px;
5008
+ padding: 3px 7px;
5009
+ font-size: 12px;
5010
+ font-weight: bold;
5011
+ line-height: 1;
5012
+ color: #fff;
5013
+ text-align: center;
5014
+ white-space: nowrap;
5015
+ vertical-align: middle;
5016
+ background-color: #777;
5017
+ border-radius: 10px;
5018
+ }
5019
+ .ycd-bootstrap-wrapper .badge:empty {
5020
+ display: none;
5021
+ }
5022
+ .ycd-bootstrap-wrapper .btn .badge {
5023
+ position: relative;
5024
+ top: -1px;
5025
+ }
5026
+ .ycd-bootstrap-wrapper .btn-xs .badge,
5027
+ .ycd-bootstrap-wrapper .btn-group-xs > .btn .badge {
5028
+ top: 0;
5029
+ padding: 1px 5px;
5030
+ }
5031
+ .ycd-bootstrap-wrapper a.badge:hover,
5032
+ .ycd-bootstrap-wrapper a.badge:focus {
5033
+ color: #fff;
5034
+ text-decoration: none;
5035
+ cursor: pointer;
5036
+ }
5037
+ .ycd-bootstrap-wrapper .list-group-item.active > .badge,
5038
+ .ycd-bootstrap-wrapper .nav-pills > .active > a > .badge {
5039
+ color: #337ab7;
5040
+ background-color: #fff;
5041
+ }
5042
+ .ycd-bootstrap-wrapper .list-group-item > .badge {
5043
+ float: right;
5044
+ }
5045
+ .ycd-bootstrap-wrapper .list-group-item > .badge + .badge {
5046
+ margin-right: 5px;
5047
+ }
5048
+ .ycd-bootstrap-wrapper .nav-pills > li > a > .badge {
5049
+ margin-left: 3px;
5050
+ }
5051
+ .ycd-bootstrap-wrapper .jumbotron {
5052
+ padding-top: 30px;
5053
+ padding-bottom: 30px;
5054
+ margin-bottom: 30px;
5055
+ color: inherit;
5056
+ background-color: #eee;
5057
+ }
5058
+ .ycd-bootstrap-wrapper .jumbotron h1,
5059
+ .ycd-bootstrap-wrapper .jumbotron .h1 {
5060
+ color: inherit;
5061
+ }
5062
+ .ycd-bootstrap-wrapper .jumbotron p {
5063
+ margin-bottom: 15px;
5064
+ font-size: 21px;
5065
+ font-weight: 200;
5066
+ }
5067
+ .ycd-bootstrap-wrapper .jumbotron > hr {
5068
+ border-top-color: #d5d5d5;
5069
+ }
5070
+ .ycd-bootstrap-wrapper .container .jumbotron,
5071
+ .ycd-bootstrap-wrapper .container-fluid .jumbotron {
5072
+ padding-right: 15px;
5073
+ padding-left: 15px;
5074
+ border-radius: 6px;
5075
+ }
5076
+ .ycd-bootstrap-wrapper .jumbotron .container {
5077
+ max-width: 100%;
5078
+ }
5079
+ @media screen and (min-width: 768px) {
5080
+ .ycd-bootstrap-wrapper .jumbotron {
5081
+ padding-top: 48px;
5082
+ padding-bottom: 48px;
5083
+ }
5084
+ .ycd-bootstrap-wrapper .container .jumbotron,
5085
+ .ycd-bootstrap-wrapper .container-fluid .jumbotron {
5086
+ padding-right: 60px;
5087
+ padding-left: 60px;
5088
+ }
5089
+ .ycd-bootstrap-wrapper .jumbotron h1,
5090
+ .ycd-bootstrap-wrapper .jumbotron .h1 {
5091
+ font-size: 63px;
5092
+ }
5093
+ }
5094
+ .ycd-bootstrap-wrapper .thumbnail {
5095
+ display: block;
5096
+ padding: 4px;
5097
+ margin-bottom: 20px;
5098
+ line-height: 1.42857143;
5099
+ background-color: #fff;
5100
+ border: 1px solid #ddd;
5101
+ border-radius: 4px;
5102
+ -webkit-transition: border 0.2s ease-in-out;
5103
+ -o-transition: border 0.2s ease-in-out;
5104
+ transition: border 0.2s ease-in-out;
5105
+ }
5106
+ .ycd-bootstrap-wrapper .thumbnail > img,
5107
+ .ycd-bootstrap-wrapper .thumbnail a > img {
5108
+ margin-right: auto;
5109
+ margin-left: auto;
5110
+ }
5111
+ .ycd-bootstrap-wrapper a.thumbnail:hover,
5112
+ .ycd-bootstrap-wrapper a.thumbnail:focus,
5113
+ .ycd-bootstrap-wrapper a.thumbnail.active {
5114
+ border-color: #337ab7;
5115
+ }
5116
+ .ycd-bootstrap-wrapper .thumbnail .caption {
5117
+ padding: 9px;
5118
+ color: #333;
5119
+ }
5120
+ .ycd-bootstrap-wrapper .alert {
5121
+ padding: 15px;
5122
+ margin-bottom: 20px;
5123
+ border: 1px solid transparent;
5124
+ border-radius: 4px;
5125
+ }
5126
+ .ycd-bootstrap-wrapper .alert h4 {
5127
+ margin-top: 0;
5128
+ color: inherit;
5129
+ }
5130
+ .ycd-bootstrap-wrapper .alert .alert-link {
5131
+ font-weight: bold;
5132
+ }
5133
+ .ycd-bootstrap-wrapper .alert > p,
5134
+ .ycd-bootstrap-wrapper .alert > ul {
5135
+ margin-bottom: 0;
5136
+ }
5137
+ .ycd-bootstrap-wrapper .alert > p + p {
5138
+ margin-top: 5px;
5139
+ }
5140
+ .ycd-bootstrap-wrapper .alert-dismissable,
5141
+ .ycd-bootstrap-wrapper .alert-dismissible {
5142
+ padding-right: 35px;
5143
+ }
5144
+ .ycd-bootstrap-wrapper .alert-dismissable .close,
5145
+ .ycd-bootstrap-wrapper .alert-dismissible .close {
5146
+ position: relative;
5147
+ top: -2px;
5148
+ right: -21px;
5149
+ color: inherit;
5150
+ }
5151
+ .ycd-bootstrap-wrapper .alert-success {
5152
+ color: #3c763d;
5153
+ background-color: #dff0d8;
5154
+ border-color: #d6e9c6;
5155
+ }
5156
+ .ycd-bootstrap-wrapper .alert-success hr {
5157
+ border-top-color: #c9e2b3;
5158
+ }
5159
+ .ycd-bootstrap-wrapper .alert-success .alert-link {
5160
+ color: #2b542c;
5161
+ }
5162
+ .ycd-bootstrap-wrapper .alert-info {
5163
+ color: #31708f;
5164
+ background-color: #d9edf7;
5165
+ border-color: #bce8f1;
5166
+ }
5167
+ .ycd-bootstrap-wrapper .alert-info hr {
5168
+ border-top-color: #a6e1ec;
5169
+ }
5170
+ .ycd-bootstrap-wrapper .alert-info .alert-link {
5171
+ color: #245269;
5172
+ }
5173
+ .ycd-bootstrap-wrapper .alert-warning {
5174
+ color: #8a6d3b;
5175
+ background-color: #fcf8e3;
5176
+ border-color: #faebcc;
5177
+ }
5178
+ .ycd-bootstrap-wrapper .alert-warning hr {
5179
+ border-top-color: #f7e1b5;
5180
+ }
5181
+ .ycd-bootstrap-wrapper .alert-warning .alert-link {
5182
+ color: #66512c;
5183
+ }
5184
+ .ycd-bootstrap-wrapper .alert-danger {
5185
+ color: #a94442;
5186
+ background-color: #f2dede;
5187
+ border-color: #ebccd1;
5188
+ }
5189
+ .ycd-bootstrap-wrapper .alert-danger hr {
5190
+ border-top-color: #e4b9c0;
5191
+ }
5192
+ .ycd-bootstrap-wrapper .alert-danger .alert-link {
5193
+ color: #843534;
5194
+ }
5195
+ @-webkit-keyframes progress-bar-stripes {
5196
+ from {
5197
+ background-position: 40px 0;
5198
+ }
5199
+ to {
5200
+ background-position: 0 0;
5201
+ }
5202
+ }
5203
+ @-o-keyframes progress-bar-stripes {
5204
+ from {
5205
+ background-position: 40px 0;
5206
+ }
5207
+ to {
5208
+ background-position: 0 0;
5209
+ }
5210
+ }
5211
+ @keyframes progress-bar-stripes {
5212
+ from {
5213
+ background-position: 40px 0;
5214
+ }
5215
+ to {
5216
+ background-position: 0 0;
5217
+ }
5218
+ }
5219
+ .ycd-bootstrap-wrapper .progress {
5220
+ height: 20px;
5221
+ margin-bottom: 20px;
5222
+ overflow: hidden;
5223
+ background-color: #f5f5f5;
5224
+ border-radius: 4px;
5225
+ -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
5226
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
5227
+ }
5228
+ .ycd-bootstrap-wrapper .progress-bar {
5229
+ float: left;
5230
+ width: 0;
5231
+ height: 100%;
5232
+ font-size: 12px;
5233
+ line-height: 20px;
5234
+ color: #fff;
5235
+ text-align: center;
5236
+ background-color: #337ab7;
5237
+ -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
5238
+ box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
5239
+ -webkit-transition: width .6s ease;
5240
+ -o-transition: width .6s ease;
5241
+ transition: width .6s ease;
5242
+ }
5243
+ .ycd-bootstrap-wrapper .progress-striped .progress-bar,
5244
+ .ycd-bootstrap-wrapper .progress-bar-striped {
5245
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5246
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5247
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5248
+ -webkit-background-size: 40px 40px;
5249
+ background-size: 40px 40px;
5250
+ }
5251
+ .ycd-bootstrap-wrapper .progress.active .progress-bar,
5252
+ .ycd-bootstrap-wrapper .progress-bar.active {
5253
+ -webkit-animation: progress-bar-stripes 2s linear infinite;
5254
+ -o-animation: progress-bar-stripes 2s linear infinite;
5255
+ animation: progress-bar-stripes 2s linear infinite;
5256
+ }
5257
+ .ycd-bootstrap-wrapper .progress-bar-success {
5258
+ background-color: #5cb85c;
5259
+ }
5260
+ .ycd-bootstrap-wrapper .progress-striped .progress-bar-success {
5261
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5262
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5263
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5264
+ }
5265
+ .ycd-bootstrap-wrapper .progress-bar-info {
5266
+ background-color: #5bc0de;
5267
+ }
5268
+ .ycd-bootstrap-wrapper .progress-striped .progress-bar-info {
5269
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5270
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5271
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5272
+ }
5273
+ .ycd-bootstrap-wrapper .progress-bar-warning {
5274
+ background-color: #f0ad4e;
5275
+ }
5276
+ .ycd-bootstrap-wrapper .progress-striped .progress-bar-warning {
5277
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5278
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5279
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5280
+ }
5281
+ .ycd-bootstrap-wrapper .progress-bar-danger {
5282
+ background-color: #d9534f;
5283
+ }
5284
+ .ycd-bootstrap-wrapper .progress-striped .progress-bar-danger {
5285
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5286
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5287
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5288
+ }
5289
+ .ycd-bootstrap-wrapper .media {
5290
+ margin-top: 15px;
5291
+ }
5292
+ .ycd-bootstrap-wrapper .media:first-child {
5293
+ margin-top: 0;
5294
+ }
5295
+ .ycd-bootstrap-wrapper .media,
5296
+ .ycd-bootstrap-wrapper .media-body {
5297
+ overflow: hidden;
5298
+ zoom: 1;
5299
+ }
5300
+ .ycd-bootstrap-wrapper .media-body {
5301
+ width: 10000px;
5302
+ }
5303
+ .ycd-bootstrap-wrapper .media-object {
5304
+ display: block;
5305
+ }
5306
+ .ycd-bootstrap-wrapper .media-object.img-thumbnail {
5307
+ max-width: none;
5308
+ }
5309
+ .ycd-bootstrap-wrapper .media-right,
5310
+ .ycd-bootstrap-wrapper .media > .pull-right {
5311
+ padding-left: 10px;
5312
+ }
5313
+ .ycd-bootstrap-wrapper .media-left,
5314
+ .ycd-bootstrap-wrapper .media > .pull-left {
5315
+ padding-right: 10px;
5316
+ }
5317
+ .ycd-bootstrap-wrapper .media-left,
5318
+ .ycd-bootstrap-wrapper .media-right,
5319
+ .ycd-bootstrap-wrapper .media-body {
5320
+ display: table-cell;
5321
+ vertical-align: top;
5322
+ }
5323
+ .ycd-bootstrap-wrapper .media-middle {
5324
+ vertical-align: middle;
5325
+ }
5326
+ .ycd-bootstrap-wrapper .media-bottom {
5327
+ vertical-align: bottom;
5328
+ }
5329
+ .ycd-bootstrap-wrapper .media-heading {
5330
+ margin-top: 0;
5331
+ margin-bottom: 5px;
5332
+ }
5333
+ .ycd-bootstrap-wrapper .media-list {
5334
+ padding-left: 0;
5335
+ list-style: none;
5336
+ }
5337
+ .ycd-bootstrap-wrapper .list-group {
5338
+ padding-left: 0;
5339
+ margin-bottom: 20px;
5340
+ }
5341
+ .ycd-bootstrap-wrapper .list-group-item {
5342
+ position: relative;
5343
+ display: block;
5344
+ padding: 10px 15px;
5345
+ margin-bottom: -1px;
5346
+ background-color: #fff;
5347
+ border: 1px solid #ddd;
5348
+ }
5349
+ .ycd-bootstrap-wrapper .list-group-item:first-child {
5350
+ border-top-left-radius: 4px;
5351
+ border-top-right-radius: 4px;
5352
+ }
5353
+ .ycd-bootstrap-wrapper .list-group-item:last-child {
5354
+ margin-bottom: 0;
5355
+ border-bottom-right-radius: 4px;
5356
+ border-bottom-left-radius: 4px;
5357
+ }
5358
+ .ycd-bootstrap-wrapper a.list-group-item,
5359
+ .ycd-bootstrap-wrapper button.list-group-item {
5360
+ color: #555;
5361
+ }
5362
+ .ycd-bootstrap-wrapper a.list-group-item .list-group-item-heading,
5363
+ .ycd-bootstrap-wrapper button.list-group-item .list-group-item-heading {
5364
+ color: #333;
5365
+ }
5366
+ .ycd-bootstrap-wrapper a.list-group-item:hover,
5367
+ .ycd-bootstrap-wrapper button.list-group-item:hover,
5368
+ .ycd-bootstrap-wrapper a.list-group-item:focus,
5369
+ .ycd-bootstrap-wrapper button.list-group-item:focus {
5370
+ color: #555;
5371
+ text-decoration: none;
5372
+ background-color: #f5f5f5;
5373
+ }
5374
+ .ycd-bootstrap-wrapper button.list-group-item {
5375
+ width: 100%;
5376
+ text-align: left;
5377
+ }
5378
+ .ycd-bootstrap-wrapper .list-group-item.disabled,
5379
+ .ycd-bootstrap-wrapper .list-group-item.disabled:hover,
5380
+ .ycd-bootstrap-wrapper .list-group-item.disabled:focus {
5381
+ color: #777;
5382
+ cursor: not-allowed;
5383
+ background-color: #eee;
5384
+ }
5385
+ .ycd-bootstrap-wrapper .list-group-item.disabled .list-group-item-heading,
5386
+ .ycd-bootstrap-wrapper .list-group-item.disabled:hover .list-group-item-heading,
5387
+ .ycd-bootstrap-wrapper .list-group-item.disabled:focus .list-group-item-heading {
5388
+ color: inherit;
5389
+ }
5390
+ .ycd-bootstrap-wrapper .list-group-item.disabled .list-group-item-text,
5391
+ .ycd-bootstrap-wrapper .list-group-item.disabled:hover .list-group-item-text,
5392
+ .ycd-bootstrap-wrapper .list-group-item.disabled:focus .list-group-item-text {
5393
+ color: #777;
5394
+ }
5395
+ .ycd-bootstrap-wrapper .list-group-item.active,
5396
+ .ycd-bootstrap-wrapper .list-group-item.active:hover,
5397
+ .ycd-bootstrap-wrapper .list-group-item.active:focus {
5398
+ z-index: 2;
5399
+ color: #fff;
5400
+ background-color: #337ab7;
5401
+ border-color: #337ab7;
5402
+ }
5403
+ .ycd-bootstrap-wrapper .list-group-item.active .list-group-item-heading,
5404
+ .ycd-bootstrap-wrapper .list-group-item.active:hover .list-group-item-heading,
5405
+ .ycd-bootstrap-wrapper .list-group-item.active:focus .list-group-item-heading,
5406
+ .ycd-bootstrap-wrapper .list-group-item.active .list-group-item-heading > small,
5407
+ .ycd-bootstrap-wrapper .list-group-item.active:hover .list-group-item-heading > small,
5408
+ .ycd-bootstrap-wrapper .list-group-item.active:focus .list-group-item-heading > small,
5409
+ .ycd-bootstrap-wrapper .list-group-item.active .list-group-item-heading > .small,
5410
+ .ycd-bootstrap-wrapper .list-group-item.active:hover .list-group-item-heading > .small,
5411
+ .ycd-bootstrap-wrapper .list-group-item.active:focus .list-group-item-heading > .small {
5412
+ color: inherit;
5413
+ }
5414
+ .ycd-bootstrap-wrapper .list-group-item.active .list-group-item-text,
5415
+ .ycd-bootstrap-wrapper .list-group-item.active:hover .list-group-item-text,
5416
+ .ycd-bootstrap-wrapper .list-group-item.active:focus .list-group-item-text {
5417
+ color: #c7ddef;
5418
+ }
5419
+ .ycd-bootstrap-wrapper .list-group-item-success {
5420
+ color: #3c763d;
5421
+ background-color: #dff0d8;
5422
+ }
5423
+ .ycd-bootstrap-wrapper a.list-group-item-success,
5424
+ .ycd-bootstrap-wrapper button.list-group-item-success {
5425
+ color: #3c763d;
5426
+ }
5427
+ .ycd-bootstrap-wrapper a.list-group-item-success .list-group-item-heading,
5428
+ .ycd-bootstrap-wrapper button.list-group-item-success .list-group-item-heading {
5429
+ color: inherit;
5430
+ }
5431
+ .ycd-bootstrap-wrapper a.list-group-item-success:hover,
5432
+ .ycd-bootstrap-wrapper button.list-group-item-success:hover,
5433
+ .ycd-bootstrap-wrapper a.list-group-item-success:focus,
5434
+ .ycd-bootstrap-wrapper button.list-group-item-success:focus {
5435
+ color: #3c763d;
5436
+ background-color: #d0e9c6;
5437
+ }
5438
+ .ycd-bootstrap-wrapper a.list-group-item-success.active,
5439
+ .ycd-bootstrap-wrapper button.list-group-item-success.active,
5440
+ .ycd-bootstrap-wrapper a.list-group-item-success.active:hover,
5441
+ .ycd-bootstrap-wrapper button.list-group-item-success.active:hover,
5442
+ .ycd-bootstrap-wrapper a.list-group-item-success.active:focus,
5443
+ .ycd-bootstrap-wrapper button.list-group-item-success.active:focus {
5444
+ color: #fff;
5445
+ background-color: #3c763d;
5446
+ border-color: #3c763d;
5447
+ }
5448
+ .ycd-bootstrap-wrapper .list-group-item-info {
5449
+ color: #31708f;
5450
+ background-color: #d9edf7;
5451
+ }
5452
+ .ycd-bootstrap-wrapper a.list-group-item-info,
5453
+ .ycd-bootstrap-wrapper button.list-group-item-info {
5454
+ color: #31708f;
5455
+ }
5456
+ .ycd-bootstrap-wrapper a.list-group-item-info .list-group-item-heading,
5457
+ .ycd-bootstrap-wrapper button.list-group-item-info .list-group-item-heading {
5458
+ color: inherit;
5459
+ }
5460
+ .ycd-bootstrap-wrapper a.list-group-item-info:hover,
5461
+ .ycd-bootstrap-wrapper button.list-group-item-info:hover,
5462
+ .ycd-bootstrap-wrapper a.list-group-item-info:focus,
5463
+ .ycd-bootstrap-wrapper button.list-group-item-info:focus {
5464
+ color: #31708f;
5465
+ background-color: #c4e3f3;
5466
+ }
5467
+ .ycd-bootstrap-wrapper a.list-group-item-info.active,
5468
+ .ycd-bootstrap-wrapper button.list-group-item-info.active,
5469
+ .ycd-bootstrap-wrapper a.list-group-item-info.active:hover,
5470
+ .ycd-bootstrap-wrapper button.list-group-item-info.active:hover,
5471
+ .ycd-bootstrap-wrapper a.list-group-item-info.active:focus,
5472
+ .ycd-bootstrap-wrapper button.list-group-item-info.active:focus {
5473
+ color: #fff;
5474
+ background-color: #31708f;
5475
+ border-color: #31708f;
5476
+ }
5477
+ .ycd-bootstrap-wrapper .list-group-item-warning {
5478
+ color: #8a6d3b;
5479
+ background-color: #fcf8e3;
5480
+ }
5481
+ .ycd-bootstrap-wrapper a.list-group-item-warning,
5482
+ .ycd-bootstrap-wrapper button.list-group-item-warning {
5483
+ color: #8a6d3b;
5484
+ }
5485
+ .ycd-bootstrap-wrapper a.list-group-item-warning .list-group-item-heading,
5486
+ .ycd-bootstrap-wrapper button.list-group-item-warning .list-group-item-heading {
5487
+ color: inherit;
5488
+ }
5489
+ .ycd-bootstrap-wrapper a.list-group-item-warning:hover,
5490
+ .ycd-bootstrap-wrapper button.list-group-item-warning:hover,
5491
+ .ycd-bootstrap-wrapper a.list-group-item-warning:focus,
5492
+ .ycd-bootstrap-wrapper button.list-group-item-warning:focus {
5493
+ color: #8a6d3b;
5494
+ background-color: #faf2cc;
5495
+ }
5496
+ .ycd-bootstrap-wrapper a.list-group-item-warning.active,
5497
+ .ycd-bootstrap-wrapper button.list-group-item-warning.active,
5498
+ .ycd-bootstrap-wrapper a.list-group-item-warning.active:hover,
5499
+ .ycd-bootstrap-wrapper button.list-group-item-warning.active:hover,
5500
+ .ycd-bootstrap-wrapper a.list-group-item-warning.active:focus,
5501
+ .ycd-bootstrap-wrapper button.list-group-item-warning.active:focus {
5502
+ color: #fff;
5503
+ background-color: #8a6d3b;
5504
+ border-color: #8a6d3b;
5505
+ }
5506
+ .ycd-bootstrap-wrapper .list-group-item-danger {
5507
+ color: #a94442;
5508
+ background-color: #f2dede;
5509
+ }
5510
+ .ycd-bootstrap-wrapper a.list-group-item-danger,
5511
+ .ycd-bootstrap-wrapper button.list-group-item-danger {
5512
+ color: #a94442;
5513
+ }
5514
+ .ycd-bootstrap-wrapper a.list-group-item-danger .list-group-item-heading,
5515
+ .ycd-bootstrap-wrapper button.list-group-item-danger .list-group-item-heading {
5516
+ color: inherit;
5517
+ }
5518
+ .ycd-bootstrap-wrapper a.list-group-item-danger:hover,
5519
+ .ycd-bootstrap-wrapper button.list-group-item-danger:hover,
5520
+ .ycd-bootstrap-wrapper a.list-group-item-danger:focus,
5521
+ .ycd-bootstrap-wrapper button.list-group-item-danger:focus {
5522
+ color: #a94442;
5523
+ background-color: #ebcccc;
5524
+ }
5525
+ .ycd-bootstrap-wrapper a.list-group-item-danger.active,
5526
+ .ycd-bootstrap-wrapper button.list-group-item-danger.active,
5527
+ .ycd-bootstrap-wrapper a.list-group-item-danger.active:hover,
5528
+ .ycd-bootstrap-wrapper button.list-group-item-danger.active:hover,
5529
+ .ycd-bootstrap-wrapper a.list-group-item-danger.active:focus,
5530
+ .ycd-bootstrap-wrapper button.list-group-item-danger.active:focus {
5531
+ color: #fff;
5532
+ background-color: #a94442;
5533
+ border-color: #a94442;
5534
+ }
5535
+ .ycd-bootstrap-wrapper .list-group-item-heading {
5536
+ margin-top: 0;
5537
+ margin-bottom: 5px;
5538
+ }
5539
+ .ycd-bootstrap-wrapper .list-group-item-text {
5540
+ margin-bottom: 0;
5541
+ line-height: 1.3;
5542
+ }
5543
+ .ycd-bootstrap-wrapper .panel {
5544
+ margin-bottom: 20px;
5545
+ background-color: #fff;
5546
+ border: 1px solid transparent;
5547
+ border-radius: 4px;
5548
+ -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
5549
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
5550
+ }
5551
+ .ycd-bootstrap-wrapper .panel-body {
5552
+ padding: 15px;
5553
+ }
5554
+ .ycd-bootstrap-wrapper .panel-heading {
5555
+ padding: 10px 15px;
5556
+ border-bottom: 1px solid transparent;
5557
+ border-top-left-radius: 3px;
5558
+ border-top-right-radius: 3px;
5559
+ }
5560
+ .ycd-bootstrap-wrapper .panel-heading > .dropdown .dropdown-toggle {
5561
+ color: inherit;
5562
+ }
5563
+ .ycd-bootstrap-wrapper .panel-title {
5564
+ margin-top: 0;
5565
+ margin-bottom: 0;
5566
+ font-size: 16px;
5567
+ color: inherit;
5568
+ }
5569
+ .ycd-bootstrap-wrapper .panel-title > a,
5570
+ .ycd-bootstrap-wrapper .panel-title > small,
5571
+ .ycd-bootstrap-wrapper .panel-title > .small,
5572
+ .ycd-bootstrap-wrapper .panel-title > small > a,
5573
+ .ycd-bootstrap-wrapper .panel-title > .small > a {
5574
+ color: inherit;
5575
+ }
5576
+ .ycd-bootstrap-wrapper .panel-footer {
5577
+ padding: 10px 15px;
5578
+ background-color: #f5f5f5;
5579
+ border-top: 1px solid #ddd;
5580
+ border-bottom-right-radius: 3px;
5581
+ border-bottom-left-radius: 3px;
5582
+ }
5583
+ .ycd-bootstrap-wrapper .panel > .list-group,
5584
+ .ycd-bootstrap-wrapper .panel > .panel-collapse > .list-group {
5585
+ margin-bottom: 0;
5586
+ }
5587
+ .ycd-bootstrap-wrapper .panel > .list-group .list-group-item,
5588
+ .ycd-bootstrap-wrapper .panel > .panel-collapse > .list-group .list-group-item {
5589
+ border-width: 1px 0;
5590
+ border-radius: 0;
5591
+ }
5592
+ .ycd-bootstrap-wrapper .panel > .list-group:first-child .list-group-item:first-child,
5593
+ .ycd-bootstrap-wrapper .panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
5594
+ border-top: 0;
5595
+ border-top-left-radius: 3px;
5596
+ border-top-right-radius: 3px;
5597
+ }
5598
+ .ycd-bootstrap-wrapper .panel > .list-group:last-child .list-group-item:last-child,
5599
+ .ycd-bootstrap-wrapper .panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
5600
+ border-bottom: 0;
5601
+ border-bottom-right-radius: 3px;
5602
+ border-bottom-left-radius: 3px;
5603
+ }
5604
+ .ycd-bootstrap-wrapper .panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
5605
+ border-top-left-radius: 0;
5606
+ border-top-right-radius: 0;
5607
+ }
5608
+ .ycd-bootstrap-wrapper .panel-heading + .list-group .list-group-item:first-child {
5609
+ border-top-width: 0;
5610
+ }
5611
+ .ycd-bootstrap-wrapper .list-group + .panel-footer {
5612
+ border-top-width: 0;
5613
+ }
5614
+ .ycd-bootstrap-wrapper .panel > .table,
5615
+ .ycd-bootstrap-wrapper .panel > .table-responsive > .table,
5616
+ .ycd-bootstrap-wrapper .panel > .panel-collapse > .table {
5617
+ margin-bottom: 0;
5618
+ }
5619
+ .ycd-bootstrap-wrapper .panel > .table caption,
5620
+ .ycd-bootstrap-wrapper .panel > .table-responsive > .table caption,
5621
+ .ycd-bootstrap-wrapper .panel > .panel-collapse > .table caption {
5622
+ padding-right: 15px;
5623
+ padding-left: 15px;
5624
+ }
5625
+ .ycd-bootstrap-wrapper .panel > .table:first-child,
5626
+ .ycd-bootstrap-wrapper .panel > .table-responsive:first-child > .table:first-child {
5627
+ border-top-left-radius: 3px;
5628
+ border-top-right-radius: 3px;
5629
+ }
5630
+ .ycd-bootstrap-wrapper .panel > .table:first-child > thead:first-child > tr:first-child,
5631
+ .ycd-bootstrap-wrapper .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
5632
+ .ycd-bootstrap-wrapper .panel > .table:first-child > tbody:first-child > tr:first-child,
5633
+ .ycd-bootstrap-wrapper .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
5634
+ border-top-left-radius: 3px;
5635
+ border-top-right-radius: 3px;
5636
+ }
5637
+ .ycd-bootstrap-wrapper .panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
5638
+ .ycd-bootstrap-wrapper .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
5639
+ .ycd-bootstrap-wrapper .panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
5640
+ .ycd-bootstrap-wrapper .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
5641
+ .ycd-bootstrap-wrapper .panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
5642
+ .ycd-bootstrap-wrapper .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
5643
+ .ycd-bootstrap-wrapper .panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
5644
+ .ycd-bootstrap-wrapper .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
5645
+ border-top-left-radius: 3px;
5646
+ }
5647
+ .ycd-bootstrap-wrapper .panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
5648
+ .ycd-bootstrap-wrapper .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
5649
+ .ycd-bootstrap-wrapper .panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
5650
+ .ycd-bootstrap-wrapper .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
5651
+ .ycd-bootstrap-wrapper .panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
5652
+ .ycd-bootstrap-wrapper .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
5653
+ .ycd-bootstrap-wrapper .panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
5654
+ .ycd-bootstrap-wrapper .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
5655
+ border-top-right-radius: 3px;
5656
+ }
5657
+ .ycd-bootstrap-wrapper .panel > .table:last-child,
5658
+ .ycd-bootstrap-wrapper .panel > .table-responsive:last-child > .table:last-child {
5659
+ border-bottom-right-radius: 3px;
5660
+ border-bottom-left-radius: 3px;
5661
+ }
5662
+ .ycd-bootstrap-wrapper .panel > .table:last-child > tbody:last-child > tr:last-child,
5663
+ .ycd-bootstrap-wrapper .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
5664
+ .ycd-bootstrap-wrapper .panel > .table:last-child > tfoot:last-child > tr:last-child,
5665
+ .ycd-bootstrap-wrapper .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
5666
+ border-bottom-right-radius: 3px;
5667
+ border-bottom-left-radius: 3px;
5668
+ }
5669
+ .ycd-bootstrap-wrapper .panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
5670
+ .ycd-bootstrap-wrapper .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
5671
+ .ycd-bootstrap-wrapper .panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
5672
+ .ycd-bootstrap-wrapper .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
5673
+ .ycd-bootstrap-wrapper .panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
5674
+ .ycd-bootstrap-wrapper .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
5675
+ .ycd-bootstrap-wrapper .panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
5676
+ .ycd-bootstrap-wrapper .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
5677
+ border-bottom-left-radius: 3px;
5678
+ }
5679
+ .ycd-bootstrap-wrapper .panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
5680
+ .ycd-bootstrap-wrapper .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
5681
+ .ycd-bootstrap-wrapper .panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
5682
+ .ycd-bootstrap-wrapper .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
5683
+ .ycd-bootstrap-wrapper .panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
5684
+ .ycd-bootstrap-wrapper .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
5685
+ .ycd-bootstrap-wrapper .panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
5686
+ .ycd-bootstrap-wrapper .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
5687
+ border-bottom-right-radius: 3px;
5688
+ }
5689
+ .ycd-bootstrap-wrapper .panel > .panel-body + .table,
5690
+ .ycd-bootstrap-wrapper .panel > .panel-body + .table-responsive,
5691
+ .ycd-bootstrap-wrapper .panel > .table + .panel-body,
5692
+ .ycd-bootstrap-wrapper .panel > .table-responsive + .panel-body {
5693
+ border-top: 1px solid #ddd;
5694
+ }
5695
+ .ycd-bootstrap-wrapper .panel > .table > tbody:first-child > tr:first-child th,
5696
+ .ycd-bootstrap-wrapper .panel > .table > tbody:first-child > tr:first-child td {
5697
+ border-top: 0;
5698
+ }
5699
+ .ycd-bootstrap-wrapper .panel > .table-bordered,
5700
+ .ycd-bootstrap-wrapper .panel > .table-responsive > .table-bordered {
5701
+ border: 0;
5702
+ }
5703
+ .ycd-bootstrap-wrapper .panel > .table-bordered > thead > tr > th:first-child,
5704
+ .ycd-bootstrap-wrapper .panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
5705
+ .ycd-bootstrap-wrapper .panel > .table-bordered > tbody > tr > th:first-child,
5706
+ .ycd-bootstrap-wrapper .panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
5707
+ .ycd-bootstrap-wrapper .panel > .table-bordered > tfoot > tr > th:first-child,
5708
+ .ycd-bootstrap-wrapper .panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
5709
+ .ycd-bootstrap-wrapper .panel > .table-bordered > thead > tr > td:first-child,
5710
+ .ycd-bootstrap-wrapper .panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
5711
+ .ycd-bootstrap-wrapper .panel > .table-bordered > tbody > tr > td:first-child,
5712
+ .ycd-bootstrap-wrapper .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
5713
+ .ycd-bootstrap-wrapper .panel > .table-bordered > tfoot > tr > td:first-child,
5714
+ .ycd-bootstrap-wrapper .panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
5715
+ border-left: 0;
5716
+ }
5717
+ .ycd-bootstrap-wrapper .panel > .table-bordered > thead > tr > th:last-child,
5718
+ .ycd-bootstrap-wrapper .panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
5719
+ .ycd-bootstrap-wrapper .panel > .table-bordered > tbody > tr > th:last-child,
5720
+ .ycd-bootstrap-wrapper .panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
5721
+ .ycd-bootstrap-wrapper .panel > .table-bordered > tfoot > tr > th:last-child,
5722
+ .ycd-bootstrap-wrapper .panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
5723
+ .ycd-bootstrap-wrapper .panel > .table-bordered > thead > tr > td:last-child,
5724
+ .ycd-bootstrap-wrapper .panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
5725
+ .ycd-bootstrap-wrapper .panel > .table-bordered > tbody > tr > td:last-child,
5726
+ .ycd-bootstrap-wrapper .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
5727
+ .ycd-bootstrap-wrapper .panel > .table-bordered > tfoot > tr > td:last-child,
5728
+ .ycd-bootstrap-wrapper .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
5729
+ border-right: 0;
5730
+ }
5731
+ .ycd-bootstrap-wrapper .panel > .table-bordered > thead > tr:first-child > td,
5732
+ .ycd-bootstrap-wrapper .panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
5733
+ .ycd-bootstrap-wrapper .panel > .table-bordered > tbody > tr:first-child > td,
5734
+ .ycd-bootstrap-wrapper .panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
5735
+ .ycd-bootstrap-wrapper .panel > .table-bordered > thead > tr:first-child > th,
5736
+ .ycd-bootstrap-wrapper .panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
5737
+ .ycd-bootstrap-wrapper .panel > .table-bordered > tbody > tr:first-child > th,
5738
+ .ycd-bootstrap-wrapper .panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
5739
+ border-bottom: 0;
5740
+ }
5741
+ .ycd-bootstrap-wrapper .panel > .table-bordered > tbody > tr:last-child > td,
5742
+ .ycd-bootstrap-wrapper .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
5743
+ .ycd-bootstrap-wrapper .panel > .table-bordered > tfoot > tr:last-child > td,
5744
+ .ycd-bootstrap-wrapper .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
5745
+ .ycd-bootstrap-wrapper .panel > .table-bordered > tbody > tr:last-child > th,
5746
+ .ycd-bootstrap-wrapper .panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
5747
+ .ycd-bootstrap-wrapper .panel > .table-bordered > tfoot > tr:last-child > th,
5748
+ .ycd-bootstrap-wrapper .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
5749
+ border-bottom: 0;
5750
+ }
5751
+ .ycd-bootstrap-wrapper .panel > .table-responsive {
5752
+ margin-bottom: 0;
5753
+ border: 0;
5754
+ }
5755
+ .ycd-bootstrap-wrapper .panel-group {
5756
+ margin-bottom: 20px;
5757
+ }
5758
+ .ycd-bootstrap-wrapper .panel-group .panel {
5759
+ margin-bottom: 0;
5760
+ border-radius: 4px;
5761
+ }
5762
+ .ycd-bootstrap-wrapper .panel-group .panel + .panel {
5763
+ margin-top: 5px;
5764
+ }
5765
+ .ycd-bootstrap-wrapper .panel-group .panel-heading {
5766
+ border-bottom: 0;
5767
+ }
5768
+ .ycd-bootstrap-wrapper .panel-group .panel-heading + .panel-collapse > .panel-body,
5769
+ .ycd-bootstrap-wrapper .panel-group .panel-heading + .panel-collapse > .list-group {
5770
+ border-top: 1px solid #ddd;
5771
+ }
5772
+ .ycd-bootstrap-wrapper .panel-group .panel-footer {
5773
+ border-top: 0;
5774
+ }
5775
+ .ycd-bootstrap-wrapper .panel-group .panel-footer + .panel-collapse .panel-body {
5776
+ border-bottom: 1px solid #ddd;
5777
+ }
5778
+ .ycd-bootstrap-wrapper .panel-default {
5779
+ border-color: #ddd;
5780
+ }
5781
+ .ycd-bootstrap-wrapper .panel-default > .panel-heading {
5782
+ color: #333;
5783
+ background-color: #f5f5f5;
5784
+ border-color: #ddd;
5785
+ }
5786
+ .ycd-bootstrap-wrapper .panel-default > .panel-heading + .panel-collapse > .panel-body {
5787
+ border-top-color: #ddd;
5788
+ }
5789
+ .ycd-bootstrap-wrapper .panel-default > .panel-heading .badge {
5790
+ color: #f5f5f5;
5791
+ background-color: #333;
5792
+ }
5793
+ .ycd-bootstrap-wrapper .panel-default > .panel-footer + .panel-collapse > .panel-body {
5794
+ border-bottom-color: #ddd;
5795
+ }
5796
+ .ycd-bootstrap-wrapper .panel-primary {
5797
+ border-color: #337ab7;
5798
+ }
5799
+ .ycd-bootstrap-wrapper .panel-primary > .panel-heading {
5800
+ color: #fff;
5801
+ background-color: #337ab7;
5802
+ border-color: #337ab7;
5803
+ }
5804
+ .ycd-bootstrap-wrapper .panel-primary > .panel-heading + .panel-collapse > .panel-body {
5805
+ border-top-color: #337ab7;
5806
+ }
5807
+ .ycd-bootstrap-wrapper .panel-primary > .panel-heading .badge {
5808
+ color: #337ab7;
5809
+ background-color: #fff;
5810
+ }
5811
+ .ycd-bootstrap-wrapper .panel-primary > .panel-footer + .panel-collapse > .panel-body {
5812
+ border-bottom-color: #337ab7;
5813
+ }
5814
+ .ycd-bootstrap-wrapper .panel-success {
5815
+ border-color: #d6e9c6;
5816
+ }
5817
+ .ycd-bootstrap-wrapper .panel-success > .panel-heading {
5818
+ color: #3c763d;
5819
+ background-color: #dff0d8;
5820
+ border-color: #d6e9c6;
5821
+ }
5822
+ .ycd-bootstrap-wrapper .panel-success > .panel-heading + .panel-collapse > .panel-body {
5823
+ border-top-color: #d6e9c6;
5824
+ }
5825
+ .ycd-bootstrap-wrapper .panel-success > .panel-heading .badge {
5826
+ color: #dff0d8;
5827
+ background-color: #3c763d;
5828
+ }
5829
+ .ycd-bootstrap-wrapper .panel-success > .panel-footer + .panel-collapse > .panel-body {
5830
+ border-bottom-color: #d6e9c6;
5831
+ }
5832
+ .ycd-bootstrap-wrapper .panel-info {
5833
+ border-color: #bce8f1;
5834
+ }
5835
+ .ycd-bootstrap-wrapper .panel-info > .panel-heading {
5836
+ color: #31708f;
5837
+ background-color: #d9edf7;
5838
+ border-color: #bce8f1;
5839
+ }
5840
+ .ycd-bootstrap-wrapper .panel-info > .panel-heading + .panel-collapse > .panel-body {
5841
+ border-top-color: #bce8f1;
5842
+ }
5843
+ .ycd-bootstrap-wrapper .panel-info > .panel-heading .badge {
5844
+ color: #d9edf7;
5845
+ background-color: #31708f;
5846
+ }
5847
+ .ycd-bootstrap-wrapper .panel-info > .panel-footer + .panel-collapse > .panel-body {
5848
+ border-bottom-color: #bce8f1;
5849
+ }
5850
+ .ycd-bootstrap-wrapper .panel-warning {
5851
+ border-color: #faebcc;
5852
+ }
5853
+ .ycd-bootstrap-wrapper .panel-warning > .panel-heading {
5854
+ color: #8a6d3b;
5855
+ background-color: #fcf8e3;
5856
+ border-color: #faebcc;
5857
+ }
5858
+ .ycd-bootstrap-wrapper .panel-warning > .panel-heading + .panel-collapse > .panel-body {
5859
+ border-top-color: #faebcc;
5860
+ }
5861
+ .ycd-bootstrap-wrapper .panel-warning > .panel-heading .badge {
5862
+ color: #fcf8e3;
5863
+ background-color: #8a6d3b;
5864
+ }
5865
+ .ycd-bootstrap-wrapper .panel-warning > .panel-footer + .panel-collapse > .panel-body {
5866
+ border-bottom-color: #faebcc;
5867
+ }
5868
+ .ycd-bootstrap-wrapper .panel-danger {
5869
+ border-color: #ebccd1;
5870
+ }
5871
+ .ycd-bootstrap-wrapper .panel-danger > .panel-heading {
5872
+ color: #a94442;
5873
+ background-color: #f2dede;
5874
+ border-color: #ebccd1;
5875
+ }
5876
+ .ycd-bootstrap-wrapper .panel-danger > .panel-heading + .panel-collapse > .panel-body {
5877
+ border-top-color: #ebccd1;
5878
+ }
5879
+ .ycd-bootstrap-wrapper .panel-danger > .panel-heading .badge {
5880
+ color: #f2dede;
5881
+ background-color: #a94442;
5882
+ }
5883
+ .ycd-bootstrap-wrapper .panel-danger > .panel-footer + .panel-collapse > .panel-body {
5884
+ border-bottom-color: #ebccd1;
5885
+ }
5886
+ .ycd-bootstrap-wrapper .embed-responsive {
5887
+ position: relative;
5888
+ display: block;
5889
+ height: 0;
5890
+ padding: 0;
5891
+ overflow: hidden;
5892
+ }
5893
+ .ycd-bootstrap-wrapper .embed-responsive .embed-responsive-item,
5894
+ .ycd-bootstrap-wrapper .embed-responsive iframe,
5895
+ .ycd-bootstrap-wrapper .embed-responsive embed,
5896
+ .ycd-bootstrap-wrapper .embed-responsive object,
5897
+ .ycd-bootstrap-wrapper .embed-responsive video {
5898
+ position: absolute;
5899
+ top: 0;
5900
+ bottom: 0;
5901
+ left: 0;
5902
+ width: 100%;
5903
+ height: 100%;
5904
+ border: 0;
5905
+ }
5906
+ .ycd-bootstrap-wrapper .embed-responsive-16by9 {
5907
+ padding-bottom: 56.25%;
5908
+ }
5909
+ .ycd-bootstrap-wrapper .embed-responsive-4by3 {
5910
+ padding-bottom: 75%;
5911
+ }
5912
+ .ycd-bootstrap-wrapper .well {
5913
+ min-height: 20px;
5914
+ padding: 19px;
5915
+ margin-bottom: 20px;
5916
+ background-color: #f5f5f5;
5917
+ border: 1px solid #e3e3e3;
5918
+ border-radius: 4px;
5919
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
5920
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
5921
+ }
5922
+ .ycd-bootstrap-wrapper .well blockquote {
5923
+ border-color: #ddd;
5924
+ border-color: rgba(0, 0, 0, 0.15);
5925
+ }
5926
+ .ycd-bootstrap-wrapper .well-lg {
5927
+ padding: 24px;
5928
+ border-radius: 6px;
5929
+ }
5930
+ .ycd-bootstrap-wrapper .well-sm {
5931
+ padding: 9px;
5932
+ border-radius: 3px;
5933
+ }
5934
+ .ycd-bootstrap-wrapper .close {
5935
+ float: right;
5936
+ font-size: 21px;
5937
+ font-weight: bold;
5938
+ line-height: 1;
5939
+ color: #000;
5940
+ text-shadow: 0 1px 0 #fff;
5941
+ filter: alpha(opacity=20);
5942
+ opacity: .2;
5943
+ }
5944
+ .ycd-bootstrap-wrapper .close:hover,
5945
+ .ycd-bootstrap-wrapper .close:focus {
5946
+ color: #000;
5947
+ text-decoration: none;
5948
+ cursor: pointer;
5949
+ filter: alpha(opacity=50);
5950
+ opacity: .5;
5951
+ }
5952
+ .ycd-bootstrap-wrapper button.close {
5953
+ -webkit-appearance: none;
5954
+ padding: 0;
5955
+ cursor: pointer;
5956
+ background: transparent;
5957
+ border: 0;
5958
+ }
5959
+ .ycd-bootstrap-wrapper .modal-open {
5960
+ overflow: hidden;
5961
+ }
5962
+ .ycd-bootstrap-wrapper .modal {
5963
+ position: fixed;
5964
+ top: 0;
5965
+ right: 0;
5966
+ bottom: 0;
5967
+ left: 0;
5968
+ z-index: 1050;
5969
+ display: none;
5970
+ overflow: hidden;
5971
+ -webkit-overflow-scrolling: touch;
5972
+ outline: 0;
5973
+ }
5974
+ .ycd-bootstrap-wrapper .modal.fade .modal-dialog {
5975
+ -webkit-transition: -webkit-transform 0.3s ease-out;
5976
+ -o-transition: -o-transform 0.3s ease-out;
5977
+ transition: transform 0.3s ease-out;
5978
+ -webkit-transform: translate(0, -25%);
5979
+ -ms-transform: translate(0, -25%);
5980
+ -o-transform: translate(0, -25%);
5981
+ transform: translate(0, -25%);
5982
+ }
5983
+ .ycd-bootstrap-wrapper .modal.in .modal-dialog {
5984
+ -webkit-transform: translate(0, 0);
5985
+ -ms-transform: translate(0, 0);
5986
+ -o-transform: translate(0, 0);
5987
+ transform: translate(0, 0);
5988
+ }
5989
+ .ycd-bootstrap-wrapper .modal-open .modal {
5990
+ overflow-x: hidden;
5991
+ overflow-y: auto;
5992
+ }
5993
+ .ycd-bootstrap-wrapper .modal-dialog {
5994
+ position: relative;
5995
+ width: auto;
5996
+ margin: 10px;
5997
+ }
5998
+ .ycd-bootstrap-wrapper .modal-content {
5999
+ position: relative;
6000
+ background-color: #fff;
6001
+ -webkit-background-clip: padding-box;
6002
+ background-clip: padding-box;
6003
+ border: 1px solid #999;
6004
+ border: 1px solid rgba(0, 0, 0, 0.2);
6005
+ border-radius: 6px;
6006
+ outline: 0;
6007
+ -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
6008
+ box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
6009
+ }
6010
+ .ycd-bootstrap-wrapper .modal-backdrop {
6011
+ position: fixed;
6012
+ top: 0;
6013
+ right: 0;
6014
+ bottom: 0;
6015
+ left: 0;
6016
+ z-index: 1040;
6017
+ background-color: #000;
6018
+ }
6019
+ .ycd-bootstrap-wrapper .modal-backdrop.fade {
6020
+ filter: alpha(opacity=0);
6021
+ opacity: 0;
6022
+ }
6023
+ .ycd-bootstrap-wrapper .modal-backdrop.in {
6024
+ filter: alpha(opacity=50);
6025
+ opacity: .5;
6026
+ }
6027
+ .ycd-bootstrap-wrapper .modal-header {
6028
+ padding: 15px;
6029
+ border-bottom: 1px solid #e5e5e5;
6030
+ }
6031
+ .ycd-bootstrap-wrapper .modal-header .close {
6032
+ margin-top: -2px;
6033
+ }
6034
+ .ycd-bootstrap-wrapper .modal-title {
6035
+ margin: 0;
6036
+ line-height: 1.42857143;
6037
+ }
6038
+ .ycd-bootstrap-wrapper .modal-body {
6039
+ position: relative;
6040
+ padding: 15px;
6041
+ }
6042
+ .ycd-bootstrap-wrapper .modal-footer {
6043
+ padding: 15px;
6044
+ text-align: right;
6045
+ border-top: 1px solid #e5e5e5;
6046
+ }
6047
+ .ycd-bootstrap-wrapper .modal-footer .btn + .btn {
6048
+ margin-bottom: 0;
6049
+ margin-left: 5px;
6050
+ }
6051
+ .ycd-bootstrap-wrapper .modal-footer .btn-group .btn + .btn {
6052
+ margin-left: -1px;
6053
+ }
6054
+ .ycd-bootstrap-wrapper .modal-footer .btn-block + .btn-block {
6055
+ margin-left: 0;
6056
+ }
6057
+ .ycd-bootstrap-wrapper .modal-scrollbar-measure {
6058
+ position: absolute;
6059
+ top: -9999px;
6060
+ width: 50px;
6061
+ height: 50px;
6062
+ overflow: scroll;
6063
+ }
6064
+ @media (min-width: 768px) {
6065
+ .ycd-bootstrap-wrapper .modal-dialog {
6066
+ width: 600px;
6067
+ margin: 30px auto;
6068
+ }
6069
+ .ycd-bootstrap-wrapper .modal-content {
6070
+ -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
6071
+ box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
6072
+ }
6073
+ .ycd-bootstrap-wrapper .modal-sm {
6074
+ width: 300px;
6075
+ }
6076
+ }
6077
+ @media (min-width: 992px) {
6078
+ .ycd-bootstrap-wrapper .modal-lg {
6079
+ width: 900px;
6080
+ }
6081
+ }
6082
+ .ycd-bootstrap-wrapper .tooltip {
6083
+ position: absolute;
6084
+ z-index: 1070;
6085
+ display: block;
6086
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
6087
+ font-size: 12px;
6088
+ font-style: normal;
6089
+ font-weight: normal;
6090
+ line-height: 1.42857143;
6091
+ text-align: left;
6092
+ text-align: start;
6093
+ text-decoration: none;
6094
+ text-shadow: none;
6095
+ text-transform: none;
6096
+ letter-spacing: normal;
6097
+ word-break: normal;
6098
+ word-spacing: normal;
6099
+ word-wrap: normal;
6100
+ white-space: normal;
6101
+ filter: alpha(opacity=0);
6102
+ opacity: 0;
6103
+ line-break: auto;
6104
+ }
6105
+ .ycd-bootstrap-wrapper .tooltip.in {
6106
+ filter: alpha(opacity=90);
6107
+ opacity: .9;
6108
+ }
6109
+ .ycd-bootstrap-wrapper .tooltip.top {
6110
+ padding: 5px 0;
6111
+ margin-top: -3px;
6112
+ }
6113
+ .ycd-bootstrap-wrapper .tooltip.right {
6114
+ padding: 0 5px;
6115
+ margin-left: 3px;
6116
+ }
6117
+ .ycd-bootstrap-wrapper .tooltip.bottom {
6118
+ padding: 5px 0;
6119
+ margin-top: 3px;
6120
+ }
6121
+ .ycd-bootstrap-wrapper .tooltip.left {
6122
+ padding: 0 5px;
6123
+ margin-left: -3px;
6124
+ }
6125
+ .ycd-bootstrap-wrapper .tooltip-inner {
6126
+ max-width: 200px;
6127
+ padding: 3px 8px;
6128
+ color: #fff;
6129
+ text-align: center;
6130
+ background-color: #000;
6131
+ border-radius: 4px;
6132
+ }
6133
+ .ycd-bootstrap-wrapper .tooltip-arrow {
6134
+ position: absolute;
6135
+ width: 0;
6136
+ height: 0;
6137
+ border-color: transparent;
6138
+ border-style: solid;
6139
+ }
6140
+ .ycd-bootstrap-wrapper .tooltip.top .tooltip-arrow {
6141
+ bottom: 0;
6142
+ left: 50%;
6143
+ margin-left: -5px;
6144
+ border-width: 5px 5px 0;
6145
+ border-top-color: #000;
6146
+ }
6147
+ .ycd-bootstrap-wrapper .tooltip.top-left .tooltip-arrow {
6148
+ right: 5px;
6149
+ bottom: 0;
6150
+ margin-bottom: -5px;
6151
+ border-width: 5px 5px 0;
6152
+ border-top-color: #000;
6153
+ }
6154
+ .ycd-bootstrap-wrapper .tooltip.top-right .tooltip-arrow {
6155
+ bottom: 0;
6156
+ left: 5px;
6157
+ margin-bottom: -5px;
6158
+ border-width: 5px 5px 0;
6159
+ border-top-color: #000;
6160
+ }
6161
+ .ycd-bootstrap-wrapper .tooltip.right .tooltip-arrow {
6162
+ top: 50%;
6163
+ left: 0;
6164
+ margin-top: -5px;
6165
+ border-width: 5px 5px 5px 0;
6166
+ border-right-color: #000;
6167
+ }
6168
+ .ycd-bootstrap-wrapper .tooltip.left .tooltip-arrow {
6169
+ top: 50%;
6170
+ right: 0;
6171
+ margin-top: -5px;
6172
+ border-width: 5px 0 5px 5px;
6173
+ border-left-color: #000;
6174
+ }
6175
+ .ycd-bootstrap-wrapper .tooltip.bottom .tooltip-arrow {
6176
+ top: 0;
6177
+ left: 50%;
6178
+ margin-left: -5px;
6179
+ border-width: 0 5px 5px;
6180
+ border-bottom-color: #000;
6181
+ }
6182
+ .ycd-bootstrap-wrapper .tooltip.bottom-left .tooltip-arrow {
6183
+ top: 0;
6184
+ right: 5px;
6185
+ margin-top: -5px;
6186
+ border-width: 0 5px 5px;
6187
+ border-bottom-color: #000;
6188
+ }
6189
+ .ycd-bootstrap-wrapper .tooltip.bottom-right .tooltip-arrow {
6190
+ top: 0;
6191
+ left: 5px;
6192
+ margin-top: -5px;
6193
+ border-width: 0 5px 5px;
6194
+ border-bottom-color: #000;
6195
+ }
6196
+ .ycd-bootstrap-wrapper .popover {
6197
+ position: absolute;
6198
+ top: 0;
6199
+ left: 0;
6200
+ z-index: 1060;
6201
+ display: none;
6202
+ max-width: 276px;
6203
+ padding: 1px;
6204
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
6205
+ font-size: 14px;
6206
+ font-style: normal;
6207
+ font-weight: normal;
6208
+ line-height: 1.42857143;
6209
+ text-align: left;
6210
+ text-align: start;
6211
+ text-decoration: none;
6212
+ text-shadow: none;
6213
+ text-transform: none;
6214
+ letter-spacing: normal;
6215
+ word-break: normal;
6216
+ word-spacing: normal;
6217
+ word-wrap: normal;
6218
+ white-space: normal;
6219
+ background-color: #fff;
6220
+ -webkit-background-clip: padding-box;
6221
+ background-clip: padding-box;
6222
+ border: 1px solid #ccc;
6223
+ border: 1px solid rgba(0, 0, 0, 0.2);
6224
+ border-radius: 6px;
6225
+ -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
6226
+ box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
6227
+ line-break: auto;
6228
+ }
6229
+ .ycd-bootstrap-wrapper .popover.top {
6230
+ margin-top: -10px;
6231
+ }
6232
+ .ycd-bootstrap-wrapper .popover.right {
6233
+ margin-left: 10px;
6234
+ }
6235
+ .ycd-bootstrap-wrapper .popover.bottom {
6236
+ margin-top: 10px;
6237
+ }
6238
+ .ycd-bootstrap-wrapper .popover.left {
6239
+ margin-left: -10px;
6240
+ }
6241
+ .ycd-bootstrap-wrapper .popover-title {
6242
+ padding: 8px 14px;
6243
+ margin: 0;
6244
+ font-size: 14px;
6245
+ background-color: #f7f7f7;
6246
+ border-bottom: 1px solid #ebebeb;
6247
+ border-radius: 5px 5px 0 0;
6248
+ }
6249
+ .ycd-bootstrap-wrapper .popover-content {
6250
+ padding: 9px 14px;
6251
+ }
6252
+ .ycd-bootstrap-wrapper .popover > .arrow,
6253
+ .ycd-bootstrap-wrapper .popover > .arrow:after {
6254
+ position: absolute;
6255
+ display: block;
6256
+ width: 0;
6257
+ height: 0;
6258
+ border-color: transparent;
6259
+ border-style: solid;
6260
+ }
6261
+ .ycd-bootstrap-wrapper .popover > .arrow {
6262
+ border-width: 11px;
6263
+ }
6264
+ .ycd-bootstrap-wrapper .popover > .arrow:after {
6265
+ content: "";
6266
+ border-width: 10px;
6267
+ }
6268
+ .ycd-bootstrap-wrapper .popover.top > .arrow {
6269
+ bottom: -11px;
6270
+ left: 50%;
6271
+ margin-left: -11px;
6272
+ border-top-color: #999;
6273
+ border-top-color: rgba(0, 0, 0, 0.25);
6274
+ border-bottom-width: 0;
6275
+ }
6276
+ .ycd-bootstrap-wrapper .popover.top > .arrow:after {
6277
+ bottom: 1px;
6278
+ margin-left: -10px;
6279
+ content: " ";
6280
+ border-top-color: #fff;
6281
+ border-bottom-width: 0;
6282
+ }
6283
+ .ycd-bootstrap-wrapper .popover.right > .arrow {
6284
+ top: 50%;
6285
+ left: -11px;
6286
+ margin-top: -11px;
6287
+ border-right-color: #999;
6288
+ border-right-color: rgba(0, 0, 0, 0.25);
6289
+ border-left-width: 0;
6290
+ }
6291
+ .ycd-bootstrap-wrapper .popover.right > .arrow:after {
6292
+ bottom: -10px;
6293
+ left: 1px;
6294
+ content: " ";
6295
+ border-right-color: #fff;
6296
+ border-left-width: 0;
6297
+ }
6298
+ .ycd-bootstrap-wrapper .popover.bottom > .arrow {
6299
+ top: -11px;
6300
+ left: 50%;
6301
+ margin-left: -11px;
6302
+ border-top-width: 0;
6303
+ border-bottom-color: #999;
6304
+ border-bottom-color: rgba(0, 0, 0, 0.25);
6305
+ }
6306
+ .ycd-bootstrap-wrapper .popover.bottom > .arrow:after {
6307
+ top: 1px;
6308
+ margin-left: -10px;
6309
+ content: " ";
6310
+ border-top-width: 0;
6311
+ border-bottom-color: #fff;
6312
+ }
6313
+ .ycd-bootstrap-wrapper .popover.left > .arrow {
6314
+ top: 50%;
6315
+ right: -11px;
6316
+ margin-top: -11px;
6317
+ border-right-width: 0;
6318
+ border-left-color: #999;
6319
+ border-left-color: rgba(0, 0, 0, 0.25);
6320
+ }
6321
+ .ycd-bootstrap-wrapper .popover.left > .arrow:after {
6322
+ right: 1px;
6323
+ bottom: -10px;
6324
+ content: " ";
6325
+ border-right-width: 0;
6326
+ border-left-color: #fff;
6327
+ }
6328
+ .ycd-bootstrap-wrapper .carousel {
6329
+ position: relative;
6330
+ }
6331
+ .ycd-bootstrap-wrapper .carousel-inner {
6332
+ position: relative;
6333
+ width: 100%;
6334
+ overflow: hidden;
6335
+ }
6336
+ .ycd-bootstrap-wrapper .carousel-inner > .item {
6337
+ position: relative;
6338
+ display: none;
6339
+ -webkit-transition: 0.6s ease-in-out left;
6340
+ -o-transition: 0.6s ease-in-out left;
6341
+ transition: 0.6s ease-in-out left;
6342
+ }
6343
+ .ycd-bootstrap-wrapper .carousel-inner > .item > img,
6344
+ .ycd-bootstrap-wrapper .carousel-inner > .item > a > img {
6345
+ line-height: 1;
6346
+ }
6347
+ @media all and (transform-3d), (-webkit-transform-3d) {
6348
+ .ycd-bootstrap-wrapper .carousel-inner > .item {
6349
+ -webkit-transition: -webkit-transform 0.6s ease-in-out;
6350
+ -o-transition: -o-transform 0.6s ease-in-out;
6351
+ transition: transform 0.6s ease-in-out;
6352
+ -webkit-backface-visibility: hidden;
6353
+ backface-visibility: hidden;
6354
+ -webkit-perspective: 1000px;
6355
+ perspective: 1000px;
6356
+ }
6357
+ .ycd-bootstrap-wrapper .carousel-inner > .item.next,
6358
+ .ycd-bootstrap-wrapper .carousel-inner > .item.active.right {
6359
+ left: 0;
6360
+ -webkit-transform: translate3d(100%, 0, 0);
6361
+ transform: translate3d(100%, 0, 0);
6362
+ }
6363
+ .ycd-bootstrap-wrapper .carousel-inner > .item.prev,
6364
+ .ycd-bootstrap-wrapper .carousel-inner > .item.active.left {
6365
+ left: 0;
6366
+ -webkit-transform: translate3d(-100%, 0, 0);
6367
+ transform: translate3d(-100%, 0, 0);
6368
+ }
6369
+ .ycd-bootstrap-wrapper .carousel-inner > .item.next.left,
6370
+ .ycd-bootstrap-wrapper .carousel-inner > .item.prev.right,
6371
+ .ycd-bootstrap-wrapper .carousel-inner > .item.active {
6372
+ left: 0;
6373
+ -webkit-transform: translate3d(0, 0, 0);
6374
+ transform: translate3d(0, 0, 0);
6375
+ }
6376
+ }
6377
+ .ycd-bootstrap-wrapper .carousel-inner > .active,
6378
+ .ycd-bootstrap-wrapper .carousel-inner > .next,
6379
+ .ycd-bootstrap-wrapper .carousel-inner > .prev {
6380
+ display: block;
6381
+ }
6382
+ .ycd-bootstrap-wrapper .carousel-inner > .active {
6383
+ left: 0;
6384
+ }
6385
+ .ycd-bootstrap-wrapper .carousel-inner > .next,
6386
+ .ycd-bootstrap-wrapper .carousel-inner > .prev {
6387
+ position: absolute;
6388
+ top: 0;
6389
+ width: 100%;
6390
+ }
6391
+ .ycd-bootstrap-wrapper .carousel-inner > .next {
6392
+ left: 100%;
6393
+ }
6394
+ .ycd-bootstrap-wrapper .carousel-inner > .prev {
6395
+ left: -100%;
6396
+ }
6397
+ .ycd-bootstrap-wrapper .carousel-inner > .next.left,
6398
+ .ycd-bootstrap-wrapper .carousel-inner > .prev.right {
6399
+ left: 0;
6400
+ }
6401
+ .ycd-bootstrap-wrapper .carousel-inner > .active.left {
6402
+ left: -100%;
6403
+ }
6404
+ .ycd-bootstrap-wrapper .carousel-inner > .active.right {
6405
+ left: 100%;
6406
+ }
6407
+ .ycd-bootstrap-wrapper .carousel-control {
6408
+ position: absolute;
6409
+ top: 0;
6410
+ bottom: 0;
6411
+ left: 0;
6412
+ width: 15%;
6413
+ font-size: 20px;
6414
+ color: #fff;
6415
+ text-align: center;
6416
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
6417
+ background-color: rgba(0, 0, 0, 0);
6418
+ filter: alpha(opacity=50);
6419
+ opacity: .5;
6420
+ }
6421
+ .ycd-bootstrap-wrapper .carousel-control.left {
6422
+ background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
6423
+ background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
6424
+ background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.0001)));
6425
+ background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
6426
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
6427
+ background-repeat: repeat-x;
6428
+ }
6429
+ .ycd-bootstrap-wrapper .carousel-control.right {
6430
+ right: 0;
6431
+ left: auto;
6432
+ background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
6433
+ background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
6434
+ background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.0001)), to(rgba(0, 0, 0, 0.5)));
6435
+ background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
6436
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
6437
+ background-repeat: repeat-x;
6438
+ }
6439
+ .ycd-bootstrap-wrapper .carousel-control:hover,
6440
+ .ycd-bootstrap-wrapper .carousel-control:focus {
6441
+ color: #fff;
6442
+ text-decoration: none;
6443
+ filter: alpha(opacity=90);
6444
+ outline: 0;
6445
+ opacity: .9;
6446
+ }
6447
+ .ycd-bootstrap-wrapper .carousel-control .icon-prev,
6448
+ .ycd-bootstrap-wrapper .carousel-control .icon-next,
6449
+ .ycd-bootstrap-wrapper .carousel-control .glyphicon-chevron-left,
6450
+ .ycd-bootstrap-wrapper .carousel-control .glyphicon-chevron-right {
6451
+ position: absolute;
6452
+ top: 50%;
6453
+ z-index: 5;
6454
+ display: inline-block;
6455
+ margin-top: -10px;
6456
+ }
6457
+ .ycd-bootstrap-wrapper .carousel-control .icon-prev,
6458
+ .ycd-bootstrap-wrapper .carousel-control .glyphicon-chevron-left {
6459
+ left: 50%;
6460
+ margin-left: -10px;
6461
+ }
6462
+ .ycd-bootstrap-wrapper .carousel-control .icon-next,
6463
+ .ycd-bootstrap-wrapper .carousel-control .glyphicon-chevron-right {
6464
+ right: 50%;
6465
+ margin-right: -10px;
6466
+ }
6467
+ .ycd-bootstrap-wrapper .carousel-control .icon-prev,
6468
+ .ycd-bootstrap-wrapper .carousel-control .icon-next {
6469
+ width: 20px;
6470
+ height: 20px;
6471
+ font-family: serif;
6472
+ line-height: 1;
6473
+ }
6474
+ .ycd-bootstrap-wrapper .carousel-control .icon-prev:before {
6475
+ content: '\2039';
6476
+ }
6477
+ .ycd-bootstrap-wrapper .carousel-control .icon-next:before {
6478
+ content: '\203a';
6479
+ }
6480
+ .ycd-bootstrap-wrapper .carousel-indicators {
6481
+ position: absolute;
6482
+ bottom: 10px;
6483
+ left: 50%;
6484
+ z-index: 15;
6485
+ width: 60%;
6486
+ padding-left: 0;
6487
+ margin-left: -30%;
6488
+ text-align: center;
6489
+ list-style: none;
6490
+ }
6491
+ .ycd-bootstrap-wrapper .carousel-indicators li {
6492
+ display: inline-block;
6493
+ width: 10px;
6494
+ height: 10px;
6495
+ margin: 1px;
6496
+ text-indent: -999px;
6497
+ cursor: pointer;
6498
+ background-color: #000 \9;
6499
+ background-color: rgba(0, 0, 0, 0);
6500
+ border: 1px solid #fff;
6501
+ border-radius: 10px;
6502
+ }
6503
+ .ycd-bootstrap-wrapper .carousel-indicators .active {
6504
+ width: 12px;
6505
+ height: 12px;
6506
+ margin: 0;
6507
+ background-color: #fff;
6508
+ }
6509
+ .ycd-bootstrap-wrapper .carousel-caption {
6510
+ position: absolute;
6511
+ right: 15%;
6512
+ bottom: 20px;
6513
+ left: 15%;
6514
+ z-index: 10;
6515
+ padding-top: 20px;
6516
+ padding-bottom: 20px;
6517
+ color: #fff;
6518
+ text-align: center;
6519
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
6520
+ }
6521
+ .ycd-bootstrap-wrapper .carousel-caption .btn {
6522
+ text-shadow: none;
6523
+ }
6524
+ @media screen and (min-width: 768px) {
6525
+ .ycd-bootstrap-wrapper .carousel-control .glyphicon-chevron-left,
6526
+ .ycd-bootstrap-wrapper .carousel-control .glyphicon-chevron-right,
6527
+ .ycd-bootstrap-wrapper .carousel-control .icon-prev,
6528
+ .ycd-bootstrap-wrapper .carousel-control .icon-next {
6529
+ width: 30px;
6530
+ height: 30px;
6531
+ margin-top: -10px;
6532
+ font-size: 30px;
6533
+ }
6534
+ .ycd-bootstrap-wrapper .carousel-control .glyphicon-chevron-left,
6535
+ .ycd-bootstrap-wrapper .carousel-control .icon-prev {
6536
+ margin-left: -10px;
6537
+ }
6538
+ .ycd-bootstrap-wrapper .carousel-control .glyphicon-chevron-right,
6539
+ .ycd-bootstrap-wrapper .carousel-control .icon-next {
6540
+ margin-right: -10px;
6541
+ }
6542
+ .ycd-bootstrap-wrapper .carousel-caption {
6543
+ right: 20%;
6544
+ left: 20%;
6545
+ padding-bottom: 30px;
6546
+ }
6547
+ .ycd-bootstrap-wrapper .carousel-indicators {
6548
+ bottom: 20px;
6549
+ }
6550
+ }
6551
+ .ycd-bootstrap-wrapper .clearfix:before,
6552
+ .ycd-bootstrap-wrapper .clearfix:after,
6553
+ .ycd-bootstrap-wrapper .dl-horizontal dd:before,
6554
+ .ycd-bootstrap-wrapper .dl-horizontal dd:after,
6555
+ .ycd-bootstrap-wrapper .container:before,
6556
+ .ycd-bootstrap-wrapper .container:after,
6557
+ .ycd-bootstrap-wrapper .container-fluid:before,
6558
+ .ycd-bootstrap-wrapper .container-fluid:after,
6559
+ .ycd-bootstrap-wrapper .row:before,
6560
+ .ycd-bootstrap-wrapper .row:after,
6561
+ .ycd-bootstrap-wrapper .form-horizontal .form-group:before,
6562
+ .ycd-bootstrap-wrapper .form-horizontal .form-group:after,
6563
+ .ycd-bootstrap-wrapper .btn-toolbar:before,
6564
+ .ycd-bootstrap-wrapper .btn-toolbar:after,
6565
+ .ycd-bootstrap-wrapper .btn-group-vertical > .btn-group:before,
6566
+ .ycd-bootstrap-wrapper .btn-group-vertical > .btn-group:after,
6567
+ .ycd-bootstrap-wrapper .nav:before,
6568
+ .ycd-bootstrap-wrapper .nav:after,
6569
+ .ycd-bootstrap-wrapper .navbar:before,
6570
+ .ycd-bootstrap-wrapper .navbar:after,
6571
+ .ycd-bootstrap-wrapper .navbar-header:before,
6572
+ .ycd-bootstrap-wrapper .navbar-header:after,
6573
+ .ycd-bootstrap-wrapper .navbar-collapse:before,
6574
+ .ycd-bootstrap-wrapper .navbar-collapse:after,
6575
+ .ycd-bootstrap-wrapper .pager:before,
6576
+ .ycd-bootstrap-wrapper .pager:after,
6577
+ .ycd-bootstrap-wrapper .panel-body:before,
6578
+ .ycd-bootstrap-wrapper .panel-body:after,
6579
+ .ycd-bootstrap-wrapper .modal-header:before,
6580
+ .ycd-bootstrap-wrapper .modal-header:after,
6581
+ .ycd-bootstrap-wrapper .modal-footer:before,
6582
+ .ycd-bootstrap-wrapper .modal-footer:after {
6583
+ display: table;
6584
+ content: " ";
6585
+ }
6586
+ .ycd-bootstrap-wrapper .clearfix:after,
6587
+ .ycd-bootstrap-wrapper .dl-horizontal dd:after,
6588
+ .ycd-bootstrap-wrapper .container:after,
6589
+ .ycd-bootstrap-wrapper .container-fluid:after,
6590
+ .ycd-bootstrap-wrapper .row:after,
6591
+ .ycd-bootstrap-wrapper .form-horizontal .form-group:after,
6592
+ .ycd-bootstrap-wrapper .btn-toolbar:after,
6593
+ .ycd-bootstrap-wrapper .btn-group-vertical > .btn-group:after,
6594
+ .ycd-bootstrap-wrapper .nav:after,
6595
+ .ycd-bootstrap-wrapper .navbar:after,
6596
+ .ycd-bootstrap-wrapper .navbar-header:after,
6597
+ .ycd-bootstrap-wrapper .navbar-collapse:after,
6598
+ .ycd-bootstrap-wrapper .pager:after,
6599
+ .ycd-bootstrap-wrapper .panel-body:after,
6600
+ .ycd-bootstrap-wrapper .modal-header:after,
6601
+ .ycd-bootstrap-wrapper .modal-footer:after {
6602
+ clear: both;
6603
+ }
6604
+ .ycd-bootstrap-wrapper .center-block {
6605
+ display: block;
6606
+ margin-right: auto;
6607
+ margin-left: auto;
6608
+ }
6609
+ .ycd-bootstrap-wrapper .pull-right {
6610
+ float: right !important;
6611
+ }
6612
+ .ycd-bootstrap-wrapper .pull-left {
6613
+ float: left !important;
6614
+ }
6615
+ .ycd-bootstrap-wrapper .hide {
6616
+ display: none !important;
6617
+ }
6618
+ .ycd-bootstrap-wrapper .show {
6619
+ display: block !important;
6620
+ }
6621
+ .ycd-bootstrap-wrapper .invisible {
6622
+ visibility: hidden;
6623
+ }
6624
+ .ycd-bootstrap-wrapper .text-hide {
6625
+ font: 0/0 a;
6626
+ color: transparent;
6627
+ text-shadow: none;
6628
+ background-color: transparent;
6629
+ border: 0;
6630
+ }
6631
+ .ycd-bootstrap-wrapper .hidden {
6632
+ display: none !important;
6633
+ }
6634
+ .ycd-bootstrap-wrapper .affix {
6635
+ position: fixed;
6636
+ }
6637
+ @-ms-viewport {
6638
+ width: device-width;
6639
+ }
6640
+ .ycd-bootstrap-wrapper .visible-xs,
6641
+ .ycd-bootstrap-wrapper .visible-sm,
6642
+ .ycd-bootstrap-wrapper .visible-md,
6643
+ .ycd-bootstrap-wrapper .visible-lg {
6644
+ display: none !important;
6645
+ }
6646
+ .ycd-bootstrap-wrapper .visible-xs-block,
6647
+ .ycd-bootstrap-wrapper .visible-xs-inline,
6648
+ .ycd-bootstrap-wrapper .visible-xs-inline-block,
6649
+ .ycd-bootstrap-wrapper .visible-sm-block,
6650
+ .ycd-bootstrap-wrapper .visible-sm-inline,
6651
+ .ycd-bootstrap-wrapper .visible-sm-inline-block,
6652
+ .ycd-bootstrap-wrapper .visible-md-block,
6653
+ .ycd-bootstrap-wrapper .visible-md-inline,
6654
+ .ycd-bootstrap-wrapper .visible-md-inline-block,
6655
+ .ycd-bootstrap-wrapper .visible-lg-block,
6656
+ .ycd-bootstrap-wrapper .visible-lg-inline,
6657
+ .ycd-bootstrap-wrapper .visible-lg-inline-block {
6658
+ display: none !important;
6659
+ }
6660
+ @media (max-width: 767px) {
6661
+ .ycd-bootstrap-wrapper .visible-xs {
6662
+ display: block !important;
6663
+ }
6664
+ .ycd-bootstrap-wrapper table.visible-xs {
6665
+ display: table !important;
6666
+ }
6667
+ .ycd-bootstrap-wrapper tr.visible-xs {
6668
+ display: table-row !important;
6669
+ }
6670
+ .ycd-bootstrap-wrapper th.visible-xs,
6671
+ .ycd-bootstrap-wrapper td.visible-xs {
6672
+ display: table-cell !important;
6673
+ }
6674
+ }
6675
+ @media (max-width: 767px) {
6676
+ .ycd-bootstrap-wrapper .visible-xs-block {
6677
+ display: block !important;
6678
+ }
6679
+ }
6680
+ @media (max-width: 767px) {
6681
+ .ycd-bootstrap-wrapper .visible-xs-inline {
6682
+ display: inline !important;
6683
+ }
6684
+ }
6685
+ @media (max-width: 767px) {
6686
+ .ycd-bootstrap-wrapper .visible-xs-inline-block {
6687
+ display: inline-block !important;
6688
+ }
6689
+ }
6690
+ @media (min-width: 768px) and (max-width: 991px) {
6691
+ .ycd-bootstrap-wrapper .visible-sm {
6692
+ display: block !important;
6693
+ }
6694
+ .ycd-bootstrap-wrapper table.visible-sm {
6695
+ display: table !important;
6696
+ }
6697
+ .ycd-bootstrap-wrapper tr.visible-sm {
6698
+ display: table-row !important;
6699
+ }
6700
+ .ycd-bootstrap-wrapper th.visible-sm,
6701
+ .ycd-bootstrap-wrapper td.visible-sm {
6702
+ display: table-cell !important;
6703
+ }
6704
+ }
6705
+ @media (min-width: 768px) and (max-width: 991px) {
6706
+ .ycd-bootstrap-wrapper .visible-sm-block {
6707
+ display: block !important;
6708
+ }
6709
+ }
6710
+ @media (min-width: 768px) and (max-width: 991px) {
6711
+ .ycd-bootstrap-wrapper .visible-sm-inline {
6712
+ display: inline !important;
6713
+ }
6714
+ }
6715
+ @media (min-width: 768px) and (max-width: 991px) {
6716
+ .ycd-bootstrap-wrapper .visible-sm-inline-block {
6717
+ display: inline-block !important;
6718
+ }
6719
+ }
6720
+ @media (min-width: 992px) and (max-width: 1199px) {
6721
+ .ycd-bootstrap-wrapper .visible-md {
6722
+ display: block !important;
6723
+ }
6724
+ .ycd-bootstrap-wrapper table.visible-md {
6725
+ display: table !important;
6726
+ }
6727
+ .ycd-bootstrap-wrapper tr.visible-md {
6728
+ display: table-row !important;
6729
+ }
6730
+ .ycd-bootstrap-wrapper th.visible-md,
6731
+ .ycd-bootstrap-wrapper td.visible-md {
6732
+ display: table-cell !important;
6733
+ }
6734
+ }
6735
+ @media (min-width: 992px) and (max-width: 1199px) {
6736
+ .ycd-bootstrap-wrapper .visible-md-block {
6737
+ display: block !important;
6738
+ }
6739
+ }
6740
+ @media (min-width: 992px) and (max-width: 1199px) {
6741
+ .ycd-bootstrap-wrapper .visible-md-inline {
6742
+ display: inline !important;
6743
+ }
6744
+ }
6745
+ @media (min-width: 992px) and (max-width: 1199px) {
6746
+ .ycd-bootstrap-wrapper .visible-md-inline-block {
6747
+ display: inline-block !important;
6748
+ }
6749
+ }
6750
+ @media (min-width: 1200px) {
6751
+ .ycd-bootstrap-wrapper .visible-lg {
6752
+ display: block !important;
6753
+ }
6754
+ .ycd-bootstrap-wrapper table.visible-lg {
6755
+ display: table !important;
6756
+ }
6757
+ .ycd-bootstrap-wrapper tr.visible-lg {
6758
+ display: table-row !important;
6759
+ }
6760
+ .ycd-bootstrap-wrapper th.visible-lg,
6761
+ .ycd-bootstrap-wrapper td.visible-lg {
6762
+ display: table-cell !important;
6763
+ }
6764
+ }
6765
+ @media (min-width: 1200px) {
6766
+ .ycd-bootstrap-wrapper .visible-lg-block {
6767
+ display: block !important;
6768
+ }
6769
+ }
6770
+ @media (min-width: 1200px) {
6771
+ .ycd-bootstrap-wrapper .visible-lg-inline {
6772
+ display: inline !important;
6773
+ }
6774
+ }
6775
+ @media (min-width: 1200px) {
6776
+ .ycd-bootstrap-wrapper .visible-lg-inline-block {
6777
+ display: inline-block !important;
6778
+ }
6779
+ }
6780
+ @media (max-width: 767px) {
6781
+ .ycd-bootstrap-wrapper .hidden-xs {
6782
+ display: none !important;
6783
+ }
6784
+ }
6785
+ @media (min-width: 768px) and (max-width: 991px) {
6786
+ .ycd-bootstrap-wrapper .hidden-sm {
6787
+ display: none !important;
6788
+ }
6789
+ }
6790
+ @media (min-width: 992px) and (max-width: 1199px) {
6791
+ .ycd-bootstrap-wrapper .hidden-md {
6792
+ display: none !important;
6793
+ }
6794
+ }
6795
+ @media (min-width: 1200px) {
6796
+ .ycd-bootstrap-wrapper .hidden-lg {
6797
+ display: none !important;
6798
+ }
6799
+ }
6800
+ .ycd-bootstrap-wrapper .visible-print {
6801
+ display: none !important;
6802
+ }
6803
+ @media print {
6804
+ .ycd-bootstrap-wrapper .visible-print {
6805
+ display: block !important;
6806
+ }
6807
+ .ycd-bootstrap-wrapper table.visible-print {
6808
+ display: table !important;
6809
+ }
6810
+ .ycd-bootstrap-wrapper tr.visible-print {
6811
+ display: table-row !important;
6812
+ }
6813
+ .ycd-bootstrap-wrapper th.visible-print,
6814
+ .ycd-bootstrap-wrapper td.visible-print {
6815
+ display: table-cell !important;
6816
+ }
6817
+ }
6818
+ .ycd-bootstrap-wrapper .visible-print-block {
6819
+ display: none !important;
6820
+ }
6821
+ @media print {
6822
+ .ycd-bootstrap-wrapper .visible-print-block {
6823
+ display: block !important;
6824
+ }
6825
+ }
6826
+ .ycd-bootstrap-wrapper .visible-print-inline {
6827
+ display: none !important;
6828
+ }
6829
+ @media print {
6830
+ .ycd-bootstrap-wrapper .visible-print-inline {
6831
+ display: inline !important;
6832
+ }
6833
+ }
6834
+ .ycd-bootstrap-wrapper .visible-print-inline-block {
6835
+ display: none !important;
6836
+ }
6837
+ @media print {
6838
+ .ycd-bootstrap-wrapper .visible-print-inline-block {
6839
+ display: inline-block !important;
6840
+ }
6841
+ }
6842
+ @media print {
6843
+ .ycd-bootstrap-wrapper .hidden-print {
6844
+ display: none !important;
6845
+ }
6846
+ }
assets/css/jquery.dateTimePicker.min.css ADDED
@@ -0,0 +1 @@
 
1
+ .xdsoft_datetimepicker{box-shadow:0 5px 15px -5px rgba(0,0,0,0.506);background:#fff;border-bottom:1px solid #bbb;border-left:1px solid #ccc;border-right:1px solid #ccc;border-top:1px solid #ccc;color:#333;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;padding:8px;padding-left:0;padding-top:2px;position:absolute;z-index:9999;-moz-box-sizing:border-box;box-sizing:border-box;display:none}.xdsoft_datetimepicker.xdsoft_rtl{padding:8px 0 8px 8px}.xdsoft_datetimepicker iframe{position:absolute;left:0;top:0;width:75px;height:210px;background:transparent;border:0}.xdsoft_datetimepicker button{border:none !important}.xdsoft_noselect{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.xdsoft_noselect::selection{background:transparent}.xdsoft_noselect::-moz-selection{background:transparent}.xdsoft_datetimepicker.xdsoft_inline{display:inline-block;position:static;box-shadow:none}.xdsoft_datetimepicker *{-moz-box-sizing:border-box;box-sizing:border-box;padding:0;margin:0}.xdsoft_datetimepicker .xdsoft_datepicker,.xdsoft_datetimepicker .xdsoft_timepicker{display:none}.xdsoft_datetimepicker .xdsoft_datepicker.active,.xdsoft_datetimepicker .xdsoft_timepicker.active{display:block}.xdsoft_datetimepicker .xdsoft_datepicker{width:224px;float:left;margin-left:8px}.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_datepicker{float:right;margin-right:8px;margin-left:0}.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_datepicker{width:256px}.xdsoft_datetimepicker .xdsoft_timepicker{width:58px;float:left;text-align:center;margin-left:8px;margin-top:0}.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_timepicker{float:right;margin-right:8px;margin-left:0}.xdsoft_datetimepicker .xdsoft_datepicker.active+.xdsoft_timepicker{margin-top:8px;margin-bottom:3px}.xdsoft_datetimepicker .xdsoft_monthpicker{position:relative;text-align:center}.xdsoft_datetimepicker .xdsoft_label i,.xdsoft_datetimepicker .xdsoft_prev,.xdsoft_datetimepicker .xdsoft_next,.xdsoft_datetimepicker .xdsoft_today_button{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAeCAYAAADaW7vzAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Q0NBRjI1NjM0M0UwMTFFNDk4NkFGMzJFQkQzQjEwRUIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Q0NBRjI1NjQ0M0UwMTFFNDk4NkFGMzJFQkQzQjEwRUIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDQ0FGMjU2MTQzRTAxMUU0OTg2QUYzMkVCRDNCMTBFQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDQ0FGMjU2MjQzRTAxMUU0OTg2QUYzMkVCRDNCMTBFQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PoNEP54AAAIOSURBVHja7Jq9TsMwEMcxrZD4WpBYeKUCe+kTMCACHZh4BFfHO/AAIHZGFhYkBBsSEqxsLCAgXKhbXYOTxh9pfJVP+qutnZ5s/5Lz2Y5I03QhWji2GIcgAokWgfCxNvcOCCGKqiSqhUp0laHOne05vdEyGMfkdxJDVjgwDlEQgYQBgx+ULJaWSXXS6r/ER5FBVR8VfGftTKcITNs+a1XpcFoExREIDF14AVIFxgQUS+h520cdud6wNkC0UBw6BCO/HoCYwBhD8QCkQ/x1mwDyD4plh4D6DDV0TAGyo4HcawLIBBSLDkHeH0Mg2yVP3l4TQMZQDDsEOl/MgHQqhMNuE0D+oBh0CIr8MAKyazBH9WyBuKxDWgbXfjNf32TZ1KWm/Ap1oSk/R53UtQ5xTh3LUlMmT8gt6g51Q9p+SobxgJQ/qmsfZhWywGFSl0yBjCLJCMgXail3b7+rumdVJ2YRss4cN+r6qAHDkPWjPjdJCF4n9RmAD/V9A/Wp4NQassDjwlB6XBiCxcJQWmZZb8THFilfy/lfrTvLghq2TqTHrRMTKNJ0sIhdo15RT+RpyWwFdY96UZ/LdQKBGjcXpcc1AlSFEfLmouD+1knuxBDUVrvOBmoOC/rEcN7OQxKVeJTCiAdUzUJhA2Oez9QTkp72OTVcxDcXY8iKNkxGAJXmJCOQwOa6dhyXsOa6XwEGAKdeb5ET3rQdAAAAAElFTkSuQmCC)}.xdsoft_datetimepicker .xdsoft_label i{opacity:.5;background-position:-92px -19px;display:inline-block;width:9px;height:20px;vertical-align:middle}.xdsoft_datetimepicker .xdsoft_prev{float:left;background-position:-20px 0}.xdsoft_datetimepicker .xdsoft_today_button{float:left;background-position:-70px 0;margin-left:5px}.xdsoft_datetimepicker .xdsoft_next{float:right;background-position:0 0}.xdsoft_datetimepicker .xdsoft_next,.xdsoft_datetimepicker .xdsoft_prev,.xdsoft_datetimepicker .xdsoft_today_button{background-color:transparent;background-repeat:no-repeat;border:0 none;cursor:pointer;display:block;height:30px;opacity:.5;-ms-filter:"alpha(opacity=50)";outline:medium none;overflow:hidden;padding:0;position:relative;text-indent:100%;white-space:nowrap;width:20px;min-width:0}.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev,.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_next{float:none;background-position:-40px -15px;height:15px;width:30px;display:block;margin-left:14px;margin-top:7px}.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_timepicker .xdsoft_prev,.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_timepicker .xdsoft_next{float:none;margin-left:0;margin-right:14px}.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev{background-position:-40px 0;margin-bottom:7px;margin-top:0}.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box{height:151px;overflow:hidden;border-bottom:1px solid #ddd}.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div{background:#f5f5f5;border-top:1px solid #ddd;color:#666;font-size:12px;text-align:center;border-collapse:collapse;cursor:pointer;border-bottom-width:0;height:25px;line-height:25px}.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div:first-child{border-top-width:0}.xdsoft_datetimepicker .xdsoft_today_button:hover,.xdsoft_datetimepicker .xdsoft_next:hover,.xdsoft_datetimepicker .xdsoft_prev:hover{opacity:1;-ms-filter:"alpha(opacity=100)"}.xdsoft_datetimepicker .xdsoft_label{display:inline;position:relative;z-index:9999;margin:0;padding:5px 3px;font-size:14px;line-height:20px;font-weight:bold;background-color:#fff;float:left;width:182px;text-align:center;cursor:pointer}.xdsoft_datetimepicker .xdsoft_label:hover>span{text-decoration:underline}.xdsoft_datetimepicker .xdsoft_label:hover i{opacity:1.0}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select{border:1px solid #ccc;position:absolute;right:0;top:30px;z-index:101;display:none;background:#fff;max-height:160px;overflow-y:hidden}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select.xdsoft_monthselect{right:-7px}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select.xdsoft_yearselect{right:2px}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select>div>.xdsoft_option:hover{color:#fff;background:#ff8000}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select>div>.xdsoft_option{padding:2px 10px 2px 5px;text-decoration:none !important}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select>div>.xdsoft_option.xdsoft_current{background:#3af;box-shadow:#178fe5 0 1px 3px 0 inset;color:#fff;font-weight:700}.xdsoft_datetimepicker .xdsoft_month{width:100px;text-align:right}.xdsoft_datetimepicker .xdsoft_calendar{clear:both}.xdsoft_datetimepicker .xdsoft_year{width:48px;margin-left:5px}.xdsoft_datetimepicker .xdsoft_calendar table{border-collapse:collapse;width:100%}.xdsoft_datetimepicker .xdsoft_calendar td>div{padding-right:5px}.xdsoft_datetimepicker .xdsoft_calendar th{height:25px}.xdsoft_datetimepicker .xdsoft_calendar td,.xdsoft_datetimepicker .xdsoft_calendar th{width:14.2857142%;background:#f5f5f5;border:1px solid #ddd;color:#666;font-size:12px;text-align:right;vertical-align:middle;padding:0;border-collapse:collapse;cursor:pointer;height:25px}.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_calendar td,.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_calendar th{width:12.5%}.xdsoft_datetimepicker .xdsoft_calendar th{background:#f1f1f1}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_today{color:#3af}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_highlighted_default{background:#ffe9d2;box-shadow:#ffb871 0 1px 4px 0 inset;color:#000}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_highlighted_mint{background:#c1ffc9;box-shadow:#00dd1c 0 1px 4px 0 inset;color:#000}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_default,.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current,.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div.xdsoft_current{background:#3af;box-shadow:#178fe5 0 1px 3px 0 inset;color:#fff;font-weight:700}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month,.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled,.xdsoft_datetimepicker .xdsoft_time_box>div>div.xdsoft_disabled{opacity:.5;-ms-filter:"alpha(opacity=50)";cursor:default}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month.xdsoft_disabled{opacity:.2;-ms-filter:"alpha(opacity=20)"}.xdsoft_datetimepicker .xdsoft_calendar td:hover,.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div:hover{color:#fff !important;background:#ff8000 !important;box-shadow:none !important}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current.xdsoft_disabled:hover,.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div.xdsoft_current.xdsoft_disabled:hover{background:#3af !important;box-shadow:#178fe5 0 1px 3px 0 inset !important;color:#fff !important}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled:hover,.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div.xdsoft_disabled:hover{color:inherit !important;background:inherit !important;box-shadow:inherit !important}.xdsoft_datetimepicker .xdsoft_calendar th{font-weight:700;text-align:center;color:#999;cursor:default}.xdsoft_datetimepicker .xdsoft_copyright{color:#ccc !important;font-size:10px;clear:both;float:none;margin-left:8px}.xdsoft_datetimepicker .xdsoft_copyright a{color:#eee !important}.xdsoft_datetimepicker .xdsoft_copyright a:hover{color:#aaa !important}.xdsoft_time_box{position:relative;border:1px solid #ccc}.xdsoft_scrollbar>.xdsoft_scroller{background:#ccc !important;height:20px;border-radius:3px}.xdsoft_scrollbar{position:absolute;width:7px;right:0;top:0;bottom:0;cursor:pointer}.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_scrollbar{left:0;right:auto}.xdsoft_scroller_box{position:relative}.xdsoft_datetimepicker.xdsoft_dark{box-shadow:0 5px 15px -5px rgba(255,255,255,0.506);background:#000;border-bottom:1px solid #444;border-left:1px solid #333;border-right:1px solid #333;border-top:1px solid #333;color:#ccc}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box{border-bottom:1px solid #222}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box>div>div{background:#0a0a0a;border-top:1px solid #222;color:#999}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label{background-color:#000}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label>.xdsoft_select{border:1px solid #333;background:#000}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label>.xdsoft_select>div>.xdsoft_option:hover{color:#000;background:#007fff}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label>.xdsoft_select>div>.xdsoft_option.xdsoft_current{background:#c50;box-shadow:#b03e00 0 1px 3px 0 inset;color:#000}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label i,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_prev,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_next,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_today_button{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAeCAYAAADaW7vzAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUExQUUzOTA0M0UyMTFFNDlBM0FFQTJENTExRDVBODYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUExQUUzOTE0M0UyMTFFNDlBM0FFQTJENTExRDVBODYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBQTFBRTM4RTQzRTIxMUU0OUEzQUVBMkQ1MTFENUE4NiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBQTFBRTM4RjQzRTIxMUU0OUEzQUVBMkQ1MTFENUE4NiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pp0VxGEAAAIASURBVHja7JrNSgMxEMebtgh+3MSLr1T1Xn2CHoSKB08+QmR8Bx9A8e7RixdB9CKCoNdexIugxFlJa7rNZneTbLIpM/CnNLsdMvNjM8l0mRCiQ9Ye61IKCAgZAUnH+mU3MMZaHYChBnJUDzWOFZdVfc5+ZFLbrWDeXPwbxIqrLLfaeS0hEBVGIRQCEiZoHQwtlGSByCCdYBl8g8egTTAWoKQMRBRBcZxYlhzhKegqMOageErsCHVkk3hXIFooDgHB1KkHIHVgzKB4ADJQ/A1jAFmAYhkQqA5TOBtocrKrgXwQA8gcFIuAIO8sQSA7hidvPwaQGZSaAYHOUWJABhWWw2EMIH9QagQERU4SArJXo0ZZL18uvaxejXt/Em8xjVBXmvFr1KVm/AJ10tRe2XnraNqaJvKE3KHuUbfK1E+VHB0q40/y3sdQSxY4FHWeKJCunP8UyDdqJZenT3ntVV5jIYCAh20vT7ioP8tpf6E2lfEMwERe+whV1MHjwZB7PBiCxcGQWwKZKD62lfGNnP/1poFAA60T7rF1UgcKd2id3KDeUS+oLWV8DfWAepOfq00CgQabi9zjcgJVYVD7PVzQUAUGAQkbNJTBICDhgwYTjDYD6XeW08ZKh+A4pYkzenOxXUbvZcWz7E8ykRMnIHGX1XPl+1m2vPYpL+2qdb8CDAARlKFEz/ZVkAAAAABJRU5ErkJggg==)}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th{background:#0a0a0a;border:1px solid #222;color:#999}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th{background:#0e0e0e}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_today{color:#c50}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_highlighted_default{background:#ffe9d2;box-shadow:#ffb871 0 1px 4px 0 inset;color:#000}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_highlighted_mint{background:#c1ffc9;box-shadow:#00dd1c 0 1px 4px 0 inset;color:#000}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_default,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_current,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box>div>div.xdsoft_current{background:#c50;box-shadow:#b03e00 0 1px 3px 0 inset;color:#000}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td:hover,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box>div>div:hover{color:#000 !important;background:#007fff !important}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th{color:#666}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright{color:#333 !important}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright a{color:#111 !important}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright a:hover{color:#555 !important}.xdsoft_dark .xdsoft_time_box{border:1px solid #333}.xdsoft_dark .xdsoft_scrollbar>.xdsoft_scroller{background:#333 !important}.xdsoft_datetimepicker .xdsoft_save_selected{display:block;border:1px solid #ddd !important;margin-top:5px;width:100%;color:#454551;font-size:13px}.xdsoft_datetimepicker .blue-gradient-button{font-family:"museo-sans","Book Antiqua",sans-serif;font-size:12px;font-weight:300;color:#82878c;height:28px;position:relative;padding:4px 17px 4px 33px;border:1px solid #d7d8da;background:-moz-linear-gradient(top,#fff 0,#f4f8fa 73%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fff),color-stop(73%,#f4f8fa));background:-webkit-linear-gradient(top,#fff 0,#f4f8fa 73%);background:-o-linear-gradient(top,#fff 0,#f4f8fa 73%);background:-ms-linear-gradient(top,#fff 0,#f4f8fa 73%);background:linear-gradient(to bottom,#fff 0,#f4f8fa 73%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff',endColorstr='#f4f8fa',GradientType=0)}.xdsoft_datetimepicker .blue-gradient-button:hover,.xdsoft_datetimepicker .blue-gradient-button:focus,.xdsoft_datetimepicker .blue-gradient-button:hover span,.xdsoft_datetimepicker .blue-gradient-button:focus span{color:#454551;background:-moz-linear-gradient(top,#f4f8fa 0,#FFF 73%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#f4f8fa),color-stop(73%,#FFF));background:-webkit-linear-gradient(top,#f4f8fa 0,#FFF 73%);background:-o-linear-gradient(top,#f4f8fa 0,#FFF 73%);background:-ms-linear-gradient(top,#f4f8fa 0,#FFF 73%);background:linear-gradient(to bottom,#f4f8fa 0,#FFF 73%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f4f8fa',endColorstr='#FFF',GradientType=0)}
assets/css/select2.css ADDED
@@ -0,0 +1,484 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .select2-container {
2
+ box-sizing: border-box;
3
+ display: inline-block;
4
+ margin: 0;
5
+ position: relative;
6
+ vertical-align: middle; }
7
+ .select2-container .select2-selection--single {
8
+ box-sizing: border-box;
9
+ cursor: pointer;
10
+ display: block;
11
+ height: 28px;
12
+ user-select: none;
13
+ -webkit-user-select: none; }
14
+ .select2-container .select2-selection--single .select2-selection__rendered {
15
+ display: block;
16
+ padding-left: 8px;
17
+ padding-right: 20px;
18
+ overflow: hidden;
19
+ text-overflow: ellipsis;
20
+ white-space: nowrap; }
21
+ .select2-container .select2-selection--single .select2-selection__clear {
22
+ position: relative; }
23
+ .select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
24
+ padding-right: 8px;
25
+ padding-left: 20px; }
26
+ .select2-container .select2-selection--multiple {
27
+ box-sizing: border-box;
28
+ cursor: pointer;
29
+ display: block;
30
+ min-height: 32px;
31
+ user-select: none;
32
+ -webkit-user-select: none; }
33
+ .select2-container .select2-selection--multiple .select2-selection__rendered {
34
+ display: inline-block;
35
+ overflow: hidden;
36
+ padding-left: 8px;
37
+ text-overflow: ellipsis;
38
+ white-space: nowrap; }
39
+ .select2-container .select2-search--inline {
40
+ float: left; }
41
+ .select2-container .select2-search--inline .select2-search__field {
42
+ box-sizing: border-box;
43
+ border: none;
44
+ font-size: 100%;
45
+ margin-top: 5px;
46
+ padding: 0; }
47
+ .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
48
+ -webkit-appearance: none; }
49
+
50
+ .select2-dropdown {
51
+ background-color: white;
52
+ border: 1px solid #aaa;
53
+ border-radius: 4px;
54
+ box-sizing: border-box;
55
+ display: block;
56
+ position: absolute;
57
+ left: -100000px;
58
+ width: 100%;
59
+ z-index: 1051; }
60
+
61
+ .select2-results {
62
+ display: block; }
63
+
64
+ .select2-results__options {
65
+ list-style: none;
66
+ margin: 0;
67
+ padding: 0; }
68
+
69
+ .select2-results__option {
70
+ padding: 6px;
71
+ user-select: none;
72
+ -webkit-user-select: none; }
73
+ .select2-results__option[aria-selected] {
74
+ cursor: pointer; }
75
+
76
+ .select2-container--open .select2-dropdown {
77
+ left: 0; }
78
+
79
+ .select2-container--open .select2-dropdown--above {
80
+ border-bottom: none;
81
+ border-bottom-left-radius: 0;
82
+ border-bottom-right-radius: 0; }
83
+
84
+ .select2-container--open .select2-dropdown--below {
85
+ border-top: none;
86
+ border-top-left-radius: 0;
87
+ border-top-right-radius: 0; }
88
+
89
+ .select2-search--dropdown {
90
+ display: block;
91
+ padding: 4px; }
92
+ .select2-search--dropdown .select2-search__field {
93
+ padding: 4px;
94
+ width: 100%;
95
+ box-sizing: border-box; }
96
+ .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
97
+ -webkit-appearance: none; }
98
+ .select2-search--dropdown.select2-search--hide {
99
+ display: none; }
100
+
101
+ .select2-close-mask {
102
+ border: 0;
103
+ margin: 0;
104
+ padding: 0;
105
+ display: block;
106
+ position: fixed;
107
+ left: 0;
108
+ top: 0;
109
+ min-height: 100%;
110
+ min-width: 100%;
111
+ height: auto;
112
+ width: auto;
113
+ opacity: 0;
114
+ z-index: 99;
115
+ background-color: #fff;
116
+ filter: alpha(opacity=0); }
117
+
118
+ .select2-hidden-accessible {
119
+ border: 0 !important;
120
+ clip: rect(0 0 0 0) !important;
121
+ height: 1px !important;
122
+ margin: -1px !important;
123
+ overflow: hidden !important;
124
+ padding: 0 !important;
125
+ position: absolute !important;
126
+ width: 1px !important; }
127
+
128
+ .select2-container--default .select2-selection--single {
129
+ background-color: #fff;
130
+ border: 1px solid #aaa;
131
+ border-radius: 4px; }
132
+ .select2-container--default .select2-selection--single .select2-selection__rendered {
133
+ color: #444;
134
+ line-height: 28px; }
135
+ .select2-container--default .select2-selection--single .select2-selection__clear {
136
+ cursor: pointer;
137
+ float: right;
138
+ font-weight: bold; }
139
+ .select2-container--default .select2-selection--single .select2-selection__placeholder {
140
+ color: #999; }
141
+ .select2-container--default .select2-selection--single .select2-selection__arrow {
142
+ height: 26px;
143
+ position: absolute;
144
+ top: 1px;
145
+ right: 1px;
146
+ width: 20px; }
147
+ .select2-container--default .select2-selection--single .select2-selection__arrow b {
148
+ border-color: #888 transparent transparent transparent;
149
+ border-style: solid;
150
+ border-width: 5px 4px 0 4px;
151
+ height: 0;
152
+ left: 50%;
153
+ margin-left: -4px;
154
+ margin-top: -2px;
155
+ position: absolute;
156
+ top: 50%;
157
+ width: 0; }
158
+
159
+ .select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear {
160
+ float: left; }
161
+
162
+ .select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow {
163
+ left: 1px;
164
+ right: auto; }
165
+
166
+ .select2-container--default.select2-container--disabled .select2-selection--single {
167
+ background-color: #eee;
168
+ cursor: default; }
169
+ .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
170
+ display: none; }
171
+
172
+ .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
173
+ border-color: transparent transparent #888 transparent;
174
+ border-width: 0 4px 5px 4px; }
175
+
176
+ .select2-container--default .select2-selection--multiple {
177
+ background-color: white;
178
+ border: 1px solid #aaa;
179
+ border-radius: 4px;
180
+ cursor: text; }
181
+ .select2-container--default .select2-selection--multiple .select2-selection__rendered {
182
+ box-sizing: border-box;
183
+ list-style: none;
184
+ margin: 0;
185
+ padding: 0 5px;
186
+ width: 100%; }
187
+ .select2-container--default .select2-selection--multiple .select2-selection__rendered li {
188
+ list-style: none; }
189
+ .select2-container--default .select2-selection--multiple .select2-selection__placeholder {
190
+ color: #999;
191
+ margin-top: 5px;
192
+ float: left; }
193
+ .select2-container--default .select2-selection--multiple .select2-selection__clear {
194
+ cursor: pointer;
195
+ float: right;
196
+ font-weight: bold;
197
+ margin-top: 5px;
198
+ margin-right: 10px; }
199
+ .select2-container--default .select2-selection--multiple .select2-selection__choice {
200
+ background-color: #e4e4e4;
201
+ border: 1px solid #aaa;
202
+ border-radius: 4px;
203
+ cursor: default;
204
+ float: left;
205
+ margin-right: 5px;
206
+ margin-top: 5px;
207
+ padding: 0 5px; }
208
+ .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
209
+ color: #999;
210
+ cursor: pointer;
211
+ display: inline-block;
212
+ font-weight: bold;
213
+ margin-right: 2px; }
214
+ .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
215
+ color: #333; }
216
+
217
+ .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline {
218
+ float: right; }
219
+
220
+ .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
221
+ margin-left: 5px;
222
+ margin-right: auto; }
223
+
224
+ .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
225
+ margin-left: 2px;
226
+ margin-right: auto; }
227
+
228
+ .select2-container--default.select2-container--focus .select2-selection--multiple {
229
+ border: solid black 1px;
230
+ outline: 0; }
231
+
232
+ .select2-container--default.select2-container--disabled .select2-selection--multiple {
233
+ background-color: #eee;
234
+ cursor: default; }
235
+
236
+ .select2-container--default.select2-container--disabled .select2-selection__choice__remove {
237
+ display: none; }
238
+
239
+ .select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
240
+ border-top-left-radius: 0;
241
+ border-top-right-radius: 0; }
242
+
243
+ .select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
244
+ border-bottom-left-radius: 0;
245
+ border-bottom-right-radius: 0; }
246
+
247
+ .select2-container--default .select2-search--dropdown .select2-search__field {
248
+ border: 1px solid #aaa; }
249
+
250
+ .select2-container--default .select2-search--inline .select2-search__field {
251
+ background: transparent;
252
+ border: none;
253
+ outline: 0;
254
+ box-shadow: none;
255
+ -webkit-appearance: textfield; }
256
+
257
+ .select2-container--default .select2-results > .select2-results__options {
258
+ max-height: 200px;
259
+ overflow-y: auto; }
260
+
261
+ .select2-container--default .select2-results__option[role=group] {
262
+ padding: 0; }
263
+
264
+ .select2-container--default .select2-results__option[aria-disabled=true] {
265
+ color: #999; }
266
+
267
+ .select2-container--default .select2-results__option[aria-selected=true] {
268
+ background-color: #ddd; }
269
+
270
+ .select2-container--default .select2-results__option .select2-results__option {
271
+ padding-left: 1em; }
272
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__group {
273
+ padding-left: 0; }
274
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option {
275
+ margin-left: -1em;
276
+ padding-left: 2em; }
277
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
278
+ margin-left: -2em;
279
+ padding-left: 3em; }
280
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
281
+ margin-left: -3em;
282
+ padding-left: 4em; }
283
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
284
+ margin-left: -4em;
285
+ padding-left: 5em; }
286
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
287
+ margin-left: -5em;
288
+ padding-left: 6em; }
289
+
290
+ .select2-container--default .select2-results__option--highlighted[aria-selected] {
291
+ background-color: #5897fb;
292
+ color: white; }
293
+
294
+ .select2-container--default .select2-results__group {
295
+ cursor: default;
296
+ display: block;
297
+ padding: 6px; }
298
+
299
+ .select2-container--classic .select2-selection--single {
300
+ background-color: #f7f7f7;
301
+ border: 1px solid #aaa;
302
+ border-radius: 4px;
303
+ outline: 0;
304
+ background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%);
305
+ background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%);
306
+ background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%);
307
+ background-repeat: repeat-x;
308
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }
309
+ .select2-container--classic .select2-selection--single:focus {
310
+ border: 1px solid #5897fb; }
311
+ .select2-container--classic .select2-selection--single .select2-selection__rendered {
312
+ color: #444;
313
+ line-height: 28px; }
314
+ .select2-container--classic .select2-selection--single .select2-selection__clear {
315
+ cursor: pointer;
316
+ float: right;
317
+ font-weight: bold;
318
+ margin-right: 10px; }
319
+ .select2-container--classic .select2-selection--single .select2-selection__placeholder {
320
+ color: #999; }
321
+ .select2-container--classic .select2-selection--single .select2-selection__arrow {
322
+ background-color: #ddd;
323
+ border: none;
324
+ border-left: 1px solid #aaa;
325
+ border-top-right-radius: 4px;
326
+ border-bottom-right-radius: 4px;
327
+ height: 26px;
328
+ position: absolute;
329
+ top: 1px;
330
+ right: 1px;
331
+ width: 20px;
332
+ background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
333
+ background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
334
+ background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);
335
+ background-repeat: repeat-x;
336
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); }
337
+ .select2-container--classic .select2-selection--single .select2-selection__arrow b {
338
+ border-color: #888 transparent transparent transparent;
339
+ border-style: solid;
340
+ border-width: 5px 4px 0 4px;
341
+ height: 0;
342
+ left: 50%;
343
+ margin-left: -4px;
344
+ margin-top: -2px;
345
+ position: absolute;
346
+ top: 50%;
347
+ width: 0; }
348
+
349
+ .select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear {
350
+ float: left; }
351
+
352
+ .select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow {
353
+ border: none;
354
+ border-right: 1px solid #aaa;
355
+ border-radius: 0;
356
+ border-top-left-radius: 4px;
357
+ border-bottom-left-radius: 4px;
358
+ left: 1px;
359
+ right: auto; }
360
+
361
+ .select2-container--classic.select2-container--open .select2-selection--single {
362
+ border: 1px solid #5897fb; }
363
+ .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {
364
+ background: transparent;
365
+ border: none; }
366
+ .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {
367
+ border-color: transparent transparent #888 transparent;
368
+ border-width: 0 4px 5px 4px; }
369
+
370
+ .select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {
371
+ border-top: none;
372
+ border-top-left-radius: 0;
373
+ border-top-right-radius: 0;
374
+ background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%);
375
+ background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%);
376
+ background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%);
377
+ background-repeat: repeat-x;
378
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }
379
+
380
+ .select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {
381
+ border-bottom: none;
382
+ border-bottom-left-radius: 0;
383
+ border-bottom-right-radius: 0;
384
+ background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%);
385
+ background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%);
386
+ background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%);
387
+ background-repeat: repeat-x;
388
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); }
389
+
390
+ .select2-container--classic .select2-selection--multiple {
391
+ background-color: white;
392
+ border: 1px solid #aaa;
393
+ border-radius: 4px;
394
+ cursor: text;
395
+ outline: 0; }
396
+ .select2-container--classic .select2-selection--multiple:focus {
397
+ border: 1px solid #5897fb; }
398
+ .select2-container--classic .select2-selection--multiple .select2-selection__rendered {
399
+ list-style: none;
400
+ margin: 0;
401
+ padding: 0 5px; }
402
+ .select2-container--classic .select2-selection--multiple .select2-selection__clear {
403
+ display: none; }
404
+ .select2-container--classic .select2-selection--multiple .select2-selection__choice {
405
+ background-color: #e4e4e4;
406
+ border: 1px solid #aaa;
407
+ border-radius: 4px;
408
+ cursor: default;
409
+ float: left;
410
+ margin-right: 5px;
411
+ margin-top: 5px;
412
+ padding: 0 5px; }
413
+ .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
414
+ color: #888;
415
+ cursor: pointer;
416
+ display: inline-block;
417
+ font-weight: bold;
418
+ margin-right: 2px; }
419
+ .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
420
+ color: #555; }
421
+
422
+ .select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
423
+ float: right; }
424
+
425
+ .select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
426
+ margin-left: 5px;
427
+ margin-right: auto; }
428
+
429
+ .select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
430
+ margin-left: 2px;
431
+ margin-right: auto; }
432
+
433
+ .select2-container--classic.select2-container--open .select2-selection--multiple {
434
+ border: 1px solid #5897fb; }
435
+
436
+ .select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {
437
+ border-top: none;
438
+ border-top-left-radius: 0;
439
+ border-top-right-radius: 0; }
440
+
441
+ .select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {
442
+ border-bottom: none;
443
+ border-bottom-left-radius: 0;
444
+ border-bottom-right-radius: 0; }
445
+
446
+ .select2-container--classic .select2-search--dropdown .select2-search__field {
447
+ border: 1px solid #aaa;
448
+ outline: 0; }
449
+
450
+ .select2-container--classic .select2-search--inline .select2-search__field {
451
+ outline: 0;
452
+ box-shadow: none; }
453
+
454
+ .select2-container--classic .select2-dropdown {
455
+ background-color: white;
456
+ border: 1px solid transparent; }
457
+
458
+ .select2-container--classic .select2-dropdown--above {
459
+ border-bottom: none; }
460
+
461
+ .select2-container--classic .select2-dropdown--below {
462
+ border-top: none; }
463
+
464
+ .select2-container--classic .select2-results > .select2-results__options {
465
+ max-height: 200px;
466
+ overflow-y: auto; }
467
+
468
+ .select2-container--classic .select2-results__option[role=group] {
469
+ padding: 0; }
470
+
471
+ .select2-container--classic .select2-results__option[aria-disabled=true] {
472
+ color: grey; }
473
+
474
+ .select2-container--classic .select2-results__option--highlighted[aria-selected] {
475
+ background-color: #3875d7;
476
+ color: white; }
477
+
478
+ .select2-container--classic .select2-results__group {
479
+ cursor: default;
480
+ display: block;
481
+ padding: 6px; }
482
+
483
+ .select2-container--classic.select2-container--open .select2-dropdown {
484
+ border-color: #5897fb; }
assets/img/Cricle.png ADDED
Binary file
assets/js/Countdown.js ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ function YcdCountdown() {
2
+ this.init();
3
+ }
4
+
5
+ YcdCountdown.prototype.init = function() {
6
+ this.startTimeSircle();
7
+ this.initCountdownDateTimePicker();
8
+ this.select2();
9
+ };
10
+
11
+ YcdCountdown.prototype.startTimeSircle = function() {
12
+ var sircle = jQuery('.ycd-time-sircle');
13
+
14
+ if(!sircle.length) {
15
+ return false;
16
+ }
17
+ sircle.each(function() {
18
+ var options = jQuery(this).attr('data-options');
19
+ options = jQuery.parseJSON(options);
20
+ jQuery(this).TimeCircles({animation: options['animation']});
21
+ });
22
+ //jQuery('#DateCountdown').TimeCircles({animation: "ticks"});
23
+ };
24
+
25
+ YcdCountdown.prototype.select2 = function() {
26
+ var select2 = jQuery('.js-ycd-select');
27
+
28
+ if(!select2.length) {
29
+ return false;
30
+ }
31
+
32
+ select2.select2();
33
+ };
34
+
35
+ YcdCountdown.prototype.initCountdownDateTimePicker = function() {
36
+ var countdown = jQuery('#ycd-date-time-picker');
37
+
38
+ if(!countdown.length) {
39
+ return false;
40
+ }
41
+
42
+ countdown.datetimepicker({
43
+ format: 'Y-m-d H:i',
44
+ minDate: 0
45
+ });
46
+ };
47
+
48
+ jQuery(document).ready(function () {
49
+ new YcdCountdown();
50
+ });
assets/js/TimeCircles.js ADDED
@@ -0,0 +1,960 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Basic structure: TC_Class is the public class that is returned upon being called
3
+ *
4
+ * So, if you do
5
+ * var tc = $(".timer").TimeCircles();
6
+ *
7
+ * tc will contain an instance of the public TimeCircles class. It is important to
8
+ * note that TimeCircles is not chained in the conventional way, check the
9
+ * documentation for more info on how TimeCircles can be chained.
10
+ *
11
+ * After being called/created, the public TimerCircles class will then- for each element
12
+ * within it's collection, either fetch or create an instance of the private class.
13
+ * Each function called upon the public class will be forwarded to each instance
14
+ * of the private classes within the relevant element collection
15
+ **/
16
+ (function($) {
17
+
18
+ var useWindow = window;
19
+
20
+ // From https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys
21
+ if (!Object.keys) {
22
+ Object.keys = (function() {
23
+ 'use strict';
24
+ var hasOwnProperty = Object.prototype.hasOwnProperty,
25
+ hasDontEnumBug = !({toString: null}).propertyIsEnumerable('toString'),
26
+ dontEnums = [
27
+ 'toString',
28
+ 'toLocaleString',
29
+ 'valueOf',
30
+ 'hasOwnProperty',
31
+ 'isPrototypeOf',
32
+ 'propertyIsEnumerable',
33
+ 'constructor'
34
+ ],
35
+ dontEnumsLength = dontEnums.length;
36
+
37
+ return function(obj) {
38
+ if (typeof obj !== 'object' && (typeof obj !== 'function' || obj === null)) {
39
+ throw new TypeError('Object.keys called on non-object');
40
+ }
41
+
42
+ var result = [], prop, i;
43
+
44
+ for (prop in obj) {
45
+ if (hasOwnProperty.call(obj, prop)) {
46
+ result.push(prop);
47
+ }
48
+ }
49
+
50
+ if (hasDontEnumBug) {
51
+ for (i = 0; i < dontEnumsLength; i++) {
52
+ if (hasOwnProperty.call(obj, dontEnums[i])) {
53
+ result.push(dontEnums[i]);
54
+ }
55
+ }
56
+ }
57
+ return result;
58
+ };
59
+ }());
60
+ }
61
+
62
+ // Used to disable some features on IE8
63
+ var limited_mode = false;
64
+ var tick_duration = 200; // in ms
65
+
66
+ var debug = (location.hash === "#debug");
67
+ function debug_log(msg) {
68
+ if (debug) {
69
+ console.log(msg);
70
+ }
71
+ }
72
+
73
+ var allUnits = ["Days", "Hours", "Minutes", "Seconds"];
74
+ var nextUnits = {
75
+ Seconds: "Minutes",
76
+ Minutes: "Hours",
77
+ Hours: "Days",
78
+ Days: "Years"
79
+ };
80
+ var secondsIn = {
81
+ Seconds: 1,
82
+ Minutes: 60,
83
+ Hours: 3600,
84
+ Days: 86400,
85
+ Months: 2678400,
86
+ Years: 31536000
87
+ };
88
+
89
+ /**
90
+ * Converts hex color code into object containing integer values for the r,g,b use
91
+ * This function (hexToRgb) originates from:
92
+ * http://stackoverflow.com/questions/5623838/rgb-to-hex-and-hex-to-rgb
93
+ * @param {string} hex color code
94
+ */
95
+ function hexToRgb(hex) {
96
+
97
+ // Verify already RGB (e.g. "rgb(0,0,0)") or RGBA (e.g. "rgba(0,0,0,0.5)")
98
+ var rgba = /^rgba?\(([\d]+),([\d]+),([\d]+)(,([\d\.]+))?\)$/;
99
+ if(rgba.test(hex)) {
100
+ var result = rgba.exec(hex);
101
+ return {
102
+ r: parseInt(result[1]),
103
+ g: parseInt(result[2]),
104
+ b: parseInt(result[3]),
105
+ a: parseInt(result[5] ? result[5] : 1)
106
+ };
107
+ }
108
+
109
+ // Expand shorthand form (e.g. "03F") to full form (e.g. "0033FF")
110
+ var shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;
111
+ hex = hex.replace(shorthandRegex, function(m, r, g, b) {
112
+ return r + r + g + g + b + b;
113
+ });
114
+
115
+ var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
116
+ return result ? {
117
+ r: parseInt(result[1], 16),
118
+ g: parseInt(result[2], 16),
119
+ b: parseInt(result[3], 16)
120
+ } : null;
121
+ }
122
+
123
+ function isCanvasSupported() {
124
+ var elem = document.createElement('canvas');
125
+ return !!(elem.getContext && elem.getContext('2d'));
126
+ }
127
+
128
+ /**
129
+ * Function s4() and guid() originate from:
130
+ * http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript
131
+ */
132
+ function s4() {
133
+ return Math.floor((1 + Math.random()) * 0x10000)
134
+ .toString(16)
135
+ .substring(1);
136
+ }
137
+
138
+ /**
139
+ * Creates a unique id
140
+ * @returns {String}
141
+ */
142
+ function guid() {
143
+ return s4() + s4() + '-' + s4() + '-' + s4() + '-' +
144
+ s4() + '-' + s4() + s4() + s4();
145
+ }
146
+
147
+ /**
148
+ * Array.prototype.indexOf fallback for IE8
149
+ * @param {Mixed} mixed
150
+ * @returns {Number}
151
+ */
152
+ if (!Array.prototype.indexOf) {
153
+ Array.prototype.indexOf = function(elt /*, from*/)
154
+ {
155
+ var len = this.length >>> 0;
156
+
157
+ var from = Number(arguments[1]) || 0;
158
+ from = (from < 0)
159
+ ? Math.ceil(from)
160
+ : Math.floor(from);
161
+ if (from < 0)
162
+ from += len;
163
+
164
+ for (; from < len; from++)
165
+ {
166
+ if (from in this &&
167
+ this[from] === elt)
168
+ return from;
169
+ }
170
+ return -1;
171
+ };
172
+ }
173
+
174
+ function parse_date(str) {
175
+ var match = str.match(/^[0-9]{4}-[0-9]{2}-[0-9]{2}\s[0-9]{1,2}:[0-9]{2}:[0-9]{2}$/);
176
+ if (match !== null && match.length > 0) {
177
+ var parts = str.split(" ");
178
+ var date = parts[0].split("-");
179
+ var time = parts[1].split(":");
180
+ return new Date(date[0], date[1] - 1, date[2], time[0], time[1], time[2]);
181
+ }
182
+ // Fallback for different date formats
183
+ var d = Date.parse(str);
184
+ if (!isNaN(d))
185
+ return d;
186
+ d = Date.parse(str.replace(/-/g, '/').replace('T', ' '));
187
+ if (!isNaN(d))
188
+ return d;
189
+ // Cant find anything
190
+ return new Date();
191
+ }
192
+
193
+ function parse_times(diff, old_diff, total_duration, units, floor) {
194
+ var raw_time = {};
195
+ var raw_old_time = {};
196
+ var time = {};
197
+ var pct = {};
198
+ var old_pct = {};
199
+ var old_time = {};
200
+
201
+ var greater_unit = null;
202
+ for(var i = 0; i < units.length; i++) {
203
+ var unit = units[i];
204
+ var maxUnits;
205
+
206
+ if (greater_unit === null) {
207
+ maxUnits = total_duration / secondsIn[unit];
208
+ }
209
+ else {
210
+ maxUnits = secondsIn[greater_unit] / secondsIn[unit];
211
+ }
212
+
213
+ var curUnits = (diff / secondsIn[unit]);
214
+ var oldUnits = (old_diff / secondsIn[unit]);
215
+
216
+ if(floor) {
217
+ if(curUnits > 0) curUnits = Math.floor(curUnits);
218
+ else curUnits = Math.ceil(curUnits);
219
+ if(oldUnits > 0) oldUnits = Math.floor(oldUnits);
220
+ else oldUnits = Math.ceil(oldUnits);
221
+ }
222
+
223
+ if (unit !== "Days") {
224
+ curUnits = curUnits % maxUnits;
225
+ oldUnits = oldUnits % maxUnits;
226
+ }
227
+
228
+ raw_time[unit] = curUnits;
229
+ time[unit] = Math.abs(curUnits);
230
+ raw_old_time[unit] = oldUnits;
231
+ old_time[unit] = Math.abs(oldUnits);
232
+ pct[unit] = Math.abs(curUnits) / maxUnits;
233
+ old_pct[unit] = Math.abs(oldUnits) / maxUnits;
234
+
235
+ greater_unit = unit;
236
+ }
237
+
238
+ return {
239
+ raw_time: raw_time,
240
+ raw_old_time: raw_old_time,
241
+ time: time,
242
+ old_time: old_time,
243
+ pct: pct,
244
+ old_pct: old_pct
245
+ };
246
+ }
247
+
248
+ var TC_Instance_List = {};
249
+ function updateUsedWindow() {
250
+ if(typeof useWindow.TC_Instance_List !== "undefined") {
251
+ TC_Instance_List = useWindow.TC_Instance_List;
252
+ }
253
+ else {
254
+ useWindow.TC_Instance_List = TC_Instance_List;
255
+ }
256
+ initializeAnimationFrameHandler(useWindow);
257
+ };
258
+
259
+ function initializeAnimationFrameHandler(w) {
260
+ var vendors = ['webkit', 'moz'];
261
+ for (var x = 0; x < vendors.length && !w.requestAnimationFrame; ++x) {
262
+ w.requestAnimationFrame = w[vendors[x] + 'RequestAnimationFrame'];
263
+ w.cancelAnimationFrame = w[vendors[x] + 'CancelAnimationFrame'];
264
+ }
265
+
266
+ if (!w.requestAnimationFrame || !w.cancelAnimationFrame) {
267
+ w.requestAnimationFrame = function(callback, element, instance) {
268
+ if (typeof instance === "undefined")
269
+ instance = {data: {last_frame: 0}};
270
+ var currTime = new Date().getTime();
271
+ var timeToCall = Math.max(0, 16 - (currTime - instance.data.last_frame));
272
+ var id = w.setTimeout(function() {
273
+ callback(currTime + timeToCall);
274
+ }, timeToCall);
275
+ instance.data.last_frame = currTime + timeToCall;
276
+ return id;
277
+ };
278
+ w.cancelAnimationFrame = function(id) {
279
+ clearTimeout(id);
280
+ };
281
+ }
282
+ };
283
+
284
+
285
+ var TC_Instance = function(element, options) {
286
+ this.element = element;
287
+ this.container;
288
+ this.listeners = null;
289
+ this.data = {
290
+ paused: false,
291
+ last_frame: 0,
292
+ animation_frame: null,
293
+ interval_fallback: null,
294
+ timer: false,
295
+ total_duration: null,
296
+ prev_time: null,
297
+ drawn_units: [],
298
+ text_elements: {
299
+ Days: null,
300
+ Hours: null,
301
+ Minutes: null,
302
+ Seconds: null
303
+ },
304
+ attributes: {
305
+ canvas: null,
306
+ context: null,
307
+ item_size: null,
308
+ line_width: null,
309
+ radius: null,
310
+ outer_radius: null
311
+ },
312
+ state: {
313
+ fading: {
314
+ Days: false,
315
+ Hours: false,
316
+ Minutes: false,
317
+ Seconds: false
318
+ }
319
+ }
320
+ };
321
+
322
+ this.config = null;
323
+ this.setOptions(options);
324
+ this.initialize();
325
+ };
326
+
327
+ TC_Instance.prototype.clearListeners = function() {
328
+ this.listeners = { all: [], visible: [] };
329
+ };
330
+
331
+ TC_Instance.prototype.addTime = function(seconds_to_add) {
332
+ if(this.data.attributes.ref_date instanceof Date) {
333
+ var d = this.data.attributes.ref_date;
334
+ d.setSeconds(d.getSeconds() + seconds_to_add);
335
+ }
336
+ else if(!isNaN(this.data.attributes.ref_date)) {
337
+ this.data.attributes.ref_date += (seconds_to_add * 1000);
338
+ }
339
+ };
340
+
341
+ TC_Instance.prototype.initialize = function(clear_listeners) {
342
+ // Initialize drawn units
343
+ this.data.drawn_units = [];
344
+ for(var i = 0; i < Object.keys(this.config.time).length; i++) {
345
+ var unit = Object.keys(this.config.time)[i];
346
+ if (this.config.time[unit].show) {
347
+ this.data.drawn_units.push(unit);
348
+ }
349
+ }
350
+
351
+ // Avoid stacking
352
+ $(this.element).children('div.time_circles').remove();
353
+
354
+ if (typeof clear_listeners === "undefined")
355
+ clear_listeners = true;
356
+ if (clear_listeners || this.listeners === null) {
357
+ this.clearListeners();
358
+ }
359
+ this.container = $("<div>");
360
+ this.container.addClass('time_circles');
361
+ this.container.appendTo(this.element);
362
+
363
+ // Determine the needed width and height of TimeCircles
364
+ var height = this.element.offsetHeight;
365
+ var width = this.element.offsetWidth;
366
+ if (height === 0)
367
+ height = $(this.element).height();
368
+ if (width === 0)
369
+ width = $(this.element).width();
370
+
371
+ if (height === 0 && width > 0)
372
+ height = width / this.data.drawn_units.length;
373
+ else if (width === 0 && height > 0)
374
+ width = height * this.data.drawn_units.length;
375
+
376
+ // Create our canvas and set it to the appropriate size
377
+ var canvasElement = document.createElement('canvas');
378
+ canvasElement.width = width;
379
+ canvasElement.height = height;
380
+
381
+ // Add canvas elements
382
+ this.data.attributes.canvas = $(canvasElement);
383
+ this.data.attributes.canvas.appendTo(this.container);
384
+
385
+ // Check if the browser has browser support
386
+ var canvasSupported = isCanvasSupported();
387
+ // If the browser doesn't have browser support, check if explorer canvas is loaded
388
+ // (A javascript library that adds canvas support to browsers that don't have it)
389
+ if(!canvasSupported && typeof G_vmlCanvasManager !== "undefined") {
390
+ G_vmlCanvasManager.initElement(canvasElement);
391
+ limited_mode = true;
392
+ canvasSupported = true;
393
+ }
394
+ if(canvasSupported) {
395
+ this.data.attributes.context = canvasElement.getContext('2d');
396
+ }
397
+
398
+ this.data.attributes.item_size = Math.min(width / this.data.drawn_units.length, height);
399
+ this.data.attributes.line_width = this.data.attributes.item_size * this.config.fg_width;
400
+ this.data.attributes.radius = ((this.data.attributes.item_size * 0.8) - this.data.attributes.line_width) / 2;
401
+ this.data.attributes.outer_radius = this.data.attributes.radius + 0.5 * Math.max(this.data.attributes.line_width, this.data.attributes.line_width * this.config.bg_width);
402
+
403
+ // Prepare Time Elements
404
+ var i = 0;
405
+ for (var key in this.data.text_elements) {
406
+ if (!this.config.time[key].show)
407
+ continue;
408
+
409
+ var textElement = $("<div>");
410
+ textElement.addClass('textDiv_' + key);
411
+ textElement.css("top", Math.round(0.35 * this.data.attributes.item_size));
412
+ textElement.css("left", Math.round(i++ * this.data.attributes.item_size));
413
+ textElement.css("width", this.data.attributes.item_size);
414
+ textElement.appendTo(this.container);
415
+
416
+ var headerElement = $("<h4>");
417
+ headerElement.text(this.config.time[key].text); // Options
418
+ headerElement.css("font-size", Math.round(this.config.text_size * this.data.attributes.item_size));
419
+ headerElement.appendTo(textElement);
420
+
421
+ var numberElement = $("<span>");
422
+ numberElement.css("font-size", Math.round(this.config.number_size * this.data.attributes.item_size));
423
+ numberElement.appendTo(textElement);
424
+
425
+ this.data.text_elements[key] = numberElement;
426
+ }
427
+
428
+ this.start();
429
+ if (!this.config.start) {
430
+ this.data.paused = true;
431
+ }
432
+
433
+ // Set up interval fallback
434
+ var _this = this;
435
+ this.data.interval_fallback = useWindow.setInterval(function(){
436
+ _this.update.call(_this, true);
437
+ }, 100);
438
+ };
439
+
440
+ TC_Instance.prototype.update = function(nodraw) {
441
+ if(typeof nodraw === "undefined") {
442
+ nodraw = false;
443
+ }
444
+ else if(nodraw && this.data.paused) {
445
+ return;
446
+ }
447
+
448
+ if(limited_mode) {
449
+ //Per unit clearing doesn't work in IE8 using explorer canvas, so do it in one time. The downside is that radial fade cant be used
450
+ this.data.attributes.context.clearRect(0, 0, this.data.attributes.canvas[0].width, this.data.attributes.canvas[0].hright);
451
+ }
452
+ var diff, old_diff;
453
+
454
+ var prevDate = this.data.prev_time;
455
+ var curDate = new Date();
456
+ this.data.prev_time = curDate;
457
+
458
+ if (prevDate === null)
459
+ prevDate = curDate;
460
+
461
+ // If not counting past zero, and time < 0, then simply draw the zero point once, and call stop
462
+ if (!this.config.count_past_zero) {
463
+ if (curDate > this.data.attributes.ref_date) {
464
+ for(var i = 0; i < this.data.drawn_units.length; i++) {
465
+ var key = this.data.drawn_units[i];
466
+
467
+ // Set the text value
468
+ this.data.text_elements[key].text("0");
469
+ var x = (i * this.data.attributes.item_size) + (this.data.attributes.item_size / 2);
470
+ var y = this.data.attributes.item_size / 2;
471
+ var color = this.config.time[key].color;
472
+ this.drawArc(x, y, color, 0);
473
+ }
474
+ this.stop();
475
+ return;
476
+ }
477
+ }
478
+
479
+ // Compare current time with reference
480
+ diff = (this.data.attributes.ref_date - curDate) / 1000;
481
+ old_diff = (this.data.attributes.ref_date - prevDate) / 1000;
482
+
483
+ var floor = this.config.animation !== "smooth";
484
+
485
+ var visible_times = parse_times(diff, old_diff, this.data.total_duration, this.data.drawn_units, floor);
486
+ var all_times = parse_times(diff, old_diff, secondsIn["Years"], allUnits, floor);
487
+
488
+ var i = 0;
489
+ var j = 0;
490
+ var lastKey = null;
491
+
492
+ var cur_shown = this.data.drawn_units.slice();
493
+ for (var i in allUnits) {
494
+ var key = allUnits[i];
495
+
496
+ // Notify (all) listeners
497
+ if (Math.floor(all_times.raw_time[key]) !== Math.floor(all_times.raw_old_time[key])) {
498
+ this.notifyListeners(key, Math.floor(all_times.time[key]), Math.floor(diff), "all");
499
+ }
500
+
501
+ if (cur_shown.indexOf(key) < 0)
502
+ continue;
503
+
504
+ // Notify (visible) listeners
505
+ if (Math.floor(visible_times.raw_time[key]) !== Math.floor(visible_times.raw_old_time[key])) {
506
+ this.notifyListeners(key, Math.floor(visible_times.time[key]), Math.floor(diff), "visible");
507
+ }
508
+
509
+ if(!nodraw) {
510
+ // Set the text value
511
+ this.data.text_elements[key].text(Math.floor(Math.abs(visible_times.time[key])));
512
+
513
+ var x = (j * this.data.attributes.item_size) + (this.data.attributes.item_size / 2);
514
+ var y = this.data.attributes.item_size / 2;
515
+ var color = this.config.time[key].color;
516
+
517
+ if (this.config.animation === "smooth") {
518
+ if (lastKey !== null && !limited_mode) {
519
+ if (Math.floor(visible_times.time[lastKey]) > Math.floor(visible_times.old_time[lastKey])) {
520
+ this.radialFade(x, y, color, 1, key);
521
+ this.data.state.fading[key] = true;
522
+ }
523
+ else if (Math.floor(visible_times.time[lastKey]) < Math.floor(visible_times.old_time[lastKey])) {
524
+ this.radialFade(x, y, color, 0, key);
525
+ this.data.state.fading[key] = true;
526
+ }
527
+ }
528
+ if (!this.data.state.fading[key]) {
529
+ this.drawArc(x, y, color, visible_times.pct[key]);
530
+ }
531
+ }
532
+ else {
533
+ this.animateArc(x, y, color, visible_times.pct[key], visible_times.old_pct[key], (new Date()).getTime() + tick_duration);
534
+ }
535
+ }
536
+ lastKey = key;
537
+ j++;
538
+ }
539
+
540
+ // Dont request another update if we should be paused
541
+ if(this.data.paused || nodraw) {
542
+ return;
543
+ }
544
+
545
+ // We need this for our next frame either way
546
+ var _this = this;
547
+ var update = function() {
548
+ _this.update.call(_this);
549
+ };
550
+
551
+ // Either call next update immediately, or in a second
552
+ if (this.config.animation === "smooth") {
553
+ // Smooth animation, Queue up the next frame
554
+ this.data.animation_frame = useWindow.requestAnimationFrame(update, _this.element, _this);
555
+ }
556
+ else {
557
+ // Tick animation, Don't queue until very slightly after the next second happens
558
+ var delay = (diff % 1) * 1000;
559
+ if (delay < 0)
560
+ delay = 1000 + delay;
561
+ delay += 50;
562
+
563
+ _this.data.animation_frame = useWindow.setTimeout(function() {
564
+ _this.data.animation_frame = useWindow.requestAnimationFrame(update, _this.element, _this);
565
+ }, delay);
566
+ }
567
+ };
568
+
569
+ TC_Instance.prototype.animateArc = function(x, y, color, target_pct, cur_pct, animation_end) {
570
+ if (this.data.attributes.context === null)
571
+ return;
572
+
573
+ var diff = cur_pct - target_pct;
574
+ if (Math.abs(diff) > 0.5) {
575
+ if (target_pct === 0) {
576
+ this.radialFade(x, y, color, 1);
577
+ }
578
+ else {
579
+ this.radialFade(x, y, color, 0);
580
+ }
581
+ }
582
+ else {
583
+ var progress = (tick_duration - (animation_end - (new Date()).getTime())) / tick_duration;
584
+ if (progress > 1)
585
+ progress = 1;
586
+
587
+ var pct = (cur_pct * (1 - progress)) + (target_pct * progress);
588
+ this.drawArc(x, y, color, pct);
589
+
590
+ //var show_pct =
591
+ if (progress >= 1)
592
+ return;
593
+ var _this = this;
594
+ useWindow.requestAnimationFrame(function() {
595
+ _this.animateArc(x, y, color, target_pct, cur_pct, animation_end);
596
+ }, this.element);
597
+ }
598
+ };
599
+
600
+ TC_Instance.prototype.drawArc = function(x, y, color, pct) {
601
+ if (this.data.attributes.context === null)
602
+ return;
603
+
604
+ var clear_radius = Math.max(this.data.attributes.outer_radius, this.data.attributes.item_size / 2);
605
+ if(!limited_mode) {
606
+ this.data.attributes.context.clearRect(
607
+ x - clear_radius,
608
+ y - clear_radius,
609
+ clear_radius * 2,
610
+ clear_radius * 2
611
+ );
612
+ }
613
+
614
+ if (this.config.use_background) {
615
+ this.data.attributes.context.beginPath();
616
+ this.data.attributes.context.arc(x, y, this.data.attributes.radius, 0, 2 * Math.PI, false);
617
+ this.data.attributes.context.lineWidth = this.data.attributes.line_width * this.config.bg_width;
618
+
619
+ // line color
620
+ this.data.attributes.context.strokeStyle = this.config.circle_bg_color;
621
+ this.data.attributes.context.stroke();
622
+ }
623
+
624
+ // Direction
625
+ var startAngle, endAngle, counterClockwise;
626
+ var defaultOffset = (-0.5 * Math.PI);
627
+ var fullCircle = 2 * Math.PI;
628
+ startAngle = defaultOffset + (this.config.start_angle / 360 * fullCircle);
629
+ var offset = (2 * pct * Math.PI);
630
+
631
+ if (this.config.direction === "Both") {
632
+ counterClockwise = false;
633
+ startAngle -= (offset / 2);
634
+ endAngle = startAngle + offset;
635
+ }
636
+ else {
637
+ if (this.config.direction === "Clockwise") {
638
+ counterClockwise = false;
639
+ endAngle = startAngle + offset;
640
+ }
641
+ else {
642
+ counterClockwise = true;
643
+ endAngle = startAngle - offset;
644
+ }
645
+ }
646
+
647
+ this.data.attributes.context.beginPath();
648
+ this.data.attributes.context.arc(x, y, this.data.attributes.radius, startAngle, endAngle, counterClockwise);
649
+ this.data.attributes.context.lineWidth = this.data.attributes.line_width;
650
+
651
+ // line color
652
+ this.data.attributes.context.strokeStyle = color;
653
+ this.data.attributes.context.stroke();
654
+ };
655
+
656
+ TC_Instance.prototype.radialFade = function(x, y, color, from, key) {
657
+ // TODO: Make fade_time option
658
+ var rgb = hexToRgb(color);
659
+ var _this = this; // We have a few inner scopes here that will need access to our instance
660
+
661
+ var step = 0.2 * ((from === 1) ? -1 : 1);
662
+ var i;
663
+ for (i = 0; from <= 1 && from >= 0; i++) {
664
+ // Create inner scope so our variables are not changed by the time the Timeout triggers
665
+ (function() {
666
+ var delay = 50 * i;
667
+ var rgba = "rgba(" + rgb.r + ", " + rgb.g + ", " + rgb.b + ", " + (Math.round(from * 10) / 10) + ")";
668
+ useWindow.setTimeout(function() {
669
+ _this.drawArc(x, y, rgba, 1);
670
+ }, delay);
671
+ }());
672
+ from += step;
673
+ }
674
+ if (typeof key !== undefined) {
675
+ useWindow.setTimeout(function() {
676
+ _this.data.state.fading[key] = false;
677
+ }, 50 * i);
678
+ }
679
+ };
680
+
681
+ TC_Instance.prototype.timeLeft = function() {
682
+ if (this.data.paused && typeof this.data.timer === "number") {
683
+ return this.data.timer;
684
+ }
685
+ var now = new Date();
686
+ return ((this.data.attributes.ref_date - now) / 1000);
687
+ };
688
+
689
+ TC_Instance.prototype.start = function() {
690
+ useWindow.cancelAnimationFrame(this.data.animation_frame);
691
+ useWindow.clearTimeout(this.data.animation_frame)
692
+
693
+ // Check if a date was passed in html attribute or jquery data
694
+ var attr_data_date = $(this.element).data('date');
695
+ if (typeof attr_data_date === "undefined") {
696
+ attr_data_date = $(this.element).attr('data-date');
697
+ }
698
+ if (typeof attr_data_date === "string") {
699
+ this.data.attributes.ref_date = parse_date(attr_data_date);
700
+ }
701
+ // Check if this is an unpause of a timer
702
+ else if (typeof this.data.timer === "number") {
703
+ if (this.data.paused) {
704
+ this.data.attributes.ref_date = (new Date()).getTime() + (this.data.timer * 1000);
705
+ }
706
+ }
707
+ else {
708
+ // Try to get data-timer
709
+ var attr_data_timer = $(this.element).data('timer');
710
+ if (typeof attr_data_timer === "undefined") {
711
+ attr_data_timer = $(this.element).attr('data-timer');
712
+ }
713
+ if (typeof attr_data_timer === "string") {
714
+ attr_data_timer = parseFloat(attr_data_timer);
715
+ }
716
+ if (typeof attr_data_timer === "number") {
717
+ this.data.timer = attr_data_timer;
718
+ this.data.attributes.ref_date = (new Date()).getTime() + (attr_data_timer * 1000);
719
+ }
720
+ else {
721
+ // data-timer and data-date were both not set
722
+ // use config date
723
+ this.data.attributes.ref_date = this.config.ref_date;
724
+ }
725
+ }
726
+
727
+ // Start running
728
+ this.data.paused = false;
729
+ this.update.call(this);
730
+ };
731
+
732
+ TC_Instance.prototype.restart = function() {
733
+ this.data.timer = false;
734
+ this.start();
735
+ };
736
+
737
+ TC_Instance.prototype.stop = function() {
738
+ if (typeof this.data.timer === "number") {
739
+ this.data.timer = this.timeLeft(this);
740
+ }
741
+ // Stop running
742
+ this.data.paused = true;
743
+ useWindow.cancelAnimationFrame(this.data.animation_frame);
744
+ };
745
+
746
+ TC_Instance.prototype.destroy = function() {
747
+ this.clearListeners();
748
+ this.stop();
749
+ useWindow.clearInterval(this.data.interval_fallback);
750
+ this.data.interval_fallback = null;
751
+
752
+ this.container.remove();
753
+ $(this.element).removeAttr('data-tc-id');
754
+ $(this.element).removeData('tc-id');
755
+ };
756
+
757
+ TC_Instance.prototype.setOptions = function(options) {
758
+ if (this.config === null) {
759
+ this.default_options.ref_date = new Date();
760
+ this.config = $.extend(true, {}, this.default_options);
761
+ }
762
+ $.extend(true, this.config, options);
763
+
764
+ // Use window.top if use_top_frame is true
765
+ if(this.config.use_top_frame) {
766
+ useWindow = window.top;
767
+ }
768
+ else {
769
+ useWindow = window;
770
+ }
771
+ updateUsedWindow();
772
+
773
+ this.data.total_duration = this.config.total_duration;
774
+ if (typeof this.data.total_duration === "string") {
775
+ if (typeof secondsIn[this.data.total_duration] !== "undefined") {
776
+ // If set to Years, Months, Days, Hours or Minutes, fetch the secondsIn value for that
777
+ this.data.total_duration = secondsIn[this.data.total_duration];
778
+ }
779
+ else if (this.data.total_duration === "Auto") {
780
+ // If set to auto, total_duration is the size of 1 unit, of the unit type bigger than the largest shown
781
+ for(var i = 0; i < Object.keys(this.config.time).length; i++) {
782
+ var unit = Object.keys(this.config.time)[i];
783
+ if (this.config.time[unit].show) {
784
+ this.data.total_duration = secondsIn[nextUnits[unit]];
785
+ break;
786
+ }
787
+ }
788
+ }
789
+ else {
790
+ // If it's a string, but neither of the above, user screwed up.
791
+ this.data.total_duration = secondsIn["Years"];
792
+ console.error("Valid values for TimeCircles config.total_duration are either numeric, or (string) Years, Months, Days, Hours, Minutes, Auto");
793
+ }
794
+ }
795
+ };
796
+
797
+ TC_Instance.prototype.addListener = function(f, context, type) {
798
+ if (typeof f !== "function")
799
+ return;
800
+ if (typeof type === "undefined")
801
+ type = "visible";
802
+ this.listeners[type].push({func: f, scope: context});
803
+ };
804
+
805
+ TC_Instance.prototype.notifyListeners = function(unit, value, total, type) {
806
+ for (var i = 0; i < this.listeners[type].length; i++) {
807
+ var listener = this.listeners[type][i];
808
+ listener.func.apply(listener.scope, [unit, value, total]);
809
+ }
810
+ };
811
+
812
+ TC_Instance.prototype.default_options = {
813
+ ref_date: new Date(),
814
+ start: true,
815
+ animation: "smooth",
816
+ count_past_zero: true,
817
+ circle_bg_color: "#60686F",
818
+ use_background: true,
819
+ fg_width: 0.1,
820
+ bg_width: 1.2,
821
+ text_size: 0.07,
822
+ number_size: 0.28,
823
+ total_duration: "Auto",
824
+ direction: "Clockwise",
825
+ use_top_frame: false,
826
+ start_angle: 0,
827
+ time: {
828
+ Days: {
829
+ show: true,
830
+ text: "Days",
831
+ color: "#FC6"
832
+ },
833
+ Hours: {
834
+ show: true,
835
+ text: "Hours",
836
+ color: "#9CF"
837
+ },
838
+ Minutes: {
839
+ show: true,
840
+ text: "Minutes",
841
+ color: "#BFB"
842
+ },
843
+ Seconds: {
844
+ show: true,
845
+ text: "Seconds",
846
+ color: "#F99"
847
+ }
848
+ }
849
+ };
850
+
851
+ // Time circle class
852
+ var TC_Class = function(elements, options) {
853
+ this.elements = elements;
854
+ this.options = options;
855
+ this.foreach();
856
+ };
857
+
858
+ TC_Class.prototype.getInstance = function(element) {
859
+ var instance;
860
+
861
+ var cur_id = $(element).data("tc-id");
862
+ if (typeof cur_id === "undefined") {
863
+ cur_id = guid();
864
+ $(element).attr("data-tc-id", cur_id);
865
+ }
866
+ if (typeof TC_Instance_List[cur_id] === "undefined") {
867
+ var options = this.options;
868
+ var element_options = $(element).data('options');
869
+ if (typeof element_options === "string") {
870
+ element_options = JSON.parse(element_options);
871
+ }
872
+ if (typeof element_options === "object") {
873
+ options = $.extend(true, {}, this.options, element_options);
874
+ }
875
+ instance = new TC_Instance(element, options);
876
+ TC_Instance_List[cur_id] = instance;
877
+ }
878
+ else {
879
+ instance = TC_Instance_List[cur_id];
880
+ if (typeof this.options !== "undefined") {
881
+ instance.setOptions(this.options);
882
+ }
883
+ }
884
+ return instance;
885
+ };
886
+
887
+ TC_Class.prototype.addTime = function(seconds_to_add) {
888
+ this.foreach(function(instance) {
889
+ instance.addTime(seconds_to_add);
890
+ });
891
+ };
892
+
893
+ TC_Class.prototype.foreach = function(callback) {
894
+ var _this = this;
895
+ this.elements.each(function() {
896
+ var instance = _this.getInstance(this);
897
+ if (typeof callback === "function") {
898
+ callback(instance);
899
+ }
900
+ });
901
+ return this;
902
+ };
903
+
904
+ TC_Class.prototype.start = function() {
905
+ this.foreach(function(instance) {
906
+ instance.start();
907
+ });
908
+ return this;
909
+ };
910
+
911
+ TC_Class.prototype.stop = function() {
912
+ this.foreach(function(instance) {
913
+ instance.stop();
914
+ });
915
+ return this;
916
+ };
917
+
918
+ TC_Class.prototype.restart = function() {
919
+ this.foreach(function(instance) {
920
+ instance.restart();
921
+ });
922
+ return this;
923
+ };
924
+
925
+ TC_Class.prototype.rebuild = function() {
926
+ this.foreach(function(instance) {
927
+ instance.initialize(false);
928
+ });
929
+ return this;
930
+ };
931
+
932
+ TC_Class.prototype.getTime = function() {
933
+ return this.getInstance(this.elements[0]).timeLeft();
934
+ };
935
+
936
+ TC_Class.prototype.addListener = function(f, type) {
937
+ if (typeof type === "undefined")
938
+ type = "visible";
939
+ var _this = this;
940
+ this.foreach(function(instance) {
941
+ instance.addListener(f, _this.elements, type);
942
+ });
943
+ return this;
944
+ };
945
+
946
+ TC_Class.prototype.destroy = function() {
947
+ this.foreach(function(instance) {
948
+ instance.destroy();
949
+ });
950
+ return this;
951
+ };
952
+
953
+ TC_Class.prototype.end = function() {
954
+ return this.elements;
955
+ };
956
+
957
+ $.fn.TimeCircles = function(options) {
958
+ return new TC_Class(this, options);
959
+ };
960
+ }(jQuery));
assets/js/jquery.datetimepicker.full.min.js ADDED
@@ -0,0 +1,2 @@
 
 
1
+ var DateFormatter;!function(){"use strict";var e,t,a,r,n,o;n=864e5,o=3600,e=function(e,t){return"string"==typeof e&&"string"==typeof t&&e.toLowerCase()===t.toLowerCase()},t=function(e,a,r){var n=r||"0",o=e.toString();return o.length<a?t(n+o,a):o},a=function(e){var t,r;for(e=e||{},t=1;t<arguments.length;t++)if(r=arguments[t])for(var n in r)r.hasOwnProperty(n)&&("object"==typeof r[n]?a(e[n],r[n]):e[n]=r[n]);return e},r={dateSettings:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],meridiem:["AM","PM"],ordinal:function(e){var t=e%10,a={1:"st",2:"nd",3:"rd"};return 1!==Math.floor(e%100/10)&&a[t]?a[t]:"th"}},separators:/[ \-+\/\.T:@]/g,validParts:/[dDjlNSwzWFmMntLoYyaABgGhHisueTIOPZcrU]/g,intParts:/[djwNzmnyYhHgGis]/g,tzParts:/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,tzClip:/[^-+\dA-Z]/g},DateFormatter=function(e){var t=this,n=a(r,e);t.dateSettings=n.dateSettings,t.separators=n.separators,t.validParts=n.validParts,t.intParts=n.intParts,t.tzParts=n.tzParts,t.tzClip=n.tzClip},DateFormatter.prototype={constructor:DateFormatter,parseDate:function(t,a){var r,n,o,i,s,d,u,l,f,c,m=this,h=!1,g=!1,p=m.dateSettings,y={date:null,year:null,month:null,day:null,hour:0,min:0,sec:0};if(!t)return void 0;if(t instanceof Date)return t;if("number"==typeof t)return new Date(t);if("U"===a)return o=parseInt(t),o?new Date(1e3*o):t;if("string"!=typeof t)return"";if(r=a.match(m.validParts),!r||0===r.length)throw new Error("Invalid date format definition.");for(n=t.replace(m.separators,"\x00").split("\x00"),o=0;o<n.length;o++)switch(i=n[o],s=parseInt(i),r[o]){case"y":case"Y":f=i.length,2===f?y.year=parseInt((70>s?"20":"19")+i):4===f&&(y.year=s),h=!0;break;case"m":case"n":case"M":case"F":isNaN(i)?(d=p.monthsShort.indexOf(i),d>-1&&(y.month=d+1),d=p.months.indexOf(i),d>-1&&(y.month=d+1)):s>=1&&12>=s&&(y.month=s),h=!0;break;case"d":case"j":s>=1&&31>=s&&(y.day=s),h=!0;break;case"g":case"h":u=r.indexOf("a")>-1?r.indexOf("a"):r.indexOf("A")>-1?r.indexOf("A"):-1,c=n[u],u>-1?(l=e(c,p.meridiem[0])?0:e(c,p.meridiem[1])?12:-1,s>=1&&12>=s&&l>-1?y.hour=s+l-1:s>=0&&23>=s&&(y.hour=s)):s>=0&&23>=s&&(y.hour=s),g=!0;break;case"G":case"H":s>=0&&23>=s&&(y.hour=s),g=!0;break;case"i":s>=0&&59>=s&&(y.min=s),g=!0;break;case"s":s>=0&&59>=s&&(y.sec=s),g=!0}if(h===!0&&y.year&&y.month&&y.day)y.date=new Date(y.year,y.month-1,y.day,y.hour,y.min,y.sec,0);else{if(g!==!0)return!1;y.date=new Date(0,0,0,y.hour,y.min,y.sec,0)}return y.date},guessDate:function(e,t){if("string"!=typeof e)return e;var a,r,n,o,i=this,s=e.replace(i.separators,"\x00").split("\x00"),d=/^[djmn]/g,u=t.match(i.validParts),l=new Date,f=0;if(!d.test(u[0]))return e;for(r=0;r<s.length;r++){switch(f=2,n=s[r],o=parseInt(n.substr(0,2)),r){case 0:"m"===u[0]||"n"===u[0]?l.setMonth(o-1):l.setDate(o);break;case 1:"m"===u[0]||"n"===u[0]?l.setDate(o):l.setMonth(o-1);break;case 2:a=l.getFullYear(),n.length<4?(l.setFullYear(parseInt(a.toString().substr(0,4-n.length)+n)),f=n.length):(l.setFullYear=parseInt(n.substr(0,4)),f=4);break;case 3:l.setHours(o);break;case 4:l.setMinutes(o);break;case 5:l.setSeconds(o)}n.substr(f).length>0&&s.splice(r+1,0,n.substr(f))}return l},parseFormat:function(e,a){var r,i=this,s=i.dateSettings,d=/\\?(.?)/gi,u=function(e,t){return r[e]?r[e]():t};return r={d:function(){return t(r.j(),2)},D:function(){return s.daysShort[r.w()]},j:function(){return a.getDate()},l:function(){return s.days[r.w()]},N:function(){return r.w()||7},w:function(){return a.getDay()},z:function(){var e=new Date(r.Y(),r.n()-1,r.j()),t=new Date(r.Y(),0,1);return Math.round((e-t)/n)},W:function(){var e=new Date(r.Y(),r.n()-1,r.j()-r.N()+3),a=new Date(e.getFullYear(),0,4);return t(1+Math.round((e-a)/n/7),2)},F:function(){return s.months[a.getMonth()]},m:function(){return t(r.n(),2)},M:function(){return s.monthsShort[a.getMonth()]},n:function(){return a.getMonth()+1},t:function(){return new Date(r.Y(),r.n(),0).getDate()},L:function(){var e=r.Y();return e%4===0&&e%100!==0||e%400===0?1:0},o:function(){var e=r.n(),t=r.W(),a=r.Y();return a+(12===e&&9>t?1:1===e&&t>9?-1:0)},Y:function(){return a.getFullYear()},y:function(){return r.Y().toString().slice(-2)},a:function(){return r.A().toLowerCase()},A:function(){var e=r.G()<12?0:1;return s.meridiem[e]},B:function(){var e=a.getUTCHours()*o,r=60*a.getUTCMinutes(),n=a.getUTCSeconds();return t(Math.floor((e+r+n+o)/86.4)%1e3,3)},g:function(){return r.G()%12||12},G:function(){return a.getHours()},h:function(){return t(r.g(),2)},H:function(){return t(r.G(),2)},i:function(){return t(a.getMinutes(),2)},s:function(){return t(a.getSeconds(),2)},u:function(){return t(1e3*a.getMilliseconds(),6)},e:function(){var e=/\((.*)\)/.exec(String(a))[1];return e||"Coordinated Universal Time"},T:function(){var e=(String(a).match(i.tzParts)||[""]).pop().replace(i.tzClip,"");return e||"UTC"},I:function(){var e=new Date(r.Y(),0),t=Date.UTC(r.Y(),0),a=new Date(r.Y(),6),n=Date.UTC(r.Y(),6);return e-t!==a-n?1:0},O:function(){var e=a.getTimezoneOffset(),r=Math.abs(e);return(e>0?"-":"+")+t(100*Math.floor(r/60)+r%60,4)},P:function(){var e=r.O();return e.substr(0,3)+":"+e.substr(3,2)},Z:function(){return 60*-a.getTimezoneOffset()},c:function(){return"Y-m-d\\TH:i:sP".replace(d,u)},r:function(){return"D, d M Y H:i:s O".replace(d,u)},U:function(){return a.getTime()/1e3||0}},u(e,e)},formatDate:function(e,t){var a,r,n,o,i,s=this,d="";if("string"==typeof e&&(e=s.parseDate(e,t),e===!1))return!1;if(e instanceof Date){for(n=t.length,a=0;n>a;a++)i=t.charAt(a),"S"!==i&&(o=s.parseFormat(i,e),a!==n-1&&s.intParts.test(i)&&"S"===t.charAt(a+1)&&(r=parseInt(o),o+=s.dateSettings.ordinal(r)),d+=o);return d}return""}}}(),function(e){"function"==typeof define&&define.amd?define(["jquery","jquery-mousewheel"],e):"object"==typeof exports?module.exports=e:e(jQuery)}(function(e){"use strict";function t(e,t,a){this.date=e,this.desc=t,this.style=a}var a={i18n:{ar:{months:["كانون الثاني","شباط","آذار","نيسان","مايو","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول"],dayOfWeekShort:["ن","ث","ع","خ","ج","س","ح"],dayOfWeek:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت","الأحد"]},ro:{months:["Ianuarie","Februarie","Martie","Aprilie","Mai","Iunie","Iulie","August","Septembrie","Octombrie","Noiembrie","Decembrie"],dayOfWeekShort:["Du","Lu","Ma","Mi","Jo","Vi","Sâ"],dayOfWeek:["Duminică","Luni","Marţi","Miercuri","Joi","Vineri","Sâmbătă"]},id:{months:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"],dayOfWeekShort:["Min","Sen","Sel","Rab","Kam","Jum","Sab"],dayOfWeek:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"]},is:{months:["Janúar","Febrúar","Mars","Apríl","Maí","Júní","Júlí","Ágúst","September","Október","Nóvember","Desember"],dayOfWeekShort:["Sun","Mán","Þrið","Mið","Fim","Fös","Lau"],dayOfWeek:["Sunnudagur","Mánudagur","Þriðjudagur","Miðvikudagur","Fimmtudagur","Föstudagur","Laugardagur"]},bg:{months:["Януари","Февруари","Март","Април","Май","Юни","Юли","Август","Септември","Октомври","Ноември","Декември"],dayOfWeekShort:["Нд","Пн","Вт","Ср","Чт","Пт","Сб"],dayOfWeek:["Неделя","Понеделник","Вторник","Сряда","Четвъртък","Петък","Събота"]},fa:{months:["فروردین","اردیبهشت","خرداد","تیر","مرداد","شهریور","مهر","آبان","آذر","دی","بهمن","اسفند"],dayOfWeekShort:["یکشنبه","دوشنبه","سه شنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"],dayOfWeek:["یک‌شنبه","دوشنبه","سه‌شنبه","چهارشنبه","پنج‌شنبه","جمعه","شنبه","یک‌شنبه"]},ru:{months:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],dayOfWeekShort:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],dayOfWeek:["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"]},uk:{months:["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"],dayOfWeekShort:["Ндл","Пнд","Втр","Срд","Чтв","Птн","Сбт"],dayOfWeek:["Неділя","Понеділок","Вівторок","Середа","Четвер","П'ятниця","Субота"]},en:{months:["January","February","March","April","May","June","July","August","September","October","November","December"],dayOfWeekShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayOfWeek:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},el:{months:["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος"],dayOfWeekShort:["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"],dayOfWeek:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"]},de:{months:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],dayOfWeekShort:["So","Mo","Di","Mi","Do","Fr","Sa"],dayOfWeek:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"]},nl:{months:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],dayOfWeekShort:["zo","ma","di","wo","do","vr","za"],dayOfWeek:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"]},tr:{months:["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],dayOfWeekShort:["Paz","Pts","Sal","Çar","Per","Cum","Cts"],dayOfWeek:["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"]},fr:{months:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"],dayOfWeekShort:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],dayOfWeek:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},es:{months:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],dayOfWeekShort:["Dom","Lun","Mar","Mié","Jue","Vie","Sáb"],dayOfWeek:["Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado"]},th:{months:["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"],dayOfWeekShort:["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."],dayOfWeek:["อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัส","ศุกร์","เสาร์","อาทิตย์"]},pl:{months:["styczeń","luty","marzec","kwiecień","maj","czerwiec","lipiec","sierpień","wrzesień","październik","listopad","grudzień"],dayOfWeekShort:["nd","pn","wt","śr","cz","pt","sb"],dayOfWeek:["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"]},pt:{months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],dayOfWeekShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sab"],dayOfWeek:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"]},ch:{months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayOfWeekShort:["日","一","二","三","四","五","六"]},se:{months:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],dayOfWeekShort:["Sön","Mån","Tis","Ons","Tor","Fre","Lör"]},kr:{months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],dayOfWeekShort:["일","월","화","수","목","금","토"],dayOfWeek:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"]},it:{months:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],dayOfWeekShort:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],dayOfWeek:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"]},da:{months:["January","Februar","Marts","April","Maj","Juni","July","August","September","Oktober","November","December"],dayOfWeekShort:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],dayOfWeek:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"]},no:{months:["Januar","Februar","Mars","April","Mai","Juni","Juli","August","September","Oktober","November","Desember"],dayOfWeekShort:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],dayOfWeek:["Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag"]},ja:{months:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dayOfWeekShort:["日","月","火","水","木","金","土"],dayOfWeek:["日曜","月曜","火曜","水曜","木曜","金曜","土曜"]},vi:{months:["Tháng 1","Tháng 2","Tháng 3","Tháng 4","Tháng 5","Tháng 6","Tháng 7","Tháng 8","Tháng 9","Tháng 10","Tháng 11","Tháng 12"],dayOfWeekShort:["CN","T2","T3","T4","T5","T6","T7"],dayOfWeek:["Chủ nhật","Thứ hai","Thứ ba","Thứ tư","Thứ năm","Thứ sáu","Thứ bảy"]},sl:{months:["Januar","Februar","Marec","April","Maj","Junij","Julij","Avgust","September","Oktober","November","December"],dayOfWeekShort:["Ned","Pon","Tor","Sre","Čet","Pet","Sob"],dayOfWeek:["Nedelja","Ponedeljek","Torek","Sreda","Četrtek","Petek","Sobota"]},cs:{months:["Leden","Únor","Březen","Duben","Květen","Červen","Červenec","Srpen","Září","Říjen","Listopad","Prosinec"],dayOfWeekShort:["Ne","Po","Út","St","Čt","Pá","So"]},hu:{months:["Január","Február","Március","Április","Május","Június","Július","Augusztus","Szeptember","Október","November","December"],dayOfWeekShort:["Va","Hé","Ke","Sze","Cs","Pé","Szo"],dayOfWeek:["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"]},az:{months:["Yanvar","Fevral","Mart","Aprel","May","Iyun","Iyul","Avqust","Sentyabr","Oktyabr","Noyabr","Dekabr"],dayOfWeekShort:["B","Be","Ça","Ç","Ca","C","Ş"],dayOfWeek:["Bazar","Bazar ertəsi","Çərşənbə axşamı","Çərşənbə","Cümə axşamı","Cümə","Şənbə"]},bs:{months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],dayOfWeekShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],dayOfWeek:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"]},ca:{months:["Gener","Febrer","Març","Abril","Maig","Juny","Juliol","Agost","Setembre","Octubre","Novembre","Desembre"],dayOfWeekShort:["Dg","Dl","Dt","Dc","Dj","Dv","Ds"],dayOfWeek:["Diumenge","Dilluns","Dimarts","Dimecres","Dijous","Divendres","Dissabte"]},"en-GB":{months:["January","February","March","April","May","June","July","August","September","October","November","December"],dayOfWeekShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayOfWeek:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},et:{months:["Jaanuar","Veebruar","Märts","Aprill","Mai","Juuni","Juuli","August","September","Oktoober","November","Detsember"],dayOfWeekShort:["P","E","T","K","N","R","L"],dayOfWeek:["Pühapäev","Esmaspäev","Teisipäev","Kolmapäev","Neljapäev","Reede","Laupäev"]},eu:{months:["Urtarrila","Otsaila","Martxoa","Apirila","Maiatza","Ekaina","Uztaila","Abuztua","Iraila","Urria","Azaroa","Abendua"],dayOfWeekShort:["Ig.","Al.","Ar.","Az.","Og.","Or.","La."],dayOfWeek:["Igandea","Astelehena","Asteartea","Asteazkena","Osteguna","Ostirala","Larunbata"]},fi:{months:["Tammikuu","Helmikuu","Maaliskuu","Huhtikuu","Toukokuu","Kesäkuu","Heinäkuu","Elokuu","Syyskuu","Lokakuu","Marraskuu","Joulukuu"],dayOfWeekShort:["Su","Ma","Ti","Ke","To","Pe","La"],dayOfWeek:["sunnuntai","maanantai","tiistai","keskiviikko","torstai","perjantai","lauantai"]},gl:{months:["Xan","Feb","Maz","Abr","Mai","Xun","Xul","Ago","Set","Out","Nov","Dec"],dayOfWeekShort:["Dom","Lun","Mar","Mer","Xov","Ven","Sab"],dayOfWeek:["Domingo","Luns","Martes","Mércores","Xoves","Venres","Sábado"]},hr:{months:["Siječanj","Veljača","Ožujak","Travanj","Svibanj","Lipanj","Srpanj","Kolovoz","Rujan","Listopad","Studeni","Prosinac"],dayOfWeekShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],dayOfWeek:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"]},ko:{months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],dayOfWeekShort:["일","월","화","수","목","금","토"],dayOfWeek:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"]},lt:{months:["Sausio","Vasario","Kovo","Balandžio","Gegužės","Birželio","Liepos","Rugpjūčio","Rugsėjo","Spalio","Lapkričio","Gruodžio"],dayOfWeekShort:["Sek","Pir","Ant","Tre","Ket","Pen","Šeš"],dayOfWeek:["Sekmadienis","Pirmadienis","Antradienis","Trečiadienis","Ketvirtadienis","Penktadienis","Šeštadienis"]},lv:{months:["Janvāris","Februāris","Marts","Aprīlis ","Maijs","Jūnijs","Jūlijs","Augusts","Septembris","Oktobris","Novembris","Decembris"],dayOfWeekShort:["Sv","Pr","Ot","Tr","Ct","Pk","St"],dayOfWeek:["Svētdiena","Pirmdiena","Otrdiena","Trešdiena","Ceturtdiena","Piektdiena","Sestdiena"]},mk:{months:["јануари","февруари","март","април","мај","јуни","јули","август","септември","октомври","ноември","декември"],dayOfWeekShort:["нед","пон","вто","сре","чет","пет","саб"],dayOfWeek:["Недела","Понеделник","Вторник","Среда","Четврток","Петок","Сабота"]},mn:{months:["1-р сар","2-р сар","3-р сар","4-р сар","5-р сар","6-р сар","7-р сар","8-р сар","9-р сар","10-р сар","11-р сар","12-р сар"],dayOfWeekShort:["Дав","Мяг","Лха","Пүр","Бсн","Бям","Ням"],dayOfWeek:["Даваа","Мягмар","Лхагва","Пүрэв","Баасан","Бямба","Ням"]},"pt-BR":{months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],dayOfWeekShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],dayOfWeek:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"]},sk:{months:["Január","Február","Marec","Apríl","Máj","Jún","Júl","August","September","Október","November","December"],dayOfWeekShort:["Ne","Po","Ut","St","Št","Pi","So"],dayOfWeek:["Nedeľa","Pondelok","Utorok","Streda","Štvrtok","Piatok","Sobota"]},sq:{months:["Janar","Shkurt","Mars","Prill","Maj","Qershor","Korrik","Gusht","Shtator","Tetor","Nëntor","Dhjetor"],dayOfWeekShort:["Die","Hën","Mar","Mër","Enj","Pre","Shtu"],dayOfWeek:["E Diel","E Hënë","E Martē","E Mërkurë","E Enjte","E Premte","E Shtunë"]},"sr-YU":{months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],dayOfWeekShort:["Ned","Pon","Uto","Sre","čet","Pet","Sub"],dayOfWeek:["Nedelja","Ponedeljak","Utorak","Sreda","Četvrtak","Petak","Subota"]},sr:{months:["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар"],dayOfWeekShort:["нед","пон","уто","сре","чет","пет","суб"],dayOfWeek:["Недеља","Понедељак","Уторак","Среда","Четвртак","Петак","Субота"]},sv:{months:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],dayOfWeekShort:["Sön","Mån","Tis","Ons","Tor","Fre","Lör"],dayOfWeek:["Söndag","Måndag","Tisdag","Onsdag","Torsdag","Fredag","Lördag"]},"zh-TW":{months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayOfWeekShort:["日","一","二","三","四","五","六"],dayOfWeek:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},zh:{months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayOfWeekShort:["日","一","二","三","四","五","六"],dayOfWeek:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},he:{months:["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],dayOfWeekShort:["א'","ב'","ג'","ד'","ה'","ו'","שבת"],dayOfWeek:["ראשון","שני","שלישי","רביעי","חמישי","שישי","שבת","ראשון"]},hy:{months:["Հունվար","Փետրվար","Մարտ","Ապրիլ","Մայիս","Հունիս","Հուլիս","Օգոստոս","Սեպտեմբեր","Հոկտեմբեր","Նոյեմբեր","Դեկտեմբեր"],dayOfWeekShort:["Կի","Երկ","Երք","Չոր","Հնգ","Ուրբ","Շբթ"],dayOfWeek:["Կիրակի","Երկուշաբթի","Երեքշաբթի","Չորեքշաբթի","Հինգշաբթի","Ուրբաթ","Շաբաթ"]},kg:{months:["Үчтүн айы","Бирдин айы","Жалган Куран","Чын Куран","Бугу","Кулжа","Теке","Баш Оона","Аяк Оона","Тогуздун айы","Жетинин айы","Бештин айы"],dayOfWeekShort:["Жек","Дүй","Шей","Шар","Бей","Жум","Ише"],dayOfWeek:["Жекшемб","Дүйшөмб","Шейшемб","Шаршемб","Бейшемби","Жума","Ишенб"]},rm:{months:["Schaner","Favrer","Mars","Avrigl","Matg","Zercladur","Fanadur","Avust","Settember","October","November","December"],dayOfWeekShort:["Du","Gli","Ma","Me","Gie","Ve","So"],dayOfWeek:["Dumengia","Glindesdi","Mardi","Mesemna","Gievgia","Venderdi","Sonda"]},ka:{months:["იანვარი","თებერვალი","მარტი","აპრილი","მაისი","ივნისი","ივლისი","აგვისტო","სექტემბერი","ოქტომბერი","ნოემბერი","დეკემბერი"],dayOfWeekShort:["კვ","ორშ","სამშ","ოთხ","ხუთ","პარ","შაბ"],dayOfWeek:["კვირა","ორშაბათი","სამშაბათი","ოთხშაბათი","ხუთშაბათი","პარასკევი","შაბათი"]}},value:"",rtl:!1,format:"Y/m/d H:i",formatTime:"H:i",formatDate:"Y/m/d",startDate:!1,step:60,monthChangeSpinner:!0,closeOnDateSelect:!1,closeOnTimeSelect:!0,closeOnWithoutClick:!0,closeOnInputClick:!0,timepicker:!0,datepicker:!0,weeks:!1,defaultTime:!1,defaultDate:!1,minDate:!1,maxDate:!1,minTime:!1,maxTime:!1,disabledMinTime:!1,disabledMaxTime:!1,allowTimes:[],opened:!1,initTime:!0,inline:!1,theme:"",onSelectDate:function(){},onSelectTime:function(){},onChangeMonth:function(){},onGetWeekOfYear:function(){},onChangeYear:function(){},onChangeDateTime:function(){},onShow:function(){},onClose:function(){},onGenerate:function(){},withoutCopyright:!0,inverseButton:!1,hours12:!1,next:"xdsoft_next",prev:"xdsoft_prev",dayOfWeekStart:0,parentID:"body",timeHeightInTimePicker:25,timepickerScrollbar:!0,todayButton:!0,prevButton:!0,nextButton:!0,defaultSelect:!0,scrollMonth:!0,scrollTime:!0,scrollInput:!0,lazyInit:!1,mask:!1,validateOnBlur:!0,allowBlank:!0,yearStart:1950,yearEnd:2050,monthStart:0,monthEnd:11,style:"",id:"",fixed:!1,roundTime:"round",className:"",weekends:[],highlightedDates:[],highlightedPeriods:[],allowDates:[],allowDateRe:null,disabledDates:[],disabledWeekDays:[],yearOffset:0,beforeShowDay:null,enterLikeTab:!0,showApplyButton:!1},r=null,n="en",o="en",i={meridiem:["AM","PM"]},s=function(){var t=a.i18n[o],n={days:t.dayOfWeek,daysShort:t.dayOfWeekShort,months:t.months,monthsShort:e.map(t.months,function(e){return e.substring(0,3)})};r=new DateFormatter({dateSettings:e.extend({},i,n)})};e.datetimepicker={setLocale:function(e){var t=a.i18n[e]?e:n;o!=t&&(o=t,s())},setDateFormatter:function(e){r=e},RFC_2822:"D, d M Y H:i:s O",ATOM:"Y-m-dTH:i:sP",ISO_8601:"Y-m-dTH:i:sO",RFC_822:"D, d M y H:i:s O",RFC_850:"l, d-M-y H:i:s T",RFC_1036:"D, d M y H:i:s O",RFC_1123:"D, d M Y H:i:s O",RSS:"D, d M Y H:i:s O",W3C:"Y-m-dTH:i:sP"},s(),window.getComputedStyle||(window.getComputedStyle=function(e){return this.el=e,this.getPropertyValue=function(t){var a=/(\-([a-z]){1})/g;return"float"===t&&(t="styleFloat"),a.test(t)&&(t=t.replace(a,function(e,t,a){return a.toUpperCase()})),e.currentStyle[t]||null},this}),Array.prototype.indexOf||(Array.prototype.indexOf=function(e,t){var a,r;for(a=t||0,r=this.length;r>a;a+=1)if(this[a]===e)return a;return-1}),Date.prototype.countDaysInMonth=function(){return new Date(this.getFullYear(),this.getMonth()+1,0).getDate()},e.fn.xdsoftScroller=function(t){return this.each(function(){var a,r,n,o,i,s=e(this),d=function(e){var t,a={x:0,y:0};return"touchstart"===e.type||"touchmove"===e.type||"touchend"===e.type||"touchcancel"===e.type?(t=e.originalEvent.touches[0]||e.originalEvent.changedTouches[0],a.x=t.clientX,a.y=t.clientY):("mousedown"===e.type||"mouseup"===e.type||"mousemove"===e.type||"mouseover"===e.type||"mouseout"===e.type||"mouseenter"===e.type||"mouseleave"===e.type)&&(a.x=e.clientX,a.y=e.clientY),a},u=100,l=!1,f=0,c=0,m=0,h=!1,g=0,p=function(){};return"hide"===t?void s.find(".xdsoft_scrollbar").hide():(e(this).hasClass("xdsoft_scroller_box")||(a=s.children().eq(0),r=s[0].clientHeight,n=a[0].offsetHeight,o=e('<div class="xdsoft_scrollbar"></div>'),i=e('<div class="xdsoft_scroller"></div>'),o.append(i),s.addClass("xdsoft_scroller_box").append(o),p=function(e){var t=d(e).y-f+g;0>t&&(t=0),t+i[0].offsetHeight>m&&(t=m-i[0].offsetHeight),s.trigger("scroll_element.xdsoft_scroller",[u?t/u:0])},i.on("touchstart.xdsoft_scroller mousedown.xdsoft_scroller",function(a){r||s.trigger("resize_scroll.xdsoft_scroller",[t]),f=d(a).y,g=parseInt(i.css("margin-top"),10),m=o[0].offsetHeight,"mousedown"===a.type||"touchstart"===a.type?(document&&e(document.body).addClass("xdsoft_noselect"),e([document.body,window]).on("touchend mouseup.xdsoft_scroller",function n(){e([document.body,window]).off("touchend mouseup.xdsoft_scroller",n).off("mousemove.xdsoft_scroller",p).removeClass("xdsoft_noselect")}),e(document.body).on("mousemove.xdsoft_scroller",p)):(h=!0,a.stopPropagation(),a.preventDefault())}).on("touchmove",function(e){h&&(e.preventDefault(),p(e))}).on("touchend touchcancel",function(){h=!1,g=0}),s.on("scroll_element.xdsoft_scroller",function(e,t){r||s.trigger("resize_scroll.xdsoft_scroller",[t,!0]),t=t>1?1:0>t||isNaN(t)?0:t,i.css("margin-top",u*t),setTimeout(function(){a.css("marginTop",-parseInt((a[0].offsetHeight-r)*t,10))},10)}).on("resize_scroll.xdsoft_scroller",function(e,t,d){var l,f;r=s[0].clientHeight,n=a[0].offsetHeight,l=r/n,f=l*o[0].offsetHeight,l>1?i.hide():(i.show(),i.css("height",parseInt(f>10?f:10,10)),u=o[0].offsetHeight-i[0].offsetHeight,d!==!0&&s.trigger("scroll_element.xdsoft_scroller",[t||Math.abs(parseInt(a.css("marginTop"),10))/(n-r)]))}),s.on("mousewheel",function(e){var t=Math.abs(parseInt(a.css("marginTop"),10));return t-=20*e.deltaY,0>t&&(t=0),s.trigger("scroll_element.xdsoft_scroller",[t/(n-r)]),e.stopPropagation(),!1}),s.on("touchstart",function(e){l=d(e),c=Math.abs(parseInt(a.css("marginTop"),10))}),s.on("touchmove",function(e){if(l){e.preventDefault();var t=d(e);s.trigger("scroll_element.xdsoft_scroller",[(c-(t.y-l.y))/(n-r)])}}),s.on("touchend touchcancel",function(){l=!1,c=0})),void s.trigger("resize_scroll.xdsoft_scroller",[t]))})},e.fn.datetimepicker=function(n,i){var s,d,u=this,l=48,f=57,c=96,m=105,h=17,g=46,p=13,y=27,v=8,b=37,D=38,k=39,x=40,T=9,S=116,w=65,O=67,M=86,_=90,W=89,F=!1,C=e.isPlainObject(n)||!n?e.extend(!0,{},a,n):e.extend(!0,{},a),P=0,A=function(e){e.on("open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart",function t(){e.is(":disabled")||e.data("xdsoft_datetimepicker")||(clearTimeout(P),P=setTimeout(function(){e.data("xdsoft_datetimepicker")||s(e),e.off("open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart",t).trigger("open.xdsoft")},100))})};return s=function(a){function i(){var e,t=!1;return C.startDate?t=j.strToDate(C.startDate):(t=C.value||(a&&a.val&&a.val()?a.val():""),t?t=j.strToDateTime(t):C.defaultDate&&(t=j.strToDateTime(C.defaultDate),C.defaultTime&&(e=j.strtotime(C.defaultTime),t.setHours(e.getHours()),t.setMinutes(e.getMinutes())))),t&&j.isValidDate(t)?J.data("changed",!0):t="",t||0}function s(t){var r=function(e,t){var a=e.replace(/([\[\]\/\{\}\(\)\-\.\+]{1})/g,"\\$1").replace(/_/g,"{digit+}").replace(/([0-9]{1})/g,"{digit$1}").replace(/\{digit([0-9]{1})\}/g,"[0-$1_]{1}").replace(/\{digit[\+]\}/g,"[0-9_]{1}");return new RegExp(a).test(t)},n=function(e){try{if(document.selection&&document.selection.createRange){var t=document.selection.createRange();return t.getBookmark().charCodeAt(2)-2}if(e.setSelectionRange)return e.selectionStart}catch(a){return 0}},o=function(e,t){if(e="string"==typeof e||e instanceof String?document.getElementById(e):e,!e)return!1;if(e.createTextRange){var a=e.createTextRange();return a.collapse(!0),a.moveEnd("character",t),a.moveStart("character",t),a.select(),!0}return e.setSelectionRange?(e.setSelectionRange(t,t),!0):!1};t.mask&&a.off("keydown.xdsoft"),t.mask===!0&&(t.mask="undefined"!=typeof moment?t.format.replace(/Y{4}/g,"9999").replace(/Y{2}/g,"99").replace(/M{2}/g,"19").replace(/D{2}/g,"39").replace(/H{2}/g,"29").replace(/m{2}/g,"59").replace(/s{2}/g,"59"):t.format.replace(/Y/g,"9999").replace(/F/g,"9999").replace(/m/g,"19").replace(/d/g,"39").replace(/H/g,"29").replace(/i/g,"59").replace(/s/g,"59")),"string"===e.type(t.mask)&&(r(t.mask,a.val())||(a.val(t.mask.replace(/[0-9]/g,"_")),o(a[0],0)),a.on("keydown.xdsoft",function(i){var s,d,u=this.value,C=i.which;if(C>=l&&f>=C||C>=c&&m>=C||C===v||C===g){for(s=n(this),d=C!==v&&C!==g?String.fromCharCode(C>=c&&m>=C?C-l:C):"_",C!==v&&C!==g||!s||(s-=1,d="_");/[^0-9_]/.test(t.mask.substr(s,1))&&s<t.mask.length&&s>0;)s+=C===v||C===g?-1:1;if(u=u.substr(0,s)+d+u.substr(s+1),""===e.trim(u))u=t.mask.replace(/[0-9]/g,"_");else if(s===t.mask.length)return i.preventDefault(),!1;for(s+=C===v||C===g?0:1;/[^0-9_]/.test(t.mask.substr(s,1))&&s<t.mask.length&&s>0;)s+=C===v||C===g?-1:1;r(t.mask,u)?(this.value=u,o(this,s)):""===e.trim(u)?this.value=t.mask.replace(/[0-9]/g,"_"):a.trigger("error_input.xdsoft")}else if(-1!==[w,O,M,_,W].indexOf(C)&&F||-1!==[y,D,x,b,k,S,h,T,p].indexOf(C))return!0;return i.preventDefault(),!1}))}var d,u,P,A,Y,j,H,J=e('<div class="xdsoft_datetimepicker xdsoft_noselect"></div>'),z=e('<div class="xdsoft_copyright"><a target="_blank" href="http://xdsoft.net/jqplugins/datetimepicker/">xdsoft.net</a></div>'),I=e('<div class="xdsoft_datepicker active"></div>'),N=e('<div class="xdsoft_monthpicker"><button type="button" class="xdsoft_prev"></button><button type="button" class="xdsoft_today_button"></button><div class="xdsoft_label xdsoft_month"><span></span><i></i></div><div class="xdsoft_label xdsoft_year"><span></span><i></i></div><button type="button" class="xdsoft_next"></button></div>'),L=e('<div class="xdsoft_calendar"></div>'),E=e('<div class="xdsoft_timepicker active"><button type="button" class="xdsoft_prev"></button><div class="xdsoft_time_box"></div><button type="button" class="xdsoft_next"></button></div>'),R=E.find(".xdsoft_time_box").eq(0),B=e('<div class="xdsoft_time_variant"></div>'),V=e('<button type="button" class="xdsoft_save_selected blue-gradient-button">Save Selected</button>'),G=e('<div class="xdsoft_select xdsoft_monthselect"><div></div></div>'),U=e('<div class="xdsoft_select xdsoft_yearselect"><div></div></div>'),q=!1,X=0;C.id&&J.attr("id",C.id),C.style&&J.attr("style",C.style),C.weeks&&J.addClass("xdsoft_showweeks"),C.rtl&&J.addClass("xdsoft_rtl"),J.addClass("xdsoft_"+C.theme),J.addClass(C.className),N.find(".xdsoft_month span").after(G),N.find(".xdsoft_year span").after(U),N.find(".xdsoft_month,.xdsoft_year").on("touchstart mousedown.xdsoft",function(t){var a,r,n=e(this).find(".xdsoft_select").eq(0),o=0,i=0,s=n.is(":visible");for(N.find(".xdsoft_select").hide(),j.currentTime&&(o=j.currentTime[e(this).hasClass("xdsoft_month")?"getMonth":"getFullYear"]()),n[s?"hide":"show"](),a=n.find("div.xdsoft_option"),r=0;r<a.length&&a.eq(r).data("value")!==o;r+=1)i+=a[0].offsetHeight;return n.xdsoftScroller(i/(n.children()[0].offsetHeight-n[0].clientHeight)),t.stopPropagation(),!1}),N.find(".xdsoft_select").xdsoftScroller().on("touchstart mousedown.xdsoft",function(e){e.stopPropagation(),e.preventDefault()}).on("touchstart mousedown.xdsoft",".xdsoft_option",function(){(void 0===j.currentTime||null===j.currentTime)&&(j.currentTime=j.now());var t=j.currentTime.getFullYear();j&&j.currentTime&&j.currentTime[e(this).parent().parent().hasClass("xdsoft_monthselect")?"setMonth":"setFullYear"](e(this).data("value")),e(this).parent().parent().hide(),J.trigger("xchange.xdsoft"),C.onChangeMonth&&e.isFunction(C.onChangeMonth)&&C.onChangeMonth.call(J,j.currentTime,J.data("input")),t!==j.currentTime.getFullYear()&&e.isFunction(C.onChangeYear)&&C.onChangeYear.call(J,j.currentTime,J.data("input"))}),J.getValue=function(){return j.getCurrentTime()},J.setOptions=function(n){var o={};C=e.extend(!0,{},C,n),n.allowTimes&&e.isArray(n.allowTimes)&&n.allowTimes.length&&(C.allowTimes=e.extend(!0,[],n.allowTimes)),n.weekends&&e.isArray(n.weekends)&&n.weekends.length&&(C.weekends=e.extend(!0,[],n.weekends)),n.allowDates&&e.isArray(n.allowDates)&&n.allowDates.length&&(C.allowDates=e.extend(!0,[],n.allowDates)),n.allowDateRe&&"[object String]"===Object.prototype.toString.call(n.allowDateRe)&&(C.allowDateRe=new RegExp(n.allowDateRe)),n.highlightedDates&&e.isArray(n.highlightedDates)&&n.highlightedDates.length&&(e.each(n.highlightedDates,function(a,n){var i,s=e.map(n.split(","),e.trim),d=new t(r.parseDate(s[0],C.formatDate),s[1],s[2]),u=r.formatDate(d.date,C.formatDate);void 0!==o[u]?(i=o[u].desc,i&&i.length&&d.desc&&d.desc.length&&(o[u].desc=i+"\n"+d.desc)):o[u]=d}),C.highlightedDates=e.extend(!0,[],o)),n.highlightedPeriods&&e.isArray(n.highlightedPeriods)&&n.highlightedPeriods.length&&(o=e.extend(!0,[],C.highlightedDates),
2
+ e.each(n.highlightedPeriods,function(a,n){var i,s,d,u,l,f,c;if(e.isArray(n))i=n[0],s=n[1],d=n[2],c=n[3];else{var m=e.map(n.split(","),e.trim);i=r.parseDate(m[0],C.formatDate),s=r.parseDate(m[1],C.formatDate),d=m[2],c=m[3]}for(;s>=i;)u=new t(i,d,c),l=r.formatDate(i,C.formatDate),i.setDate(i.getDate()+1),void 0!==o[l]?(f=o[l].desc,f&&f.length&&u.desc&&u.desc.length&&(o[l].desc=f+"\n"+u.desc)):o[l]=u}),C.highlightedDates=e.extend(!0,[],o)),n.disabledDates&&e.isArray(n.disabledDates)&&n.disabledDates.length&&(C.disabledDates=e.extend(!0,[],n.disabledDates)),n.disabledWeekDays&&e.isArray(n.disabledWeekDays)&&n.disabledWeekDays.length&&(C.disabledWeekDays=e.extend(!0,[],n.disabledWeekDays)),!C.open&&!C.opened||C.inline||a.trigger("open.xdsoft"),C.inline&&(q=!0,J.addClass("xdsoft_inline"),a.after(J).hide()),C.inverseButton&&(C.next="xdsoft_prev",C.prev="xdsoft_next"),C.datepicker?I.addClass("active"):I.removeClass("active"),C.timepicker?E.addClass("active"):E.removeClass("active"),C.value&&(j.setCurrentTime(C.value),a&&a.val&&a.val(j.str)),C.dayOfWeekStart=isNaN(C.dayOfWeekStart)?0:parseInt(C.dayOfWeekStart,10)%7,C.timepickerScrollbar||R.xdsoftScroller("hide"),C.minDate&&/^[\+\-](.*)$/.test(C.minDate)&&(C.minDate=r.formatDate(j.strToDateTime(C.minDate),C.formatDate)),C.maxDate&&/^[\+\-](.*)$/.test(C.maxDate)&&(C.maxDate=r.formatDate(j.strToDateTime(C.maxDate),C.formatDate)),V.toggle(C.showApplyButton),N.find(".xdsoft_today_button").css("visibility",C.todayButton?"visible":"hidden"),N.find("."+C.prev).css("visibility",C.prevButton?"visible":"hidden"),N.find("."+C.next).css("visibility",C.nextButton?"visible":"hidden"),s(C),C.validateOnBlur&&a.off("blur.xdsoft").on("blur.xdsoft",function(){if(C.allowBlank&&(!e.trim(e(this).val()).length||"string"==typeof C.mask&&e.trim(e(this).val())===C.mask.replace(/[0-9]/g,"_")))e(this).val(null),J.data("xdsoft_datetime").empty();else{var t=r.parseDate(e(this).val(),C.format);if(t)e(this).val(r.formatDate(t,C.format));else{var a=+[e(this).val()[0],e(this).val()[1]].join(""),n=+[e(this).val()[2],e(this).val()[3]].join("");e(this).val(!C.datepicker&&C.timepicker&&a>=0&&24>a&&n>=0&&60>n?[a,n].map(function(e){return e>9?e:"0"+e}).join(":"):r.formatDate(j.now(),C.format))}J.data("xdsoft_datetime").setCurrentTime(e(this).val())}J.trigger("changedatetime.xdsoft"),J.trigger("close.xdsoft")}),C.dayOfWeekStartPrev=0===C.dayOfWeekStart?6:C.dayOfWeekStart-1,J.trigger("xchange.xdsoft").trigger("afterOpen.xdsoft")},J.data("options",C).on("touchstart mousedown.xdsoft",function(e){return e.stopPropagation(),e.preventDefault(),U.hide(),G.hide(),!1}),R.append(B),R.xdsoftScroller(),J.on("afterOpen.xdsoft",function(){R.xdsoftScroller()}),J.append(I).append(E),C.withoutCopyright!==!0&&J.append(z),I.append(N).append(L).append(V),e(C.parentID).append(J),d=function(){var t=this;t.now=function(e){var a,r,n=new Date;return!e&&C.defaultDate&&(a=t.strToDateTime(C.defaultDate),n.setFullYear(a.getFullYear()),n.setMonth(a.getMonth()),n.setDate(a.getDate())),C.yearOffset&&n.setFullYear(n.getFullYear()+C.yearOffset),!e&&C.defaultTime&&(r=t.strtotime(C.defaultTime),n.setHours(r.getHours()),n.setMinutes(r.getMinutes())),n},t.isValidDate=function(e){return"[object Date]"!==Object.prototype.toString.call(e)?!1:!isNaN(e.getTime())},t.setCurrentTime=function(e,a){t.currentTime="string"==typeof e?t.strToDateTime(e):t.isValidDate(e)?e:e||a||!C.allowBlank?t.now():null,J.trigger("xchange.xdsoft")},t.empty=function(){t.currentTime=null},t.getCurrentTime=function(){return t.currentTime},t.nextMonth=function(){(void 0===t.currentTime||null===t.currentTime)&&(t.currentTime=t.now());var a,r=t.currentTime.getMonth()+1;return 12===r&&(t.currentTime.setFullYear(t.currentTime.getFullYear()+1),r=0),a=t.currentTime.getFullYear(),t.currentTime.setDate(Math.min(new Date(t.currentTime.getFullYear(),r+1,0).getDate(),t.currentTime.getDate())),t.currentTime.setMonth(r),C.onChangeMonth&&e.isFunction(C.onChangeMonth)&&C.onChangeMonth.call(J,j.currentTime,J.data("input")),a!==t.currentTime.getFullYear()&&e.isFunction(C.onChangeYear)&&C.onChangeYear.call(J,j.currentTime,J.data("input")),J.trigger("xchange.xdsoft"),r},t.prevMonth=function(){(void 0===t.currentTime||null===t.currentTime)&&(t.currentTime=t.now());var a=t.currentTime.getMonth()-1;return-1===a&&(t.currentTime.setFullYear(t.currentTime.getFullYear()-1),a=11),t.currentTime.setDate(Math.min(new Date(t.currentTime.getFullYear(),a+1,0).getDate(),t.currentTime.getDate())),t.currentTime.setMonth(a),C.onChangeMonth&&e.isFunction(C.onChangeMonth)&&C.onChangeMonth.call(J,j.currentTime,J.data("input")),J.trigger("xchange.xdsoft"),a},t.getWeekOfYear=function(t){if(C.onGetWeekOfYear&&e.isFunction(C.onGetWeekOfYear)){var a=C.onGetWeekOfYear.call(J,t);if("undefined"!=typeof a)return a}var r=new Date(t.getFullYear(),0,1);return 4!=r.getDay()&&r.setMonth(0,1+(4-r.getDay()+7)%7),Math.ceil(((t-r)/864e5+r.getDay()+1)/7)},t.strToDateTime=function(e){var a,n,o=[];return e&&e instanceof Date&&t.isValidDate(e)?e:(o=/^(\+|\-)(.*)$/.exec(e),o&&(o[2]=r.parseDate(o[2],C.formatDate)),o&&o[2]?(a=o[2].getTime()-6e4*o[2].getTimezoneOffset(),n=new Date(t.now(!0).getTime()+parseInt(o[1]+"1",10)*a)):n=e?r.parseDate(e,C.format):t.now(),t.isValidDate(n)||(n=t.now()),n)},t.strToDate=function(e){if(e&&e instanceof Date&&t.isValidDate(e))return e;var a=e?r.parseDate(e,C.formatDate):t.now(!0);return t.isValidDate(a)||(a=t.now(!0)),a},t.strtotime=function(e){if(e&&e instanceof Date&&t.isValidDate(e))return e;var a=e?r.parseDate(e,C.formatTime):t.now(!0);return t.isValidDate(a)||(a=t.now(!0)),a},t.str=function(){return r.formatDate(t.currentTime,C.format)},t.currentTime=this.now()},j=new d,V.on("touchend click",function(e){e.preventDefault(),J.data("changed",!0),j.setCurrentTime(i()),a.val(j.str()),J.trigger("close.xdsoft")}),N.find(".xdsoft_today_button").on("touchend mousedown.xdsoft",function(){J.data("changed",!0),j.setCurrentTime(0,!0),J.trigger("afterOpen.xdsoft")}).on("dblclick.xdsoft",function(){var e,t,r=j.getCurrentTime();r=new Date(r.getFullYear(),r.getMonth(),r.getDate()),e=j.strToDate(C.minDate),e=new Date(e.getFullYear(),e.getMonth(),e.getDate()),e>r||(t=j.strToDate(C.maxDate),t=new Date(t.getFullYear(),t.getMonth(),t.getDate()),r>t||(a.val(j.str()),a.trigger("change"),J.trigger("close.xdsoft")))}),N.find(".xdsoft_prev,.xdsoft_next").on("touchend mousedown.xdsoft",function(){var t=e(this),a=0,r=!1;!function n(e){t.hasClass(C.next)?j.nextMonth():t.hasClass(C.prev)&&j.prevMonth(),C.monthChangeSpinner&&(r||(a=setTimeout(n,e||100)))}(500),e([document.body,window]).on("touchend mouseup.xdsoft",function o(){clearTimeout(a),r=!0,e([document.body,window]).off("touchend mouseup.xdsoft",o)})}),E.find(".xdsoft_prev,.xdsoft_next").on("touchend mousedown.xdsoft",function(){var t=e(this),a=0,r=!1,n=110;!function o(e){var i=R[0].clientHeight,s=B[0].offsetHeight,d=Math.abs(parseInt(B.css("marginTop"),10));t.hasClass(C.next)&&s-i-C.timeHeightInTimePicker>=d?B.css("marginTop","-"+(d+C.timeHeightInTimePicker)+"px"):t.hasClass(C.prev)&&d-C.timeHeightInTimePicker>=0&&B.css("marginTop","-"+(d-C.timeHeightInTimePicker)+"px"),R.trigger("scroll_element.xdsoft_scroller",[Math.abs(parseInt(B[0].style.marginTop,10)/(s-i))]),n=n>10?10:n-10,r||(a=setTimeout(o,e||n))}(500),e([document.body,window]).on("touchend mouseup.xdsoft",function i(){clearTimeout(a),r=!0,e([document.body,window]).off("touchend mouseup.xdsoft",i)})}),u=0,J.on("xchange.xdsoft",function(t){clearTimeout(u),u=setTimeout(function(){if(void 0===j.currentTime||null===j.currentTime){if(C.allowBlank)return;j.currentTime=j.now()}for(var t,i,s,d,u,l,f,c,m,h,g="",p=new Date(j.currentTime.getFullYear(),j.currentTime.getMonth(),1,12,0,0),y=0,v=j.now(),b=!1,D=!1,k=[],x=!0,T="",S="";p.getDay()!==C.dayOfWeekStart;)p.setDate(p.getDate()-1);for(g+="<table><thead><tr>",C.weeks&&(g+="<th></th>"),t=0;7>t;t+=1)g+="<th>"+C.i18n[o].dayOfWeekShort[(t+C.dayOfWeekStart)%7]+"</th>";for(g+="</tr></thead>",g+="<tbody>",C.maxDate!==!1&&(b=j.strToDate(C.maxDate),b=new Date(b.getFullYear(),b.getMonth(),b.getDate(),23,59,59,999)),C.minDate!==!1&&(D=j.strToDate(C.minDate),D=new Date(D.getFullYear(),D.getMonth(),D.getDate()));y<j.currentTime.countDaysInMonth()||p.getDay()!==C.dayOfWeekStart||j.currentTime.getMonth()===p.getMonth();)k=[],y+=1,s=p.getDay(),d=p.getDate(),u=p.getFullYear(),l=p.getMonth(),f=j.getWeekOfYear(p),h="",k.push("xdsoft_date"),c=C.beforeShowDay&&e.isFunction(C.beforeShowDay.call)?C.beforeShowDay.call(J,p):null,C.allowDateRe&&"[object RegExp]"===Object.prototype.toString.call(C.allowDateRe)?C.allowDateRe.test(r.formatDate(p,C.formatDate))||k.push("xdsoft_disabled"):C.allowDates&&C.allowDates.length>0?-1===C.allowDates.indexOf(r.formatDate(p,C.formatDate))&&k.push("xdsoft_disabled"):b!==!1&&p>b||D!==!1&&D>p||c&&c[0]===!1?k.push("xdsoft_disabled"):-1!==C.disabledDates.indexOf(r.formatDate(p,C.formatDate))?k.push("xdsoft_disabled"):-1!==C.disabledWeekDays.indexOf(s)?k.push("xdsoft_disabled"):a.is("[readonly]")&&k.push("xdsoft_disabled"),c&&""!==c[1]&&k.push(c[1]),j.currentTime.getMonth()!==l&&k.push("xdsoft_other_month"),(C.defaultSelect||J.data("changed"))&&r.formatDate(j.currentTime,C.formatDate)===r.formatDate(p,C.formatDate)&&k.push("xdsoft_current"),r.formatDate(v,C.formatDate)===r.formatDate(p,C.formatDate)&&k.push("xdsoft_today"),(0===p.getDay()||6===p.getDay()||-1!==C.weekends.indexOf(r.formatDate(p,C.formatDate)))&&k.push("xdsoft_weekend"),void 0!==C.highlightedDates[r.formatDate(p,C.formatDate)]&&(i=C.highlightedDates[r.formatDate(p,C.formatDate)],k.push(void 0===i.style?"xdsoft_highlighted_default":i.style),h=void 0===i.desc?"":i.desc),C.beforeShowDay&&e.isFunction(C.beforeShowDay)&&k.push(C.beforeShowDay(p)),x&&(g+="<tr>",x=!1,C.weeks&&(g+="<th>"+f+"</th>")),g+='<td data-date="'+d+'" data-month="'+l+'" data-year="'+u+'" class="xdsoft_date xdsoft_day_of_week'+p.getDay()+" "+k.join(" ")+'" title="'+h+'"><div>'+d+"</div></td>",p.getDay()===C.dayOfWeekStartPrev&&(g+="</tr>",x=!0),p.setDate(d+1);if(g+="</tbody></table>",L.html(g),N.find(".xdsoft_label span").eq(0).text(C.i18n[o].months[j.currentTime.getMonth()]),N.find(".xdsoft_label span").eq(1).text(j.currentTime.getFullYear()),T="",S="",l="",m=function(t,n){var o,i,s=j.now(),d=C.allowTimes&&e.isArray(C.allowTimes)&&C.allowTimes.length;s.setHours(t),t=parseInt(s.getHours(),10),s.setMinutes(n),n=parseInt(s.getMinutes(),10),o=new Date(j.currentTime),o.setHours(t),o.setMinutes(n),k=[],C.minDateTime!==!1&&C.minDateTime>o||C.maxTime!==!1&&j.strtotime(C.maxTime).getTime()<s.getTime()||C.minTime!==!1&&j.strtotime(C.minTime).getTime()>s.getTime()?k.push("xdsoft_disabled"):C.minDateTime!==!1&&C.minDateTime>o||C.disabledMinTime!==!1&&s.getTime()>j.strtotime(C.disabledMinTime).getTime()&&C.disabledMaxTime!==!1&&s.getTime()<j.strtotime(C.disabledMaxTime).getTime()?k.push("xdsoft_disabled"):a.is("[readonly]")&&k.push("xdsoft_disabled"),i=new Date(j.currentTime),i.setHours(parseInt(j.currentTime.getHours(),10)),d||i.setMinutes(Math[C.roundTime](j.currentTime.getMinutes()/C.step)*C.step),(C.initTime||C.defaultSelect||J.data("changed"))&&i.getHours()===parseInt(t,10)&&(!d&&C.step>59||i.getMinutes()===parseInt(n,10))&&(C.defaultSelect||J.data("changed")?k.push("xdsoft_current"):C.initTime&&k.push("xdsoft_init_time")),parseInt(v.getHours(),10)===parseInt(t,10)&&parseInt(v.getMinutes(),10)===parseInt(n,10)&&k.push("xdsoft_today"),T+='<div class="xdsoft_time '+k.join(" ")+'" data-hour="'+t+'" data-minute="'+n+'">'+r.formatDate(s,C.formatTime)+"</div>"},C.allowTimes&&e.isArray(C.allowTimes)&&C.allowTimes.length)for(y=0;y<C.allowTimes.length;y+=1)S=j.strtotime(C.allowTimes[y]).getHours(),l=j.strtotime(C.allowTimes[y]).getMinutes(),m(S,l);else for(y=0,t=0;y<(C.hours12?12:24);y+=1)for(t=0;60>t;t+=C.step)S=(10>y?"0":"")+y,l=(10>t?"0":"")+t,m(S,l);for(B.html(T),n="",y=0,y=parseInt(C.yearStart,10)+C.yearOffset;y<=parseInt(C.yearEnd,10)+C.yearOffset;y+=1)n+='<div class="xdsoft_option '+(j.currentTime.getFullYear()===y?"xdsoft_current":"")+'" data-value="'+y+'">'+y+"</div>";for(U.children().eq(0).html(n),y=parseInt(C.monthStart,10),n="";y<=parseInt(C.monthEnd,10);y+=1)n+='<div class="xdsoft_option '+(j.currentTime.getMonth()===y?"xdsoft_current":"")+'" data-value="'+y+'">'+C.i18n[o].months[y]+"</div>";G.children().eq(0).html(n),e(J).trigger("generate.xdsoft")},10),t.stopPropagation()}).on("afterOpen.xdsoft",function(){if(C.timepicker){var e,t,a,r;B.find(".xdsoft_current").length?e=".xdsoft_current":B.find(".xdsoft_init_time").length&&(e=".xdsoft_init_time"),e?(t=R[0].clientHeight,a=B[0].offsetHeight,r=B.find(e).index()*C.timeHeightInTimePicker+1,r>a-t&&(r=a-t),R.trigger("scroll_element.xdsoft_scroller",[parseInt(r,10)/(a-t)])):R.trigger("scroll_element.xdsoft_scroller",[0])}}),P=0,L.on("touchend click.xdsoft","td",function(t){t.stopPropagation(),P+=1;var r=e(this),n=j.currentTime;return(void 0===n||null===n)&&(j.currentTime=j.now(),n=j.currentTime),r.hasClass("xdsoft_disabled")?!1:(n.setDate(1),n.setFullYear(r.data("year")),n.setMonth(r.data("month")),n.setDate(r.data("date")),J.trigger("select.xdsoft",[n]),a.val(j.str()),C.onSelectDate&&e.isFunction(C.onSelectDate)&&C.onSelectDate.call(J,j.currentTime,J.data("input"),t),J.data("changed",!0),J.trigger("xchange.xdsoft"),J.trigger("changedatetime.xdsoft"),(P>1||C.closeOnDateSelect===!0||C.closeOnDateSelect===!1&&!C.timepicker)&&!C.inline&&J.trigger("close.xdsoft"),void setTimeout(function(){P=0},200))}),B.on("touchend click.xdsoft","div",function(t){t.stopPropagation();var a=e(this),r=j.currentTime;return(void 0===r||null===r)&&(j.currentTime=j.now(),r=j.currentTime),a.hasClass("xdsoft_disabled")?!1:(r.setHours(a.data("hour")),r.setMinutes(a.data("minute")),J.trigger("select.xdsoft",[r]),J.data("input").val(j.str()),C.onSelectTime&&e.isFunction(C.onSelectTime)&&C.onSelectTime.call(J,j.currentTime,J.data("input"),t),J.data("changed",!0),J.trigger("xchange.xdsoft"),J.trigger("changedatetime.xdsoft"),void(C.inline!==!0&&C.closeOnTimeSelect===!0&&J.trigger("close.xdsoft")))}),I.on("mousewheel.xdsoft",function(e){return C.scrollMonth?(e.deltaY<0?j.nextMonth():j.prevMonth(),!1):!0}),a.on("mousewheel.xdsoft",function(e){return C.scrollInput?!C.datepicker&&C.timepicker?(A=B.find(".xdsoft_current").length?B.find(".xdsoft_current").eq(0).index():0,A+e.deltaY>=0&&A+e.deltaY<B.children().length&&(A+=e.deltaY),B.children().eq(A).length&&B.children().eq(A).trigger("mousedown"),!1):C.datepicker&&!C.timepicker?(I.trigger(e,[e.deltaY,e.deltaX,e.deltaY]),a.val&&a.val(j.str()),J.trigger("changedatetime.xdsoft"),!1):void 0:!0}),J.on("changedatetime.xdsoft",function(t){if(C.onChangeDateTime&&e.isFunction(C.onChangeDateTime)){var a=J.data("input");C.onChangeDateTime.call(J,j.currentTime,a,t),delete C.value,a.trigger("change")}}).on("generate.xdsoft",function(){C.onGenerate&&e.isFunction(C.onGenerate)&&C.onGenerate.call(J,j.currentTime,J.data("input")),q&&(J.trigger("afterOpen.xdsoft"),q=!1)}).on("click.xdsoft",function(e){e.stopPropagation()}),A=0,H=function(e,t){do if(e=e.parentNode,t(e)===!1)break;while("HTML"!==e.nodeName)},Y=function(){var t,a,r,n,o,i,s,d,u,l,f,c,m;if(d=J.data("input"),t=d.offset(),a=d[0],l="top",r=t.top+a.offsetHeight-1,n=t.left,o="absolute",u=e(window).width(),c=e(window).height(),m=e(window).scrollTop(),document.documentElement.clientWidth-t.left<I.parent().outerWidth(!0)){var h=I.parent().outerWidth(!0)-a.offsetWidth;n-=h}"rtl"===d.parent().css("direction")&&(n-=J.outerWidth()-d.outerWidth()),C.fixed?(r-=m,n-=e(window).scrollLeft(),o="fixed"):(s=!1,H(a,function(e){return"fixed"===window.getComputedStyle(e).getPropertyValue("position")?(s=!0,!1):void 0}),s?(o="fixed",r+J.outerHeight()>c+m?(l="bottom",r=c+m-t.top):r-=m):r+a.offsetHeight>c+m&&(r=t.top-a.offsetHeight+1),0>r&&(r=0),n+a.offsetWidth>u&&(n=u-a.offsetWidth)),i=J[0],H(i,function(e){var t;return t=window.getComputedStyle(e).getPropertyValue("position"),"relative"===t&&u>=e.offsetWidth?(n-=(u-e.offsetWidth)/2,!1):void 0}),f={position:o,left:n,top:"",bottom:""},f[l]=r,J.css(f)},J.on("open.xdsoft",function(t){var a=!0;C.onShow&&e.isFunction(C.onShow)&&(a=C.onShow.call(J,j.currentTime,J.data("input"),t)),a!==!1&&(J.show(),Y(),e(window).off("resize.xdsoft",Y).on("resize.xdsoft",Y),C.closeOnWithoutClick&&e([document.body,window]).on("touchstart mousedown.xdsoft",function r(){J.trigger("close.xdsoft"),e([document.body,window]).off("touchstart mousedown.xdsoft",r)}))}).on("close.xdsoft",function(t){var a=!0;N.find(".xdsoft_month,.xdsoft_year").find(".xdsoft_select").hide(),C.onClose&&e.isFunction(C.onClose)&&(a=C.onClose.call(J,j.currentTime,J.data("input"),t)),a===!1||C.opened||C.inline||J.hide(),t.stopPropagation()}).on("toggle.xdsoft",function(){J.trigger(J.is(":visible")?"close.xdsoft":"open.xdsoft")}).data("input",a),X=0,J.data("xdsoft_datetime",j),J.setOptions(C),j.setCurrentTime(i()),a.data("xdsoft_datetimepicker",J).on("open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart",function(){a.is(":disabled")||a.data("xdsoft_datetimepicker").is(":visible")&&C.closeOnInputClick||(clearTimeout(X),X=setTimeout(function(){a.is(":disabled")||(q=!0,j.setCurrentTime(i(),!0),C.mask&&s(C),J.trigger("open.xdsoft"))},100))}).on("keydown.xdsoft",function(t){var a,r=t.which;return-1!==[p].indexOf(r)&&C.enterLikeTab?(a=e("input:visible,textarea:visible,button:visible,a:visible"),J.trigger("close.xdsoft"),a.eq(a.index(this)+1).focus(),!1):-1!==[T].indexOf(r)?(J.trigger("close.xdsoft"),!0):void 0}).on("blur.xdsoft",function(){J.trigger("close.xdsoft")})},d=function(t){var a=t.data("xdsoft_datetimepicker");a&&(a.data("xdsoft_datetime",null),a.remove(),t.data("xdsoft_datetimepicker",null).off(".xdsoft"),e(window).off("resize.xdsoft"),e([window,document.body]).off("mousedown.xdsoft touchstart"),t.unmousewheel&&t.unmousewheel())},e(document).off("keydown.xdsoftctrl keyup.xdsoftctrl").on("keydown.xdsoftctrl",function(e){e.keyCode===h&&(F=!0)}).on("keyup.xdsoftctrl",function(e){e.keyCode===h&&(F=!1)}),this.each(function(){var t,a=e(this).data("xdsoft_datetimepicker");if(a){if("string"===e.type(n))switch(n){case"show":e(this).select().focus(),a.trigger("open.xdsoft");break;case"hide":a.trigger("close.xdsoft");break;case"toggle":a.trigger("toggle.xdsoft");break;case"destroy":d(e(this));break;case"reset":this.value=this.defaultValue,this.value&&a.data("xdsoft_datetime").isValidDate(r.parseDate(this.value,C.format))||a.data("changed",!1),a.data("xdsoft_datetime").setCurrentTime(this.value);break;case"validate":t=a.data("input"),t.trigger("blur.xdsoft");break;default:a[n]&&e.isFunction(a[n])&&(u=a[n](i))}else a.setOptions(n);return 0}"string"!==e.type(n)&&(!C.lazyInit||C.open||C.inline?s(e(this)):A(e(this)))}),u},e.fn.datetimepicker.defaults=a}),function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof exports?module.exports=e:e(jQuery)}(function(e){function t(t){var i=t||window.event,s=d.call(arguments,1),u=0,f=0,c=0,m=0,h=0,g=0;if(t=e.event.fix(i),t.type="mousewheel","detail"in i&&(c=-1*i.detail),"wheelDelta"in i&&(c=i.wheelDelta),"wheelDeltaY"in i&&(c=i.wheelDeltaY),"wheelDeltaX"in i&&(f=-1*i.wheelDeltaX),"axis"in i&&i.axis===i.HORIZONTAL_AXIS&&(f=-1*c,c=0),u=0===c?f:c,"deltaY"in i&&(c=-1*i.deltaY,u=c),"deltaX"in i&&(f=i.deltaX,0===c&&(u=-1*f)),0!==c||0!==f){if(1===i.deltaMode){var p=e.data(this,"mousewheel-line-height");u*=p,c*=p,f*=p}else if(2===i.deltaMode){var y=e.data(this,"mousewheel-page-height");u*=y,c*=y,f*=y}if(m=Math.max(Math.abs(c),Math.abs(f)),(!o||o>m)&&(o=m,r(i,m)&&(o/=40)),r(i,m)&&(u/=40,f/=40,c/=40),u=Math[u>=1?"floor":"ceil"](u/o),f=Math[f>=1?"floor":"ceil"](f/o),c=Math[c>=1?"floor":"ceil"](c/o),l.settings.normalizeOffset&&this.getBoundingClientRect){var v=this.getBoundingClientRect();h=t.clientX-v.left,g=t.clientY-v.top}return t.deltaX=f,t.deltaY=c,t.deltaFactor=o,t.offsetX=h,t.offsetY=g,t.deltaMode=0,s.unshift(t,u,f,c),n&&clearTimeout(n),n=setTimeout(a,200),(e.event.dispatch||e.event.handle).apply(this,s)}}function a(){o=null}function r(e,t){return l.settings.adjustOldDeltas&&"mousewheel"===e.type&&t%120===0}var n,o,i=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],s="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],d=Array.prototype.slice;if(e.event.fixHooks)for(var u=i.length;u;)e.event.fixHooks[i[--u]]=e.event.mouseHooks;var l=e.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var a=s.length;a;)this.addEventListener(s[--a],t,!1);else this.onmousewheel=t;e.data(this,"mousewheel-line-height",l.getLineHeight(this)),e.data(this,"mousewheel-page-height",l.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var a=s.length;a;)this.removeEventListener(s[--a],t,!1);else this.onmousewheel=null;e.removeData(this,"mousewheel-line-height"),e.removeData(this,"mousewheel-page-height")},getLineHeight:function(t){var a=e(t),r=a["offsetParent"in e.fn?"offsetParent":"parent"]();return r.length||(r=e("body")),parseInt(r.css("fontSize"),10)||parseInt(a.css("fontSize"),10)||16},getPageHeight:function(t){return e(t).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};e.fn.extend({mousewheel:function(e){return e?this.bind("mousewheel",e):this.trigger("mousewheel")},unmousewheel:function(e){return this.unbind("mousewheel",e)}})});
assets/js/select2.js ADDED
@@ -0,0 +1,5746 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Select2 4.0.4
3
+ * https://select2.github.io
4
+ *
5
+ * Released under the MIT license
6
+ * https://github.com/select2/select2/blob/master/LICENSE.md
7
+ */
8
+ (function (factory) {
9
+ if (typeof define === 'function' && define.amd) {
10
+ // AMD. Register as an anonymous module.
11
+ define(['jquery'], factory);
12
+ } else if (typeof module === 'object' && module.exports) {
13
+ // Node/CommonJS
14
+ module.exports = function (root, jQuery) {
15
+ if (jQuery === undefined) {
16
+ // require('jQuery') returns a factory that requires window to
17
+ // build a jQuery instance, we normalize how we use modules
18
+ // that require this pattern but the window provided is a noop
19
+ // if it's defined (how jquery works)
20
+ if (typeof window !== 'undefined') {
21
+ jQuery = require('jquery');
22
+ }
23
+ else {
24
+ jQuery = require('jquery')(root);
25
+ }
26
+ }
27
+ factory(jQuery);
28
+ return jQuery;
29
+ };
30
+ } else {
31
+ // Browser globals
32
+ factory(jQuery);
33
+ }
34
+ } (function (jQuery) {
35
+ // This is needed so we can catch the AMD loader configuration and use it
36
+ // The inner file should be wrapped (by `banner.start.js`) in a function that
37
+ // returns the AMD loader references.
38
+ var S2 =(function () {
39
+ // Restore the Select2 AMD loader so it can be used
40
+ // Needed mostly in the language files, where the loader is not inserted
41
+ if (jQuery && jQuery.fn && jQuery.fn.select2 && jQuery.fn.select2.amd) {
42
+ var S2 = jQuery.fn.select2.amd;
43
+ }
44
+ var S2;(function () { if (!S2 || !S2.requirejs) {
45
+ if (!S2) { S2 = {}; } else { require = S2; }
46
+ /**
47
+ * @license almond 0.3.3 Copyright jQuery Foundation and other contributors.
48
+ * Released under MIT license, http://github.com/requirejs/almond/LICENSE
49
+ */
50
+ //Going sloppy to avoid 'use strict' string cost, but strict practices should
51
+ //be followed.
52
+ /*global setTimeout: false */
53
+
54
+ var requirejs, require, define;
55
+ (function (undef) {
56
+ var main, req, makeMap, handlers,
57
+ defined = {},
58
+ waiting = {},
59
+ config = {},
60
+ defining = {},
61
+ hasOwn = Object.prototype.hasOwnProperty,
62
+ aps = [].slice,
63
+ jsSuffixRegExp = /\.js$/;
64
+
65
+ function hasProp(obj, prop) {
66
+ return hasOwn.call(obj, prop);
67
+ }
68
+
69
+ /**
70
+ * Given a relative module name, like ./something, normalize it to
71
+ * a real name that can be mapped to a path.
72
+ * @param {String} name the relative name
73
+ * @param {String} baseName a real name that the name arg is relative
74
+ * to.
75
+ * @returns {String} normalized name
76
+ */
77
+ function normalize(name, baseName) {
78
+ var nameParts, nameSegment, mapValue, foundMap, lastIndex,
79
+ foundI, foundStarMap, starI, i, j, part, normalizedBaseParts,
80
+ baseParts = baseName && baseName.split("/"),
81
+ map = config.map,
82
+ starMap = (map && map['*']) || {};
83
+
84
+ //Adjust any relative paths.
85
+ if (name) {
86
+ name = name.split('/');
87
+ lastIndex = name.length - 1;
88
+
89
+ // If wanting node ID compatibility, strip .js from end
90
+ // of IDs. Have to do this here, and not in nameToUrl
91
+ // because node allows either .js or non .js to map
92
+ // to same file.
93
+ if (config.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex])) {
94
+ name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, '');
95
+ }
96
+
97
+ // Starts with a '.' so need the baseName
98
+ if (name[0].charAt(0) === '.' && baseParts) {
99
+ //Convert baseName to array, and lop off the last part,
100
+ //so that . matches that 'directory' and not name of the baseName's
101
+ //module. For instance, baseName of 'one/two/three', maps to
102
+ //'one/two/three.js', but we want the directory, 'one/two' for
103
+ //this normalization.
104
+ normalizedBaseParts = baseParts.slice(0, baseParts.length - 1);
105
+ name = normalizedBaseParts.concat(name);
106
+ }
107
+
108
+ //start trimDots
109
+ for (i = 0; i < name.length; i++) {
110
+ part = name[i];
111
+ if (part === '.') {
112
+ name.splice(i, 1);
113
+ i -= 1;
114
+ } else if (part === '..') {
115
+ // If at the start, or previous value is still ..,
116
+ // keep them so that when converted to a path it may
117
+ // still work when converted to a path, even though
118
+ // as an ID it is less than ideal. In larger point
119
+ // releases, may be better to just kick out an error.
120
+ if (i === 0 || (i === 1 && name[2] === '..') || name[i - 1] === '..') {
121
+ continue;
122
+ } else if (i > 0) {
123
+ name.splice(i - 1, 2);
124
+ i -= 2;
125
+ }
126
+ }
127
+ }
128
+ //end trimDots
129
+
130
+ name = name.join('/');
131
+ }
132
+
133
+ //Apply map config if available.
134
+ if ((baseParts || starMap) && map) {
135
+ nameParts = name.split('/');
136
+
137
+ for (i = nameParts.length; i > 0; i -= 1) {
138
+ nameSegment = nameParts.slice(0, i).join("/");
139
+
140
+ if (baseParts) {
141
+ //Find the longest baseName segment match in the config.
142
+ //So, do joins on the biggest to smallest lengths of baseParts.
143
+ for (j = baseParts.length; j > 0; j -= 1) {
144
+ mapValue = map[baseParts.slice(0, j).join('/')];
145
+
146
+ //baseName segment has config, find if it has one for
147
+ //this name.
148
+ if (mapValue) {
149
+ mapValue = mapValue[nameSegment];
150
+ if (mapValue) {
151
+ //Match, update name to the new value.
152
+ foundMap = mapValue;
153
+ foundI = i;
154
+ break;
155
+ }
156
+ }
157
+ }
158
+ }
159
+
160
+ if (foundMap) {
161
+ break;
162
+ }
163
+
164
+ //Check for a star map match, but just hold on to it,
165
+ //if there is a shorter segment match later in a matching
166
+ //config, then favor over this star map.
167
+ if (!foundStarMap && starMap && starMap[nameSegment]) {
168
+ foundStarMap = starMap[nameSegment];
169
+ starI = i;
170
+ }
171
+ }
172
+
173
+ if (!foundMap && foundStarMap) {
174
+ foundMap = foundStarMap;
175
+ foundI = starI;
176
+ }
177
+
178
+ if (foundMap) {
179
+ nameParts.splice(0, foundI, foundMap);
180
+ name = nameParts.join('/');
181
+ }
182
+ }
183
+
184
+ return name;
185
+ }
186
+
187
+ function makeRequire(relName, forceSync) {
188
+ return function () {
189
+ //A version of a require function that passes a moduleName
190
+ //value for items that may need to
191
+ //look up paths relative to the moduleName
192
+ var args = aps.call(arguments, 0);
193
+
194
+ //If first arg is not require('string'), and there is only
195
+ //one arg, it is the array form without a callback. Insert
196
+ //a null so that the following concat is correct.
197
+ if (typeof args[0] !== 'string' && args.length === 1) {
198
+ args.push(null);
199
+ }
200
+ return req.apply(undef, args.concat([relName, forceSync]));
201
+ };
202
+ }
203
+
204
+ function makeNormalize(relName) {
205
+ return function (name) {
206
+ return normalize(name, relName);
207
+ };
208
+ }
209
+
210
+ function makeLoad(depName) {
211
+ return function (value) {
212
+ defined[depName] = value;
213
+ };
214
+ }
215
+
216
+ function callDep(name) {
217
+ if (hasProp(waiting, name)) {
218
+ var args = waiting[name];
219
+ delete waiting[name];
220
+ defining[name] = true;
221
+ main.apply(undef, args);
222
+ }
223
+
224
+ if (!hasProp(defined, name) && !hasProp(defining, name)) {
225
+ throw new Error('No ' + name);
226
+ }
227
+ return defined[name];
228
+ }
229
+
230
+ //Turns a plugin!resource to [plugin, resource]
231
+ //with the plugin being undefined if the name
232
+ //did not have a plugin prefix.
233
+ function splitPrefix(name) {
234
+ var prefix,
235
+ index = name ? name.indexOf('!') : -1;
236
+ if (index > -1) {
237
+ prefix = name.substring(0, index);
238
+ name = name.substring(index + 1, name.length);
239
+ }
240
+ return [prefix, name];
241
+ }
242
+
243
+ //Creates a parts array for a relName where first part is plugin ID,
244
+ //second part is resource ID. Assumes relName has already been normalized.
245
+ function makeRelParts(relName) {
246
+ return relName ? splitPrefix(relName) : [];
247
+ }
248
+
249
+ /**
250
+ * Makes a name map, normalizing the name, and using a plugin
251
+ * for normalization if necessary. Grabs a ref to plugin
252
+ * too, as an optimization.
253
+ */
254
+ makeMap = function (name, relParts) {
255
+ var plugin,
256
+ parts = splitPrefix(name),
257
+ prefix = parts[0],
258
+ relResourceName = relParts[1];
259
+
260
+ name = parts[1];
261
+
262
+ if (prefix) {
263
+ prefix = normalize(prefix, relResourceName);
264
+ plugin = callDep(prefix);
265
+ }
266
+
267
+ //Normalize according
268
+ if (prefix) {
269
+ if (plugin && plugin.normalize) {
270
+ name = plugin.normalize(name, makeNormalize(relResourceName));
271
+ } else {
272
+ name = normalize(name, relResourceName);
273
+ }
274
+ } else {
275
+ name = normalize(name, relResourceName);
276
+ parts = splitPrefix(name);
277
+ prefix = parts[0];
278
+ name = parts[1];
279
+ if (prefix) {
280
+ plugin = callDep(prefix);
281
+ }
282
+ }
283
+
284
+ //Using ridiculous property names for space reasons
285
+ return {
286
+ f: prefix ? prefix + '!' + name : name, //fullName
287
+ n: name,
288
+ pr: prefix,
289
+ p: plugin
290
+ };
291
+ };
292
+
293
+ function makeConfig(name) {
294
+ return function () {
295
+ return (config && config.config && config.config[name]) || {};
296
+ };
297
+ }
298
+
299
+ handlers = {
300
+ require: function (name) {
301
+ return makeRequire(name);
302
+ },
303
+ exports: function (name) {
304
+ var e = defined[name];
305
+ if (typeof e !== 'undefined') {
306
+ return e;
307
+ } else {
308
+ return (defined[name] = {});
309
+ }
310
+ },
311
+ module: function (name) {
312
+ return {
313
+ id: name,
314
+ uri: '',
315
+ exports: defined[name],
316
+ config: makeConfig(name)
317
+ };
318
+ }
319
+ };
320
+
321
+ main = function (name, deps, callback, relName) {
322
+ var cjsModule, depName, ret, map, i, relParts,
323
+ args = [],
324
+ callbackType = typeof callback,
325
+ usingExports;
326
+
327
+ //Use name if no relName
328
+ relName = relName || name;
329
+ relParts = makeRelParts(relName);
330
+
331
+ //Call the callback to define the module, if necessary.
332
+ if (callbackType === 'undefined' || callbackType === 'function') {
333
+ //Pull out the defined dependencies and pass the ordered
334
+ //values to the callback.
335
+ //Default to [require, exports, module] if no deps
336
+ deps = !deps.length && callback.length ? ['require', 'exports', 'module'] : deps;
337
+ for (i = 0; i < deps.length; i += 1) {
338
+ map = makeMap(deps[i], relParts);
339
+ depName = map.f;
340
+
341
+ //Fast path CommonJS standard dependencies.
342
+ if (depName === "require") {
343
+ args[i] = handlers.require(name);
344
+ } else if (depName === "exports") {
345
+ //CommonJS module spec 1.1
346
+ args[i] = handlers.exports(name);
347
+ usingExports = true;
348
+ } else if (depName === "module") {
349
+ //CommonJS module spec 1.1
350
+ cjsModule = args[i] = handlers.module(name);
351
+ } else if (hasProp(defined, depName) ||
352
+ hasProp(waiting, depName) ||
353
+ hasProp(defining, depName)) {
354
+ args[i] = callDep(depName);
355
+ } else if (map.p) {
356
+ map.p.load(map.n, makeRequire(relName, true), makeLoad(depName), {});
357
+ args[i] = defined[depName];
358
+ } else {
359
+ throw new Error(name + ' missing ' + depName);
360
+ }
361
+ }
362
+
363
+ ret = callback ? callback.apply(defined[name], args) : undefined;
364
+
365
+ if (name) {
366
+ //If setting exports via "module" is in play,
367
+ //favor that over return value and exports. After that,
368
+ //favor a non-undefined return value over exports use.
369
+ if (cjsModule && cjsModule.exports !== undef &&
370
+ cjsModule.exports !== defined[name]) {
371
+ defined[name] = cjsModule.exports;
372
+ } else if (ret !== undef || !usingExports) {
373
+ //Use the return value from the function.
374
+ defined[name] = ret;
375
+ }
376
+ }
377
+ } else if (name) {
378
+ //May just be an object definition for the module. Only
379
+ //worry about defining if have a module name.
380
+ defined[name] = callback;
381
+ }
382
+ };
383
+
384
+ requirejs = require = req = function (deps, callback, relName, forceSync, alt) {
385
+ if (typeof deps === "string") {
386
+ if (handlers[deps]) {
387
+ //callback in this case is really relName
388
+ return handlers[deps](callback);
389
+ }
390
+ //Just return the module wanted. In this scenario, the
391
+ //deps arg is the module name, and second arg (if passed)
392
+ //is just the relName.
393
+ //Normalize module name, if it contains . or ..
394
+ return callDep(makeMap(deps, makeRelParts(callback)).f);
395
+ } else if (!deps.splice) {
396
+ //deps is a config object, not an array.
397
+ config = deps;
398
+ if (config.deps) {
399
+ req(config.deps, config.callback);
400
+ }
401
+ if (!callback) {
402
+ return;
403
+ }
404
+
405
+ if (callback.splice) {
406
+ //callback is an array, which means it is a dependency list.
407
+ //Adjust args if there are dependencies
408
+ deps = callback;
409
+ callback = relName;
410
+ relName = null;
411
+ } else {
412
+ deps = undef;
413
+ }
414
+ }
415
+
416
+ //Support require(['a'])
417
+ callback = callback || function () {};
418
+
419
+ //If relName is a function, it is an errback handler,
420
+ //so remove it.
421
+ if (typeof relName === 'function') {
422
+ relName = forceSync;
423
+ forceSync = alt;
424
+ }
425
+
426
+ //Simulate async callback;
427
+ if (forceSync) {
428
+ main(undef, deps, callback, relName);
429
+ } else {
430
+ //Using a non-zero value because of concern for what old browsers
431
+ //do, and latest browsers "upgrade" to 4 if lower value is used:
432
+ //http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-windowtimers-settimeout:
433
+ //If want a value immediately, use require('id') instead -- something
434
+ //that works in almond on the global level, but not guaranteed and
435
+ //unlikely to work in other AMD implementations.
436
+ setTimeout(function () {
437
+ main(undef, deps, callback, relName);
438
+ }, 4);
439
+ }
440
+
441
+ return req;
442
+ };
443
+
444
+ /**
445
+ * Just drops the config on the floor, but returns req in case
446
+ * the config return value is used.
447
+ */
448
+ req.config = function (cfg) {
449
+ return req(cfg);
450
+ };
451
+
452
+ /**
453
+ * Expose module registry for debugging and tooling
454
+ */
455
+ requirejs._defined = defined;
456
+
457
+ define = function (name, deps, callback) {
458
+ if (typeof name !== 'string') {
459
+ throw new Error('See almond README: incorrect module build, no module name');
460
+ }
461
+
462
+ //This module may not have dependencies
463
+ if (!deps.splice) {
464
+ //deps is not an array, so probably means
465
+ //an object literal or factory function for
466
+ //the value. Adjust args.
467
+ callback = deps;
468
+ deps = [];
469
+ }
470
+
471
+ if (!hasProp(defined, name) && !hasProp(waiting, name)) {
472
+ waiting[name] = [name, deps, callback];
473
+ }
474
+ };
475
+
476
+ define.amd = {
477
+ jQuery: true
478
+ };
479
+ }());
480
+
481
+ S2.requirejs = requirejs;S2.require = require;S2.define = define;
482
+ }
483
+ }());
484
+ S2.define("almond", function(){});
485
+
486
+ /* global jQuery:false, $:false */
487
+ S2.define('jquery',[],function () {
488
+ var _$ = jQuery || $;
489
+
490
+ if (_$ == null && console && console.error) {
491
+ console.error(
492
+ 'Select2: An instance of jQuery or a jQuery-compatible library was not ' +
493
+ 'found. Make sure that you are including jQuery before Select2 on your ' +
494
+ 'web page.'
495
+ );
496
+ }
497
+
498
+ return _$;
499
+ });
500
+
501
+ S2.define('select2/utils',[
502
+ 'jquery'
503
+ ], function ($) {
504
+ var Utils = {};
505
+
506
+ Utils.Extend = function (ChildClass, SuperClass) {
507
+ var __hasProp = {}.hasOwnProperty;
508
+
509
+ function BaseConstructor () {
510
+ this.constructor = ChildClass;
511
+ }
512
+
513
+ for (var key in SuperClass) {
514
+ if (__hasProp.call(SuperClass, key)) {
515
+ ChildClass[key] = SuperClass[key];
516
+ }
517
+ }
518
+
519
+ BaseConstructor.prototype = SuperClass.prototype;
520
+ ChildClass.prototype = new BaseConstructor();
521
+ ChildClass.__super__ = SuperClass.prototype;
522
+
523
+ return ChildClass;
524
+ };
525
+
526
+ function getMethods (theClass) {
527
+ var proto = theClass.prototype;
528
+
529
+ var methods = [];
530
+
531
+ for (var methodName in proto) {
532
+ var m = proto[methodName];
533
+
534
+ if (typeof m !== 'function') {
535
+ continue;
536
+ }
537
+
538
+ if (methodName === 'constructor') {
539
+ continue;
540
+ }
541
+
542
+ methods.push(methodName);
543
+ }
544
+
545
+ return methods;
546
+ }
547
+
548
+ Utils.Decorate = function (SuperClass, DecoratorClass) {
549
+ var decoratedMethods = getMethods(DecoratorClass);
550
+ var superMethods = getMethods(SuperClass);
551
+
552
+ function DecoratedClass () {
553
+ var unshift = Array.prototype.unshift;
554
+
555
+ var argCount = DecoratorClass.prototype.constructor.length;
556
+
557
+ var calledConstructor = SuperClass.prototype.constructor;
558
+
559
+ if (argCount > 0) {
560
+ unshift.call(arguments, SuperClass.prototype.constructor);
561
+
562
+ calledConstructor = DecoratorClass.prototype.constructor;
563
+ }
564
+
565
+ calledConstructor.apply(this, arguments);
566
+ }
567
+
568
+ DecoratorClass.displayName = SuperClass.displayName;
569
+
570
+ function ctr () {
571
+ this.constructor = DecoratedClass;
572
+ }
573
+
574
+ DecoratedClass.prototype = new ctr();
575
+
576
+ for (var m = 0; m < superMethods.length; m++) {
577
+ var superMethod = superMethods[m];
578
+
579
+ DecoratedClass.prototype[superMethod] =
580
+ SuperClass.prototype[superMethod];
581
+ }
582
+
583
+ var calledMethod = function (methodName) {
584
+ // Stub out the original method if it's not decorating an actual method
585
+ var originalMethod = function () {};
586
+
587
+ if (methodName in DecoratedClass.prototype) {
588
+ originalMethod = DecoratedClass.prototype[methodName];
589
+ }
590
+
591
+ var decoratedMethod = DecoratorClass.prototype[methodName];
592
+
593
+ return function () {
594
+ var unshift = Array.prototype.unshift;
595
+
596
+ unshift.call(arguments, originalMethod);
597
+
598
+ return decoratedMethod.apply(this, arguments);
599
+ };
600
+ };
601
+
602
+ for (var d = 0; d < decoratedMethods.length; d++) {
603
+ var decoratedMethod = decoratedMethods[d];
604
+
605
+ DecoratedClass.prototype[decoratedMethod] = calledMethod(decoratedMethod);
606
+ }
607
+
608
+ return DecoratedClass;
609
+ };
610
+
611
+ var Observable = function () {
612
+ this.listeners = {};
613
+ };
614
+
615
+ Observable.prototype.on = function (event, callback) {
616
+ this.listeners = this.listeners || {};
617
+
618
+ if (event in this.listeners) {
619
+ this.listeners[event].push(callback);
620
+ } else {
621
+ this.listeners[event] = [callback];
622
+ }
623
+ };
624
+
625
+ Observable.prototype.trigger = function (event) {
626
+ var slice = Array.prototype.slice;
627
+ var params = slice.call(arguments, 1);
628
+
629
+ this.listeners = this.listeners || {};
630
+
631
+ // Params should always come in as an array
632
+ if (params == null) {
633
+ params = [];
634
+ }
635
+
636
+ // If there are no arguments to the event, use a temporary object
637
+ if (params.length === 0) {
638
+ params.push({});
639
+ }
640
+
641
+ // Set the `_type` of the first object to the event
642
+ params[0]._type = event;
643
+
644
+ if (event in this.listeners) {
645
+ this.invoke(this.listeners[event], slice.call(arguments, 1));
646
+ }
647
+
648
+ if ('*' in this.listeners) {
649
+ this.invoke(this.listeners['*'], arguments);
650
+ }
651
+ };
652
+
653
+ Observable.prototype.invoke = function (listeners, params) {
654
+ for (var i = 0, len = listeners.length; i < len; i++) {
655
+ listeners[i].apply(this, params);
656
+ }
657
+ };
658
+
659
+ Utils.Observable = Observable;
660
+
661
+ Utils.generateChars = function (length) {
662
+ var chars = '';
663
+
664
+ for (var i = 0; i < length; i++) {
665
+ var randomChar = Math.floor(Math.random() * 36);
666
+ chars += randomChar.toString(36);
667
+ }
668
+
669
+ return chars;
670
+ };
671
+
672
+ Utils.bind = function (func, context) {
673
+ return function () {
674
+ func.apply(context, arguments);
675
+ };
676
+ };
677
+
678
+ Utils._convertData = function (data) {
679
+ for (var originalKey in data) {
680
+ var keys = originalKey.split('-');
681
+
682
+ var dataLevel = data;
683
+
684
+ if (keys.length === 1) {
685
+ continue;
686
+ }
687
+
688
+ for (var k = 0; k < keys.length; k++) {
689
+ var key = keys[k];
690
+
691
+ // Lowercase the first letter
692
+ // By default, dash-separated becomes camelCase
693
+ key = key.substring(0, 1).toLowerCase() + key.substring(1);
694
+
695
+ if (!(key in dataLevel)) {
696
+ dataLevel[key] = {};
697
+ }
698
+
699
+ if (k == keys.length - 1) {
700
+ dataLevel[key] = data[originalKey];
701
+ }
702
+
703
+ dataLevel = dataLevel[key];
704
+ }
705
+
706
+ delete data[originalKey];
707
+ }
708
+
709
+ return data;
710
+ };
711
+
712
+ Utils.hasScroll = function (index, el) {
713
+ // Adapted from the function created by @ShadowScripter
714
+ // and adapted by @BillBarry on the Stack Exchange Code Review website.
715
+ // The original code can be found at
716
+ // http://codereview.stackexchange.com/q/13338
717
+ // and was designed to be used with the Sizzle selector engine.
718
+
719
+ var $el = $(el);
720
+ var overflowX = el.style.overflowX;
721
+ var overflowY = el.style.overflowY;
722
+
723
+ //Check both x and y declarations
724
+ if (overflowX === overflowY &&
725
+ (overflowY === 'hidden' || overflowY === 'visible')) {
726
+ return false;
727
+ }
728
+
729
+ if (overflowX === 'scroll' || overflowY === 'scroll') {
730
+ return true;
731
+ }
732
+
733
+ return ($el.innerHeight() < el.scrollHeight ||
734
+ $el.innerWidth() < el.scrollWidth);
735
+ };
736
+
737
+ Utils.escapeMarkup = function (markup) {
738
+ var replaceMap = {
739
+ '\\': '&#92;',
740
+ '&': '&amp;',
741
+ '<': '&lt;',
742
+ '>': '&gt;',
743
+ '"': '&quot;',
744
+ '\'': '&#39;',
745
+ '/': '&#47;'
746
+ };
747
+
748
+ // Do not try to escape the markup if it's not a string
749
+ if (typeof markup !== 'string') {
750
+ return markup;
751
+ }
752
+
753
+ return String(markup).replace(/[&<>"'\/\\]/g, function (match) {
754
+ return replaceMap[match];
755
+ });
756
+ };
757
+
758
+ // Append an array of jQuery nodes to a given element.
759
+ Utils.appendMany = function ($element, $nodes) {
760
+ // jQuery 1.7.x does not support $.fn.append() with an array
761
+ // Fall back to a jQuery object collection using $.fn.add()
762
+ if ($.fn.jquery.substr(0, 3) === '1.7') {
763
+ var $jqNodes = $();
764
+
765
+ $.map($nodes, function (node) {
766
+ $jqNodes = $jqNodes.add(node);
767
+ });
768
+
769
+ $nodes = $jqNodes;
770
+ }
771
+
772
+ $element.append($nodes);
773
+ };
774
+
775
+ return Utils;
776
+ });
777
+
778
+ S2.define('select2/results',[
779
+ 'jquery',
780
+ './utils'
781
+ ], function ($, Utils) {
782
+ function Results ($element, options, dataAdapter) {
783
+ this.$element = $element;
784
+ this.data = dataAdapter;
785
+ this.options = options;
786
+
787
+ Results.__super__.constructor.call(this);
788
+ }
789
+
790
+ Utils.Extend(Results, Utils.Observable);
791
+
792
+ Results.prototype.render = function () {
793
+ var $results = $(
794
+ '<ul class="select2-results__options" role="tree"></ul>'
795
+ );
796
+
797
+ if (this.options.get('multiple')) {
798
+ $results.attr('aria-multiselectable', 'true');
799
+ }
800
+
801
+ this.$results = $results;
802
+
803
+ return $results;
804
+ };
805
+
806
+ Results.prototype.clear = function () {
807
+ this.$results.empty();
808
+ };
809
+
810
+ Results.prototype.displayMessage = function (params) {
811
+ var escapeMarkup = this.options.get('escapeMarkup');
812
+
813
+ this.clear();
814
+ this.hideLoading();
815
+
816
+ var $message = $(
817
+ '<li role="treeitem" aria-live="assertive"' +
818
+ ' class="select2-results__option"></li>'
819
+ );
820
+
821
+ var message = this.options.get('translations').get(params.message);
822
+
823
+ $message.append(
824
+ escapeMarkup(
825
+ message(params.args)
826
+ )
827
+ );
828
+
829
+ $message[0].className += ' select2-results__message';
830
+
831
+ this.$results.append($message);
832
+ };
833
+
834
+ Results.prototype.hideMessages = function () {
835
+ this.$results.find('.select2-results__message').remove();
836
+ };
837
+
838
+ Results.prototype.append = function (data) {
839
+ this.hideLoading();
840
+
841
+ var $options = [];
842
+
843
+ if (data.results == null || data.results.length === 0) {
844
+ if (this.$results.children().length === 0) {
845
+ this.trigger('results:message', {
846
+ message: 'noResults'
847
+ });
848
+ }
849
+
850
+ return;
851
+ }
852
+
853
+ data.results = this.sort(data.results);
854
+
855
+ for (var d = 0; d < data.results.length; d++) {
856
+ var item = data.results[d];
857
+
858
+ var $option = this.option(item);
859
+
860
+ $options.push($option);
861
+ }
862
+
863
+ this.$results.append($options);
864
+ };
865
+
866
+ Results.prototype.position = function ($results, $dropdown) {
867
+ var $resultsContainer = $dropdown.find('.select2-results');
868
+ $resultsContainer.append($results);
869
+ };
870
+
871
+ Results.prototype.sort = function (data) {
872
+ var sorter = this.options.get('sorter');
873
+
874
+ return sorter(data);
875
+ };
876
+
877
+ Results.prototype.highlightFirstItem = function () {
878
+ var $options = this.$results
879
+ .find('.select2-results__option[aria-selected]');
880
+
881
+ var $selected = $options.filter('[aria-selected=true]');
882
+
883
+ // Check if there are any selected options
884
+ if ($selected.length > 0) {
885
+ // If there are selected options, highlight the first
886
+ $selected.first().trigger('mouseenter');
887
+ } else {
888
+ // If there are no selected options, highlight the first option
889
+ // in the dropdown
890
+ $options.first().trigger('mouseenter');
891
+ }
892
+
893
+ this.ensureHighlightVisible();
894
+ };
895
+
896
+ Results.prototype.setClasses = function () {
897
+ var self = this;
898
+
899
+ this.data.current(function (selected) {
900
+ var selectedIds = $.map(selected, function (s) {
901
+ return s.id.toString();
902
+ });
903
+
904
+ var $options = self.$results
905
+ .find('.select2-results__option[aria-selected]');
906
+
907
+ $options.each(function () {
908
+ var $option = $(this);
909
+
910
+ var item = $.data(this, 'data');
911
+
912
+ // id needs to be converted to a string when comparing
913
+ var id = '' + item.id;
914
+
915
+ if ((item.element != null && item.element.selected) ||
916
+ (item.element == null && $.inArray(id, selectedIds) > -1)) {
917
+ $option.attr('aria-selected', 'true');
918
+ } else {
919
+ $option.attr('aria-selected', 'false');
920
+ }
921
+ });
922
+
923
+ });
924
+ };
925
+
926
+ Results.prototype.showLoading = function (params) {
927
+ this.hideLoading();
928
+
929
+ var loadingMore = this.options.get('translations').get('searching');
930
+
931
+ var loading = {
932
+ disabled: true,
933
+ loading: true,
934
+ text: loadingMore(params)
935
+ };
936
+ var $loading = this.option(loading);
937
+ $loading.className += ' loading-results';
938
+
939
+ this.$results.prepend($loading);
940
+ };
941
+
942
+ Results.prototype.hideLoading = function () {
943
+ this.$results.find('.loading-results').remove();
944
+ };
945
+
946
+ Results.prototype.option = function (data) {
947
+ var option = document.createElement('li');
948
+ option.className = 'select2-results__option';
949
+
950
+ var attrs = {
951
+ 'role': 'treeitem',
952
+ 'aria-selected': 'false'
953
+ };
954
+
955
+ if (data.disabled) {
956
+ delete attrs['aria-selected'];
957
+ attrs['aria-disabled'] = 'true';
958
+ }
959
+
960
+ if (data.id == null) {
961
+ delete attrs['aria-selected'];
962
+ }
963
+
964
+ if (data._resultId != null) {
965
+ option.id = data._resultId;
966
+ }
967
+
968
+ if (data.title) {
969
+ option.title = data.title;
970
+ }
971
+
972
+ if (data.children) {
973
+ attrs.role = 'group';
974
+ attrs['aria-label'] = data.text;
975
+ delete attrs['aria-selected'];
976
+ }
977
+
978
+ for (var attr in attrs) {
979
+ var val = attrs[attr];
980
+
981
+ option.setAttribute(attr, val);
982
+ }
983
+
984
+ if (data.children) {
985
+ var $option = $(option);
986
+
987
+ var label = document.createElement('strong');
988
+ label.className = 'select2-results__group';
989
+
990
+ var $label = $(label);
991
+ this.template(data, label);
992
+
993
+ var $children = [];
994
+
995
+ for (var c = 0; c < data.children.length; c++) {
996
+ var child = data.children[c];
997
+
998
+ var $child = this.option(child);
999
+
1000
+ $children.push($child);
1001
+ }
1002
+
1003
+ var $childrenContainer = $('<ul></ul>', {
1004
+ 'class': 'select2-results__options select2-results__options--nested'
1005
+ });
1006
+
1007
+ $childrenContainer.append($children);
1008
+
1009
+ $option.append(label);
1010
+ $option.append($childrenContainer);
1011
+ } else {
1012
+ this.template(data, option);
1013
+ }
1014
+
1015
+ $.data(option, 'data', data);
1016
+
1017
+ return option;
1018
+ };
1019
+
1020
+ Results.prototype.bind = function (container, $container) {
1021
+ var self = this;
1022
+
1023
+ var id = container.id + '-results';
1024
+
1025
+ this.$results.attr('id', id);
1026
+
1027
+ container.on('results:all', function (params) {
1028
+ self.clear();
1029
+ self.append(params.data);
1030
+
1031
+ if (container.isOpen()) {
1032
+ self.setClasses();
1033
+ self.highlightFirstItem();
1034
+ }
1035
+ });
1036
+
1037
+ container.on('results:append', function (params) {
1038
+ self.append(params.data);
1039
+
1040
+ if (container.isOpen()) {
1041
+ self.setClasses();
1042
+ }
1043
+ });
1044
+
1045
+ container.on('query', function (params) {
1046
+ self.hideMessages();
1047
+ self.showLoading(params);
1048
+ });
1049
+
1050
+ container.on('select', function () {
1051
+ if (!container.isOpen()) {
1052
+ return;
1053
+ }
1054
+
1055
+ self.setClasses();
1056
+ self.highlightFirstItem();
1057
+ });
1058
+
1059
+ container.on('unselect', function () {
1060
+ if (!container.isOpen()) {
1061
+ return;
1062
+ }
1063
+
1064
+ self.setClasses();
1065
+ self.highlightFirstItem();
1066
+ });
1067
+
1068
+ container.on('open', function () {
1069
+ // When the dropdown is open, aria-expended="true"
1070
+ self.$results.attr('aria-expanded', 'true');
1071
+ self.$results.attr('aria-hidden', 'false');
1072
+
1073
+ self.setClasses();
1074
+ self.ensureHighlightVisible();
1075
+ });
1076
+
1077
+ container.on('close', function () {
1078
+ // When the dropdown is closed, aria-expended="false"
1079
+ self.$results.attr('aria-expanded', 'false');
1080
+ self.$results.attr('aria-hidden', 'true');
1081
+ self.$results.removeAttr('aria-activedescendant');
1082
+ });
1083
+
1084
+ container.on('results:toggle', function () {
1085
+ var $highlighted = self.getHighlightedResults();
1086
+
1087
+ if ($highlighted.length === 0) {
1088
+ return;
1089
+ }
1090
+
1091
+ $highlighted.trigger('mouseup');
1092
+ });
1093
+
1094
+ container.on('results:select', function () {
1095
+ var $highlighted = self.getHighlightedResults();
1096
+
1097
+ if ($highlighted.length === 0) {
1098
+ return;
1099
+ }
1100
+
1101
+ var data = $highlighted.data('data');
1102
+
1103
+ if ($highlighted.attr('aria-selected') == 'true') {
1104
+ self.trigger('close', {});
1105
+ } else {
1106
+ self.trigger('select', {
1107
+ data: data
1108
+ });
1109
+ }
1110
+ });
1111
+
1112
+ container.on('results:previous', function () {
1113
+ var $highlighted = self.getHighlightedResults();
1114
+
1115
+ var $options = self.$results.find('[aria-selected]');
1116
+
1117
+ var currentIndex = $options.index($highlighted);
1118
+
1119
+ // If we are already at te top, don't move further
1120
+ if (currentIndex === 0) {
1121
+ return;
1122
+ }
1123
+
1124
+ var nextIndex = currentIndex - 1;
1125
+
1126
+ // If none are highlighted, highlight the first
1127
+ if ($highlighted.length === 0) {
1128
+ nextIndex = 0;
1129
+ }
1130
+
1131
+ var $next = $options.eq(nextIndex);
1132
+
1133
+ $next.trigger('mouseenter');
1134
+
1135
+ var currentOffset = self.$results.offset().top;
1136
+ var nextTop = $next.offset().top;
1137
+ var nextOffset = self.$results.scrollTop() + (nextTop - currentOffset);
1138
+
1139
+ if (nextIndex === 0) {
1140
+ self.$results.scrollTop(0);
1141
+ } else if (nextTop - currentOffset < 0) {
1142
+ self.$results.scrollTop(nextOffset);
1143
+ }
1144
+ });
1145
+
1146
+ container.on('results:next', function () {
1147
+ var $highlighted = self.getHighlightedResults();
1148
+
1149
+ var $options = self.$results.find('[aria-selected]');
1150
+
1151
+ var currentIndex = $options.index($highlighted);
1152
+
1153
+ var nextIndex = currentIndex + 1;
1154
+
1155
+ // If we are at the last option, stay there
1156
+ if (nextIndex >= $options.length) {
1157
+ return;
1158
+ }
1159
+
1160
+ var $next = $options.eq(nextIndex);
1161
+
1162
+ $next.trigger('mouseenter');
1163
+
1164
+ var currentOffset = self.$results.offset().top +
1165
+ self.$results.outerHeight(false);
1166
+ var nextBottom = $next.offset().top + $next.outerHeight(false);
1167
+ var nextOffset = self.$results.scrollTop() + nextBottom - currentOffset;
1168
+
1169
+ if (nextIndex === 0) {
1170
+ self.$results.scrollTop(0);
1171
+ } else if (nextBottom > currentOffset) {
1172
+ self.$results.scrollTop(nextOffset);
1173
+ }
1174
+ });
1175
+
1176
+ container.on('results:focus', function (params) {
1177
+ params.element.addClass('select2-results__option--highlighted');
1178
+ });
1179
+
1180
+ container.on('results:message', function (params) {
1181
+ self.displayMessage(params);
1182
+ });
1183
+
1184
+ if ($.fn.mousewheel) {
1185
+ this.$results.on('mousewheel', function (e) {
1186
+ var top = self.$results.scrollTop();
1187
+
1188
+ var bottom = self.$results.get(0).scrollHeight - top + e.deltaY;
1189
+
1190
+ var isAtTop = e.deltaY > 0 && top - e.deltaY <= 0;
1191
+ var isAtBottom = e.deltaY < 0 && bottom <= self.$results.height();
1192
+
1193
+ if (isAtTop) {
1194
+ self.$results.scrollTop(0);
1195
+
1196
+ e.preventDefault();
1197
+ e.stopPropagation();
1198
+ } else if (isAtBottom) {
1199
+ self.$results.scrollTop(
1200
+ self.$results.get(0).scrollHeight - self.$results.height()
1201
+ );
1202
+
1203
+ e.preventDefault();
1204
+ e.stopPropagation();
1205
+ }
1206
+ });
1207
+ }
1208
+
1209
+ this.$results.on('mouseup', '.select2-results__option[aria-selected]',
1210
+ function (evt) {
1211
+ var $this = $(this);
1212
+
1213
+ var data = $this.data('data');
1214
+
1215
+ if ($this.attr('aria-selected') === 'true') {
1216
+ if (self.options.get('multiple')) {
1217
+ self.trigger('unselect', {
1218
+ originalEvent: evt,
1219
+ data: data
1220
+ });
1221
+ } else {
1222
+ self.trigger('close', {});
1223
+ }
1224
+
1225
+ return;
1226
+ }
1227
+
1228
+ self.trigger('select', {
1229
+ originalEvent: evt,
1230
+ data: data
1231
+ });
1232
+ });
1233
+
1234
+ this.$results.on('mouseenter', '.select2-results__option[aria-selected]',
1235
+ function (evt) {
1236
+ var data = $(this).data('data');
1237
+
1238
+ self.getHighlightedResults()
1239
+ .removeClass('select2-results__option--highlighted');
1240
+
1241
+ self.trigger('results:focus', {
1242
+ data: data,
1243
+ element: $(this)
1244
+ });
1245
+ });
1246
+ };
1247
+
1248
+ Results.prototype.getHighlightedResults = function () {
1249
+ var $highlighted = this.$results
1250
+ .find('.select2-results__option--highlighted');
1251
+
1252
+ return $highlighted;
1253
+ };
1254
+
1255
+ Results.prototype.destroy = function () {
1256
+ this.$results.remove();
1257
+ };
1258
+
1259
+ Results.prototype.ensureHighlightVisible = function () {
1260
+ var $highlighted = this.getHighlightedResults();
1261
+
1262
+ if ($highlighted.length === 0) {
1263
+ return;
1264
+ }
1265
+
1266
+ var $options = this.$results.find('[aria-selected]');
1267
+
1268
+ var currentIndex = $options.index($highlighted);
1269
+
1270
+ var currentOffset = this.$results.offset().top;
1271
+ var nextTop = $highlighted.offset().top;
1272
+ var nextOffset = this.$results.scrollTop() + (nextTop - currentOffset);
1273
+
1274
+ var offsetDelta = nextTop - currentOffset;
1275
+ nextOffset -= $highlighted.outerHeight(false) * 2;
1276
+
1277
+ if (currentIndex <= 2) {
1278
+ this.$results.scrollTop(0);
1279
+ } else if (offsetDelta > this.$results.outerHeight() || offsetDelta < 0) {
1280
+ this.$results.scrollTop(nextOffset);
1281
+ }
1282
+ };
1283
+
1284
+ Results.prototype.template = function (result, container) {
1285
+ var template = this.options.get('templateResult');
1286
+ var escapeMarkup = this.options.get('escapeMarkup');
1287
+
1288
+ var content = template(result, container);
1289
+
1290
+ if (content == null) {
1291
+ container.style.display = 'none';
1292
+ } else if (typeof content === 'string') {
1293
+ container.innerHTML = escapeMarkup(content);
1294
+ } else {
1295
+ $(container).append(content);
1296
+ }
1297
+ };
1298
+
1299
+ return Results;
1300
+ });
1301
+
1302
+ S2.define('select2/keys',[
1303
+
1304
+ ], function () {
1305
+ var KEYS = {
1306
+ BACKSPACE: 8,
1307
+ TAB: 9,
1308
+ ENTER: 13,
1309
+ SHIFT: 16,
1310
+ CTRL: 17,
1311
+ ALT: 18,
1312
+ ESC: 27,
1313
+ SPACE: 32,
1314
+ PAGE_UP: 33,
1315
+ PAGE_DOWN: 34,
1316
+ END: 35,
1317
+ HOME: 36,
1318
+ LEFT: 37,
1319
+ UP: 38,
1320
+ RIGHT: 39,
1321
+ DOWN: 40,
1322
+ DELETE: 46
1323
+ };
1324
+
1325
+ return KEYS;
1326
+ });
1327
+
1328
+ S2.define('select2/selection/base',[
1329
+ 'jquery',
1330
+ '../utils',
1331
+ '../keys'
1332
+ ], function ($, Utils, KEYS) {
1333
+ function BaseSelection ($element, options) {
1334
+ this.$element = $element;
1335
+ this.options = options;
1336
+
1337
+ BaseSelection.__super__.constructor.call(this);
1338
+ }
1339
+
1340
+ Utils.Extend(BaseSelection, Utils.Observable);
1341
+
1342
+ BaseSelection.prototype.render = function () {
1343
+ var $selection = $(
1344
+ '<span class="select2-selection" role="combobox" ' +
1345
+ ' aria-haspopup="true" aria-expanded="false">' +
1346
+ '</span>'
1347
+ );
1348
+
1349
+ this._tabindex = 0;
1350
+
1351
+ if (this.$element.data('old-tabindex') != null) {
1352
+ this._tabindex = this.$element.data('old-tabindex');
1353
+ } else if (this.$element.attr('tabindex') != null) {
1354
+ this._tabindex = this.$element.attr('tabindex');
1355
+ }
1356
+
1357
+ $selection.attr('title', this.$element.attr('title'));
1358
+ $selection.attr('tabindex', this._tabindex);
1359
+
1360
+ this.$selection = $selection;
1361
+
1362
+ return $selection;
1363
+ };
1364
+
1365
+ BaseSelection.prototype.bind = function (container, $container) {
1366
+ var self = this;
1367
+
1368
+ var id = container.id + '-container';
1369
+ var resultsId = container.id + '-results';
1370
+
1371
+ this.container = container;
1372
+
1373
+ this.$selection.on('focus', function (evt) {
1374
+ self.trigger('focus', evt);
1375
+ });
1376
+
1377
+ this.$selection.on('blur', function (evt) {
1378
+ self._handleBlur(evt);
1379
+ });
1380
+
1381
+ this.$selection.on('keydown', function (evt) {
1382
+ self.trigger('keypress', evt);
1383
+
1384
+ if (evt.which === KEYS.SPACE) {
1385
+ evt.preventDefault();
1386
+ }
1387
+ });
1388
+
1389
+ container.on('results:focus', function (params) {
1390
+ self.$selection.attr('aria-activedescendant', params.data._resultId);
1391
+ });
1392
+
1393
+ container.on('selection:update', function (params) {
1394
+ self.update(params.data);
1395
+ });
1396
+
1397
+ container.on('open', function () {
1398
+ // When the dropdown is open, aria-expanded="true"
1399
+ self.$selection.attr('aria-expanded', 'true');
1400
+ self.$selection.attr('aria-owns', resultsId);
1401
+
1402
+ self._attachCloseHandler(container);
1403
+ });
1404
+
1405
+ container.on('close', function () {
1406
+ // When the dropdown is closed, aria-expanded="false"
1407
+ self.$selection.attr('aria-expanded', 'false');
1408
+ self.$selection.removeAttr('aria-activedescendant');
1409
+ self.$selection.removeAttr('aria-owns');
1410
+
1411
+ self.$selection.focus();
1412
+
1413
+ self._detachCloseHandler(container);
1414
+ });
1415
+
1416
+ container.on('enable', function () {
1417
+ self.$selection.attr('tabindex', self._tabindex);
1418
+ });
1419
+
1420
+ container.on('disable', function () {
1421
+ self.$selection.attr('tabindex', '-1');
1422
+ });
1423
+ };
1424
+
1425
+ BaseSelection.prototype._handleBlur = function (evt) {
1426
+ var self = this;
1427
+
1428
+ // This needs to be delayed as the active element is the body when the tab
1429
+ // key is pressed, possibly along with others.
1430
+ window.setTimeout(function () {
1431
+ // Don't trigger `blur` if the focus is still in the selection
1432
+ if (
1433
+ (document.activeElement == self.$selection[0]) ||
1434
+ ($.contains(self.$selection[0], document.activeElement))
1435
+ ) {
1436
+ return;
1437
+ }
1438
+
1439
+ self.trigger('blur', evt);
1440
+ }, 1);
1441
+ };
1442
+
1443
+ BaseSelection.prototype._attachCloseHandler = function (container) {
1444
+ var self = this;
1445
+
1446
+ $(document.body).on('mousedown.select2.' + container.id, function (e) {
1447
+ var $target = $(e.target);
1448
+
1449
+ var $select = $target.closest('.select2');
1450
+
1451
+ var $all = $('.select2.select2-container--open');
1452
+
1453
+ $all.each(function () {
1454
+ var $this = $(this);
1455
+
1456
+ if (this == $select[0]) {
1457
+ return;
1458
+ }
1459
+
1460
+ var $element = $this.data('element');
1461
+
1462
+ $element.select2('close');
1463
+ });
1464
+ });
1465
+ };
1466
+
1467
+ BaseSelection.prototype._detachCloseHandler = function (container) {
1468
+ $(document.body).off('mousedown.select2.' + container.id);
1469
+ };
1470
+
1471
+ BaseSelection.prototype.position = function ($selection, $container) {
1472
+ var $selectionContainer = $container.find('.selection');
1473
+ $selectionContainer.append($selection);
1474
+ };
1475
+
1476
+ BaseSelection.prototype.destroy = function () {
1477
+ this._detachCloseHandler(this.container);
1478
+ };
1479
+
1480
+ BaseSelection.prototype.update = function (data) {
1481
+ throw new Error('The `update` method must be defined in child classes.');
1482
+ };
1483
+
1484
+ return BaseSelection;
1485
+ });
1486
+
1487
+ S2.define('select2/selection/single',[
1488
+ 'jquery',
1489
+ './base',
1490
+ '../utils',
1491
+ '../keys'
1492
+ ], function ($, BaseSelection, Utils, KEYS) {
1493
+ function SingleSelection () {
1494
+ SingleSelection.__super__.constructor.apply(this, arguments);
1495
+ }
1496
+
1497
+ Utils.Extend(SingleSelection, BaseSelection);
1498
+
1499
+ SingleSelection.prototype.render = function () {
1500
+ var $selection = SingleSelection.__super__.render.call(this);
1501
+
1502
+ $selection.addClass('select2-selection--single');
1503
+
1504
+ $selection.html(
1505
+ '<span class="select2-selection__rendered"></span>' +
1506
+ '<span class="select2-selection__arrow" role="presentation">' +
1507
+ '<b role="presentation"></b>' +
1508
+ '</span>'
1509
+ );
1510
+
1511
+ return $selection;
1512
+ };
1513
+
1514
+ SingleSelection.prototype.bind = function (container, $container) {
1515
+ var self = this;
1516
+
1517
+ SingleSelection.__super__.bind.apply(this, arguments);
1518
+
1519
+ var id = container.id + '-container';
1520
+
1521
+ this.$selection.find('.select2-selection__rendered').attr('id', id);
1522
+ this.$selection.attr('aria-labelledby', id);
1523
+
1524
+ this.$selection.on('mousedown', function (evt) {
1525
+ // Only respond to left clicks
1526
+ if (evt.which !== 1) {
1527
+ return;
1528
+ }
1529
+
1530
+ self.trigger('toggle', {
1531
+ originalEvent: evt
1532
+ });
1533
+ });
1534
+
1535
+ this.$selection.on('focus', function (evt) {
1536
+ // User focuses on the container
1537
+ });
1538
+
1539
+ this.$selection.on('blur', function (evt) {
1540
+ // User exits the container
1541
+ });
1542
+
1543
+ container.on('focus', function (evt) {
1544
+ if (!container.isOpen()) {
1545
+ self.$selection.focus();
1546
+ }
1547
+ });
1548
+
1549
+ container.on('selection:update', function (params) {
1550
+ self.update(params.data);
1551
+ });
1552
+ };
1553
+
1554
+ SingleSelection.prototype.clear = function () {
1555
+ this.$selection.find('.select2-selection__rendered').empty();
1556
+ };
1557
+
1558
+ SingleSelection.prototype.display = function (data, container) {
1559
+ var template = this.options.get('templateSelection');
1560
+ var escapeMarkup = this.options.get('escapeMarkup');
1561
+
1562
+ return escapeMarkup(template(data, container));
1563
+ };
1564
+
1565
+ SingleSelection.prototype.selectionContainer = function () {
1566
+ return $('<span></span>');
1567
+ };
1568
+
1569
+ SingleSelection.prototype.update = function (data) {
1570
+ if (data.length === 0) {
1571
+ this.clear();
1572
+ return;
1573
+ }
1574
+
1575
+ var selection = data[0];
1576
+
1577
+ var $rendered = this.$selection.find('.select2-selection__rendered');
1578
+ var formatted = this.display(selection, $rendered);
1579
+
1580
+ $rendered.empty().append(formatted);
1581
+ $rendered.prop('title', selection.title || selection.text);
1582
+ };
1583
+
1584
+ return SingleSelection;
1585
+ });
1586
+
1587
+ S2.define('select2/selection/multiple',[
1588
+ 'jquery',
1589
+ './base',
1590
+ '../utils'
1591
+ ], function ($, BaseSelection, Utils) {
1592
+ function MultipleSelection ($element, options) {
1593
+ MultipleSelection.__super__.constructor.apply(this, arguments);
1594
+ }
1595
+
1596
+ Utils.Extend(MultipleSelection, BaseSelection);
1597
+
1598
+ MultipleSelection.prototype.render = function () {
1599
+ var $selection = MultipleSelection.__super__.render.call(this);
1600
+
1601
+ $selection.addClass('select2-selection--multiple');
1602
+
1603
+ $selection.html(
1604
+ '<ul class="select2-selection__rendered"></ul>'
1605
+ );
1606
+
1607
+ return $selection;
1608
+ };
1609
+
1610
+ MultipleSelection.prototype.bind = function (container, $container) {
1611
+ var self = this;
1612
+
1613
+ MultipleSelection.__super__.bind.apply(this, arguments);
1614
+
1615
+ this.$selection.on('click', function (evt) {
1616
+ self.trigger('toggle', {
1617
+ originalEvent: evt
1618
+ });
1619
+ });
1620
+
1621
+ this.$selection.on(
1622
+ 'click',
1623
+ '.select2-selection__choice__remove',
1624
+ function (evt) {
1625
+ // Ignore the event if it is disabled
1626
+ if (self.options.get('disabled')) {
1627
+ return;
1628
+ }
1629
+
1630
+ var $remove = $(this);
1631
+ var $selection = $remove.parent();
1632
+
1633
+ var data = $selection.data('data');
1634
+
1635
+ self.trigger('unselect', {
1636
+ originalEvent: evt,
1637
+ data: data
1638
+ });
1639
+ }
1640
+ );
1641
+ };
1642
+
1643
+ MultipleSelection.prototype.clear = function () {
1644
+ this.$selection.find('.select2-selection__rendered').empty();
1645
+ };
1646
+
1647
+ MultipleSelection.prototype.display = function (data, container) {
1648
+ var template = this.options.get('templateSelection');
1649
+ var escapeMarkup = this.options.get('escapeMarkup');
1650
+
1651
+ return escapeMarkup(template(data, container));
1652
+ };
1653
+
1654
+ MultipleSelection.prototype.selectionContainer = function () {
1655
+ var $container = $(
1656
+ '<li class="select2-selection__choice">' +
1657
+ '<span class="select2-selection__choice__remove" role="presentation">' +
1658
+ '&times;' +
1659
+ '</span>' +
1660
+ '</li>'
1661
+ );
1662
+
1663
+ return $container;
1664
+ };
1665
+
1666
+ MultipleSelection.prototype.update = function (data) {
1667
+ this.clear();
1668
+
1669
+ if (data.length === 0) {
1670
+ return;
1671
+ }
1672
+
1673
+ var $selections = [];
1674
+
1675
+ for (var d = 0; d < data.length; d++) {
1676
+ var selection = data[d];
1677
+
1678
+ var $selection = this.selectionContainer();
1679
+ var formatted = this.display(selection, $selection);
1680
+
1681
+ $selection.append(formatted);
1682
+ $selection.prop('title', selection.title || selection.text);
1683
+
1684
+ $selection.data('data', selection);
1685
+
1686
+ $selections.push($selection);
1687
+ }
1688
+
1689
+ var $rendered = this.$selection.find('.select2-selection__rendered');
1690
+
1691
+ Utils.appendMany($rendered, $selections);
1692
+ };
1693
+
1694
+ return MultipleSelection;
1695
+ });
1696
+
1697
+ S2.define('select2/selection/placeholder',[
1698
+ '../utils'
1699
+ ], function (Utils) {
1700
+ function Placeholder (decorated, $element, options) {
1701
+ this.placeholder = this.normalizePlaceholder(options.get('placeholder'));
1702
+
1703
+ decorated.call(this, $element, options);
1704
+ }
1705
+
1706
+ Placeholder.prototype.normalizePlaceholder = function (_, placeholder) {
1707
+ if (typeof placeholder === 'string') {
1708
+ placeholder = {
1709
+ id: '',
1710
+ text: placeholder
1711
+ };
1712
+ }
1713
+
1714
+ return placeholder;
1715
+ };
1716
+
1717
+ Placeholder.prototype.createPlaceholder = function (decorated, placeholder) {
1718
+ var $placeholder = this.selectionContainer();
1719
+
1720
+ $placeholder.html(this.display(placeholder));
1721
+ $placeholder.addClass('select2-selection__placeholder')
1722
+ .removeClass('select2-selection__choice');
1723
+
1724
+ return $placeholder;
1725
+ };
1726
+
1727
+ Placeholder.prototype.update = function (decorated, data) {
1728
+ var singlePlaceholder = (
1729
+ data.length == 1 && data[0].id != this.placeholder.id
1730
+ );
1731
+ var multipleSelections = data.length > 1;
1732
+
1733
+ if (multipleSelections || singlePlaceholder) {
1734
+ return decorated.call(this, data);
1735
+ }
1736
+
1737
+ this.clear();
1738
+
1739
+ var $placeholder = this.createPlaceholder(this.placeholder);
1740
+
1741
+ this.$selection.find('.select2-selection__rendered').append($placeholder);
1742
+ };
1743
+
1744
+ return Placeholder;
1745
+ });
1746
+
1747
+ S2.define('select2/selection/allowClear',[
1748
+ 'jquery',
1749
+ '../keys'
1750
+ ], function ($, KEYS) {
1751
+ function AllowClear () { }
1752
+
1753
+ AllowClear.prototype.bind = function (decorated, container, $container) {
1754
+ var self = this;
1755
+
1756
+ decorated.call(this, container, $container);
1757
+
1758
+ if (this.placeholder == null) {
1759
+ if (this.options.get('debug') && window.console && console.error) {
1760
+ console.error(
1761
+ 'Select2: The `allowClear` option should be used in combination ' +
1762
+ 'with the `placeholder` option.'
1763
+ );
1764
+ }
1765
+ }
1766
+
1767
+ this.$selection.on('mousedown', '.select2-selection__clear',
1768
+ function (evt) {
1769
+ self._handleClear(evt);
1770
+ });
1771
+
1772
+ container.on('keypress', function (evt) {
1773
+ self._handleKeyboardClear(evt, container);
1774
+ });
1775
+ };
1776
+
1777
+ AllowClear.prototype._handleClear = function (_, evt) {
1778
+ // Ignore the event if it is disabled
1779
+ if (this.options.get('disabled')) {
1780
+ return;
1781
+ }
1782
+
1783
+ var $clear = this.$selection.find('.select2-selection__clear');
1784
+
1785
+ // Ignore the event if nothing has been selected
1786
+ if ($clear.length === 0) {
1787
+ return;
1788
+ }
1789
+
1790
+ evt.stopPropagation();
1791
+
1792
+ var data = $clear.data('data');
1793
+
1794
+ for (var d = 0; d < data.length; d++) {
1795
+ var unselectData = {
1796
+ data: data[d]
1797
+ };
1798
+
1799
+ // Trigger the `unselect` event, so people can prevent it from being
1800
+ // cleared.
1801
+ this.trigger('unselect', unselectData);
1802
+
1803
+ // If the event was prevented, don't clear it out.
1804
+ if (unselectData.prevented) {
1805
+ return;
1806
+ }
1807
+ }
1808
+
1809
+ this.$element.val(this.placeholder.id).trigger('change');
1810
+
1811
+ this.trigger('toggle', {});
1812
+ };
1813
+
1814
+ AllowClear.prototype._handleKeyboardClear = function (_, evt, container) {
1815
+ if (container.isOpen()) {
1816
+ return;
1817
+ }
1818
+
1819
+ if (evt.which == KEYS.DELETE || evt.which == KEYS.BACKSPACE) {
1820
+ this._handleClear(evt);
1821
+ }
1822
+ };
1823
+
1824
+ AllowClear.prototype.update = function (decorated, data) {
1825
+ decorated.call(this, data);
1826
+
1827
+ if (this.$selection.find('.select2-selection__placeholder').length > 0 ||
1828
+ data.length === 0) {
1829
+ return;
1830
+ }
1831
+
1832
+ var $remove = $(
1833
+ '<span class="select2-selection__clear">' +
1834
+ '&times;' +
1835
+ '</span>'
1836
+ );
1837
+ $remove.data('data', data);
1838
+
1839
+ this.$selection.find('.select2-selection__rendered').prepend($remove);
1840
+ };
1841
+
1842
+ return AllowClear;
1843
+ });
1844
+
1845
+ S2.define('select2/selection/search',[
1846
+ 'jquery',
1847
+ '../utils',
1848
+ '../keys'
1849
+ ], function ($, Utils, KEYS) {
1850
+ function Search (decorated, $element, options) {
1851
+ decorated.call(this, $element, options);
1852
+ }
1853
+
1854
+ Search.prototype.render = function (decorated) {
1855
+ var $search = $(
1856
+ '<li class="select2-search select2-search--inline">' +
1857
+ '<input class="select2-search__field" type="search" tabindex="-1"' +
1858
+ ' autocomplete="off" autocorrect="off" autocapitalize="off"' +
1859
+ ' spellcheck="false" role="textbox" aria-autocomplete="list" />' +
1860
+ '</li>'
1861
+ );
1862
+
1863
+ this.$searchContainer = $search;
1864
+ this.$search = $search.find('input');
1865
+
1866
+ var $rendered = decorated.call(this);
1867
+
1868
+ this._transferTabIndex();
1869
+
1870
+ return $rendered;
1871
+ };
1872
+
1873
+ Search.prototype.bind = function (decorated, container, $container) {
1874
+ var self = this;
1875
+
1876
+ decorated.call(this, container, $container);
1877
+
1878
+ container.on('open', function () {
1879
+ self.$search.trigger('focus');
1880
+ });
1881
+
1882
+ container.on('close', function () {
1883
+ self.$search.val('');
1884
+ self.$search.removeAttr('aria-activedescendant');
1885
+ self.$search.trigger('focus');
1886
+ });
1887
+
1888
+ container.on('enable', function () {
1889
+ self.$search.prop('disabled', false);
1890
+
1891
+ self._transferTabIndex();
1892
+ });
1893
+
1894
+ container.on('disable', function () {
1895
+ self.$search.prop('disabled', true);
1896
+ });
1897
+
1898
+ container.on('focus', function (evt) {
1899
+ self.$search.trigger('focus');
1900
+ });
1901
+
1902
+ container.on('results:focus', function (params) {
1903
+ self.$search.attr('aria-activedescendant', params.id);
1904
+ });
1905
+
1906
+ this.$selection.on('focusin', '.select2-search--inline', function (evt) {
1907
+ self.trigger('focus', evt);
1908
+ });
1909
+
1910
+ this.$selection.on('focusout', '.select2-search--inline', function (evt) {
1911
+ self._handleBlur(evt);
1912
+ });
1913
+
1914
+ this.$selection.on('keydown', '.select2-search--inline', function (evt) {
1915
+ evt.stopPropagation();
1916
+
1917
+ self.trigger('keypress', evt);
1918
+
1919
+ self._keyUpPrevented = evt.isDefaultPrevented();
1920
+
1921
+ var key = evt.which;
1922
+
1923
+ if (key === KEYS.BACKSPACE && self.$search.val() === '') {
1924
+ var $previousChoice = self.$searchContainer
1925
+ .prev('.select2-selection__choice');
1926
+
1927
+ if ($previousChoice.length > 0) {
1928
+ var item = $previousChoice.data('data');
1929
+
1930
+ self.searchRemoveChoice(item);
1931
+
1932
+ evt.preventDefault();
1933
+ }
1934
+ }
1935
+ });
1936
+
1937
+ // Try to detect the IE version should the `documentMode` property that
1938
+ // is stored on the document. This is only implemented in IE and is
1939
+ // slightly cleaner than doing a user agent check.
1940
+ // This property is not available in Edge, but Edge also doesn't have
1941
+ // this bug.
1942
+ var msie = document.documentMode;
1943
+ var disableInputEvents = msie && msie <= 11;
1944
+
1945
+ // Workaround for browsers which do not support the `input` event
1946
+ // This will prevent double-triggering of events for browsers which support
1947
+ // both the `keyup` and `input` events.
1948
+ this.$selection.on(
1949
+ 'input.searchcheck',
1950
+ '.select2-search--inline',
1951
+ function (evt) {
1952
+ // IE will trigger the `input` event when a placeholder is used on a
1953
+ // search box. To get around this issue, we are forced to ignore all
1954
+ // `input` events in IE and keep using `keyup`.
1955
+ if (disableInputEvents) {
1956
+ self.$selection.off('input.search input.searchcheck');
1957
+ return;
1958
+ }
1959
+
1960
+ // Unbind the duplicated `keyup` event
1961
+ self.$selection.off('keyup.search');
1962
+ }
1963
+ );
1964
+
1965
+ this.$selection.on(
1966
+ 'keyup.search input.search',
1967
+ '.select2-search--inline',
1968
+ function (evt) {
1969
+ // IE will trigger the `input` event when a placeholder is used on a
1970
+ // search box. To get around this issue, we are forced to ignore all
1971
+ // `input` events in IE and keep using `keyup`.
1972
+ if (disableInputEvents && evt.type === 'input') {
1973
+ self.$selection.off('input.search input.searchcheck');
1974
+ return;
1975
+ }
1976
+
1977
+ var key = evt.which;
1978
+
1979
+ // We can freely ignore events from modifier keys
1980
+ if (key == KEYS.SHIFT || key == KEYS.CTRL || key == KEYS.ALT) {
1981
+ return;
1982
+ }
1983
+
1984
+ // Tabbing will be handled during the `keydown` phase
1985
+ if (key == KEYS.TAB) {
1986
+ return;
1987
+ }
1988
+
1989
+ self.handleSearch(evt);
1990
+ }
1991
+ );
1992
+ };
1993
+
1994
+ /**
1995
+ * This method will transfer the tabindex attribute from the rendered
1996
+ * selection to the search box. This allows for the search box to be used as
1997
+ * the primary focus instead of the selection container.
1998
+ *
1999
+ * @private
2000
+ */
2001
+ Search.prototype._transferTabIndex = function (decorated) {
2002
+ this.$search.attr('tabindex', this.$selection.attr('tabindex'));
2003
+ this.$selection.attr('tabindex', '-1');
2004
+ };
2005
+
2006
+ Search.prototype.createPlaceholder = function (decorated, placeholder) {
2007
+ this.$search.attr('placeholder', placeholder.text);
2008
+ };
2009
+
2010
+ Search.prototype.update = function (decorated, data) {
2011
+ var searchHadFocus = this.$search[0] == document.activeElement;
2012
+
2013
+ this.$search.attr('placeholder', '');
2014
+
2015
+ decorated.call(this, data);
2016
+
2017
+ this.$selection.find('.select2-selection__rendered')
2018
+ .append(this.$searchContainer);
2019
+
2020
+ this.resizeSearch();
2021
+ if (searchHadFocus) {
2022
+ this.$search.focus();
2023
+ }
2024
+ };
2025
+
2026
+ Search.prototype.handleSearch = function () {
2027
+ this.resizeSearch();
2028
+
2029
+ if (!this._keyUpPrevented) {
2030
+ var input = this.$search.val();
2031
+
2032
+ this.trigger('query', {
2033
+ term: input
2034
+ });
2035
+ }
2036
+
2037
+ this._keyUpPrevented = false;
2038
+ };
2039
+
2040
+ Search.prototype.searchRemoveChoice = function (decorated, item) {
2041
+ this.trigger('unselect', {
2042
+ data: item
2043
+ });
2044
+
2045
+ this.$search.val(item.text);
2046
+ this.handleSearch();
2047
+ };
2048
+
2049
+ Search.prototype.resizeSearch = function () {
2050
+ this.$search.css('width', '25px');
2051
+
2052
+ var width = '';
2053
+
2054
+ if (this.$search.attr('placeholder') !== '') {
2055
+ width = this.$selection.find('.select2-selection__rendered').innerWidth();
2056
+ } else {
2057
+ var minimumWidth = this.$search.val().length + 1;
2058
+
2059
+ width = (minimumWidth * 0.75) + 'em';
2060
+ }
2061
+
2062
+ this.$search.css('width', width);
2063
+ };
2064
+
2065
+ return Search;
2066
+ });
2067
+
2068
+ S2.define('select2/selection/eventRelay',[
2069
+ 'jquery'
2070
+ ], function ($) {
2071
+ function EventRelay () { }
2072
+
2073
+ EventRelay.prototype.bind = function (decorated, container, $container) {
2074
+ var self = this;
2075
+ var relayEvents = [
2076
+ 'open', 'opening',
2077
+ 'close', 'closing',
2078
+ 'select', 'selecting',
2079
+ 'unselect', 'unselecting'
2080
+ ];
2081
+
2082
+ var preventableEvents = ['opening', 'closing', 'selecting', 'unselecting'];
2083
+
2084
+ decorated.call(this, container, $container);
2085
+
2086
+ container.on('*', function (name, params) {
2087
+ // Ignore events that should not be relayed
2088
+ if ($.inArray(name, relayEvents) === -1) {
2089
+ return;
2090
+ }
2091
+
2092
+ // The parameters should always be an object
2093
+ params = params || {};
2094
+
2095
+ // Generate the jQuery event for the Select2 event
2096
+ var evt = $.Event('select2:' + name, {
2097
+ params: params
2098
+ });
2099
+
2100
+ self.$element.trigger(evt);
2101
+
2102
+ // Only handle preventable events if it was one
2103
+ if ($.inArray(name, preventableEvents) === -1) {
2104
+ return;
2105
+ }
2106
+
2107
+ params.prevented = evt.isDefaultPrevented();
2108
+ });
2109
+ };
2110
+
2111
+ return EventRelay;
2112
+ });
2113
+
2114
+ S2.define('select2/translation',[
2115
+ 'jquery',
2116
+ 'require'
2117
+ ], function ($, require) {
2118
+ function Translation (dict) {
2119
+ this.dict = dict || {};
2120
+ }
2121
+
2122
+ Translation.prototype.all = function () {
2123
+ return this.dict;
2124
+ };
2125
+
2126
+ Translation.prototype.get = function (key) {
2127
+ return this.dict[key];
2128
+ };
2129
+
2130
+ Translation.prototype.extend = function (translation) {
2131
+ this.dict = $.extend({}, translation.all(), this.dict);
2132
+ };
2133
+
2134
+ // Static functions
2135
+
2136
+ Translation._cache = {};
2137
+
2138
+ Translation.loadPath = function (path) {
2139
+ if (!(path in Translation._cache)) {
2140
+ var translations = require(path);
2141
+
2142
+ Translation._cache[path] = translations;
2143
+ }
2144
+
2145
+ return new Translation(Translation._cache[path]);
2146
+ };
2147
+
2148
+ return Translation;
2149
+ });
2150
+
2151
+ S2.define('select2/diacritics',[
2152
+
2153
+ ], function () {
2154
+ var diacritics = {
2155
+ '\u24B6': 'A',
2156
+ '\uFF21': 'A',
2157
+ '\u00C0': 'A',
2158
+ '\u00C1': 'A',
2159
+ '\u00C2': 'A',
2160
+ '\u1EA6': 'A',
2161
+ '\u1EA4': 'A',
2162
+ '\u1EAA': 'A',
2163
+ '\u1EA8': 'A',
2164
+ '\u00C3': 'A',
2165
+ '\u0100': 'A',
2166
+ '\u0102': 'A',
2167
+ '\u1EB0': 'A',
2168
+ '\u1EAE': 'A',
2169
+ '\u1EB4': 'A',
2170
+ '\u1EB2': 'A',
2171
+ '\u0226': 'A',
2172
+ '\u01E0': 'A',
2173
+ '\u00C4': 'A',
2174
+ '\u01DE': 'A',
2175
+ '\u1EA2': 'A',
2176
+ '\u00C5': 'A',
2177
+ '\u01FA': 'A',
2178
+ '\u01CD': 'A',
2179
+ '\u0200': 'A',
2180
+ '\u0202': 'A',
2181
+ '\u1EA0': 'A',
2182
+ '\u1EAC': 'A',
2183
+ '\u1EB6': 'A',
2184
+ '\u1E00': 'A',
2185
+ '\u0104': 'A',
2186
+ '\u023A': 'A',
2187
+ '\u2C6F': 'A',
2188
+ '\uA732': 'AA',
2189
+ '\u00C6': 'AE',
2190
+ '\u01FC': 'AE',
2191
+ '\u01E2': 'AE',
2192
+ '\uA734': 'AO',
2193
+ '\uA736': 'AU',
2194
+ '\uA738': 'AV',
2195
+ '\uA73A': 'AV',
2196
+ '\uA73C': 'AY',
2197
+ '\u24B7': 'B',
2198
+ '\uFF22': 'B',
2199
+ '\u1E02': 'B',
2200
+ '\u1E04': 'B',
2201
+ '\u1E06': 'B',
2202
+ '\u0243': 'B',
2203
+ '\u0182': 'B',
2204
+ '\u0181': 'B',
2205
+ '\u24B8': 'C',
2206
+ '\uFF23': 'C',
2207
+ '\u0106': 'C',
2208
+ '\u0108': 'C',
2209
+ '\u010A': 'C',
2210
+ '\u010C': 'C',
2211
+ '\u00C7': 'C',
2212
+ '\u1E08': 'C',
2213
+ '\u0187': 'C',
2214
+ '\u023B': 'C',
2215
+ '\uA73E': 'C',
2216
+ '\u24B9': 'D',
2217
+ '\uFF24': 'D',
2218
+ '\u1E0A': 'D',
2219
+ '\u010E': 'D',
2220
+ '\u1E0C': 'D',
2221
+ '\u1E10': 'D',
2222
+ '\u1E12': 'D',
2223
+ '\u1E0E': 'D',
2224
+ '\u0110': 'D',
2225
+ '\u018B': 'D',
2226
+ '\u018A': 'D',
2227
+ '\u0189': 'D',
2228
+ '\uA779': 'D',
2229
+ '\u01F1': 'DZ',
2230
+ '\u01C4': 'DZ',
2231
+ '\u01F2': 'Dz',
2232
+ '\u01C5': 'Dz',
2233
+ '\u24BA': 'E',
2234
+ '\uFF25': 'E',
2235
+ '\u00C8': 'E',
2236
+ '\u00C9': 'E',
2237
+ '\u00CA': 'E',
2238
+ '\u1EC0': 'E',
2239
+ '\u1EBE': 'E',
2240
+ '\u1EC4': 'E',
2241
+ '\u1EC2': 'E',
2242
+ '\u1EBC': 'E',
2243
+ '\u0112': 'E',
2244
+ '\u1E14': 'E',
2245
+ '\u1E16': 'E',
2246
+ '\u0114': 'E',
2247
+ '\u0116': 'E',
2248
+ '\u00CB': 'E',
2249
+ '\u1EBA': 'E',
2250
+ '\u011A': 'E',
2251
+ '\u0204': 'E',
2252
+ '\u0206': 'E',
2253
+ '\u1EB8': 'E',
2254
+ '\u1EC6': 'E',
2255
+ '\u0228': 'E',
2256
+ '\u1E1C': 'E',
2257
+ '\u0118': 'E',
2258
+ '\u1E18': 'E',
2259
+ '\u1E1A': 'E',
2260
+ '\u0190': 'E',
2261
+ '\u018E': 'E',
2262
+ '\u24BB': 'F',
2263
+ '\uFF26': 'F',
2264
+ '\u1E1E': 'F',
2265
+ '\u0191': 'F',
2266
+ '\uA77B': 'F',
2267
+ '\u24BC': 'G',
2268
+ '\uFF27': 'G',
2269
+ '\u01F4': 'G',
2270
+ '\u011C': 'G',
2271
+ '\u1E20': 'G',
2272
+ '\u011E': 'G',
2273
+ '\u0120': 'G',
2274
+ '\u01E6': 'G',
2275
+ '\u0122': 'G',
2276
+ '\u01E4': 'G',
2277
+ '\u0193': 'G',
2278
+ '\uA7A0': 'G',
2279
+ '\uA77D': 'G',
2280
+ '\uA77E': 'G',
2281
+ '\u24BD': 'H',
2282
+ '\uFF28': 'H',
2283
+ '\u0124': 'H',
2284
+ '\u1E22': 'H',
2285
+ '\u1E26': 'H',
2286
+ '\u021E': 'H',
2287
+ '\u1E24': 'H',
2288
+ '\u1E28': 'H',
2289
+ '\u1E2A': 'H',
2290
+ '\u0126': 'H',
2291
+ '\u2C67': 'H',
2292
+ '\u2C75': 'H',
2293
+ '\uA78D': 'H',
2294
+ '\u24BE': 'I',
2295
+ '\uFF29': 'I',
2296
+ '\u00CC': 'I',
2297
+ '\u00CD': 'I',
2298
+ '\u00CE': 'I',
2299
+ '\u0128': 'I',
2300
+ '\u012A': 'I',
2301
+ '\u012C': 'I',
2302
+ '\u0130': 'I',
2303
+ '\u00CF': 'I',
2304
+ '\u1E2E': 'I',
2305
+ '\u1EC8': 'I',
2306
+ '\u01CF': 'I',
2307
+ '\u0208': 'I',
2308
+ '\u020A': 'I',
2309
+ '\u1ECA': 'I',
2310
+ '\u012E': 'I',
2311
+ '\u1E2C': 'I',
2312
+ '\u0197': 'I',
2313
+ '\u24BF': 'J',
2314
+ '\uFF2A': 'J',
2315
+ '\u0134': 'J',
2316
+ '\u0248': 'J',
2317
+ '\u24C0': 'K',
2318
+ '\uFF2B': 'K',
2319
+ '\u1E30': 'K',
2320
+ '\u01E8': 'K',
2321
+ '\u1E32': 'K',
2322
+ '\u0136': 'K',
2323
+ '\u1E34': 'K',
2324
+ '\u0198': 'K',
2325
+ '\u2C69': 'K',
2326
+ '\uA740': 'K',
2327
+ '\uA742': 'K',
2328
+ '\uA744': 'K',
2329
+ '\uA7A2': 'K',
2330
+ '\u24C1': 'L',
2331
+ '\uFF2C': 'L',
2332
+ '\u013F': 'L',
2333
+ '\u0139': 'L',
2334
+ '\u013D': 'L',
2335
+ '\u1E36': 'L',
2336
+ '\u1E38': 'L',
2337
+ '\u013B': 'L',
2338
+ '\u1E3C': 'L',
2339
+ '\u1E3A': 'L',
2340
+ '\u0141': 'L',
2341
+ '\u023D': 'L',
2342
+ '\u2C62': 'L',
2343
+ '\u2C60': 'L',
2344
+ '\uA748': 'L',
2345
+ '\uA746': 'L',
2346
+ '\uA780': 'L',
2347
+ '\u01C7': 'LJ',
2348
+ '\u01C8': 'Lj',
2349
+ '\u24C2': 'M',
2350
+ '\uFF2D': 'M',
2351
+ '\u1E3E': 'M',
2352
+ '\u1E40': 'M',
2353
+ '\u1E42': 'M',
2354
+ '\u2C6E': 'M',
2355
+ '\u019C': 'M',
2356
+ '\u24C3': 'N',
2357
+ '\uFF2E': 'N',
2358
+ '\u01F8': 'N',
2359
+ '\u0143': 'N',
2360
+ '\u00D1': 'N',
2361
+ '\u1E44': 'N',
2362
+ '\u0147': 'N',
2363
+ '\u1E46': 'N',
2364
+ '\u0145': 'N',
2365
+ '\u1E4A': 'N',
2366
+ '\u1E48': 'N',
2367
+ '\u0220': 'N',
2368
+ '\u019D': 'N',
2369
+ '\uA790': 'N',
2370
+ '\uA7A4': 'N',
2371
+ '\u01CA': 'NJ',
2372
+ '\u01CB': 'Nj',
2373
+ '\u24C4': 'O',
2374
+ '\uFF2F': 'O',
2375
+ '\u00D2': 'O',
2376
+ '\u00D3': 'O',
2377
+ '\u00D4': 'O',
2378
+ '\u1ED2': 'O',
2379
+ '\u1ED0': 'O',
2380
+ '\u1ED6': 'O',
2381
+ '\u1ED4': 'O',
2382
+ '\u00D5': 'O',
2383
+ '\u1E4C': 'O',
2384
+ '\u022C': 'O',
2385
+ '\u1E4E': 'O',
2386
+ '\u014C': 'O',
2387
+ '\u1E50': 'O',
2388
+ '\u1E52': 'O',
2389
+ '\u014E': 'O',
2390
+ '\u022E': 'O',
2391
+ '\u0230': 'O',
2392
+ '\u00D6': 'O',
2393
+ '\u022A': 'O',
2394
+ '\u1ECE': 'O',
2395
+ '\u0150': 'O',
2396
+ '\u01D1': 'O',
2397
+ '\u020C': 'O',
2398
+ '\u020E': 'O',
2399
+ '\u01A0': 'O',
2400
+ '\u1EDC': 'O',
2401
+ '\u1EDA': 'O',
2402
+ '\u1EE0': 'O',
2403
+ '\u1EDE': 'O',
2404
+ '\u1EE2': 'O',
2405
+ '\u1ECC': 'O',
2406
+ '\u1ED8': 'O',
2407
+ '\u01EA': 'O',
2408
+ '\u01EC': 'O',
2409
+ '\u00D8': 'O',
2410
+ '\u01FE': 'O',
2411
+ '\u0186': 'O',
2412
+ '\u019F': 'O',
2413
+ '\uA74A': 'O',
2414
+ '\uA74C': 'O',
2415
+ '\u01A2': 'OI',
2416
+ '\uA74E': 'OO',
2417
+ '\u0222': 'OU',
2418
+ '\u24C5': 'P',
2419
+ '\uFF30': 'P',
2420
+ '\u1E54': 'P',
2421
+ '\u1E56': 'P',
2422
+ '\u01A4': 'P',
2423
+ '\u2C63': 'P',
2424
+ '\uA750': 'P',
2425
+ '\uA752': 'P',
2426
+ '\uA754': 'P',
2427
+ '\u24C6': 'Q',
2428
+ '\uFF31': 'Q',
2429
+ '\uA756': 'Q',
2430
+ '\uA758': 'Q',
2431
+ '\u024A': 'Q',
2432
+ '\u24C7': 'R',
2433
+ '\uFF32': 'R',
2434
+ '\u0154': 'R',
2435
+ '\u1E58': 'R',
2436
+ '\u0158': 'R',
2437
+ '\u0210': 'R',
2438
+ '\u0212': 'R',
2439
+ '\u1E5A': 'R',
2440
+ '\u1E5C': 'R',
2441
+ '\u0156': 'R',
2442
+ '\u1E5E': 'R',
2443
+ '\u024C': 'R',
2444
+ '\u2C64': 'R',
2445
+ '\uA75A': 'R',
2446
+ '\uA7A6': 'R',
2447
+ '\uA782': 'R',
2448
+ '\u24C8': 'S',
2449
+ '\uFF33': 'S',
2450
+ '\u1E9E': 'S',
2451
+ '\u015A': 'S',
2452
+ '\u1E64': 'S',
2453
+ '\u015C': 'S',
2454
+ '\u1E60': 'S',
2455
+ '\u0160': 'S',
2456
+ '\u1E66': 'S',
2457
+ '\u1E62': 'S',
2458
+ '\u1E68': 'S',
2459
+ '\u0218': 'S',
2460
+ '\u015E': 'S',
2461
+ '\u2C7E': 'S',
2462
+ '\uA7A8': 'S',
2463
+ '\uA784': 'S',
2464
+ '\u24C9': 'T',
2465
+ '\uFF34': 'T',
2466
+ '\u1E6A': 'T',
2467
+ '\u0164': 'T',
2468
+ '\u1E6C': 'T',
2469
+ '\u021A': 'T',
2470
+ '\u0162': 'T',
2471
+ '\u1E70': 'T',
2472
+ '\u1E6E': 'T',
2473
+ '\u0166': 'T',
2474
+ '\u01AC': 'T',
2475
+ '\u01AE': 'T',
2476
+ '\u023E': 'T',
2477
+ '\uA786': 'T',
2478
+ '\uA728': 'TZ',
2479
+ '\u24CA': 'U',
2480
+ '\uFF35': 'U',
2481
+ '\u00D9': 'U',
2482
+ '\u00DA': 'U',
2483
+ '\u00DB': 'U',
2484
+ '\u0168': 'U',
2485
+ '\u1E78': 'U',
2486
+ '\u016A': 'U',
2487
+ '\u1E7A': 'U',
2488
+ '\u016C': 'U',
2489
+ '\u00DC': 'U',
2490
+ '\u01DB': 'U',
2491
+ '\u01D7': 'U',
2492
+ '\u01D5': 'U',
2493
+ '\u01D9': 'U',
2494
+ '\u1EE6': 'U',
2495
+ '\u016E': 'U',
2496
+ '\u0170': 'U',
2497
+ '\u01D3': 'U',
2498
+ '\u0214': 'U',
2499
+ '\u0216': 'U',
2500
+ '\u01AF': 'U',
2501
+ '\u1EEA': 'U',
2502
+ '\u1EE8': 'U',
2503
+ '\u1EEE': 'U',
2504
+ '\u1EEC': 'U',
2505
+ '\u1EF0': 'U',
2506
+ '\u1EE4': 'U',
2507
+ '\u1E72': 'U',
2508
+ '\u0172': 'U',
2509
+ '\u1E76': 'U',
2510
+ '\u1E74': 'U',
2511
+ '\u0244': 'U',
2512
+ '\u24CB': 'V',
2513
+ '\uFF36': 'V',
2514
+ '\u1E7C': 'V',
2515
+ '\u1E7E': 'V',
2516
+ '\u01B2': 'V',
2517
+ '\uA75E': 'V',
2518
+ '\u0245': 'V',
2519
+ '\uA760': 'VY',
2520
+ '\u24CC': 'W',
2521
+ '\uFF37': 'W',
2522
+ '\u1E80': 'W',
2523
+ '\u1E82': 'W',
2524
+ '\u0174': 'W',
2525
+ '\u1E86': 'W',
2526
+ '\u1E84': 'W',
2527
+ '\u1E88': 'W',
2528
+ '\u2C72': 'W',
2529
+ '\u24CD': 'X',
2530
+ '\uFF38': 'X',
2531
+ '\u1E8A': 'X',
2532
+ '\u1E8C': 'X',
2533
+ '\u24CE': 'Y',
2534
+ '\uFF39': 'Y',
2535
+ '\u1EF2': 'Y',
2536
+ '\u00DD': 'Y',
2537
+ '\u0176': 'Y',
2538
+ '\u1EF8': 'Y',
2539
+ '\u0232': 'Y',
2540
+ '\u1E8E': 'Y',
2541
+ '\u0178': 'Y',
2542
+ '\u1EF6': 'Y',
2543
+ '\u1EF4': 'Y',
2544
+ '\u01B3': 'Y',
2545
+ '\u024E': 'Y',
2546
+ '\u1EFE': 'Y',
2547
+ '\u24CF': 'Z',
2548
+ '\uFF3A': 'Z',
2549
+ '\u0179': 'Z',
2550
+ '\u1E90': 'Z',
2551
+ '\u017B': 'Z',
2552
+ '\u017D': 'Z',
2553
+ '\u1E92': 'Z',
2554
+ '\u1E94': 'Z',
2555
+ '\u01B5': 'Z',
2556
+ '\u0224': 'Z',
2557
+ '\u2C7F': 'Z',
2558
+ '\u2C6B': 'Z',
2559
+ '\uA762': 'Z',
2560
+ '\u24D0': 'a',
2561
+ '\uFF41': 'a',
2562
+ '\u1E9A': 'a',
2563
+ '\u00E0': 'a',
2564
+ '\u00E1': 'a',
2565
+ '\u00E2': 'a',
2566
+ '\u1EA7': 'a',
2567
+ '\u1EA5': 'a',
2568
+ '\u1EAB': 'a',
2569
+ '\u1EA9': 'a',
2570
+ '\u00E3': 'a',
2571
+ '\u0101': 'a',
2572
+ '\u0103': 'a',
2573
+ '\u1EB1': 'a',
2574
+ '\u1EAF': 'a',
2575
+ '\u1EB5': 'a',
2576
+ '\u1EB3': 'a',
2577
+ '\u0227': 'a',
2578
+ '\u01E1': 'a',
2579
+ '\u00E4': 'a',
2580
+ '\u01DF': 'a',
2581
+ '\u1EA3': 'a',
2582
+ '\u00E5': 'a',
2583
+ '\u01FB': 'a',
2584
+ '\u01CE': 'a',
2585
+ '\u0201': 'a',
2586
+ '\u0203': 'a',
2587
+ '\u1EA1': 'a',
2588
+ '\u1EAD': 'a',
2589
+ '\u1EB7': 'a',
2590
+ '\u1E01': 'a',
2591
+ '\u0105': 'a',
2592
+ '\u2C65': 'a',
2593
+ '\u0250': 'a',
2594
+ '\uA733': 'aa',
2595
+ '\u00E6': 'ae',
2596
+ '\u01FD': 'ae',
2597
+ '\u01E3': 'ae',
2598
+ '\uA735': 'ao',
2599
+ '\uA737': 'au',
2600
+ '\uA739': 'av',
2601
+ '\uA73B': 'av',
2602
+ '\uA73D': 'ay',
2603
+ '\u24D1': 'b',
2604
+ '\uFF42': 'b',
2605
+ '\u1E03': 'b',
2606
+ '\u1E05': 'b',
2607
+ '\u1E07': 'b',
2608
+ '\u0180': 'b',
2609
+ '\u0183': 'b',
2610
+ '\u0253': 'b',
2611
+ '\u24D2': 'c',
2612
+ '\uFF43': 'c',
2613
+ '\u0107': 'c',
2614
+ '\u0109': 'c',
2615
+ '\u010B': 'c',
2616
+ '\u010D': 'c',
2617
+ '\u00E7': 'c',
2618
+ '\u1E09': 'c',
2619
+ '\u0188': 'c',
2620
+ '\u023C': 'c',
2621
+ '\uA73F': 'c',
2622
+ '\u2184': 'c',
2623
+ '\u24D3': 'd',
2624
+ '\uFF44': 'd',
2625
+ '\u1E0B': 'd',
2626
+ '\u010F': 'd',
2627
+ '\u1E0D': 'd',
2628
+ '\u1E11': 'd',
2629
+ '\u1E13': 'd',
2630
+ '\u1E0F': 'd',
2631
+ '\u0111': 'd',
2632
+ '\u018C': 'd',
2633
+ '\u0256': 'd',
2634
+ '\u0257': 'd',
2635
+ '\uA77A': 'd',
2636
+ '\u01F3': 'dz',
2637
+ '\u01C6': 'dz',
2638
+ '\u24D4': 'e',
2639
+ '\uFF45': 'e',
2640
+ '\u00E8': 'e',
2641
+ '\u00E9': 'e',
2642
+ '\u00EA': 'e',
2643
+ '\u1EC1': 'e',
2644
+ '\u1EBF': 'e',
2645
+ '\u1EC5': 'e',
2646
+ '\u1EC3': 'e',
2647
+ '\u1EBD': 'e',
2648
+ '\u0113': 'e',
2649
+ '\u1E15': 'e',
2650
+ '\u1E17': 'e',
2651
+ '\u0115': 'e',
2652
+ '\u0117': 'e',
2653
+ '\u00EB': 'e',
2654
+ '\u1EBB': 'e',
2655
+ '\u011B': 'e',
2656
+ '\u0205': 'e',
2657
+ '\u0207': 'e',
2658
+ '\u1EB9': 'e',
2659
+ '\u1EC7': 'e',
2660
+ '\u0229': 'e',
2661
+ '\u1E1D': 'e',
2662
+ '\u0119': 'e',
2663
+ '\u1E19': 'e',
2664
+ '\u1E1B': 'e',
2665
+ '\u0247': 'e',
2666
+ '\u025B': 'e',
2667
+ '\u01DD': 'e',
2668
+ '\u24D5': 'f',
2669
+ '\uFF46': 'f',
2670
+ '\u1E1F': 'f',
2671
+ '\u0192': 'f',
2672
+ '\uA77C': 'f',
2673
+ '\u24D6': 'g',
2674
+ '\uFF47': 'g',
2675
+ '\u01F5': 'g',
2676
+ '\u011D': 'g',
2677
+ '\u1E21': 'g',
2678
+ '\u011F': 'g',
2679
+ '\u0121': 'g',
2680
+ '\u01E7': 'g',
2681
+ '\u0123': 'g',
2682
+ '\u01E5': 'g',
2683
+ '\u0260': 'g',
2684
+ '\uA7A1': 'g',
2685
+ '\u1D79': 'g',
2686
+ '\uA77F': 'g',
2687
+ '\u24D7': 'h',
2688
+ '\uFF48': 'h',
2689
+ '\u0125': 'h',
2690
+ '\u1E23': 'h',
2691
+ '\u1E27': 'h',
2692
+ '\u021F': 'h',
2693
+ '\u1E25': 'h',
2694
+ '\u1E29': 'h',
2695
+ '\u1E2B': 'h',
2696
+ '\u1E96': 'h',
2697
+ '\u0127': 'h',
2698
+ '\u2C68': 'h',
2699
+ '\u2C76': 'h',
2700
+ '\u0265': 'h',
2701
+ '\u0195': 'hv',
2702
+ '\u24D8': 'i',
2703
+ '\uFF49': 'i',
2704
+ '\u00EC': 'i',
2705
+ '\u00ED': 'i',
2706
+ '\u00EE': 'i',
2707
+ '\u0129': 'i',
2708
+ '\u012B': 'i',
2709
+ '\u012D': 'i',
2710
+ '\u00EF': 'i',
2711
+ '\u1E2F': 'i',
2712
+ '\u1EC9': 'i',
2713
+ '\u01D0': 'i',
2714
+ '\u0209': 'i',
2715
+ '\u020B': 'i',
2716
+ '\u1ECB': 'i',
2717
+ '\u012F': 'i',
2718
+ '\u1E2D': 'i',
2719
+ '\u0268': 'i',
2720
+ '\u0131': 'i',
2721
+ '\u24D9': 'j',
2722
+ '\uFF4A': 'j',
2723
+ '\u0135': 'j',
2724
+ '\u01F0': 'j',
2725
+ '\u0249': 'j',
2726
+ '\u24DA': 'k',
2727
+ '\uFF4B': 'k',
2728
+ '\u1E31': 'k',
2729
+ '\u01E9': 'k',
2730
+ '\u1E33': 'k',
2731
+ '\u0137': 'k',
2732
+ '\u1E35': 'k',
2733
+ '\u0199': 'k',
2734
+ '\u2C6A': 'k',
2735
+ '\uA741': 'k',
2736
+ '\uA743': 'k',
2737
+ '\uA745': 'k',
2738
+ '\uA7A3': 'k',
2739
+ '\u24DB': 'l',
2740
+ '\uFF4C': 'l',
2741
+ '\u0140': 'l',
2742
+ '\u013A': 'l',
2743
+ '\u013E': 'l',
2744
+ '\u1E37': 'l',
2745
+ '\u1E39': 'l',
2746
+ '\u013C': 'l',
2747
+ '\u1E3D': 'l',
2748
+ '\u1E3B': 'l',
2749
+ '\u017F': 'l',
2750
+ '\u0142': 'l',
2751
+ '\u019A': 'l',
2752
+ '\u026B': 'l',
2753
+ '\u2C61': 'l',
2754
+ '\uA749': 'l',
2755
+ '\uA781': 'l',
2756
+ '\uA747': 'l',
2757
+ '\u01C9': 'lj',
2758
+ '\u24DC': 'm',
2759
+ '\uFF4D': 'm',
2760
+ '\u1E3F': 'm',
2761
+ '\u1E41': 'm',
2762
+ '\u1E43': 'm',
2763
+ '\u0271': 'm',
2764
+ '\u026F': 'm',
2765
+ '\u24DD': 'n',
2766
+ '\uFF4E': 'n',
2767
+ '\u01F9': 'n',
2768
+ '\u0144': 'n',
2769
+ '\u00F1': 'n',
2770
+ '\u1E45': 'n',
2771
+ '\u0148': 'n',
2772
+ '\u1E47': 'n',
2773
+ '\u0146': 'n',
2774
+ '\u1E4B': 'n',
2775
+ '\u1E49': 'n',
2776
+ '\u019E': 'n',
2777
+ '\u0272': 'n',
2778
+ '\u0149': 'n',
2779
+ '\uA791': 'n',
2780
+ '\uA7A5': 'n',
2781
+ '\u01CC': 'nj',
2782
+ '\u24DE': 'o',
2783
+ '\uFF4F': 'o',
2784
+ '\u00F2': 'o',
2785
+ '\u00F3': 'o',
2786
+ '\u00F4': 'o',
2787
+ '\u1ED3': 'o',
2788
+ '\u1ED1': 'o',
2789
+ '\u1ED7': 'o',
2790
+ '\u1ED5': 'o',
2791
+ '\u00F5': 'o',
2792
+ '\u1E4D': 'o',
2793
+ '\u022D': 'o',
2794
+ '\u1E4F': 'o',
2795
+ '\u014D': 'o',
2796
+ '\u1E51': 'o',
2797
+ '\u1E53': 'o',
2798
+ '\u014F': 'o',
2799
+ '\u022F': 'o',
2800
+ '\u0231': 'o',
2801
+ '\u00F6': 'o',
2802
+ '\u022B': 'o',
2803
+ '\u1ECF': 'o',
2804
+ '\u0151': 'o',
2805
+ '\u01D2': 'o',
2806
+ '\u020D': 'o',
2807
+ '\u020F': 'o',
2808
+ '\u01A1': 'o',
2809
+ '\u1EDD': 'o',
2810
+ '\u1EDB': 'o',
2811
+ '\u1EE1': 'o',
2812
+ '\u1EDF': 'o',
2813
+ '\u1EE3': 'o',
2814
+ '\u1ECD': 'o',
2815
+ '\u1ED9': 'o',
2816
+ '\u01EB': 'o',
2817
+ '\u01ED': 'o',
2818
+ '\u00F8': 'o',
2819
+ '\u01FF': 'o',
2820
+ '\u0254': 'o',
2821
+ '\uA74B': 'o',
2822
+ '\uA74D': 'o',
2823
+ '\u0275': 'o',
2824
+ '\u01A3': 'oi',
2825
+ '\u0223': 'ou',
2826
+ '\uA74F': 'oo',
2827
+ '\u24DF': 'p',
2828
+ '\uFF50': 'p',
2829
+ '\u1E55': 'p',
2830
+ '\u1E57': 'p',
2831
+ '\u01A5': 'p',
2832
+ '\u1D7D': 'p',
2833
+ '\uA751': 'p',
2834
+ '\uA753': 'p',
2835
+ '\uA755': 'p',
2836
+ '\u24E0': 'q',
2837
+ '\uFF51': 'q',
2838
+ '\u024B': 'q',
2839
+ '\uA757': 'q',
2840
+ '\uA759': 'q',
2841
+ '\u24E1': 'r',
2842
+ '\uFF52': 'r',
2843
+ '\u0155': 'r',
2844
+ '\u1E59': 'r',
2845
+ '\u0159': 'r',
2846
+ '\u0211': 'r',
2847
+ '\u0213': 'r',
2848
+ '\u1E5B': 'r',
2849
+ '\u1E5D': 'r',
2850
+ '\u0157': 'r',
2851
+ '\u1E5F': 'r',
2852
+ '\u024D': 'r',
2853
+ '\u027D': 'r',
2854
+ '\uA75B': 'r',
2855
+ '\uA7A7': 'r',
2856
+ '\uA783': 'r',
2857
+ '\u24E2': 's',
2858
+ '\uFF53': 's',
2859
+ '\u00DF': 's',
2860
+ '\u015B': 's',
2861
+ '\u1E65': 's',
2862
+ '\u015D': 's',
2863
+ '\u1E61': 's',
2864
+ '\u0161': 's',
2865
+ '\u1E67': 's',
2866
+ '\u1E63': 's',
2867
+ '\u1E69': 's',
2868
+ '\u0219': 's',
2869
+ '\u015F': 's',
2870
+ '\u023F': 's',
2871
+ '\uA7A9': 's',
2872
+ '\uA785': 's',
2873
+ '\u1E9B': 's',
2874
+ '\u24E3': 't',
2875
+ '\uFF54': 't',
2876
+ '\u1E6B': 't',
2877
+ '\u1E97': 't',
2878
+ '\u0165': 't',
2879
+ '\u1E6D': 't',
2880
+ '\u021B': 't',
2881
+ '\u0163': 't',
2882
+ '\u1E71': 't',
2883
+ '\u1E6F': 't',
2884
+ '\u0167': 't',
2885
+ '\u01AD': 't',
2886
+ '\u0288': 't',
2887
+ '\u2C66': 't',
2888
+ '\uA787': 't',
2889
+ '\uA729': 'tz',
2890
+ '\u24E4': 'u',
2891
+ '\uFF55': 'u',
2892
+ '\u00F9': 'u',
2893
+ '\u00FA': 'u',
2894
+ '\u00FB': 'u',
2895
+ '\u0169': 'u',
2896
+ '\u1E79': 'u',
2897
+ '\u016B': 'u',
2898
+ '\u1E7B': 'u',
2899
+ '\u016D': 'u',
2900
+ '\u00FC': 'u',
2901
+ '\u01DC': 'u',
2902
+ '\u01D8': 'u',
2903
+ '\u01D6': 'u',
2904
+ '\u01DA': 'u',
2905
+ '\u1EE7': 'u',
2906
+ '\u016F': 'u',
2907
+ '\u0171': 'u',
2908
+ '\u01D4': 'u',
2909
+ '\u0215': 'u',
2910
+ '\u0217': 'u',
2911
+ '\u01B0': 'u',
2912
+ '\u1EEB': 'u',
2913
+ '\u1EE9': 'u',
2914
+ '\u1EEF': 'u',
2915
+ '\u1EED': 'u',
2916
+ '\u1EF1': 'u',
2917
+ '\u1EE5': 'u',
2918
+ '\u1E73': 'u',
2919
+ '\u0173': 'u',
2920
+ '\u1E77': 'u',
2921
+ '\u1E75': 'u',
2922
+ '\u0289': 'u',
2923
+ '\u24E5': 'v',
2924
+ '\uFF56': 'v',
2925
+ '\u1E7D': 'v',
2926
+ '\u1E7F': 'v',
2927
+ '\u028B': 'v',
2928
+ '\uA75F': 'v',
2929
+ '\u028C': 'v',
2930
+ '\uA761': 'vy',
2931
+ '\u24E6': 'w',
2932
+ '\uFF57': 'w',
2933
+ '\u1E81': 'w',
2934
+ '\u1E83': 'w',
2935
+ '\u0175': 'w',
2936
+ '\u1E87': 'w',
2937
+ '\u1E85': 'w',
2938
+ '\u1E98': 'w',
2939
+ '\u1E89': 'w',
2940
+ '\u2C73': 'w',
2941
+ '\u24E7': 'x',
2942
+ '\uFF58': 'x',
2943
+ '\u1E8B': 'x',
2944
+ '\u1E8D': 'x',
2945
+ '\u24E8': 'y',
2946
+ '\uFF59': 'y',
2947
+ '\u1EF3': 'y',
2948
+ '\u00FD': 'y',
2949
+ '\u0177': 'y',
2950
+ '\u1EF9': 'y',
2951
+ '\u0233': 'y',
2952
+ '\u1E8F': 'y',
2953
+ '\u00FF': 'y',
2954
+ '\u1EF7': 'y',
2955
+ '\u1E99': 'y',
2956
+ '\u1EF5': 'y',
2957
+ '\u01B4': 'y',
2958
+ '\u024F': 'y',
2959
+ '\u1EFF': 'y',
2960
+ '\u24E9': 'z',
2961
+ '\uFF5A': 'z',
2962
+ '\u017A': 'z',
2963
+ '\u1E91': 'z',
2964
+ '\u017C': 'z',
2965
+ '\u017E': 'z',
2966
+ '\u1E93': 'z',
2967
+ '\u1E95': 'z',
2968
+ '\u01B6': 'z',
2969
+ '\u0225': 'z',
2970
+ '\u0240': 'z',
2971
+ '\u2C6C': 'z',
2972
+ '\uA763': 'z',
2973
+ '\u0386': '\u0391',
2974
+ '\u0388': '\u0395',
2975
+ '\u0389': '\u0397',
2976
+ '\u038A': '\u0399',
2977
+ '\u03AA': '\u0399',
2978
+ '\u038C': '\u039F',
2979
+ '\u038E': '\u03A5',
2980
+ '\u03AB': '\u03A5',
2981
+ '\u038F': '\u03A9',
2982
+ '\u03AC': '\u03B1',
2983
+ '\u03AD': '\u03B5',
2984
+ '\u03AE': '\u03B7',
2985
+ '\u03AF': '\u03B9',
2986
+ '\u03CA': '\u03B9',
2987
+ '\u0390': '\u03B9',
2988
+ '\u03CC': '\u03BF',
2989
+ '\u03CD': '\u03C5',
2990
+ '\u03CB': '\u03C5',
2991
+ '\u03B0': '\u03C5',
2992
+ '\u03C9': '\u03C9',
2993
+ '\u03C2': '\u03C3'
2994
+ };
2995
+
2996
+ return diacritics;
2997
+ });
2998
+
2999
+ S2.define('select2/data/base',[
3000
+ '../utils'
3001
+ ], function (Utils) {
3002
+ function BaseAdapter ($element, options) {
3003
+ BaseAdapter.__super__.constructor.call(this);
3004
+ }
3005
+
3006
+ Utils.Extend(BaseAdapter, Utils.Observable);
3007
+
3008
+ BaseAdapter.prototype.current = function (callback) {
3009
+ throw new Error('The `current` method must be defined in child classes.');
3010
+ };
3011
+
3012
+ BaseAdapter.prototype.query = function (params, callback) {
3013
+ throw new Error('The `query` method must be defined in child classes.');
3014
+ };
3015
+
3016
+ BaseAdapter.prototype.bind = function (container, $container) {
3017
+ // Can be implemented in subclasses
3018
+ };
3019
+
3020
+ BaseAdapter.prototype.destroy = function () {
3021
+ // Can be implemented in subclasses
3022
+ };
3023
+
3024
+ BaseAdapter.prototype.generateResultId = function (container, data) {
3025
+ var id = container.id + '-result-';
3026
+
3027
+ id += Utils.generateChars(4);
3028
+
3029
+ if (data.id != null) {
3030
+ id += '-' + data.id.toString();
3031
+ } else {
3032
+ id += '-' + Utils.generateChars(4);
3033
+ }
3034
+ return id;
3035
+ };
3036
+
3037
+ return BaseAdapter;
3038
+ });
3039
+
3040
+ S2.define('select2/data/select',[
3041
+ './base',
3042
+ '../utils',
3043
+ 'jquery'
3044
+ ], function (BaseAdapter, Utils, $) {
3045
+ function SelectAdapter ($element, options) {
3046
+ this.$element = $element;
3047
+ this.options = options;
3048
+
3049
+ SelectAdapter.__super__.constructor.call(this);
3050
+ }
3051
+
3052
+ Utils.Extend(SelectAdapter, BaseAdapter);
3053
+
3054
+ SelectAdapter.prototype.current = function (callback) {
3055
+ var data = [];
3056
+ var self = this;
3057
+
3058
+ this.$element.find(':selected').each(function () {
3059
+ var $option = $(this);
3060
+
3061
+ var option = self.item($option);
3062
+
3063
+ data.push(option);
3064
+ });
3065
+
3066
+ callback(data);
3067
+ };
3068
+
3069
+ SelectAdapter.prototype.select = function (data) {
3070
+ var self = this;
3071
+
3072
+ data.selected = true;
3073
+
3074
+ // If data.element is a DOM node, use it instead
3075
+ if ($(data.element).is('option')) {
3076
+ data.element.selected = true;
3077
+
3078
+ this.$element.trigger('change');
3079
+
3080
+ return;
3081
+ }
3082
+
3083
+ if (this.$element.prop('multiple')) {
3084
+ this.current(function (currentData) {
3085
+ var val = [];
3086
+
3087
+ data = [data];
3088
+ data.push.apply(data, currentData);
3089
+
3090
+ for (var d = 0; d < data.length; d++) {
3091
+ var id = data[d].id;
3092
+
3093
+ if ($.inArray(id, val) === -1) {
3094
+ val.push(id);
3095
+ }
3096
+ }
3097
+
3098
+ self.$element.val(val);
3099
+ self.$element.trigger('change');
3100
+ });
3101
+ } else {
3102
+ var val = data.id;
3103
+
3104
+ this.$element.val(val);
3105
+ this.$element.trigger('change');
3106
+ }
3107
+ };
3108
+
3109
+ SelectAdapter.prototype.unselect = function (data) {
3110
+ var self = this;
3111
+
3112
+ if (!this.$element.prop('multiple')) {
3113
+ return;
3114
+ }
3115
+
3116
+ data.selected = false;
3117
+
3118
+ if ($(data.element).is('option')) {
3119
+ data.element.selected = false;
3120
+
3121
+ this.$element.trigger('change');
3122
+
3123
+ return;
3124
+ }
3125
+
3126
+ this.current(function (currentData) {
3127
+ var val = [];
3128
+
3129
+ for (var d = 0; d < currentData.length; d++) {
3130
+ var id = currentData[d].id;
3131
+
3132
+ if (id !== data.id && $.inArray(id, val) === -1) {
3133
+ val.push(id);
3134
+ }
3135
+ }
3136
+
3137
+ self.$element.val(val);
3138
+
3139
+ self.$element.trigger('change');
3140
+ });
3141
+ };
3142
+
3143
+ SelectAdapter.prototype.bind = function (container, $container) {
3144
+ var self = this;
3145
+
3146
+ this.container = container;
3147
+
3148
+ container.on('select', function (params) {
3149
+ self.select(params.data);
3150
+ });
3151
+
3152
+ container.on('unselect', function (params) {
3153
+ self.unselect(params.data);
3154
+ });
3155
+ };
3156
+
3157
+ SelectAdapter.prototype.destroy = function () {
3158
+ // Remove anything added to child elements
3159
+ this.$element.find('*').each(function () {
3160
+ // Remove any custom data set by Select2
3161
+ $.removeData(this, 'data');
3162
+ });
3163
+ };
3164
+
3165
+ SelectAdapter.prototype.query = function (params, callback) {
3166
+ var data = [];
3167
+ var self = this;
3168
+
3169
+ var $options = this.$element.children();
3170
+
3171
+ $options.each(function () {
3172
+ var $option = $(this);
3173
+
3174
+ if (!$option.is('option') && !$option.is('optgroup')) {
3175
+ return;
3176
+ }
3177
+
3178
+ var option = self.item($option);
3179
+
3180
+ var matches = self.matches(params, option);
3181
+
3182
+ if (matches !== null) {
3183
+ data.push(matches);
3184
+ }
3185
+ });
3186
+
3187
+ callback({
3188
+ results: data
3189
+ });
3190
+ };
3191
+
3192
+ SelectAdapter.prototype.addOptions = function ($options) {
3193
+ Utils.appendMany(this.$element, $options);
3194
+ };
3195
+
3196
+ SelectAdapter.prototype.option = function (data) {
3197
+ var option;
3198
+
3199
+ if (data.children) {
3200
+ option = document.createElement('optgroup');
3201
+ option.label = data.text;
3202
+ } else {
3203
+ option = document.createElement('option');
3204
+
3205
+ if (option.textContent !== undefined) {
3206
+ option.textContent = data.text;
3207
+ } else {
3208
+ option.innerText = data.text;
3209
+ }
3210
+ }
3211
+
3212
+ if (data.id !== undefined) {
3213
+ option.value = data.id;
3214
+ }
3215
+
3216
+ if (data.disabled) {
3217
+ option.disabled = true;
3218
+ }
3219
+
3220
+ if (data.selected) {
3221
+ option.selected = true;
3222
+ }
3223
+
3224
+ if (data.title) {
3225
+ option.title = data.title;
3226
+ }
3227
+
3228
+ var $option = $(option);
3229
+
3230
+ var normalizedData = this._normalizeItem(data);
3231
+ normalizedData.element = option;
3232
+
3233
+ // Override the option's data with the combined data
3234
+ $.data(option, 'data', normalizedData);
3235
+
3236
+ return $option;
3237
+ };
3238
+
3239
+ SelectAdapter.prototype.item = function ($option) {
3240
+ var data = {};
3241
+
3242
+ data = $.data($option[0], 'data');
3243
+
3244
+ if (data != null) {
3245
+ return data;
3246
+ }
3247
+
3248
+ if ($option.is('option')) {
3249
+ data = {
3250
+ id: $option.val(),
3251
+ text: $option.text(),
3252
+ disabled: $option.prop('disabled'),
3253
+ selected: $option.prop('selected'),
3254
+ title: $option.prop('title')
3255
+ };
3256
+ } else if ($option.is('optgroup')) {
3257
+ data = {
3258
+ text: $option.prop('label'),
3259
+ children: [],
3260
+ title: $option.prop('title')
3261
+ };
3262
+
3263
+ var $children = $option.children('option');
3264
+ var children = [];
3265
+
3266
+ for (var c = 0; c < $children.length; c++) {
3267
+ var $child = $($children[c]);
3268
+
3269
+ var child = this.item($child);
3270
+
3271
+ children.push(child);
3272
+ }
3273
+
3274
+ data.children = children;
3275
+ }
3276
+
3277
+ data = this._normalizeItem(data);
3278
+ data.element = $option[0];
3279
+
3280
+ $.data($option[0], 'data', data);
3281
+
3282
+ return data;
3283
+ };
3284
+
3285
+ SelectAdapter.prototype._normalizeItem = function (item) {
3286
+ if (!$.isPlainObject(item)) {
3287
+ item = {
3288
+ id: item,
3289
+ text: item
3290
+ };
3291
+ }
3292
+
3293
+ item = $.extend({}, {
3294
+ text: ''
3295
+ }, item);
3296
+
3297
+ var defaults = {
3298
+ selected: false,
3299
+ disabled: false
3300
+ };
3301
+
3302
+ if (item.id != null) {
3303
+ item.id = item.id.toString();
3304
+ }
3305
+
3306
+ if (item.text != null) {
3307
+ item.text = item.text.toString();
3308
+ }
3309
+
3310
+ if (item._resultId == null && item.id && this.container != null) {
3311
+ item._resultId = this.generateResultId(this.container, item);
3312
+ }
3313
+
3314
+ return $.extend({}, defaults, item);
3315
+ };
3316
+
3317
+ SelectAdapter.prototype.matches = function (params, data) {
3318
+ var matcher = this.options.get('matcher');
3319
+
3320
+ return matcher(params, data);
3321
+ };
3322
+
3323
+ return SelectAdapter;
3324
+ });
3325
+
3326
+ S2.define('select2/data/array',[
3327
+ './select',
3328
+ '../utils',
3329
+ 'jquery'
3330
+ ], function (SelectAdapter, Utils, $) {
3331
+ function ArrayAdapter ($element, options) {
3332
+ var data = options.get('data') || [];
3333
+
3334
+ ArrayAdapter.__super__.constructor.call(this, $element, options);
3335
+
3336
+ this.addOptions(this.convertToOptions(data));
3337
+ }
3338
+
3339
+ Utils.Extend(ArrayAdapter, SelectAdapter);
3340
+
3341
+ ArrayAdapter.prototype.select = function (data) {
3342
+ var $option = this.$element.find('option').filter(function (i, elm) {
3343
+ return elm.value == data.id.toString();
3344
+ });
3345
+
3346
+ if ($option.length === 0) {
3347
+ $option = this.option(data);
3348
+
3349
+ this.addOptions($option);
3350
+ }
3351
+
3352
+ ArrayAdapter.__super__.select.call(this, data);
3353
+ };
3354
+
3355
+ ArrayAdapter.prototype.convertToOptions = function (data) {
3356
+ var self = this;
3357
+
3358
+ var $existing = this.$element.find('option');
3359
+ var existingIds = $existing.map(function () {
3360
+ return self.item($(this)).id;
3361
+ }).get();
3362
+
3363
+ var $options = [];
3364
+
3365
+ // Filter out all items except for the one passed in the argument
3366
+ function onlyItem (item) {
3367
+ return function () {
3368
+ return $(this).val() == item.id;
3369
+ };
3370
+ }
3371
+
3372
+ for (var d = 0; d < data.length; d++) {
3373
+ var item = this._normalizeItem(data[d]);
3374
+
3375
+ // Skip items which were pre-loaded, only merge the data
3376
+ if ($.inArray(item.id, existingIds) >= 0) {
3377
+ var $existingOption = $existing.filter(onlyItem(item));
3378
+
3379
+ var existingData = this.item($existingOption);
3380
+ var newData = $.extend(true, {}, item, existingData);
3381
+
3382
+ var $newOption = this.option(newData);
3383
+
3384
+ $existingOption.replaceWith($newOption);
3385
+
3386
+ continue;
3387
+ }
3388
+
3389
+ var $option = this.option(item);
3390
+
3391
+ if (item.children) {
3392
+ var $children = this.convertToOptions(item.children);
3393
+
3394
+ Utils.appendMany($option, $children);
3395
+ }
3396
+
3397
+ $options.push($option);
3398
+ }
3399
+
3400
+ return $options;
3401
+ };
3402
+
3403
+ return ArrayAdapter;
3404
+ });
3405
+
3406
+ S2.define('select2/data/ajax',[
3407
+ './array',
3408
+ '../utils',
3409
+ 'jquery'
3410
+ ], function (ArrayAdapter, Utils, $) {
3411
+ function AjaxAdapter ($element, options) {
3412
+ this.ajaxOptions = this._applyDefaults(options.get('ajax'));
3413
+
3414
+ if (this.ajaxOptions.processResults != null) {
3415
+ this.processResults = this.ajaxOptions.processResults;
3416
+ }
3417
+
3418
+ AjaxAdapter.__super__.constructor.call(this, $element, options);
3419
+ }
3420
+
3421
+ Utils.Extend(AjaxAdapter, ArrayAdapter);
3422
+
3423
+ AjaxAdapter.prototype._applyDefaults = function (options) {
3424
+ var defaults = {
3425
+ data: function (params) {
3426
+ return $.extend({}, params, {
3427
+ q: params.term
3428
+ });
3429
+ },
3430
+ transport: function (params, success, failure) {
3431
+ var $request = $.ajax(params);
3432
+
3433
+ $request.then(success);
3434
+ $request.fail(failure);
3435
+
3436
+ return $request;
3437
+ }
3438
+ };
3439
+
3440
+ return $.extend({}, defaults, options, true);
3441
+ };
3442
+
3443
+ AjaxAdapter.prototype.processResults = function (results) {
3444
+ return results;
3445
+ };
3446
+
3447
+ AjaxAdapter.prototype.query = function (params, callback) {
3448
+ var matches = [];
3449
+ var self = this;
3450
+
3451
+ if (this._request != null) {
3452
+ // JSONP requests cannot always be aborted
3453
+ if ($.isFunction(this._request.abort)) {
3454
+ this._request.abort();
3455
+ }
3456
+
3457
+ this._request = null;
3458
+ }
3459
+
3460
+ var options = $.extend({
3461
+ type: 'GET'
3462
+ }, this.ajaxOptions);
3463
+
3464
+ if (typeof options.url === 'function') {
3465
+ options.url = options.url.call(this.$element, params);
3466
+ }
3467
+
3468
+ if (typeof options.data === 'function') {
3469
+ options.data = options.data.call(this.$element, params);
3470
+ }
3471
+
3472
+ function request () {
3473
+ var $request = options.transport(options, function (data) {
3474
+ var results = self.processResults(data, params);
3475
+
3476
+ if (self.options.get('debug') && window.console && console.error) {
3477
+ // Check to make sure that the response included a `results` key.
3478
+ if (!results || !results.results || !$.isArray(results.results)) {
3479
+ console.error(
3480
+ 'Select2: The AJAX results did not return an array in the ' +
3481
+ '`results` key of the response.'
3482
+ );
3483
+ }
3484
+ }
3485
+
3486
+ callback(results);
3487
+ }, function () {
3488
+ // Attempt to detect if a request was aborted
3489
+ // Only works if the transport exposes a status property
3490
+ if ($request.status && $request.status === '0') {
3491
+ return;
3492
+ }
3493
+
3494
+ self.trigger('results:message', {
3495
+ message: 'errorLoading'
3496
+ });
3497
+ });
3498
+
3499
+ self._request = $request;
3500
+ }
3501
+
3502
+ if (this.ajaxOptions.delay && params.term != null) {
3503
+ if (this._queryTimeout) {
3504
+ window.clearTimeout(this._queryTimeout);
3505
+ }
3506
+
3507
+ this._queryTimeout = window.setTimeout(request, this.ajaxOptions.delay);
3508
+ } else {
3509
+ request();
3510
+ }
3511
+ };
3512
+
3513
+ return AjaxAdapter;
3514
+ });
3515
+
3516
+ S2.define('select2/data/tags',[
3517
+ 'jquery'
3518
+ ], function ($) {
3519
+ function Tags (decorated, $element, options) {
3520
+ var tags = options.get('tags');
3521
+
3522
+ var createTag = options.get('createTag');
3523
+
3524
+ if (createTag !== undefined) {
3525
+ this.createTag = createTag;
3526
+ }
3527
+
3528
+ var insertTag = options.get('insertTag');
3529
+
3530
+ if (insertTag !== undefined) {
3531
+ this.insertTag = insertTag;
3532
+ }
3533
+
3534
+ decorated.call(this, $element, options);
3535
+
3536
+ if ($.isArray(tags)) {
3537
+ for (var t = 0; t < tags.length; t++) {
3538
+ var tag = tags[t];
3539
+ var item = this._normalizeItem(tag);
3540
+
3541
+ var $option = this.option(item);
3542
+
3543
+ this.$element.append($option);
3544
+ }
3545
+ }
3546
+ }
3547
+
3548
+ Tags.prototype.query = function (decorated, params, callback) {
3549
+ var self = this;
3550
+
3551
+ this._removeOldTags();
3552
+
3553
+ if (params.term == null || params.page != null) {
3554
+ decorated.call(this, params, callback);
3555
+ return;
3556
+ }
3557
+
3558
+ function wrapper (obj, child) {
3559
+ var data = obj.results;
3560
+
3561
+ for (var i = 0; i < data.length; i++) {
3562
+ var option = data[i];
3563
+
3564
+ var checkChildren = (
3565
+ option.children != null &&
3566
+ !wrapper({
3567
+ results: option.children
3568
+ }, true)
3569
+ );
3570
+
3571
+ var optionText = (option.text || '').toUpperCase();
3572
+ var paramsTerm = (params.term || '').toUpperCase();
3573
+
3574
+ var checkText = optionText === paramsTerm;
3575
+
3576
+ if (checkText || checkChildren) {
3577
+ if (child) {
3578
+ return false;
3579
+ }
3580
+
3581
+ obj.data = data;
3582
+ callback(obj);
3583
+
3584
+ return;
3585
+ }
3586
+ }
3587
+
3588
+ if (child) {
3589
+ return true;
3590
+ }
3591
+
3592
+ var tag = self.createTag(params);
3593
+
3594
+ if (tag != null) {
3595
+ var $option = self.option(tag);
3596
+ $option.attr('data-select2-tag', true);
3597
+
3598
+ self.addOptions([$option]);
3599
+
3600
+ self.insertTag(data, tag);
3601
+ }
3602
+
3603
+ obj.results = data;
3604
+
3605
+ callback(obj);
3606
+ }
3607
+
3608
+ decorated.call(this, params, wrapper);
3609
+ };
3610
+
3611
+ Tags.prototype.createTag = function (decorated, params) {
3612
+ var term = $.trim(params.term);
3613
+
3614
+ if (term === '') {
3615
+ return null;
3616
+ }
3617
+
3618
+ return {
3619
+ id: term,
3620
+ text: term
3621
+ };
3622
+ };
3623
+
3624
+ Tags.prototype.insertTag = function (_, data, tag) {
3625
+ data.unshift(tag);
3626
+ };
3627
+
3628
+ Tags.prototype._removeOldTags = function (_) {
3629
+ var tag = this._lastTag;
3630
+
3631
+ var $options = this.$element.find('option[data-select2-tag]');
3632
+
3633
+ $options.each(function () {
3634
+ if (this.selected) {
3635
+ return;
3636
+ }
3637
+
3638
+ $(this).remove();
3639
+ });
3640
+ };
3641
+
3642
+ return Tags;
3643
+ });
3644
+
3645
+ S2.define('select2/data/tokenizer',[
3646
+ 'jquery'
3647
+ ], function ($) {
3648
+ function Tokenizer (decorated, $element, options) {
3649
+ var tokenizer = options.get('tokenizer');
3650
+
3651
+ if (tokenizer !== undefined) {
3652
+ this.tokenizer = tokenizer;
3653
+ }
3654
+
3655
+ decorated.call(this, $element, options);
3656
+ }
3657
+
3658
+ Tokenizer.prototype.bind = function (decorated, container, $container) {
3659
+ decorated.call(this, container, $container);
3660
+
3661
+ this.$search = container.dropdown.$search || container.selection.$search ||
3662
+ $container.find('.select2-search__field');
3663
+ };
3664
+
3665
+ Tokenizer.prototype.query = function (decorated, params, callback) {
3666
+ var self = this;
3667
+
3668
+ function createAndSelect (data) {
3669
+ // Normalize the data object so we can use it for checks
3670
+ var item = self._normalizeItem(data);
3671
+
3672
+ // Check if the data object already exists as a tag
3673
+ // Select it if it doesn't
3674
+ var $existingOptions = self.$element.find('option').filter(function () {
3675
+ return $(this).val() === item.id;
3676
+ });
3677
+
3678
+ // If an existing option wasn't found for it, create the option
3679
+ if (!$existingOptions.length) {
3680
+ var $option = self.option(item);
3681
+ $option.attr('data-select2-tag', true);
3682
+
3683
+ self._removeOldTags();
3684
+ self.addOptions([$option]);
3685
+ }
3686
+
3687
+ // Select the item, now that we know there is an option for it
3688
+ select(item);
3689
+ }
3690
+
3691
+ function select (data) {
3692
+ self.trigger('select', {
3693
+ data: data
3694
+ });
3695
+ }
3696
+
3697
+ params.term = params.term || '';
3698
+
3699
+ var tokenData = this.tokenizer(params, this.options, createAndSelect);
3700
+
3701
+ if (tokenData.term !== params.term) {
3702
+ // Replace the search term if we have the search box
3703
+ if (this.$search.length) {
3704
+ this.$search.val(tokenData.term);
3705
+ this.$search.focus();
3706
+ }
3707
+
3708
+ params.term = tokenData.term;
3709
+ }
3710
+
3711
+ decorated.call(this, params, callback);
3712
+ };
3713
+
3714
+ Tokenizer.prototype.tokenizer = function (_, params, options, callback) {
3715
+ var separators = options.get('tokenSeparators') || [];
3716
+ var term = params.term;
3717
+ var i = 0;
3718
+
3719
+ var createTag = this.createTag || function (params) {
3720
+ return {
3721
+ id: params.term,
3722
+ text: params.term
3723
+ };
3724
+ };
3725
+
3726
+ while (i < term.length) {
3727
+ var termChar = term[i];
3728
+
3729
+ if ($.inArray(termChar, separators) === -1) {
3730
+ i++;
3731
+
3732
+ continue;
3733
+ }
3734
+
3735
+ var part = term.substr(0, i);
3736
+ var partParams = $.extend({}, params, {
3737
+ term: part
3738
+ });
3739
+
3740
+ var data = createTag(partParams);
3741
+
3742
+ if (data == null) {
3743
+ i++;
3744
+ continue;
3745
+ }
3746
+
3747
+ callback(data);
3748
+
3749
+ // Reset the term to not include the tokenized portion
3750
+ term = term.substr(i + 1) || '';
3751
+ i = 0;
3752
+ }
3753
+
3754
+ return {
3755
+ term: term
3756
+ };
3757
+ };
3758
+
3759
+ return Tokenizer;
3760
+ });
3761
+
3762
+ S2.define('select2/data/minimumInputLength',[
3763
+
3764
+ ], function () {
3765
+ function MinimumInputLength (decorated, $e, options) {
3766
+ this.minimumInputLength = options.get('minimumInputLength');
3767
+
3768
+ decorated.call(this, $e, options);
3769
+ }
3770
+
3771
+ MinimumInputLength.prototype.query = function (decorated, params, callback) {
3772
+ params.term = params.term || '';
3773
+
3774
+ if (params.term.length < this.minimumInputLength) {
3775
+ this.trigger('results:message', {
3776
+ message: 'inputTooShort',
3777
+ args: {
3778
+ minimum: this.minimumInputLength,
3779
+ input: params.term,
3780
+ params: params
3781
+ }
3782
+ });
3783
+
3784
+ return;
3785
+ }
3786
+
3787
+ decorated.call(this, params, callback);
3788
+ };
3789
+
3790
+ return MinimumInputLength;
3791
+ });
3792
+
3793
+ S2.define('select2/data/maximumInputLength',[
3794
+
3795
+ ], function () {
3796
+ function MaximumInputLength (decorated, $e, options) {
3797
+ this.maximumInputLength = options.get('maximumInputLength');
3798
+
3799
+ decorated.call(this, $e, options);
3800
+ }
3801
+
3802
+ MaximumInputLength.prototype.query = function (decorated, params, callback) {
3803
+ params.term = params.term || '';
3804
+
3805
+ if (this.maximumInputLength > 0 &&
3806
+ params.term.length > this.maximumInputLength) {
3807
+ this.trigger('results:message', {
3808
+ message: 'inputTooLong',
3809
+ args: {
3810
+ maximum: this.maximumInputLength,
3811
+ input: params.term,
3812
+ params: params
3813
+ }
3814
+ });
3815
+
3816
+ return;
3817
+ }
3818
+
3819
+ decorated.call(this, params, callback);
3820
+ };
3821
+
3822
+ return MaximumInputLength;
3823
+ });
3824
+
3825
+ S2.define('select2/data/maximumSelectionLength',[
3826
+
3827
+ ], function (){
3828
+ function MaximumSelectionLength (decorated, $e, options) {
3829
+ this.maximumSelectionLength = options.get('maximumSelectionLength');
3830
+
3831
+ decorated.call(this, $e, options);
3832
+ }
3833
+
3834
+ MaximumSelectionLength.prototype.query =
3835
+ function (decorated, params, callback) {
3836
+ var self = this;
3837
+
3838
+ this.current(function (currentData) {
3839
+ var count = currentData != null ? currentData.length : 0;
3840
+ if (self.maximumSelectionLength > 0 &&
3841
+ count >= self.maximumSelectionLength) {
3842
+ self.trigger('results:message', {
3843
+ message: 'maximumSelected',
3844
+ args: {
3845
+ maximum: self.maximumSelectionLength
3846
+ }
3847
+ });
3848
+ return;
3849
+ }
3850
+ decorated.call(self, params, callback);
3851
+ });
3852
+ };
3853
+
3854
+ return MaximumSelectionLength;
3855
+ });
3856
+
3857
+ S2.define('select2/dropdown',[
3858
+ 'jquery',
3859
+ './utils'
3860
+ ], function ($, Utils) {
3861
+ function Dropdown ($element, options) {
3862
+ this.$element = $element;
3863
+ this.options = options;
3864
+
3865
+ Dropdown.__super__.constructor.call(this);
3866
+ }
3867
+
3868
+ Utils.Extend(Dropdown, Utils.Observable);
3869
+
3870
+ Dropdown.prototype.render = function () {
3871
+ var $dropdown = $(
3872
+ '<span class="select2-dropdown">' +
3873
+ '<span class="select2-results"></span>' +
3874
+ '</span>'
3875
+ );
3876
+
3877
+ $dropdown.attr('dir', this.options.get('dir'));
3878
+
3879
+ this.$dropdown = $dropdown;
3880
+
3881
+ return $dropdown;
3882
+ };
3883
+
3884
+ Dropdown.prototype.bind = function () {
3885
+ // Should be implemented in subclasses
3886
+ };
3887
+
3888
+ Dropdown.prototype.position = function ($dropdown, $container) {
3889
+ // Should be implmented in subclasses
3890
+ };
3891
+
3892
+ Dropdown.prototype.destroy = function () {
3893
+ // Remove the dropdown from the DOM
3894
+ this.$dropdown.remove();
3895
+ };
3896
+
3897
+ return Dropdown;
3898
+ });
3899
+
3900
+ S2.define('select2/dropdown/search',[
3901
+ 'jquery',
3902
+ '../utils'
3903
+ ], function ($, Utils) {
3904
+ function Search () { }
3905
+
3906
+ Search.prototype.render = function (decorated) {
3907
+ var $rendered = decorated.call(this);
3908
+
3909
+ var $search = $(
3910
+ '<span class="select2-search select2-search--dropdown">' +
3911
+ '<input class="select2-search__field" type="search" tabindex="-1"' +
3912
+ ' autocomplete="off" autocorrect="off" autocapitalize="off"' +
3913
+ ' spellcheck="false" role="textbox" />' +
3914
+ '</span>'
3915
+ );
3916
+
3917
+ this.$searchContainer = $search;
3918
+ this.$search = $search.find('input');
3919
+
3920
+ $rendered.prepend($search);
3921
+
3922
+ return $rendered;
3923
+ };
3924
+
3925
+ Search.prototype.bind = function (decorated, container, $container) {
3926
+ var self = this;
3927
+
3928
+ decorated.call(this, container, $container);
3929
+
3930
+ this.$search.on('keydown', function (evt) {
3931
+ self.trigger('keypress', evt);
3932
+
3933
+ self._keyUpPrevented = evt.isDefaultPrevented();
3934
+ });
3935
+
3936
+ // Workaround for browsers which do not support the `input` event
3937
+ // This will prevent double-triggering of events for browsers which support
3938
+ // both the `keyup` and `input` events.
3939
+ this.$search.on('input', function (evt) {
3940
+ // Unbind the duplicated `keyup` event
3941
+ $(this).off('keyup');
3942
+ });
3943
+
3944
+ this.$search.on('keyup input', function (evt) {
3945
+ self.handleSearch(evt);
3946
+ });
3947
+
3948
+ container.on('open', function () {
3949
+ self.$search.attr('tabindex', 0);
3950
+
3951
+ self.$search.focus();
3952
+
3953
+ window.setTimeout(function () {
3954
+ self.$search.focus();
3955
+ }, 0);
3956
+ });
3957
+
3958
+ container.on('close', function () {
3959
+ self.$search.attr('tabindex', -1);
3960
+
3961
+ self.$search.val('');
3962
+ });
3963
+
3964
+ container.on('focus', function () {
3965
+ if (!container.isOpen()) {
3966
+ self.$search.focus();
3967
+ }
3968
+ });
3969
+
3970
+ container.on('results:all', function (params) {
3971
+ if (params.query.term == null || params.query.term === '') {
3972
+ var showSearch = self.showSearch(params);
3973
+
3974
+ if (showSearch) {
3975
+ self.$searchContainer.removeClass('select2-search--hide');
3976
+ } else {
3977
+ self.$searchContainer.addClass('select2-search--hide');
3978
+ }
3979
+ }
3980
+ });
3981
+ };
3982
+
3983
+ Search.prototype.handleSearch = function (evt) {
3984
+ if (!this._keyUpPrevented) {
3985
+ var input = this.$search.val();
3986
+
3987
+ this.trigger('query', {
3988
+ term: input
3989
+ });
3990
+ }
3991
+
3992
+ this._keyUpPrevented = false;
3993
+ };
3994
+
3995
+ Search.prototype.showSearch = function (_, params) {
3996
+ return true;
3997
+ };
3998
+
3999
+ return Search;
4000
+ });
4001
+
4002
+ S2.define('select2/dropdown/hidePlaceholder',[
4003
+
4004
+ ], function () {
4005
+ function HidePlaceholder (decorated, $element, options, dataAdapter) {
4006
+ this.placeholder = this.normalizePlaceholder(options.get('placeholder'));
4007
+
4008
+ decorated.call(this, $element, options, dataAdapter);
4009
+ }
4010
+
4011
+ HidePlaceholder.prototype.append = function (decorated, data) {
4012
+ data.results = this.removePlaceholder(data.results);
4013
+
4014
+ decorated.call(this, data);
4015
+ };
4016
+
4017
+ HidePlaceholder.prototype.normalizePlaceholder = function (_, placeholder) {
4018
+ if (typeof placeholder === 'string') {
4019
+ placeholder = {
4020
+ id: '',
4021
+ text: placeholder
4022
+ };
4023
+ }
4024
+
4025
+ return placeholder;
4026
+ };
4027
+
4028
+ HidePlaceholder.prototype.removePlaceholder = function (_, data) {
4029
+ var modifiedData = data.slice(0);
4030
+
4031
+ for (var d = data.length - 1; d >= 0; d--) {
4032
+ var item = data[d];
4033
+
4034
+ if (this.placeholder.id === item.id) {
4035
+ modifiedData.splice(d, 1);
4036
+ }
4037
+ }
4038
+
4039
+ return modifiedData;
4040
+ };
4041
+
4042
+ return HidePlaceholder;
4043
+ });
4044
+
4045
+ S2.define('select2/dropdown/infiniteScroll',[
4046
+ 'jquery'
4047
+ ], function ($) {
4048
+ function InfiniteScroll (decorated, $element, options, dataAdapter) {
4049
+ this.lastParams = {};
4050
+
4051
+ decorated.call(this, $element, options, dataAdapter);
4052
+
4053
+ this.$loadingMore = this.createLoadingMore();
4054
+ this.loading = false;
4055
+ }
4056
+
4057
+ InfiniteScroll.prototype.append = function (decorated, data) {
4058
+ this.$loadingMore.remove();
4059
+ this.loading = false;
4060
+
4061
+ decorated.call(this, data);
4062
+
4063
+ if (this.showLoadingMore(data)) {
4064
+ this.$results.append(this.$loadingMore);
4065
+ }
4066
+ };
4067
+
4068
+ InfiniteScroll.prototype.bind = function (decorated, container, $container) {
4069
+ var self = this;
4070
+
4071
+ decorated.call(this, container, $container);
4072
+
4073
+ container.on('query', function (params) {
4074
+ self.lastParams = params;
4075
+ self.loading = true;
4076
+ });
4077
+
4078
+ container.on('query:append', function (params) {
4079
+ self.lastParams = params;
4080
+ self.loading = true;
4081
+ });
4082
+
4083
+ this.$results.on('scroll', function () {
4084
+ var isLoadMoreVisible = $.contains(
4085
+ document.documentElement,
4086
+ self.$loadingMore[0]
4087
+ );
4088
+
4089
+ if (self.loading || !isLoadMoreVisible) {
4090
+ return;
4091
+ }
4092
+
4093
+ var currentOffset = self.$results.offset().top +
4094
+ self.$results.outerHeight(false);
4095
+ var loadingMoreOffset = self.$loadingMore.offset().top +
4096
+ self.$loadingMore.outerHeight(false);
4097
+
4098
+ if (currentOffset + 50 >= loadingMoreOffset) {
4099
+ self.loadMore();
4100
+ }
4101
+ });
4102
+ };
4103
+
4104
+ InfiniteScroll.prototype.loadMore = function () {
4105
+ this.loading = true;
4106
+
4107
+ var params = $.extend({}, {page: 1}, this.lastParams);
4108
+
4109
+ params.page++;
4110
+
4111
+ this.trigger('query:append', params);
4112
+ };
4113
+
4114
+ InfiniteScroll.prototype.showLoadingMore = function (_, data) {
4115
+ return data.pagination && data.pagination.more;
4116
+ };
4117
+
4118
+ InfiniteScroll.prototype.createLoadingMore = function () {
4119
+ var $option = $(
4120
+ '<li ' +
4121
+ 'class="select2-results__option select2-results__option--load-more"' +
4122
+ 'role="treeitem" aria-disabled="true"></li>'
4123
+ );
4124
+
4125
+ var message = this.options.get('translations').get('loadingMore');
4126
+
4127
+ $option.html(message(this.lastParams));
4128
+
4129
+ return $option;
4130
+ };
4131
+
4132
+ return InfiniteScroll;
4133
+ });
4134
+
4135
+ S2.define('select2/dropdown/attachBody',[
4136
+ 'jquery',
4137
+ '../utils'
4138
+ ], function ($, Utils) {
4139
+ function AttachBody (decorated, $element, options) {
4140
+ this.$dropdownParent = options.get('dropdownParent') || $(document.body);
4141
+
4142
+ decorated.call(this, $element, options);
4143
+ }
4144
+
4145
+ AttachBody.prototype.bind = function (decorated, container, $container) {
4146
+ var self = this;
4147
+
4148
+ var setupResultsEvents = false;
4149
+
4150
+ decorated.call(this, container, $container);
4151
+
4152
+ container.on('open', function () {
4153
+ self._showDropdown();
4154
+ self._attachPositioningHandler(container);
4155
+
4156
+ if (!setupResultsEvents) {
4157
+ setupResultsEvents = true;
4158
+
4159
+ container.on('results:all', function () {
4160
+ self._positionDropdown();
4161
+ self._resizeDropdown();
4162
+ });
4163
+
4164
+ container.on('results:append', function () {
4165
+ self._positionDropdown();
4166
+ self._resizeDropdown();
4167
+ });
4168
+ }
4169
+ });
4170
+
4171
+ container.on('close', function () {
4172
+ self._hideDropdown();
4173
+ self._detachPositioningHandler(container);
4174
+ });
4175
+
4176
+ this.$dropdownContainer.on('mousedown', function (evt) {
4177
+ evt.stopPropagation();
4178
+ });
4179
+ };
4180
+
4181
+ AttachBody.prototype.destroy = function (decorated) {
4182
+ decorated.call(this);
4183
+
4184
+ this.$dropdownContainer.remove();
4185
+ };
4186
+
4187
+ AttachBody.prototype.position = function (decorated, $dropdown, $container) {
4188
+ // Clone all of the container classes
4189
+ $dropdown.attr('class', $container.attr('class'));
4190
+
4191
+ $dropdown.removeClass('select2');
4192
+ $dropdown.addClass('select2-container--open');
4193
+
4194
+ $dropdown.css({
4195
+ position: 'absolute',
4196
+ top: -999999
4197
+ });
4198
+
4199
+ this.$container = $container;
4200
+ };
4201
+
4202
+ AttachBody.prototype.render = function (decorated) {
4203
+ var $container = $('<span></span>');
4204
+
4205
+ var $dropdown = decorated.call(this);
4206
+ $container.append($dropdown);
4207
+
4208
+ this.$dropdownContainer = $container;
4209
+
4210
+ return $container;
4211
+ };
4212
+
4213
+ AttachBody.prototype._hideDropdown = function (decorated) {
4214
+ this.$dropdownContainer.detach();
4215
+ };
4216
+
4217
+ AttachBody.prototype._attachPositioningHandler =
4218
+ function (decorated, container) {
4219
+ var self = this;
4220
+
4221
+ var scrollEvent = 'scroll.select2.' + container.id;
4222
+ var resizeEvent = 'resize.select2.' + container.id;
4223
+ var orientationEvent = 'orientationchange.select2.' + container.id;
4224
+
4225
+ var $watchers = this.$container.parents().filter(Utils.hasScroll);
4226
+ $watchers.each(function () {
4227
+ $(this).data('select2-scroll-position', {
4228
+ x: $(this).scrollLeft(),
4229
+ y: $(this).scrollTop()
4230
+ });
4231
+ });
4232
+
4233
+ $watchers.on(scrollEvent, function (ev) {
4234
+ var position = $(this).data('select2-scroll-position');
4235
+ $(this).scrollTop(position.y);
4236
+ });
4237
+
4238
+ $(window).on(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent,
4239
+ function (e) {
4240
+ self._positionDropdown();
4241
+ self._resizeDropdown();
4242
+ });
4243
+ };
4244
+
4245
+ AttachBody.prototype._detachPositioningHandler =
4246
+ function (decorated, container) {
4247
+ var scrollEvent = 'scroll.select2.' + container.id;
4248
+ var resizeEvent = 'resize.select2.' + container.id;
4249
+ var orientationEvent = 'orientationchange.select2.' + container.id;
4250
+
4251
+ var $watchers = this.$container.parents().filter(Utils.hasScroll);
4252
+ $watchers.off(scrollEvent);
4253
+
4254
+ $(window).off(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent);
4255
+ };
4256
+
4257
+ AttachBody.prototype._positionDropdown = function () {
4258
+ var $window = $(window);
4259
+
4260
+ var isCurrentlyAbove = this.$dropdown.hasClass('select2-dropdown--above');
4261
+ var isCurrentlyBelow = this.$dropdown.hasClass('select2-dropdown--below');
4262
+
4263
+ var newDirection = null;
4264
+
4265
+ var offset = this.$container.offset();
4266
+
4267
+ offset.bottom = offset.top + this.$container.outerHeight(false);
4268
+
4269
+ var container = {
4270
+ height: this.$container.outerHeight(false)
4271
+ };
4272
+
4273
+ container.top = offset.top;
4274
+ container.bottom = offset.top + container.height;
4275
+
4276
+ var dropdown = {
4277
+ height: this.$dropdown.outerHeight(false)
4278
+ };
4279
+
4280
+ var viewport = {
4281
+ top: $window.scrollTop(),
4282
+ bottom: $window.scrollTop() + $window.height()
4283
+ };
4284
+
4285
+ var enoughRoomAbove = viewport.top < (offset.top - dropdown.height);
4286
+ var enoughRoomBelow = viewport.bottom > (offset.bottom + dropdown.height);
4287
+
4288
+ var css = {
4289
+ left: offset.left,
4290
+ top: container.bottom
4291
+ };
4292
+
4293
+ // Determine what the parent element is to use for calciulating the offset
4294
+ var $offsetParent = this.$dropdownParent;
4295
+
4296
+ // For statically positoned elements, we need to get the element
4297
+ // that is determining the offset
4298
+ if ($offsetParent.css('position') === 'static') {
4299
+ $offsetParent = $offsetParent.offsetParent();
4300
+ }
4301
+
4302
+ var parentOffset = $offsetParent.offset();
4303
+
4304
+ css.top -= parentOffset.top;
4305
+ css.left -= parentOffset.left;
4306
+
4307
+ if (!isCurrentlyAbove && !isCurrentlyBelow) {
4308
+ newDirection = 'below';
4309
+ }
4310
+
4311
+ if (!enoughRoomBelow && enoughRoomAbove && !isCurrentlyAbove) {
4312
+ newDirection = 'above';
4313
+ } else if (!enoughRoomAbove && enoughRoomBelow && isCurrentlyAbove) {
4314
+ newDirection = 'below';
4315
+ }
4316
+
4317
+ if (newDirection == 'above' ||
4318
+ (isCurrentlyAbove && newDirection !== 'below')) {
4319
+ css.top = container.top - parentOffset.top - dropdown.height;
4320
+ }
4321
+
4322
+ if (newDirection != null) {
4323
+ this.$dropdown
4324
+ .removeClass('select2-dropdown--below select2-dropdown--above')
4325
+ .addClass('select2-dropdown--' + newDirection);
4326
+ this.$container
4327
+ .removeClass('select2-container--below select2-container--above')
4328
+ .addClass('select2-container--' + newDirection);
4329
+ }
4330
+
4331
+ this.$dropdownContainer.css(css);
4332
+ };
4333
+
4334
+ AttachBody.prototype._resizeDropdown = function () {
4335
+ var css = {
4336
+ width: this.$container.outerWidth(false) + 'px'
4337
+ };
4338
+
4339
+ if (this.options.get('dropdownAutoWidth')) {
4340
+ css.minWidth = css.width;
4341
+ css.position = 'relative';
4342
+ css.width = 'auto';
4343
+ }
4344
+
4345
+ this.$dropdown.css(css);
4346
+ };
4347
+
4348
+ AttachBody.prototype._showDropdown = function (decorated) {
4349
+ this.$dropdownContainer.appendTo(this.$dropdownParent);
4350
+
4351
+ this._positionDropdown();
4352
+ this._resizeDropdown();
4353
+ };
4354
+
4355
+ return AttachBody;
4356
+ });
4357
+
4358
+ S2.define('select2/dropdown/minimumResultsForSearch',[
4359
+
4360
+ ], function () {
4361
+ function countResults (data) {
4362
+ var count = 0;
4363
+
4364
+ for (var d = 0; d < data.length; d++) {
4365
+ var item = data[d];
4366
+
4367
+ if (item.children) {
4368
+ count += countResults(item.children);
4369
+ } else {
4370
+ count++;
4371
+ }
4372
+ }
4373
+
4374
+ return count;
4375
+ }
4376
+
4377
+ function MinimumResultsForSearch (decorated, $element, options, dataAdapter) {
4378
+ this.minimumResultsForSearch = options.get('minimumResultsForSearch');
4379
+
4380
+ if (this.minimumResultsForSearch < 0) {
4381
+ this.minimumResultsForSearch = Infinity;
4382
+ }
4383
+
4384
+ decorated.call(this, $element, options, dataAdapter);
4385
+ }
4386
+
4387
+ MinimumResultsForSearch.prototype.showSearch = function (decorated, params) {
4388
+ if (countResults(params.data.results) < this.minimumResultsForSearch) {
4389
+ return false;
4390
+ }
4391
+
4392
+ return decorated.call(this, params);
4393
+ };
4394
+
4395
+ return MinimumResultsForSearch;
4396
+ });
4397
+
4398
+ S2.define('select2/dropdown/selectOnClose',[
4399
+
4400
+ ], function () {
4401
+ function SelectOnClose () { }
4402
+
4403
+ SelectOnClose.prototype.bind = function (decorated, container, $container) {
4404
+ var self = this;
4405
+
4406
+ decorated.call(this, container, $container);
4407
+
4408
+ container.on('close', function (params) {
4409
+ self._handleSelectOnClose(params);
4410
+ });
4411
+ };
4412
+
4413
+ SelectOnClose.prototype._handleSelectOnClose = function (_, params) {
4414
+ if (params && params.originalSelect2Event != null) {
4415
+ var event = params.originalSelect2Event;
4416
+
4417
+ // Don't select an item if the close event was triggered from a select or
4418
+ // unselect event
4419
+ if (event._type === 'select' || event._type === 'unselect') {
4420
+ return;
4421
+ }
4422
+ }
4423
+
4424
+ var $highlightedResults = this.getHighlightedResults();
4425
+
4426
+ // Only select highlighted results
4427
+ if ($highlightedResults.length < 1) {
4428
+ return;
4429
+ }
4430
+
4431
+ var data = $highlightedResults.data('data');
4432
+
4433
+ // Don't re-select already selected resulte
4434
+ if (
4435
+ (data.element != null && data.element.selected) ||
4436
+ (data.element == null && data.selected)
4437
+ ) {
4438
+ return;
4439
+ }
4440
+
4441
+ this.trigger('select', {
4442
+ data: data
4443
+ });
4444
+ };
4445
+
4446
+ return SelectOnClose;
4447
+ });
4448
+
4449
+ S2.define('select2/dropdown/closeOnSelect',[
4450
+
4451
+ ], function () {
4452
+ function CloseOnSelect () { }
4453
+
4454
+ CloseOnSelect.prototype.bind = function (decorated, container, $container) {
4455
+ var self = this;
4456
+
4457
+ decorated.call(this, container, $container);
4458
+
4459
+ container.on('select', function (evt) {
4460
+ self._selectTriggered(evt);
4461
+ });
4462
+
4463
+ container.on('unselect', function (evt) {
4464
+ self._selectTriggered(evt);
4465
+ });
4466
+ };
4467
+
4468
+ CloseOnSelect.prototype._selectTriggered = function (_, evt) {
4469
+ var originalEvent = evt.originalEvent;
4470
+
4471
+ // Don't close if the control key is being held
4472
+ if (originalEvent && originalEvent.ctrlKey) {
4473
+ return;
4474
+ }
4475
+
4476
+ this.trigger('close', {
4477
+ originalEvent: originalEvent,
4478
+ originalSelect2Event: evt
4479
+ });
4480
+ };
4481
+
4482
+ return CloseOnSelect;
4483
+ });
4484
+
4485
+ S2.define('select2/i18n/en',[],function () {
4486
+ // English
4487
+ return {
4488
+ errorLoading: function () {
4489
+ return 'The results could not be loaded.';
4490
+ },
4491
+ inputTooLong: function (args) {
4492
+ var overChars = args.input.length - args.maximum;
4493
+
4494
+ var message = 'Please delete ' + overChars + ' character';
4495
+
4496
+ if (overChars != 1) {
4497
+ message += 's';
4498
+ }
4499
+
4500
+ return message;
4501
+ },
4502
+ inputTooShort: function (args) {
4503
+ var remainingChars = args.minimum - args.input.length;
4504
+
4505
+ var message = 'Please enter ' + remainingChars + ' or more characters';
4506
+
4507
+ return message;
4508
+ },
4509
+ loadingMore: function () {
4510
+ return 'Loading more results…';
4511
+ },
4512
+ maximumSelected: function (args) {
4513
+ var message = 'You can only select ' + args.maximum + ' item';
4514
+
4515
+ if (args.maximum != 1) {
4516
+ message += 's';
4517
+ }
4518
+
4519
+ return message;
4520
+ },
4521
+ noResults: function () {
4522
+ return 'No results found';
4523
+ },
4524
+ searching: function () {
4525
+ return 'Searching…';
4526
+ }
4527
+ };
4528
+ });
4529
+
4530
+ S2.define('select2/defaults',[
4531
+ 'jquery',
4532
+ 'require',
4533
+
4534
+ './results',
4535
+
4536
+ './selection/single',
4537
+ './selection/multiple',
4538
+ './selection/placeholder',
4539
+ './selection/allowClear',
4540
+ './selection/search',
4541
+ './selection/eventRelay',
4542
+
4543
+ './utils',
4544
+ './translation',
4545
+ './diacritics',
4546
+
4547
+ './data/select',
4548
+ './data/array',
4549
+ './data/ajax',
4550
+ './data/tags',
4551
+ './data/tokenizer',
4552
+ './data/minimumInputLength',
4553
+ './data/maximumInputLength',
4554
+ './data/maximumSelectionLength',
4555
+
4556
+ './dropdown',
4557
+ './dropdown/search',
4558
+ './dropdown/hidePlaceholder',
4559
+ './dropdown/infiniteScroll',
4560
+ './dropdown/attachBody',
4561
+ './dropdown/minimumResultsForSearch',
4562
+ './dropdown/selectOnClose',
4563
+ './dropdown/closeOnSelect',
4564
+
4565
+ './i18n/en'
4566
+ ], function ($, require,
4567
+
4568
+ ResultsList,
4569
+
4570
+ SingleSelection, MultipleSelection, Placeholder, AllowClear,
4571
+ SelectionSearch, EventRelay,
4572
+
4573
+ Utils, Translation, DIACRITICS,
4574
+
4575
+ SelectData, ArrayData, AjaxData, Tags, Tokenizer,
4576
+ MinimumInputLength, MaximumInputLength, MaximumSelectionLength,
4577
+
4578
+ Dropdown, DropdownSearch, HidePlaceholder, InfiniteScroll,
4579
+ AttachBody, MinimumResultsForSearch, SelectOnClose, CloseOnSelect,
4580
+
4581
+ EnglishTranslation) {
4582
+ function Defaults () {
4583
+ this.reset();
4584
+ }
4585
+
4586
+ Defaults.prototype.apply = function (options) {
4587
+ options = $.extend(true, {}, this.defaults, options);
4588
+
4589
+ if (options.dataAdapter == null) {
4590
+ if (options.ajax != null) {
4591
+ options.dataAdapter = AjaxData;
4592
+ } else if (options.data != null) {
4593
+ options.dataAdapter = ArrayData;
4594
+ } else {
4595
+ options.dataAdapter = SelectData;
4596
+ }
4597
+
4598
+ if (options.minimumInputLength > 0) {
4599
+ options.dataAdapter = Utils.Decorate(
4600
+ options.dataAdapter,
4601
+ MinimumInputLength
4602
+ );
4603
+ }
4604
+
4605
+ if (options.maximumInputLength > 0) {
4606
+ options.dataAdapter = Utils.Decorate(
4607
+ options.dataAdapter,
4608
+ MaximumInputLength
4609
+ );
4610
+ }
4611
+
4612
+ if (options.maximumSelectionLength > 0) {
4613
+ options.dataAdapter = Utils.Decorate(
4614
+ options.dataAdapter,
4615
+ MaximumSelectionLength
4616
+ );
4617
+ }
4618
+
4619
+ if (options.tags) {
4620
+ options.dataAdapter = Utils.Decorate(options.dataAdapter, Tags);
4621
+ }
4622
+
4623
+ if (options.tokenSeparators != null || options.tokenizer != null) {
4624
+ options.dataAdapter = Utils.Decorate(
4625
+ options.dataAdapter,
4626
+ Tokenizer
4627
+ );
4628
+ }
4629
+
4630
+ if (options.query != null) {
4631
+ var Query = require(options.amdBase + 'compat/query');
4632
+
4633
+ options.dataAdapter = Utils.Decorate(
4634
+ options.dataAdapter,
4635
+ Query
4636
+ );
4637
+ }
4638
+
4639
+ if (options.initSelection != null) {
4640
+ var InitSelection = require(options.amdBase + 'compat/initSelection');
4641
+
4642
+ options.dataAdapter = Utils.Decorate(
4643
+ options.dataAdapter,
4644
+ InitSelection
4645
+ );
4646
+ }
4647
+ }
4648
+
4649
+ if (options.resultsAdapter == null) {
4650
+ options.resultsAdapter = ResultsList;
4651
+
4652
+ if (options.ajax != null) {
4653
+ options.resultsAdapter = Utils.Decorate(
4654
+ options.resultsAdapter,
4655
+ InfiniteScroll
4656
+ );
4657
+ }
4658
+
4659
+ if (options.placeholder != null) {
4660
+ options.resultsAdapter = Utils.Decorate(
4661
+ options.resultsAdapter,
4662
+ HidePlaceholder
4663
+ );
4664
+ }
4665
+
4666
+ if (options.selectOnClose) {
4667
+ options.resultsAdapter = Utils.Decorate(
4668
+ options.resultsAdapter,
4669
+ SelectOnClose
4670
+ );
4671
+ }
4672
+ }
4673
+
4674
+ if (options.dropdownAdapter == null) {
4675
+ if (options.multiple) {
4676
+ options.dropdownAdapter = Dropdown;
4677
+ } else {
4678
+ var SearchableDropdown = Utils.Decorate(Dropdown, DropdownSearch);
4679
+
4680
+ options.dropdownAdapter = SearchableDropdown;
4681
+ }
4682
+
4683
+ if (options.minimumResultsForSearch !== 0) {
4684
+ options.dropdownAdapter = Utils.Decorate(
4685
+ options.dropdownAdapter,
4686
+ MinimumResultsForSearch
4687
+ );
4688
+ }
4689
+
4690
+ if (options.closeOnSelect) {
4691
+ options.dropdownAdapter = Utils.Decorate(
4692
+ options.dropdownAdapter,
4693
+ CloseOnSelect
4694
+ );
4695
+ }
4696
+
4697
+ if (
4698
+ options.dropdownCssClass != null ||
4699
+ options.dropdownCss != null ||
4700
+ options.adaptDropdownCssClass != null
4701
+ ) {
4702
+ var DropdownCSS = require(options.amdBase + 'compat/dropdownCss');
4703
+
4704
+ options.dropdownAdapter = Utils.Decorate(
4705
+ options.dropdownAdapter,
4706
+ DropdownCSS
4707
+ );
4708
+ }
4709
+
4710
+ options.dropdownAdapter = Utils.Decorate(
4711
+ options.dropdownAdapter,
4712
+ AttachBody
4713
+ );
4714
+ }
4715
+
4716
+ if (options.selectionAdapter == null) {
4717
+ if (options.multiple) {
4718
+ options.selectionAdapter = MultipleSelection;
4719
+ } else {
4720
+ options.selectionAdapter = SingleSelection;
4721
+ }
4722
+
4723
+ // Add the placeholder mixin if a placeholder was specified
4724
+ if (options.placeholder != null) {
4725
+ options.selectionAdapter = Utils.Decorate(
4726
+ options.selectionAdapter,
4727
+ Placeholder
4728
+ );
4729
+ }
4730
+
4731
+ if (options.allowClear) {
4732
+ options.selectionAdapter = Utils.Decorate(
4733
+ options.selectionAdapter,
4734
+ AllowClear
4735
+ );
4736
+ }
4737
+
4738
+ if (options.multiple) {
4739
+ options.selectionAdapter = Utils.Decorate(
4740
+ options.selectionAdapter,
4741
+ SelectionSearch
4742
+ );
4743
+ }
4744
+
4745
+ if (
4746
+ options.containerCssClass != null ||
4747
+ options.containerCss != null ||
4748
+ options.adaptContainerCssClass != null
4749
+ ) {
4750
+ var ContainerCSS = require(options.amdBase + 'compat/containerCss');
4751
+
4752
+ options.selectionAdapter = Utils.Decorate(
4753
+ options.selectionAdapter,
4754
+ ContainerCSS
4755
+ );
4756
+ }
4757
+
4758
+ options.selectionAdapter = Utils.Decorate(
4759
+ options.selectionAdapter,
4760
+ EventRelay
4761
+ );
4762
+ }
4763
+
4764
+ if (typeof options.language === 'string') {
4765
+ // Check if the language is specified with a region
4766
+ if (options.language.indexOf('-') > 0) {
4767
+ // Extract the region information if it is included
4768
+ var languageParts = options.language.split('-');
4769
+ var baseLanguage = languageParts[0];
4770
+
4771
+ options.language = [options.language, baseLanguage];
4772
+ } else {
4773
+ options.language = [options.language];
4774
+ }
4775
+ }
4776
+
4777
+ if ($.isArray(options.language)) {
4778
+ var languages = new Translation();
4779
+ options.language.push('en');
4780
+
4781
+ var languageNames = options.language;
4782
+
4783
+ for (var l = 0; l < languageNames.length; l++) {
4784
+ var name = languageNames[l];
4785
+ var language = {};
4786
+
4787
+ try {
4788
+ // Try to load it with the original name
4789
+ language = Translation.loadPath(name);
4790
+ } catch (e) {
4791
+ try {
4792
+ // If we couldn't load it, check if it wasn't the full path
4793
+ name = this.defaults.amdLanguageBase + name;
4794
+ language = Translation.loadPath(name);
4795
+ } catch (ex) {
4796
+ // The translation could not be loaded at all. Sometimes this is
4797
+ // because of a configuration problem, other times this can be
4798
+ // because of how Select2 helps load all possible translation files.
4799
+ if (options.debug && window.console && console.warn) {
4800
+ console.warn(
4801
+ 'Select2: The language file for "' + name + '" could not be ' +
4802
+ 'automatically loaded. A fallback will be used instead.'
4803
+ );
4804
+ }
4805
+
4806
+ continue;
4807
+ }
4808
+ }
4809
+
4810
+ languages.extend(language);
4811
+ }
4812
+
4813
+ options.translations = languages;
4814
+ } else {
4815
+ var baseTranslation = Translation.loadPath(
4816
+ this.defaults.amdLanguageBase + 'en'
4817
+ );
4818
+ var customTranslation = new Translation(options.language);
4819
+
4820
+ customTranslation.extend(baseTranslation);
4821
+
4822
+ options.translations = customTranslation;
4823
+ }
4824
+
4825
+ return options;
4826
+ };
4827
+
4828
+ Defaults.prototype.reset = function () {
4829
+ function stripDiacritics (text) {
4830
+ // Used 'uni range + named function' from http://jsperf.com/diacritics/18
4831
+ function match(a) {
4832
+ return DIACRITICS[a] || a;
4833
+ }
4834
+
4835
+ return text.replace(/[^\u0000-\u007E]/g, match);
4836
+ }
4837
+
4838
+ function matcher (params, data) {
4839
+ // Always return the object if there is nothing to compare
4840
+ if ($.trim(params.term) === '') {
4841
+ return data;
4842
+ }
4843
+
4844
+ // Do a recursive check for options with children
4845
+ if (data.children && data.children.length > 0) {
4846
+ // Clone the data object if there are children
4847
+ // This is required as we modify the object to remove any non-matches
4848
+ var match = $.extend(true, {}, data);
4849
+
4850
+ // Check each child of the option
4851
+ for (var c = data.children.length - 1; c >= 0; c--) {
4852
+ var child = data.children[c];
4853
+
4854
+ var matches = matcher(params, child);
4855
+
4856
+ // If there wasn't a match, remove the object in the array
4857
+ if (matches == null) {
4858
+ match.children.splice(c, 1);
4859
+ }
4860
+ }
4861
+
4862
+ // If any children matched, return the new object
4863
+ if (match.children.length > 0) {
4864
+ return match;
4865
+ }
4866
+
4867
+ // If there were no matching children, check just the plain object
4868
+ return matcher(params, match);
4869
+ }
4870
+
4871
+ var original = stripDiacritics(data.text).toUpperCase();
4872
+ var term = stripDiacritics(params.term).toUpperCase();
4873
+
4874
+ // Check if the text contains the term
4875
+ if (original.indexOf(term) > -1) {
4876
+ return data;
4877
+ }
4878
+
4879
+ // If it doesn't contain the term, don't return anything
4880
+ return null;
4881
+ }
4882
+
4883
+ this.defaults = {
4884
+ amdBase: './',
4885
+ amdLanguageBase: './i18n/',
4886
+ closeOnSelect: true,
4887
+ debug: false,
4888
+ dropdownAutoWidth: false,
4889
+ escapeMarkup: Utils.escapeMarkup,
4890
+ language: EnglishTranslation,
4891
+ matcher: matcher,
4892
+ minimumInputLength: 0,
4893
+ maximumInputLength: 0,
4894
+ maximumSelectionLength: 0,
4895
+ minimumResultsForSearch: 0,
4896
+ selectOnClose: false,
4897
+ sorter: function (data) {
4898
+ return data;
4899
+ },
4900
+ templateResult: function (result) {
4901
+ return result.text;
4902
+ },
4903
+ templateSelection: function (selection) {
4904
+ return selection.text;
4905
+ },
4906
+ theme: 'default',
4907
+ width: 'resolve'
4908
+ };
4909
+ };
4910
+
4911
+ Defaults.prototype.set = function (key, value) {
4912
+ var camelKey = $.camelCase(key);
4913
+
4914
+ var data = {};
4915
+ data[camelKey] = value;
4916
+
4917
+ var convertedData = Utils._convertData(data);
4918
+
4919
+ $.extend(this.defaults, convertedData);
4920
+ };
4921
+
4922
+ var defaults = new Defaults();
4923
+
4924
+ return defaults;
4925
+ });
4926
+
4927
+ S2.define('select2/options',[
4928
+ 'require',
4929
+ 'jquery',
4930
+ './defaults',
4931
+ './utils'
4932
+ ], function (require, $, Defaults, Utils) {
4933
+ function Options (options, $element) {
4934
+ this.options = options;
4935
+
4936
+ if ($element != null) {
4937
+ this.fromElement($element);
4938
+ }
4939
+
4940
+ this.options = Defaults.apply(this.options);
4941
+
4942
+ if ($element && $element.is('input')) {
4943
+ var InputCompat = require(this.get('amdBase') + 'compat/inputData');
4944
+
4945
+ this.options.dataAdapter = Utils.Decorate(
4946
+ this.options.dataAdapter,
4947
+ InputCompat
4948
+ );
4949
+ }
4950
+ }
4951
+
4952
+ Options.prototype.fromElement = function ($e) {
4953
+ var excludedData = ['select2'];
4954
+
4955
+ if (this.options.multiple == null) {
4956
+ this.options.multiple = $e.prop('multiple');
4957
+ }
4958
+
4959
+ if (this.options.disabled == null) {
4960
+ this.options.disabled = $e.prop('disabled');
4961
+ }
4962
+
4963
+ if (this.options.language == null) {
4964
+ if ($e.prop('lang')) {
4965
+ this.options.language = $e.prop('lang').toLowerCase();
4966
+ } else if ($e.closest('[lang]').prop('lang')) {
4967
+ this.options.language = $e.closest('[lang]').prop('lang');
4968
+ }
4969
+ }
4970
+
4971
+ if (this.options.dir == null) {
4972
+ if ($e.prop('dir')) {
4973
+ this.options.dir = $e.prop('dir');
4974
+ } else if ($e.closest('[dir]').prop('dir')) {
4975
+ this.options.dir = $e.closest('[dir]').prop('dir');
4976
+ } else {
4977
+ this.options.dir = 'ltr';
4978
+ }
4979
+ }
4980
+
4981
+ $e.prop('disabled', this.options.disabled);
4982
+ $e.prop('multiple', this.options.multiple);
4983
+
4984
+ if ($e.data('select2Tags')) {
4985
+ if (this.options.debug && window.console && console.warn) {
4986
+ console.warn(
4987
+ 'Select2: The `data-select2-tags` attribute has been changed to ' +
4988
+ 'use the `data-data` and `data-tags="true"` attributes and will be ' +
4989
+ 'removed in future versions of Select2.'
4990
+ );
4991
+ }
4992
+
4993
+ $e.data('data', $e.data('select2Tags'));
4994
+ $e.data('tags', true);
4995
+ }
4996
+
4997
+ if ($e.data('ajaxUrl')) {
4998
+ if (this.options.debug && window.console && console.warn) {
4999
+ console.warn(
5000
+ 'Select2: The `data-ajax-url` attribute has been changed to ' +
5001
+ '`data-ajax--url` and support for the old attribute will be removed' +
5002
+ ' in future versions of Select2.'
5003
+ );
5004
+ }
5005
+
5006
+ $e.attr('ajax--url', $e.data('ajaxUrl'));
5007
+ $e.data('ajax--url', $e.data('ajaxUrl'));
5008
+ }
5009
+
5010
+ var dataset = {};
5011
+
5012
+ // Prefer the element's `dataset` attribute if it exists
5013
+ // jQuery 1.x does not correctly handle data attributes with multiple dashes
5014
+ if ($.fn.jquery && $.fn.jquery.substr(0, 2) == '1.' && $e[0].dataset) {
5015
+ dataset = $.extend(true, {}, $e[0].dataset, $e.data());
5016
+ } else {
5017
+ dataset = $e.data();
5018
+ }
5019
+
5020
+ var data = $.extend(true, {}, dataset);
5021
+
5022
+ data = Utils._convertData(data);
5023
+
5024
+ for (var key in data) {
5025
+ if ($.inArray(key, excludedData) > -1) {
5026
+ continue;
5027
+ }
5028
+
5029
+ if ($.isPlainObject(this.options[key])) {
5030
+ $.extend(this.options[key], data[key]);
5031
+ } else {
5032
+ this.options[key] = data[key];
5033
+ }
5034
+ }
5035
+
5036
+ return this;
5037
+ };
5038
+
5039
+ Options.prototype.get = function (key) {
5040
+ return this.options[key];
5041
+ };
5042
+
5043
+ Options.prototype.set = function (key, val) {
5044
+ this.options[key] = val;
5045
+ };
5046
+
5047
+ return Options;
5048
+ });
5049
+
5050
+ S2.define('select2/core',[
5051
+ 'jquery',
5052
+ './options',
5053
+ './utils',
5054
+ './keys'
5055
+ ], function ($, Options, Utils, KEYS) {
5056
+ var Select2 = function ($element, options) {
5057
+ if ($element.data('select2') != null) {
5058
+ $element.data('select2').destroy();
5059
+ }
5060
+
5061
+ this.$element = $element;
5062
+
5063
+ this.id = this._generateId($element);
5064
+
5065
+ options = options || {};
5066
+
5067
+ this.options = new Options(options, $element);
5068
+
5069
+ Select2.__super__.constructor.call(this);
5070
+
5071
+ // Set up the tabindex
5072
+
5073
+ var tabindex = $element.attr('tabindex') || 0;
5074
+ $element.data('old-tabindex', tabindex);
5075
+ $element.attr('tabindex', '-1');
5076
+
5077
+ // Set up containers and adapters
5078
+
5079
+ var DataAdapter = this.options.get('dataAdapter');
5080
+ this.dataAdapter = new DataAdapter($element, this.options);
5081
+
5082
+ var $container = this.render();
5083
+
5084
+ this._placeContainer($container);
5085
+
5086
+ var SelectionAdapter = this.options.get('selectionAdapter');
5087
+ this.selection = new SelectionAdapter($element, this.options);
5088
+ this.$selection = this.selection.render();
5089
+
5090
+ this.selection.position(this.$selection, $container);
5091
+
5092
+ var DropdownAdapter = this.options.get('dropdownAdapter');
5093
+ this.dropdown = new DropdownAdapter($element, this.options);
5094
+ this.$dropdown = this.dropdown.render();
5095
+
5096
+ this.dropdown.position(this.$dropdown, $container);
5097
+
5098
+ var ResultsAdapter = this.options.get('resultsAdapter');
5099
+ this.results = new ResultsAdapter($element, this.options, this.dataAdapter);
5100
+ this.$results = this.results.render();
5101
+
5102
+ this.results.position(this.$results, this.$dropdown);
5103
+
5104
+ // Bind events
5105
+
5106
+ var self = this;
5107
+
5108
+ // Bind the container to all of the adapters
5109
+ this._bindAdapters();
5110
+
5111
+ // Register any DOM event handlers
5112
+ this._registerDomEvents();
5113
+
5114
+ // Register any internal event handlers
5115
+ this._registerDataEvents();
5116
+ this._registerSelectionEvents();
5117
+ this._registerDropdownEvents();
5118
+ this._registerResultsEvents();
5119
+ this._registerEvents();
5120
+
5121
+ // Set the initial state
5122
+ this.dataAdapter.current(function (initialData) {
5123
+ self.trigger('selection:update', {
5124
+ data: initialData
5125
+ });
5126
+ });
5127
+
5128
+ // Hide the original select
5129
+ $element.addClass('select2-hidden-accessible');
5130
+ $element.attr('aria-hidden', 'true');
5131
+
5132
+ // Synchronize any monitored attributes
5133
+ this._syncAttributes();
5134
+
5135
+ $element.data('select2', this);
5136
+ };
5137
+
5138
+ Utils.Extend(Select2, Utils.Observable);
5139
+
5140
+ Select2.prototype._generateId = function ($element) {
5141
+ var id = '';
5142
+
5143
+ if ($element.attr('id') != null) {
5144
+ id = $element.attr('id');
5145
+ } else if ($element.attr('name') != null) {
5146
+ id = $element.attr('name') + '-' + Utils.generateChars(2);
5147
+ } else {
5148
+ id = Utils.generateChars(4);
5149
+ }
5150
+
5151
+ id = id.replace(/(:|\.|\[|\]|,)/g, '');
5152
+ id = 'select2-' + id;
5153
+
5154
+ return id;
5155
+ };
5156
+
5157
+ Select2.prototype._placeContainer = function ($container) {
5158
+ $container.insertAfter(this.$element);
5159
+
5160
+ var width = this._resolveWidth(this.$element, this.options.get('width'));
5161
+
5162
+ if (width != null) {
5163
+ $container.css('width', width);
5164
+ }
5165
+ };
5166
+
5167
+ Select2.prototype._resolveWidth = function ($element, method) {
5168
+ var WIDTH = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;
5169
+
5170
+ if (method == 'resolve') {
5171
+ var styleWidth = this._resolveWidth($element, 'style');
5172
+
5173
+ if (styleWidth != null) {
5174
+ return styleWidth;
5175
+ }
5176
+
5177
+ return this._resolveWidth($element, 'element');
5178
+ }
5179
+
5180
+ if (method == 'element') {
5181
+ var elementWidth = $element.outerWidth(false);
5182
+
5183
+ if (elementWidth <= 0) {
5184
+ return 'auto';
5185
+ }
5186
+
5187
+ return elementWidth + 'px';
5188
+ }
5189
+
5190
+ if (method == 'style') {
5191
+ var style = $element.attr('style');
5192
+
5193
+ if (typeof(style) !== 'string') {
5194
+ return null;
5195
+ }
5196
+
5197
+ var attrs = style.split(';');
5198
+
5199
+ for (var i = 0, l = attrs.length; i < l; i = i + 1) {
5200
+ var attr = attrs[i].replace(/\s/g, '');
5201
+ var matches = attr.match(WIDTH);
5202
+
5203
+ if (matches !== null && matches.length >= 1) {
5204
+ return matches[1];
5205
+ }
5206
+ }
5207
+
5208
+ return null;
5209
+ }
5210
+
5211
+ return method;
5212
+ };
5213
+
5214
+ Select2.prototype._bindAdapters = function () {
5215
+ this.dataAdapter.bind(this, this.$container);
5216
+ this.selection.bind(this, this.$container);
5217
+
5218
+ this.dropdown.bind(this, this.$container);
5219
+ this.results.bind(this, this.$container);
5220
+ };
5221
+
5222
+ Select2.prototype._registerDomEvents = function () {
5223
+ var self = this;
5224
+
5225
+ this.$element.on('change.select2', function () {
5226
+ self.dataAdapter.current(function (data) {
5227
+ self.trigger('selection:update', {
5228
+ data: data
5229
+ });
5230
+ });
5231
+ });
5232
+
5233
+ this.$element.on('focus.select2', function (evt) {
5234
+ self.trigger('focus', evt);
5235
+ });
5236
+
5237
+ this._syncA = Utils.bind(this._syncAttributes, this);
5238
+ this._syncS = Utils.bind(this._syncSubtree, this);
5239
+
5240
+ if (this.$element[0].attachEvent) {
5241
+ this.$element[0].attachEvent('onpropertychange', this._syncA);
5242
+ }
5243
+
5244
+ var observer = window.MutationObserver ||
5245
+ window.WebKitMutationObserver ||
5246
+ window.MozMutationObserver
5247
+ ;
5248
+
5249
+ if (observer != null) {
5250
+ this._observer = new observer(function (mutations) {
5251
+ $.each(mutations, self._syncA);
5252
+ $.each(mutations, self._syncS);
5253
+ });
5254
+ this._observer.observe(this.$element[0], {
5255
+ attributes: true,
5256
+ childList: true,
5257
+ subtree: false
5258
+ });
5259
+ } else if (this.$element[0].addEventListener) {
5260
+ this.$element[0].addEventListener(
5261
+ 'DOMAttrModified',
5262
+ self._syncA,
5263
+ false
5264
+ );
5265
+ this.$element[0].addEventListener(
5266
+ 'DOMNodeInserted',
5267
+ self._syncS,
5268
+ false
5269
+ );
5270
+ this.$element[0].addEventListener(
5271
+ 'DOMNodeRemoved',
5272
+ self._syncS,
5273
+ false
5274
+ );
5275
+ }
5276
+ };
5277
+
5278
+ Select2.prototype._registerDataEvents = function () {
5279
+ var self = this;
5280
+
5281
+ this.dataAdapter.on('*', function (name, params) {
5282
+ self.trigger(name, params);
5283
+ });
5284
+ };
5285
+
5286
+ Select2.prototype._registerSelectionEvents = function () {
5287
+ var self = this;
5288
+ var nonRelayEvents = ['toggle', 'focus'];
5289
+
5290
+ this.selection.on('toggle', function () {
5291
+ self.toggleDropdown();
5292
+ });
5293
+
5294
+ this.selection.on('focus', function (params) {
5295
+ self.focus(params);
5296
+ });
5297
+
5298
+ this.selection.on('*', function (name, params) {
5299
+ if ($.inArray(name, nonRelayEvents) !== -1) {
5300
+ return;
5301
+ }
5302
+
5303
+ self.trigger(name, params);
5304
+ });
5305
+ };
5306
+
5307
+ Select2.prototype._registerDropdownEvents = function () {
5308
+ var self = this;
5309
+
5310
+ this.dropdown.on('*', function (name, params) {
5311
+ self.trigger(name, params);
5312
+ });
5313
+ };
5314
+
5315
+ Select2.prototype._registerResultsEvents = function () {
5316
+ var self = this;
5317
+
5318
+ this.results.on('*', function (name, params) {
5319
+ self.trigger(name, params);
5320
+ });
5321
+ };
5322
+
5323
+ Select2.prototype._registerEvents = function () {
5324
+ var self = this;
5325
+
5326
+ this.on('open', function () {
5327
+ self.$container.addClass('select2-container--open');
5328
+ });
5329
+
5330
+ this.on('close', function () {
5331
+ self.$container.removeClass('select2-container--open');
5332
+ });
5333
+
5334
+ this.on('enable', function () {
5335
+ self.$container.removeClass('select2-container--disabled');
5336
+ });
5337
+
5338
+ this.on('disable', function () {
5339
+ self.$container.addClass('select2-container--disabled');
5340
+ });
5341
+
5342
+ this.on('blur', function () {
5343
+ self.$container.removeClass('select2-container--focus');
5344
+ });
5345
+
5346
+ this.on('query', function (params) {
5347
+ if (!self.isOpen()) {
5348
+ self.trigger('open', {});
5349
+ }
5350
+
5351
+ this.dataAdapter.query(params, function (data) {
5352
+ self.trigger('results:all', {
5353
+ data: data,
5354
+ query: params
5355
+ });
5356
+ });
5357
+ });
5358
+
5359
+ this.on('query:append', function (params) {
5360
+ this.dataAdapter.query(params, function (data) {
5361
+ self.trigger('results:append', {
5362
+ data: data,
5363
+ query: params
5364
+ });
5365
+ });
5366
+ });
5367
+
5368
+ this.on('keypress', function (evt) {
5369
+ var key = evt.which;
5370
+
5371
+ if (self.isOpen()) {
5372
+ if (key === KEYS.ESC || key === KEYS.TAB ||
5373
+ (key === KEYS.UP && evt.altKey)) {
5374
+ self.close();
5375
+
5376
+ evt.preventDefault();
5377
+ } else if (key === KEYS.ENTER) {
5378
+ self.trigger('results:select', {});
5379
+
5380
+ evt.preventDefault();
5381
+ } else if ((key === KEYS.SPACE && evt.ctrlKey)) {
5382
+ self.trigger('results:toggle', {});
5383
+
5384
+ evt.preventDefault();
5385
+ } else if (key === KEYS.UP) {
5386
+ self.trigger('results:previous', {});
5387
+
5388
+ evt.preventDefault();
5389
+ } else if (key === KEYS.DOWN) {
5390
+ self.trigger('results:next', {});
5391
+
5392
+ evt.preventDefault();
5393
+ }
5394
+ } else {
5395
+ if (key === KEYS.ENTER || key === KEYS.SPACE ||
5396
+ (key === KEYS.DOWN && evt.altKey)) {
5397
+ self.open();
5398
+
5399
+ evt.preventDefault();
5400
+ }
5401
+ }
5402
+ });
5403
+ };
5404
+
5405
+ Select2.prototype._syncAttributes = function () {
5406
+ this.options.set('disabled', this.$element.prop('disabled'));
5407
+
5408
+ if (this.options.get('disabled')) {
5409
+ if (this.isOpen()) {
5410
+ this.close();
5411
+ }
5412
+
5413
+ this.trigger('disable', {});
5414
+ } else {
5415
+ this.trigger('enable', {});
5416
+ }
5417
+ };
5418
+
5419
+ Select2.prototype._syncSubtree = function (evt, mutations) {
5420
+ var changed = false;
5421
+ var self = this;
5422
+
5423
+ // Ignore any mutation events raised for elements that aren't options or
5424
+ // optgroups. This handles the case when the select element is destroyed
5425
+ if (
5426
+ evt && evt.target && (
5427
+ evt.target.nodeName !== 'OPTION' && evt.target.nodeName !== 'OPTGROUP'
5428
+ )
5429
+ ) {
5430
+ return;
5431
+ }
5432
+
5433
+ if (!mutations) {
5434
+ // If mutation events aren't supported, then we can only assume that the
5435
+ // change affected the selections
5436
+ changed = true;
5437
+ } else if (mutations.addedNodes && mutations.addedNodes.length > 0) {
5438
+ for (var n = 0; n < mutations.addedNodes.length; n++) {
5439
+ var node = mutations.addedNodes[n];
5440
+
5441
+ if (node.selected) {
5442
+ changed = true;
5443
+ }
5444
+ }
5445
+ } else if (mutations.removedNodes && mutations.removedNodes.length > 0) {
5446
+ changed = true;
5447
+ }
5448
+
5449
+ // Only re-pull the data if we think there is a change
5450
+ if (changed) {
5451
+ this.dataAdapter.current(function (currentData) {
5452
+ self.trigger('selection:update', {
5453
+ data: currentData
5454
+ });
5455
+ });
5456
+ }
5457
+ };
5458
+
5459
+ /**
5460
+ * Override the trigger method to automatically trigger pre-events when
5461
+ * there are events that can be prevented.
5462
+ */
5463
+ Select2.prototype.trigger = function (name, args) {
5464
+ var actualTrigger = Select2.__super__.trigger;
5465
+ var preTriggerMap = {
5466
+ 'open': 'opening',
5467
+ 'close': 'closing',
5468
+ 'select': 'selecting',
5469
+ 'unselect': 'unselecting'
5470
+ };
5471
+
5472
+ if (args === undefined) {
5473
+ args = {};
5474
+ }
5475
+
5476
+ if (name in preTriggerMap) {
5477
+ var preTriggerName = preTriggerMap[name];
5478
+ var preTriggerArgs = {
5479
+ prevented: false,
5480
+ name: name,
5481
+ args: args
5482
+ };
5483
+
5484
+ actualTrigger.call(this, preTriggerName, preTriggerArgs);
5485
+
5486
+ if (preTriggerArgs.prevented) {
5487
+ args.prevented = true;
5488
+
5489
+ return;
5490
+ }
5491
+ }
5492
+
5493
+ actualTrigger.call(this, name, args);
5494
+ };
5495
+
5496
+ Select2.prototype.toggleDropdown = function () {
5497
+ if (this.options.get('disabled')) {
5498
+ return;
5499
+ }
5500
+
5501
+ if (this.isOpen()) {
5502
+ this.close();
5503
+ } else {
5504
+ this.open();
5505
+ }
5506
+ };
5507
+
5508
+ Select2.prototype.open = function () {
5509
+ if (this.isOpen()) {
5510
+ return;
5511
+ }
5512
+
5513
+ this.trigger('query', {});
5514
+ };
5515
+
5516
+ Select2.prototype.close = function () {
5517
+ if (!this.isOpen()) {
5518
+ return;
5519
+ }
5520
+
5521
+ this.trigger('close', {});
5522
+ };
5523
+
5524
+ Select2.prototype.isOpen = function () {
5525
+ return this.$container.hasClass('select2-container--open');
5526
+ };
5527
+
5528
+ Select2.prototype.hasFocus = function () {
5529
+ return this.$container.hasClass('select2-container--focus');
5530
+ };
5531
+
5532
+ Select2.prototype.focus = function (data) {
5533
+ // No need to re-trigger focus events if we are already focused
5534
+ if (this.hasFocus()) {
5535
+ return;
5536
+ }
5537
+
5538
+ this.$container.addClass('select2-container--focus');
5539
+ this.trigger('focus', {});
5540
+ };
5541
+
5542
+ Select2.prototype.enable = function (args) {
5543
+ if (this.options.get('debug') && window.console && console.warn) {
5544
+ console.warn(
5545
+ 'Select2: The `select2("enable")` method has been deprecated and will' +
5546
+ ' be removed in later Select2 versions. Use $element.prop("disabled")' +
5547
+ ' instead.'
5548
+ );
5549
+ }
5550
+
5551
+ if (args == null || args.length === 0) {
5552
+ args = [true];
5553
+ }
5554
+
5555
+ var disabled = !args[0];
5556
+
5557
+ this.$element.prop('disabled', disabled);
5558
+ };
5559
+
5560
+ Select2.prototype.data = function () {
5561
+ if (this.options.get('debug') &&
5562
+ arguments.length > 0 && window.console && console.warn) {
5563
+ console.warn(
5564
+ 'Select2: Data can no longer be set using `select2("data")`. You ' +
5565
+ 'should consider setting the value instead using `$element.val()`.'
5566
+ );
5567
+ }
5568
+
5569
+ var data = [];
5570
+
5571
+ this.dataAdapter.current(function (currentData) {
5572
+ data = currentData;
5573
+ });
5574
+
5575
+ return data;
5576
+ };
5577
+
5578
+ Select2.prototype.val = function (args) {
5579
+ if (this.options.get('debug') && window.console && console.warn) {
5580
+ console.warn(
5581
+ 'Select2: The `select2("val")` method has been deprecated and will be' +
5582
+ ' removed in later Select2 versions. Use $element.val() instead.'
5583
+ );
5584
+ }
5585
+
5586
+ if (args == null || args.length === 0) {
5587
+ return this.$element.val();
5588
+ }
5589
+
5590
+ var newVal = args[0];
5591
+
5592
+ if ($.isArray(newVal)) {
5593
+ newVal = $.map(newVal, function (obj) {
5594
+ return obj.toString();
5595
+ });
5596
+ }
5597
+
5598
+ this.$element.val(newVal).trigger('change');
5599
+ };
5600
+
5601
+ Select2.prototype.destroy = function () {
5602
+ this.$container.remove();
5603
+
5604
+ if (this.$element[0].detachEvent) {
5605
+ this.$element[0].detachEvent('onpropertychange', this._syncA);
5606
+ }
5607
+
5608
+ if (this._observer != null) {
5609
+ this._observer.disconnect();
5610
+ this._observer = null;
5611
+ } else if (this.$element[0].removeEventListener) {
5612
+ this.$element[0]
5613
+ .removeEventListener('DOMAttrModified', this._syncA, false);
5614
+ this.$element[0]
5615
+ .removeEventListener('DOMNodeInserted', this._syncS, false);
5616
+ this.$element[0]
5617
+ .removeEventListener('DOMNodeRemoved', this._syncS, false);
5618
+ }
5619
+
5620
+ this._syncA = null;
5621
+ this._syncS = null;
5622
+
5623
+ this.$element.off('.select2');
5624
+ this.$element.attr('tabindex', this.$element.data('old-tabindex'));
5625
+
5626
+ this.$element.removeClass('select2-hidden-accessible');
5627
+ this.$element.attr('aria-hidden', 'false');
5628
+ this.$element.removeData('select2');
5629
+
5630
+ this.dataAdapter.destroy();
5631
+ this.selection.destroy();
5632
+ this.dropdown.destroy();
5633
+ this.results.destroy();
5634
+
5635
+ this.dataAdapter = null;
5636
+ this.selection = null;
5637
+ this.dropdown = null;
5638
+ this.results = null;
5639
+ };
5640
+
5641
+ Select2.prototype.render = function () {
5642
+ var $container = $(
5643
+ '<span class="select2 select2-container">' +
5644
+ '<span class="selection"></span>' +
5645
+ '<span class="dropdown-wrapper" aria-hidden="true"></span>' +
5646
+ '</span>'
5647
+ );
5648
+
5649
+ $container.attr('dir', this.options.get('dir'));
5650
+
5651
+ this.$container = $container;
5652
+
5653
+ this.$container.addClass('select2-container--' + this.options.get('theme'));
5654
+
5655
+ $container.data('element', this.$element);
5656
+
5657
+ return $container;
5658
+ };
5659
+
5660
+ return Select2;
5661
+ });
5662
+
5663
+ S2.define('jquery-mousewheel',[
5664
+ 'jquery'
5665
+ ], function ($) {
5666
+ // Used to shim jQuery.mousewheel for non-full builds.
5667
+ return $;
5668
+ });
5669
+
5670
+ S2.define('jquery.select2',[
5671
+ 'jquery',
5672
+ 'jquery-mousewheel',
5673
+
5674
+ './select2/core',
5675
+ './select2/defaults'
5676
+ ], function ($, _, Select2, Defaults) {
5677
+ if ($.fn.select2 == null) {
5678
+ // All methods that should return the element
5679
+ var thisMethods = ['open', 'close', 'destroy'];
5680
+
5681
+ $.fn.select2 = function (options) {
5682
+ options = options || {};
5683
+
5684
+ if (typeof options === 'object') {
5685
+ this.each(function () {
5686
+ var instanceOptions = $.extend(true, {}, options);
5687
+
5688
+ var instance = new Select2($(this), instanceOptions);
5689
+ });
5690
+
5691
+ return this;
5692
+ } else if (typeof options === 'string') {
5693
+ var ret;
5694
+ var args = Array.prototype.slice.call(arguments, 1);
5695
+
5696
+ this.each(function () {
5697
+ var instance = $(this).data('select2');
5698
+
5699
+ if (instance == null && window.console && console.error) {
5700
+ console.error(
5701
+ 'The select2(\'' + options + '\') method was called on an ' +
5702
+ 'element that is not using Select2.'
5703
+ );
5704
+ }
5705
+
5706
+ ret = instance[options].apply(instance, args);
5707
+ });
5708
+
5709
+ // Check if we should be returning `this`
5710
+ if ($.inArray(options, thisMethods) > -1) {
5711
+ return this;
5712
+ }
5713
+
5714
+ return ret;
5715
+ } else {
5716
+ throw new Error('Invalid arguments for Select2: ' + options);
5717
+ }
5718
+ };
5719
+ }
5720
+
5721
+ if ($.fn.select2.defaults == null) {
5722
+ $.fn.select2.defaults = Defaults;
5723
+ }
5724
+
5725
+ return Select2;
5726
+ });
5727
+
5728
+ // Return the AMD loader configuration so it can be used outside of this file
5729
+ return {
5730
+ define: S2.define,
5731
+ require: S2.require
5732
+ };
5733
+ }());
5734
+
5735
+ // Autoload the jQuery bindings
5736
+ // We know that all of the modules exist above this, so we're safe
5737
+ var select2 = S2.require('jquery.select2');
5738
+
5739
+ // Hold the AMD module references on the jQuery function that was just loaded
5740
+ // This allows Select2 to use the internal loader outside of this file, such
5741
+ // as in the language files.
5742
+ jQuery.fn.select2.amd = S2;
5743
+
5744
+ // Return the Select2 instance for anyone who is importing it.
5745
+ return select2;
5746
+ }));
assets/views/cricleMainView.php ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ use ycd\AdminHelper;
3
+ $defaultData = AdminHelper::defaultData();
4
+ $dueDate = $typeObj->getOptionValue('ycd-date-time-picker');
5
+ $animation = $typeObj->getOptionValue('ycd-circle-animation');
6
+ $type = $typeObj->getOptionValue('ycd-type');
7
+ if(empty($type)) {
8
+ $type = $_GET['ycd_type'];
9
+ }
10
+ ?>
11
+ <div class="ycd-bootstrap-wrapper">
12
+ <div class="row">
13
+ <div class="col-md-6">
14
+ <div class="row form-group">
15
+ <div class="col-md-5">
16
+ <label><?php _e('Due date', YCD_TEXT_DOMAIN); ?></label>
17
+ </div>
18
+ <div class="col-md-7">
19
+ <input type="text" id="ycd-date-time-picker" class="form-control" name="ycd-date-time-picker" value="<?php echo esc_attr($dueDate); ?>">
20
+ </div>
21
+ </div>
22
+ <div class="row form-group">
23
+ <div class="col-md-5">
24
+ <label><?php _e('Animation', YCD_TEXT_DOMAIN); ?></label>
25
+ </div>
26
+ <div class="col-md-7">
27
+ <?php echo AdminHelper::selectBox($defaultData['ycd-circle-animation'], esc_attr($animation), array('name' => 'ycd-circle-animation', 'class' => 'js-ycd-select')); ?>
28
+ </div>
29
+ </div>
30
+ </div>
31
+ <div class="col-md-6">
32
+ </div>
33
+ </div>
34
+ </div>
35
+
36
+ <input type="hidden" name="ycd-type" value="<?php echo esc_attr($type); ?>">
assets/views/types.php ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ use ycd\Countdown;
3
+ use ycd\AdminHelper;
4
+ $types = Countdown::getCountdownTypes();
5
+ ?>
6
+ <div class="ycd-bootstrap-wrapper">
7
+ <div class="row">
8
+ <div class="col-md-12">
9
+ <h3><?php _e('Add New Countdown', YCD_TEXT_DOMAIN); ?></h3>
10
+ </div>
11
+ </div>
12
+ <?php foreach ($types as $type): ?>
13
+ <a class="create-countdown-link" href="<?php echo AdminHelper::buildCreateCountdownUrl($type); ?>">
14
+ <div class="countdowns-div <?php echo AdminHelper::getCountdownThumbClass($type); ?>"></div>
15
+ </a>
16
+ <?php endforeach; ?>
17
+ </div>
classes/Actions.php ADDED
@@ -0,0 +1,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace ycd;
3
+
4
+ class Actions {
5
+ public $customPostTypeObj;
6
+
7
+ public function __construct() {
8
+ $this->init();
9
+ }
10
+
11
+ public function init() {
12
+ add_action('init', array($this, 'postTypeInit'));
13
+ add_action('admin_menu', array($this, 'addSubMenu'));
14
+ add_action('save_post', array($this, 'savePost'), 10, 3);
15
+ add_shortcode('ycd_countdown', array($this, 'shortcode'));
16
+ add_action('manage_'.YCD_COUNTDOWN_POST_TYPE.'_posts_custom_column' , array($this, 'tableColumnValues'), 10, 2);
17
+ }
18
+
19
+ public function postTypeInit() {
20
+ $this->customPostTypeObj = new RegisterPostType();
21
+ }
22
+
23
+ public function addSubMenu()
24
+ {
25
+ $this->customPostTypeObj->addSubMenu();
26
+ }
27
+
28
+ public function savePost($postId, $post, $update) {
29
+
30
+ if(!$update) {
31
+ return false;
32
+ }
33
+ $postData = Countdown::parseCountdownDataFromData($_POST);
34
+ if(empty($postData)) {
35
+ return false;
36
+ }
37
+ $postData['ycd-post-id'] = $postId;
38
+
39
+ if (!empty($postData['ycd-type'])) {
40
+ $type = $postData['ycd-type'];
41
+ $typePath = Countdown::getTypePathFormCountdownType($type);
42
+ $className = Countdown::getClassNameCountdownType($type);
43
+
44
+ require_once($typePath.$className.'.php');
45
+ $className = __NAMESPACE__.'\\'.$className;
46
+
47
+ $className::create($postData);
48
+ }
49
+ }
50
+
51
+ public function shortcode($args, $content) {
52
+ $id = $args['id'];
53
+ $type = 'circle';
54
+
55
+ if (!empty($cdOptionsData['ycd-type'])) {
56
+ $type = $cdOptionsData['ycd-type'];
57
+ }
58
+
59
+ $typePath = Countdown::getTypePathFormCountdownType($type);
60
+ $className = Countdown::getClassNameCountdownType($type);
61
+
62
+ if (!file_exists($typePath.$className.'.php')) {
63
+ return '';
64
+ }
65
+
66
+ require_once($typePath.$className.'.php');
67
+ $className = __NAMESPACE__.'\\'.$className;
68
+ $typeObj = new $className();
69
+ $typeObj->setId($id);
70
+
71
+ return $typeObj->getViewContent();
72
+ }
73
+
74
+ public function tableColumnValues($column, $postId) {
75
+ if ($column == 'shortcode') {
76
+ echo '<input type="text" onfocus="this.select();" readonly value="[ycd_countdown id='.$postId.']" class="large-text code">';
77
+ }
78
+ }
79
+ }
classes/CountdownType.php ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace ycd;
3
+
4
+ class CountdownType {
5
+ private $available = false;
6
+ private $name = '';
7
+ private $accessLevel = YCD_FREE_VERSION;
8
+
9
+ public function setName($name) {
10
+ $this->name = $name;
11
+ }
12
+ public function getName() {
13
+ return $this->name;
14
+ }
15
+
16
+ public function setAvailable($available) {
17
+ $this->available = $available;
18
+ }
19
+
20
+ public function isAvailable() {
21
+ return $this->available;
22
+ }
23
+
24
+ public function setAccessLevel($accessLevel) {
25
+ $this->accessLevel = $accessLevel;
26
+ }
27
+
28
+ public function getAccessLevel() {
29
+ return $this->accessLevel;
30
+ }
31
+ }
classes/Filters.php ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace ycd;
3
+
4
+ class Filters {
5
+
6
+ public function __construct() {
7
+ $this->init();
8
+ }
9
+
10
+ public function init() {
11
+ add_filter('admin_url', array($this, 'addNewPostUrl'), 10, 2);
12
+ add_filter('manage_'.YCD_COUNTDOWN_POST_TYPE.'_posts_columns' , array($this, 'tableColumns'));
13
+ }
14
+
15
+ public function addNewPostUrl($url, $path)
16
+ {
17
+ if ($path == 'post-new.php?post_type='.YCD_COUNTDOWN_POST_TYPE) {
18
+ $url = str_replace('post-new.php?post_type='.YCD_COUNTDOWN_POST_TYPE, 'edit.php?post_type='.YCD_COUNTDOWN_POST_TYPE.'&page='.YCD_COUNTDOWN_POST_TYPE, $url);
19
+ }
20
+
21
+ return $url;
22
+ }
23
+
24
+ public function tableColumns($columns) {
25
+ unset($columns['date']);
26
+
27
+ $additionalItems = array();
28
+ $additionalItems['shortcode'] = __('Shortcode', YCD_TEXT_DOMAIN);
29
+
30
+ return $columns + $additionalItems;
31
+ }
32
+ }
classes/RegisterPostType.php ADDED
@@ -0,0 +1,154 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace ycd;
3
+ use \YcdCountdownOptionsConfig;
4
+
5
+ class RegisterPostType {
6
+
7
+ private $typeObj;
8
+ private $type;
9
+ private $id;
10
+
11
+ public function __construct() {
12
+ $this->init();
13
+ }
14
+
15
+ public function setId($id) {
16
+ $this->id = $id;
17
+ }
18
+
19
+ public function getId() {
20
+ return (int)$this->id;
21
+ }
22
+
23
+ public function setType($type) {
24
+ $this->type = $type;
25
+ }
26
+
27
+ public function getType() {
28
+ return $this->type;
29
+ }
30
+
31
+ public function setTypeObj($typeObj) {
32
+ $this->typeObj = $typeObj;
33
+ }
34
+
35
+ public function getTypeObj() {
36
+ return $this->typeObj;
37
+ }
38
+
39
+ public function init() {
40
+
41
+ $postType = YCD_COUNTDOWN_POST_TYPE;
42
+ $args = $this->getPostTypeArgs();
43
+
44
+ register_post_type($postType, $args);
45
+
46
+ if($_GET['post_type'] || get_post_type($_GET['post']) == YCD_COUNTDOWN_POST_TYPE) {
47
+ $this->createCdObjFromCdType();
48
+ }
49
+ YcdCountdownOptionsConfig::optionsValues();
50
+ }
51
+
52
+ private function createCdObjFromCdType() {
53
+ $id = 0;
54
+
55
+ if (!empty($_GET['post'])) {
56
+ $id = (int)$_GET['post'];
57
+ }
58
+
59
+ $type = $this->getTypeName();
60
+ $this->setType($type);
61
+ $this->setId($id);
62
+
63
+ $this->createCdObj();
64
+ }
65
+
66
+ public function createCdObj()
67
+ {
68
+ $id = $this->getId();
69
+ $type = $this->getType();
70
+ $typePath = Countdown::getTypePathFormCountdownType($type);
71
+ $className = Countdown::getClassNameCountdownType($type);
72
+
73
+ if (!file_exists($typePath.$className.'.php')) {
74
+ wp_die(__('Countdown class does not exist', YCD_TEXT_DOMAIN));
75
+ }
76
+ require_once($typePath.$className.'.php');
77
+ $className = __NAMESPACE__.'\\'.$className;
78
+ $typeObj = new $className();
79
+ $typeObj->setId($id);
80
+ $this->setTypeObj($typeObj);
81
+ }
82
+
83
+ private function getTypeName() {
84
+ $type = 'circle';
85
+
86
+ /*
87
+ * First, we try to find the countdown type with the post id then,
88
+ * if the post id doesn't exist, we try to find it with $_GET['ycd_type']
89
+ */
90
+ if (!empty($_GET['post'])) {
91
+ $id = (int)$_GET['post'];
92
+ $cdOptionsData = Countdown::getPostSavedData($id);
93
+ if (!empty($cdOptionsData['ycd-type'])) {
94
+ $type = $cdOptionsData['ycd-type'];
95
+ }
96
+ }
97
+ else if (!empty($_GET['ycd_type'])) {
98
+ $type = $_GET['ycd_type'];
99
+ }
100
+
101
+ return $type;
102
+ }
103
+
104
+ public function getPostTypeArgs()
105
+ {
106
+ $labels = $this->getPostTypeLabels();
107
+
108
+ $args = array(
109
+ 'labels' => $labels,
110
+ 'description' => __('Description.', 'your-plugin-textdomain'),
111
+ //Exclude_from_search
112
+ 'public' => true,
113
+ //Where to show the post type in the admin menu
114
+ 'show_ui' => true,
115
+ 'query_var' => false,
116
+ 'capability_type' => 'post',
117
+ 'menu_position' => 10,
118
+ 'supports' => apply_filters('ycdPostTypeSupport', array('title')),
119
+ 'menu_icon' => 'dashicons-clock'
120
+ );
121
+
122
+ return $args;
123
+ }
124
+
125
+ public function getPostTypeLabels()
126
+ {
127
+ $labels = array(
128
+ 'name' => _x('Countdowns', 'post type general name', YCD_TEXT_DOMAIN),
129
+ 'singular_name' => _x('Countdown', 'post type singular name', YCD_TEXT_DOMAIN),
130
+ 'menu_name' => _x('Countdowns', 'admin menu', YCD_TEXT_DOMAIN),
131
+ 'name_admin_bar' => _x('Countdown', 'add new on admin bar', YCD_TEXT_DOMAIN),
132
+ 'add_new' => _x('Add New', 'Countdown', YCD_TEXT_DOMAIN),
133
+ 'add_new_item' => __('Add New Countdown', YCD_TEXT_DOMAIN),
134
+ 'new_item' => __('New Countdown', YCD_TEXT_DOMAIN),
135
+ 'edit_item' => __('Edit Countdown', YCD_TEXT_DOMAIN),
136
+ 'view_item' => __('View Countdown', YCD_TEXT_DOMAIN),
137
+ 'all_items' => __('All Countdowns', YCD_TEXT_DOMAIN),
138
+ 'search_items' => __('Search Countdowns', YCD_TEXT_DOMAIN),
139
+ 'parent_item_colon' => __('Parent Countdowns:', YCD_TEXT_DOMAIN),
140
+ 'not_found' => __('No countdown found.', YCD_TEXT_DOMAIN),
141
+ 'not_found_in_trash' => __('No countdowns found in Trash.', YCD_TEXT_DOMAIN)
142
+ );
143
+
144
+ return $labels;
145
+ }
146
+
147
+ public function addSubMenu() {
148
+ add_submenu_page('edit.php?post_type='.YCD_COUNTDOWN_POST_TYPE, __('Countdown Types', YCD_TEXT_DOMAIN), __('Countdown Types', YCD_TEXT_DOMAIN), 'manage_options', YCD_COUNTDOWN_POST_TYPE, array($this, 'countdownTypes'));
149
+ }
150
+
151
+ public function countdownTypes() {
152
+ require_once YCD_VIEWS_PATH.'types.php';
153
+ }
154
+ }
classes/countdown/CircleCountdown.php ADDED
@@ -0,0 +1,69 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace ycd;
3
+
4
+ class CircleCountdown extends Countdown {
5
+
6
+ public function __construct() {
7
+ $this->includeStyles();
8
+ add_action('add_meta_boxes', array($this, 'mainOptions'));
9
+ add_filter('ycdCountdownDefaultOptions', array($this, 'defaultOptions'), 1, 1);
10
+ }
11
+
12
+ public function defaultOptions($options) {
13
+ $options[] = array('name' => 'ycd-date-time-picker', 'type' => 'text', 'defaultValue' => date('Y-m-d H:i', strtotime(' +1 day')));
14
+ $options[] = array('name' => 'ycd-circle-animation', 'type' => 'text', 'defaultValue' => 'smooth');
15
+
16
+ return $options;
17
+ }
18
+
19
+ public function includeStyles() {
20
+ ScriptsIncluder::registerScript('jquery.datetimepicker.full.min.js');
21
+ ScriptsIncluder::enqueueScript('jquery.datetimepicker.full.min.js');
22
+ ScriptsIncluder::registerScript('Countdown.js');
23
+ ScriptsIncluder::enqueueScript('Countdown.js');
24
+ ScriptsIncluder::registerScript('TimeCircles.js');
25
+ ScriptsIncluder::enqueueScript('TimeCircles.js');
26
+ ScriptsIncluder::registerStyle('jquery.dateTimePicker.min.css');
27
+ ScriptsIncluder::enqueueStyle('jquery.dateTimePicker.min.css');
28
+ ScriptsIncluder::registerStyle('TimeCircles.css');
29
+ ScriptsIncluder::enqueueStyle('TimeCircles.css');
30
+ if (is_admin()) {
31
+ ScriptsIncluder::registerStyle('select2.css');
32
+ ScriptsIncluder::enqueueStyle('select2.css');
33
+ ScriptsIncluder::registerScript('select2.js');
34
+ ScriptsIncluder::enqueueScript('select2.js');
35
+ }
36
+ }
37
+
38
+ public function mainOptions(){
39
+
40
+ add_meta_box('ycdMainOptions', __('Countdown options', YCD_TEXT_DOMAIN), array($this, 'mainView'), YCD_COUNTDOWN_POST_TYPE, 'normal', 'high');
41
+ }
42
+
43
+ public function mainView() {
44
+ $typeObj = $this;
45
+ require_once YCD_VIEWS_PATH.'cricleMainView.php';
46
+ }
47
+
48
+ public function prepareOptions() {
49
+ $options = array();
50
+ $options['animation'] = $this->getOptionValue('ycd-circle-animation');
51
+
52
+ return $options;
53
+ }
54
+ public function getViewContent() {
55
+
56
+ $dueDate = $this->getOptionValue('ycd-date-time-picker');
57
+ $dueDate .= ':00';
58
+ $prepareOptions = $this->prepareOptions();
59
+ $prepareOptions = json_encode($prepareOptions, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT);
60
+ ob_start();
61
+ ?>
62
+ <div class="ycd-time-sircle" data-options='<?php echo $prepareOptions; ?>' data-date="<?php echo $dueDate ?>" style="width: 500px; height: 125px; padding: 0px; box-sizing: border-box; background-color: #E0E8EF"></div>
63
+ <?php
64
+ $content = ob_get_contents();
65
+ ob_get_clean();
66
+
67
+ return $content;
68
+ }
69
+ }
classes/countdown/Countdown.php ADDED
@@ -0,0 +1,249 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace ycd;
3
+ use \YcdCountdownOptionsConfig;
4
+
5
+ abstract class Countdown {
6
+
7
+ private $id;
8
+ private $type;
9
+ private $savedData;
10
+ private $sanitizedData;
11
+
12
+ abstract protected function getViewContent();
13
+
14
+ public function setId($id) {
15
+ $this->id = $id;
16
+ }
17
+
18
+ public function getId() {
19
+ return (int)$this->id;
20
+ }
21
+
22
+ public function setType($type) {
23
+ $this->type = $type;
24
+ }
25
+
26
+ public function getType() {
27
+ return $this->type;
28
+ }
29
+
30
+ public function setSavedData($savedData) {
31
+ $this->savedData = $savedData;
32
+ }
33
+
34
+ public function getSavedData() {
35
+ return $this->savedData;
36
+ }
37
+
38
+ public function insertIntoSanitizedData($sanitizedData) {
39
+ if (!empty($sanitizedData)) {
40
+ $this->sanitizedData[$sanitizedData['name']] = $sanitizedData['value'];
41
+ }
42
+ }
43
+
44
+ public function getSanitizedData() {
45
+ return $this->sanitizedData;
46
+ }
47
+
48
+ public static function create($data = array()) {
49
+ $obj = new static();
50
+ $id = $data['ycd-post-id'];
51
+ $obj->setId($id);
52
+
53
+ // set up applay filter
54
+ YcdCountdownOptionsConfig::optionsValues();
55
+ foreach ($data as $name => $value) {
56
+ $defaultData = $obj->getDefaultDataByName($name);
57
+ if (empty($defaultData['type'])) {
58
+ $defaultData['type'] = 'string';
59
+ }
60
+ $sanitizedValue = $obj->sanitizeValueByType($value, $defaultData['type']);
61
+ $obj->insertIntoSanitizedData(array('name' => $name,'value' => $sanitizedValue));
62
+ }
63
+
64
+ $result = $obj->save();
65
+ }
66
+
67
+ public function save() {
68
+ $options = $this->getSanitizedData();
69
+ $postId = $this->getId();
70
+
71
+ update_post_meta($postId, 'ycd_options', $options);
72
+ }
73
+
74
+ public function sanitizeValueByType($value, $type) {
75
+ switch ($type) {
76
+ case 'string':
77
+ $sanitizedValue = sanitize_text_field($value);
78
+ break;
79
+ case 'array':
80
+ $sanitizedValue = $this->recursiveSanitizeTextField($value);
81
+ break;
82
+ case 'email':
83
+ $sanitizedValue = sanitize_email($value);
84
+ break;
85
+ case "checkbox":
86
+ $sanitizedValue = sanitize_text_field($value);
87
+ break;
88
+ default:
89
+ $sanitizedValue = sanitize_text_field($value);
90
+ break;
91
+ }
92
+
93
+ return $sanitizedValue;
94
+ }
95
+
96
+ public function recursiveSanitizeTextField($array) {
97
+ if (!is_array($array)) {
98
+ return $array;
99
+ }
100
+
101
+ foreach ($array as $key => &$value) {
102
+ if (is_array($value)) {
103
+ $value = $this->recursiveSanitizeTextField($value);
104
+ }
105
+ else {
106
+ /*get simple field type and do sanitization*/
107
+ $defaultData = $this->getDefaultDataByName($key);
108
+ if (empty($defaultData['type'])) {
109
+ $defaultData['type'] = 'string';
110
+ }
111
+ $value = $this->sanitizeValueByType($value, $defaultData['type']);
112
+ }
113
+ }
114
+
115
+ return $array;
116
+ }
117
+
118
+ public function getDefaultDataByName($optionName) {
119
+ global $YCD_OPTIONS;
120
+
121
+ foreach ($YCD_OPTIONS as $option) {
122
+ if ($option['name'] == $optionName) {
123
+ return $option;
124
+ }
125
+ }
126
+
127
+ return array();
128
+ }
129
+
130
+ public static function parseCountdownDataFromData($data) {
131
+ $cdData = array();
132
+
133
+ foreach ($data as $key => $value) {
134
+ if (strpos($key, 'ycd') === 0) {
135
+ $cdData[$key] = $value;
136
+ }
137
+ }
138
+
139
+ return $cdData;
140
+ }
141
+
142
+ public static function getClassNameCountdownType($type) {
143
+ $typeName = ucfirst(strtolower($type));
144
+ $className = $typeName.'Countdown';
145
+
146
+ return $className;
147
+ }
148
+
149
+ public static function getTypePathFormCountdownType($type) {
150
+ global $YCD_TYPES;
151
+ $typePath = '';
152
+
153
+ if (!empty($YCD_TYPES['typePath'][$type])) {
154
+ $typePath = $YCD_TYPES['typePath'][$type];
155
+ }
156
+
157
+ return $typePath;
158
+ }
159
+
160
+ /**
161
+ * Get option value from name
162
+ * @since 1.0.0
163
+ *
164
+ * @param string $optionName
165
+ * @param bool $forceDefaultValue
166
+ * @return srting
167
+ */
168
+ public function getOptionValue($optionName, $forceDefaultValue = false) {
169
+ require_once(dirname(__FILE__).'/CountdownModel.php');
170
+ $savedData = CountdownModel::getDataById($this->getId());
171
+ $this->setSavedData($savedData);
172
+
173
+ return $this->getOptionValueFromSavedData($optionName, $forceDefaultValue);
174
+ }
175
+
176
+ public function getOptionValueFromSavedData($optionName, $forceDefaultValue = false) {
177
+ $defaultData = $this->getDefaultDataByName($optionName);
178
+ $savedData = $this->getSavedData();
179
+
180
+ $optionValue = null;
181
+
182
+ if (empty($defaultData['type'])) {
183
+ $defaultData['type'] = 'string';
184
+ }
185
+
186
+ if (!empty($savedData)) { //edit mode
187
+ if (isset($savedData[$optionName])) { //option exists in the database
188
+ $optionValue = $savedData[$optionName];
189
+ }
190
+ /* if it's a checkbox, it may not exist in the db
191
+ * if we don't care about it's existance, return empty string
192
+ * otherwise, go for it's default value
193
+ */
194
+ else if ($defaultData['type'] == 'checkbox' && !$forceDefaultValue) {
195
+ $optionValue = '';
196
+ }
197
+ }
198
+
199
+ if ($optionValue === null && !empty($defaultData['defaultValue'])) {
200
+ $optionValue = $defaultData['defaultValue'];
201
+ }
202
+
203
+ if ($defaultData['type'] == 'checkbox') {
204
+ $optionValue = $this->boolToChecked($optionValue);
205
+ }
206
+
207
+ return $optionValue;
208
+ }
209
+
210
+ public static function getPostSavedData($postId) {
211
+ $savedData = get_post_meta($postId, 'ycd_options');
212
+ $savedData = $savedData[0];
213
+
214
+ return $savedData;
215
+ }
216
+
217
+ /**
218
+ * Returns separate countdown types Free or Pro
219
+ *
220
+ * @since 1.0.0
221
+ *
222
+ * @return array $countdownType
223
+ */
224
+ public static function getCountdownTypes() {
225
+ global $YCD_TYPES;
226
+ $countdownTypesObj = array();
227
+ $countdownTypes = $YCD_TYPES['typeName'];
228
+
229
+ foreach($countdownTypes as $type => $level) {
230
+ if(empty($level)) {
231
+ $level = YCD_FREE_VERSION;
232
+ }
233
+ $typeObj = new CountdownType();
234
+ $typeObj->setName($type);
235
+ $typeObj->setAccessLevel($level);
236
+
237
+ if(YCD_PKG_VERSION >= $level) {
238
+ $typeObj->setAvailable(true);
239
+ }
240
+ $countdownTypesObj[] = $typeObj;
241
+ }
242
+
243
+ return $countdownTypesObj;
244
+ }
245
+
246
+ public function boolToChecked($var) {
247
+ return ($var ? 'checked' : '');
248
+ }
249
+ }
classes/countdown/CountdownModel.php ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace ycd;
3
+
4
+ class CountdownModel {
5
+ private static $data = array();
6
+
7
+ private function __construct() {
8
+ }
9
+
10
+ public static function getDataById($postId) {
11
+ if (!isset(self::$data[$postId])) {
12
+ self::$data[$postId] = Countdown::getPostSavedData($postId);
13
+ }
14
+
15
+ return self::$data[$postId];
16
+ }
17
+ }
config/boot.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+ require_once dirname(__FILE__).'/config.php';
3
+ require_once dirname(__FILE__).'/optionsConfig.php';
config/config.php ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class YcdCountdownConfig {
4
+ public static function addDefine($name, $value) {
5
+ if(!defined($name)) {
6
+ define($name, $value);
7
+ }
8
+ }
9
+
10
+ public static function init() {
11
+ self::addDefine('YCD_ADMIN_URL', admin_url());
12
+ self::addDefine('YCD_COUNTDOWN_BUILDER_URL', plugins_url().'/'.YCD_FOLDER_NAME.'/');
13
+ self::addDefine('YCD_COUNTDOWN_ADMIN_URL', admin_url());
14
+ self::addDefine('YCD_COUNTDOWN_URL', plugins_url().'/'.YCD_FOLDER_NAME.'/');
15
+ self::addDefine('YCD_COUNTDOWN_ASSETS_URL', YCD_COUNTDOWN_URL.'assets/');
16
+ self::addDefine('YCD_COUNTDOWN_CSS_URL', YCD_COUNTDOWN_ASSETS_URL.'css/');
17
+ self::addDefine('YCD_COUNTDOWN_JS_URL', YCD_COUNTDOWN_ASSETS_URL.'js/');
18
+ self::addDefine('YCD_COUNTDOWN_PATH', WP_PLUGIN_DIR.'/'.YCD_FOLDER_NAME.'/');
19
+ self::addDefine('YCD_CLASSES_PATH', YCD_COUNTDOWN_PATH.'classes/');
20
+ self::addDefine('YCD_HELPERS_PATH', YCD_COUNTDOWN_PATH.'helpers/');
21
+ self::addDefine('YCD_ASSETS_PATH', YCD_COUNTDOWN_PATH.'/assets/');
22
+ self::addDefine('YCD_VIEWS_PATH', YCD_ASSETS_PATH.'views/');
23
+ self::addDefine('YCD_CSS_PATH', YCD_ASSETS_PATH.'css/');
24
+ self::addDefine('YCD_COUNTDOWNS_PATH', YCD_CLASSES_PATH.'countdown/');
25
+ self::addDefine('YCD_HELPERS_PATH', YCD_COUNTDOWN_PATH.'helpers/');
26
+ self::addDefine('YCD_COUNTDOWN_POST_TYPE', 'ycdcountdown');
27
+ self::addDefine('YCD_TEXT_DOMAIN', 'ycdCountdown');
28
+ self::addDefine('YCD_VERSION', 1.0);
29
+ self::addDefine('YCD_FREE_VERSION', 1);
30
+ self::addDefine('YCD_SILVER_VERSION', 2);
31
+ self::addDefine('YCD_GOLD_VERSION', 3);
32
+ self::addDefine('YCD_PKG_VERSION', 3);
33
+ }
34
+ }
35
+
36
+ YcdCountdownConfig::init();
config/optionsConfig.php ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class YcdCountdownOptionsConfig {
4
+
5
+ public static function init() {
6
+ global $YCD_TYPES;
7
+
8
+ $YCD_TYPES['typeName'] = apply_filters('ycdTypes', array(
9
+ 'circle' => YCD_FREE_VERSION
10
+ ));
11
+
12
+ $YCD_TYPES['typePath'] = apply_filters('ycdTypePaths', array(
13
+ 'circle' => YCD_COUNTDOWNS_PATH
14
+ ));
15
+ }
16
+
17
+ public static function optionsValues() {
18
+ global $YCD_OPTIONS;
19
+ $options = array();
20
+
21
+ $YCD_OPTIONS = apply_filters('ycdCountdownDefaultOptions', $options);;
22
+ }
23
+ }
24
+
25
+ YcdCountdownOptionsConfig::init();
countdown-builder.php ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Plugin Name: Countdown builder
4
+ * Description: The best countdown plugin
5
+ * Version: 1.0.1
6
+ * Author: Adam Skaat
7
+ * Author URI:
8
+ * License: GPLv2
9
+ */
10
+
11
+ /*If this file is called directly, abort.*/
12
+ if(!defined('WPINC')) {
13
+ wp_die();
14
+ }
15
+
16
+ if(!defined('YCD_FILE_NAME')) {
17
+ define('YCD_FILE_NAME', plugin_basename(__FILE__));
18
+ }
19
+
20
+ if(!defined('YCD_FOLDER_NAME')) {
21
+ define('YCD_FOLDER_NAME', plugin_basename(dirname(__FILE__)));
22
+ }
23
+
24
+ require_once(plugin_dir_path(__FILE__).'config/boot.php');
25
+ require_once(plugin_dir_path(__FILE__).'CountdownInit.php');
helpers/AdminHelper.php ADDED
@@ -0,0 +1,82 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace ycd;
3
+
4
+
5
+ class AdminHelper {
6
+ public static function buildCreateCountdownUrl($type) {
7
+ $isAvailable = $type->isAvailable();
8
+ $name = $type->getName();
9
+
10
+ $url = YCD_COUNTDOWN_ADMIN_URL.'post-new.php?post_type='.YCD_COUNTDOWN_POST_TYPE.'&ycd_type='.$name;
11
+
12
+ if (!$isAvailable) {
13
+ $url = '';
14
+ }
15
+
16
+ return $url;
17
+ }
18
+
19
+ public static function getCountdownThumbClass($type) {
20
+ $isAvailable = $type->isAvailable();
21
+ $name = $type->getName();
22
+
23
+ $typeClassName = $name.'-countdown';
24
+
25
+ if (!$isAvailable) {
26
+ $typeClassName .= '-pro';
27
+ }
28
+
29
+ return $typeClassName;
30
+ }
31
+
32
+ public static function defaultData() {
33
+
34
+ $data = array();
35
+
36
+ $data['ycd-circle-animation'] = array(
37
+ 'smooth' => __('Smooth', YCD_TEXT_DOMAIN),
38
+ 'ticks' => __('Ticks', YCD_TEXT_DOMAIN)
39
+ );
40
+
41
+ return $data;
42
+ }
43
+
44
+ public static function selectBox($data, $selectedValue, $attrs) {
45
+
46
+ $attrString = '';
47
+ $selected = '';
48
+
49
+ if(!empty($attrs) && isset($attrs)) {
50
+
51
+ foreach ($attrs as $attrName => $attrValue) {
52
+ $attrString .= ''.$attrName.'="'.$attrValue.'" ';
53
+ }
54
+ }
55
+
56
+ $selectBox = '<select '.$attrString.'>';
57
+
58
+ foreach ($data as $value => $label) {
59
+
60
+ /*When is multiselect*/
61
+ if(is_array($selectedValue)) {
62
+ $isSelected = in_array($value, $selectedValue);
63
+ if($isSelected) {
64
+ $selected = 'selected';
65
+ }
66
+ }
67
+ else if($selectedValue == $value) {
68
+ $selected = 'selected';
69
+ }
70
+ else if(is_array($value) && in_array($selectedValue, $value)) {
71
+ $selected = 'selected';
72
+ }
73
+
74
+ $selectBox .= '<option value="'.$value.'" '.$selected.'>'.$label.'</option>';
75
+ $selected = '';
76
+ }
77
+
78
+ $selectBox .= '</select>';
79
+
80
+ return $selectBox;
81
+ }
82
+ }
helpers/ScriptsIncluder.php ADDED
@@ -0,0 +1,125 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace ycd;
3
+
4
+ class ScriptsIncluder {
5
+ /**
6
+ * Countdown register style
7
+ *
8
+ * @since 1.0.0
9
+ *
10
+ * @param string $fileName file address
11
+ * @param array $args wordpress register style args dep|ver|media|dirUrl
12
+ *
13
+ * @return void
14
+ */
15
+ public static function registerStyle($fileName, $args = array())
16
+ {
17
+ if(empty($fileName)) {
18
+ return;
19
+ }
20
+
21
+ $dep = array();
22
+ $ver = YCD_VERSION;
23
+ $media = 'all';
24
+ $dirUrl = YCD_COUNTDOWN_CSS_URL;
25
+
26
+ if(!empty($args['dep'])) {
27
+ $dep = $args['dep'];
28
+ }
29
+
30
+ if(!empty($args['ver'])) {
31
+ $ver = $args['ver'];
32
+ }
33
+
34
+ if(!empty($args['media'])) {
35
+ $media = $args['media'];
36
+ }
37
+
38
+ if(!empty($args['dirUrl'])) {
39
+ $dirUrl = $args['dirUrl'];
40
+ }
41
+
42
+ wp_register_style($fileName, $dirUrl.''.$fileName, $dep, $ver, $media);
43
+ }
44
+
45
+ /**
46
+ * Countdown register style
47
+ *
48
+ * @since 1.0.0
49
+ *
50
+ * @param string $fileName file address
51
+ *
52
+ * @return void
53
+ */
54
+ public static function enqueueStyle($fileName)
55
+ {
56
+ if(empty($fileName)) {
57
+ return;
58
+ }
59
+
60
+ wp_enqueue_style($fileName);
61
+ }
62
+
63
+ /**
64
+ * Countdown register style
65
+ *
66
+ * @since 1.0.0
67
+ *
68
+ * @param string $fileName file address
69
+ * @param array $args wordpress register script args dep|ver|inFooter|dirUrl
70
+ *
71
+ * @return void
72
+ */
73
+ public static function registerScript($fileName, $args = array())
74
+ {
75
+ if(empty($fileName)) {
76
+ return;
77
+ }
78
+
79
+ $dep = array();
80
+ $ver = YCD_VERSION;
81
+ $inFooter = false;
82
+ $dirUrl = YCD_COUNTDOWN_JS_URL;
83
+
84
+ if(!empty($args['dep'])) {
85
+ $dep = $args['dep'];
86
+ }
87
+
88
+ if(!empty($args['ver'])) {
89
+ $ver = $args['ver'];
90
+ }
91
+
92
+ if(!empty($args['inFooter'])) {
93
+ $inFooter = $args['inFooter'];
94
+ }
95
+
96
+ if(!empty($args['dirUrl'])) {
97
+ $dirUrl = $args['dirUrl'];
98
+ }
99
+
100
+ wp_register_script($fileName, $dirUrl.''.$fileName, $dep, $ver, $inFooter);
101
+ }
102
+
103
+ /**
104
+ * Countdown register style
105
+ *
106
+ * @since 1.0.0
107
+ *
108
+ * @param string $fileName file address
109
+ *
110
+ * @return void
111
+ */
112
+ public static function enqueueScript($fileName)
113
+ {
114
+ if(empty($fileName)) {
115
+ return;
116
+ }
117
+
118
+ wp_enqueue_script($fileName);
119
+ }
120
+
121
+ public static function localizeScript($handle, $name, $data)
122
+ {
123
+ wp_localize_script($handle, $name, $data);
124
+ }
125
+ }
readme.txt ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ === Countdown builder ===
2
+ Contributors: adamskaat
3
+ Tags: countdown, timer, countdown timer
4
+ Requires at least: 3.8
5
+ Tested up to: 4.9.4
6
+ Stable tag: 4.3
7
+ Requires PHP: 5.3
8
+ License: GPLv2 or later
9
+ License URI: https://www.gnu.org/licenses/gpl-2.0.html
10
+
11
+ Countdown builder – Customizable Countdown Timer
12
+
13
+ == Description ==
14
+
15
+ Countdown builder – Customizable Countdown Timer
16
+ A very simple plugin to add <sriong>countdown</strong> timer to your website.
17
+ <strong>Countdown</strong> timer allow you to create nice and functional Countdown timer just in a few minutes.
18
+ This is the best way to create beautiful <strong>Countdown</strong> for your users.
19
+ You can use our Countdown timer in your posts/pages via shrot code example like this
20
+ [ycd_countdown id=73]
21
+
22
+ == Installation ==
23
+
24
+ Coming soon
25
+
26
+ == Frequently Asked Questions ==
27
+
28
+ Coming soon
29
+
30
+ == Changelog ==
31
+
32
+ = 1.1 =
33
+ * Countdown animation
34
+ * Code improvement
35
+
36
+ = 1.0 =
37
+ * Plugin publish