Elementor Essential Addons - Version 3.8.0

Version Description

  • 16/02/2020 =
  • Added: Table of Content global extension
  • Added: Event Calendar element
  • Fixed: Filterable Gallery | magnific popup background goes to top when closed
  • Fixed: Post Timeline | Overlay show hide with color choose option
  • Fixed: Gravity Forms | Thank you message color issue
  • Few minor bugfix and improvements
Download this release

Release Info

Developer re_enter_rupok
Plugin Icon 128x128 Elementor Essential Addons
Version 3.8.0
Comparing to
See all releases

Code changes from version 3.7.2 to 3.8.0

Files changed (30) hide show
  1. assets/front-end/css/call-to-action/index.css +3 -3
  2. assets/front-end/css/creative-btn/index.css +29 -25
  3. assets/front-end/css/creative-btn/index.min.css +1 -1
  4. assets/front-end/css/eael.css +3041 -787
  5. assets/front-end/css/eael.min.css +13 -7
  6. assets/front-end/css/event-calendar/index.css +451 -0
  7. assets/front-end/css/event-calendar/index.min.css +1 -0
  8. assets/front-end/css/feature-list/index.css +9 -9
  9. assets/front-end/css/fluentform/index.css +23 -0
  10. assets/front-end/css/fluentform/index.min.css +1 -1
  11. assets/front-end/css/magnific-popup/index.css +3 -3
  12. assets/front-end/css/post-timeline/index.css +1 -1
  13. assets/front-end/css/post-timeline/index.min.css +1 -1
  14. assets/front-end/css/price-table/index.css +3 -3
  15. assets/front-end/css/sticky-video/index.css +1 -1
  16. assets/front-end/css/table-of-content/index.css +215 -0
  17. assets/front-end/css/table-of-content/index.min.css +1 -0
  18. assets/front-end/css/vendor/event-calendar/calendar-main.css +1052 -0
  19. assets/front-end/css/vendor/event-calendar/calendar-main.min.css +1 -0
  20. assets/front-end/css/vendor/event-calendar/daygrid.css +78 -0
  21. assets/front-end/css/vendor/event-calendar/daygrid.min.css +1 -0
  22. assets/front-end/css/vendor/event-calendar/listgrid.css +118 -0
  23. assets/front-end/css/vendor/event-calendar/listgrid.min.css +1 -0
  24. assets/front-end/css/vendor/event-calendar/timegrid.css +309 -0
  25. assets/front-end/css/vendor/event-calendar/timegrid.min.css +1 -0
  26. assets/front-end/js/adv-tabs/index.js +7 -0
  27. assets/front-end/js/adv-tabs/index.min.js +1 -1
  28. assets/front-end/js/advanced-data-table/index.js +140 -34
  29. assets/front-end/js/advanced-data-table/index.min.js +1 -1
  30. assets/front-end/js/eael.js +102 -11655
assets/front-end/css/call-to-action/index.css CHANGED
@@ -180,7 +180,7 @@
180
 
181
  .eael-call-to-action .cta-button.effect-1:hover::after {
182
  -webkit-transform: translateY(0);
183
- transform: translateY(0);
184
  }
185
 
186
  /*--- Cta Button effect 2 ---*/
@@ -197,12 +197,12 @@
197
  transition: .5s;
198
  color: #fff;
199
  -webkit-transform: translateX(-100%);
200
- transform: translateX(-100%);
201
  }
202
 
203
  .eael-call-to-action .cta-button.effect-2:hover::after {
204
  -webkit-transform: translateX(0);
205
- transform: translateX(0);
206
  }
207
 
208
  /*--- Media Queries ---*/
180
 
181
  .eael-call-to-action .cta-button.effect-1:hover::after {
182
  -webkit-transform: translateY(0);
183
+ transform: translateY(0);
184
  }
185
 
186
  /*--- Cta Button effect 2 ---*/
197
  transition: .5s;
198
  color: #fff;
199
  -webkit-transform: translateX(-100%);
200
+ transform: translateX(-100%);
201
  }
202
 
203
  .eael-call-to-action .cta-button.effect-2:hover::after {
204
  -webkit-transform: translateX(0);
205
+ transform: translateX(0);
206
  }
207
 
208
  /*--- Media Queries ---*/
assets/front-end/css/creative-btn/index.css CHANGED
@@ -41,7 +41,7 @@
41
  -webkit-transition: border-color 0.3s, background-color 0.3s;
42
  transition: border-color 0.3s, background-color 0.3s;
43
  -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
44
- transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
45
  }
46
 
47
  .eael-creative-button--winona::after {
@@ -53,7 +53,7 @@
53
  left: 0;
54
  opacity: 0;
55
  -webkit-transform: translate3d(0, 25%, 0);
56
- transform: translate3d(0, 25%, 0);
57
  display: -webkit-box;
58
  display: flex;
59
  -webkit-box-align: center;
@@ -65,24 +65,25 @@
65
  .eael-creative-button--winona::after,
66
  .eael-creative-button--winona > .creative-button-inner {
67
  padding: 1em 2em;
 
68
  -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
69
  transition: opacity 0.3s, -webkit-transform 0.3s;
70
  transition: transform 0.3s, opacity 0.3s;
71
  transition: transform 0.3s, opacity 0.3s, -webkit-transform 0.3s;
72
  -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
73
- transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
74
  }
75
 
76
  .eael-creative-button--winona:hover::after {
77
  opacity: 1;
78
  -webkit-transform: translate3d(0, 0, 0);
79
- transform: translate3d(0, 0, 0);
80
  }
81
 
82
  .eael-creative-button--winona:hover > .creative-button-inner {
83
  opacity: 0;
84
- -webkit-transform: translate3d(0, 0%, 0);
85
- transform: translate3d(0, 0%, 0);
86
  }
87
 
88
  /*--- Ujarak ---*/
@@ -101,25 +102,26 @@
101
  z-index: -1;
102
  opacity: 0;
103
  -webkit-transform: scale3d(0.7, 1, 1);
104
- transform: scale3d(0.7, 1, 1);
 
105
  -webkit-transition: opacity 0.4s, -webkit-transform 0.4s;
106
  transition: opacity 0.4s, -webkit-transform 0.4s;
107
  transition: transform 0.4s, opacity 0.4s;
108
  transition: transform 0.4s, opacity 0.4s, -webkit-transform 0.4s;
109
  -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
110
- transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
111
  }
112
 
113
  .eael-creative-button--ujarak,
114
  .eael-creative-button--ujarak::before {
115
  -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
116
- transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
117
  }
118
 
119
  .eael-creative-button--ujarak:hover::before {
120
  opacity: 1;
121
  -webkit-transform: translate3d(0, 0, 0);
122
- transform: translate3d(0, 0, 0);
123
  }
124
 
125
  /*--- Wayra ---*/
@@ -128,7 +130,7 @@
128
  -webkit-transition: border-color 0.3s, color 0.3s;
129
  transition: border-color 0.3s, color 0.3s;
130
  -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
131
- transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
132
  }
133
 
134
  .eael-creative-button--wayra::before {
@@ -140,9 +142,10 @@
140
  height: 100%;
141
  z-index: -1;
142
  -webkit-transform: rotate3d(0, 0, 1, -45deg) translate3d(0, -3em, 0);
143
- transform: rotate3d(0, 0, 1, -45deg) translate3d(0, -3em, 0);
144
  -webkit-transform-origin: 0% 100%;
145
- transform-origin: 0% 100%;
 
146
  -webkit-transition: opacity 0.3s, background-color 0.3s, -webkit-transform 0.3s;
147
  transition: opacity 0.3s, background-color 0.3s, -webkit-transform 0.3s;
148
  transition: transform 0.3s, opacity 0.3s, background-color 0.3s;
@@ -152,9 +155,9 @@
152
  .eael-creative-button--wayra:hover::before {
153
  opacity: 1;
154
  -webkit-transform: rotate3d(0, 0, 1, 0deg);
155
- transform: rotate3d(0, 0, 1, 0deg);
156
  -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
157
- transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
158
  }
159
 
160
  /* Tamaya */
@@ -198,7 +201,7 @@
198
  transition: transform 0.3s;
199
  transition: transform 0.3s, -webkit-transform 0.3s;
200
  -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
201
- transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
202
  }
203
 
204
  .eael-creative-button--tamaya.button--inverted::before,
@@ -220,30 +223,31 @@
220
  .eael-creative-button--tamaya span {
221
  display: block;
222
  -webkit-transform: scale3d(0.2, 0.2, 1);
223
- transform: scale3d(0.2, 0.2, 1);
224
  opacity: 0;
 
225
  -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
226
  transition: opacity 0.3s, -webkit-transform 0.3s;
227
  transition: transform 0.3s, opacity 0.3s;
228
  transition: transform 0.3s, opacity 0.3s, -webkit-transform 0.3s;
229
  -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
230
- transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
231
  }
232
 
233
  .eael-creative-button--tamaya:hover::before {
234
  -webkit-transform: translate3d(0, -100%, 0);
235
- transform: translate3d(0, -100%, 0);
236
  }
237
 
238
  .eael-creative-button--tamaya:hover::after {
239
  -webkit-transform: translate3d(0, 100%, 0);
240
- transform: translate3d(0, 100%, 0);
241
  }
242
 
243
  .eael-creative-button--tamaya:hover span {
244
  opacity: 1;
245
  -webkit-transform: scale3d(1, 1, 1);
246
- transform: scale3d(1, 1, 1);
247
  content: 'Bangladesh';
248
  }
249
 
@@ -261,7 +265,7 @@
261
  width: 100%;
262
  height: 100%;
263
  -webkit-transform: translate3d(-100%, 0, 0);
264
- transform: translate3d(-100%, 0, 0);
265
  display: -webkit-box;
266
  display: flex;
267
  -webkit-box-align: center;
@@ -278,17 +282,17 @@
278
  transition: transform 0.3s;
279
  transition: transform 0.3s, -webkit-transform 0.3s;
280
  -webkit-transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1);
281
- transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1);
282
  }
283
 
284
  .eael-creative-button--rayen:hover::before {
285
  -webkit-transform: translate3d(0, 0, 0);
286
- transform: translate3d(0, 0, 0);
287
  }
288
 
289
  .eael-creative-button--rayen:hover > .creative-button-inner {
290
  -webkit-transform: translate3d(0, 100%, 0);
291
- transform: translate3d(0, 100%, 0);
292
  }
293
 
294
  .creative-button-inner {
41
  -webkit-transition: border-color 0.3s, background-color 0.3s;
42
  transition: border-color 0.3s, background-color 0.3s;
43
  -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
44
+ transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
45
  }
46
 
47
  .eael-creative-button--winona::after {
53
  left: 0;
54
  opacity: 0;
55
  -webkit-transform: translate3d(0, 25%, 0);
56
+ transform: translate3d(0, 25%, 0);
57
  display: -webkit-box;
58
  display: flex;
59
  -webkit-box-align: center;
65
  .eael-creative-button--winona::after,
66
  .eael-creative-button--winona > .creative-button-inner {
67
  padding: 1em 2em;
68
+ -webkit-transition: -webkit-transform 0.3s, opacity 0.3s;
69
  -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
70
  transition: opacity 0.3s, -webkit-transform 0.3s;
71
  transition: transform 0.3s, opacity 0.3s;
72
  transition: transform 0.3s, opacity 0.3s, -webkit-transform 0.3s;
73
  -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
74
+ transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
75
  }
76
 
77
  .eael-creative-button--winona:hover::after {
78
  opacity: 1;
79
  -webkit-transform: translate3d(0, 0, 0);
80
+ transform: translate3d(0, 0, 0);
81
  }
82
 
83
  .eael-creative-button--winona:hover > .creative-button-inner {
84
  opacity: 0;
85
+ -webkit-transform: translate3d(0, -25%, 0);
86
+ transform: translate3d(0, 0%, 0);
87
  }
88
 
89
  /*--- Ujarak ---*/
102
  z-index: -1;
103
  opacity: 0;
104
  -webkit-transform: scale3d(0.7, 1, 1);
105
+ transform: scale3d(0.7, 1, 1);
106
+ -webkit-transition: -webkit-transform 0.4s, opacity 0.4s;
107
  -webkit-transition: opacity 0.4s, -webkit-transform 0.4s;
108
  transition: opacity 0.4s, -webkit-transform 0.4s;
109
  transition: transform 0.4s, opacity 0.4s;
110
  transition: transform 0.4s, opacity 0.4s, -webkit-transform 0.4s;
111
  -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
112
+ transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
113
  }
114
 
115
  .eael-creative-button--ujarak,
116
  .eael-creative-button--ujarak::before {
117
  -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
118
+ transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
119
  }
120
 
121
  .eael-creative-button--ujarak:hover::before {
122
  opacity: 1;
123
  -webkit-transform: translate3d(0, 0, 0);
124
+ transform: translate3d(0, 0, 0);
125
  }
126
 
127
  /*--- Wayra ---*/
130
  -webkit-transition: border-color 0.3s, color 0.3s;
131
  transition: border-color 0.3s, color 0.3s;
132
  -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
133
+ transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
134
  }
135
 
136
  .eael-creative-button--wayra::before {
142
  height: 100%;
143
  z-index: -1;
144
  -webkit-transform: rotate3d(0, 0, 1, -45deg) translate3d(0, -3em, 0);
145
+ transform: rotate3d(0, 0, 1, -45deg) translate3d(0, -3em, 0);
146
  -webkit-transform-origin: 0% 100%;
147
+ transform-origin: 0% 100%;
148
+ -webkit-transition: -webkit-transform 0.3s, opacity 0.3s, background-color 0.3s;
149
  -webkit-transition: opacity 0.3s, background-color 0.3s, -webkit-transform 0.3s;
150
  transition: opacity 0.3s, background-color 0.3s, -webkit-transform 0.3s;
151
  transition: transform 0.3s, opacity 0.3s, background-color 0.3s;
155
  .eael-creative-button--wayra:hover::before {
156
  opacity: 1;
157
  -webkit-transform: rotate3d(0, 0, 1, 0deg);
158
+ transform: rotate3d(0, 0, 1, 0deg);
159
  -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
160
+ transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
161
  }
162
 
163
  /* Tamaya */
201
  transition: transform 0.3s;
202
  transition: transform 0.3s, -webkit-transform 0.3s;
203
  -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
204
+ transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
205
  }
206
 
207
  .eael-creative-button--tamaya.button--inverted::before,
223
  .eael-creative-button--tamaya span {
224
  display: block;
225
  -webkit-transform: scale3d(0.2, 0.2, 1);
226
+ transform: scale3d(0.2, 0.2, 1);
227
  opacity: 0;
228
+ -webkit-transition: -webkit-transform 0.3s, opacity 0.3s;
229
  -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
230
  transition: opacity 0.3s, -webkit-transform 0.3s;
231
  transition: transform 0.3s, opacity 0.3s;
232
  transition: transform 0.3s, opacity 0.3s, -webkit-transform 0.3s;
233
  -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
234
+ transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
235
  }
236
 
237
  .eael-creative-button--tamaya:hover::before {
238
  -webkit-transform: translate3d(0, -100%, 0);
239
+ transform: translate3d(0, -100%, 0);
240
  }
241
 
242
  .eael-creative-button--tamaya:hover::after {
243
  -webkit-transform: translate3d(0, 100%, 0);
244
+ transform: translate3d(0, 100%, 0);
245
  }
246
 
247
  .eael-creative-button--tamaya:hover span {
248
  opacity: 1;
249
  -webkit-transform: scale3d(1, 1, 1);
250
+ transform: scale3d(1, 1, 1);
251
  content: 'Bangladesh';
252
  }
253
 
265
  width: 100%;
266
  height: 100%;
267
  -webkit-transform: translate3d(-100%, 0, 0);
268
+ transform: translate3d(-100%, 0, 0);
269
  display: -webkit-box;
270
  display: flex;
271
  -webkit-box-align: center;
282
  transition: transform 0.3s;
283
  transition: transform 0.3s, -webkit-transform 0.3s;
284
  -webkit-transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1);
285
+ transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1);
286
  }
287
 
288
  .eael-creative-button--rayen:hover::before {
289
  -webkit-transform: translate3d(0, 0, 0);
290
+ transform: translate3d(0, 0, 0);
291
  }
292
 
293
  .eael-creative-button--rayen:hover > .creative-button-inner {
294
  -webkit-transform: translate3d(0, 100%, 0);
295
+ transform: translate3d(0, 100%, 0);
296
  }
297
 
298
  .creative-button-inner {
assets/front-end/css/creative-btn/index.min.css CHANGED
@@ -1 +1 @@
1
- .eael-creative-button-align-center{text-align:center}.eael-creative-button-wrapper{display:-webkit-box;display:flex}.eael-creative-button{-webkit-box-flex:0;flex:0 0 auto;min-width:150px;text-align:center;vertical-align:middle;position:relative;z-index:1;border-radius:2px;padding:20px 30px;font-size:16px;line-height:1;-webkit-backface-visibility:hidden;backface-visibility:hidden;-moz-osx-font-smoothing:grayscale}.eael-creative-button:focus{outline:0}.eael-creative-button--winona{overflow:hidden;padding:0!important;-webkit-transition:border-color .3s,background-color .3s;transition:border-color .3s,background-color .3s;-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--winona::after{content:attr(data-text);position:absolute;width:100%;height:100%;top:0;left:0;opacity:0;-webkit-transform:translate3d(0,25%,0);transform:translate3d(0,25%,0);display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.eael-creative-button--winona::after,.eael-creative-button--winona>.creative-button-inner{padding:1em 2em;-webkit-transition:opacity .3s,-webkit-transform .3s;transition:opacity .3s,-webkit-transform .3s;transition:transform .3s,opacity .3s;transition:transform .3s,opacity .3s,-webkit-transform .3s;-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--winona:hover::after{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.eael-creative-button--winona:hover>.creative-button-inner{opacity:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.eael-creative-button--ujarak{-webkit-transition:border-color .4s,color .4s;transition:border-color .4s,color .4s}.eael-creative-button--ujarak::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;opacity:0;-webkit-transform:scale3d(.7,1,1);transform:scale3d(.7,1,1);-webkit-transition:opacity .4s,-webkit-transform .4s;transition:opacity .4s,-webkit-transform .4s;transition:transform .4s,opacity .4s;transition:transform .4s,opacity .4s,-webkit-transform .4s;-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--ujarak,.eael-creative-button--ujarak::before{-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--ujarak:hover::before{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.eael-creative-button--wayra{overflow:hidden;-webkit-transition:border-color .3s,color .3s;transition:border-color .3s,color .3s;-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--wayra::before{content:'';position:absolute;top:0;left:0;width:150%;height:100%;z-index:-1;-webkit-transform:rotate3d(0,0,1,-45deg) translate3d(0,-3em,0);transform:rotate3d(0,0,1,-45deg) translate3d(0,-3em,0);-webkit-transform-origin:0 100%;transform-origin:0 100%;-webkit-transition:opacity .3s,background-color .3s,-webkit-transform .3s;transition:opacity .3s,background-color .3s,-webkit-transform .3s;transition:transform .3s,opacity .3s,background-color .3s;transition:transform .3s,opacity .3s,background-color .3s,-webkit-transform .3s}.eael-creative-button--wayra:hover::before{opacity:1;-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg);-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--tamaya{float:left;min-width:150px;max-width:250px;display:block;margin:1em;padding:1em 2em;border:none;background:0 0;color:inherit;vertical-align:middle;position:relative;z-index:1;-webkit-backface-visibility:hidden;-moz-osx-font-smoothing:grayscale;overflow:hidden;color:#7986cb;min-width:180px}.eael-creative-button--tamaya.button--inverted{color:#37474f;border-color:#37474f}.eael-creative-button--tamaya::after,.eael-creative-button--tamaya::before{content:attr(data-text);position:absolute;width:100%;height:50%;left:0;background:#7986cb;color:#fff;overflow:hidden;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--tamaya.button--inverted::after,.eael-creative-button--tamaya.button--inverted::before{background:#fff;color:#37474f}.eael-creative-button--tamaya::before{top:0;padding-top:1em}.eael-creative-button--tamaya::after{bottom:0;line-height:0}.eael-creative-button--tamaya span{display:block;-webkit-transform:scale3d(.2,.2,1);transform:scale3d(.2,.2,1);opacity:0;-webkit-transition:opacity .3s,-webkit-transform .3s;transition:opacity .3s,-webkit-transform .3s;transition:transform .3s,opacity .3s;transition:transform .3s,opacity .3s,-webkit-transform .3s;-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--tamaya:hover::before{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}.eael-creative-button--tamaya:hover::after{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.eael-creative-button--tamaya:hover span{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1);content:'Bangladesh'}.eael-creative-button--rayen{overflow:hidden;padding:0!important}.eael-creative-button--rayen::before{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.eael-creative-button--rayen::before,.eael-creative-button--rayen>.creative-button-inner{padding:1em 2em;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;-webkit-transition-timing-function:cubic-bezier(.75,0,.125,1);transition-timing-function:cubic-bezier(.75,0,.125,1)}.eael-creative-button--rayen:hover::before{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.eael-creative-button--rayen:hover>.creative-button-inner{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.creative-button-inner{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.eael-creative-button-icon-left{margin-right:5px}.eael-creative-button-icon-right{margin-left:5px}
1
+ .eael-creative-button-align-center{text-align:center}.eael-creative-button-wrapper{display:-webkit-box;display:flex}.eael-creative-button{-webkit-box-flex:0;flex:0 0 auto;min-width:150px;text-align:center;vertical-align:middle;position:relative;z-index:1;border-radius:2px;padding:20px 30px;font-size:16px;line-height:1;-webkit-backface-visibility:hidden;backface-visibility:hidden;-moz-osx-font-smoothing:grayscale}.eael-creative-button:focus{outline:0}.eael-creative-button--winona{overflow:hidden;padding:0!important;-webkit-transition:border-color .3s,background-color .3s;transition:border-color .3s,background-color .3s;-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--winona::after{content:attr(data-text);position:absolute;width:100%;height:100%;top:0;left:0;opacity:0;-webkit-transform:translate3d(0,25%,0);transform:translate3d(0,25%,0);display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.eael-creative-button--winona::after,.eael-creative-button--winona>.creative-button-inner{padding:1em 2em;-webkit-transition:-webkit-transform .3s,opacity .3s;-webkit-transition:opacity .3s,-webkit-transform .3s;transition:opacity .3s,-webkit-transform .3s;transition:transform .3s,opacity .3s;transition:transform .3s,opacity .3s,-webkit-transform .3s;-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--winona:hover::after{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.eael-creative-button--winona:hover>.creative-button-inner{opacity:0;-webkit-transform:translate3d(0,-25%,0);transform:translate3d(0,0,0)}.eael-creative-button--ujarak{-webkit-transition:border-color .4s,color .4s;transition:border-color .4s,color .4s}.eael-creative-button--ujarak::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;opacity:0;-webkit-transform:scale3d(.7,1,1);transform:scale3d(.7,1,1);-webkit-transition:-webkit-transform .4s,opacity .4s;-webkit-transition:opacity .4s,-webkit-transform .4s;transition:opacity .4s,-webkit-transform .4s;transition:transform .4s,opacity .4s;transition:transform .4s,opacity .4s,-webkit-transform .4s;-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--ujarak,.eael-creative-button--ujarak::before{-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--ujarak:hover::before{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.eael-creative-button--wayra{overflow:hidden;-webkit-transition:border-color .3s,color .3s;transition:border-color .3s,color .3s;-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--wayra::before{content:'';position:absolute;top:0;left:0;width:150%;height:100%;z-index:-1;-webkit-transform:rotate3d(0,0,1,-45deg) translate3d(0,-3em,0);transform:rotate3d(0,0,1,-45deg) translate3d(0,-3em,0);-webkit-transform-origin:0 100%;transform-origin:0 100%;-webkit-transition:-webkit-transform .3s,opacity .3s,background-color .3s;-webkit-transition:opacity .3s,background-color .3s,-webkit-transform .3s;transition:opacity .3s,background-color .3s,-webkit-transform .3s;transition:transform .3s,opacity .3s,background-color .3s;transition:transform .3s,opacity .3s,background-color .3s,-webkit-transform .3s}.eael-creative-button--wayra:hover::before{opacity:1;-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg);-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--tamaya{float:left;min-width:150px;max-width:250px;display:block;margin:1em;padding:1em 2em;border:none;background:0 0;color:inherit;vertical-align:middle;position:relative;z-index:1;-webkit-backface-visibility:hidden;-moz-osx-font-smoothing:grayscale;overflow:hidden;color:#7986cb;min-width:180px}.eael-creative-button--tamaya.button--inverted{color:#37474f;border-color:#37474f}.eael-creative-button--tamaya::after,.eael-creative-button--tamaya::before{content:attr(data-text);position:absolute;width:100%;height:50%;left:0;background:#7986cb;color:#fff;overflow:hidden;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--tamaya.button--inverted::after,.eael-creative-button--tamaya.button--inverted::before{background:#fff;color:#37474f}.eael-creative-button--tamaya::before{top:0;padding-top:1em}.eael-creative-button--tamaya::after{bottom:0;line-height:0}.eael-creative-button--tamaya span{display:block;-webkit-transform:scale3d(.2,.2,1);transform:scale3d(.2,.2,1);opacity:0;-webkit-transition:-webkit-transform .3s,opacity .3s;-webkit-transition:opacity .3s,-webkit-transform .3s;transition:opacity .3s,-webkit-transform .3s;transition:transform .3s,opacity .3s;transition:transform .3s,opacity .3s,-webkit-transform .3s;-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--tamaya:hover::before{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}.eael-creative-button--tamaya:hover::after{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.eael-creative-button--tamaya:hover span{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1);content:'Bangladesh'}.eael-creative-button--rayen{overflow:hidden;padding:0!important}.eael-creative-button--rayen::before{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.eael-creative-button--rayen::before,.eael-creative-button--rayen>.creative-button-inner{padding:1em 2em;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;-webkit-transition-timing-function:cubic-bezier(.75,0,.125,1);transition-timing-function:cubic-bezier(.75,0,.125,1)}.eael-creative-button--rayen:hover::before{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.eael-creative-button--rayen:hover>.creative-button-inner{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.creative-button-inner{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.eael-creative-button-icon-left{margin-right:5px}.eael-creative-button-icon-right{margin-left:5px}
assets/front-end/css/eael.css CHANGED
@@ -1,4 +1,3 @@
1
-
2
  /*------------------------------*/
3
  /* 31. Advance Accordion
4
  /*------------------------------*/
@@ -316,6 +315,118 @@
316
  }
317
  }
318
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
319
  /* ----------------------------------------- */
320
  /* 22. Caldera Contact Form Styler
321
  /* ----------------------------------------- */
@@ -552,7 +663,7 @@
552
 
553
  .eael-call-to-action .cta-button.effect-1:hover::after {
554
  -webkit-transform: translateY(0);
555
- transform: translateY(0);
556
  }
557
 
558
  /*--- Cta Button effect 2 ---*/
@@ -569,12 +680,12 @@
569
  transition: .5s;
570
  color: #fff;
571
  -webkit-transform: translateX(-100%);
572
- transform: translateX(-100%);
573
  }
574
 
575
  .eael-call-to-action .cta-button.effect-2:hover::after {
576
  -webkit-transform: translateX(0);
577
- transform: translateX(0);
578
  }
579
 
580
  /*--- Media Queries ---*/
@@ -967,7 +1078,7 @@
967
  -webkit-transition: border-color 0.3s, background-color 0.3s;
968
  transition: border-color 0.3s, background-color 0.3s;
969
  -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
970
- transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
971
  }
972
 
973
  .eael-creative-button--winona::after {
@@ -979,7 +1090,7 @@
979
  left: 0;
980
  opacity: 0;
981
  -webkit-transform: translate3d(0, 25%, 0);
982
- transform: translate3d(0, 25%, 0);
983
  display: -webkit-box;
984
  display: flex;
985
  -webkit-box-align: center;
@@ -991,24 +1102,25 @@
991
  .eael-creative-button--winona::after,
992
  .eael-creative-button--winona > .creative-button-inner {
993
  padding: 1em 2em;
 
994
  -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
995
  transition: opacity 0.3s, -webkit-transform 0.3s;
996
  transition: transform 0.3s, opacity 0.3s;
997
  transition: transform 0.3s, opacity 0.3s, -webkit-transform 0.3s;
998
  -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
999
- transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
1000
  }
1001
 
1002
  .eael-creative-button--winona:hover::after {
1003
  opacity: 1;
1004
  -webkit-transform: translate3d(0, 0, 0);
1005
- transform: translate3d(0, 0, 0);
1006
  }
1007
 
1008
  .eael-creative-button--winona:hover > .creative-button-inner {
1009
  opacity: 0;
1010
- -webkit-transform: translate3d(0, 0%, 0);
1011
- transform: translate3d(0, 0%, 0);
1012
  }
1013
 
1014
  /*--- Ujarak ---*/
@@ -1027,25 +1139,26 @@
1027
  z-index: -1;
1028
  opacity: 0;
1029
  -webkit-transform: scale3d(0.7, 1, 1);
1030
- transform: scale3d(0.7, 1, 1);
 
1031
  -webkit-transition: opacity 0.4s, -webkit-transform 0.4s;
1032
  transition: opacity 0.4s, -webkit-transform 0.4s;
1033
  transition: transform 0.4s, opacity 0.4s;
1034
  transition: transform 0.4s, opacity 0.4s, -webkit-transform 0.4s;
1035
  -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
1036
- transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
1037
  }
1038
 
1039
  .eael-creative-button--ujarak,
1040
  .eael-creative-button--ujarak::before {
1041
  -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
1042
- transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
1043
  }
1044
 
1045
  .eael-creative-button--ujarak:hover::before {
1046
  opacity: 1;
1047
  -webkit-transform: translate3d(0, 0, 0);
1048
- transform: translate3d(0, 0, 0);
1049
  }
1050
 
1051
  /*--- Wayra ---*/
@@ -1054,7 +1167,7 @@
1054
  -webkit-transition: border-color 0.3s, color 0.3s;
1055
  transition: border-color 0.3s, color 0.3s;
1056
  -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
1057
- transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
1058
  }
1059
 
1060
  .eael-creative-button--wayra::before {
@@ -1066,9 +1179,10 @@
1066
  height: 100%;
1067
  z-index: -1;
1068
  -webkit-transform: rotate3d(0, 0, 1, -45deg) translate3d(0, -3em, 0);
1069
- transform: rotate3d(0, 0, 1, -45deg) translate3d(0, -3em, 0);
1070
  -webkit-transform-origin: 0% 100%;
1071
- transform-origin: 0% 100%;
 
1072
  -webkit-transition: opacity 0.3s, background-color 0.3s, -webkit-transform 0.3s;
1073
  transition: opacity 0.3s, background-color 0.3s, -webkit-transform 0.3s;
1074
  transition: transform 0.3s, opacity 0.3s, background-color 0.3s;
@@ -1078,9 +1192,9 @@
1078
  .eael-creative-button--wayra:hover::before {
1079
  opacity: 1;
1080
  -webkit-transform: rotate3d(0, 0, 1, 0deg);
1081
- transform: rotate3d(0, 0, 1, 0deg);
1082
  -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
1083
- transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
1084
  }
1085
 
1086
  /* Tamaya */
@@ -1124,7 +1238,7 @@
1124
  transition: transform 0.3s;
1125
  transition: transform 0.3s, -webkit-transform 0.3s;
1126
  -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
1127
- transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
1128
  }
1129
 
1130
  .eael-creative-button--tamaya.button--inverted::before,
@@ -1146,30 +1260,31 @@
1146
  .eael-creative-button--tamaya span {
1147
  display: block;
1148
  -webkit-transform: scale3d(0.2, 0.2, 1);
1149
- transform: scale3d(0.2, 0.2, 1);
1150
  opacity: 0;
 
1151
  -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
1152
  transition: opacity 0.3s, -webkit-transform 0.3s;
1153
  transition: transform 0.3s, opacity 0.3s;
1154
  transition: transform 0.3s, opacity 0.3s, -webkit-transform 0.3s;
1155
  -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
1156
- transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
1157
  }
1158
 
1159
  .eael-creative-button--tamaya:hover::before {
1160
  -webkit-transform: translate3d(0, -100%, 0);
1161
- transform: translate3d(0, -100%, 0);
1162
  }
1163
 
1164
  .eael-creative-button--tamaya:hover::after {
1165
  -webkit-transform: translate3d(0, 100%, 0);
1166
- transform: translate3d(0, 100%, 0);
1167
  }
1168
 
1169
  .eael-creative-button--tamaya:hover span {
1170
  opacity: 1;
1171
  -webkit-transform: scale3d(1, 1, 1);
1172
- transform: scale3d(1, 1, 1);
1173
  content: 'Bangladesh';
1174
  }
1175
 
@@ -1187,7 +1302,7 @@
1187
  width: 100%;
1188
  height: 100%;
1189
  -webkit-transform: translate3d(-100%, 0, 0);
1190
- transform: translate3d(-100%, 0, 0);
1191
  display: -webkit-box;
1192
  display: flex;
1193
  -webkit-box-align: center;
@@ -1204,17 +1319,17 @@
1204
  transition: transform 0.3s;
1205
  transition: transform 0.3s, -webkit-transform 0.3s;
1206
  -webkit-transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1);
1207
- transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1);
1208
  }
1209
 
1210
  .eael-creative-button--rayen:hover::before {
1211
  -webkit-transform: translate3d(0, 0, 0);
1212
- transform: translate3d(0, 0, 0);
1213
  }
1214
 
1215
  .eael-creative-button--rayen:hover > .creative-button-inner {
1216
  -webkit-transform: translate3d(0, 100%, 0);
1217
- transform: translate3d(0, 100%, 0);
1218
  }
1219
 
1220
  .creative-button-inner {
@@ -1647,116 +1762,493 @@ table.eael-data-table .sorting_asc.sorting-none:after {
1647
  text-align: right;
1648
  }
1649
 
1650
- .ea-advanced-data-table-wrap * {
1651
- background-color: transparent;
1652
- border: none;
1653
- box-shadow: none;
1654
- margin: 0;
1655
- padding: 0;
1656
- }
1657
- .ea-advanced-data-table-wrap .ea-advanced-data-table-wrap-inner {
1658
- width: 100%;
1659
- overflow-y: auto;
1660
- }
1661
- .ea-advanced-data-table-wrap .ea-advanced-data-table {
1662
- width: 100%;
1663
- border-collapse: collapse;
1664
- }
1665
- .ea-advanced-data-table-wrap .ea-advanced-data-table th,
1666
- .ea-advanced-data-table-wrap .ea-advanced-data-table td {
1667
- background-color: transparent !important;
1668
  }
1669
- .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-sortable th {
1670
- position: relative;
1671
- cursor: pointer;
 
1672
  }
1673
- .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-sortable th:before {
1674
- content: "";
1675
- border-left: 4px solid transparent;
1676
- border-right: 4px solid transparent;
1677
- border-bottom: 5px solid #4d4d4d;
1678
- position: absolute;
1679
- top: 50%;
1680
- right: 15px;
1681
- margin-top: -6px;
1682
  }
1683
- .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-sortable th:after {
1684
- content: "";
1685
- border-left: 4px solid transparent;
1686
- border-right: 4px solid transparent;
1687
- border-top: 5px solid #4d4d4d;
1688
- position: absolute;
1689
- top: 50%;
1690
- right: 15px;
1691
- margin-top: 1px;
1692
  }
1693
- .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-sortable th.asc:before {
1694
- display: none;
 
 
 
 
 
 
 
1695
  }
1696
- .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-sortable th.asc:after {
1697
- margin-top: -3px;
 
1698
  }
1699
- .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-sortable th.desc:before {
1700
- margin-top: -3px;
1701
  }
1702
- .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-sortable th.desc:after {
1703
- display: none;
 
1704
  }
1705
- .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-unsortable th {
1706
- pointer-events: none;
 
 
 
1707
  }
1708
- .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-unsortable th:before, .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-unsortable th:after {
1709
- display: none;
1710
  }
1711
- .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-paginated tbody tr {
1712
- display: none;
1713
  }
1714
- .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-editable th {
1715
- position: relative;
1716
  }
1717
- .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-editable th:before {
1718
- border: none;
 
1719
  }
1720
- .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-editable th:after {
1721
- content: "";
1722
- display: block;
 
 
1723
  height: 100%;
 
 
 
 
 
 
 
 
 
1724
  position: absolute;
1725
- right: 0;
1726
  top: 0;
1727
- width: 10px;
1728
- border: none;
1729
- cursor: col-resize;
 
 
 
1730
  }
1731
- .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-editable th,
1732
- .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-editable td {
1733
- padding: 0;
1734
  }
1735
- .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-editable th textarea,
1736
- .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-editable td textarea {
 
 
 
 
 
 
1737
  width: 100%;
1738
- min-width: 100px;
1739
- height: 100%;
1740
- background-color: transparent;
1741
- border: none;
1742
- box-shadow: none;
1743
- resize: none;
 
 
 
 
 
1744
  margin: 0;
1745
  padding: 0;
1746
- outline: none;
1747
- vertical-align: middle;
1748
  }
1749
- .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-editable.ea-advanced-data-table-paginated tbody tr {
1750
- display: table-row;
 
 
1751
  }
1752
- .ea-advanced-data-table-wrap .ea-advanced-data-table-search-wrap.ea-advanced-data-table-search-center {
 
 
 
 
 
 
 
 
 
 
 
 
 
1753
  text-align: center;
 
 
 
 
 
 
 
 
 
 
 
 
1754
  }
1755
- .ea-advanced-data-table-wrap .ea-advanced-data-table-search-wrap.ea-advanced-data-table-search-right {
1756
- text-align: right;
1757
  }
1758
- .ea-advanced-data-table-wrap .ea-advanced-data-table-pagination a {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1759
  display: inline-block;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1760
  }
1761
 
1762
  .eael-facebook-feed {
@@ -2172,7 +2664,7 @@ table.eael-data-table .sorting_asc.sorting-none:after {
2172
  position: absolute;
2173
  left: 50%;
2174
  -webkit-transform: translateX(-50%);
2175
- transform: translateX(-50%);
2176
  }
2177
  .elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-img {
2178
  font-size: 8px;
@@ -2211,11 +2703,11 @@ table.eael-data-table .sorting_asc.sorting-none:after {
2211
  }
2212
  .elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-icon-box .eael-feature-list-icon i {
2213
  -webkit-transform: rotate(-45deg);
2214
- transform: rotate(-45deg);
2215
  }
2216
  .elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-icon-box .eael-feature-list-icon img {
2217
  -webkit-transform: rotate(-45deg);
2218
- transform: rotate(-45deg);
2219
  }
2220
  .elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-content-box .eael-feature-list-title {
2221
  margin-top: 15px;
@@ -2296,13 +2788,13 @@ table.eael-data-table .sorting_asc.sorting-none:after {
2296
  text-align: left;
2297
  -webkit-box-orient: horizontal;
2298
  -webkit-box-direction: normal;
2299
- flex-direction: row;
2300
  }
2301
  .elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-item {
2302
  text-align: right;
2303
  -webkit-box-orient: horizontal;
2304
  -webkit-box-direction: reverse;
2305
- flex-direction: row-reverse;
2306
  }
2307
  }
2308
  @media (max-width: 1024px) {
@@ -2314,13 +2806,13 @@ table.eael-data-table .sorting_asc.sorting-none:after {
2314
  text-align: left;
2315
  -webkit-box-orient: horizontal;
2316
  -webkit-box-direction: normal;
2317
- flex-direction: row;
2318
  }
2319
  .elementor-widget-eael-feature-list.-tablet-icon-position-right .eael-feature-list-item {
2320
  text-align: right;
2321
  -webkit-box-orient: horizontal;
2322
  -webkit-box-direction: reverse;
2323
- flex-direction: row-reverse;
2324
  }
2325
  }
2326
  @media (min-width: 768px) and (max-width: 1024px) {
@@ -2442,13 +2934,13 @@ table.eael-data-table .sorting_asc.sorting-none:after {
2442
  text-align: left;
2443
  -webkit-box-orient: horizontal;
2444
  -webkit-box-direction: normal;
2445
- flex-direction: row;
2446
  }
2447
  .elementor-widget-eael-feature-list.-mobile-icon-position-right .eael-feature-list-item {
2448
  text-align: right;
2449
  -webkit-box-orient: horizontal;
2450
  -webkit-box-direction: reverse;
2451
- flex-direction: row-reverse;
2452
  }
2453
  .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-content-box {
2454
  margin-right: 0 !important;
@@ -4156,6 +4648,29 @@ button.mfp-arrow:not(.toggle) {
4156
  text-align: right;
4157
  }
4158
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4159
  /*--------------------------*/
4160
  /* 01. General Styles
4161
  /*--------------------------*/
@@ -5142,17 +5657,17 @@ button.mfp-close:hover {
5142
  @media all and (max-width: 900px) {
5143
  .mfp-arrow {
5144
  -webkit-transform: scale(0.75);
5145
- transform: scale(0.75);
5146
  }
5147
 
5148
  .mfp-arrow-left {
5149
  -webkit-transform-origin: 0;
5150
- transform-origin: 0;
5151
  }
5152
 
5153
  .mfp-arrow-right {
5154
  -webkit-transform-origin: 100%;
5155
- transform-origin: 100%;
5156
  }
5157
 
5158
  .mfp-container {
@@ -5709,7 +6224,7 @@ button.mfp-close:hover {
5709
  height: 100%;
5710
  overflow: hidden;
5711
  position: relative;
5712
- opacity: .6;
5713
  -webkit-transition: all .3s;
5714
  transition: all .3s;
5715
  }
@@ -6445,18 +6960,18 @@ button.mfp-close:hover {
6445
 
6446
  .eael-pricing-content-align-left .eael-pricing.style-3 .eael-pricing-item .header:after {
6447
  -webkit-transform: translateX(-80%);
6448
- transform: translateX(-80%);
6449
  }
6450
 
6451
  .eael-pricing-content-align-right .eael-pricing.style-3 .eael-pricing-item .header:after {
6452
  -webkit-transform: translateX(80%);
6453
- transform: translateX(80%);
6454
  }
6455
 
6456
  .eael-pricing-content-align-left .eael-pricing.style-3 .eael-pricing-item:hover .header:after,
6457
  .eael-pricing-content-align-right .eael-pricing.style-3 .eael-pricing-item:hover .header:after {
6458
  -webkit-transform: translateX(0%);
6459
- transform: translateX(0%);
6460
  }
6461
 
6462
  .eael-pricing-content-align-left .eael-pricing.style-1 .eael-pricing-item .header:after,
@@ -6555,264 +7070,20 @@ div.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow {
6555
  }
6556
  }
6557
 
6558
- @-webkit-keyframes animateStripe {
6559
- 0% {
6560
- -webkit-transform: translate(0, 0);
6561
- transform: translate(0, 0);
6562
- }
6563
- 100% {
6564
- -webkit-transform: translate(35px, 0);
6565
- transform: translate(35px, 0);
6566
- }
6567
  }
6568
- @keyframes animateStripe {
6569
- 0% {
6570
- -webkit-transform: translate(0, 0);
6571
- transform: translate(0, 0);
6572
- }
6573
- 100% {
6574
- -webkit-transform: translate(35px, 0);
6575
- transform: translate(35px, 0);
6576
- }
6577
- }
6578
- @-webkit-keyframes animateStripeRTL {
6579
- 0% {
6580
- -webkit-transform: translate(0, 0);
6581
- transform: translate(0, 0);
6582
- }
6583
- 100% {
6584
- -webkit-transform: translate(-35px, 0);
6585
- transform: translate(-35px, 0);
6586
- }
6587
- }
6588
- @keyframes animateStripeRTL {
6589
- 0% {
6590
- -webkit-transform: translate(0, 0);
6591
- transform: translate(0, 0);
6592
- }
6593
- 100% {
6594
- -webkit-transform: translate(-35px, 0);
6595
- transform: translate(-35px, 0);
6596
- }
6597
- }
6598
- .eael-progressbar {
6599
- position: relative;
6600
- }
6601
-
6602
- .eael-progressbar-title {
6603
- font-size: 20px;
6604
- font-weight: 400;
6605
- }
6606
-
6607
- .eael-progressbar-line {
6608
- position: relative;
6609
- display: block;
6610
- width: 100%;
6611
- height: 12px;
6612
- background-color: #eeeeee;
6613
- }
6614
- .eael-progressbar-line .eael-progressbar-count-wrap {
6615
- position: absolute;
6616
- right: 0;
6617
- bottom: calc(100% + 5px);
6618
- font-size: 16px;
6619
- font-weight: 400;
6620
- line-height: 1;
6621
- }
6622
-
6623
- .eael-progressbar-line-fill {
6624
- display: inline-block;
6625
- position: absolute;
6626
- top: 50%;
6627
- left: 0;
6628
- width: 0;
6629
- height: 12px;
6630
- background-color: #000000;
6631
- -webkit-transform: translateY(-50%);
6632
- transform: translateY(-50%);
6633
- -webkit-transition: width 1500ms linear;
6634
- transition: width 1500ms linear;
6635
- overflow: hidden;
6636
- }
6637
-
6638
- .eael-progressbar-circle {
6639
- position: relative;
6640
- width: 200px;
6641
- height: 200px;
6642
- }
6643
- .eael-progressbar-circle .eael-progressbar-title {
6644
- font-size: 16px;
6645
- font-weight: 400;
6646
- }
6647
- .eael-progressbar-circle .eael-progressbar-count-wrap {
6648
- font-size: 28px;
6649
- font-weight: 700;
6650
- }
6651
-
6652
- .eael-progressbar-circle-shadow {
6653
- width: 220px;
6654
- height: 220px;
6655
- padding: 10px;
6656
- border-radius: 50%;
6657
- }
6658
-
6659
- .eael-progressbar-circle-pie {
6660
- position: absolute;
6661
- top: 0;
6662
- left: 0;
6663
- width: 100%;
6664
- height: 100%;
6665
- -webkit-clip-path: inset(0 0 0 50%);
6666
- clip-path: inset(0 0 0 50%);
6667
- }
6668
-
6669
- .eael-progressbar-circle-inner {
6670
- height: 100%;
6671
- width: 100%;
6672
- border-width: 12px;
6673
- border-style: solid;
6674
- border-color: #eeeeee;
6675
- border-radius: 50%;
6676
- }
6677
-
6678
- .eael-progressbar-circle-half {
6679
- position: absolute;
6680
- left: 0;
6681
- top: 0;
6682
- height: 100%;
6683
- width: 100%;
6684
- border-width: 12px;
6685
- border-style: solid;
6686
- border-color: #000000;
6687
- border-radius: 50%;
6688
- -webkit-clip-path: inset(0 50% 0 0);
6689
- clip-path: inset(0 50% 0 0);
6690
- }
6691
-
6692
- .eael-progressbar-circle-half-left {
6693
- -webkit-transform: rotate(0deg);
6694
- transform: rotate(0deg);
6695
- }
6696
-
6697
- .eael-progressbar-circle-half-right {
6698
- -webkit-transform: rotate(180deg);
6699
- transform: rotate(180deg);
6700
- visibility: hidden;
6701
- }
6702
-
6703
- .eael-progressbar-circle-inner-content {
6704
- position: absolute;
6705
- top: 50%;
6706
- width: 100%;
6707
- -webkit-transform: translateY(-50%);
6708
- transform: translateY(-50%);
6709
- text-align: center;
6710
- }
6711
-
6712
- .eael-progressbar-half-circle {
6713
- position: relative;
6714
- width: 200px;
6715
- height: 100px;
6716
- overflow: hidden;
6717
- }
6718
- .eael-progressbar-half-circle .eael-progressbar-circle-pie {
6719
- -webkit-clip-path: inset(0 0 50% 0);
6720
- clip-path: inset(0 0 50% 0);
6721
- }
6722
- .eael-progressbar-half-circle .eael-progressbar-circle-half {
6723
- -webkit-clip-path: inset(50% 0 0 0);
6724
- clip-path: inset(50% 0 0 0);
6725
- -webkit-transform: rotate(0deg);
6726
- transform: rotate(0deg);
6727
- -webkit-transition: -webkit-transform 1500ms linear;
6728
- transition: -webkit-transform 1500ms linear;
6729
- transition: transform 1500ms linear;
6730
- transition: transform 1500ms linear, -webkit-transform 1500ms linear;
6731
- }
6732
- .eael-progressbar-half-circle .eael-progressbar-circle-inner-content {
6733
- top: initial;
6734
- bottom: 0;
6735
- -webkit-transform: translateY(0);
6736
- transform: translateY(0);
6737
- }
6738
- .eael-progressbar-half-circle .eael-progressbar-title {
6739
- font-size: 16px;
6740
- font-weight: 400;
6741
- }
6742
- .eael-progressbar-half-circle .eael-progressbar-count-wrap {
6743
- font-size: 28px;
6744
- font-weight: 700;
6745
- }
6746
-
6747
- .eael-progressbar-half-circle-after {
6748
- position: relative;
6749
- font-size: 12px;
6750
- font-weight: 400;
6751
- clear: both;
6752
- }
6753
-
6754
- .eael-progressbar-postfix-label {
6755
- float: right;
6756
- }
6757
-
6758
- .eael-progressbar-line-stripe .eael-progressbar-line-fill:after {
6759
- content: '';
6760
- position: absolute;
6761
- top: 0;
6762
- left: -35px;
6763
- width: calc(100% + 70px);
6764
- height: 100%;
6765
- 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);
6766
- background-size: 35px 35px;
6767
- }
6768
-
6769
- .eael-progressbar-line-animate .eael-progressbar-line-fill:after {
6770
- -webkit-animation: animateStripe 2s linear infinite;
6771
- animation: animateStripe 2s linear infinite;
6772
- }
6773
-
6774
- .eael-progressbar-line-animate-rtl .eael-progressbar-line-fill:after {
6775
- -webkit-animation: animateStripeRTL 2s linear infinite;
6776
- animation: animateStripeRTL 2s linear infinite;
6777
- }
6778
-
6779
- .eael-progressbar-circle-wrap > div {
6780
- margin: 0 auto;
6781
- }
6782
-
6783
- /*alignment*/
6784
- .eael-progressbar-line-container.left,
6785
- .eael-progressbar-circle-container.left > div,
6786
- .eael-progressbar-box-container.left > div {
6787
- margin: 0 auto 0 0;
6788
- }
6789
-
6790
- .eael-progressbar-line-container.center,
6791
- .eael-progressbar-circle-container.center > div,
6792
- .eael-progressbar-box-container.center > div {
6793
- margin: 0 auto;
6794
- }
6795
-
6796
- .eael-progressbar-line-container.right,
6797
- .eael-progressbar-circle-container.right > div,
6798
- .eael-progressbar-box-container.right > div {
6799
- margin: 0 0 0 auto;
6800
- }
6801
-
6802
- /*--------------------------*/
6803
- /* 09. Product Styles
6804
- /*--------------------------*/
6805
- .eael-product-grid .woocommerce ul.products,
6806
- .eael-post-grid .woocommerce ul.products {
6807
- display: grid;
6808
- grid-gap: 25px;
6809
- margin: 0 !important;
6810
- padding: 0 !important;
6811
- }
6812
- .eael-product-grid .woocommerce ul.products:before, .eael-product-grid .woocommerce ul.products:after,
6813
- .eael-post-grid .woocommerce ul.products:before,
6814
- .eael-post-grid .woocommerce ul.products:after {
6815
- display: none;
6816
  }
6817
  .eael-product-grid .woocommerce ul.products .product,
6818
  .eael-post-grid .woocommerce ul.products .product {
@@ -7256,15 +7527,259 @@ div.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow {
7256
  }
7257
  }
7258
 
7259
- .eael-reading-progress-wrap.eael-reading-progress-wrap-local .eael-reading-progress-global {
7260
- display: none;
 
 
 
 
 
 
 
7261
  }
7262
- .eael-reading-progress-wrap.eael-reading-progress-wrap-global .eael-reading-progress-local {
7263
- display: none;
 
 
 
 
 
 
 
7264
  }
7265
- .eael-reading-progress-wrap.eael-reading-progress-wrap-disabled .eael-reading-progress-global,
7266
- .eael-reading-progress-wrap.eael-reading-progress-wrap-disabled .eael-reading-progress-local {
7267
- display: none;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7268
  }
7269
  .eael-reading-progress-wrap .eael-reading-progress {
7270
  width: 100%;
@@ -7437,7 +7952,7 @@ div.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow {
7437
  top: 50%;
7438
  left: 50%;
7439
  -webkit-transform: translateX(-50%) translateY(-50%);
7440
- transform: translateX(-50%) translateY(-50%);
7441
  }
7442
 
7443
  .owp-play i {
@@ -7506,31 +8021,247 @@ div.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow {
7506
  transform: rotate(-45deg);
7507
  }
7508
 
7509
- /*----------------------------*/
7510
- /* 07. Team Members Styles
7511
- /*----------------------------*/
7512
- .eael-team-item {
7513
- overflow: hidden;
7514
- position: relative;
7515
  }
7516
 
7517
- .team-avatar-rounded figure img {
7518
- border-radius: 50%;
7519
- height: auto;
7520
  }
7521
-
7522
- .eael-team-image > figure {
7523
- margin: 0;
7524
- padding: 0;
7525
  }
7526
-
7527
- .eael-team-image > figure img {
7528
- display: block;
7529
- margin: 0 auto;
7530
  }
7531
-
7532
- .eael-team-item .eael-team-content {
7533
- padding: 10px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7534
  }
7535
 
7536
  .eael-team-item .eael-team-member-name {
@@ -7627,334 +8358,70 @@ div.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow {
7627
  outline: none;
7628
  }
7629
 
7630
- /*------------------------------*/
7631
- /* 32. Tooltip
7632
- /*------------------------------*/
7633
- .eael-tooltip {
7634
  position: relative;
7635
- display: inline-block;
7636
- min-width: 150px;
7637
- padding: 12px 24px;
7638
- font-size: .93rem;
7639
- color: #333;
7640
- line-height: 1;
7641
- cursor: pointer;
7642
- -webkit-transition: all 0.3s ease-in-out;
7643
- transition: all 0.3s ease-in-out;
7644
  }
7645
 
7646
- .eael-tooltip .eael-tooltip-text {
7647
- display: block;
7648
- width: 100%;
7649
- visibility: hidden;
7650
- background-color: black;
7651
- color: #fff;
7652
- border-radius: 4px;
7653
- padding: 10px;
7654
- position: absolute;
7655
- z-index: 1;
7656
- font-size: .93rem;
7657
- line-height: 1.3;
7658
- }
7659
- .eael-tooltip .eael-tooltip-text p {
7660
  margin: 0;
7661
  }
7662
 
7663
- .eael-tooltip .eael-tooltip-text::after {
7664
- content: "";
7665
- position: absolute;
7666
- border-width: 5px;
7667
- border-style: solid;
7668
  }
7669
 
7670
- .eael-tooltip:hover .eael-tooltip-text {
7671
- visibility: visible;
7672
  }
7673
 
7674
- /*--- Left ---*/
7675
- .eael-tooltip .eael-tooltip-text.eael-tooltip-left {
7676
- top: 50%;
7677
- right: 100%;
7678
- -webkit-transform: translateY(-50%);
7679
- transform: translateY(-50%);
7680
- margin-right: 10px;
7681
  }
7682
 
7683
- .eael-tooltip:hover .eael-tooltip-text.eael-tooltip-left {
7684
- -webkit-animation: tooltipLeftIn 300ms ease-in-out;
7685
- animation: tooltipLeftIn 300ms ease-in-out;
7686
  }
7687
 
7688
- .eael-tooltip .eael-tooltip-text.eael-tooltip-left::after {
7689
- top: calc(50% - 5px);
7690
- left: 100%;
7691
- border-color: transparent transparent transparent black;
7692
  }
7693
 
7694
- /*--- Right ---*/
7695
- .eael-tooltip .eael-tooltip-text.eael-tooltip-right {
7696
- top: 50%;
7697
- left: 100%;
7698
- -webkit-transform: translateY(-50%);
7699
- transform: translateY(-50%);
7700
- -webkit-transition: all 0.3s ease-in-out;
7701
- transition: all 0.3s ease-in-out;
7702
- margin-left: 10px;
7703
  }
7704
 
7705
- .eael-tooltip:hover .eael-tooltip-text.eael-tooltip-right {
7706
- -webkit-animation: tooltipRightIn 300ms linear;
7707
- animation: tooltipRightIn 300ms linear;
 
 
7708
  }
7709
 
7710
- .eael-tooltip .eael-tooltip-text.eael-tooltip-right::after {
7711
- top: calc(50% - 5px);
7712
- right: 100%;
7713
- border-color: transparent black transparent transparent;
7714
  }
7715
 
7716
- /*--- Top ---*/
7717
- .eael-tooltip .eael-tooltip-text.eael-tooltip-top {
7718
- bottom: calc(100%);
7719
- left: 0;
7720
- right: 0;
7721
- margin: 0 auto 10px auto;
7722
  }
7723
 
7724
- .eael-tooltip .eael-tooltip-text.eael-tooltip-top::after {
7725
- margin-top: 0px;
7726
- top: 100%;
7727
- left: calc( 50% - 5px);
7728
- border-color: black transparent transparent transparent;
7729
  }
7730
 
7731
- .eael-tooltip:hover .eael-tooltip-text.eael-tooltip-top {
7732
- -webkit-animation: tooltipTopIn 300ms linear;
7733
- animation: tooltipTopIn 300ms linear;
7734
- }
7735
-
7736
- /*--- Bottom ---*/
7737
- .eael-tooltip .eael-tooltip-text.eael-tooltip-bottom {
7738
- top: 100%;
7739
- left: 0;
7740
- right: 0;
7741
- margin: 10px auto 0px auto;
7742
- }
7743
-
7744
- .eael-tooltip .eael-tooltip-text.eael-tooltip-bottom::after {
7745
- margin-top: 0px;
7746
- bottom: 100%;
7747
- left: calc( 50% - 5px);
7748
- border-color: transparent transparent black transparent;
7749
- }
7750
-
7751
- .eael-tooltip:hover .eael-tooltip-text.eael-tooltip-bottom {
7752
- -webkit-animation: tooltipBottomIn 300ms linear;
7753
- animation: tooltipBottomIn 300ms linear;
7754
- }
7755
-
7756
- /*--- Alignments ---*/
7757
- .eael-tooltip-align-left {
7758
- display: -webkit-box;
7759
- display: flex;
7760
- width: 100%;
7761
- -webkit-box-pack: start;
7762
- justify-content: flex-start;
7763
- }
7764
-
7765
- .eael-tooltip-align-right {
7766
- display: -webkit-box;
7767
- display: flex;
7768
- width: 100%;
7769
- -webkit-box-pack: end;
7770
- justify-content: flex-end;
7771
- }
7772
-
7773
- .eael-tooltip-align-center {
7774
- display: -webkit-box;
7775
- display: flex;
7776
- width: 100%;
7777
- -webkit-box-pack: center;
7778
- justify-content: center;
7779
- }
7780
-
7781
- .eael-tooltip-align-justify .eael-tooltip {
7782
- display: -webkit-box;
7783
- display: flex;
7784
- -webkit-box-pack: center;
7785
- justify-content: center;
7786
- -webkit-box-align: center;
7787
- align-items: center;
7788
- }
7789
-
7790
- /*--- Tooltip Keyframes ---*/
7791
- @-webkit-keyframes tooltipRightIn {
7792
- 0% {
7793
- opacity: 0;
7794
- left: 105%;
7795
- }
7796
- 100% {
7797
- opacity: 1;
7798
- left: 100%;
7799
- }
7800
- }
7801
- @keyframes tooltipRightIn {
7802
- 0% {
7803
- opacity: 0;
7804
- left: 105%;
7805
- }
7806
- 100% {
7807
- opacity: 1;
7808
- left: 100%;
7809
- }
7810
- }
7811
- @-webkit-keyframes tooltipLeftIn {
7812
- 0% {
7813
- opacity: 0;
7814
- right: 105%;
7815
- }
7816
- 100% {
7817
- opacity: 1;
7818
- right: 100%;
7819
- }
7820
- }
7821
- @keyframes tooltipLeftIn {
7822
- 0% {
7823
- opacity: 0;
7824
- right: 105%;
7825
- }
7826
- 100% {
7827
- opacity: 1;
7828
- right: 100%;
7829
- }
7830
- }
7831
- @-webkit-keyframes tooltipTopIn {
7832
- 0% {
7833
- opacity: 0;
7834
- bottom: 110%;
7835
- }
7836
- 100% {
7837
- opacity: 1;
7838
- bottom: 100%;
7839
- }
7840
- }
7841
- @keyframes tooltipTopIn {
7842
- 0% {
7843
- opacity: 0;
7844
- bottom: 110%;
7845
- }
7846
- 100% {
7847
- opacity: 1;
7848
- bottom: 100%;
7849
- }
7850
- }
7851
- @-webkit-keyframes tooltipBottomIn {
7852
- 0% {
7853
- opacity: 0;
7854
- top: 110%;
7855
- }
7856
- 100% {
7857
- opacity: 1;
7858
- top: 100%;
7859
- }
7860
- }
7861
- @keyframes tooltipBottomIn {
7862
- 0% {
7863
- opacity: 0;
7864
- top: 110%;
7865
- }
7866
- 100% {
7867
- opacity: 1;
7868
- top: 100%;
7869
- }
7870
- }
7871
- span.eael-tooltip-content,
7872
- span.eael-tooltip-content a {
7873
- width: 100%;
7874
- display: block;
7875
- text-align: center;
7876
- }
7877
-
7878
- .eael-tooltip-text-align-left .eael-tooltip-text, .eael-tooltip-text-align-left .eael-tooltip-content a {
7879
- text-align: left;
7880
- }
7881
-
7882
- .eael-tooltip-text-align-right .eael-tooltip-text, .eael-tooltip-text-align-right .eael-tooltip-content a {
7883
- text-align: right;
7884
- }
7885
-
7886
- .eael-tooltip-text-align-center .eael-tooltip-text, .eael-tooltip-text-align-center .eael-tooltip-content a {
7887
- text-align: center;
7888
- }
7889
-
7890
- .eael-tooltip-text-align-justify .eael-tooltip-text, .eael-tooltip-text-align-justify .eael-tooltip-content a {
7891
- text-align: justify;
7892
- }
7893
-
7894
- /*----------------------------*/
7895
- /* 08. Testimonials Styles
7896
- /*----------------------------*/
7897
- .eael-testimonial-slider {
7898
- position: relative;
7899
- }
7900
-
7901
- .testimonial-star-rating {
7902
- padding: 0;
7903
- margin: 0;
7904
- }
7905
-
7906
- .testimonial-star-rating li {
7907
- list-style: none;
7908
- display: inline-block;
7909
- }
7910
-
7911
- .testimonial-star-rating li i {
7912
- color: #d8d8d8;
7913
- }
7914
-
7915
- .rating-five .testimonial-star-rating li i {
7916
- color: #f2b01e;
7917
- }
7918
-
7919
- .rating-one .testimonial-star-rating li:first-child i {
7920
- color: #f2b01e;
7921
- }
7922
-
7923
- .rating-two .testimonial-star-rating li:nth-child(1) i,
7924
- .rating-two .testimonial-star-rating li:nth-child(2) i {
7925
- color: #f2b01e;
7926
- }
7927
-
7928
- .rating-three .testimonial-star-rating li:nth-child(1) i,
7929
- .rating-three .testimonial-star-rating li:nth-child(2) i,
7930
- .rating-three .testimonial-star-rating li:nth-child(3) i {
7931
- color: #f2b01e;
7932
- }
7933
-
7934
- .rating-four .testimonial-star-rating li:nth-child(1) i,
7935
- .rating-four .testimonial-star-rating li:nth-child(2) i,
7936
- .rating-four .testimonial-star-rating li:nth-child(3) i,
7937
- .rating-four .testimonial-star-rating li:nth-child(4) i {
7938
- color: #f2b01e;
7939
- }
7940
-
7941
- /*--- Default styles ---*/
7942
- .eael-testimonial-image img {
7943
- max-width: 100%;
7944
- }
7945
-
7946
- .eael-testimonial-image {
7947
- padding: 10px 0px 0px 0px;
7948
- }
7949
-
7950
- .eael-testimonial-image > figure {
7951
- display: block;
7952
- margin: 0;
7953
- }
7954
-
7955
- .testimonial-avatar-rounded figure img {
7956
- border-radius: 50%;
7957
- height: auto;
7958
  }
7959
 
7960
  .eael-testimonial-content {
@@ -8271,18 +8738,282 @@ span.eael-testimonial-quote {
8271
  text-align: right;
8272
  }
8273
 
8274
- .eael-twitter-feed::before, .eael-twitter-feed::after {
8275
- content: "";
8276
- clear: both;
 
 
 
 
 
 
 
 
 
 
 
8277
  }
8278
 
8279
- .eael-twitter-feed-masonry .eael-twitter-feed-item {
8280
- float: left;
 
 
 
 
 
 
 
 
 
 
8281
  }
8282
- @media only screen and (max-width: 480px) {
8283
- .eael-twitter-feed-masonry.eael-twitter-feed-col-2 .eael-twitter-feed-item {
8284
- width: 100% !important;
8285
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8286
  }
8287
  @media only screen and (max-width: 480px) {
8288
  .eael-twitter-feed-masonry.eael-twitter-feed-col-3 .eael-twitter-feed-item {
@@ -8363,17 +9094,52 @@ span.eael-testimonial-quote {
8363
  outline: none;
8364
  }
8365
 
8366
- /* ------------------- */
8367
- /* 23. WPForms
8368
- /* ------------------- */
8369
- .eael-wpforms .wpforms-container .wpforms-form input[type=submit],
8370
- .eael-wpforms .wpforms-container .wpforms-form button[type=submit],
8371
- .eael-wpforms .wpforms-container .wpforms-form .wpforms-page-button {
8372
- border: 0;
8373
- }
8374
-
8375
- .eael-wpforms .wpforms-container .wpforms-form input[type=submit]:hover,
8376
- .eael-wpforms .wpforms-container .wpforms-form button[type=submit]:hover,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8377
  .eael-wpforms .wpforms-container .wpforms-form .wpforms-page-button:hover {
8378
  border: 0;
8379
  }
@@ -8405,76 +9171,1564 @@ span.eael-testimonial-quote {
8405
  width: 100%;
8406
  }
8407
 
8408
- /*----------------------*/
8409
- /* 12. weForm Styles
8410
- /*----------------------*/
8411
- .eael-weform-container input,
8412
- .eael-weform-container textarea {
8413
- height: auto;
8414
- padding: 10px;
8415
  }
8416
 
8417
- .eael-contact-form-btn-align-center .eael-weform-container ul.wpuf-form .wpuf-submit input[type="submit"] {
8418
- margin-left: auto !important;
8419
- margin-right: auto !important;
8420
- display: block;
8421
- float: none;
8422
  }
8423
 
8424
- .eael-contact-form-btn-align-left .eael-weform-container ul.wpuf-form .wpuf-submit input[type="submit"] {
8425
- float: left;
8426
- width: auto;
8427
  }
8428
 
8429
- .eael-contact-form-btn-align-right .eael-weform-container ul.wpuf-form .wpuf-submit input[type="submit"] {
8430
- float: right;
8431
- width: auto;
 
 
 
8432
  }
8433
 
8434
- .eael-weform-container ul.wpuf-form li .wpuf-fields input[type="text"],
8435
- .eael-weform-container ul.wpuf-form li .wpuf-fields input[type="password"],
8436
- .eael-weform-container ul.wpuf-form li .wpuf-fields input[type="email"],
8437
- .eael-weform-container ul.wpuf-form li .wpuf-fields input[type="url"],
8438
- .eael-weform-container ul.wpuf-form li .wpuf-fields input[type="number"],
8439
- .eael-weform-container ul.wpuf-form li .wpuf-fields textarea {
8440
- max-width: 100%;
8441
  }
8442
 
8443
- .elementor-panel .pro-feature, .elementor-panel .pro-feature a {
8444
- color: #a4afb7;
8445
- text-transform: uppercase;
8446
- letter-spacing: 1px;
8447
- line-height: 1.8;
8448
- font-style: normal;
8449
  }
8450
 
8451
- .elementor-panel .pro-feature a {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8452
  text-decoration: underline;
8453
- color: #f54 !important;
8454
  }
8455
 
8456
- .elementor-panel .elementor-control-eael_section_pro .elementor-panel-heading-title.elementor-panel-heading-title,
8457
- .elementor-panel .elementor-control-eael_section_pro .elementor-panel-heading-toggle,
8458
- .elementor-control-data_table_header_colspan_pro_alert .elementor-control-title,
8459
- .elementor-control-data_table_header_img_pro_alert .elementor-control-title,
8460
- .elementor-control-data_table_content_rowspan_pro_alert .elementor-control-title,
8461
- .elementor-control-data_table_content_colspan_pro_alert .elementor-control-title,
8462
- .elementor-control-data_table_content_template_pro_alert .elementor-control-title {
8463
- color: #f54;
8464
  }
8465
 
8466
- .elementor-panel .elementor-control-eael_control_get_pro .elementor-control-field {
8467
- display: none !important;
 
 
 
 
 
8468
  }
8469
 
8470
- .elementor-control-eael_pricing_table_style_pro_alert .elementor-control-title,
8471
- .elementor-control-eael_section_countdown_style_pro_alert .elementor-control-title,
8472
- .elementor-control-eael_fancy_text_style_pro_alert .elementor-control-title,
8473
- .elementor-control-eael_section_data_table_enabled_pro_alert .elementor-control-title,
8474
- .elementor-control-eael_img_accordion_type_pro_alert .elementor-control-title,
8475
- .elementor-control-eael_ticker_type_pro_alert .elementor-control-title,
8476
- .elementor-control-eael_team_members_preset_pro_alert .elementor-control-title {
8477
- color: #f54;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8478
  }
8479
 
8480
- @keyframes plyr-progress{to{background-position:25px 0}}@keyframes plyr-popup{0%{opacity:.5;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes plyr-fade-in{from{opacity:0}to{opacity:1}}.plyr{-moz-osx-font-smoothing:auto;-webkit-font-smoothing:subpixel-antialiased;direction:ltr;font-family:Avenir,"Avenir Next","Helvetica Neue","Segoe UI",Helvetica,Arial,sans-serif;font-variant-numeric:tabular-nums;font-weight:500;line-height:1.7;max-width:100%;min-width:200px;position:relative;text-shadow:none;transition:box-shadow .3s ease}.plyr audio,.plyr video{border-radius:inherit;height:auto;vertical-align:middle;width:100%}.plyr button{font:inherit;line-height:inherit;width:auto}.plyr:focus{outline:0}.plyr--full-ui{box-sizing:border-box}.plyr--full-ui *,.plyr--full-ui ::after,.plyr--full-ui ::before{box-sizing:inherit}.plyr--full-ui a,.plyr--full-ui button,.plyr--full-ui input,.plyr--full-ui label{touch-action:manipulation}.plyr__badge{background:#4a5764;border-radius:2px;color:#fff;font-size:9px;line-height:1;padding:3px 4px}.plyr--full-ui ::-webkit-media-text-track-container{display:none}.plyr__captions{animation:plyr-fade-in .3s ease;bottom:0;color:#fff;display:none;font-size:14px;left:0;padding:10px;position:absolute;text-align:center;transition:transform .4s ease-in-out;width:100%}.plyr__captions .plyr__caption{background:rgba(0,0,0,.8);border-radius:2px;-webkit-box-decoration-break:clone;box-decoration-break:clone;line-height:185%;padding:.2em .5em;white-space:pre-wrap}.plyr__captions .plyr__caption div{display:inline}.plyr__captions span:empty{display:none}@media (min-width:480px){.plyr__captions{font-size:16px;padding:20px}}@media (min-width:768px){.plyr__captions{font-size:18px}}.plyr--captions-active .plyr__captions{display:block}.plyr:not(.plyr--hide-controls) .plyr__controls:not(:empty)~.plyr__captions{transform:translateY(-40px)}.plyr__control{background:0 0;border:0;border-radius:3px;color:inherit;cursor:pointer;flex-shrink:0;overflow:visible;padding:7px;position:relative;transition:all .3s ease}.plyr__control svg{display:block;fill:currentColor;height:18px;pointer-events:none;width:18px}.plyr__control:focus{outline:0}.plyr__control.plyr__tab-focus{box-shadow:0 0 0 5px rgba(0,179,255,.5);outline:0}a.plyr__control{text-decoration:none}a.plyr__control::after,a.plyr__control::before{display:none}.plyr__control.plyr__control--pressed .icon--not-pressed,.plyr__control.plyr__control--pressed .label--not-pressed,.plyr__control:not(.plyr__control--pressed) .icon--pressed,.plyr__control:not(.plyr__control--pressed) .label--pressed{display:none}.plyr--audio .plyr__control.plyr__tab-focus,.plyr--audio .plyr__control:hover,.plyr--audio .plyr__control[aria-expanded=true]{background:#00b3ff;color:#fff}.plyr--video .plyr__control.plyr__tab-focus,.plyr--video .plyr__control:hover,.plyr--video .plyr__control[aria-expanded=true]{background:#00b3ff;color:#fff}.plyr__control--overlaid{background:rgba(0,179,255,.8);border:0;border-radius:100%;color:#fff;display:none;left:50%;padding:15px;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:2}.plyr__control--overlaid svg{left:2px;position:relative}.plyr__control--overlaid:focus,.plyr__control--overlaid:hover{background:#00b3ff}.plyr--playing .plyr__control--overlaid{opacity:0;visibility:hidden}.plyr--full-ui.plyr--video .plyr__control--overlaid{display:block}.plyr--full-ui ::-webkit-media-controls{display:none}.plyr__controls{align-items:center;display:flex;justify-content:flex-end;text-align:center}.plyr__controls .plyr__progress__container{flex:1;min-width:0}.plyr__controls .plyr__controls__item{margin-left:2.5px}.plyr__controls .plyr__controls__item:first-child{margin-left:0;margin-right:auto}.plyr__controls .plyr__controls__item.plyr__progress__container{padding-left:2.5px}.plyr__controls .plyr__controls__item.plyr__time{padding:0 5px}.plyr__controls .plyr__controls__item.plyr__progress__container:first-child,.plyr__controls .plyr__controls__item.plyr__time+.plyr__time,.plyr__controls .plyr__controls__item.plyr__time:first-child{padding-left:0}.plyr__controls .plyr__controls__item.plyr__volume{padding-right:5px}.plyr__controls .plyr__controls__item.plyr__volume:first-child{padding-right:0}.plyr__controls:empty{display:none}.plyr--audio .plyr__controls{background:#fff;border-radius:inherit;color:#4a5764;padding:10px}.plyr--video .plyr__controls{background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.7));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;bottom:0;color:#fff;left:0;padding:20px 5px 5px;position:absolute;right:0;transition:opacity .4s ease-in-out,transform .4s ease-in-out;z-index:3}@media (min-width:480px){.plyr--video .plyr__controls{padding:35px 10px 10px}}.plyr--video.plyr--hide-controls .plyr__controls{opacity:0;pointer-events:none;transform:translateY(100%)}.plyr [data-plyr=airplay],.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr [data-plyr=pip]{display:none}.plyr--airplay-supported [data-plyr=airplay],.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen],.plyr--pip-supported [data-plyr=pip]{display:inline-block}.plyr__menu{display:flex;position:relative}.plyr__menu .plyr__control svg{transition:transform .3s ease}.plyr__menu .plyr__control[aria-expanded=true] svg{transform:rotate(90deg)}.plyr__menu .plyr__control[aria-expanded=true] .plyr__tooltip{display:none}.plyr__menu__container{animation:plyr-popup .2s ease;background:rgba(255,255,255,.9);border-radius:4px;bottom:100%;box-shadow:0 1px 2px rgba(0,0,0,.15);color:#4a5764;font-size:16px;margin-bottom:10px;position:absolute;right:-3px;text-align:left;white-space:nowrap;z-index:3}.plyr__menu__container>div{overflow:hidden;transition:height .35s cubic-bezier(.4,0,.2,1),width .35s cubic-bezier(.4,0,.2,1)}.plyr__menu__container::after{border:4px solid transparent;border-top-color:rgba(255,255,255,.9);content:'';height:0;position:absolute;right:15px;top:100%;width:0}.plyr__menu__container [role=menu]{padding:7px}.plyr__menu__container [role=menuitem],.plyr__menu__container [role=menuitemradio]{margin-top:2px}.plyr__menu__container [role=menuitem]:first-child,.plyr__menu__container [role=menuitemradio]:first-child{margin-top:0}.plyr__menu__container .plyr__control{align-items:center;color:#4a5764;display:flex;font-size:14px;padding:4px 11px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.plyr__menu__container .plyr__control>span{align-items:inherit;display:flex;width:100%}.plyr__menu__container .plyr__control::after{border:4px solid transparent;content:'';position:absolute;top:50%;transform:translateY(-50%)}.plyr__menu__container .plyr__control--forward{padding-right:28px}.plyr__menu__container .plyr__control--forward::after{border-left-color:rgba(74,87,100,.8);right:5px}.plyr__menu__container .plyr__control--forward.plyr__tab-focus::after,.plyr__menu__container .plyr__control--forward:hover::after{border-left-color:currentColor}.plyr__menu__container .plyr__control--back{font-weight:500;margin:7px;margin-bottom:3px;padding-left:28px;position:relative;width:calc(100% - 14px)}.plyr__menu__container .plyr__control--back::after{border-right-color:rgba(74,87,100,.8);left:7px}.plyr__menu__container .plyr__control--back::before{background:#c1c9d1;box-shadow:0 1px 0 #fff;content:'';height:1px;left:0;margin-top:4px;overflow:hidden;position:absolute;right:0;top:100%}.plyr__menu__container .plyr__control--back.plyr__tab-focus::after,.plyr__menu__container .plyr__control--back:hover::after{border-right-color:currentColor}.plyr__menu__container .plyr__control[role=menuitemradio]{padding-left:7px}.plyr__menu__container .plyr__control[role=menuitemradio]::after,.plyr__menu__container .plyr__control[role=menuitemradio]::before{border-radius:100%}.plyr__menu__container .plyr__control[role=menuitemradio]::before{background:rgba(0,0,0,.1);content:'';display:block;flex-shrink:0;height:16px;margin-right:10px;transition:all .3s ease;width:16px}.plyr__menu__container .plyr__control[role=menuitemradio]::after{background:#fff;border:0;height:6px;left:12px;opacity:0;top:50%;transform:translateY(-50%) scale(0);transition:transform .3s ease,opacity .3s ease;width:6px}.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::before{background:#00b3ff}.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::after{opacity:1;transform:translateY(-50%) scale(1)}.plyr__menu__container .plyr__control[role=menuitemradio].plyr__tab-focus::before,.plyr__menu__container .plyr__control[role=menuitemradio]:hover::before{background:rgba(0,0,0,.1)}.plyr__menu__container .plyr__menu__value{align-items:center;display:flex;margin-left:auto;margin-right:-5px;overflow:hidden;padding-left:25px;pointer-events:none}.plyr--full-ui input[type=range]{-webkit-appearance:none;background:0 0;border:0;border-radius:26px;color:#00b3ff;display:block;height:19px;margin:0;padding:0;transition:box-shadow .3s ease;width:100%}.plyr--full-ui input[type=range]::-webkit-slider-runnable-track{background:0 0;border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;-webkit-user-select:none;user-select:none;background-image:linear-gradient(to right,currentColor var(--value,0),transparent var(--value,0))}.plyr--full-ui input[type=range]::-webkit-slider-thumb{background:#fff;border:0;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2);height:13px;position:relative;transition:all .2s ease;width:13px;-webkit-appearance:none;margin-top:-4px}.plyr--full-ui input[type=range]::-moz-range-track{background:0 0;border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;-moz-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-moz-range-thumb{background:#fff;border:0;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2);height:13px;position:relative;transition:all .2s ease;width:13px}.plyr--full-ui input[type=range]::-moz-range-progress{background:currentColor;border-radius:2.5px;height:5px}.plyr--full-ui input[type=range]::-ms-track{background:0 0;border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;-ms-user-select:none;user-select:none;color:transparent}.plyr--full-ui input[type=range]::-ms-fill-upper{background:0 0;border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;-ms-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-ms-fill-lower{background:0 0;border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;-ms-user-select:none;user-select:none;background:currentColor}.plyr--full-ui input[type=range]::-ms-thumb{background:#fff;border:0;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2);height:13px;position:relative;transition:all .2s ease;width:13px;margin-top:0}.plyr--full-ui input[type=range]::-ms-tooltip{display:none}.plyr--full-ui input[type=range]:focus{outline:0}.plyr--full-ui input[type=range]::-moz-focus-outer{border:0}.plyr--full-ui input[type=range].plyr__tab-focus::-webkit-slider-runnable-track{box-shadow:0 0 0 5px rgba(0,179,255,.5);outline:0}.plyr--full-ui input[type=range].plyr__tab-focus::-moz-range-track{box-shadow:0 0 0 5px rgba(0,179,255,.5);outline:0}.plyr--full-ui input[type=range].plyr__tab-focus::-ms-track{box-shadow:0 0 0 5px rgba(0,179,255,.5);outline:0}.plyr--full-ui.plyr--video input[type=range]::-webkit-slider-runnable-track{background-color:rgba(255,255,255,.25)}.plyr--full-ui.plyr--video input[type=range]::-moz-range-track{background-color:rgba(255,255,255,.25)}.plyr--full-ui.plyr--video input[type=range]::-ms-track{background-color:rgba(255,255,255,.25)}.plyr--full-ui.plyr--video input[type=range]:active::-webkit-slider-thumb{box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2),0 0 0 3px rgba(255,255,255,.5)}.plyr--full-ui.plyr--video input[type=range]:active::-moz-range-thumb{box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2),0 0 0 3px rgba(255,255,255,.5)}.plyr--full-ui.plyr--video input[type=range]:active::-ms-thumb{box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2),0 0 0 3px rgba(255,255,255,.5)}.plyr--full-ui.plyr--audio input[type=range]::-webkit-slider-runnable-track{background-color:rgba(193,201,209,.66)}.plyr--full-ui.plyr--audio input[type=range]::-moz-range-track{background-color:rgba(193,201,209,.66)}.plyr--full-ui.plyr--audio input[type=range]::-ms-track{background-color:rgba(193,201,209,.66)}.plyr--full-ui.plyr--audio input[type=range]:active::-webkit-slider-thumb{box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2),0 0 0 3px rgba(0,0,0,.1)}.plyr--full-ui.plyr--audio input[type=range]:active::-moz-range-thumb{box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2),0 0 0 3px rgba(0,0,0,.1)}.plyr--full-ui.plyr--audio input[type=range]:active::-ms-thumb{box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2),0 0 0 3px rgba(0,0,0,.1)}.plyr__poster{background-color:#000;background-position:50% 50%;background-repeat:no-repeat;background-size:contain;height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .2s ease;width:100%;z-index:1}.plyr--stopped.plyr__poster-enabled .plyr__poster{opacity:1}.plyr__time{font-size:14px}.plyr__time+.plyr__time::before{content:'\2044';margin-right:10px}@media (max-width:767px){.plyr__time+.plyr__time{display:none}}.plyr--video .plyr__time{text-shadow:0 1px 1px rgba(0,0,0,.15)}.plyr__tooltip{background:rgba(255,255,255,.9);border-radius:3px;bottom:100%;box-shadow:0 1px 2px rgba(0,0,0,.15);color:#4a5764;font-size:14px;font-weight:500;left:50%;line-height:1.3;margin-bottom:10px;opacity:0;padding:5px 7.5px;pointer-events:none;position:absolute;transform:translate(-50%,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s .1s ease,opacity .2s .1s ease;white-space:nowrap;z-index:2}.plyr__tooltip::before{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(255,255,255,.9);bottom:-4px;content:'';height:0;left:50%;position:absolute;transform:translateX(-50%);width:0;z-index:2}.plyr .plyr__control.plyr__tab-focus .plyr__tooltip,.plyr .plyr__control:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;transform:translate(-50%,0) scale(1)}.plyr .plyr__control:hover .plyr__tooltip{z-index:3}.plyr__controls>.plyr__control:first-child .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip{left:0;transform:translate(0,10px) scale(.8);transform-origin:0 100%}.plyr__controls>.plyr__control:first-child .plyr__tooltip::before,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip::before{left:16px}.plyr__controls>.plyr__control:last-child .plyr__tooltip{left:auto;right:0;transform:translate(0,10px) scale(.8);transform-origin:100% 100%}.plyr__controls>.plyr__control:last-child .plyr__tooltip::before{left:auto;right:16px;transform:translateX(50%)}.plyr__controls>.plyr__control:first-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control.plyr__tab-focus .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control:hover .plyr__tooltip,.plyr__controls>.plyr__control:first-child.plyr__tab-focus .plyr__tooltip,.plyr__controls>.plyr__control:first-child:hover .plyr__tooltip,.plyr__controls>.plyr__control:last-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:last-child.plyr__tab-focus .plyr__tooltip,.plyr__controls>.plyr__control:last-child:hover .plyr__tooltip{transform:translate(0,0) scale(1)}.plyr--video{background:#000;overflow:hidden}.plyr--video.plyr--menu-open{overflow:visible}.plyr__video-wrapper{background:#000;border-radius:inherit;overflow:hidden;position:relative;z-index:0}.plyr__video-embed,.plyr__video-wrapper--fixed-ratio{height:0;padding-bottom:56.25%}.plyr__video-embed iframe,.plyr__video-wrapper--fixed-ratio video{border:0;height:100%;left:0;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.plyr--full-ui .plyr__video-embed>.plyr__video-embed__container{padding-bottom:240%;position:relative;transform:translateY(-38.28125%)}.plyr__progress{left:6.5px;margin-right:13px;position:relative}.plyr__progress input[type=range],.plyr__progress__buffer{margin-left:-6.5px;margin-right:-6.5px;width:calc(100% + 13px)}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress .plyr__tooltip{font-size:14px;left:0}.plyr__progress__buffer{-webkit-appearance:none;background:0 0;border:0;border-radius:100px;height:5px;left:0;margin-top:-2.5px;padding:0;position:absolute;top:50%}.plyr__progress__buffer::-webkit-progress-bar{background:0 0}.plyr__progress__buffer::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:5px;transition:width .2s ease}.plyr__progress__buffer::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:5px;transition:width .2s ease}.plyr__progress__buffer::-ms-fill{border-radius:100px;transition:width .2s ease}.plyr--video .plyr__progress__buffer{box-shadow:0 1px 1px rgba(0,0,0,.15);color:rgba(255,255,255,.25)}.plyr--audio .plyr__progress__buffer{color:rgba(193,201,209,.66)}.plyr--loading .plyr__progress__buffer{animation:plyr-progress 1s linear infinite;background-image:linear-gradient(-45deg,rgba(35,41,47,.6) 25%,transparent 25%,transparent 50%,rgba(35,41,47,.6) 50%,rgba(35,41,47,.6) 75%,transparent 75%,transparent);background-repeat:repeat-x;background-size:25px 25px;color:transparent}.plyr--video.plyr--loading .plyr__progress__buffer{background-color:rgba(255,255,255,.25)}.plyr--audio.plyr--loading .plyr__progress__buffer{background-color:rgba(193,201,209,.66)}.plyr__volume{align-items:center;display:flex;flex:1;position:relative}.plyr__volume input[type=range]{margin-left:5px;position:relative;z-index:2}@media (min-width:480px){.plyr__volume{max-width:90px}}@media (min-width:768px){.plyr__volume{max-width:110px}}.plyr--is-ios .plyr__volume{display:none!important}.plyr--is-ios.plyr--vimeo [data-plyr=mute]{display:none!important}.plyr:-webkit-full-screen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-ms-fullscreen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:fullscreen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-webkit-full-screen video{height:100%}.plyr:-ms-fullscreen video{height:100%}.plyr:fullscreen video{height:100%}.plyr:-webkit-full-screen .plyr__video-wrapper{height:100%;position:static}.plyr:-ms-fullscreen .plyr__video-wrapper{height:100%;position:static}.plyr:fullscreen .plyr__video-wrapper{height:100%;position:static}.plyr:-webkit-full-screen.plyr--vimeo .plyr__video-wrapper{height:0;position:relative;top:50%;transform:translateY(-50%)}.plyr:-ms-fullscreen.plyr--vimeo .plyr__video-wrapper{height:0;position:relative;top:50%;transform:translateY(-50%)}.plyr:fullscreen.plyr--vimeo .plyr__video-wrapper{height:0;position:relative;top:50%;transform:translateY(-50%)}.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen{display:block}.plyr:fullscreen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:fullscreen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-webkit-full-screen.plyr--hide-controls{cursor:none}.plyr:-ms-fullscreen.plyr--hide-controls{cursor:none}.plyr:fullscreen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:-webkit-full-screen .plyr__captions{font-size:21px}.plyr:-ms-fullscreen .plyr__captions{font-size:21px}.plyr:fullscreen .plyr__captions{font-size:21px}}.plyr:-webkit-full-screen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-webkit-full-screen video{height:100%}.plyr:-webkit-full-screen .plyr__video-wrapper{height:100%;position:static}.plyr:-webkit-full-screen.plyr--vimeo .plyr__video-wrapper{height:0;position:relative;top:50%;transform:translateY(-50%)}.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-webkit-full-screen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:-webkit-full-screen .plyr__captions{font-size:21px}}.plyr:-moz-full-screen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-moz-full-screen video{height:100%}.plyr:-moz-full-screen .plyr__video-wrapper{height:100%;position:static}.plyr:-moz-full-screen.plyr--vimeo .plyr__video-wrapper{height:0;position:relative;top:50%;transform:translateY(-50%)}.plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-moz-full-screen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:-moz-full-screen .plyr__captions{font-size:21px}}.plyr:-ms-fullscreen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-ms-fullscreen video{height:100%}.plyr:-ms-fullscreen .plyr__video-wrapper{height:100%;position:static}.plyr:-ms-fullscreen.plyr--vimeo .plyr__video-wrapper{height:0;position:relative;top:50%;transform:translateY(-50%)}.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-ms-fullscreen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:-ms-fullscreen .plyr__captions{font-size:21px}}.plyr--fullscreen-fallback{background:#000;border-radius:0!important;height:100%;margin:0;width:100%;bottom:0;left:0;position:fixed;right:0;top:0;z-index:10000000}.plyr--fullscreen-fallback video{height:100%}.plyr--fullscreen-fallback .plyr__video-wrapper{height:100%;position:static}.plyr--fullscreen-fallback.plyr--vimeo .plyr__video-wrapper{height:0;position:relative;top:50%;transform:translateY(-50%)}.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen{display:block}.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr--fullscreen-fallback.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr--fullscreen-fallback .plyr__captions{font-size:21px}}.plyr__ads{border-radius:inherit;bottom:0;cursor:pointer;left:0;overflow:hidden;position:absolute;right:0;top:0;z-index:-1}.plyr__ads>div,.plyr__ads>div iframe{height:100%;position:absolute;width:100%}.plyr__ads::after{background:rgba(35,41,47,.8);border-radius:2px;bottom:10px;color:#fff;content:attr(data-badge-text);font-size:11px;padding:2px 6px;pointer-events:none;position:absolute;right:10px;z-index:3}.plyr__ads::after:empty{display:none}.plyr__cues{background:currentColor;display:block;height:5px;left:0;margin:-2.5px 0 0;opacity:.8;position:absolute;top:50%;width:3px;z-index:3}.plyr__preview-thumb{background-color:rgba(255,255,255,.9);border-radius:3px;bottom:100%;box-shadow:0 1px 2px rgba(0,0,0,.15);margin-bottom:10px;opacity:0;padding:3px;pointer-events:none;position:absolute;transform:translate(0,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s .1s ease,opacity .2s .1s ease;z-index:2}.plyr__preview-thumb--is-shown{opacity:1;transform:translate(0,0) scale(1)}.plyr__preview-thumb::before{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(255,255,255,.9);bottom:-4px;content:'';height:0;left:50%;position:absolute;transform:translateX(-50%);width:0;z-index:2}.plyr__preview-thumb__image-container{background:#c1c9d1;border-radius:2px;overflow:hidden;position:relative;z-index:0}.plyr__preview-thumb__image-container img{height:100%;left:0;max-height:none;max-width:none;position:absolute;top:0;width:100%}.plyr__preview-thumb__time-container{bottom:6px;left:0;position:absolute;right:0;white-space:nowrap;z-index:3}.plyr__preview-thumb__time-container span{background-color:rgba(0,0,0,.55);border-radius:2px;color:#fff;font-size:14px;padding:3px 6px}.plyr__preview-scrubbing{bottom:0;filter:blur(1px);height:100%;left:0;margin:auto;opacity:0;overflow:hidden;position:absolute;right:0;top:0;transition:opacity .3s ease;width:100%;z-index:1}.plyr__preview-scrubbing--is-shown{opacity:1}.plyr__preview-scrubbing img{height:100%;left:0;max-height:none;max-width:none;object-fit:contain;position:absolute;top:0;width:100%}.plyr--no-transition{transition:none!important}.plyr__sr-only{clip:rect(1px,1px,1px,1px);overflow:hidden;border:0!important;height:1px!important;padding:0!important;position:absolute!important;width:1px!important}.plyr [hidden]{display:none!important}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  /*------------------------------*/
2
  /* 31. Advance Accordion
3
  /*------------------------------*/
315
  }
316
  }
317
 
318
+ .ea-advanced-data-table-wrap * {
319
+ background-color: transparent;
320
+ border: none;
321
+ box-shadow: none;
322
+ margin: 0;
323
+ padding: 0;
324
+ }
325
+ .ea-advanced-data-table-wrap .ea-advanced-data-table-wrap-inner {
326
+ width: 100%;
327
+ overflow-y: auto;
328
+ }
329
+ .ea-advanced-data-table-wrap .ea-advanced-data-table {
330
+ width: 100%;
331
+ border-collapse: collapse;
332
+ }
333
+ .ea-advanced-data-table-wrap .ea-advanced-data-table th,
334
+ .ea-advanced-data-table-wrap .ea-advanced-data-table td {
335
+ background-color: transparent !important;
336
+ }
337
+ .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-sortable th {
338
+ position: relative;
339
+ cursor: pointer;
340
+ }
341
+ .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-sortable th:before {
342
+ content: "";
343
+ border-left: 4px solid transparent;
344
+ border-right: 4px solid transparent;
345
+ border-bottom: 5px solid #4d4d4d;
346
+ position: absolute;
347
+ top: 50%;
348
+ right: 15px;
349
+ margin-top: -6px;
350
+ }
351
+ .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-sortable th:after {
352
+ content: "";
353
+ border-left: 4px solid transparent;
354
+ border-right: 4px solid transparent;
355
+ border-top: 5px solid #4d4d4d;
356
+ position: absolute;
357
+ top: 50%;
358
+ right: 15px;
359
+ margin-top: 1px;
360
+ }
361
+ .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-sortable th.asc:before {
362
+ display: none;
363
+ }
364
+ .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-sortable th.asc:after {
365
+ margin-top: -3px;
366
+ }
367
+ .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-sortable th.desc:before {
368
+ margin-top: -3px;
369
+ }
370
+ .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-sortable th.desc:after {
371
+ display: none;
372
+ }
373
+ .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-unsortable th {
374
+ pointer-events: none;
375
+ }
376
+ .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-unsortable th:before, .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-unsortable th:after {
377
+ display: none;
378
+ }
379
+ .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-paginated tbody tr {
380
+ display: none;
381
+ }
382
+ .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-editable th {
383
+ position: relative;
384
+ }
385
+ .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-editable th:before {
386
+ border: none;
387
+ }
388
+ .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-editable th:after {
389
+ content: "";
390
+ display: block;
391
+ height: 100%;
392
+ position: absolute;
393
+ right: 0;
394
+ top: 0;
395
+ width: 10px;
396
+ border: none;
397
+ cursor: col-resize;
398
+ }
399
+ .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-editable th,
400
+ .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-editable td {
401
+ padding: 0;
402
+ }
403
+ .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-editable th textarea,
404
+ .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-editable td textarea {
405
+ width: 100%;
406
+ min-width: 100px;
407
+ height: 100%;
408
+ background-color: transparent;
409
+ border: none;
410
+ box-shadow: none;
411
+ resize: none;
412
+ margin: 0;
413
+ padding: 0;
414
+ outline: none;
415
+ vertical-align: middle;
416
+ }
417
+ .ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-editable.ea-advanced-data-table-paginated tbody tr {
418
+ display: table-row;
419
+ }
420
+ .ea-advanced-data-table-wrap .ea-advanced-data-table-search-wrap.ea-advanced-data-table-search-center {
421
+ text-align: center;
422
+ }
423
+ .ea-advanced-data-table-wrap .ea-advanced-data-table-search-wrap.ea-advanced-data-table-search-right {
424
+ text-align: right;
425
+ }
426
+ .ea-advanced-data-table-wrap .ea-advanced-data-table-pagination a {
427
+ display: inline-block;
428
+ }
429
+
430
  /* ----------------------------------------- */
431
  /* 22. Caldera Contact Form Styler
432
  /* ----------------------------------------- */
663
 
664
  .eael-call-to-action .cta-button.effect-1:hover::after {
665
  -webkit-transform: translateY(0);
666
+ transform: translateY(0);
667
  }
668
 
669
  /*--- Cta Button effect 2 ---*/
680
  transition: .5s;
681
  color: #fff;
682
  -webkit-transform: translateX(-100%);
683
+ transform: translateX(-100%);
684
  }
685
 
686
  .eael-call-to-action .cta-button.effect-2:hover::after {
687
  -webkit-transform: translateX(0);
688
+ transform: translateX(0);
689
  }
690
 
691
  /*--- Media Queries ---*/
1078
  -webkit-transition: border-color 0.3s, background-color 0.3s;
1079
  transition: border-color 0.3s, background-color 0.3s;
1080
  -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
1081
+ transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
1082
  }
1083
 
1084
  .eael-creative-button--winona::after {
1090
  left: 0;
1091
  opacity: 0;
1092
  -webkit-transform: translate3d(0, 25%, 0);
1093
+ transform: translate3d(0, 25%, 0);
1094
  display: -webkit-box;
1095
  display: flex;
1096
  -webkit-box-align: center;
1102
  .eael-creative-button--winona::after,
1103
  .eael-creative-button--winona > .creative-button-inner {
1104
  padding: 1em 2em;
1105
+ -webkit-transition: -webkit-transform 0.3s, opacity 0.3s;
1106
  -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
1107
  transition: opacity 0.3s, -webkit-transform 0.3s;
1108
  transition: transform 0.3s, opacity 0.3s;
1109
  transition: transform 0.3s, opacity 0.3s, -webkit-transform 0.3s;
1110
  -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
1111
+ transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
1112
  }
1113
 
1114
  .eael-creative-button--winona:hover::after {
1115
  opacity: 1;
1116
  -webkit-transform: translate3d(0, 0, 0);
1117
+ transform: translate3d(0, 0, 0);
1118
  }
1119
 
1120
  .eael-creative-button--winona:hover > .creative-button-inner {
1121
  opacity: 0;
1122
+ -webkit-transform: translate3d(0, -25%, 0);
1123
+ transform: translate3d(0, 0%, 0);
1124
  }
1125
 
1126
  /*--- Ujarak ---*/
1139
  z-index: -1;
1140
  opacity: 0;
1141
  -webkit-transform: scale3d(0.7, 1, 1);
1142
+ transform: scale3d(0.7, 1, 1);
1143
+ -webkit-transition: -webkit-transform 0.4s, opacity 0.4s;
1144
  -webkit-transition: opacity 0.4s, -webkit-transform 0.4s;
1145
  transition: opacity 0.4s, -webkit-transform 0.4s;
1146
  transition: transform 0.4s, opacity 0.4s;
1147
  transition: transform 0.4s, opacity 0.4s, -webkit-transform 0.4s;
1148
  -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
1149
+ transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
1150
  }
1151
 
1152
  .eael-creative-button--ujarak,
1153
  .eael-creative-button--ujarak::before {
1154
  -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
1155
+ transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
1156
  }
1157
 
1158
  .eael-creative-button--ujarak:hover::before {
1159
  opacity: 1;
1160
  -webkit-transform: translate3d(0, 0, 0);
1161
+ transform: translate3d(0, 0, 0);
1162
  }
1163
 
1164
  /*--- Wayra ---*/
1167
  -webkit-transition: border-color 0.3s, color 0.3s;
1168
  transition: border-color 0.3s, color 0.3s;
1169
  -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
1170
+ transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
1171
  }
1172
 
1173
  .eael-creative-button--wayra::before {
1179
  height: 100%;
1180
  z-index: -1;
1181
  -webkit-transform: rotate3d(0, 0, 1, -45deg) translate3d(0, -3em, 0);
1182
+ transform: rotate3d(0, 0, 1, -45deg) translate3d(0, -3em, 0);
1183
  -webkit-transform-origin: 0% 100%;
1184
+ transform-origin: 0% 100%;
1185
+ -webkit-transition: -webkit-transform 0.3s, opacity 0.3s, background-color 0.3s;
1186
  -webkit-transition: opacity 0.3s, background-color 0.3s, -webkit-transform 0.3s;
1187
  transition: opacity 0.3s, background-color 0.3s, -webkit-transform 0.3s;
1188
  transition: transform 0.3s, opacity 0.3s, background-color 0.3s;
1192
  .eael-creative-button--wayra:hover::before {
1193
  opacity: 1;
1194
  -webkit-transform: rotate3d(0, 0, 1, 0deg);
1195
+ transform: rotate3d(0, 0, 1, 0deg);
1196
  -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
1197
+ transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
1198
  }
1199
 
1200
  /* Tamaya */
1238
  transition: transform 0.3s;
1239
  transition: transform 0.3s, -webkit-transform 0.3s;
1240
  -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
1241
+ transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
1242
  }
1243
 
1244
  .eael-creative-button--tamaya.button--inverted::before,
1260
  .eael-creative-button--tamaya span {
1261
  display: block;
1262
  -webkit-transform: scale3d(0.2, 0.2, 1);
1263
+ transform: scale3d(0.2, 0.2, 1);
1264
  opacity: 0;
1265
+ -webkit-transition: -webkit-transform 0.3s, opacity 0.3s;
1266
  -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
1267
  transition: opacity 0.3s, -webkit-transform 0.3s;
1268
  transition: transform 0.3s, opacity 0.3s;
1269
  transition: transform 0.3s, opacity 0.3s, -webkit-transform 0.3s;
1270
  -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
1271
+ transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
1272
  }
1273
 
1274
  .eael-creative-button--tamaya:hover::before {
1275
  -webkit-transform: translate3d(0, -100%, 0);
1276
+ transform: translate3d(0, -100%, 0);
1277
  }
1278
 
1279
  .eael-creative-button--tamaya:hover::after {
1280
  -webkit-transform: translate3d(0, 100%, 0);
1281
+ transform: translate3d(0, 100%, 0);
1282
  }
1283
 
1284
  .eael-creative-button--tamaya:hover span {
1285
  opacity: 1;
1286
  -webkit-transform: scale3d(1, 1, 1);
1287
+ transform: scale3d(1, 1, 1);
1288
  content: 'Bangladesh';
1289
  }
1290
 
1302
  width: 100%;
1303
  height: 100%;
1304
  -webkit-transform: translate3d(-100%, 0, 0);
1305
+ transform: translate3d(-100%, 0, 0);
1306
  display: -webkit-box;
1307
  display: flex;
1308
  -webkit-box-align: center;
1319
  transition: transform 0.3s;
1320
  transition: transform 0.3s, -webkit-transform 0.3s;
1321
  -webkit-transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1);
1322
+ transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1);
1323
  }
1324
 
1325
  .eael-creative-button--rayen:hover::before {
1326
  -webkit-transform: translate3d(0, 0, 0);
1327
+ transform: translate3d(0, 0, 0);
1328
  }
1329
 
1330
  .eael-creative-button--rayen:hover > .creative-button-inner {
1331
  -webkit-transform: translate3d(0, 100%, 0);
1332
+ transform: translate3d(0, 100%, 0);
1333
  }
1334
 
1335
  .creative-button-inner {
1762
  text-align: right;
1763
  }
1764
 
1765
+ .elementor-panel .pro-feature, .elementor-panel .pro-feature a {
1766
+ color: #a4afb7;
1767
+ text-transform: uppercase;
1768
+ letter-spacing: 1px;
1769
+ line-height: 1.8;
1770
+ font-style: normal;
 
 
 
 
 
 
 
 
 
 
 
 
1771
  }
1772
+
1773
+ .elementor-panel .pro-feature a {
1774
+ text-decoration: underline;
1775
+ color: #f54 !important;
1776
  }
1777
+
1778
+ .elementor-panel .elementor-control-eael_section_pro .elementor-panel-heading-title.elementor-panel-heading-title,
1779
+ .elementor-panel .elementor-control-eael_section_pro .elementor-panel-heading-toggle,
1780
+ .elementor-control-data_table_header_colspan_pro_alert .elementor-control-title,
1781
+ .elementor-control-data_table_header_img_pro_alert .elementor-control-title,
1782
+ .elementor-control-data_table_content_rowspan_pro_alert .elementor-control-title,
1783
+ .elementor-control-data_table_content_colspan_pro_alert .elementor-control-title,
1784
+ .elementor-control-data_table_content_template_pro_alert .elementor-control-title {
1785
+ color: #f54;
1786
  }
1787
+
1788
+ .elementor-panel .elementor-control-eael_control_get_pro .elementor-control-field {
1789
+ display: none !important;
 
 
 
 
 
 
1790
  }
1791
+
1792
+ .elementor-control-eael_pricing_table_style_pro_alert .elementor-control-title,
1793
+ .elementor-control-eael_section_countdown_style_pro_alert .elementor-control-title,
1794
+ .elementor-control-eael_fancy_text_style_pro_alert .elementor-control-title,
1795
+ .elementor-control-eael_section_data_table_enabled_pro_alert .elementor-control-title,
1796
+ .elementor-control-eael_img_accordion_type_pro_alert .elementor-control-title,
1797
+ .elementor-control-eael_ticker_type_pro_alert .elementor-control-title,
1798
+ .elementor-control-eael_team_members_preset_pro_alert .elementor-control-title {
1799
+ color: #f54;
1800
  }
1801
+
1802
+ .eael-event-calendar-wrapper .fc-row table {
1803
+ margin: 0px !important;
1804
  }
1805
+ .eael-event-calendar-wrapper .fc table {
1806
+ margin: auto;
1807
  }
1808
+ .eael-event-calendar-wrapper .fc-view table thead:first-child tr:first-child td {
1809
+ border-top: 1px solid #ddd !important;
1810
+ border-bottom: none !important;
1811
  }
1812
+ .eael-event-calendar-wrapper .fc-day-grid-event {
1813
+ margin-top: 2px;
1814
+ padding: 8px;
1815
+ font-size: 12px;
1816
+ border-left-width: 5px;
1817
  }
1818
+ .eael-event-calendar-wrapper .fc-day.fc-today {
1819
+ background: transparent;
1820
  }
1821
+ .eael-event-calendar-wrapper .fc-day-top.fc-today .fc-day-number {
1822
+ font-weight: bold;
1823
  }
1824
+ .eael-event-calendar-wrapper .fc-row table thead:first-child tr:first-child th {
1825
+ font-size: 14px;
1826
  }
1827
+ .eael-event-calendar-wrapper .fc-day-number {
1828
+ font-size: 14px;
1829
+ float: center !important;
1830
  }
1831
+ .eael-event-calendar-wrapper .eaelec-modal {
1832
+ position: fixed;
1833
+ left: 0;
1834
+ top: 0;
1835
+ width: 100%;
1836
  height: 100%;
1837
+ display: -webkit-box;
1838
+ display: flex;
1839
+ -webkit-box-align: center;
1840
+ align-items: center;
1841
+ -webkit-box-pack: center;
1842
+ justify-content: center;
1843
+ z-index: -1;
1844
+ }
1845
+ .eael-event-calendar-wrapper .eaelec-modal .eael-ec-modal-bg {
1846
  position: absolute;
1847
+ left: 0;
1848
  top: 0;
1849
+ height: 100%;
1850
+ width: 100%;
1851
+ background: #000000;
1852
+ opacity: 0;
1853
+ -webkit-transition: all 0.3s ease-out;
1854
+ transition: all 0.3s ease-out;
1855
  }
1856
+ .eael-event-calendar-wrapper .eaelec-modal.eael-ec-popup-ready {
1857
+ z-index: 99999;
1858
+ opacity: 1;
1859
  }
1860
+ .eael-event-calendar-wrapper .eaelec-modal-content {
1861
+ position: relative;
1862
+ margin: auto;
1863
+ border: 1px solid #888;
1864
+ max-width: 900px;
1865
+ box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
1866
+ background-color: #fefefe;
1867
+ padding: 20px 0;
1868
  width: 100%;
1869
+ border-radius: 10px;
1870
+ }
1871
+ .eael-event-calendar-wrapper .eaelec-modal-header {
1872
+ padding: 0px 30px;
1873
+ color: white;
1874
+ border-color: #009900;
1875
+ overflow: auto;
1876
+ margin-top: 8px;
1877
+ }
1878
+ .eael-event-calendar-wrapper .eaelec-modal-header h2 {
1879
+ color: #242424;
1880
  margin: 0;
1881
  padding: 0;
 
 
1882
  }
1883
+ .eael-event-calendar-wrapper .eaelec-modal-header .eaelec-event-popup-date {
1884
+ color: #555;
1885
+ padding-top: 2px;
1886
+ display: inline-block;
1887
  }
1888
+ .eael-event-calendar-wrapper .eaelec-modal-header .eaelec-event-popup-date i {
1889
+ color: #5725ff;
1890
+ }
1891
+ .eael-event-calendar-wrapper .eaelec-modal-close {
1892
+ position: absolute;
1893
+ right: -15px;
1894
+ top: -18px;
1895
+ font-size: 24px;
1896
+ z-index: 9999;
1897
+ cursor: pointer;
1898
+ box-sizing: content-box;
1899
+ overflow: visible;
1900
+ border: 2px solid #fff;
1901
+ background: #fff;
1902
  text-align: center;
1903
+ box-shadow: 2px 0px 12px 3px rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
1904
+ color: #000 !important;
1905
+ height: 40px;
1906
+ width: 40px;
1907
+ text-align: center;
1908
+ display: -webkit-box;
1909
+ display: flex;
1910
+ -webkit-box-align: center;
1911
+ align-items: center;
1912
+ -webkit-box-pack: center;
1913
+ justify-content: center;
1914
+ border-radius: 50%;
1915
  }
1916
+ .eael-event-calendar-wrapper .eaelec-modal-close > span {
1917
+ font-size: 20px;
1918
  }
1919
+ .eael-event-calendar-wrapper .eaelec-modal-close:hover,
1920
+ .eael-event-calendar-wrapper .eaelec-modal-close:focus {
1921
+ color: #fff;
1922
+ text-decoration: none;
1923
+ cursor: pointer;
1924
+ }
1925
+ .eael-event-calendar-wrapper .eaelec-modal-body {
1926
+ padding: 0 10px 0 35px;
1927
+ margin: 10px 0;
1928
+ color: #555555;
1929
+ height: 300px;
1930
+ overflow-y: auto;
1931
+ word-break: break-all;
1932
+ }
1933
+ .eael-event-calendar-wrapper .eaelec-modal-body::-webkit-scrollbar {
1934
+ width: 6px;
1935
+ }
1936
+ .eael-event-calendar-wrapper .eaelec-modal-body::-webkit-scrollbar-thumb {
1937
+ background: #aaa;
1938
+ border-radius: 10px;
1939
+ }
1940
+ .eael-event-calendar-wrapper .eaelec-modal-footer {
1941
+ padding: 0px 10px 0 35px;
1942
+ color: white;
1943
+ border: 0px solid #ff0000;
1944
+ }
1945
+ .eael-event-calendar-wrapper .eaelec-event-date-start,
1946
+ .eael-event-calendar-wrapper .eaelec-event-date-end {
1947
+ font-size: 15px;
1948
+ }
1949
+ @media (max-width: 575px) {
1950
+ .eael-event-calendar-wrapper .fc-toolbar {
1951
+ margin: 0 !important;
1952
+ padding: 0 !important;
1953
+ }
1954
+ .eael-event-calendar-wrapper .fc-toolbar .fc-center {
1955
+ width: 100% !important;
1956
+ margin: 0 !important;
1957
+ padding: 0 !important;
1958
+ }
1959
+ .eael-event-calendar-wrapper .fc-toolbar h2 {
1960
+ font-size: 16px !important;
1961
+ width: 100% !important;
1962
+ text-align: center !important;
1963
+ padding: 5px !important;
1964
+ }
1965
+ .eael-event-calendar-wrapper .fc-ltr .fc-axis {
1966
+ font-size: 12px !important;
1967
+ }
1968
+ .eael-event-calendar-wrapper .fc-row table thead:first-child tr:first-child th {
1969
+ font-weight: normal !important;
1970
+ font-size: 12px !important;
1971
+ padding: 5px !important;
1972
+ }
1973
+ }
1974
+ .eael-event-calendar-wrapper .fc-toolbar.fc-header-toolbar .fc-center h2 {
1975
+ font-size: 22px;
1976
+ }
1977
+ .eael-event-calendar-wrapper .fc-toolbar.fc-header-toolbar .fc-left .fc-button .fc-icon {
1978
+ font-size: 13px;
1979
+ }
1980
+
1981
+ .fc-toolbar.fc-header-toolbar .fc-button-group button:not(:first-child) {
1982
+ margin-left: 5px;
1983
+ }
1984
+ .fc-toolbar.fc-header-toolbar button.fc-timeGridWeek-button,
1985
+ .fc-toolbar.fc-header-toolbar button.fc-timeGridDay-button,
1986
+ .fc-toolbar.fc-header-toolbar button.fc-listWeek-button,
1987
+ .fc-toolbar.fc-header-toolbar button.fc-dayGridMonth-button {
1988
+ position: relative;
1989
+ }
1990
+ .fc-toolbar.fc-header-toolbar button.fc-timeGridWeek-button:before,
1991
+ .fc-toolbar.fc-header-toolbar button.fc-timeGridDay-button:before,
1992
+ .fc-toolbar.fc-header-toolbar button.fc-listWeek-button:before,
1993
+ .fc-toolbar.fc-header-toolbar button.fc-dayGridMonth-button:before {
1994
+ font-family: "Font Awesome 5 Free";
1995
+ font-weight: 900;
1996
+ font-size: 13px;
1997
  display: inline-block;
1998
+ padding-right: 5px;
1999
+ padding-left: 0;
2000
+ -webkit-font-smoothing: antialiased;
2001
+ }
2002
+ .fc-toolbar.fc-header-toolbar button.fc-timeGridWeek-button:before {
2003
+ content: "\f03a";
2004
+ left: 8px;
2005
+ }
2006
+ .fc-toolbar.fc-header-toolbar button.fc-timeGridDay-button:before {
2007
+ content: "\f0c9";
2008
+ left: 21px;
2009
+ }
2010
+ .fc-toolbar.fc-header-toolbar button.fc-dayGridMonth-button:before {
2011
+ content: "\f00a";
2012
+ }
2013
+ .fc-toolbar.fc-header-toolbar button.fc-listWeek-button:before {
2014
+ content: "\f00b";
2015
+ }
2016
+ .fc-toolbar.fc-header-toolbar button.fc-button.fc-button-primary {
2017
+ box-shadow: none;
2018
+ height: auto;
2019
+ width: auto;
2020
+ float: none;
2021
+ font-size: 13px;
2022
+ font-weight: 400;
2023
+ color: #5e5e5e;
2024
+ border-radius: 3px;
2025
+ text-transform: capitalize;
2026
+ background: #f7f7fb;
2027
+ text-shadow: none;
2028
+ line-height: 19px;
2029
+ padding: 8px 12px;
2030
+ border: none;
2031
+ }
2032
+ .fc-toolbar.fc-header-toolbar button.fc-button.fc-button-primary.fc-state-active, .fc-toolbar.fc-header-toolbar button.fc-button.fc-button-primary:hover, .fc-toolbar.fc-header-toolbar button.fc-button.fc-button-primary:visited, .fc-toolbar.fc-header-toolbar button.fc-button.fc-button-primary:focus {
2033
+ background: #5725ff;
2034
+ color: #fff;
2035
+ box-shadow: none;
2036
+ }
2037
+ .fc-toolbar.fc-header-toolbar button.fc-button.fc-button-primary.fc-button-active {
2038
+ background: #5725ff;
2039
+ color: #fff;
2040
+ }
2041
+
2042
+ th.fc-widget-header > span {
2043
+ padding: 14px;
2044
+ display: block;
2045
+ font-size: 16px;
2046
+ color: #424344;
2047
+ }
2048
+
2049
+ span.fc-day-number {
2050
+ padding: 17px;
2051
+ display: block;
2052
+ }
2053
+
2054
+ .fc-basic-view .fc-day-number,
2055
+ .fc-basic-view .fc-week-number {
2056
+ padding: 12px 2px 2px 2px;
2057
+ display: block;
2058
+ border-bottom: 0px solid;
2059
+ }
2060
+
2061
+ .eael-event-calendar-wrapper .fc-view .fc-body thead:first-child tr:first-child td {
2062
+ border-bottom: 3px solid transparent;
2063
+ }
2064
+
2065
+ .eael-event-calendar-wrapper .fc-view table thead:first-child tr:first-child td {
2066
+ border-top: 1px solid #dfdfe9;
2067
+ }
2068
+
2069
+ .fc-unthemed .fc-timeGridDay-view .fc-event,
2070
+ .fc-unthemed .fc-timeGridWeek-view .fc-event {
2071
+ border-left: 1px solid;
2072
+ border-color: #4d4d4d !important;
2073
+ }
2074
+ .fc-unthemed .fc-timeGridDay-view .fc-event .fc-time,
2075
+ .fc-unthemed .fc-timeGridWeek-view .fc-event .fc-time {
2076
+ padding-left: 3px;
2077
+ }
2078
+ .fc-unthemed .fc-timeGridDay-view .fc-bg table tbody tr > td,
2079
+ .fc-unthemed .fc-timeGridWeek-view .fc-bg table tbody tr > td {
2080
+ padding-left: 1px;
2081
+ }
2082
+ .fc-unthemed .fc-timeGridDay-view .fc-time-grid .fc-event .fc-content,
2083
+ .fc-unthemed .fc-timeGridWeek-view .fc-time-grid .fc-event .fc-content {
2084
+ -webkit-box-pack: end;
2085
+ justify-content: end;
2086
+ }
2087
+ .fc-unthemed .fc-timeGridWeek-view .fc-time-grid .fc-event .fc-content {
2088
+ display: inherit;
2089
+ }
2090
+ .fc-unthemed .fc-listWeek-view .fc-list-table tr.fc-list-item {
2091
+ cursor: pointer;
2092
+ }
2093
+ .fc-unthemed .fc-listWeek-view .fc-list-table tr td {
2094
+ padding-bottom: 10px;
2095
+ padding-top: 10px;
2096
+ }
2097
+ .fc-unthemed .fc-dayGridMonth-view .fc-day-grid-event .fc-time {
2098
+ font-weight: 400;
2099
+ }
2100
+ .fc-unthemed .fc-content,
2101
+ .fc-unthemed .fc-divider,
2102
+ .fc-unthemed .fc-list-heading td,
2103
+ .fc-unthemed .fc-list-view,
2104
+ .fc-unthemed .fc-popover,
2105
+ .fc-unthemed .fc-row,
2106
+ .fc-unthemed tbody,
2107
+ .fc-unthemed td,
2108
+ .fc-unthemed th,
2109
+ .fc-unthemed thead {
2110
+ border-color: #dfdfe9;
2111
+ }
2112
+ .fc-unthemed a.fc-day-grid-event,
2113
+ .fc-unthemed .fc-event {
2114
+ color: #707070;
2115
+ font-size: 14px;
2116
+ background: #fff;
2117
+ border-radius: 5px;
2118
+ font-weight: 400;
2119
+ margin: 1px;
2120
+ border: none;
2121
+ }
2122
+ .fc-unthemed a.fc-day-grid-event .fc-day-grid-event .fc-time,
2123
+ .fc-unthemed .fc-event .fc-day-grid-event .fc-time {
2124
+ font-weight: normal;
2125
+ }
2126
+ .fc-unthemed .fc-time-grid .fc-event {
2127
+ min-height: 20px;
2128
+ }
2129
+ .fc-unthemed .fc-time-grid .fc-event .fc-content {
2130
+ display: -webkit-box;
2131
+ display: flex;
2132
+ -webkit-box-align: center;
2133
+ align-items: center;
2134
+ -webkit-box-pack: center;
2135
+ justify-content: center;
2136
+ height: 100%;
2137
+ width: 100%;
2138
+ }
2139
+ .fc-unthemed .fc-time-grid .fc-event .fc-content .fc-title {
2140
+ white-space: nowrap;
2141
+ overflow: hidden;
2142
+ text-overflow: ellipsis;
2143
+ }
2144
+ .fc-unthemed .fc-event:hover {
2145
+ color: #707070;
2146
+ }
2147
+
2148
+ .eaelec-modal.eael-zoom-in {
2149
+ opacity: 0;
2150
+ -webkit-transition: all 0.3s ease-out;
2151
+ transition: all 0.3s ease-out;
2152
+ }
2153
+ .eaelec-modal.eael-zoom-in .eaelec-modal-content {
2154
+ opacity: 0;
2155
+ -webkit-transition: all 0.3s ease-in-out;
2156
+ transition: all 0.3s ease-in-out;
2157
+ -webkit-transform: scale(0.5);
2158
+ transform: scale(0.5);
2159
+ }
2160
+ .eaelec-modal.eael-zoom-in.eael-ec-popup-ready .eael-ec-modal-bg {
2161
+ opacity: .7;
2162
+ }
2163
+ .eaelec-modal.eael-zoom-in.eael-ec-popup-ready .eaelec-modal-content {
2164
+ opacity: 1;
2165
+ -webkit-transform: scale(0.9);
2166
+ transform: scale(0.9);
2167
+ }
2168
+ .eaelec-modal.eael-zoom-in.eael-ec-modal-removing .eaelec-modal-content {
2169
+ -webkit-transform: scale(0.5);
2170
+ transform: scale(0.5);
2171
+ opacity: 0;
2172
+ }
2173
+ .eaelec-modal.eael-zoom-in.eael-ec-modal-removing .eael-ec-modal-bg {
2174
+ opacity: 0;
2175
+ }
2176
+
2177
+ @media (min-width: 768px) and (max-width: 1024px) {
2178
+ .eael-event-calendar-wrapper .fc-toolbar.fc-header-toolbar {
2179
+ margin-bottom: 12px;
2180
+ }
2181
+ .eael-event-calendar-wrapper .fc-toolbar.fc-header-toolbar .fc-center h2 {
2182
+ font-size: 22px;
2183
+ }
2184
+ .eael-event-calendar-wrapper .fc-right .fc-button-group .fc-button.fc-button-primary:before {
2185
+ font-size: 15px;
2186
+ }
2187
+ .eael-event-calendar-wrapper .fc-timeGridWeek-view a .fc-content {
2188
+ display: inherit !important;
2189
+ }
2190
+ .eael-event-calendar-wrapper .fc-day-header.fc-widget-header span {
2191
+ font-size: 15px;
2192
+ }
2193
+ .eael-event-calendar-wrapper .fc-toolbar.fc-header-toolbar .fc-button-group button:not(:first-child) {
2194
+ margin-left: 5px;
2195
+ }
2196
+ .eael-event-calendar-wrapper .eaelec-modal-body {
2197
+ height: 200px;
2198
+ }
2199
+ }
2200
+ @media only screen and (max-width: 767px) {
2201
+ .fc-right, .fc-left {
2202
+ width: 100%;
2203
+ text-align: center;
2204
+ }
2205
+
2206
+ .fc-left {
2207
+ text-align: center;
2208
+ }
2209
+
2210
+ .fc-right {
2211
+ margin-bottom: 10px;
2212
+ }
2213
+ .fc-right .fc-button-group .fc-button.fc-button-primary {
2214
+ font-size: 11px;
2215
+ }
2216
+ .fc-right .fc-button-group .fc-button.fc-button-primary:before {
2217
+ font-size: 11px;
2218
+ padding-left: 0;
2219
+ }
2220
+
2221
+ .fc-center {
2222
+ text-align: center;
2223
+ }
2224
+
2225
+ .fc-toolbar.fc-header-toolbar {
2226
+ display: inline-block;
2227
+ width: 100%;
2228
+ }
2229
+ .fc-toolbar.fc-header-toolbar .fc-button-group button.fc-button.fc-button-primary {
2230
+ margin-left: 5px;
2231
+ font-size: 12px;
2232
+ }
2233
+
2234
+ th.fc-widget-header > span {
2235
+ padding: 0;
2236
+ font-size: 14px;
2237
+ }
2238
+
2239
+ .fc-basic-view .fc-day-number, .fc-basic-view .fc-week-number {
2240
+ padding: 0;
2241
+ margin: 0;
2242
+ font-size: 10px;
2243
+ }
2244
+
2245
+ .fc-basic-view .fc-body .fc-row {
2246
+ min-height: 2em;
2247
+ }
2248
+
2249
+ .eael-event-calendar-wrapper .eaelec-modal-body {
2250
+ height: 100px;
2251
+ }
2252
  }
2253
 
2254
  .eael-facebook-feed {
2664
  position: absolute;
2665
  left: 50%;
2666
  -webkit-transform: translateX(-50%);
2667
+ transform: translateX(-50%);
2668
  }
2669
  .elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-img {
2670
  font-size: 8px;
2703
  }
2704
  .elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-icon-box .eael-feature-list-icon i {
2705
  -webkit-transform: rotate(-45deg);
2706
+ transform: rotate(-45deg);
2707
  }
2708
  .elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-icon-box .eael-feature-list-icon img {
2709
  -webkit-transform: rotate(-45deg);
2710
+ transform: rotate(-45deg);
2711
  }
2712
  .elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-content-box .eael-feature-list-title {
2713
  margin-top: 15px;
2788
  text-align: left;
2789
  -webkit-box-orient: horizontal;
2790
  -webkit-box-direction: normal;
2791
+ flex-direction: row;
2792
  }
2793
  .elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-item {
2794
  text-align: right;
2795
  -webkit-box-orient: horizontal;
2796
  -webkit-box-direction: reverse;
2797
+ flex-direction: row-reverse;
2798
  }
2799
  }
2800
  @media (max-width: 1024px) {
2806
  text-align: left;
2807
  -webkit-box-orient: horizontal;
2808
  -webkit-box-direction: normal;
2809
+ flex-direction: row;
2810
  }
2811
  .elementor-widget-eael-feature-list.-tablet-icon-position-right .eael-feature-list-item {
2812
  text-align: right;
2813
  -webkit-box-orient: horizontal;
2814
  -webkit-box-direction: reverse;
2815
+ flex-direction: row-reverse;
2816
  }
2817
  }
2818
  @media (min-width: 768px) and (max-width: 1024px) {
2934
  text-align: left;
2935
  -webkit-box-orient: horizontal;
2936
  -webkit-box-direction: normal;
2937
+ flex-direction: row;
2938
  }
2939
  .elementor-widget-eael-feature-list.-mobile-icon-position-right .eael-feature-list-item {
2940
  text-align: right;
2941
  -webkit-box-orient: horizontal;
2942
  -webkit-box-direction: reverse;
2943
+ flex-direction: row-reverse;
2944
  }
2945
  .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-content-box {
2946
  margin-right: 0 !important;
4648
  text-align: right;
4649
  }
4650
 
4651
+ .ff-step-header .ff-el-progress-status,
4652
+ .ff-el-progress {
4653
+ display: none;
4654
+ }
4655
+
4656
+ .eael-ff-step-header-yes .ff-step-header .ff-el-progress-status {
4657
+ display: block;
4658
+ }
4659
+
4660
+ .eael-ff-step-progressbar-yes .ff-el-progress {
4661
+ display: block;
4662
+ }
4663
+
4664
+ .ff-el-progress-bar {
4665
+ display: -webkit-box;
4666
+ display: flex;
4667
+ -webkit-box-align: center;
4668
+ align-items: center;
4669
+ -webkit-box-pack: end;
4670
+ justify-content: flex-end;
4671
+ height: 100%;
4672
+ }
4673
+
4674
  /*--------------------------*/
4675
  /* 01. General Styles
4676
  /*--------------------------*/
5657
  @media all and (max-width: 900px) {
5658
  .mfp-arrow {
5659
  -webkit-transform: scale(0.75);
5660
+ transform: scale(0.75);
5661
  }
5662
 
5663
  .mfp-arrow-left {
5664
  -webkit-transform-origin: 0;
5665
+ transform-origin: 0;
5666
  }
5667
 
5668
  .mfp-arrow-right {
5669
  -webkit-transform-origin: 100%;
5670
+ transform-origin: 100%;
5671
  }
5672
 
5673
  .mfp-container {
6224
  height: 100%;
6225
  overflow: hidden;
6226
  position: relative;
6227
+ opacity: 1;
6228
  -webkit-transition: all .3s;
6229
  transition: all .3s;
6230
  }
6960
 
6961
  .eael-pricing-content-align-left .eael-pricing.style-3 .eael-pricing-item .header:after {
6962
  -webkit-transform: translateX(-80%);
6963
+ transform: translateX(-80%);
6964
  }
6965
 
6966
  .eael-pricing-content-align-right .eael-pricing.style-3 .eael-pricing-item .header:after {
6967
  -webkit-transform: translateX(80%);
6968
+ transform: translateX(80%);
6969
  }
6970
 
6971
  .eael-pricing-content-align-left .eael-pricing.style-3 .eael-pricing-item:hover .header:after,
6972
  .eael-pricing-content-align-right .eael-pricing.style-3 .eael-pricing-item:hover .header:after {
6973
  -webkit-transform: translateX(0%);
6974
+ transform: translateX(0%);
6975
  }
6976
 
6977
  .eael-pricing-content-align-left .eael-pricing.style-1 .eael-pricing-item .header:after,
7070
  }
7071
  }
7072
 
7073
+ /*--------------------------*/
7074
+ /* 09. Product Styles
7075
+ /*--------------------------*/
7076
+ .eael-product-grid .woocommerce ul.products,
7077
+ .eael-post-grid .woocommerce ul.products {
7078
+ display: grid;
7079
+ grid-gap: 25px;
7080
+ margin: 0 !important;
7081
+ padding: 0 !important;
7082
  }
7083
+ .eael-product-grid .woocommerce ul.products:before, .eael-product-grid .woocommerce ul.products:after,
7084
+ .eael-post-grid .woocommerce ul.products:before,
7085
+ .eael-post-grid .woocommerce ul.products:after {
7086
+ display: none;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7087
  }
7088
  .eael-product-grid .woocommerce ul.products .product,
7089
  .eael-post-grid .woocommerce ul.products .product {
7527
  }
7528
  }
7529
 
7530
+ @-webkit-keyframes animateStripe {
7531
+ 0% {
7532
+ -webkit-transform: translate(0, 0);
7533
+ transform: translate(0, 0);
7534
+ }
7535
+ 100% {
7536
+ -webkit-transform: translate(35px, 0);
7537
+ transform: translate(35px, 0);
7538
+ }
7539
  }
7540
+ @keyframes animateStripe {
7541
+ 0% {
7542
+ -webkit-transform: translate(0, 0);
7543
+ transform: translate(0, 0);
7544
+ }
7545
+ 100% {
7546
+ -webkit-transform: translate(35px, 0);
7547
+ transform: translate(35px, 0);
7548
+ }
7549
  }
7550
+ @-webkit-keyframes animateStripeRTL {
7551
+ 0% {
7552
+ -webkit-transform: translate(0, 0);
7553
+ transform: translate(0, 0);
7554
+ }
7555
+ 100% {
7556
+ -webkit-transform: translate(-35px, 0);
7557
+ transform: translate(-35px, 0);
7558
+ }
7559
+ }
7560
+ @keyframes animateStripeRTL {
7561
+ 0% {
7562
+ -webkit-transform: translate(0, 0);
7563
+ transform: translate(0, 0);
7564
+ }
7565
+ 100% {
7566
+ -webkit-transform: translate(-35px, 0);
7567
+ transform: translate(-35px, 0);
7568
+ }
7569
+ }
7570
+ .eael-progressbar {
7571
+ position: relative;
7572
+ }
7573
+
7574
+ .eael-progressbar-title {
7575
+ font-size: 20px;
7576
+ font-weight: 400;
7577
+ }
7578
+
7579
+ .eael-progressbar-line {
7580
+ position: relative;
7581
+ display: block;
7582
+ width: 100%;
7583
+ height: 12px;
7584
+ background-color: #eeeeee;
7585
+ }
7586
+ .eael-progressbar-line .eael-progressbar-count-wrap {
7587
+ position: absolute;
7588
+ right: 0;
7589
+ bottom: calc(100% + 5px);
7590
+ font-size: 16px;
7591
+ font-weight: 400;
7592
+ line-height: 1;
7593
+ }
7594
+
7595
+ .eael-progressbar-line-fill {
7596
+ display: inline-block;
7597
+ position: absolute;
7598
+ top: 50%;
7599
+ left: 0;
7600
+ width: 0;
7601
+ height: 12px;
7602
+ background-color: #000000;
7603
+ -webkit-transform: translateY(-50%);
7604
+ transform: translateY(-50%);
7605
+ -webkit-transition: width 1500ms linear;
7606
+ transition: width 1500ms linear;
7607
+ overflow: hidden;
7608
+ }
7609
+
7610
+ .eael-progressbar-circle {
7611
+ position: relative;
7612
+ width: 200px;
7613
+ height: 200px;
7614
+ }
7615
+ .eael-progressbar-circle .eael-progressbar-title {
7616
+ font-size: 16px;
7617
+ font-weight: 400;
7618
+ }
7619
+ .eael-progressbar-circle .eael-progressbar-count-wrap {
7620
+ font-size: 28px;
7621
+ font-weight: 700;
7622
+ }
7623
+
7624
+ .eael-progressbar-circle-shadow {
7625
+ width: 220px;
7626
+ height: 220px;
7627
+ padding: 10px;
7628
+ border-radius: 50%;
7629
+ }
7630
+
7631
+ .eael-progressbar-circle-pie {
7632
+ position: absolute;
7633
+ top: 0;
7634
+ left: 0;
7635
+ width: 100%;
7636
+ height: 100%;
7637
+ -webkit-clip-path: inset(0 0 0 50%);
7638
+ clip-path: inset(0 0 0 50%);
7639
+ }
7640
+
7641
+ .eael-progressbar-circle-inner {
7642
+ height: 100%;
7643
+ width: 100%;
7644
+ border-width: 12px;
7645
+ border-style: solid;
7646
+ border-color: #eeeeee;
7647
+ border-radius: 50%;
7648
+ }
7649
+
7650
+ .eael-progressbar-circle-half {
7651
+ position: absolute;
7652
+ left: 0;
7653
+ top: 0;
7654
+ height: 100%;
7655
+ width: 100%;
7656
+ border-width: 12px;
7657
+ border-style: solid;
7658
+ border-color: #000000;
7659
+ border-radius: 50%;
7660
+ -webkit-clip-path: inset(0 50% 0 0);
7661
+ clip-path: inset(0 50% 0 0);
7662
+ }
7663
+
7664
+ .eael-progressbar-circle-half-left {
7665
+ -webkit-transform: rotate(0deg);
7666
+ transform: rotate(0deg);
7667
+ }
7668
+
7669
+ .eael-progressbar-circle-half-right {
7670
+ -webkit-transform: rotate(180deg);
7671
+ transform: rotate(180deg);
7672
+ visibility: hidden;
7673
+ }
7674
+
7675
+ .eael-progressbar-circle-inner-content {
7676
+ position: absolute;
7677
+ top: 50%;
7678
+ width: 100%;
7679
+ -webkit-transform: translateY(-50%);
7680
+ transform: translateY(-50%);
7681
+ text-align: center;
7682
+ }
7683
+
7684
+ .eael-progressbar-half-circle {
7685
+ position: relative;
7686
+ width: 200px;
7687
+ height: 100px;
7688
+ overflow: hidden;
7689
+ }
7690
+ .eael-progressbar-half-circle .eael-progressbar-circle-pie {
7691
+ -webkit-clip-path: inset(0 0 50% 0);
7692
+ clip-path: inset(0 0 50% 0);
7693
+ }
7694
+ .eael-progressbar-half-circle .eael-progressbar-circle-half {
7695
+ -webkit-clip-path: inset(50% 0 0 0);
7696
+ clip-path: inset(50% 0 0 0);
7697
+ -webkit-transform: rotate(0deg);
7698
+ transform: rotate(0deg);
7699
+ -webkit-transition: -webkit-transform 1500ms linear;
7700
+ transition: -webkit-transform 1500ms linear;
7701
+ transition: transform 1500ms linear;
7702
+ transition: transform 1500ms linear, -webkit-transform 1500ms linear;
7703
+ }
7704
+ .eael-progressbar-half-circle .eael-progressbar-circle-inner-content {
7705
+ top: initial;
7706
+ bottom: 0;
7707
+ -webkit-transform: translateY(0);
7708
+ transform: translateY(0);
7709
+ }
7710
+ .eael-progressbar-half-circle .eael-progressbar-title {
7711
+ font-size: 16px;
7712
+ font-weight: 400;
7713
+ }
7714
+ .eael-progressbar-half-circle .eael-progressbar-count-wrap {
7715
+ font-size: 28px;
7716
+ font-weight: 700;
7717
+ }
7718
+
7719
+ .eael-progressbar-half-circle-after {
7720
+ position: relative;
7721
+ font-size: 12px;
7722
+ font-weight: 400;
7723
+ clear: both;
7724
+ }
7725
+
7726
+ .eael-progressbar-postfix-label {
7727
+ float: right;
7728
+ }
7729
+
7730
+ .eael-progressbar-line-stripe .eael-progressbar-line-fill:after {
7731
+ content: '';
7732
+ position: absolute;
7733
+ top: 0;
7734
+ left: -35px;
7735
+ width: calc(100% + 70px);
7736
+ height: 100%;
7737
+ 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);
7738
+ background-size: 35px 35px;
7739
+ }
7740
+
7741
+ .eael-progressbar-line-animate .eael-progressbar-line-fill:after {
7742
+ -webkit-animation: animateStripe 2s linear infinite;
7743
+ animation: animateStripe 2s linear infinite;
7744
+ }
7745
+
7746
+ .eael-progressbar-line-animate-rtl .eael-progressbar-line-fill:after {
7747
+ -webkit-animation: animateStripeRTL 2s linear infinite;
7748
+ animation: animateStripeRTL 2s linear infinite;
7749
+ }
7750
+
7751
+ .eael-progressbar-circle-wrap > div {
7752
+ margin: 0 auto;
7753
+ }
7754
+
7755
+ /*alignment*/
7756
+ .eael-progressbar-line-container.left,
7757
+ .eael-progressbar-circle-container.left > div,
7758
+ .eael-progressbar-box-container.left > div {
7759
+ margin: 0 auto 0 0;
7760
+ }
7761
+
7762
+ .eael-progressbar-line-container.center,
7763
+ .eael-progressbar-circle-container.center > div,
7764
+ .eael-progressbar-box-container.center > div {
7765
+ margin: 0 auto;
7766
+ }
7767
+
7768
+ .eael-progressbar-line-container.right,
7769
+ .eael-progressbar-circle-container.right > div,
7770
+ .eael-progressbar-box-container.right > div {
7771
+ margin: 0 0 0 auto;
7772
+ }
7773
+
7774
+ .eael-reading-progress-wrap.eael-reading-progress-wrap-local .eael-reading-progress-global {
7775
+ display: none;
7776
+ }
7777
+ .eael-reading-progress-wrap.eael-reading-progress-wrap-global .eael-reading-progress-local {
7778
+ display: none;
7779
+ }
7780
+ .eael-reading-progress-wrap.eael-reading-progress-wrap-disabled .eael-reading-progress-global,
7781
+ .eael-reading-progress-wrap.eael-reading-progress-wrap-disabled .eael-reading-progress-local {
7782
+ display: none;
7783
  }
7784
  .eael-reading-progress-wrap .eael-reading-progress {
7785
  width: 100%;
7952
  top: 50%;
7953
  left: 50%;
7954
  -webkit-transform: translateX(-50%) translateY(-50%);
7955
+ transform: translateX(-50%) translateY(-50%);
7956
  }
7957
 
7958
  .owp-play i {
8021
  transform: rotate(-45deg);
8022
  }
8023
 
8024
+ html {
8025
+ scroll-behavior: smooth;
 
 
 
 
8026
  }
8027
 
8028
+ .eael-toc {
8029
+ z-index: 9999;
8030
+ width: 300px;
8031
  }
8032
+ .eael-toc .eael-toc-button {
8033
+ display: none;
 
 
8034
  }
8035
+ .eael-toc .eael-toc-not-found {
8036
+ color: #a94442;
 
 
8037
  }
8038
+ .eael-toc.eael-toc-disable {
8039
+ display: none;
8040
+ }
8041
+ .eael-toc.eael-sticky {
8042
+ position: fixed;
8043
+ top: 100px;
8044
+ background: none;
8045
+ }
8046
+ .eael-toc.collapsed {
8047
+ width: unset !important;
8048
+ box-shadow: none !important;
8049
+ border: none !important;
8050
+ }
8051
+ .eael-toc.collapsed .eael-toc-header,
8052
+ .eael-toc.collapsed .eael-toc-body,
8053
+ .eael-toc.collapsed .eael-toc-close {
8054
+ display: none;
8055
+ }
8056
+ .eael-toc.collapsed.eael-bottom-to-top .eael-toc-button {
8057
+ -webkit-transform: rotate(-90deg);
8058
+ transform: rotate(-90deg);
8059
+ -webkit-transform-origin: top left;
8060
+ transform-origin: top left;
8061
+ margin-top: 100%;
8062
+ }
8063
+ .eael-toc.collapsed .eael-toc-button {
8064
+ position: relative;
8065
+ display: inline-block;
8066
+ font-size: 80% !important;
8067
+ font-weight: 400;
8068
+ text-align: center;
8069
+ text-decoration: none;
8070
+ text-transform: none;
8071
+ color: #fff;
8072
+ background: #ff7d50;
8073
+ padding: 10px 20px;
8074
+ border-radius: 3px;
8075
+ border: none;
8076
+ -webkit-transform: rotate(90deg);
8077
+ transform: rotate(90deg);
8078
+ -webkit-transform-origin: bottom left;
8079
+ transform-origin: bottom left;
8080
+ cursor: pointer;
8081
+ }
8082
+ .eael-toc.collapsed .eael-toc-button:focus {
8083
+ outline: none;
8084
+ }
8085
+ .eael-toc.collapsed .eael-toc-button i {
8086
+ margin-right: 10px;
8087
+ }
8088
+ .eael-toc.eael-toc-right {
8089
+ right: 0;
8090
+ }
8091
+ .eael-toc.eael-toc-right.collapsed {
8092
+ width: inherit !important;
8093
+ }
8094
+ .eael-toc.eael-toc-right .eael-toc-close {
8095
+ left: -11px;
8096
+ }
8097
+ .eael-toc.eael-toc-right.eael-bottom-to-top .eael-toc-button {
8098
+ -webkit-transform: rotate(-90deg);
8099
+ transform: rotate(-90deg);
8100
+ -webkit-transform-origin: bottom right;
8101
+ transform-origin: bottom right;
8102
+ margin-top: -100%;
8103
+ }
8104
+ .eael-toc.eael-toc-right .eael-toc-button {
8105
+ -webkit-transform: rotate(90deg);
8106
+ transform: rotate(90deg);
8107
+ -webkit-transform-origin: top right;
8108
+ transform-origin: top right;
8109
+ margin-top: 100%;
8110
+ }
8111
+ .eael-toc .eael-toc-header {
8112
+ position: relative;
8113
+ background: #ff7d50;
8114
+ padding: 12px 30px;
8115
+ }
8116
+ .eael-toc .eael-toc-header .eael-toc-title {
8117
+ font-size: 18px;
8118
+ font-weight: 400;
8119
+ letter-spacing: 0.1px;
8120
+ color: #fff;
8121
+ margin: 0;
8122
+ padding: 0;
8123
+ }
8124
+ .eael-toc .eael-toc-header .eael-toc-title:before {
8125
+ content: none;
8126
+ }
8127
+ .eael-toc .eael-toc-header .eael-toc-close {
8128
+ position: absolute;
8129
+ width: 28px;
8130
+ height: 28px;
8131
+ background: #fff;
8132
+ box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
8133
+ right: -9px;
8134
+ top: -11px;
8135
+ border-radius: 20px;
8136
+ font-family: serif;
8137
+ font-size: 20px;
8138
+ font-weight: 700;
8139
+ line-height: 28px;
8140
+ text-align: center;
8141
+ color: #ff7d50;
8142
+ cursor: pointer;
8143
+ padding: 0;
8144
+ margin: 0;
8145
+ border: 0;
8146
+ }
8147
+ .eael-toc .eael-toc-body {
8148
+ padding: 12px 30px;
8149
+ background: #fff6f3;
8150
+ min-width: 20vh;
8151
+ max-height: 50vh;
8152
+ overflow-y: hidden;
8153
+ }
8154
+ .eael-toc .eael-toc-body::-webkit-scrollbar {
8155
+ width: 6px;
8156
+ }
8157
+ .eael-toc .eael-toc-body::-webkit-scrollbar-thumb {
8158
+ background: #aaa;
8159
+ border-radius: 10px;
8160
+ }
8161
+ .eael-toc .eael-toc-body:hover {
8162
+ overflow-y: auto;
8163
+ }
8164
+ .eael-toc .eael-toc-body ul.eael-toc-list {
8165
+ margin: 0;
8166
+ padding: 0;
8167
+ list-style: none;
8168
+ }
8169
+ .eael-toc .eael-toc-body ul.eael-toc-list li ul {
8170
+ margin: 0;
8171
+ padding: 0;
8172
+ margin-left: 20px;
8173
+ list-style: none;
8174
+ }
8175
+ .eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-bullet li:before {
8176
+ content: "";
8177
+ position: relative;
8178
+ display: inline-block;
8179
+ width: 8px;
8180
+ height: 8px;
8181
+ border-radius: 50%;
8182
+ background-color: #ff7d50;
8183
+ margin-right: 8px;
8184
+ top: -2px;
8185
+ }
8186
+ .eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-number {
8187
+ counter-reset: counter;
8188
+ }
8189
+ .eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-number li {
8190
+ counter-increment: counter;
8191
+ }
8192
+ .eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-number li:before {
8193
+ content: counters(counter,".") " ";
8194
+ }
8195
+ .eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-number li ul {
8196
+ counter-reset: counter;
8197
+ }
8198
+ .eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-number li ul li {
8199
+ counter-increment: counter;
8200
+ }
8201
+ .eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-number li ul li:before {
8202
+ content: counters(counter,".") " ";
8203
+ }
8204
+ .eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-list-arrow li.eael-highlight-active > a:before {
8205
+ content: "";
8206
+ position: absolute;
8207
+ left: 0;
8208
+ z-index: 999999;
8209
+ border-bottom: 10px solid #ff7d50;
8210
+ border-left: 5px solid transparent;
8211
+ border-right: 5px solid transparent;
8212
+ -webkit-transform: rotate(90deg);
8213
+ transform: rotate(90deg);
8214
+ margin-top: 10px;
8215
+ }
8216
+ .eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-list-bar li.eael-highlight-active > a:after {
8217
+ content: "";
8218
+ position: absolute;
8219
+ right: 0;
8220
+ height: 30px;
8221
+ width: 2px;
8222
+ background: #ff7d50;
8223
+ z-index: 999999;
8224
+ }
8225
+ .eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-collapse :not(.eael-highlight-parent) ul {
8226
+ display: none;
8227
+ }
8228
+ .eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-word-wrap li a {
8229
+ display: -webkit-inline-box;
8230
+ display: inline-flex;
8231
+ }
8232
+ .eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-word-wrap li a span {
8233
+ width: 140px !important;
8234
+ display: block;
8235
+ white-space: nowrap;
8236
+ overflow: hidden;
8237
+ text-overflow: ellipsis;
8238
+ }
8239
+
8240
+ /*----------------------------*/
8241
+ /* 07. Team Members Styles
8242
+ /*----------------------------*/
8243
+ .eael-team-item {
8244
+ overflow: hidden;
8245
+ position: relative;
8246
+ }
8247
+
8248
+ .team-avatar-rounded figure img {
8249
+ border-radius: 50%;
8250
+ height: auto;
8251
+ }
8252
+
8253
+ .eael-team-image > figure {
8254
+ margin: 0;
8255
+ padding: 0;
8256
+ }
8257
+
8258
+ .eael-team-image > figure img {
8259
+ display: block;
8260
+ margin: 0 auto;
8261
+ }
8262
+
8263
+ .eael-team-item .eael-team-content {
8264
+ padding: 10px;
8265
  }
8266
 
8267
  .eael-team-item .eael-team-member-name {
8358
  outline: none;
8359
  }
8360
 
8361
+ /*----------------------------*/
8362
+ /* 08. Testimonials Styles
8363
+ /*----------------------------*/
8364
+ .eael-testimonial-slider {
8365
  position: relative;
 
 
 
 
 
 
 
 
 
8366
  }
8367
 
8368
+ .testimonial-star-rating {
8369
+ padding: 0;
 
 
 
 
 
 
 
 
 
 
 
 
8370
  margin: 0;
8371
  }
8372
 
8373
+ .testimonial-star-rating li {
8374
+ list-style: none;
8375
+ display: inline-block;
 
 
8376
  }
8377
 
8378
+ .testimonial-star-rating li i {
8379
+ color: #d8d8d8;
8380
  }
8381
 
8382
+ .rating-five .testimonial-star-rating li i {
8383
+ color: #f2b01e;
 
 
 
 
 
8384
  }
8385
 
8386
+ .rating-one .testimonial-star-rating li:first-child i {
8387
+ color: #f2b01e;
 
8388
  }
8389
 
8390
+ .rating-two .testimonial-star-rating li:nth-child(1) i,
8391
+ .rating-two .testimonial-star-rating li:nth-child(2) i {
8392
+ color: #f2b01e;
 
8393
  }
8394
 
8395
+ .rating-three .testimonial-star-rating li:nth-child(1) i,
8396
+ .rating-three .testimonial-star-rating li:nth-child(2) i,
8397
+ .rating-three .testimonial-star-rating li:nth-child(3) i {
8398
+ color: #f2b01e;
 
 
 
 
 
8399
  }
8400
 
8401
+ .rating-four .testimonial-star-rating li:nth-child(1) i,
8402
+ .rating-four .testimonial-star-rating li:nth-child(2) i,
8403
+ .rating-four .testimonial-star-rating li:nth-child(3) i,
8404
+ .rating-four .testimonial-star-rating li:nth-child(4) i {
8405
+ color: #f2b01e;
8406
  }
8407
 
8408
+ /*--- Default styles ---*/
8409
+ .eael-testimonial-image img {
8410
+ max-width: 100%;
 
8411
  }
8412
 
8413
+ .eael-testimonial-image {
8414
+ padding: 10px 0px 0px 0px;
 
 
 
 
8415
  }
8416
 
8417
+ .eael-testimonial-image > figure {
8418
+ display: block;
8419
+ margin: 0;
 
 
8420
  }
8421
 
8422
+ .testimonial-avatar-rounded figure img {
8423
+ border-radius: 50%;
8424
+ height: auto;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8425
  }
8426
 
8427
  .eael-testimonial-content {
8738
  text-align: right;
8739
  }
8740
 
8741
+ /*------------------------------*/
8742
+ /* 32. Tooltip
8743
+ /*------------------------------*/
8744
+ .eael-tooltip {
8745
+ position: relative;
8746
+ display: inline-block;
8747
+ min-width: 150px;
8748
+ padding: 12px 24px;
8749
+ font-size: .93rem;
8750
+ color: #333;
8751
+ line-height: 1;
8752
+ cursor: pointer;
8753
+ -webkit-transition: all 0.3s ease-in-out;
8754
+ transition: all 0.3s ease-in-out;
8755
  }
8756
 
8757
+ .eael-tooltip .eael-tooltip-text {
8758
+ display: block;
8759
+ width: 100%;
8760
+ visibility: hidden;
8761
+ background-color: black;
8762
+ color: #fff;
8763
+ border-radius: 4px;
8764
+ padding: 10px;
8765
+ position: absolute;
8766
+ z-index: 1;
8767
+ font-size: .93rem;
8768
+ line-height: 1.3;
8769
  }
8770
+ .eael-tooltip .eael-tooltip-text p {
8771
+ margin: 0;
8772
+ }
8773
+
8774
+ .eael-tooltip .eael-tooltip-text::after {
8775
+ content: "";
8776
+ position: absolute;
8777
+ border-width: 5px;
8778
+ border-style: solid;
8779
+ }
8780
+
8781
+ .eael-tooltip:hover .eael-tooltip-text {
8782
+ visibility: visible;
8783
+ }
8784
+
8785
+ /*--- Left ---*/
8786
+ .eael-tooltip .eael-tooltip-text.eael-tooltip-left {
8787
+ top: 50%;
8788
+ right: 100%;
8789
+ -webkit-transform: translateY(-50%);
8790
+ transform: translateY(-50%);
8791
+ margin-right: 10px;
8792
+ }
8793
+
8794
+ .eael-tooltip:hover .eael-tooltip-text.eael-tooltip-left {
8795
+ -webkit-animation: tooltipLeftIn 300ms ease-in-out;
8796
+ animation: tooltipLeftIn 300ms ease-in-out;
8797
+ }
8798
+
8799
+ .eael-tooltip .eael-tooltip-text.eael-tooltip-left::after {
8800
+ top: calc(50% - 5px);
8801
+ left: 100%;
8802
+ border-color: transparent transparent transparent black;
8803
+ }
8804
+
8805
+ /*--- Right ---*/
8806
+ .eael-tooltip .eael-tooltip-text.eael-tooltip-right {
8807
+ top: 50%;
8808
+ left: 100%;
8809
+ -webkit-transform: translateY(-50%);
8810
+ transform: translateY(-50%);
8811
+ -webkit-transition: all 0.3s ease-in-out;
8812
+ transition: all 0.3s ease-in-out;
8813
+ margin-left: 10px;
8814
+ }
8815
+
8816
+ .eael-tooltip:hover .eael-tooltip-text.eael-tooltip-right {
8817
+ -webkit-animation: tooltipRightIn 300ms linear;
8818
+ animation: tooltipRightIn 300ms linear;
8819
+ }
8820
+
8821
+ .eael-tooltip .eael-tooltip-text.eael-tooltip-right::after {
8822
+ top: calc(50% - 5px);
8823
+ right: 100%;
8824
+ border-color: transparent black transparent transparent;
8825
+ }
8826
+
8827
+ /*--- Top ---*/
8828
+ .eael-tooltip .eael-tooltip-text.eael-tooltip-top {
8829
+ bottom: calc(100%);
8830
+ left: 0;
8831
+ right: 0;
8832
+ margin: 0 auto 10px auto;
8833
+ }
8834
+
8835
+ .eael-tooltip .eael-tooltip-text.eael-tooltip-top::after {
8836
+ margin-top: 0px;
8837
+ top: 100%;
8838
+ left: calc( 50% - 5px);
8839
+ border-color: black transparent transparent transparent;
8840
+ }
8841
+
8842
+ .eael-tooltip:hover .eael-tooltip-text.eael-tooltip-top {
8843
+ -webkit-animation: tooltipTopIn 300ms linear;
8844
+ animation: tooltipTopIn 300ms linear;
8845
+ }
8846
+
8847
+ /*--- Bottom ---*/
8848
+ .eael-tooltip .eael-tooltip-text.eael-tooltip-bottom {
8849
+ top: 100%;
8850
+ left: 0;
8851
+ right: 0;
8852
+ margin: 10px auto 0px auto;
8853
+ }
8854
+
8855
+ .eael-tooltip .eael-tooltip-text.eael-tooltip-bottom::after {
8856
+ margin-top: 0px;
8857
+ bottom: 100%;
8858
+ left: calc( 50% - 5px);
8859
+ border-color: transparent transparent black transparent;
8860
+ }
8861
+
8862
+ .eael-tooltip:hover .eael-tooltip-text.eael-tooltip-bottom {
8863
+ -webkit-animation: tooltipBottomIn 300ms linear;
8864
+ animation: tooltipBottomIn 300ms linear;
8865
+ }
8866
+
8867
+ /*--- Alignments ---*/
8868
+ .eael-tooltip-align-left {
8869
+ display: -webkit-box;
8870
+ display: flex;
8871
+ width: 100%;
8872
+ -webkit-box-pack: start;
8873
+ justify-content: flex-start;
8874
+ }
8875
+
8876
+ .eael-tooltip-align-right {
8877
+ display: -webkit-box;
8878
+ display: flex;
8879
+ width: 100%;
8880
+ -webkit-box-pack: end;
8881
+ justify-content: flex-end;
8882
+ }
8883
+
8884
+ .eael-tooltip-align-center {
8885
+ display: -webkit-box;
8886
+ display: flex;
8887
+ width: 100%;
8888
+ -webkit-box-pack: center;
8889
+ justify-content: center;
8890
+ }
8891
+
8892
+ .eael-tooltip-align-justify .eael-tooltip {
8893
+ display: -webkit-box;
8894
+ display: flex;
8895
+ -webkit-box-pack: center;
8896
+ justify-content: center;
8897
+ -webkit-box-align: center;
8898
+ align-items: center;
8899
+ }
8900
+
8901
+ /*--- Tooltip Keyframes ---*/
8902
+ @-webkit-keyframes tooltipRightIn {
8903
+ 0% {
8904
+ opacity: 0;
8905
+ left: 105%;
8906
+ }
8907
+ 100% {
8908
+ opacity: 1;
8909
+ left: 100%;
8910
+ }
8911
+ }
8912
+ @keyframes tooltipRightIn {
8913
+ 0% {
8914
+ opacity: 0;
8915
+ left: 105%;
8916
+ }
8917
+ 100% {
8918
+ opacity: 1;
8919
+ left: 100%;
8920
+ }
8921
+ }
8922
+ @-webkit-keyframes tooltipLeftIn {
8923
+ 0% {
8924
+ opacity: 0;
8925
+ right: 105%;
8926
+ }
8927
+ 100% {
8928
+ opacity: 1;
8929
+ right: 100%;
8930
+ }
8931
+ }
8932
+ @keyframes tooltipLeftIn {
8933
+ 0% {
8934
+ opacity: 0;
8935
+ right: 105%;
8936
+ }
8937
+ 100% {
8938
+ opacity: 1;
8939
+ right: 100%;
8940
+ }
8941
+ }
8942
+ @-webkit-keyframes tooltipTopIn {
8943
+ 0% {
8944
+ opacity: 0;
8945
+ bottom: 110%;
8946
+ }
8947
+ 100% {
8948
+ opacity: 1;
8949
+ bottom: 100%;
8950
+ }
8951
+ }
8952
+ @keyframes tooltipTopIn {
8953
+ 0% {
8954
+ opacity: 0;
8955
+ bottom: 110%;
8956
+ }
8957
+ 100% {
8958
+ opacity: 1;
8959
+ bottom: 100%;
8960
+ }
8961
+ }
8962
+ @-webkit-keyframes tooltipBottomIn {
8963
+ 0% {
8964
+ opacity: 0;
8965
+ top: 110%;
8966
+ }
8967
+ 100% {
8968
+ opacity: 1;
8969
+ top: 100%;
8970
+ }
8971
+ }
8972
+ @keyframes tooltipBottomIn {
8973
+ 0% {
8974
+ opacity: 0;
8975
+ top: 110%;
8976
+ }
8977
+ 100% {
8978
+ opacity: 1;
8979
+ top: 100%;
8980
+ }
8981
+ }
8982
+ span.eael-tooltip-content,
8983
+ span.eael-tooltip-content a {
8984
+ width: 100%;
8985
+ display: block;
8986
+ text-align: center;
8987
+ }
8988
+
8989
+ .eael-tooltip-text-align-left .eael-tooltip-text, .eael-tooltip-text-align-left .eael-tooltip-content a {
8990
+ text-align: left;
8991
+ }
8992
+
8993
+ .eael-tooltip-text-align-right .eael-tooltip-text, .eael-tooltip-text-align-right .eael-tooltip-content a {
8994
+ text-align: right;
8995
+ }
8996
+
8997
+ .eael-tooltip-text-align-center .eael-tooltip-text, .eael-tooltip-text-align-center .eael-tooltip-content a {
8998
+ text-align: center;
8999
+ }
9000
+
9001
+ .eael-tooltip-text-align-justify .eael-tooltip-text, .eael-tooltip-text-align-justify .eael-tooltip-content a {
9002
+ text-align: justify;
9003
+ }
9004
+
9005
+ .eael-twitter-feed::before, .eael-twitter-feed::after {
9006
+ content: "";
9007
+ clear: both;
9008
+ }
9009
+
9010
+ .eael-twitter-feed-masonry .eael-twitter-feed-item {
9011
+ float: left;
9012
+ }
9013
+ @media only screen and (max-width: 480px) {
9014
+ .eael-twitter-feed-masonry.eael-twitter-feed-col-2 .eael-twitter-feed-item {
9015
+ width: 100% !important;
9016
+ }
9017
  }
9018
  @media only screen and (max-width: 480px) {
9019
  .eael-twitter-feed-masonry.eael-twitter-feed-col-3 .eael-twitter-feed-item {
9094
  outline: none;
9095
  }
9096
 
9097
+ /*----------------------*/
9098
+ /* 12. weForm Styles
9099
+ /*----------------------*/
9100
+ .eael-weform-container input,
9101
+ .eael-weform-container textarea {
9102
+ height: auto;
9103
+ padding: 10px;
9104
+ }
9105
+
9106
+ .eael-contact-form-btn-align-center .eael-weform-container ul.wpuf-form .wpuf-submit input[type="submit"] {
9107
+ margin-left: auto !important;
9108
+ margin-right: auto !important;
9109
+ display: block;
9110
+ float: none;
9111
+ }
9112
+
9113
+ .eael-contact-form-btn-align-left .eael-weform-container ul.wpuf-form .wpuf-submit input[type="submit"] {
9114
+ float: left;
9115
+ width: auto;
9116
+ }
9117
+
9118
+ .eael-contact-form-btn-align-right .eael-weform-container ul.wpuf-form .wpuf-submit input[type="submit"] {
9119
+ float: right;
9120
+ width: auto;
9121
+ }
9122
+
9123
+ .eael-weform-container ul.wpuf-form li .wpuf-fields input[type="text"],
9124
+ .eael-weform-container ul.wpuf-form li .wpuf-fields input[type="password"],
9125
+ .eael-weform-container ul.wpuf-form li .wpuf-fields input[type="email"],
9126
+ .eael-weform-container ul.wpuf-form li .wpuf-fields input[type="url"],
9127
+ .eael-weform-container ul.wpuf-form li .wpuf-fields input[type="number"],
9128
+ .eael-weform-container ul.wpuf-form li .wpuf-fields textarea {
9129
+ max-width: 100%;
9130
+ }
9131
+
9132
+ /* ------------------- */
9133
+ /* 23. WPForms
9134
+ /* ------------------- */
9135
+ .eael-wpforms .wpforms-container .wpforms-form input[type=submit],
9136
+ .eael-wpforms .wpforms-container .wpforms-form button[type=submit],
9137
+ .eael-wpforms .wpforms-container .wpforms-form .wpforms-page-button {
9138
+ border: 0;
9139
+ }
9140
+
9141
+ .eael-wpforms .wpforms-container .wpforms-form input[type=submit]:hover,
9142
+ .eael-wpforms .wpforms-container .wpforms-form button[type=submit]:hover,
9143
  .eael-wpforms .wpforms-container .wpforms-form .wpforms-page-button:hover {
9144
  border: 0;
9145
  }
9171
  width: 100%;
9172
  }
9173
 
9174
+ @keyframes plyr-progress{to{background-position:25px 0}}@keyframes plyr-popup{0%{opacity:.5;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes plyr-fade-in{from{opacity:0}to{opacity:1}}.plyr{-moz-osx-font-smoothing:auto;-webkit-font-smoothing:subpixel-antialiased;direction:ltr;font-family:Avenir,"Avenir Next","Helvetica Neue","Segoe UI",Helvetica,Arial,sans-serif;font-variant-numeric:tabular-nums;font-weight:500;line-height:1.7;max-width:100%;min-width:200px;position:relative;text-shadow:none;transition:box-shadow .3s ease}.plyr audio,.plyr video{border-radius:inherit;height:auto;vertical-align:middle;width:100%}.plyr button{font:inherit;line-height:inherit;width:auto}.plyr:focus{outline:0}.plyr--full-ui{box-sizing:border-box}.plyr--full-ui *,.plyr--full-ui ::after,.plyr--full-ui ::before{box-sizing:inherit}.plyr--full-ui a,.plyr--full-ui button,.plyr--full-ui input,.plyr--full-ui label{touch-action:manipulation}.plyr__badge{background:#4a5764;border-radius:2px;color:#fff;font-size:9px;line-height:1;padding:3px 4px}.plyr--full-ui ::-webkit-media-text-track-container{display:none}.plyr__captions{animation:plyr-fade-in .3s ease;bottom:0;color:#fff;display:none;font-size:14px;left:0;padding:10px;position:absolute;text-align:center;transition:transform .4s ease-in-out;width:100%}.plyr__captions .plyr__caption{background:rgba(0,0,0,.8);border-radius:2px;-webkit-box-decoration-break:clone;box-decoration-break:clone;line-height:185%;padding:.2em .5em;white-space:pre-wrap}.plyr__captions .plyr__caption div{display:inline}.plyr__captions span:empty{display:none}@media (min-width:480px){.plyr__captions{font-size:16px;padding:20px}}@media (min-width:768px){.plyr__captions{font-size:18px}}.plyr--captions-active .plyr__captions{display:block}.plyr:not(.plyr--hide-controls) .plyr__controls:not(:empty)~.plyr__captions{transform:translateY(-40px)}.plyr__control{background:0 0;border:0;border-radius:3px;color:inherit;cursor:pointer;flex-shrink:0;overflow:visible;padding:7px;position:relative;transition:all .3s ease}.plyr__control svg{display:block;fill:currentColor;height:18px;pointer-events:none;width:18px}.plyr__control:focus{outline:0}.plyr__control.plyr__tab-focus{box-shadow:0 0 0 5px rgba(0,179,255,.5);outline:0}a.plyr__control{text-decoration:none}a.plyr__control::after,a.plyr__control::before{display:none}.plyr__control.plyr__control--pressed .icon--not-pressed,.plyr__control.plyr__control--pressed .label--not-pressed,.plyr__control:not(.plyr__control--pressed) .icon--pressed,.plyr__control:not(.plyr__control--pressed) .label--pressed{display:none}.plyr--audio .plyr__control.plyr__tab-focus,.plyr--audio .plyr__control:hover,.plyr--audio .plyr__control[aria-expanded=true]{background:#00b3ff;color:#fff}.plyr--video .plyr__control.plyr__tab-focus,.plyr--video .plyr__control:hover,.plyr--video .plyr__control[aria-expanded=true]{background:#00b3ff;color:#fff}.plyr__control--overlaid{background:rgba(0,179,255,.8);border:0;border-radius:100%;color:#fff;display:none;left:50%;padding:15px;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:2}.plyr__control--overlaid svg{left:2px;position:relative}.plyr__control--overlaid:focus,.plyr__control--overlaid:hover{background:#00b3ff}.plyr--playing .plyr__control--overlaid{opacity:0;visibility:hidden}.plyr--full-ui.plyr--video .plyr__control--overlaid{display:block}.plyr--full-ui ::-webkit-media-controls{display:none}.plyr__controls{align-items:center;display:flex;justify-content:flex-end;text-align:center}.plyr__controls .plyr__progress__container{flex:1;min-width:0}.plyr__controls .plyr__controls__item{margin-left:2.5px}.plyr__controls .plyr__controls__item:first-child{margin-left:0;margin-right:auto}.plyr__controls .plyr__controls__item.plyr__progress__container{padding-left:2.5px}.plyr__controls .plyr__controls__item.plyr__time{padding:0 5px}.plyr__controls .plyr__controls__item.plyr__progress__container:first-child,.plyr__controls .plyr__controls__item.plyr__time+.plyr__time,.plyr__controls .plyr__controls__item.plyr__time:first-child{padding-left:0}.plyr__controls .plyr__controls__item.plyr__volume{padding-right:5px}.plyr__controls .plyr__controls__item.plyr__volume:first-child{padding-right:0}.plyr__controls:empty{display:none}.plyr--audio .plyr__controls{background:#fff;border-radius:inherit;color:#4a5764;padding:10px}.plyr--video .plyr__controls{background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.7));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;bottom:0;color:#fff;left:0;padding:20px 5px 5px;position:absolute;right:0;transition:opacity .4s ease-in-out,transform .4s ease-in-out;z-index:3}@media (min-width:480px){.plyr--video .plyr__controls{padding:35px 10px 10px}}.plyr--video.plyr--hide-controls .plyr__controls{opacity:0;pointer-events:none;transform:translateY(100%)}.plyr [data-plyr=airplay],.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr [data-plyr=pip]{display:none}.plyr--airplay-supported [data-plyr=airplay],.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen],.plyr--pip-supported [data-plyr=pip]{display:inline-block}.plyr__menu{display:flex;position:relative}.plyr__menu .plyr__control svg{transition:transform .3s ease}.plyr__menu .plyr__control[aria-expanded=true] svg{transform:rotate(90deg)}.plyr__menu .plyr__control[aria-expanded=true] .plyr__tooltip{display:none}.plyr__menu__container{animation:plyr-popup .2s ease;background:rgba(255,255,255,.9);border-radius:4px;bottom:100%;box-shadow:0 1px 2px rgba(0,0,0,.15);color:#4a5764;font-size:16px;margin-bottom:10px;position:absolute;right:-3px;text-align:left;white-space:nowrap;z-index:3}.plyr__menu__container>div{overflow:hidden;transition:height .35s cubic-bezier(.4,0,.2,1),width .35s cubic-bezier(.4,0,.2,1)}.plyr__menu__container::after{border:4px solid transparent;border-top-color:rgba(255,255,255,.9);content:'';height:0;position:absolute;right:15px;top:100%;width:0}.plyr__menu__container [role=menu]{padding:7px}.plyr__menu__container [role=menuitem],.plyr__menu__container [role=menuitemradio]{margin-top:2px}.plyr__menu__container [role=menuitem]:first-child,.plyr__menu__container [role=menuitemradio]:first-child{margin-top:0}.plyr__menu__container .plyr__control{align-items:center;color:#4a5764;display:flex;font-size:14px;padding:4px 11px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.plyr__menu__container .plyr__control>span{align-items:inherit;display:flex;width:100%}.plyr__menu__container .plyr__control::after{border:4px solid transparent;content:'';position:absolute;top:50%;transform:translateY(-50%)}.plyr__menu__container .plyr__control--forward{padding-right:28px}.plyr__menu__container .plyr__control--forward::after{border-left-color:rgba(74,87,100,.8);right:5px}.plyr__menu__container .plyr__control--forward.plyr__tab-focus::after,.plyr__menu__container .plyr__control--forward:hover::after{border-left-color:currentColor}.plyr__menu__container .plyr__control--back{font-weight:500;margin:7px;margin-bottom:3px;padding-left:28px;position:relative;width:calc(100% - 14px)}.plyr__menu__container .plyr__control--back::after{border-right-color:rgba(74,87,100,.8);left:7px}.plyr__menu__container .plyr__control--back::before{background:#c1c9d1;box-shadow:0 1px 0 #fff;content:'';height:1px;left:0;margin-top:4px;overflow:hidden;position:absolute;right:0;top:100%}.plyr__menu__container .plyr__control--back.plyr__tab-focus::after,.plyr__menu__container .plyr__control--back:hover::after{border-right-color:currentColor}.plyr__menu__container .plyr__control[role=menuitemradio]{padding-left:7px}.plyr__menu__container .plyr__control[role=menuitemradio]::after,.plyr__menu__container .plyr__control[role=menuitemradio]::before{border-radius:100%}.plyr__menu__container .plyr__control[role=menuitemradio]::before{background:rgba(0,0,0,.1);content:'';display:block;flex-shrink:0;height:16px;margin-right:10px;transition:all .3s ease;width:16px}.plyr__menu__container .plyr__control[role=menuitemradio]::after{background:#fff;border:0;height:6px;left:12px;opacity:0;top:50%;transform:translateY(-50%) scale(0);transition:transform .3s ease,opacity .3s ease;width:6px}.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::before{background:#00b3ff}.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::after{opacity:1;transform:translateY(-50%) scale(1)}.plyr__menu__container .plyr__control[role=menuitemradio].plyr__tab-focus::before,.plyr__menu__container .plyr__control[role=menuitemradio]:hover::before{background:rgba(0,0,0,.1)}.plyr__menu__container .plyr__menu__value{align-items:center;display:flex;margin-left:auto;margin-right:-5px;overflow:hidden;padding-left:25px;pointer-events:none}.plyr--full-ui input[type=range]{-webkit-appearance:none;background:0 0;border:0;border-radius:26px;color:#00b3ff;display:block;height:19px;margin:0;padding:0;transition:box-shadow .3s ease;width:100%}.plyr--full-ui input[type=range]::-webkit-slider-runnable-track{background:0 0;border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;-webkit-user-select:none;user-select:none;background-image:linear-gradient(to right,currentColor var(--value,0),transparent var(--value,0))}.plyr--full-ui input[type=range]::-webkit-slider-thumb{background:#fff;border:0;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2);height:13px;position:relative;transition:all .2s ease;width:13px;-webkit-appearance:none;margin-top:-4px}.plyr--full-ui input[type=range]::-moz-range-track{background:0 0;border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;-moz-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-moz-range-thumb{background:#fff;border:0;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2);height:13px;position:relative;transition:all .2s ease;width:13px}.plyr--full-ui input[type=range]::-moz-range-progress{background:currentColor;border-radius:2.5px;height:5px}.plyr--full-ui input[type=range]::-ms-track{background:0 0;border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;-ms-user-select:none;user-select:none;color:transparent}.plyr--full-ui input[type=range]::-ms-fill-upper{background:0 0;border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;-ms-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-ms-fill-lower{background:0 0;border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;-ms-user-select:none;user-select:none;background:currentColor}.plyr--full-ui input[type=range]::-ms-thumb{background:#fff;border:0;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2);height:13px;position:relative;transition:all .2s ease;width:13px;margin-top:0}.plyr--full-ui input[type=range]::-ms-tooltip{display:none}.plyr--full-ui input[type=range]:focus{outline:0}.plyr--full-ui input[type=range]::-moz-focus-outer{border:0}.plyr--full-ui input[type=range].plyr__tab-focus::-webkit-slider-runnable-track{box-shadow:0 0 0 5px rgba(0,179,255,.5);outline:0}.plyr--full-ui input[type=range].plyr__tab-focus::-moz-range-track{box-shadow:0 0 0 5px rgba(0,179,255,.5);outline:0}.plyr--full-ui input[type=range].plyr__tab-focus::-ms-track{box-shadow:0 0 0 5px rgba(0,179,255,.5);outline:0}.plyr--full-ui.plyr--video input[type=range]::-webkit-slider-runnable-track{background-color:rgba(255,255,255,.25)}.plyr--full-ui.plyr--video input[type=range]::-moz-range-track{background-color:rgba(255,255,255,.25)}.plyr--full-ui.plyr--video input[type=range]::-ms-track{background-color:rgba(255,255,255,.25)}.plyr--full-ui.plyr--video input[type=range]:active::-webkit-slider-thumb{box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2),0 0 0 3px rgba(255,255,255,.5)}.plyr--full-ui.plyr--video input[type=range]:active::-moz-range-thumb{box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2),0 0 0 3px rgba(255,255,255,.5)}.plyr--full-ui.plyr--video input[type=range]:active::-ms-thumb{box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2),0 0 0 3px rgba(255,255,255,.5)}.plyr--full-ui.plyr--audio input[type=range]::-webkit-slider-runnable-track{background-color:rgba(193,201,209,.66)}.plyr--full-ui.plyr--audio input[type=range]::-moz-range-track{background-color:rgba(193,201,209,.66)}.plyr--full-ui.plyr--audio input[type=range]::-ms-track{background-color:rgba(193,201,209,.66)}.plyr--full-ui.plyr--audio input[type=range]:active::-webkit-slider-thumb{box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2),0 0 0 3px rgba(0,0,0,.1)}.plyr--full-ui.plyr--audio input[type=range]:active::-moz-range-thumb{box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2),0 0 0 3px rgba(0,0,0,.1)}.plyr--full-ui.plyr--audio input[type=range]:active::-ms-thumb{box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2),0 0 0 3px rgba(0,0,0,.1)}.plyr__poster{background-color:#000;background-position:50% 50%;background-repeat:no-repeat;background-size:contain;height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .2s ease;width:100%;z-index:1}.plyr--stopped.plyr__poster-enabled .plyr__poster{opacity:1}.plyr__time{font-size:14px}.plyr__time+.plyr__time::before{content:'\2044';margin-right:10px}@media (max-width:767px){.plyr__time+.plyr__time{display:none}}.plyr--video .plyr__time{text-shadow:0 1px 1px rgba(0,0,0,.15)}.plyr__tooltip{background:rgba(255,255,255,.9);border-radius:3px;bottom:100%;box-shadow:0 1px 2px rgba(0,0,0,.15);color:#4a5764;font-size:14px;font-weight:500;left:50%;line-height:1.3;margin-bottom:10px;opacity:0;padding:5px 7.5px;pointer-events:none;position:absolute;transform:translate(-50%,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s .1s ease,opacity .2s .1s ease;white-space:nowrap;z-index:2}.plyr__tooltip::before{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(255,255,255,.9);bottom:-4px;content:'';height:0;left:50%;position:absolute;transform:translateX(-50%);width:0;z-index:2}.plyr .plyr__control.plyr__tab-focus .plyr__tooltip,.plyr .plyr__control:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;transform:translate(-50%,0) scale(1)}.plyr .plyr__control:hover .plyr__tooltip{z-index:3}.plyr__controls>.plyr__control:first-child .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip{left:0;transform:translate(0,10px) scale(.8);transform-origin:0 100%}.plyr__controls>.plyr__control:first-child .plyr__tooltip::before,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip::before{left:16px}.plyr__controls>.plyr__control:last-child .plyr__tooltip{left:auto;right:0;transform:translate(0,10px) scale(.8);transform-origin:100% 100%}.plyr__controls>.plyr__control:last-child .plyr__tooltip::before{left:auto;right:16px;transform:translateX(50%)}.plyr__controls>.plyr__control:first-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control.plyr__tab-focus .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control:hover .plyr__tooltip,.plyr__controls>.plyr__control:first-child.plyr__tab-focus .plyr__tooltip,.plyr__controls>.plyr__control:first-child:hover .plyr__tooltip,.plyr__controls>.plyr__control:last-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:last-child.plyr__tab-focus .plyr__tooltip,.plyr__controls>.plyr__control:last-child:hover .plyr__tooltip{transform:translate(0,0) scale(1)}.plyr--video{background:#000;overflow:hidden}.plyr--video.plyr--menu-open{overflow:visible}.plyr__video-wrapper{background:#000;border-radius:inherit;overflow:hidden;position:relative;z-index:0}.plyr__video-embed,.plyr__video-wrapper--fixed-ratio{height:0;padding-bottom:56.25%}.plyr__video-embed iframe,.plyr__video-wrapper--fixed-ratio video{border:0;height:100%;left:0;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.plyr--full-ui .plyr__video-embed>.plyr__video-embed__container{padding-bottom:240%;position:relative;transform:translateY(-38.28125%)}.plyr__progress{left:6.5px;margin-right:13px;position:relative}.plyr__progress input[type=range],.plyr__progress__buffer{margin-left:-6.5px;margin-right:-6.5px;width:calc(100% + 13px)}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress .plyr__tooltip{font-size:14px;left:0}.plyr__progress__buffer{-webkit-appearance:none;background:0 0;border:0;border-radius:100px;height:5px;left:0;margin-top:-2.5px;padding:0;position:absolute;top:50%}.plyr__progress__buffer::-webkit-progress-bar{background:0 0}.plyr__progress__buffer::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:5px;transition:width .2s ease}.plyr__progress__buffer::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:5px;transition:width .2s ease}.plyr__progress__buffer::-ms-fill{border-radius:100px;transition:width .2s ease}.plyr--video .plyr__progress__buffer{box-shadow:0 1px 1px rgba(0,0,0,.15);color:rgba(255,255,255,.25)}.plyr--audio .plyr__progress__buffer{color:rgba(193,201,209,.66)}.plyr--loading .plyr__progress__buffer{animation:plyr-progress 1s linear infinite;background-image:linear-gradient(-45deg,rgba(35,41,47,.6) 25%,transparent 25%,transparent 50%,rgba(35,41,47,.6) 50%,rgba(35,41,47,.6) 75%,transparent 75%,transparent);background-repeat:repeat-x;background-size:25px 25px;color:transparent}.plyr--video.plyr--loading .plyr__progress__buffer{background-color:rgba(255,255,255,.25)}.plyr--audio.plyr--loading .plyr__progress__buffer{background-color:rgba(193,201,209,.66)}.plyr__volume{align-items:center;display:flex;flex:1;position:relative}.plyr__volume input[type=range]{margin-left:5px;position:relative;z-index:2}@media (min-width:480px){.plyr__volume{max-width:90px}}@media (min-width:768px){.plyr__volume{max-width:110px}}.plyr--is-ios .plyr__volume{display:none!important}.plyr--is-ios.plyr--vimeo [data-plyr=mute]{display:none!important}.plyr:-webkit-full-screen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-ms-fullscreen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:fullscreen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-webkit-full-screen video{height:100%}.plyr:-ms-fullscreen video{height:100%}.plyr:fullscreen video{height:100%}.plyr:-webkit-full-screen .plyr__video-wrapper{height:100%;position:static}.plyr:-ms-fullscreen .plyr__video-wrapper{height:100%;position:static}.plyr:fullscreen .plyr__video-wrapper{height:100%;position:static}.plyr:-webkit-full-screen.plyr--vimeo .plyr__video-wrapper{height:0;position:relative;top:50%;transform:translateY(-50%)}.plyr:-ms-fullscreen.plyr--vimeo .plyr__video-wrapper{height:0;position:relative;top:50%;transform:translateY(-50%)}.plyr:fullscreen.plyr--vimeo .plyr__video-wrapper{height:0;position:relative;top:50%;transform:translateY(-50%)}.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen{display:block}.plyr:fullscreen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:fullscreen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-webkit-full-screen.plyr--hide-controls{cursor:none}.plyr:-ms-fullscreen.plyr--hide-controls{cursor:none}.plyr:fullscreen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:-webkit-full-screen .plyr__captions{font-size:21px}.plyr:-ms-fullscreen .plyr__captions{font-size:21px}.plyr:fullscreen .plyr__captions{font-size:21px}}.plyr:-webkit-full-screen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-webkit-full-screen video{height:100%}.plyr:-webkit-full-screen .plyr__video-wrapper{height:100%;position:static}.plyr:-webkit-full-screen.plyr--vimeo .plyr__video-wrapper{height:0;position:relative;top:50%;transform:translateY(-50%)}.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-webkit-full-screen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:-webkit-full-screen .plyr__captions{font-size:21px}}.plyr:-moz-full-screen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-moz-full-screen video{height:100%}.plyr:-moz-full-screen .plyr__video-wrapper{height:100%;position:static}.plyr:-moz-full-screen.plyr--vimeo .plyr__video-wrapper{height:0;position:relative;top:50%;transform:translateY(-50%)}.plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-moz-full-screen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:-moz-full-screen .plyr__captions{font-size:21px}}.plyr:-ms-fullscreen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-ms-fullscreen video{height:100%}.plyr:-ms-fullscreen .plyr__video-wrapper{height:100%;position:static}.plyr:-ms-fullscreen.plyr--vimeo .plyr__video-wrapper{height:0;position:relative;top:50%;transform:translateY(-50%)}.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-ms-fullscreen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:-ms-fullscreen .plyr__captions{font-size:21px}}.plyr--fullscreen-fallback{background:#000;border-radius:0!important;height:100%;margin:0;width:100%;bottom:0;left:0;position:fixed;right:0;top:0;z-index:10000000}.plyr--fullscreen-fallback video{height:100%}.plyr--fullscreen-fallback .plyr__video-wrapper{height:100%;position:static}.plyr--fullscreen-fallback.plyr--vimeo .plyr__video-wrapper{height:0;position:relative;top:50%;transform:translateY(-50%)}.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen{display:block}.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr--fullscreen-fallback.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr--fullscreen-fallback .plyr__captions{font-size:21px}}.plyr__ads{border-radius:inherit;bottom:0;cursor:pointer;left:0;overflow:hidden;position:absolute;right:0;top:0;z-index:-1}.plyr__ads>div,.plyr__ads>div iframe{height:100%;position:absolute;width:100%}.plyr__ads::after{background:rgba(35,41,47,.8);border-radius:2px;bottom:10px;color:#fff;content:attr(data-badge-text);font-size:11px;padding:2px 6px;pointer-events:none;position:absolute;right:10px;z-index:3}.plyr__ads::after:empty{display:none}.plyr__cues{background:currentColor;display:block;height:5px;left:0;margin:-2.5px 0 0;opacity:.8;position:absolute;top:50%;width:3px;z-index:3}.plyr__preview-thumb{background-color:rgba(255,255,255,.9);border-radius:3px;bottom:100%;box-shadow:0 1px 2px rgba(0,0,0,.15);margin-bottom:10px;opacity:0;padding:3px;pointer-events:none;position:absolute;transform:translate(0,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s .1s ease,opacity .2s .1s ease;z-index:2}.plyr__preview-thumb--is-shown{opacity:1;transform:translate(0,0) scale(1)}.plyr__preview-thumb::before{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(255,255,255,.9);bottom:-4px;content:'';height:0;left:50%;position:absolute;transform:translateX(-50%);width:0;z-index:2}.plyr__preview-thumb__image-container{background:#c1c9d1;border-radius:2px;overflow:hidden;position:relative;z-index:0}.plyr__preview-thumb__image-container img{height:100%;left:0;max-height:none;max-width:none;position:absolute;top:0;width:100%}.plyr__preview-thumb__time-container{bottom:6px;left:0;position:absolute;right:0;white-space:nowrap;z-index:3}.plyr__preview-thumb__time-container span{background-color:rgba(0,0,0,.55);border-radius:2px;color:#fff;font-size:14px;padding:3px 6px}.plyr__preview-scrubbing{bottom:0;filter:blur(1px);height:100%;left:0;margin:auto;opacity:0;overflow:hidden;position:absolute;right:0;top:0;transition:opacity .3s ease;width:100%;z-index:1}.plyr__preview-scrubbing--is-shown{opacity:1}.plyr__preview-scrubbing img{height:100%;left:0;max-height:none;max-width:none;object-fit:contain;position:absolute;top:0;width:100%}.plyr--no-transition{transition:none!important}.plyr__sr-only{clip:rect(1px,1px,1px,1px);overflow:hidden;border:0!important;height:1px!important;padding:0!important;position:absolute!important;width:1px!important}.plyr [hidden]{display:none!important}
9175
+ @charset "UTF-8";
9176
+ .fc {
9177
+ direction: ltr;
9178
+ text-align: left;
 
 
9179
  }
9180
 
9181
+ .fc-rtl {
9182
+ text-align: right;
 
 
 
9183
  }
9184
 
9185
+ body .fc {
9186
+ /* extra precedence to overcome jqui */
9187
+ font-size: 1em;
9188
  }
9189
 
9190
+ /* Colors
9191
+ --------------------------------------------------------------------------------------------------*/
9192
+ .fc-highlight {
9193
+ /* when user is selecting cells */
9194
+ background: #bce8f1;
9195
+ opacity: 0.3;
9196
  }
9197
 
9198
+ .fc-bgevent {
9199
+ /* default look for background events */
9200
+ background: #8fdf82;
9201
+ opacity: 0.3;
 
 
 
9202
  }
9203
 
9204
+ .fc-nonbusiness {
9205
+ /* default look for non-business-hours areas */
9206
+ /* will inherit .fc-bgevent's styles */
9207
+ background: #d7d7d7;
 
 
9208
  }
9209
 
9210
+ /* Popover
9211
+ --------------------------------------------------------------------------------------------------*/
9212
+ .fc-popover {
9213
+ position: absolute;
9214
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
9215
+ }
9216
+
9217
+ .fc-popover .fc-header {
9218
+ /* TODO: be more consistent with fc-head/fc-body */
9219
+ display: flex;
9220
+ flex-direction: row;
9221
+ justify-content: space-between;
9222
+ align-items: center;
9223
+ padding: 2px 4px;
9224
+ }
9225
+
9226
+ .fc-rtl .fc-popover .fc-header {
9227
+ flex-direction: row-reverse;
9228
+ }
9229
+
9230
+ .fc-popover .fc-header .fc-title {
9231
+ margin: 0 2px;
9232
+ }
9233
+
9234
+ .fc-popover .fc-header .fc-close {
9235
+ cursor: pointer;
9236
+ opacity: 0.65;
9237
+ font-size: 1.1em;
9238
+ }
9239
+
9240
+ /* Misc Reusable Components
9241
+ --------------------------------------------------------------------------------------------------*/
9242
+ .fc-divider {
9243
+ border-style: solid;
9244
+ border-width: 1px;
9245
+ }
9246
+
9247
+ hr.fc-divider {
9248
+ height: 0;
9249
+ margin: 0;
9250
+ padding: 0 0 2px;
9251
+ /* height is unreliable across browsers, so use padding */
9252
+ border-width: 1px 0;
9253
+ }
9254
+
9255
+ .fc-bg,
9256
+ .fc-bgevent-skeleton,
9257
+ .fc-highlight-skeleton,
9258
+ .fc-mirror-skeleton {
9259
+ /* these element should always cling to top-left/right corners */
9260
+ position: absolute;
9261
+ top: 0;
9262
+ left: 0;
9263
+ right: 0;
9264
+ }
9265
+
9266
+ .fc-bg {
9267
+ bottom: 0;
9268
+ /* strech bg to bottom edge */
9269
+ }
9270
+
9271
+ .fc-bg table {
9272
+ height: 100%;
9273
+ /* strech bg to bottom edge */
9274
+ }
9275
+
9276
+ /* Tables
9277
+ --------------------------------------------------------------------------------------------------*/
9278
+ .fc table {
9279
+ width: 100%;
9280
+ box-sizing: border-box;
9281
+ /* fix scrollbar issue in firefox */
9282
+ table-layout: fixed;
9283
+ border-collapse: collapse;
9284
+ border-spacing: 0;
9285
+ font-size: 1em;
9286
+ /* normalize cross-browser */
9287
+ }
9288
+
9289
+ .fc th {
9290
+ text-align: center;
9291
+ }
9292
+
9293
+ .fc th,
9294
+ .fc td {
9295
+ border-style: solid;
9296
+ border-width: 1px;
9297
+ padding: 0;
9298
+ vertical-align: top;
9299
+ }
9300
+
9301
+ .fc td.fc-today {
9302
+ border-style: double;
9303
+ /* overcome neighboring borders */
9304
+ }
9305
+
9306
+ /* Internal Nav Links
9307
+ --------------------------------------------------------------------------------------------------*/
9308
+ a[data-goto] {
9309
+ cursor: pointer;
9310
+ }
9311
+
9312
+ a[data-goto]:hover {
9313
  text-decoration: underline;
 
9314
  }
9315
 
9316
+ /* Fake Table Rows
9317
+ --------------------------------------------------------------------------------------------------*/
9318
+ .fc .fc-row {
9319
+ /* extra precedence to overcome themes forcing a 1px border */
9320
+ /* no visible border by default. but make available if need be (scrollbar width compensation) */
9321
+ border-style: solid;
9322
+ border-width: 0;
 
9323
  }
9324
 
9325
+ .fc-row table {
9326
+ /* don't put left/right border on anything within a fake row.
9327
+ the outer tbody will worry about this */
9328
+ border-left: 0 hidden transparent;
9329
+ border-right: 0 hidden transparent;
9330
+ /* no bottom borders on rows */
9331
+ border-bottom: 0 hidden transparent;
9332
  }
9333
 
9334
+ .fc-row:first-child table {
9335
+ border-top: 0 hidden transparent;
9336
+ /* no top border on first row */
9337
+ }
9338
+
9339
+ /* Day Row (used within the header and the DayGrid)
9340
+ --------------------------------------------------------------------------------------------------*/
9341
+ .fc-row {
9342
+ position: relative;
9343
+ }
9344
+
9345
+ .fc-row .fc-bg {
9346
+ z-index: 1;
9347
+ }
9348
+
9349
+ /* highlighting cells & background event skeleton */
9350
+ .fc-row .fc-bgevent-skeleton,
9351
+ .fc-row .fc-highlight-skeleton {
9352
+ bottom: 0;
9353
+ /* stretch skeleton to bottom of row */
9354
+ }
9355
+
9356
+ .fc-row .fc-bgevent-skeleton table,
9357
+ .fc-row .fc-highlight-skeleton table {
9358
+ height: 100%;
9359
+ /* stretch skeleton to bottom of row */
9360
+ }
9361
+
9362
+ .fc-row .fc-highlight-skeleton td,
9363
+ .fc-row .fc-bgevent-skeleton td {
9364
+ border-color: transparent;
9365
+ }
9366
+
9367
+ .fc-row .fc-bgevent-skeleton {
9368
+ z-index: 2;
9369
+ }
9370
+
9371
+ .fc-row .fc-highlight-skeleton {
9372
+ z-index: 3;
9373
+ }
9374
+
9375
+ /*
9376
+ row content (which contains day/week numbers and events) as well as "mirror" (which contains
9377
+ temporary rendered events).
9378
+ */
9379
+ .fc-row .fc-content-skeleton {
9380
+ position: relative;
9381
+ z-index: 4;
9382
+ padding-bottom: 2px;
9383
+ /* matches the space above the events */
9384
+ }
9385
+
9386
+ .fc-row .fc-mirror-skeleton {
9387
+ z-index: 5;
9388
+ }
9389
+
9390
+ .fc .fc-row .fc-content-skeleton table,
9391
+ .fc .fc-row .fc-content-skeleton td,
9392
+ .fc .fc-row .fc-mirror-skeleton td {
9393
+ /* see-through to the background below */
9394
+ /* extra precedence to prevent theme-provided backgrounds */
9395
+ background: none;
9396
+ /* in case <td>s are globally styled */
9397
+ border-color: transparent;
9398
+ }
9399
+
9400
+ .fc-row .fc-content-skeleton td,
9401
+ .fc-row .fc-mirror-skeleton td {
9402
+ /* don't put a border between events and/or the day number */
9403
+ border-bottom: 0;
9404
+ }
9405
+
9406
+ .fc-row .fc-content-skeleton tbody td,
9407
+ .fc-row .fc-mirror-skeleton tbody td {
9408
+ /* don't put a border between event cells */
9409
+ border-top: 0;
9410
+ }
9411
+
9412
+ /* Scrolling Container
9413
+ --------------------------------------------------------------------------------------------------*/
9414
+ .fc-scroller {
9415
+ -webkit-overflow-scrolling: touch;
9416
+ }
9417
+
9418
+ /* TODO: move to timegrid/daygrid */
9419
+ .fc-scroller > .fc-day-grid,
9420
+ .fc-scroller > .fc-time-grid {
9421
+ position: relative;
9422
+ /* re-scope all positions */
9423
+ width: 100%;
9424
+ /* hack to force re-sizing this inner element when scrollbars appear/disappear */
9425
+ }
9426
+
9427
+ /* Global Event Styles
9428
+ --------------------------------------------------------------------------------------------------*/
9429
+ .fc-event {
9430
+ position: relative;
9431
+ /* for resize handle and other inner positioning */
9432
+ display: block;
9433
+ /* make the <a> tag block */
9434
+ font-size: 0.85em;
9435
+ line-height: 1.4;
9436
+ border-radius: 3px;
9437
+ border: 1px solid #3788d8;
9438
+ }
9439
+
9440
+ .fc-event,
9441
+ .fc-event-dot {
9442
+ background-color: #3788d8;
9443
+ /* default BACKGROUND color */
9444
+ }
9445
+
9446
+ .fc-event,
9447
+ .fc-event:hover {
9448
+ color: #fff;
9449
+ /* default TEXT color */
9450
+ text-decoration: none;
9451
+ /* if <a> has an href */
9452
+ }
9453
+
9454
+ .fc-event[href],
9455
+ .fc-event.fc-draggable {
9456
+ cursor: pointer;
9457
+ /* give events with links and draggable events a hand mouse pointer */
9458
+ }
9459
+
9460
+ .fc-not-allowed,
9461
+ .fc-not-allowed .fc-event {
9462
+ /* to override an event's custom cursor */
9463
+ cursor: not-allowed;
9464
+ }
9465
+
9466
+ .fc-event .fc-content {
9467
+ position: relative;
9468
+ z-index: 2;
9469
+ }
9470
+
9471
+ /* resizer (cursor AND touch devices) */
9472
+ .fc-event .fc-resizer {
9473
+ position: absolute;
9474
+ z-index: 4;
9475
+ }
9476
+
9477
+ /* resizer (touch devices) */
9478
+ .fc-event .fc-resizer {
9479
+ display: none;
9480
+ }
9481
+
9482
+ .fc-event.fc-allow-mouse-resize .fc-resizer,
9483
+ .fc-event.fc-selected .fc-resizer {
9484
+ /* only show when hovering or selected (with touch) */
9485
+ display: block;
9486
  }
9487
 
9488
+ /* hit area */
9489
+ .fc-event.fc-selected .fc-resizer:before {
9490
+ /* 40x40 touch area */
9491
+ content: "";
9492
+ position: absolute;
9493
+ z-index: 9999;
9494
+ /* user of this util can scope within a lower z-index */
9495
+ top: 50%;
9496
+ left: 50%;
9497
+ width: 40px;
9498
+ height: 40px;
9499
+ margin-left: -20px;
9500
+ margin-top: -20px;
9501
+ }
9502
+
9503
+ /* Event Selection (only for touch devices)
9504
+ --------------------------------------------------------------------------------------------------*/
9505
+ .fc-event.fc-selected {
9506
+ z-index: 9999 !important;
9507
+ /* overcomes inline z-index */
9508
+ box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
9509
+ }
9510
+
9511
+ .fc-event.fc-selected:after {
9512
+ content: "";
9513
+ position: absolute;
9514
+ z-index: 1;
9515
+ /* same z-index as fc-bg, behind text */
9516
+ /* overcome the borders */
9517
+ top: -1px;
9518
+ right: -1px;
9519
+ bottom: -1px;
9520
+ left: -1px;
9521
+ /* darkening effect */
9522
+ background: #000;
9523
+ opacity: 0.25;
9524
+ }
9525
+
9526
+ /* Event Dragging
9527
+ --------------------------------------------------------------------------------------------------*/
9528
+ .fc-event.fc-dragging.fc-selected {
9529
+ box-shadow: 0 2px 7px rgba(0, 0, 0, 0.3);
9530
+ }
9531
+
9532
+ .fc-event.fc-dragging:not(.fc-selected) {
9533
+ opacity: 0.75;
9534
+ }
9535
+
9536
+ /* Horizontal Events
9537
+ --------------------------------------------------------------------------------------------------*/
9538
+ /* bigger touch area when selected */
9539
+ .fc-h-event.fc-selected:before {
9540
+ content: "";
9541
+ position: absolute;
9542
+ z-index: 3;
9543
+ /* below resizers */
9544
+ top: -10px;
9545
+ bottom: -10px;
9546
+ left: 0;
9547
+ right: 0;
9548
+ }
9549
+
9550
+ /* events that are continuing to/from another week. kill rounded corners and butt up against edge */
9551
+ .fc-ltr .fc-h-event.fc-not-start,
9552
+ .fc-rtl .fc-h-event.fc-not-end {
9553
+ margin-left: 0;
9554
+ border-left-width: 0;
9555
+ padding-left: 1px;
9556
+ /* replace the border with padding */
9557
+ border-top-left-radius: 0;
9558
+ border-bottom-left-radius: 0;
9559
+ }
9560
+
9561
+ .fc-ltr .fc-h-event.fc-not-end,
9562
+ .fc-rtl .fc-h-event.fc-not-start {
9563
+ margin-right: 0;
9564
+ border-right-width: 0;
9565
+ padding-right: 1px;
9566
+ /* replace the border with padding */
9567
+ border-top-right-radius: 0;
9568
+ border-bottom-right-radius: 0;
9569
+ }
9570
+
9571
+ /* resizer (cursor AND touch devices) */
9572
+ /* left resizer */
9573
+ .fc-ltr .fc-h-event .fc-start-resizer,
9574
+ .fc-rtl .fc-h-event .fc-end-resizer {
9575
+ cursor: w-resize;
9576
+ left: -1px;
9577
+ /* overcome border */
9578
+ }
9579
+
9580
+ /* right resizer */
9581
+ .fc-ltr .fc-h-event .fc-end-resizer,
9582
+ .fc-rtl .fc-h-event .fc-start-resizer {
9583
+ cursor: e-resize;
9584
+ right: -1px;
9585
+ /* overcome border */
9586
+ }
9587
+
9588
+ /* resizer (mouse devices) */
9589
+ .fc-h-event.fc-allow-mouse-resize .fc-resizer {
9590
+ width: 7px;
9591
+ top: -1px;
9592
+ /* overcome top border */
9593
+ bottom: -1px;
9594
+ /* overcome bottom border */
9595
+ }
9596
+
9597
+ /* resizer (touch devices) */
9598
+ .fc-h-event.fc-selected .fc-resizer {
9599
+ /* 8x8 little dot */
9600
+ border-radius: 4px;
9601
+ border-width: 1px;
9602
+ width: 6px;
9603
+ height: 6px;
9604
+ border-style: solid;
9605
+ border-color: inherit;
9606
+ background: #fff;
9607
+ /* vertically center */
9608
+ top: 50%;
9609
+ margin-top: -4px;
9610
+ }
9611
+
9612
+ /* left resizer */
9613
+ .fc-ltr .fc-h-event.fc-selected .fc-start-resizer,
9614
+ .fc-rtl .fc-h-event.fc-selected .fc-end-resizer {
9615
+ margin-left: -4px;
9616
+ /* centers the 8x8 dot on the left edge */
9617
+ }
9618
+
9619
+ /* right resizer */
9620
+ .fc-ltr .fc-h-event.fc-selected .fc-end-resizer,
9621
+ .fc-rtl .fc-h-event.fc-selected .fc-start-resizer {
9622
+ margin-right: -4px;
9623
+ /* centers the 8x8 dot on the right edge */
9624
+ }
9625
+
9626
+ /* DayGrid events
9627
+ ----------------------------------------------------------------------------------------------------
9628
+ We use the full "fc-day-grid-event" class instead of using descendants because the event won't
9629
+ be a descendant of the grid when it is being dragged.
9630
+ */
9631
+ .fc-day-grid-event {
9632
+ margin: 1px 2px 0;
9633
+ /* spacing between events and edges */
9634
+ padding: 0 1px;
9635
+ }
9636
+
9637
+ tr:first-child > td > .fc-day-grid-event {
9638
+ margin-top: 2px;
9639
+ /* a little bit more space before the first event */
9640
+ }
9641
+
9642
+ .fc-mirror-skeleton tr:first-child > td > .fc-day-grid-event {
9643
+ margin-top: 0;
9644
+ /* except for mirror skeleton */
9645
+ }
9646
+
9647
+ .fc-day-grid-event .fc-content {
9648
+ /* force events to be one-line tall */
9649
+ white-space: nowrap;
9650
+ overflow: hidden;
9651
+ }
9652
+
9653
+ .fc-day-grid-event .fc-time {
9654
+ font-weight: bold;
9655
+ }
9656
+
9657
+ /* resizer (cursor devices) */
9658
+ /* left resizer */
9659
+ .fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer,
9660
+ .fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer {
9661
+ margin-left: -2px;
9662
+ /* to the day cell's edge */
9663
+ }
9664
+
9665
+ /* right resizer */
9666
+ .fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer,
9667
+ .fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer {
9668
+ margin-right: -2px;
9669
+ /* to the day cell's edge */
9670
+ }
9671
+
9672
+ /* Event Limiting
9673
+ --------------------------------------------------------------------------------------------------*/
9674
+ /* "more" link that represents hidden events */
9675
+ a.fc-more {
9676
+ margin: 1px 3px;
9677
+ font-size: 0.85em;
9678
+ cursor: pointer;
9679
+ text-decoration: none;
9680
+ }
9681
+
9682
+ a.fc-more:hover {
9683
+ text-decoration: underline;
9684
+ }
9685
+
9686
+ .fc-limited {
9687
+ /* rows and cells that are hidden because of a "more" link */
9688
+ display: none;
9689
+ }
9690
+
9691
+ /* popover that appears when "more" link is clicked */
9692
+ .fc-day-grid .fc-row {
9693
+ z-index: 1;
9694
+ /* make the "more" popover one higher than this */
9695
+ }
9696
+
9697
+ .fc-more-popover {
9698
+ z-index: 2;
9699
+ width: 220px;
9700
+ }
9701
+
9702
+ .fc-more-popover .fc-event-container {
9703
+ padding: 10px;
9704
+ }
9705
+
9706
+ /* Now Indicator
9707
+ --------------------------------------------------------------------------------------------------*/
9708
+ .fc-now-indicator {
9709
+ position: absolute;
9710
+ border: 0 solid red;
9711
+ }
9712
+
9713
+ /* Utilities
9714
+ --------------------------------------------------------------------------------------------------*/
9715
+ .fc-unselectable {
9716
+ -webkit-user-select: none;
9717
+ -khtml-user-select: none;
9718
+ -moz-user-select: none;
9719
+ -ms-user-select: none;
9720
+ user-select: none;
9721
+ -webkit-touch-callout: none;
9722
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
9723
+ }
9724
+
9725
+ /*
9726
+ TODO: more distinction between this file and common.css
9727
+ */
9728
+ /* Colors
9729
+ --------------------------------------------------------------------------------------------------*/
9730
+ .fc-unthemed th,
9731
+ .fc-unthemed td,
9732
+ .fc-unthemed thead,
9733
+ .fc-unthemed tbody,
9734
+ .fc-unthemed .fc-divider,
9735
+ .fc-unthemed .fc-row,
9736
+ .fc-unthemed .fc-content,
9737
+ .fc-unthemed .fc-popover,
9738
+ .fc-unthemed .fc-list-view,
9739
+ .fc-unthemed .fc-list-heading td {
9740
+ border-color: #ddd;
9741
+ }
9742
+
9743
+ .fc-unthemed .fc-popover {
9744
+ background-color: #fff;
9745
+ }
9746
+
9747
+ .fc-unthemed .fc-divider,
9748
+ .fc-unthemed .fc-popover .fc-header,
9749
+ .fc-unthemed .fc-list-heading td {
9750
+ background: #eee;
9751
+ }
9752
+
9753
+ .fc-unthemed td.fc-today {
9754
+ background: #fcf8e3;
9755
+ }
9756
+
9757
+ .fc-unthemed .fc-disabled-day {
9758
+ background: #d7d7d7;
9759
+ opacity: 0.3;
9760
+ }
9761
+
9762
+ /* Icons
9763
+ --------------------------------------------------------------------------------------------------
9764
+ from https://feathericons.com/ and built with IcoMoon
9765
+ */
9766
+ @font-face {
9767
+ font-family: "fcicons";
9768
+ src: url("data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBfAAAAC8AAAAYGNtYXAXVtKNAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5ZgYydxIAAAF4AAAFNGhlYWQUJ7cIAAAGrAAAADZoaGVhB20DzAAABuQAAAAkaG10eCIABhQAAAcIAAAALGxvY2ED4AU6AAAHNAAAABhtYXhwAA8AjAAAB0wAAAAgbmFtZXsr690AAAdsAAABhnBvc3QAAwAAAAAI9AAAACAAAwPAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpBgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6Qb//f//AAAAAAAg6QD//f//AAH/4xcEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAWIAjQKeAskAEwAAJSc3NjQnJiIHAQYUFwEWMjc2NCcCnuLiDQ0MJAz/AA0NAQAMJAwNDcni4gwjDQwM/wANIwz/AA0NDCMNAAAAAQFiAI0CngLJABMAACUBNjQnASYiBwYUHwEHBhQXFjI3AZ4BAA0N/wAMJAwNDeLiDQ0MJAyNAQAMIw0BAAwMDSMM4uINIwwNDQAAAAIA4gC3Ax4CngATACcAACUnNzY0JyYiDwEGFB8BFjI3NjQnISc3NjQnJiIPAQYUHwEWMjc2NCcB87e3DQ0MIw3VDQ3VDSMMDQ0BK7e3DQ0MJAzVDQ3VDCQMDQ3zuLcMJAwNDdUNIwzWDAwNIwy4twwkDA0N1Q0jDNYMDA0jDAAAAgDiALcDHgKeABMAJwAAJTc2NC8BJiIHBhQfAQcGFBcWMjchNzY0LwEmIgcGFB8BBwYUFxYyNwJJ1Q0N1Q0jDA0Nt7cNDQwjDf7V1Q0N1QwkDA0Nt7cNDQwkDLfWDCMN1Q0NDCQMt7gMIw0MDNYMIw3VDQ0MJAy3uAwjDQwMAAADAFUAAAOrA1UAMwBoAHcAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMhMjY1NCYjISIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAAVYRGRkR/qoRGRkRA1UFBAUOCQkVDAsZDf2rDRkLDBUJCA4FBQUFBQUOCQgVDAsZDQJVDRkLDBUJCQ4FBAVVAgECBQMCBwQECAX9qwQJAwQHAwMFAQICAgIBBQMDBwQDCQQCVQUIBAQHAgMFAgEC/oAZEhEZGRESGQAAAAADAFUAAAOrA1UAMwBoAIkAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMzFRQWMzI2PQEzMjY1NCYrATU0JiMiBh0BIyIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAgBkSEhmAERkZEYAZEhIZgBEZGREDVQUEBQ4JCRUMCxkN/asNGQsMFQkIDgUFBQUFBQ4JCBUMCxkNAlUNGQsMFQkJDgUEBVUCAQIFAwIHBAQIBf2rBAkDBAcDAwUBAgICAgEFAwMHBAMJBAJVBQgEBAcCAwUCAQL+gIASGRkSgBkSERmAEhkZEoAZERIZAAABAOIAjQMeAskAIAAAExcHBhQXFjI/ARcWMjc2NC8BNzY0JyYiDwEnJiIHBhQX4uLiDQ0MJAzi4gwkDA0N4uINDQwkDOLiDCQMDQ0CjeLiDSMMDQ3h4Q0NDCMN4uIMIw0MDOLiDAwNIwwAAAABAAAAAQAAa5n0y18PPPUACwQAAAAAANivOVsAAAAA2K85WwAAAAADqwNVAAAACAACAAAAAAAAAAEAAAPA/8AAAAQAAAAAAAOrAAEAAAAAAAAAAAAAAAAAAAALBAAAAAAAAAAAAAAAAgAAAAQAAWIEAAFiBAAA4gQAAOIEAABVBAAAVQQAAOIAAAAAAAoAFAAeAEQAagCqAOoBngJkApoAAQAAAAsAigADAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAcAAAABAAAAAAACAAcAYAABAAAAAAADAAcANgABAAAAAAAEAAcAdQABAAAAAAAFAAsAFQABAAAAAAAGAAcASwABAAAAAAAKABoAigADAAEECQABAA4ABwADAAEECQACAA4AZwADAAEECQADAA4APQADAAEECQAEAA4AfAADAAEECQAFABYAIAADAAEECQAGAA4AUgADAAEECQAKADQApGZjaWNvbnMAZgBjAGkAYwBvAG4Ac1ZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMGZjaWNvbnMAZgBjAGkAYwBvAG4Ac2ZjaWNvbnMAZgBjAGkAYwBvAG4Ac1JlZ3VsYXIAUgBlAGcAdQBsAGEAcmZjaWNvbnMAZgBjAGkAYwBvAG4Ac0ZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=") format("truetype");
9769
+ font-weight: normal;
9770
+ font-style: normal;
9771
+ }
9772
+ .fc-icon {
9773
+ /* use !important to prevent issues with browser extensions that change fonts */
9774
+ font-family: "fcicons" !important;
9775
+ speak: none;
9776
+ font-style: normal;
9777
+ font-weight: normal;
9778
+ font-variant: normal;
9779
+ text-transform: none;
9780
+ line-height: 1;
9781
+ /* Better Font Rendering =========== */
9782
+ -webkit-font-smoothing: antialiased;
9783
+ -moz-osx-font-smoothing: grayscale;
9784
+ }
9785
+
9786
+ .fc-icon-chevron-left:before {
9787
+ content: "";
9788
+ }
9789
+
9790
+ .fc-icon-chevron-right:before {
9791
+ content: "";
9792
+ }
9793
+
9794
+ .fc-icon-chevrons-left:before {
9795
+ content: "";
9796
+ }
9797
+
9798
+ .fc-icon-chevrons-right:before {
9799
+ content: "";
9800
+ }
9801
+
9802
+ .fc-icon-minus-square:before {
9803
+ content: "";
9804
+ }
9805
+
9806
+ .fc-icon-plus-square:before {
9807
+ content: "";
9808
+ }
9809
+
9810
+ .fc-icon-x:before {
9811
+ content: "";
9812
+ }
9813
+
9814
+ .fc-icon {
9815
+ display: inline-block;
9816
+ width: 1em;
9817
+ height: 1em;
9818
+ text-align: center;
9819
+ }
9820
+
9821
+ /* Buttons
9822
+ --------------------------------------------------------------------------------------------------
9823
+ Lots taken from Flatly (MIT): https://bootswatch.com/4/flatly/bootstrap.css
9824
+ */
9825
+ /* reset */
9826
+ .fc-button {
9827
+ border-radius: 0;
9828
+ overflow: visible;
9829
+ text-transform: none;
9830
+ margin: 0;
9831
+ font-family: inherit;
9832
+ font-size: inherit;
9833
+ line-height: inherit;
9834
+ }
9835
+
9836
+ .fc-button:focus {
9837
+ outline: 1px dotted;
9838
+ outline: 5px auto -webkit-focus-ring-color;
9839
+ }
9840
+
9841
+ .fc-button {
9842
+ -webkit-appearance: button;
9843
+ }
9844
+
9845
+ .fc-button:not(:disabled) {
9846
+ cursor: pointer;
9847
+ }
9848
+
9849
+ .fc-button::-moz-focus-inner {
9850
+ padding: 0;
9851
+ border-style: none;
9852
+ }
9853
+
9854
+ /* theme */
9855
+ .fc-button {
9856
+ display: inline-block;
9857
+ font-weight: 400;
9858
+ color: #212529;
9859
+ text-align: center;
9860
+ vertical-align: middle;
9861
+ -webkit-user-select: none;
9862
+ -moz-user-select: none;
9863
+ -ms-user-select: none;
9864
+ user-select: none;
9865
+ background-color: transparent;
9866
+ border: 1px solid transparent;
9867
+ padding: 0.4em 0.65em;
9868
+ font-size: 1em;
9869
+ line-height: 1.5;
9870
+ border-radius: 0.25em;
9871
+ }
9872
+
9873
+ .fc-button:hover {
9874
+ color: #212529;
9875
+ text-decoration: none;
9876
+ }
9877
+
9878
+ .fc-button:focus {
9879
+ outline: 0;
9880
+ -webkit-box-shadow: 0 0 0 0.2rem rgba(44, 62, 80, 0.25);
9881
+ box-shadow: 0 0 0 0.2rem rgba(44, 62, 80, 0.25);
9882
+ }
9883
+
9884
+ .fc-button:disabled {
9885
+ opacity: 0.65;
9886
+ }
9887
+
9888
+ /* "primary" coloring */
9889
+ .fc-button-primary {
9890
+ color: #fff;
9891
+ background-color: #2C3E50;
9892
+ border-color: #2C3E50;
9893
+ }
9894
+
9895
+ .fc-button-primary:hover {
9896
+ color: #fff;
9897
+ background-color: #1e2b37;
9898
+ border-color: #1a252f;
9899
+ }
9900
+
9901
+ .fc-button-primary:focus {
9902
+ -webkit-box-shadow: 0 0 0 0.2rem rgba(76, 91, 106, 0.5);
9903
+ box-shadow: 0 0 0 0.2rem rgba(76, 91, 106, 0.5);
9904
+ }
9905
+
9906
+ .fc-button-primary:disabled {
9907
+ color: #fff;
9908
+ background-color: #2C3E50;
9909
+ border-color: #2C3E50;
9910
+ }
9911
+
9912
+ .fc-button-primary:not(:disabled):active,
9913
+ .fc-button-primary:not(:disabled).fc-button-active {
9914
+ color: #fff;
9915
+ background-color: #1a252f;
9916
+ border-color: #151e27;
9917
+ }
9918
+
9919
+ .fc-button-primary:not(:disabled):active:focus,
9920
+ .fc-button-primary:not(:disabled).fc-button-active:focus {
9921
+ -webkit-box-shadow: 0 0 0 0.2rem rgba(76, 91, 106, 0.5);
9922
+ box-shadow: 0 0 0 0.2rem rgba(76, 91, 106, 0.5);
9923
+ }
9924
+
9925
+ /* icons within buttons */
9926
+ .fc-button .fc-icon {
9927
+ vertical-align: middle;
9928
+ font-size: 1.5em;
9929
+ }
9930
+
9931
+ /* Buttons Groups
9932
+ --------------------------------------------------------------------------------------------------*/
9933
+ .fc-button-group {
9934
+ position: relative;
9935
+ display: -webkit-inline-box;
9936
+ display: -ms-inline-flexbox;
9937
+ display: inline-flex;
9938
+ vertical-align: middle;
9939
+ }
9940
+
9941
+ .fc-button-group > .fc-button {
9942
+ position: relative;
9943
+ -webkit-box-flex: 1;
9944
+ -ms-flex: 1 1 auto;
9945
+ flex: 1 1 auto;
9946
+ }
9947
+
9948
+ .fc-button-group > .fc-button:hover {
9949
+ z-index: 1;
9950
+ }
9951
+
9952
+ .fc-button-group > .fc-button:focus,
9953
+ .fc-button-group > .fc-button:active,
9954
+ .fc-button-group > .fc-button.fc-button-active {
9955
+ z-index: 1;
9956
+ }
9957
+
9958
+ .fc-button-group > .fc-button:not(:first-child) {
9959
+ margin-left: -1px;
9960
+ }
9961
+
9962
+ .fc-button-group > .fc-button:not(:last-child) {
9963
+ border-top-right-radius: 0;
9964
+ border-bottom-right-radius: 0;
9965
+ }
9966
+
9967
+ .fc-button-group > .fc-button:not(:first-child) {
9968
+ border-top-left-radius: 0;
9969
+ border-bottom-left-radius: 0;
9970
+ }
9971
+
9972
+ /* Popover
9973
+ --------------------------------------------------------------------------------------------------*/
9974
+ .fc-unthemed .fc-popover {
9975
+ border-width: 1px;
9976
+ border-style: solid;
9977
+ }
9978
+
9979
+ /* List View
9980
+ --------------------------------------------------------------------------------------------------*/
9981
+ .fc-unthemed .fc-list-item:hover td {
9982
+ background-color: #f5f5f5;
9983
+ }
9984
+
9985
+ /* Toolbar
9986
+ --------------------------------------------------------------------------------------------------*/
9987
+ .fc-toolbar {
9988
+ display: flex;
9989
+ justify-content: space-between;
9990
+ align-items: center;
9991
+ }
9992
+
9993
+ .fc-toolbar.fc-header-toolbar {
9994
+ margin-bottom: 1.5em;
9995
+ }
9996
+
9997
+ .fc-toolbar.fc-footer-toolbar {
9998
+ margin-top: 1.5em;
9999
+ }
10000
+
10001
+ /* inner content */
10002
+ .fc-toolbar > * > :not(:first-child) {
10003
+ margin-left: 0.75em;
10004
+ }
10005
+
10006
+ .fc-toolbar h2 {
10007
+ font-size: 1.75em;
10008
+ margin: 0;
10009
+ }
10010
+
10011
+ /* View Structure
10012
+ --------------------------------------------------------------------------------------------------*/
10013
+ .fc-view-container {
10014
+ position: relative;
10015
+ }
10016
+
10017
+ /* undo twitter bootstrap's box-sizing rules. normalizes positioning techniques */
10018
+ /* don't do this for the toolbar because we'll want bootstrap to style those buttons as some pt */
10019
+ .fc-view-container *,
10020
+ .fc-view-container *:before,
10021
+ .fc-view-container *:after {
10022
+ -webkit-box-sizing: content-box;
10023
+ -moz-box-sizing: content-box;
10024
+ box-sizing: content-box;
10025
+ }
10026
+
10027
+ .fc-view,
10028
+ .fc-view > table {
10029
+ /* so dragged elements can be above the view's main element */
10030
+ position: relative;
10031
+ z-index: 1;
10032
+ }
10033
+
10034
+ @media print {
10035
+ .fc {
10036
+ max-width: 100% !important;
10037
+ }
10038
+
10039
+ /* Global Event Restyling
10040
+ --------------------------------------------------------------------------------------------------*/
10041
+ .fc-event {
10042
+ background: #fff !important;
10043
+ color: #000 !important;
10044
+ page-break-inside: avoid;
10045
+ }
10046
+
10047
+ .fc-event .fc-resizer {
10048
+ display: none;
10049
+ }
10050
+
10051
+ /* Table & Day-Row Restyling
10052
+ --------------------------------------------------------------------------------------------------*/
10053
+ .fc th,
10054
+ .fc td,
10055
+ .fc hr,
10056
+ .fc thead,
10057
+ .fc tbody,
10058
+ .fc-row {
10059
+ border-color: #ccc !important;
10060
+ background: #fff !important;
10061
+ }
10062
+
10063
+ /* kill the overlaid, absolutely-positioned components */
10064
+ /* common... */
10065
+ .fc-bg,
10066
+ .fc-bgevent-skeleton,
10067
+ .fc-highlight-skeleton,
10068
+ .fc-mirror-skeleton,
10069
+ .fc-bgevent-container,
10070
+ .fc-business-container,
10071
+ .fc-highlight-container,
10072
+ .fc-mirror-container {
10073
+ display: none;
10074
+ }
10075
+
10076
+ /* don't force a min-height on rows (for DayGrid) */
10077
+ .fc tbody .fc-row {
10078
+ height: auto !important;
10079
+ /* undo height that JS set in distributeHeight */
10080
+ min-height: 0 !important;
10081
+ /* undo the min-height from each view's specific stylesheet */
10082
+ }
10083
+
10084
+ .fc tbody .fc-row .fc-content-skeleton {
10085
+ position: static;
10086
+ /* undo .fc-rigid */
10087
+ padding-bottom: 0 !important;
10088
+ /* use a more border-friendly method for this... */
10089
+ }
10090
+
10091
+ .fc tbody .fc-row .fc-content-skeleton tbody tr:last-child td {
10092
+ /* only works in newer browsers */
10093
+ padding-bottom: 1em;
10094
+ /* ...gives space within the skeleton. also ensures min height in a way */
10095
+ }
10096
+
10097
+ .fc tbody .fc-row .fc-content-skeleton table {
10098
+ /* provides a min-height for the row, but only effective for IE, which exaggerates this value,
10099
+ making it look more like 3em. for other browers, it will already be this tall */
10100
+ height: 1em;
10101
+ }
10102
+
10103
+ /* Undo month-view event limiting. Display all events and hide the "more" links
10104
+ --------------------------------------------------------------------------------------------------*/
10105
+ .fc-more-cell,
10106
+ .fc-more {
10107
+ display: none !important;
10108
+ }
10109
+
10110
+ .fc tr.fc-limited {
10111
+ display: table-row !important;
10112
+ }
10113
+
10114
+ .fc td.fc-limited {
10115
+ display: table-cell !important;
10116
+ }
10117
+
10118
+ .fc-popover {
10119
+ display: none;
10120
+ /* never display the "more.." popover in print mode */
10121
+ }
10122
+
10123
+ /* TimeGrid Restyling
10124
+ --------------------------------------------------------------------------------------------------*/
10125
+ /* undo the min-height 100% trick used to fill the container's height */
10126
+ .fc-time-grid {
10127
+ min-height: 0 !important;
10128
+ }
10129
+
10130
+ /* don't display the side axis at all ("all-day" and time cells) */
10131
+ .fc-timeGrid-view .fc-axis {
10132
+ display: none;
10133
+ }
10134
+
10135
+ /* don't display the horizontal lines */
10136
+ .fc-slats,
10137
+ .fc-time-grid hr {
10138
+ /* this hr is used when height is underused and needs to be filled */
10139
+ display: none !important;
10140
+ /* important overrides inline declaration */
10141
+ }
10142
+
10143
+ /* let the container that holds the events be naturally positioned and create real height */
10144
+ .fc-time-grid .fc-content-skeleton {
10145
+ position: static;
10146
+ }
10147
+
10148
+ /* in case there are no events, we still want some height */
10149
+ .fc-time-grid .fc-content-skeleton table {
10150
+ height: 4em;
10151
+ }
10152
+
10153
+ /* kill the horizontal spacing made by the event container. event margins will be done below */
10154
+ .fc-time-grid .fc-event-container {
10155
+ margin: 0 !important;
10156
+ }
10157
+
10158
+ /* TimeGrid *Event* Restyling
10159
+ --------------------------------------------------------------------------------------------------*/
10160
+ /* naturally position events, vertically stacking them */
10161
+ .fc-time-grid .fc-event {
10162
+ position: static !important;
10163
+ margin: 3px 2px !important;
10164
+ }
10165
+
10166
+ /* for events that continue to a future day, give the bottom border back */
10167
+ .fc-time-grid .fc-event.fc-not-end {
10168
+ border-bottom-width: 1px !important;
10169
+ }
10170
+
10171
+ /* indicate the event continues via "..." text */
10172
+ .fc-time-grid .fc-event.fc-not-end:after {
10173
+ content: "...";
10174
+ }
10175
+
10176
+ /* for events that are continuations from previous days, give the top border back */
10177
+ .fc-time-grid .fc-event.fc-not-start {
10178
+ border-top-width: 1px !important;
10179
+ }
10180
+
10181
+ /* indicate the event is a continuation via "..." text */
10182
+ .fc-time-grid .fc-event.fc-not-start:before {
10183
+ content: "...";
10184
+ }
10185
+
10186
+ /* time */
10187
+ /* undo a previous declaration and let the time text span to a second line */
10188
+ .fc-time-grid .fc-event .fc-time {
10189
+ white-space: normal !important;
10190
+ }
10191
+
10192
+ /* hide the the time that is normally displayed... */
10193
+ .fc-time-grid .fc-event .fc-time span {
10194
+ display: none;
10195
+ }
10196
+
10197
+ /* ...replace it with a more verbose version (includes AM/PM) stored in an html attribute */
10198
+ .fc-time-grid .fc-event .fc-time:after {
10199
+ content: attr(data-full);
10200
+ }
10201
+
10202
+ /* Vertical Scroller & Containers
10203
+ --------------------------------------------------------------------------------------------------*/
10204
+ /* kill the scrollbars and allow natural height */
10205
+ .fc-scroller,
10206
+ .fc-day-grid-container,
10207
+ .fc-time-grid-container {
10208
+ /* */
10209
+ overflow: visible !important;
10210
+ height: auto !important;
10211
+ }
10212
+
10213
+ /* kill the horizontal border/padding used to compensate for scrollbars */
10214
+ .fc-row {
10215
+ border: 0 !important;
10216
+ margin: 0 !important;
10217
+ }
10218
+
10219
+ /* Button Controls
10220
+ --------------------------------------------------------------------------------------------------*/
10221
+ .fc-button-group,
10222
+ .fc button {
10223
+ display: none;
10224
+ /* don't display any button-related controls */
10225
+ }
10226
+ }
10227
+
10228
+ /* DayGridView
10229
+ --------------------------------------------------------------------------------------------------*/
10230
+ /* day row structure */
10231
+ .fc-dayGridWeek-view .fc-content-skeleton,
10232
+ .fc-dayGridDay-view .fc-content-skeleton {
10233
+ /* there may be week numbers in these views, so no padding-top */
10234
+ padding-bottom: 1em;
10235
+ /* ensure a space at bottom of cell for user selecting/clicking */
10236
+ }
10237
+
10238
+ .fc-dayGrid-view .fc-body .fc-row {
10239
+ min-height: 4em;
10240
+ /* ensure that all rows are at least this tall */
10241
+ }
10242
+
10243
+ /* a "rigid" row will take up a constant amount of height because content-skeleton is absolute */
10244
+ .fc-row.fc-rigid {
10245
+ overflow: hidden;
10246
+ }
10247
+
10248
+ .fc-row.fc-rigid .fc-content-skeleton {
10249
+ position: absolute;
10250
+ top: 0;
10251
+ left: 0;
10252
+ right: 0;
10253
+ }
10254
+
10255
+ /* week and day number styling */
10256
+ .fc-day-top.fc-other-month {
10257
+ opacity: 0.3;
10258
+ }
10259
+
10260
+ .fc-dayGrid-view .fc-week-number,
10261
+ .fc-dayGrid-view .fc-day-number {
10262
+ padding: 2px;
10263
+ }
10264
+
10265
+ .fc-dayGrid-view th.fc-week-number,
10266
+ .fc-dayGrid-view th.fc-day-number {
10267
+ padding: 0 2px;
10268
+ /* column headers can't have as much v space */
10269
+ }
10270
+
10271
+ .fc-ltr .fc-dayGrid-view .fc-day-top .fc-day-number {
10272
+ float: right;
10273
+ }
10274
+
10275
+ .fc-rtl .fc-dayGrid-view .fc-day-top .fc-day-number {
10276
+ float: left;
10277
+ }
10278
+
10279
+ .fc-ltr .fc-dayGrid-view .fc-day-top .fc-week-number {
10280
+ float: left;
10281
+ border-radius: 0 0 3px 0;
10282
+ }
10283
+
10284
+ .fc-rtl .fc-dayGrid-view .fc-day-top .fc-week-number {
10285
+ float: right;
10286
+ border-radius: 0 0 0 3px;
10287
+ }
10288
+
10289
+ .fc-dayGrid-view .fc-day-top .fc-week-number {
10290
+ min-width: 1.5em;
10291
+ text-align: center;
10292
+ background-color: #f2f2f2;
10293
+ color: #808080;
10294
+ }
10295
+
10296
+ /* when week/day number have own column */
10297
+ .fc-dayGrid-view td.fc-week-number {
10298
+ text-align: center;
10299
+ }
10300
+
10301
+ .fc-dayGrid-view td.fc-week-number > * {
10302
+ /* work around the way we do column resizing and ensure a minimum width */
10303
+ display: inline-block;
10304
+ min-width: 1.25em;
10305
+ }
10306
+
10307
+ /* List View
10308
+ --------------------------------------------------------------------------------------------------*/
10309
+ /* possibly reusable */
10310
+ .fc-event-dot {
10311
+ display: inline-block;
10312
+ width: 10px;
10313
+ height: 10px;
10314
+ border-radius: 5px;
10315
+ }
10316
+
10317
+ /* view wrapper */
10318
+ .fc-rtl .fc-list-view {
10319
+ direction: rtl;
10320
+ /* unlike core views, leverage browser RTL */
10321
+ }
10322
+
10323
+ .fc-list-view {
10324
+ border-width: 1px;
10325
+ border-style: solid;
10326
+ }
10327
+
10328
+ /* table resets */
10329
+ .fc .fc-list-table {
10330
+ table-layout: auto;
10331
+ /* for shrinkwrapping cell content */
10332
+ }
10333
+
10334
+ .fc-list-table td {
10335
+ border-width: 1px 0 0;
10336
+ padding: 8px 14px;
10337
+ }
10338
+
10339
+ .fc-list-table tr:first-child td {
10340
+ border-top-width: 0;
10341
+ }
10342
+
10343
+ /* day headings with the list */
10344
+ .fc-list-heading {
10345
+ border-bottom-width: 1px;
10346
+ }
10347
+
10348
+ .fc-list-heading td {
10349
+ font-weight: bold;
10350
+ }
10351
+
10352
+ .fc-ltr .fc-list-heading-main {
10353
+ float: left;
10354
+ }
10355
+
10356
+ .fc-ltr .fc-list-heading-alt {
10357
+ float: right;
10358
+ }
10359
+
10360
+ .fc-rtl .fc-list-heading-main {
10361
+ float: right;
10362
+ }
10363
+
10364
+ .fc-rtl .fc-list-heading-alt {
10365
+ float: left;
10366
+ }
10367
+
10368
+ /* event list items */
10369
+ .fc-list-item.fc-has-url {
10370
+ cursor: pointer;
10371
+ /* whole row will be clickable */
10372
+ }
10373
+
10374
+ .fc-list-item-marker,
10375
+ .fc-list-item-time {
10376
+ white-space: nowrap;
10377
+ width: 1px;
10378
+ }
10379
+
10380
+ /* make the dot closer to the event title */
10381
+ .fc-ltr .fc-list-item-marker {
10382
+ padding-right: 0;
10383
+ }
10384
+
10385
+ .fc-rtl .fc-list-item-marker {
10386
+ padding-left: 0;
10387
+ }
10388
+
10389
+ .fc-list-item-title a {
10390
+ /* every event title cell has an <a> tag */
10391
+ text-decoration: none;
10392
+ color: inherit;
10393
+ }
10394
+
10395
+ .fc-list-item-title a[href]:hover {
10396
+ /* hover effect only on titles with hrefs */
10397
+ text-decoration: underline;
10398
+ }
10399
+
10400
+ /* message when no events */
10401
+ .fc-list-empty-wrap2 {
10402
+ position: absolute;
10403
+ top: 0;
10404
+ left: 0;
10405
+ right: 0;
10406
+ bottom: 0;
10407
+ }
10408
+
10409
+ .fc-list-empty-wrap1 {
10410
+ width: 100%;
10411
+ height: 100%;
10412
+ display: table;
10413
+ }
10414
+
10415
+ .fc-list-empty {
10416
+ display: table-cell;
10417
+ vertical-align: middle;
10418
+ text-align: center;
10419
+ }
10420
+
10421
+ .fc-unthemed .fc-list-empty {
10422
+ /* theme will provide own background */
10423
+ background-color: #eee;
10424
+ }
10425
+
10426
+ @charset "UTF-8";
10427
+ /* TimeGridView all-day area
10428
+ --------------------------------------------------------------------------------------------------*/
10429
+ .fc-timeGrid-view .fc-day-grid {
10430
+ position: relative;
10431
+ z-index: 2;
10432
+ /* so the "more.." popover will be over the time grid */
10433
+ }
10434
+
10435
+ .fc-timeGrid-view .fc-day-grid .fc-row {
10436
+ min-height: 3em;
10437
+ /* all-day section will never get shorter than this */
10438
+ }
10439
+
10440
+ .fc-timeGrid-view .fc-day-grid .fc-row .fc-content-skeleton {
10441
+ padding-bottom: 1em;
10442
+ /* give space underneath events for clicking/selecting days */
10443
+ }
10444
+
10445
+ /* TimeGrid axis running down the side (for both the all-day area and the slot area)
10446
+ --------------------------------------------------------------------------------------------------*/
10447
+ .fc .fc-axis {
10448
+ /* .fc to overcome default cell styles */
10449
+ vertical-align: middle;
10450
+ padding: 0 4px;
10451
+ white-space: nowrap;
10452
+ }
10453
+
10454
+ .fc-ltr .fc-axis {
10455
+ text-align: right;
10456
+ }
10457
+
10458
+ .fc-rtl .fc-axis {
10459
+ text-align: left;
10460
+ }
10461
+
10462
+ /* TimeGrid Structure
10463
+ --------------------------------------------------------------------------------------------------*/
10464
+ .fc-time-grid-container,
10465
+ .fc-time-grid {
10466
+ /* so slats/bg/content/etc positions get scoped within here */
10467
+ position: relative;
10468
+ z-index: 1;
10469
+ }
10470
+
10471
+ .fc-time-grid {
10472
+ min-height: 100%;
10473
+ /* so if height setting is 'auto', .fc-bg stretches to fill height */
10474
+ }
10475
+
10476
+ .fc-time-grid table {
10477
+ /* don't put outer borders on slats/bg/content/etc */
10478
+ border: 0 hidden transparent;
10479
+ }
10480
+
10481
+ .fc-time-grid > .fc-bg {
10482
+ z-index: 1;
10483
+ }
10484
+
10485
+ .fc-time-grid .fc-slats,
10486
+ .fc-time-grid > hr {
10487
+ /* the <hr> TimeGridView injects when grid is shorter than scroller */
10488
+ position: relative;
10489
+ z-index: 2;
10490
+ }
10491
+
10492
+ .fc-time-grid .fc-content-col {
10493
+ position: relative;
10494
+ /* because now-indicator lives directly inside */
10495
+ }
10496
+
10497
+ .fc-time-grid .fc-content-skeleton {
10498
+ position: absolute;
10499
+ z-index: 3;
10500
+ top: 0;
10501
+ left: 0;
10502
+ right: 0;
10503
+ }
10504
+
10505
+ /* divs within a cell within the fc-content-skeleton */
10506
+ .fc-time-grid .fc-business-container {
10507
+ position: relative;
10508
+ z-index: 1;
10509
+ }
10510
+
10511
+ .fc-time-grid .fc-bgevent-container {
10512
+ position: relative;
10513
+ z-index: 2;
10514
+ }
10515
+
10516
+ .fc-time-grid .fc-highlight-container {
10517
+ position: relative;
10518
+ z-index: 3;
10519
+ }
10520
+
10521
+ .fc-time-grid .fc-event-container {
10522
+ position: relative;
10523
+ z-index: 4;
10524
+ }
10525
+
10526
+ .fc-time-grid .fc-now-indicator-line {
10527
+ z-index: 5;
10528
+ }
10529
+
10530
+ .fc-time-grid .fc-mirror-container {
10531
+ /* also is fc-event-container */
10532
+ position: relative;
10533
+ z-index: 6;
10534
+ }
10535
+
10536
+ /* TimeGrid Slats (lines that run horizontally)
10537
+ --------------------------------------------------------------------------------------------------*/
10538
+ .fc-time-grid .fc-slats td {
10539
+ height: 1.5em;
10540
+ border-bottom: 0;
10541
+ /* each cell is responsible for its top border */
10542
+ }
10543
+
10544
+ .fc-time-grid .fc-slats .fc-minor td {
10545
+ border-top-style: dotted;
10546
+ }
10547
+
10548
+ /* TimeGrid Highlighting Slots
10549
+ --------------------------------------------------------------------------------------------------*/
10550
+ .fc-time-grid .fc-highlight-container {
10551
+ /* a div within a cell within the fc-highlight-skeleton */
10552
+ position: relative;
10553
+ /* scopes the left/right of the fc-highlight to be in the column */
10554
+ }
10555
+
10556
+ .fc-time-grid .fc-highlight {
10557
+ position: absolute;
10558
+ left: 0;
10559
+ right: 0;
10560
+ /* top and bottom will be in by JS */
10561
+ }
10562
+
10563
+ /* TimeGrid Event Containment
10564
+ --------------------------------------------------------------------------------------------------*/
10565
+ .fc-ltr .fc-time-grid .fc-event-container {
10566
+ /* space on the sides of events for LTR (default) */
10567
+ margin: 0 2.5% 0 2px;
10568
+ }
10569
+
10570
+ .fc-rtl .fc-time-grid .fc-event-container {
10571
+ /* space on the sides of events for RTL */
10572
+ margin: 0 2px 0 2.5%;
10573
+ }
10574
+
10575
+ .fc-time-grid .fc-event,
10576
+ .fc-time-grid .fc-bgevent {
10577
+ position: absolute;
10578
+ z-index: 1;
10579
+ /* scope inner z-index's */
10580
+ }
10581
+
10582
+ .fc-time-grid .fc-bgevent {
10583
+ /* background events always span full width */
10584
+ left: 0;
10585
+ right: 0;
10586
+ }
10587
+
10588
+ /* TimeGrid Event Styling
10589
+ ----------------------------------------------------------------------------------------------------
10590
+ We use the full "fc-time-grid-event" class instead of using descendants because the event won't
10591
+ be a descendant of the grid when it is being dragged.
10592
+ */
10593
+ .fc-time-grid-event {
10594
+ margin-bottom: 1px;
10595
+ }
10596
+
10597
+ .fc-time-grid-event-inset {
10598
+ -webkit-box-shadow: 0px 0px 0px 1px #fff;
10599
+ box-shadow: 0px 0px 0px 1px #fff;
10600
+ }
10601
+
10602
+ .fc-time-grid-event.fc-not-start {
10603
+ /* events that are continuing from another day */
10604
+ /* replace space made by the top border with padding */
10605
+ border-top-width: 0;
10606
+ padding-top: 1px;
10607
+ /* remove top rounded corners */
10608
+ border-top-left-radius: 0;
10609
+ border-top-right-radius: 0;
10610
+ }
10611
+
10612
+ .fc-time-grid-event.fc-not-end {
10613
+ /* replace space made by the top border with padding */
10614
+ border-bottom-width: 0;
10615
+ padding-bottom: 1px;
10616
+ /* remove bottom rounded corners */
10617
+ border-bottom-left-radius: 0;
10618
+ border-bottom-right-radius: 0;
10619
+ }
10620
+
10621
+ .fc-time-grid-event .fc-content {
10622
+ overflow: hidden;
10623
+ max-height: 100%;
10624
+ }
10625
+
10626
+ .fc-time-grid-event .fc-time,
10627
+ .fc-time-grid-event .fc-title {
10628
+ padding: 0 1px;
10629
+ }
10630
+
10631
+ .fc-time-grid-event .fc-time {
10632
+ font-size: 0.85em;
10633
+ white-space: nowrap;
10634
+ }
10635
+
10636
+ /* short mode, where time and title are on the same line */
10637
+ .fc-time-grid-event.fc-short .fc-content {
10638
+ /* don't wrap to second line (now that contents will be inline) */
10639
+ white-space: nowrap;
10640
+ }
10641
+
10642
+ .fc-time-grid-event.fc-short .fc-time,
10643
+ .fc-time-grid-event.fc-short .fc-title {
10644
+ /* put the time and title on the same line */
10645
+ display: inline-block;
10646
+ vertical-align: top;
10647
+ }
10648
+
10649
+ .fc-time-grid-event.fc-short .fc-time span {
10650
+ display: none;
10651
+ /* don't display the full time text... */
10652
+ }
10653
+
10654
+ .fc-time-grid-event.fc-short .fc-time:before {
10655
+ content: attr(data-start);
10656
+ /* ...instead, display only the start time */
10657
+ }
10658
+
10659
+ .fc-time-grid-event.fc-short .fc-time:after {
10660
+ content: " - ";
10661
+ /* seperate with a dash, wrapped in nbsp's */
10662
+ }
10663
+
10664
+ .fc-time-grid-event.fc-short .fc-title {
10665
+ font-size: 0.85em;
10666
+ /* make the title text the same size as the time */
10667
+ padding: 0;
10668
+ /* undo padding from above */
10669
+ }
10670
+
10671
+ /* resizer (cursor device) */
10672
+ .fc-time-grid-event.fc-allow-mouse-resize .fc-resizer {
10673
+ left: 0;
10674
+ right: 0;
10675
+ bottom: 0;
10676
+ height: 8px;
10677
+ overflow: hidden;
10678
+ line-height: 8px;
10679
+ font-size: 11px;
10680
+ font-family: monospace;
10681
+ text-align: center;
10682
+ cursor: s-resize;
10683
+ }
10684
+
10685
+ .fc-time-grid-event.fc-allow-mouse-resize .fc-resizer:after {
10686
+ content: "=";
10687
+ }
10688
+
10689
+ /* resizer (touch device) */
10690
+ .fc-time-grid-event.fc-selected .fc-resizer {
10691
+ /* 10x10 dot */
10692
+ border-radius: 5px;
10693
+ border-width: 1px;
10694
+ width: 8px;
10695
+ height: 8px;
10696
+ border-style: solid;
10697
+ border-color: inherit;
10698
+ background: #fff;
10699
+ /* horizontally center */
10700
+ left: 50%;
10701
+ margin-left: -5px;
10702
+ /* center on the bottom edge */
10703
+ bottom: -5px;
10704
+ }
10705
+
10706
+ /* Now Indicator
10707
+ --------------------------------------------------------------------------------------------------*/
10708
+ .fc-time-grid .fc-now-indicator-line {
10709
+ border-top-width: 1px;
10710
+ left: 0;
10711
+ right: 0;
10712
+ }
10713
+
10714
+ /* arrow on axis */
10715
+ .fc-time-grid .fc-now-indicator-arrow {
10716
+ margin-top: -5px;
10717
+ /* vertically center on top coordinate */
10718
+ }
10719
+
10720
+ .fc-ltr .fc-time-grid .fc-now-indicator-arrow {
10721
+ left: 0;
10722
+ /* triangle pointing right... */
10723
+ border-width: 5px 0 5px 6px;
10724
+ border-top-color: transparent;
10725
+ border-bottom-color: transparent;
10726
+ }
10727
+
10728
+ .fc-rtl .fc-time-grid .fc-now-indicator-arrow {
10729
+ right: 0;
10730
+ /* triangle pointing left... */
10731
+ border-width: 5px 6px 5px 0;
10732
+ border-top-color: transparent;
10733
+ border-bottom-color: transparent;
10734
+ }
assets/front-end/css/eael.min.css CHANGED
@@ -2,40 +2,46 @@
2
  .eael-adv-accordion{width:auto;height:auto;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.eael-adv-accordion .eael-accordion-list .eael-accordion-header{padding:15px;border:1px solid rgba(0,0,0,.02);font-size:1rem;font-weight:600;line-height:1;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;display:-webkit-box;display:flex;-webkit-box-pack:justify;justify-content:space-between;-webkit-box-align:center;align-items:center;cursor:pointer}.eael-adv-accordion .eael-accordion-list .eael-accordion-header .fa-toggle{-webkit-transform:rotate(0);transform:rotate(0);z-index:10;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.eael-adv-accordion .eael-accordion-list .eael-accordion-header.active .fa-toggle{-webkit-transform:rotate(90deg);transform:rotate(90deg);z-index:10;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.fa-accordion-icon{display:inline-block;margin-right:10px}.eael-adv-accordion .eael-accordion-list .eael-accordion-content{display:none;border:1px solid #eee;padding:15px;box-sizing:border-box;font-size:1rem;line-height:1.7}.eael-adv-accordion .eael-accordion-list .eael-accordion-content p{margin:0}.eael-adv-accordion .eael-accordion-list .eael-accordion-content.active{display:block}@-webkit-keyframes rotate-90{0%{-webkit-transform:rotateY(0);transform:rotateY(0)}100%{-webkit-transform:rotateY(-180deg);transform:rotateY(-180deg)}}@keyframes rotate-90{0%{-webkit-transform:rotateY(0);transform:rotateY(0)}100%{-webkit-transform:rotateY(-180deg);transform:rotateY(-180deg)}}@-webkit-keyframes fadeIn{0%{opacity:1;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}100%{opacity:1;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}}@keyframes fadeIn{0%{opacity:1;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}100%{opacity:1;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}}
3
  .eael-advance-tabs{display:block}.eael-advance-tabs .eael-tabs-nav>ul{position:relative;padding:0;margin:0;list-style-type:none;display:-webkit-box;display:flex;-webkit-box-pack:start;justify-content:flex-start;-webkit-box-align:center;align-items:center;z-index:1}.eael-advance-tabs .eael-tabs-nav>ul li{position:relative;padding:1em 1.5em;-webkit-box-flex:1;flex:1 1 auto;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;text-align:center;background-color:#f1f1f1}.eael-advance-tabs .eael-tabs-nav>ul li:after{content:"";position:absolute;bottom:-10px;left:0;right:0;margin:0 auto;z-index:1;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid #444;border-bottom:0;display:none}.eael-advance-tabs .eael-tabs-nav>ul li.active,.eael-advance-tabs .eael-tabs-nav>ul li.active-default,.eael-advance-tabs .eael-tabs-nav>ul li:hover{background-color:#444}.eael-advance-tabs.active-caret-on .eael-tabs-nav>ul li.active-default:after,.eael-advance-tabs.active-caret-on .eael-tabs-nav>ul li.active:after{display:none}.eael-advance-tabs .eael-tabs-nav>ul li.active-default:after,.eael-advance-tabs .eael-tabs-nav>ul li.active:after{display:block}.eael-tabs-content{display:-webkit-box;display:flex;-webkit-box-flex:1;flex:1 1 auto}.eael-advance-tabs .eael-tabs-content>div{display:none;opacity:0}.eael-advance-tabs .eael-tabs-content>div.active,.eael-advance-tabs .eael-tabs-content>div.active-default{display:block;width:100%;padding:1em;opacity:1;-webkit-animation:fadeIn linear .3s;animation:fadeIn linear .3s}.eael-tab-inline-icon li a .fa{margin-right:10px;line-height:1}.eael-tab-top-icon li{display:-webkit-box;display:flex;flex-wrap:wrap;text-align:center}.eael-tab-top-icon li a{display:-webkit-box;display:flex;flex-wrap:wrap;text-align:center}.eael-tab-top-icon li .eael-tab-title,.eael-tab-top-icon li .fa{-webkit-box-flex:1;flex:1 1 100%;line-height:1}.eael-tab-top-icon li a .eael-tab-title{margin-top:10px}.eael-advance-tabs.eael-tabs-vertical{display:-webkit-box;display:flex}.eael-advance-tabs.eael-tabs-vertical .eael-tabs-nav{-webkit-box-flex:0;flex:0 0 auto}.eael-advance-tabs.eael-tabs-vertical .eael-tabs-nav>ul{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column wrap}.eael-advance-tabs.eael-tabs-vertical .eael-tabs-nav>ul>li{width:100%;-webkit-box-pack:start;justify-content:start}.eael-advance-tabs.eael-tabs-vertical .eael-tabs-nav>ul li::after{bottom:auto!important;right:-10px;top:calc(50% - 10px);left:auto!important;border-left:10px solid #444;border-right:0;border-top:10px solid transparent;border-bottom:10px solid transparent}@media only screen and (max-width:767px){.eael-advance-tabs .eael-tabs-nav>ul{flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row wrap}.eael-advance-tabs .eael-tabs-nav>ul li{-webkit-box-flex:1;flex:1 1 auto}.responsive-vertical-layout.eael-advance-tabs .eael-tabs-nav>ul li{-webkit-box-flex:1;flex:1 1 100%}.eael-advance-tabs.eael-tabs-vertical{flex-wrap:wrap}.eael-advance-tabs.eael-tabs-vertical div.eael-tabs-nav{-webkit-box-flex:1;flex:1 100%}.eael-advance-tabs.eael-tabs-vertical ul{-webkit-box-flex:1;flex:1 100%}.eael-advance-tabs.eael-tabs-vertical ul li{-webkit-box-flex:1;flex:1 100%}div.eael-advance-tabs.eael-tabs-vertical div.eael-tabs-nav>ul li::after{border-left-color:transparent!important;bottom:-20px!important;left:0!important;right:0!important;top:auto!important;border-left:10px solid transparent;border-right:10px solid transparent;border-top-color:#444!important}}
4
  .ea-advanced-data-table-wrap *{background-color:transparent;border:none;box-shadow:none;margin:0;padding:0}.ea-advanced-data-table-wrap .ea-advanced-data-table-wrap-inner{width:100%;overflow-y:auto}.ea-advanced-data-table-wrap .ea-advanced-data-table{width:100%;border-collapse:collapse}.ea-advanced-data-table-wrap .ea-advanced-data-table td,.ea-advanced-data-table-wrap .ea-advanced-data-table th{background-color:transparent!important}.ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-sortable th{position:relative;cursor:pointer}.ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-sortable th:before{content:"";border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:5px solid #4d4d4d;position:absolute;top:50%;right:15px;margin-top:-6px}.ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-sortable th:after{content:"";border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid #4d4d4d;position:absolute;top:50%;right:15px;margin-top:1px}.ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-sortable th.asc:before{display:none}.ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-sortable th.asc:after{margin-top:-3px}.ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-sortable th.desc:before{margin-top:-3px}.ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-sortable th.desc:after{display:none}.ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-unsortable th{pointer-events:none}.ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-unsortable th:after,.ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-unsortable th:before{display:none}.ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-paginated tbody tr{display:none}.ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-editable th{position:relative}.ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-editable th:before{border:none}.ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-editable th:after{content:"";display:block;height:100%;position:absolute;right:0;top:0;width:10px;border:none;cursor:col-resize}.ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-editable td,.ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-editable th{padding:0}.ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-editable td textarea,.ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-editable th textarea{width:100%;min-width:100px;height:100%;background-color:transparent;border:none;box-shadow:none;resize:none;margin:0;padding:0;outline:0;vertical-align:middle}.ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-editable.ea-advanced-data-table-paginated tbody tr{display:table-row}.ea-advanced-data-table-wrap .ea-advanced-data-table-search-wrap.ea-advanced-data-table-search-center{text-align:center}.ea-advanced-data-table-wrap .ea-advanced-data-table-search-wrap.ea-advanced-data-table-search-right{text-align:right}.ea-advanced-data-table-wrap .ea-advanced-data-table-pagination a{display:inline-block}
 
5
  .eael-call-to-action{width:100%;height:auto;display:block;padding:30px;font-size:16px;color:#4d4d4d;font-weight:400;line-height:27px;margin:0 auto}.eael-call-to-action p{margin-bottom:10px}.eael-call-to-action .title{font-size:36px;font-weight:600;line-height:36px;margin-bottom:10px;text-transform:capitalize;font-style:normal}.eael-call-to-action.cta-center{text-align:center}.eael-call-to-action.cta-right{text-align:right}.eael-call-to-action.cta-left{text-align:left}.eael-call-to-action.bg-lite{background:#f4f4f4}.eael-call-to-action.bg-img{background-image:url(../img/bg.jpg);background-repeat:no-repeat;background-position:center;background-size:cover;position:relative;z-index:0;color:rgba(255,255,255,.7)}.eael-call-to-action.bg-img .icon{color:#fff}.eael-call-to-action.bg-img:after{content:"";position:absolute;width:100%;height:100%;top:0;left:0;z-index:-1;background:rgba(0,0,0,.8)}.eael-call-to-action.bg-img.bg-fixed{background-attachment:fixed;background-position:center center}.eael-call-to-action.bg-img .title{color:rgba(255,255,255,.9)}.eael-call-to-action.cta-flex,.eael-call-to-action.cta-icon-flex{display:-webkit-box;display:flex;-webkit-box-pack:justify;justify-content:space-between;-webkit-box-align:start;align-items:flex-start}.eael-call-to-action.cta-icon-flex .icon{-webkit-box-flex:1;flex-grow:1;font-size:80px;text-align:left;line-height:130px}.eael-call-to-action.cta-icon-flex .action{-webkit-box-flex:1;flex-grow:1;text-align:right;padding-top:22px;flex-basis:22%}.eael-call-to-action.cta-icon-flex .content{-webkit-box-flex:1;flex-grow:1;padding:0 30px}.eael-call-to-action.cta-flex .content{padding:0 15px;-webkit-box-flex:1;flex-grow:1}.eael-call-to-action.cta-flex .action{-webkit-box-flex:1;flex-grow:1;text-align:right;padding-top:25px;flex-basis:23%}.eael-call-to-action .cta-button{position:relative;display:inline-block;padding:12px 30px;background:#f9f9f9;font-size:16px;text-decoration:none;color:#4d4d4d;-webkit-transition:.5s;transition:.5s;-ms-box-shadow:0 0 3px -1px rgba(0,0,0,.2);box-shadow:0 0 3px -1px rgba(0,0,0,.2);margin-right:10px;margin-top:10px;z-index:0;overflow:hidden}.eael-call-to-action .cta-button:last-child{margin-right:0}.eael-call-to-action .cta-button:focus{outline:0}.eael-call-to-action .cta-button:hover{color:#fff;background:#3f51b5;-ms-box-shadow:0 1px 12px 1px rgba(0,0,0,.1);box-shadow:0 1px 12px 1px rgba(0,0,0,.1)}.eael-call-to-action .cta-button.effect-1:after{content:"";position:absolute;width:100%;height:100%;background:#3f51b5;top:0;left:0;transform:translateY(-100%);-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);z-index:-1;-webkit-transition:.5s;transition:.5s;color:#fff}.eael-call-to-action .cta-button.effect-1:hover::after{-webkit-transform:translateY(0);transform:translateY(0)}.eael-call-to-action .cta-button.effect-2:after{content:"";position:absolute;width:100%;height:100%;background:#3f51b5;top:0;left:0;z-index:-1;-webkit-transition:.5s;transition:.5s;color:#fff;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.eael-call-to-action .cta-button.effect-2:hover::after{-webkit-transform:translateX(0);transform:translateX(0)}@media only screen and (max-width:768px){.eael-call-to-action.cta-flex,.eael-call-to-action.cta-icon-flex{flex-wrap:wrap}.eael-call-to-action .title{font-size:28px;line-height:36px;margin-top:0}.eael-call-to-action.cta-icon-flex .icon{-webkit-box-flex:1;flex-grow:1;font-size:48px;line-height:90px;text-align:center}.eael-call-to-action.cta-flex .content,.eael-call-to-action.cta-icon-flex .content{-webkit-box-flex:1;flex-grow:1;text-align:center;padding:0}.eael-call-to-action.cta-flex .action,.eael-call-to-action.cta-icon-flex .action{text-align:center;padding-top:0}.eael-call-to-action .cta-button{padding:12px 25px}}@media only screen and (max-width:360px){.eael-call-to-action{font-size:14px;line-height:26px}.eael-call-to-action .cta-button{padding:4px 20px;font-size:12px}.eael-call-to-action .title{font-size:20px;line-height:30px}}
6
- .eael-contact-form-7.eael-contact-form-btn-align-center input.wpcf7-submit{margin-left:auto!important;margin-right:auto!important;display:block;float:none}.eael-contact-form-7.eael-contact-form-btn-align-left input.wpcf7-submit{float:left;width:auto}.eael-contact-form-7.eael-contact-form-btn-align-right input.wpcf7-submit{float:right;width:auto}.eael-contact-form-7 .uneditable-input,.eael-contact-form-7 input[type=color],.eael-contact-form-7 input[type=date],.eael-contact-form-7 input[type=datetime-local],.eael-contact-form-7 input[type=datetime],.eael-contact-form-7 input[type=email],.eael-contact-form-7 input[type=month],.eael-contact-form-7 input[type=number],.eael-contact-form-7 input[type=password],.eael-contact-form-7 input[type=search],.eael-contact-form-7 input[type=tel],.eael-contact-form-7 input[type=text],.eael-contact-form-7 input[type=time],.eael-contact-form-7 input[type=url],.eael-contact-form-7 input[type=week],.eael-contact-form-7 textarea{-webkit-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}.eael-contact-form-7 .wpcf7-form::after,.eael-contact-form-7 .wpcf7-form::before{content:" ";clear:both;display:table}.eael-contact-form-7 .wpcf7-form:after{clear:both;content:"";font-size:0;height:0;display:block;visibility:hidden}.eael-contact-form-7 .wpcf7-form .wpcf7-form-control-wrap,.eael-contact-form-7 .wpcf7-form label{display:block}.eael-contact-form-7 .wpcf7-form p{margin-bottom:0}.eael-contact-form-7.labels-hide .wpcf7-form label{display:none}.eael-contact-form-7-title{margin-bottom:10px}.eael-contact-form-7-description{margin-bottom:20px}.eael-contact-form-7-button-full-width .wpcf7-form-control.wpcf7-submit{width:100%}
7
  @-webkit-keyframes loaderSpin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loaderSpin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.eael-load-more-button-wrap{display:-webkit-box;display:flex}.eael-load-more-button{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;padding:1em 2em;border:0 solid;font-size:16px;overflow:hidden}.eael-load-more-button .button__loader{left:-100%;top:auto;margin-right:5px;-webkit-transition:all .2s;transition:all .2s}.eael-load-more-button>span{margin-left:-20px}.eael-load-more-button.button--loading>span{margin-left:0}.eael-load-more-button.button--loading .button__loader{left:0}.eael-btn-loader{border-radius:50%;width:20px;height:20px;font-size:10px;position:relative;text-indent:-9999em;border-top:4px solid rgba(255,255,255,.2);border-right:4px solid rgba(255,255,255,.2);border-bottom:4px solid rgba(255,255,255,.2);border-left:4px solid #fff;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-animation:loaderSpin 1.1s infinite linear;animation:loaderSpin 1.1s infinite linear}.eael-btn-loader:after{border-radius:50%;width:20px;height:20px}
 
8
  .eael-ticker-wrap{overflow:hidden;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row nowrap;-webkit-box-align:center;align-items:center;width:100%}.eael-ticker-wrap .ticker-badge{-webkit-box-flex:0;flex:0 0 auto;padding:8px 12px}.eael-ticker-wrap .eael-ticker{overflow:hidden;-webkit-box-flex:1;flex:1 1 auto}.eael-ticker-wrap .eael-ticker .ticker-content{padding:8px 12px;line-height:1.8}.eael-ticker-wrap .eael-ticker .ticker-content p{margin:0}.eael-ticker-wrap .swiper-button-prev{left:auto!important;right:25px}.eael-ticker-wrap div.swiper-slide,.eael-ticker-wrap div.swiper-slide.swiper-slide-next,.eael-ticker-wrap div.swiper-slide.swiper-slide-prev{opacity:0!important}.eael-ticker-wrap div.swiper-slide.swiper-slide-active{opacity:1!important}.eael-ticker-wrap .eael-content-ticker.swiper-container .swiper-slide{text-align:left}@media only screen and (max-width:767px){.eael-ticker-wrap{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row wrap}.content-ticker-pagination{display:none}}.eael-ticker-wrap .swiper-button-next,.eael-ticker-wrap .swiper-button-prev{background-image:none;outline:0;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}
9
  .eael-countdown-items{list-style:none;margin:0;padding:0;display:table;table-layout:fixed;width:100%}.eael-countdown-items>li{list-style:none;margin:0;padding:0;display:table-cell;position:relative}.eael-countdown-item>div{text-align:center;padding:20px}.eael-countdown-label-block .eael-countdown-digits,.eael-countdown-label-block .eael-countdown-label{display:block;text-align:center}.eael-countdown-digits{font-size:54px;line-height:1}.eael-countdown-label{font-size:18px;line-height:1;color:#fff}.eael-countdown-show-separator .eael-countdown-digits::after{content:":";position:absolute;left:98%;z-index:9999}.eael-countdown-item:last-child .eael-countdown-digits::after{display:none}.eael-countdown-items.style-1 .eael-countdown-item>div{background:#262625}
10
- .eael-creative-button-align-center{text-align:center}.eael-creative-button-wrapper{display:-webkit-box;display:flex}.eael-creative-button{-webkit-box-flex:0;flex:0 0 auto;min-width:150px;text-align:center;vertical-align:middle;position:relative;z-index:1;border-radius:2px;padding:20px 30px;font-size:16px;line-height:1;-webkit-backface-visibility:hidden;backface-visibility:hidden;-moz-osx-font-smoothing:grayscale}.eael-creative-button:focus{outline:0}.eael-creative-button--winona{overflow:hidden;padding:0!important;-webkit-transition:border-color .3s,background-color .3s;transition:border-color .3s,background-color .3s;-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--winona::after{content:attr(data-text);position:absolute;width:100%;height:100%;top:0;left:0;opacity:0;-webkit-transform:translate3d(0,25%,0);transform:translate3d(0,25%,0);display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.eael-creative-button--winona::after,.eael-creative-button--winona>.creative-button-inner{padding:1em 2em;-webkit-transition:opacity .3s,-webkit-transform .3s;transition:opacity .3s,-webkit-transform .3s;transition:transform .3s,opacity .3s;transition:transform .3s,opacity .3s,-webkit-transform .3s;-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--winona:hover::after{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.eael-creative-button--winona:hover>.creative-button-inner{opacity:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.eael-creative-button--ujarak{-webkit-transition:border-color .4s,color .4s;transition:border-color .4s,color .4s}.eael-creative-button--ujarak::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;opacity:0;-webkit-transform:scale3d(.7,1,1);transform:scale3d(.7,1,1);-webkit-transition:opacity .4s,-webkit-transform .4s;transition:opacity .4s,-webkit-transform .4s;transition:transform .4s,opacity .4s;transition:transform .4s,opacity .4s,-webkit-transform .4s;-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--ujarak,.eael-creative-button--ujarak::before{-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--ujarak:hover::before{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.eael-creative-button--wayra{overflow:hidden;-webkit-transition:border-color .3s,color .3s;transition:border-color .3s,color .3s;-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--wayra::before{content:'';position:absolute;top:0;left:0;width:150%;height:100%;z-index:-1;-webkit-transform:rotate3d(0,0,1,-45deg) translate3d(0,-3em,0);transform:rotate3d(0,0,1,-45deg) translate3d(0,-3em,0);-webkit-transform-origin:0 100%;transform-origin:0 100%;-webkit-transition:opacity .3s,background-color .3s,-webkit-transform .3s;transition:opacity .3s,background-color .3s,-webkit-transform .3s;transition:transform .3s,opacity .3s,background-color .3s;transition:transform .3s,opacity .3s,background-color .3s,-webkit-transform .3s}.eael-creative-button--wayra:hover::before{opacity:1;-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg);-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--tamaya{float:left;min-width:150px;max-width:250px;display:block;margin:1em;padding:1em 2em;border:none;background:0 0;color:inherit;vertical-align:middle;position:relative;z-index:1;-webkit-backface-visibility:hidden;-moz-osx-font-smoothing:grayscale;overflow:hidden;color:#7986cb;min-width:180px}.eael-creative-button--tamaya.button--inverted{color:#37474f;border-color:#37474f}.eael-creative-button--tamaya::after,.eael-creative-button--tamaya::before{content:attr(data-text);position:absolute;width:100%;height:50%;left:0;background:#7986cb;color:#fff;overflow:hidden;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--tamaya.button--inverted::after,.eael-creative-button--tamaya.button--inverted::before{background:#fff;color:#37474f}.eael-creative-button--tamaya::before{top:0;padding-top:1em}.eael-creative-button--tamaya::after{bottom:0;line-height:0}.eael-creative-button--tamaya span{display:block;-webkit-transform:scale3d(.2,.2,1);transform:scale3d(.2,.2,1);opacity:0;-webkit-transition:opacity .3s,-webkit-transform .3s;transition:opacity .3s,-webkit-transform .3s;transition:transform .3s,opacity .3s;transition:transform .3s,opacity .3s,-webkit-transform .3s;-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--tamaya:hover::before{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}.eael-creative-button--tamaya:hover::after{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.eael-creative-button--tamaya:hover span{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1);content:'Bangladesh'}.eael-creative-button--rayen{overflow:hidden;padding:0!important}.eael-creative-button--rayen::before{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.eael-creative-button--rayen::before,.eael-creative-button--rayen>.creative-button-inner{padding:1em 2em;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;-webkit-transition-timing-function:cubic-bezier(.75,0,.125,1);transition-timing-function:cubic-bezier(.75,0,.125,1)}.eael-creative-button--rayen:hover::before{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.eael-creative-button--rayen:hover>.creative-button-inner{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.creative-button-inner{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.eael-creative-button-icon-left{margin-right:5px}.eael-creative-button-icon-right{margin-left:5px}
 
11
  .eael-dual-header{display:block;margin-bottom:50px}.eael-dual-header .title,.eael-dual-header .title span{font-size:36px;font-weight:700;text-transform:uppercase;line-height:48px;margin:10px 0}.eael-dual-header .subtext{font-size:16px;display:block}.eael-dual-header i{display:block;padding:0;margin:20px 0 10px 0;font-size:36px}.eael-dual-header .title span.lead{color:#1abc9c}.eael-dual-header-content-align-center{text-align:center}.eael-dual-header-content-align-left{text-align:left}.eael-dual-header-content-align-right{text-align:right}
12
  .elementor-panel .pro-feature,.elementor-panel .pro-feature a{color:#a4afb7;text-transform:uppercase;letter-spacing:1px;line-height:1.8;font-style:normal}.elementor-panel .pro-feature a{text-decoration:underline;color:#f54!important}.elementor-control-data_table_content_colspan_pro_alert .elementor-control-title,.elementor-control-data_table_content_rowspan_pro_alert .elementor-control-title,.elementor-control-data_table_content_template_pro_alert .elementor-control-title,.elementor-control-data_table_header_colspan_pro_alert .elementor-control-title,.elementor-control-data_table_header_img_pro_alert .elementor-control-title,.elementor-panel .elementor-control-eael_section_pro .elementor-panel-heading-title.elementor-panel-heading-title,.elementor-panel .elementor-control-eael_section_pro .elementor-panel-heading-toggle{color:#f54}.elementor-panel .elementor-control-eael_control_get_pro .elementor-control-field{display:none!important}.elementor-control-eael_fancy_text_style_pro_alert .elementor-control-title,.elementor-control-eael_img_accordion_type_pro_alert .elementor-control-title,.elementor-control-eael_pricing_table_style_pro_alert .elementor-control-title,.elementor-control-eael_section_countdown_style_pro_alert .elementor-control-title,.elementor-control-eael_section_data_table_enabled_pro_alert .elementor-control-title,.elementor-control-eael_team_members_preset_pro_alert .elementor-control-title,.elementor-control-eael_ticker_type_pro_alert .elementor-control-title{color:#f54}
13
- @charset "UTF-8";table.eael-data-table thead .sorting,table.eael-data-table thead .sorting_asc,table.eael-data-table thead .sorting_desc{position:relative;z-index:0;outline:0;cursor:pointer}table.eael-data-table thead .sorting:after,table.eael-data-table thead .sorting_asc:after,table.eael-data-table thead .sorting_desc:after{position:absolute;top:50%;right:10px;font-family:FontAwesome;color:#fff;z-index:1;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.eael-data-table-wrap .eael-data-tables_wrapper{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row wrap;-webkit-box-pack:start;justify-content:flex-start;width:100%}.eael-data-table-wrap .eael-data-tables_filter{-webkit-box-flex:1;flex-grow:1;flex-basis:50%;text-align:right}.eael-data-table-wrap .eael-data-tables_filter label{font-weight:700}.eael-data-table-wrap .eael-data-tables_filter label input[type=search]{height:40px;border:1px solid rgba(0,0,0,.09);outline:0;padding:10px;margin-left:10px}.eael-data-table-wrap .eael-data-tables_length{-webkit-box-flex:1;flex-grow:1;flex-basis:50%}.eael-data-table-wrap .eael-data-tables_length select{width:auto;max-width:120px;height:40px;border:1px solid rgba(0,0,0,.09);outline:0;margin-left:10px;margin-right:10px}.eael-data-table-wrap .eael-data-tables_length label{font-weight:700}.eael-data-table-wrap .eael-data-tables_info{-webkit-box-flex:1;flex-grow:1;flex-basis:50%;font-weight:700}.eael-data-table-wrap .eael-data-tables_paginate{-webkit-box-flex:1;flex-grow:1;flex-basis:50%;text-align:right}.eael-data-table-wrap .eael-data-tables_paginate .paginate_button{padding:10px 15px;background:#f2f2f2;margin-right:2px;cursor:pointer;-webkit-transition:all .3s;transition:all .3s}.eael-data-table-wrap .eael-data-tables_paginate .paginate_button:hover{color:#fff;background:#4a4893}.eael-data-table-wrap .eael-data-tables_paginate .paginate_button.current{color:#fff;background:#4a4893}.eael-data-table-wrap .eael-data-tables_paginate .paginate_button.disabled{cursor:no-drop;background:#f2f2f2;opacity:.5;color:#888}.data-header-icon{margin-right:10px;position:relative;top:2px}.eael-data-table{width:100%;height:auto;margin:0;border-collapse:collapse;border:none}.eael-data-table tr{border-style:none}.eael-data-table thead tr{text-align:left}.eael-data-table thead tr th{padding:20px 15px;background:#4a4893;font-size:16px;font-weight:600;font-family:Montserrat,sans-serif;line-height:1;color:#fff;border-color:#000;border-width:2px;border-style:none;background-clip:padding-box}.eael-data-table thead tr th:hover{border-color:#000}.eael-data-table tbody tr.even{-webkit-transition:background .4s ease-in-out;transition:background .4s ease-in-out}.eael-data-table tbody tr.even:hover{background:rgba(242,242,242,.7)}.eael-data-table tbody tr.even:last-child{border-bottom:1px solid rgba(0,0,0,.09)}.eael-data-table tbody tr.odd{background:rgba(242,242,242,.5);-webkit-transition:background .2s ease-in-out;transition:background .2s ease-in-out}.eael-data-table tbody tr.odd:hover{background:rgba(242,242,242,.7)}.eael-data-table tbody tr.odd:last-child{border-bottom:1px solid rgba(0,0,0,.09)}.eael-data-table tbody tr td{padding:20px 15px;font-size:14px;font-family:Montserrat,sans-serif;line-height:1;border-width:2px;border-style:none;background-clip:padding-box}.eael-data-table-th-img{display:inline-block;margin:0 15px 0 0;line-height:1}.th-mobile-screen{display:none}@media (max-width:767px){.eael-data-table-wrap{overflow-x:scroll!important;padding-bottom:5px}.th-mobile-screen{display:inline-block;padding:0 .6em;margin-right:10px;text-align:center;-webkit-box-flex:0;flex-grow:0;flex-shrink:0;flex-basis:100px}.th-mobile-screen .eael-data-table-th-img{margin:0 auto 15px auto;display:block}.th-mobile-screen .data-header-icon{margin:0 auto 15px auto;display:block}.td-content-wrapper{display:-webkit-box;display:flex;width:100%}.td-content{width:100%;-webkit-box-pack:center;justify-content:center}.td-content>p{width:100%;-webkit-box-pack:center;justify-content:center}.custom-responsive-option-enable .eael-data-table thead{display:none}.custom-responsive-option-enable .eael-data-table tbody tr td{float:none;clear:left;width:100%;text-align:left;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.eael-data-table .td-content{-webkit-box-align:center;align-items:center;display:-webkit-box;display:flex}}table.eael-data-table thead .sorting:after{content:""}table.eael-data-table thead .headerSortDown:after{content:""}table.eael-data-table thead .headerSortUp:after{content:""}table.eael-data-table thead .sorting_disabled.sorting:after{display:none}table.eael-data-table .sorting.sorting-none:after{display:none}table.eael-data-table .sorting_desc.sorting-none:after{display:none}table.eael-data-table .sorting_asc.sorting-none:after{display:none}.eael-table-align-left table.eael-data-table{float:left}.eael-table-align-center table.eael-data-table{margin:0 auto}.eael-table-align-right table.eael-data-table{float:right}.eael-hide-elements .eael-data-tables_info{display:none}.eael-dt-th-align-left .eael-data-table thead tr th{text-align:left}.eael-dt-th-align-right .eael-data-table thead tr th{text-align:right;padding-right:30px}.eael-dt-th-align-center .eael-data-table thead tr th{text-align:center}.eael-dt-td-align-left .eael-data-table tbody tr td{text-align:left}.eael-dt-td-align-center .eael-data-table tbody tr td{text-align:center}.eael-dt-td-align-right .eael-data-table tbody tr td{text-align:right;padding-right:30px}@media (max-width:1024px){.eael-dt-td-align-tablet-left .eael-data-table tbody tr td{text-align:left}.eael-dt-td-align-tablet-center .eael-data-table tbody tr td{text-align:center}.eael-dt-td-align-tablet-right .eael-data-table tbody tr td{text-align:right}}@media (max-width:767px){.eael-dt-td-align-mobile-left .eael-data-table tbody tr td{text-align:left}.eael-dt-td-align-mobile-center .eael-data-table tbody tr td{text-align:center}.eael-dt-td-align-mobile-right .eael-data-table tbody tr td{text-align:right}}
14
  .eael-facebook-feed{width:100%;margin:auto}.eael-facebook-feed.eael-col-1 .eael-facebook-feed-item{float:none;width:100%}@media only screen and (max-width:979px){.eael-facebook-feed.eael-col-1 .eael-facebook-feed-item{width:50%}}@media only screen and (max-width:480px){.eael-facebook-feed.eael-col-1 .eael-facebook-feed-item{width:100%}}.eael-facebook-feed.eael-col-2 .eael-facebook-feed-item{float:left;width:50%}@media only screen and (max-width:979px){.eael-facebook-feed.eael-col-2 .eael-facebook-feed-item{width:50%}}@media only screen and (max-width:480px){.eael-facebook-feed.eael-col-2 .eael-facebook-feed-item{width:100%}}.eael-facebook-feed.eael-col-3 .eael-facebook-feed-item{float:left;width:33.3333%}@media only screen and (max-width:979px){.eael-facebook-feed.eael-col-3 .eael-facebook-feed-item{width:50%}}@media only screen and (max-width:480px){.eael-facebook-feed.eael-col-3 .eael-facebook-feed-item{width:100%}}.eael-facebook-feed.eael-col-4 .eael-facebook-feed-item{float:left;width:25%}@media only screen and (max-width:979px){.eael-facebook-feed.eael-col-4 .eael-facebook-feed-item{width:50%}}@media only screen and (max-width:480px){.eael-facebook-feed.eael-col-4 .eael-facebook-feed-item{width:100%}}.eael-facebook-feed.eael-col-5 .eael-facebook-feed-item{float:left;width:20%}@media only screen and (max-width:979px){.eael-facebook-feed.eael-col-5 .eael-facebook-feed-item{width:50%}}@media only screen and (max-width:480px){.eael-facebook-feed.eael-col-5 .eael-facebook-feed-item{width:100%}}.eael-facebook-feed.eael-col-6 .eael-facebook-feed-item{float:left;width:16.6666%}@media only screen and (max-width:979px){.eael-facebook-feed.eael-col-6 .eael-facebook-feed-item{width:50%}}@media only screen and (max-width:480px){.eael-facebook-feed.eael-col-6 .eael-facebook-feed-item{width:100%}}.eael-facebook-feed .eael-facebook-feed-item{display:inline-block;line-height:0}.eael-facebook-feed .eael-facebook-feed-item,.eael-facebook-feed .eael-facebook-feed-item-inner{position:relative}.eael-facebook-feed-overlay .eael-facebook-feed-item .eael-facebook-feed-item-overlay{display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;text-align:center;position:absolute;top:0;bottom:0;left:0;right:0;font-size:12px;line-height:1;-webkit-transform:scale(.8);transform:scale(.8);opacity:0;-webkit-transition:all .2s;transition:all .2s}.eael-facebook-feed-overlay .eael-facebook-feed-item .eael-facebook-feed-item-overlay .eael-facebook-feed-item-overlay-inner{position:relative;align-self:center}.eael-facebook-feed-overlay .eael-facebook-feed-item:hover .eael-facebook-feed-item-overlay{-webkit-transform:scale(1);transform:scale(1);opacity:1}.eael-facebook-feed-overlay .eael-facebook-feed-meta{margin-bottom:0}.eael-facebook-feed-overlay .eael-facebook-feed-meta span{display:inline-block;margin:0 15px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner{margin:10px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-header{padding:8px 12px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-header .eael-facebook-feed-item-user{float:left}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-header .eael-facebook-feed-item-user .eael-facebook-feed-avatar{float:left;display:inline-block;width:32px;height:32px;border-radius:50%;margin-right:10px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-header .eael-facebook-feed-item-user .eael-facebook-feed-username{float:left;display:inline-block;font-size:14px;font-weight:400;line-height:32px;margin:0}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-header .eael-facebook-feed-post-time{float:right;font-size:11px;font-weight:400;line-height:32px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-content{position:relative;display:block;padding:12px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-content .eael-facebook-feed-message{font-size:14px;font-weight:400;line-height:1.3;margin:0}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap{padding:0}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-preview-img{display:block;position:relative;margin-bottom:12px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-preview-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(0,0,0,.4);display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-preview-overlay i{font-size:48px;color:#fff}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-url-preview{padding:0 12px 15px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-url-preview .eael-facebook-feed-url-host{font-size:12px;font-weight:400;line-height:1;text-transform:uppercase;margin-bottom:5px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-url-preview .eael-facebook-feed-url-title{font-size:15px;font-weight:700;line-height:1.4;margin-top:0;margin-bottom:6px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-url-preview .eael-facebook-feed-url-description{font-size:14px;font-weight:400;line-height:1.2;margin-bottom:0}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-footer{font-size:13px;font-weight:400;line-height:30px;padding:8px 12px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-footer span{display:inline-block}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-footer span.eael-facebook-feed-post-likes{margin-right:15px}.elementor-widget-eael-facebook-feed .eael-load-more-button-wrap{-webkit-box-pack:center;justify-content:center;margin-top:15px}.elementor-widget-eael-facebook-feed .eael-load-more-button-wrap.no-pagination{display:none}
15
  .eael-fancy-text-container p{margin:0}.eael-fancy-text-strings{display:none}.eael-fancy-text-prefix,.eael-fancy-text-suffix{display:inline-block}.morphext>.animated{display:inline-block}.typed-cursor{opacity:1;-webkit-animation:blink_cursor .7s infinite;animation:blink_cursor .7s infinite}@keyframes blink_cursor{0%{opacity:1}50%{opacity:0}100%{opacity:1}}@-webkit-keyframes blink_cursor{0%{opacity:1}50%{opacity:0}100%{opacity:1}}.eael-fancy-text-container.style-2{font-size:24px}.eael-fancy-text-container.style-2 .eael-fancy-text-strings{background:#f54;color:#fff;padding:10px 25px}
16
  .elementor-widget-eael-feature-list.-icon-position-left .connector-type-modern.rhombus .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right .connector-type-modern.rhombus .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top .connector-type-modern.rhombus .eael-feature-list-item:before{top:3px!important}.elementor-widget-eael-feature-list.-icon-position-left .connector-type-modern.rhombus .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right .connector-type-modern.rhombus .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top .connector-type-modern.rhombus .eael-feature-list-item:after{top:45px!important}.elementor-widget-eael-feature-list.-icon-position-right .connector,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .connector{right:0;left:calc(100% - 70px)}.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 50px 0 0}@media (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 30px 0 0}}.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{left:auto;right:0}.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:auto;right:5px;top:30px}.elementor-widget-eael-feature-list .eael-feature-list-items{list-style-type:none;margin:0;padding:0}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item{position:relative}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .connector{display:block;position:absolute;width:0;margin:0 auto;z-index:1;height:100%;top:.5em;font-size:60px;left:0;right:calc(100% - 60px);border-left:2px solid #2ecc71;border-right:none!important}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item:last-child .connector{display:none}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box{z-index:2;-webkit-transition:all .5s;transition:all .5s}@media (prefers-reduced-motion:reduce){.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box{-webkit-transition:none;transition:none}}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon-inner{background-color:#37368e;-webkit-transition:all .5s;transition:all .5s;display:-webkit-inline-box;display:inline-flex}@media (prefers-reduced-motion:reduce){.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon-inner{-webkit-transition:none;transition:none}}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon{padding:.5em;-webkit-transition:all .5s;transition:all .5s;font-size:30px;line-height:1;color:#37368e;text-align:center;display:-webkit-inline-box;display:inline-flex;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}@media (prefers-reduced-motion:reduce){.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon{-webkit-transition:none;transition:none}}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon i{width:1em;height:1em;position:relative;display:block}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-img{font-size:8px;line-height:1;max-width:inherit}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-content-box{margin:0 0 0 20px}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-content-box .eael-feature-list-title{margin-top:-2px;line-height:1.5em}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-content-box .eael-feature-list-content{padding:0;margin:0;font-size:14px;line-height:1.5em}.elementor-widget-eael-feature-list .eael-feature-list-items.stacked .eael-feature-list-icon-box .eael-feature-list-icon{color:#fff}.elementor-widget-eael-feature-list .eael-feature-list-items.framed .eael-feature-list-icon-box .eael-feature-list-icon{background-color:#fff}.elementor-widget-eael-feature-list .eael-feature-list-items.circle .eael-feature-list-icon-box .eael-feature-list-icon-inner{border-radius:50%}.elementor-widget-eael-feature-list .eael-feature-list-items.circle .eael-feature-list-icon-box .eael-feature-list-icon-inner .eael-feature-list-icon{border-radius:50%}.elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-icon-box .eael-feature-list-icon-inner{-webkit-transform:rotate(45deg);transform:rotate(45deg);margin:15px}.elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-icon-box .eael-feature-list-icon i{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-icon-box .eael-feature-list-icon img{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-content-box .eael-feature-list-title{margin-top:15px}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 50px;position:relative}@media (max-width:767px){.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 30px;display:block}}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{content:"";position:absolute;display:block}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{left:0;top:0;z-index:1;border-left:1px solid #000;border-right:none!important;height:100%}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:5px;top:30px;width:23px;display:block;z-index:2;border-bottom:1px dashed #000;border-top:none!important}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item .connector{display:none}@media (min-width:768px){.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern.-icon-position-right .eael-feature-list-item{padding:0 50px 0 0}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern.-icon-position-right .eael-feature-list-item:before{left:auto;right:0}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern.-icon-position-right .eael-feature-list-item:after{left:auto;right:5px;top:30px}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern.-icon-position-right .eael-feature-list-item .connector{display:none}}@media (min-width:1025px){.elementor-widget-eael-feature-list.-icon-position-left .eael-feature-list-content-box{margin-right:0!important;margin-top:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-content-box{margin-left:0!important;margin-top:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-top .eael-feature-list-content-box{margin-left:0!important;margin-right:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-left .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-item{display:-webkit-box;display:flex}.elementor-widget-eael-feature-list.-icon-position-left .eael-feature-list-item{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-item{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;flex-direction:row-reverse}}@media (max-width:1024px){.elementor-widget-eael-feature-list.-tablet-icon-position-left .eael-feature-list-item,.elementor-widget-eael-feature-list.-tablet-icon-position-right .eael-feature-list-item{display:-webkit-box;display:flex}.elementor-widget-eael-feature-list.-tablet-icon-position-left .eael-feature-list-item{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.elementor-widget-eael-feature-list.-tablet-icon-position-right .eael-feature-list-item{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;flex-direction:row-reverse}}@media (min-width:768px) and (max-width:1024px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left .eael-feature-list-content-box{margin-right:0!important;margin-top:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 50px}}@media (min-width:768px) and (max-width:1024px) and (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 30px}}@media (min-width:768px) and (max-width:1024px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{left:0;right:auto}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:5px;top:30px}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top .eael-feature-list-content-box{margin-left:0!important;margin-right:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 50px}}@media (min-width:768px) and (max-width:1024px) and (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 30px}}@media (min-width:768px) and (max-width:1024px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{left:0;right:auto}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:5px}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right .eael-feature-list-content-box{margin-left:0!important;margin-top:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 50px 0 0}}@media (min-width:768px) and (max-width:1024px) and (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 30px 0 0}}@media (min-width:768px) and (max-width:1024px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{right:0;left:auto}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:auto;right:5px}}@media (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-item,.elementor-widget-eael-feature-list.-tablet-icon-position-left .eael-feature-list-item,.elementor-widget-eael-feature-list.-tablet-icon-position-right .eael-feature-list-item{display:block;text-align:left}.elementor-widget-eael-feature-list.-mobile-icon-position-left .eael-feature-list-item,.elementor-widget-eael-feature-list.-mobile-icon-position-right .eael-feature-list-item{display:-webkit-box;display:flex}.elementor-widget-eael-feature-list.-mobile-icon-position-left .eael-feature-list-item{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.elementor-widget-eael-feature-list.-mobile-icon-position-right .eael-feature-list-item{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;flex-direction:row-reverse}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-content-box{margin-right:0!important;margin-top:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 50px}}@media (max-width:767px) and (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 30px}}@media (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{left:0;right:auto}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:5px}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-content-box{margin-left:0!important;margin-right:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 50px}}@media (max-width:767px) and (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 30px}}@media (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{left:0;right:auto}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:5px}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-content-box{margin-left:0!important;margin-top:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 50px 0 0}}@media (max-width:767px) and (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 30px 0 0}}@media (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{right:0;left:auto}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:auto;right:5px}}
17
  .eael-filter-gallery-control{width:100%}.eael-filter-gallery-control ul,.eael-filter-gallery-control ul li{text-align:center}.eael-filter-gallery-control ul{margin:0 0 20px 0;padding:0;text-align:center}.eael-filter-gallery-control{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:1 1 auto;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;flex-flow:row wrap;padding:0;margin:0}.eael-filter-gallery-control ul li{list-style:none;font-size:24px;display:inline-block;text-align:center}.eael-filter-gallery-control ul li a.control{font-family:Montserrat,sans-serif;font-size:16px;font-weight:600;padding:10px 25px;margin:10px 6px}.eael-filter-gallery-container{text-align:justify;font-size:.1px}.eael-filter-gallery-container:after{content:'';display:inline-block;width:100%}.eael-filter-gallery-container:not(.eael-cards) .item:before{content:'';display:inline-block;padding-top:56.25%}.eael-filter-gallery-container .item .caption{position:absolute;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:1 1 100%;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;z-index:1;top:0;left:0;right:0;bottom:0;-webkit-transition:-webkit-transform .4s;transition:-webkit-transform .4s;transition:transform .4s;transition:transform .4s,-webkit-transform .4s}.eael-filter-gallery-container.eael-cards .item .caption{display:none}.eael-filter-gallery-container.eael-cards .item .item-img .caption{position:absolute;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:1 1 100%;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;z-index:10;top:0;left:0;right:0;bottom:0;-webkit-transition:-webkit-transform .4s;transition:-webkit-transform .4s;transition:transform .4s;transition:transform .4s,-webkit-transform .4s}.gallery-item-caption-over{width:100%;height:auto}a.eael-gallery-load-more,a.eael-gallery-load-more:hover{text-decoration:none}.eael-filter-gallery-container .item .caption.eael-zoom-in,.eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-zoom-in{-webkit-transform:scale(0);transform:scale(0)}.eael-filter-gallery-container .item:hover .caption.eael-zoom-in,.eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-zoom-in{-webkit-transform:scale(1);transform:scale(1)}.eael-filter-gallery-container .item .caption.eael-slide-left,.eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-slide-left{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.eael-filter-gallery-container .item:hover .caption.eael-slide-left,.eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-slide-left{-webkit-transform:translateX(0);transform:translateX(0)}.eael-filter-gallery-container .item .caption.eael-slide-right,.eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-slide-right{-webkit-transform:translateX(100%);transform:translateX(100%)}.eael-filter-gallery-container .item:hover .caption.eael-slide-right,.eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-slide-right{-webkit-transform:translateX(0);transform:translateX(0)}.eael-filter-gallery-container .item .caption.eael-slide-top,.eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-slide-top{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.eael-filter-gallery-container .item:hover .caption.eael-slide-top,.eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-slide-top{-webkit-transform:translateY(0);transform:translateY(0)}.eael-filter-gallery-container .item .caption.eael-slide-bottom,.eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-slide-bottom{-webkit-transform:translateY(100%);transform:translateY(100%)}.eael-filter-gallery-container .item:hover .caption.eael-slide-bottom,.eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-slide-bottom{-webkit-transform:translateY(0);transform:translateY(0)}.eael-filter-gallery-container .item .caption a{display:inline-block;width:50px;height:50px;text-align:center;line-height:50px;border-radius:50%;margin:0 5px;font-size:20px;cursor:pointer;-webkit-transition:.3s;transition:.3s}.eael-container .item .caption a:nth-child(2),.eael-filter-gallery-container .item .caption a:nth-child(1){-webkit-transition:.6s;transition:.6s;opacity:0}.eael-filter-gallery-container .item .caption a:nth-child(1){-webkit-transform:translateY(-100%);transform:translateY(-100%)}.eael-filter-gallery-container .item .caption a:nth-child(2){-webkit-transform:translateY(100%);transform:translateY(100%)}.eael-filter-gallery-container .item .caption:hover a:nth-child(1),.eael-filter-gallery-container .item .caption:hover a:nth-child(2){-webkit-transform:translateY(0);transform:translateY(0);opacity:1}.eael-filter-gallery-container .item .caption .eael-popup-link{outline:0}.eael-filter-gallery-container.eael-cards .item:before{padding-top:0}.eael-filter-gallery-container.eael-cards .item-img{position:relative;background-repeat:no-repeat;background-position:center;background-size:cover;height:220px;z-index:0;overflow:hidden}.eael-filter-gallery-container.eael-cards .item-content{padding:15px}.eael-filter-gallery-container.eael-cards .item-content .title,.eael-filter-gallery-container.eael-cards .item-content .title a{font-size:20px;line-height:1;margin-bottom:0;-webkit-transition:.3s;transition:.3s}.eael-filter-gallery-container.eael-cards .item-content p{font-size:14px;line-height:26px}.eael-fg-card-content-align-center .eael-filterable-gallery-item-wrap .gallery-item-caption-wrap .gallery-item-caption-over{text-align:center}.eael-fg-card-content-align-right .eael-filterable-gallery-item-wrap .gallery-item-caption-wrap .gallery-item-caption-over{text-align:right}.eael-fg-hoverer-content-align-center .eael-filterable-gallery-item-wrap .gallery-item-caption-wrap .gallery-item-caption-over{text-align:center}.eael-fg-hoverer-content-align-right .eael-filterable-gallery-item-wrap .gallery-item-caption-wrap .gallery-item-caption-over{text-align:right}.eael-fg-content-align-left .eael-cards .item .item-content{text-align:left}.eael-fg-content-align-center .eael-cards .item .item-content{text-align:center}.eael-fg-content-align-right .eael-cards .item .item-content{text-align:right}.mfp-wrap~div.dialog-widget{display:none!important}.eael-filterable-gallery-item-wrap{float:left;width:33.33%}.eael-filter-gallery-container.eael-col-1 .eael-filterable-gallery-item-wrap{width:100%}.eael-filter-gallery-control>ul li{font-size:13px;line-height:1.8;text-transform:uppercase;letter-spacing:1px;padding:6px 15px;cursor:pointer;margin:0 5px;font-weight:400}.eael-filter-gallery-container.eael-col-2 .eael-filterable-gallery-item-wrap{width:50%}.eael-filter-gallery-container.eael-col-4 .eael-filterable-gallery-item-wrap{width:25%}.eael-filter-gallery-container.eael-col-5 .eael-filterable-gallery-item-wrap{width:20%}.eael-gallery-grid-item{margin-left:calc(20px/2);margin-right:calc(20px/2);margin-bottom:20px;position:relative}.gallery-item-caption-wrap,.media-content-wrap{font-size:14px;text-align:left}.gallery-item-thumbnail-wrap.caption-style-card img{max-height:100%;width:100%}.gallery-item-caption-wrap.caption-style-hoverer{position:absolute;left:0;top:0;height:100%;width:100%;padding:15px;z-index:10}.eael-filterable-gallery-item-wrap .eael-gallery-grid-item .gallery-item-thumbnail-wrap>img{height:100%;width:100%;-o-object-fit:cover;object-fit:cover}.fg-item-content,.fg-item-title{color:#fff;font-family:inherit}.gallery-item-caption-wrap.caption-style-card .fg-item-title{font-size:18px;margin:15px 0 15px;line-height:1}.gallery-item-caption-wrap.caption-style-card{background:#f7f7f7}.gallery-item-caption-wrap.caption-style-card .fg-item-title{margin:10px 0 15px;color:#000}.gallery-item-caption-wrap.caption-style-card .fg-item-content{color:#212529;line-height:1.5;font-weight:400}.gallery-item-buttons>a{display:inline-block;font-size:16px;color:#000;margin-right:15px}.gallery-item-buttons>a:visited{color:#000}.gallery-item-caption-wrap.caption-style-card{padding:10px;box-sizing:border-box;font-family:inherit}.gallery-item-caption-wrap .gallery-item-hoverer-bg{position:absolute;left:0;top:0;height:100%;width:100%;content:'';background:#000;z-index:-1;opacity:.7}.gallery-item-caption-wrap.caption-style-hoverer{visibility:hidden;opacity:0;-webkit-transition:.6s all ease;transition:.6s all ease;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.eael-gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer{opacity:1;visibility:visible}.gallery-item-caption-wrap.caption-style-hoverer h5{font-size:20px;margin-bottom:5px;line-height:1}.gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up h5{-webkit-transform:translateY(20px);transform:translateY(20px);-webkit-transition:.6s all ease;transition:.6s all ease}.gallery-item-caption-wrap.caption-style-hoverer p{margin-bottom:5px}.gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up p{-webkit-transform:translateY(40px);transform:translateY(40px);-webkit-transition:.6s all ease;transition:.6s all ease}.gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up .gallery-item-buttons{-webkit-transform:translateY(40px);transform:translateY(40px);-webkit-transition:.6s all ease;transition:.6s all ease}.gallery-item-caption-wrap .gallery-item-buttons>a span{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;border-radius:50%;outline:0;text-decoration:none;display:inline-block;text-align:center}.gallery-item-caption-wrap.caption-style-hoverer.eael-zoom-in{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transition:.6s all ease;transition:.6s all ease}.eael-gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up .gallery-item-buttons,.eael-gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up h5,.eael-gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up p{-webkit-transform:translate(0);transform:translate(0)}.eael-gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer.eael-zoom-in{-webkit-transform:scale(1);transform:scale(1);visibility:visible;opacity:1}.gallery-item-caption-wrap.caption-style-hoverer.eael-none{-webkit-transition:none;transition:none}.gallery-item-thumbnail-wrap{position:relative}.video-popup,.video-popup-bg{position:absolute;left:0;top:0;height:100%;width:100%}.video-popup>img{width:62px;position:relative;z-index:1;-webkit-transition:.3s;transition:.3s}.video-popup{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.video-popup:hover>img{-webkit-transform:scale(1.1);transform:scale(1.1)}.video-popup-bg{visibility:hidden;opacity:0;-webkit-transition:350ms;transition:350ms}.eael-gallery-grid-item:hover .video-popup-bg{visibility:visible;opacity:1}.gallery-item-thumbnail-wrap>.gallery-item-caption-wrap{position:absolute;left:0;top:0;height:100%;width:100%;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.gallery-item-caption-wrap.card-hover-bg{visibility:hidden;opacity:0;-webkit-transition:.8s;transition:.8s}.gallery-item-thumbnail-wrap:hover .gallery-item-caption-wrap.card-hover-bg{visibility:visible;opacity:1}.gallery-item-caption-wrap .gallery-item-buttons>a>i{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;height:100%}@media only screen and (min-width:1025px){.elementor-element.elementor-grid-1{position:relative}.elementor-element.elementor-grid-1 .eael-filterable-gallery-item-wrap{width:100%;float:left}.elementor-element.elementor-grid-2{position:relative}.elementor-element.elementor-grid-2 .eael-filterable-gallery-item-wrap{width:50%;float:left}.elementor-element.elementor-grid-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n){margin-right:0!important}.elementor-element.elementor-grid-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n+1){clear:left}.elementor-element.elementor-grid-3{position:relative}.elementor-element.elementor-grid-3 .eael-filterable-gallery-item-wrap{width:33.3333%;float:left}.elementor-element.elementor-grid-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n){margin-right:0!important}.elementor-element.elementor-grid-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n+1){clear:left}.elementor-element.elementor-grid-4{position:relative}.elementor-element.elementor-grid-4 .eael-filterable-gallery-item-wrap{width:25%;float:left}.elementor-element.elementor-grid-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n){margin-right:0!important}.elementor-element.elementor-grid-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n+1){clear:left}.elementor-element.elementor-grid-5{position:relative}.elementor-element.elementor-grid-5 .pp-logo-grid{margin-right:-5px}.elementor-element.elementor-grid-5 .eael-filterable-gallery-item-wrap{width:20%;float:left}.elementor-element.elementor-grid-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n){margin-right:0!important}.elementor-element.elementor-grid-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n+1){clear:left}.elementor-element.elementor-grid-6{position:relative}.elementor-element.elementor-grid-6 .pp-logo-grid{margin-right:-6px}.elementor-element.elementor-grid-6 .eael-filterable-gallery-item-wrap{width:16%;float:left}.elementor-element.elementor-grid-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n){margin-right:0!important}.elementor-element.elementor-grid-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n+1){clear:left}}@media only screen and (max-width:1024px) and (min-width:766px){.elementor-element.elementor-grid-tablet-1{position:relative}.elementor-element.elementor-grid-tablet-1 .eael-filterable-gallery-item-wrap{width:100%;float:left}.elementor-element.elementor-grid-tablet-2{position:relative}.elementor-element.elementor-grid-tablet-2 .eael-filterable-gallery-item-wrap{width:50%;float:left}.elementor-element.elementor-grid-tablet-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n){margin-right:0!important}.elementor-element.elementor-grid-tablet-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n+1){clear:left}.elementor-element.elementor-grid-tablet-3{position:relative}.elementor-element.elementor-grid-tablet-3 .eael-filterable-gallery-item-wrap{width:33.3333%;float:left}.elementor-element.elementor-grid-tablet-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n){margin-right:0!important}.elementor-element.elementor-grid-tablet-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n+1){clear:left}.elementor-element.elementor-grid-tablet-4{position:relative}.elementor-element.elementor-grid-tablet-4 .eael-filterable-gallery-item-wrap{width:25%;float:left}.elementor-element.elementor-grid-tablet-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n){margin-right:0!important}.elementor-element.elementor-grid-tablet-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n+1){clear:left}.elementor-element.elementor-grid-tablet-5{position:relative}.elementor-element.elementor-grid-tablet-5 .eael-filterable-gallery-item-wrap{width:20%;float:left}.elementor-element.elementor-grid-tablet-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n){margin-right:0!important}.elementor-element.elementor-grid-tablet-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n+1){clear:left}.elementor-element.elementor-grid-tablet-6{position:relative}.elementor-element.elementor-grid-tablet-6 .pp-logo-grid{margin-right:-6px}.elementor-element.elementor-grid-tablet-6 .eael-filterable-gallery-item-wrap{width:16%;float:left}.elementor-element.elementor-grid-tablet-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n){margin-right:0!important}.elementor-element.elementor-grid-tablet-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n+1){clear:left}}@media only screen and (max-width:767px){.elementor-element.elementor-grid-mobile-1{position:relative}.elementor-element.elementor-grid-mobile-1 .eael-filterable-gallery-item-wrap{width:100%;float:left}.elementor-element.elementor-grid-mobile-2{position:relative}.elementor-element.elementor-grid-mobile-2 .eael-filterable-gallery-item-wrap{width:50%;float:left}.elementor-element.elementor-grid-mobile-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n){margin-right:0!important}.elementor-element.elementor-grid-mobile-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n+1){clear:left}.elementor-element.elementor-grid-mobile-3{position:relative}.elementor-element.elementor-grid-mobile-3 .eael-filterable-gallery-item-wrap{width:33.3333%;float:left}.elementor-element.elementor-grid-mobile-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n){margin-right:0!important}.elementor-element.elementor-grid-mobile-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n+1){clear:left}.elementor-element.elementor-grid-mobile-4{position:relative}.elementor-element.elementor-grid-mobile-4 .eael-filterable-gallery-item-wrap{width:25%;float:left}.elementor-element.elementor-grid-mobile-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n){margin-right:0!important}.elementor-element.elementor-grid-mobile-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n+1){clear:left}.elementor-element.elementor-grid-mobile-5{position:relative}.elementor-element.elementor-grid-mobile-5 .eael-filterable-gallery-item-wrap{width:20%;float:left}.elementor-element.elementor-grid-mobile-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n){margin-right:0!important}.elementor-element.elementor-grid-mobile-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n+1){clear:left}.elementor-element.elementor-grid-mobile-6{position:relative}.elementor-element.elementor-grid-mobile-6 .pp-logo-grid{margin-right:-6px}.elementor-element.elementor-grid-mobile-6 .eael-filterable-gallery-item-wrap{width:16%;float:left}.elementor-element.elementor-grid-mobile-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n){margin-right:0!important}.elementor-element.elementor-grid-mobile-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n+1){clear:left}}.fg-layout-3-filter-controls{margin:0;padding:0;list-style:none}.fg-layout-3-item-content{text-align:center}.fg-layout-3-item-content .fg-item-title{font-size:18px;line-height:1;font-weight:500;margin:0;-webkit-transition:.3s;transition:.3s}.fg-layout-3-item-content .fg-item-content p{font-size:13px;font-weight:400}.fg-filter-wrap{position:relative;flex-basis:30%}.fg-layout-3-filter-controls{position:absolute;left:0;background:#fff;z-index:999;width:150px;visibility:hidden;opacity:0;-webkit-transition:.3s;transition:.3s;width:100%;border-radius:5px;padding-top:7px}.fg-layout-3-filter-controls.open-filters{visibility:visible;opacity:1}.fg-layout-3-filter-controls li.control{padding:5px 5px 5px 10px;cursor:pointer;-webkit-transition:.3s;transition:.3s;font-size:14px;color:#7f8995;font-weight:400}.fg-layout-3-filter-controls li.control:hover{color:#2d425a}.fg-layout-3-filter-controls li.control:first-child{border-top:0 solid}.fg-layout-3-filter-controls li.control:last-child{border-bottom:0 solid}.fg-layout-3-filters-wrap{max-width:600px;margin:15px auto 50px}.fg-filter-wrap button{width:100%;border:0 solid;border-radius:0;padding:17px 13px;font-size:14px;color:#2d425a;background:#f7f8ff;height:55px;border-right:1px solid #abb5ff;border-radius:10px 0 0 10px;outline:0;text-align:center;position:relative}.fg-filter-wrap button>i{font-size:18px;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);margin-left:10px}.fg-layout-3-search-box{flex-basis:70%;height:100%}.fg-layout-3-search-box input[type=text]{width:100%;height:100%;margin:0;padding:15px;border:0 solid;outline:0;background:0 0}.fg-layout-3-search-box input[type=text]::-webkit-input-placeholder{color:#7f8995;font-size:13px}.fg-layout-3-search-box input[type=text]::-moz-placeholder{color:#7f8995;font-size:13px}.fg-layout-3-search-box input[type=text]:-ms-input-placeholder{color:#7f8995;font-size:13px}.fg-layout-3-search-box input[type=text]:-moz-placeholder{color:#7f8995;font-size:13px}.fg-layout-3-filters-wrap{height:55px;border-radius:5px;display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-align:center;align-items:center}.fg-layout-3-filters-wrap .fg-layout-3-search-box{background:#f7f8ff;border-radius:0 10px 10px 0}.fg-layout-3-item-thumb{position:relative;overflow:hidden}.fg-layout-3-item-thumb .gallery-item-buttons{text-align:center;position:absolute;left:0;top:0;height:100%;width:100%;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;z-index:4}.fg-layout-3-item-content{padding:27px 27px 30px;text-align:center}.eael-fg-card-content-align-left .fg-layout-3-item-content{text-align:left}.eael-fg-card-content-align-center .fg-layout-3-item-content{text-align:center}.eael-fg-card-content-align-right .fg-layout-3-item-content{text-align:right}.eael-filterable-gallery-item-wrap .fg-layout-3-item.eael-gallery-grid-item{box-shadow:0 0 30px 0 rgba(3,29,60,.05);border-radius:5px}.fg-caption-head{position:absolute;left:0;top:0;width:100%;display:-webkit-box;display:flex;-webkit-box-pack:justify;justify-content:space-between;padding:35px 35px;z-index:3;color:#fff;font-size:18px;font-weight:700}.fg-item-category>span{font-size:12px;color:#fff;background:#fa9196;padding:10px 12px;display:inline-block}.fg-layout-3-item-content{position:relative}.fg-item-category{position:absolute;left:0;top:0;text-align:center;width:100%;height:30px;margin-top:-15px;z-index:11}.fg-item-category span{border-radius:5px;line-height:1;visibility:hidden;opacity:0;-webkit-transition:.3s;transition:.3s}.fg-layout-3-item.eael-gallery-grid-item:hover .fg-item-category span{visibility:visible;opacity:1}.mfp-iframe-holder .mfp-close,.mfp-image-holder .mfp-close{width:auto}.mfp-zoom-out-cur .mfp-image-holder .mfp-close{cursor:pointer}.mfp-zoom-out-cur .mfp-image-holder .mfp-close:hover{text-decoration:none}button.mfp-arrow:not(.toggle),button.mfp-close:not(.toggle){background:0 0}
18
  .eael-elements-flip-box-container{position:relative;height:300px;width:100%}.eael-elements-flip-box-container .flipbox-button{display:inline-block;-webkit-transition:all .4s;transition:all .4s}.eael-elements-flip-box-container a{display:block}.eael-elements-flip-box-vertical-align{width:100%}.eael-elements-flip-box-padding{padding:0 30px 5px 30px}.eael-elements-flip-box-icon-image{display:inline-block;margin:0 auto 0 auto;line-height:1}.eael-elements-flip-box-icon-image.eael_eleements_flip_front_icon_style_background{background:#ccc}.eael_eleements_flip_front_icon_style_bordered{border:2px solid #fff}.eael_flip_box_icon_border_round{border-radius:100px}.eael_eleements_flip_front_icon_style_background,.eael_eleements_flip_front_icon_style_bordered{padding:15px}.eael-elements-flip-box-icon-image i{font-size:40px}.eael-elements-slider-display-table{width:100%}.eael-elements-flip-box-front-container{text-align:center;position:absolute;top:0;left:0;z-index:2;width:100%;height:100%;background:#0e9dd2;color:#fff;border-color:#000;-webkit-display:flex;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.eael-elements-flip-box-content,.eael-elements-flip-box-heading{color:#fff}.eael-elements-flip-box-heading.flipbox-linked-title{color:#fff;font-size:1.5em;font-weight:700}.eael-elements-flip-box-rear-container{text-align:center;position:absolute;top:0;left:0;width:100%;height:100%;background:#444;color:#fff;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;border-color:#000}.eael-elements-button-floating-container{position:fixed;z-index:100}.eael-elements-button-floating-container .eael-elements-button{margin-top:0;font-size:14px;position:relative;padding:14px 20px}.eael-elements-button{cursor:pointer;display:inline-block;background:#077bbe;color:#fff;line-height:1;padding:16px 25px;margin-top:15px}.eael-elements-button:hover{background:#077bbe;color:#fff}.eael-elements-flip-box-container{-webkit-perspective:1000px;perspective:1000px}.eael-elements-flip-box-front-container,.eael-elements-flip-box-rear-container{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-property:all;transition-property:all;-webkit-transition-timing-function:ease;transition-timing-function:ease}.eael-elements-flip-box-flip-card{width:100%;height:100%;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transition:all .5s ease;transition:all .5s ease}.eael-elements-flip-box-front-container,.eael-elements-flip-box-rear-container{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:rotateX(0);transform:rotateX(0);-webkit-transform:rotateY(0);transform:rotateY(0)}.eael-animate-flip.eael-animate-up .eael-elements-flip-box-rear-container,.eael-animate-flip.eael-animate-up.eael-elements-flip-box-container:hover .eael-elements-flip-box-flip-card{-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}.eael-animate-flip.eael-animate-down .eael-elements-flip-box-rear-container,.eael-animate-flip.eael-animate-down.eael-elements-flip-box-container:hover .eael-elements-flip-box-flip-card{-webkit-transform:rotateX(-180deg);transform:rotateX(-180deg)}.eael-animate-flip.eael-animate-left .eael-elements-flip-box-rear-container,.eael-animate-flip.eael-animate-left.eael-elements-flip-box-container:hover .eael-elements-flip-box-flip-card{-webkit-transform:rotateY(-180deg);transform:rotateY(-180deg)}.eael-animate-flip.eael-animate-right .eael-elements-flip-box-rear-container,.eael-animate-flip.eael-animate-right.eael-elements-flip-box-container:hover .eael-elements-flip-box-flip-card{-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}.eael-animate-push.eael-elements-flip-box-container,.eael-animate-slide.eael-elements-flip-box-container{overflow:hidden}.eael-animate-push .eael-elements-flip-box-rear-container,.eael-animate-slide .eael-elements-flip-box-rear-container{z-index:3}.eael-animate-push.eael-animate-up .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-up .eael-elements-flip-box-rear-container{top:100%}.eael-animate-push.eael-animate-up.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-up.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container{top:0}.eael-animate-push.eael-animate-down .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-down .eael-elements-flip-box-rear-container{top:auto;bottom:100%}.eael-animate-push.eael-animate-down.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-down.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container{top:auto;bottom:0}.eael-animate-push.eael-animate-left .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-left .eael-elements-flip-box-rear-container{left:100%}.eael-animate-push.eael-animate-left.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-left.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container{left:0}.eael-animate-push.eael-animate-right .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-right .eael-elements-flip-box-rear-container{left:auto;right:100%}.eael-animate-push.eael-animate-right.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-right.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container{left:auto;right:0}.eael-animate-push.eael-animate-up.eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container{top:-100%}.eael-animate-push.eael-animate-down.eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container{top:100%}.eael-animate-push.eael-animate-left.eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container{left:-100%}.eael-animate-push.eael-animate-right.eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container{left:100%}.eael-animate-zoom-in .eael-elements-flip-box-rear-container{opacity:0;-webkit-transform:scale(.75);transform:scale(.75);z-index:3}.eael-animate-zoom-in.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container{opacity:1;-webkit-transform:scale(1);transform:scale(1)}.eael-animate-zoom-out.eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container{opacity:0;-webkit-transform:scale(.75);transform:scale(.75)}.eael-animate-fade.eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container{opacity:0}.eael-flipbox-content-align-right .eael-elements-flip-box-padding{text-align:right}.eael-flipbox-content-align-left .eael-elements-flip-box-padding{text-align:left}.eael-flipbox-content-align-center .eael-elements-flip-box-padding{text-align:center}.eael-flipbox-img-circle .eael-elements-flip-box-icon-image img,.eael-flipbox-img-circle .flipbox-back-image-icon img{border-radius:50%;overflow:hidden}
19
- .eael-fluent-form-wrapper label.ff-el-form-check-label{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.eael-fluent-form-wrapper label.ff-el-form-check-label input{margin-right:5px}.eael-fluentform-form-button-full-width .ff-btn-submit{width:100%;display:block}.eael-contact-form.eael-fluent-form-wrapper.error-message-hide .ff-el-is-error .text-danger{display:none}.eael-fluentform-form-button-center .ff-el-group .ff-btn-submit,.eael-fluentform-form-button-center .ff-el-group.ff-text-left .ff-btn-submit,.eael-fluentform-form-button-center .ff-el-group.ff-text-right .ff-btn-submit{margin:0 auto;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.eael-fluentform-form-button-right .ff-el-group .ff-btn-submit,.eael-fluentform-form-button-right .ff-el-group.ff-text-left .ff-btn-submit,.eael-fluentform-form-button-right .ff-el-group.ff-text-right .ff-btn-submit{float:right}.eael-fluentform-form-button-left .ff-el-group .ff-btn-submit,.eael-fluentform-form-button-left .ff-el-group.ff-text-left .ff-btn-submit,.eael-fluentform-form-button-left .ff-el-group.ff-text-right .ff-btn-submit{float:left}.eael-contact-form.eael-fluent-form-wrapper.fluent-form-labels-hide label{display:none!important}.eael-fluentform-section-break-content-left .ff-el-group.ff-el-section-break{text-align:left}.eael-fluentform-section-break-content-center .ff-el-group.ff-el-section-break{text-align:center}.eael-fluentform-section-break-content-right .ff-el-group.ff-el-section-break{text-align:right}
20
- .eael-gravity-form-align-default,.eael-gravity-form-align-left,.eael-gravity-form-btn-align-left{text-align:left}.eael-gravity-form-align-right,.eael-gravity-form-btn-align-right{text-align:right}.eael-gravity-form-align-center,.eael-gravity-form-btn-align-center{text-align:center}.eael-gravity-form .gform_wrapper .gform_footer{margin:0;padding:0}.gform_wrapper form li,.gform_wrapper li{list-style:none}.eael-gravity-form .gform_wrapper ul.gform_fields li.gfield{padding:0}.eael-gravity-form .gform_wrapper textarea{padding:0}.eael-gravity-form .gform_wrapper .gform_footer input.button,.eael-gravity-form .gform_wrapper .gform_footer input[type=submit],.eael-gravity-form .gform_wrapper .gform_page_footer input.button,.eael-gravity-form .gform_wrapper .gform_page_footer input[type=submit]{margin:0}.eael-gravity-form.title-description-hide .gform_heading{display:none}.eael-gravity-form.labels-hide .gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label,.eael-gravity-form.labels-hide .gform_wrapper .top_label .gfield_label{display:none}.eael-gravity-form-button-full-width .gform_wrapper .gform_footer input[type=submit]{width:100%}
21
  .clearfix::after,.clearfix::before{content:" ";display:table;clear:both}.eael-logo-carousel.nav-top-left,.eael-logo-carousel.nav-top-right,.eael-post-carousel.nav-top-left,.eael-post-carousel.nav-top-right,.eael-product-carousel.nav-top-left,.eael-product-carousel.nav-top-right,.eael-team-slider.nav-top-left,.eael-team-slider.nav-top-right,.eael-testimonial-slider.nav-top-left,.eael-testimonial-slider.nav-top-right{padding-top:40px}.eael-contact-form input[type=date],.eael-contact-form input[type=email],.eael-contact-form input[type=number],.eael-contact-form input[type=tel],.eael-contact-form input[type=text],.eael-contact-form input[type=url],.eael-contact-form textarea{background:#fff;box-shadow:none;-webkit-box-shadow:none;float:none;height:auto;margin:0;outline:0;width:100%}.eael-contact-form input[type=submit]{border:0;float:none;height:auto;margin:0;padding:10px 20px;width:auto;-webkit-transition:all .25s linear 0s;transition:all .25s linear 0s}.eael-contact-form.placeholder-hide input::-webkit-input-placeholder,.eael-contact-form.placeholder-hide textarea::-webkit-input-placeholder{opacity:0;visibility:hidden}.eael-contact-form.placeholder-hide input::-moz-placeholder,.eael-contact-form.placeholder-hide textarea::-moz-placeholder{opacity:0;visibility:hidden}.eael-contact-form.placeholder-hide input:-ms-input-placeholder,.eael-contact-form.placeholder-hide textarea:-ms-input-placeholder{opacity:0;visibility:hidden}.eael-contact-form.placeholder-hide input:-moz-placeholder,.eael-contact-form.placeholder-hide textarea:-moz-placeholder{opacity:0;visibility:hidden}.eael-custom-radio-checkbox input[type=checkbox],.eael-custom-radio-checkbox input[type=radio]{-webkit-appearance:none;-moz-appearance:none;border-style:solid;border-width:0;outline:0;min-width:1px;width:15px;height:15px;background:#ddd;padding:3px}.eael-custom-radio-checkbox input[type=checkbox]:before,.eael-custom-radio-checkbox input[type=radio]:before{content:"";width:100%;height:100%;padding:0;margin:0;display:block}.eael-custom-radio-checkbox input[type=checkbox]:checked:before,.eael-custom-radio-checkbox input[type=radio]:checked:before{background:#999;-webkit-transition:all .25s linear 0s;transition:all .25s linear 0s}.eael-custom-radio-checkbox input[type=radio]{border-radius:50%}.eael-custom-radio-checkbox input[type=radio]:before{border-radius:50%}.eael-post-elements-readmore-btn{font-size:12px;font-weight:500;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;display:inline-block}.elementor-lightbox .dialog-widget-content{width:100%;height:100%}.eael-contact-form-align-left,.elementor-widget-eael-weform.eael-contact-form-align-left .eael-weform-container{margin:0 auto 0 0}.eael-contact-form-align-center,.elementor-widget-eael-weform.eael-contact-form-align-center .eael-weform-container{float:none;margin:0 auto}.eael-contact-form-align-right,.elementor-widget-eael-weform.eael-contact-form-align-right .eael-weform-container{margin:0 0 0 auto}
 
22
  .eael-img-accordion{display:-webkit-box;display:flex;height:50vh}.eael-img-accordion a{position:relative;-webkit-box-flex:1;flex:1;text-align:center;text-decoration:none;color:#fff;background-size:cover;background-position:center;background-repeat:no-repeat;-webkit-transition:-webkit-box-flex .4s;transition:-webkit-box-flex .4s;transition:flex .4s;transition:flex .4s,-webkit-box-flex .4s}.eael-grow-accordion{-webkit-box-flex:3;flex:3}.eael-img-accordion .overlay{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;padding:0 10px;position:absolute;top:0;right:0;bottom:0;left:0;-webkit-transition:background-color .4s;transition:background-color .4s}.eael-img-accordion .overlay .overlay-inner{z-index:1}.eael-img-accordion a:after{content:"";position:absolute;width:100%;height:100%;z-index:0;top:0;left:0;bottom:0;right:0;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.eael-img-accordion .overlay-inner *{visibility:hidden;opacity:0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.eael-img-accordion .overlay h2{color:#fff;-webkit-transform:translate3d(0,-60px,0);transform:translate3d(0,-60px,0)}.eael-img-accordion .overlay p{color:#fff;-webkit-transform:translate3d(0,60px,0);transform:translate3d(0,60px,0)}.eael-img-accordion .overlay-inner-show *{opacity:1;visibility:visible;-webkit-transform:none!important;transform:none!important;-webkit-transition:all .3s .3s;transition:all .3s .3s}@media screen and (max-width:800px){.eael-img-accordion{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.eael-img-accordion a:hover{-webkit-box-flex:1;flex:1}.eael-img-accordion a:hover .overlay{background-color:transparent}}
23
  .eael-infobox .infobox-icon{height:auto}.eael-infobox .infobox-icon .infobox-icon-wrap{display:-webkit-box;display:flex;width:100%;height:auto;-webkit-transition:.3s;transition:.3s;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.eael-infobox .infobox-icon .infobox-icon-wrap i{-webkit-transition:.3s;transition:.3s}.eael-infobox-content-align-left .eael-infobox .infobox-button,.eael-infobox-content-align-left .eael-infobox .infobox-content,.eael-infobox-content-align-left .eael-infobox .infobox-icon{text-align:left}.eael-infobox-content-align-right .eael-infobox .infobox-button,.eael-infobox-content-align-right .eael-infobox .infobox-content,.eael-infobox-content-align-right .eael-infobox .infobox-icon{text-align:right}.eael-infobox-content-align-center .eael-infobox .infobox-button,.eael-infobox-content-align-center .eael-infobox .infobox-content,.eael-infobox-content-align-center .eael-infobox .infobox-icon{text-align:center}.eael-infobox-icon-bg-shape-circle .infobox-icon .infobox-icon-wrap,.eael-infobox-icon-bg-shape-radius .infobox-icon .infobox-icon-wrap,.eael-infobox-icon-bg-shape-square .infobox-icon .infobox-icon-wrap{width:90px;height:90px;text-align:center}.eael-infobox-icon-hover-bg-shape-square:hover .infobox-icon .infobox-icon-wrap{border-radius:0}.eael-infobox-icon-bg-shape-radius .infobox-icon .infobox-icon-wrap,.eael-infobox-icon-hover-bg-shape-radius:hover .infobox-icon .infobox-icon-wrap{border-radius:15px}.eael-infobox-icon-bg-shape-radius .infobox-icon .infobox-icon-wrap{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.eael-infobox-icon-bg-shape-circle .infobox-icon .infobox-icon-wrap,.eael-infobox-icon-hover-bg-shape-circle:hover .infobox-icon .infobox-icon-wrap{border-radius:50%}.eael-infobox-icon-bg-shape-circle .infobox-icon .infobox-icon-wrap i,.eael-infobox-icon-bg-shape-square .infobox-icon .infobox-icon-wrap i{margin-top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.eael-infobox .infobox-button a.eael-infobox-button{display:inline-block;padding:5px 10px;-webkit-transition:all .3s ease-in-out 0s;transition:all .3s ease-in-out 0s}.eael-infobox-content-align-left.eael-infobox-icon-bg-shape-circle .infobox-icon,.eael-infobox-content-align-left.eael-infobox-icon-bg-shape-radius .infobox-icon,.eael-infobox-content-align-left.eael-infobox-icon-bg-shape-square .infobox-icon{display:-webkit-box;display:flex;-webkit-box-pack:start;justify-content:flex-start}.eael-infobox-content-align-center.eael-infobox-icon-bg-shape-circle .infobox-icon,.eael-infobox-content-align-center.eael-infobox-icon-bg-shape-radius .infobox-icon,.eael-infobox-content-align-center.eael-infobox-icon-bg-shape-square .infobox-icon{display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center}.eael-infobox-content-align-right.eael-infobox-icon-bg-shape-circle .infobox-icon,.eael-infobox-content-align-right.eael-infobox-icon-bg-shape-radius .infobox-icon,.eael-infobox-content-align-right.eael-infobox-icon-bg-shape-square .infobox-icon{display:-webkit-box;display:flex;-webkit-box-pack:end;justify-content:flex-end}.eael-infobox.icon-on-left{position:relative;z-index:0;display:-webkit-box;display:flex}.eael-infobox.icon-on-left .infobox-icon-wrap,.eael-infobox.icon-on-right .infobox-icon-wrap{-webkit-box-pack:center;justify-content:center;display:-webkit-box!important;display:flex!important;-webkit-box-align:center;align-items:center}.eael-infobox.icon-on-left .infobox-icon .infobox-icon-wrap{background:0 0;border:0;text-align:left;height:auto;display:block}.eael-infobox .infobox-content p{margin:0 0 15px}.eael-infobox.icon-on-left .infobox-icon .infobox-icon-wrap i{margin-top:0;-webkit-transform:translateY(0);transform:translateY(0)}.eael-infobox.icon-on-left .infobox-content{padding-left:15px;-webkit-box-flex:1;flex:1 1 auto}.eael-infobox.icon-on-left .infobox-content .title{line-height:1;margin:0 0 10px 0}.eael-infobox.icon-on-right{position:relative;z-index:0;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;flex-direction:row-reverse}.eael-infobox.icon-on-right .infobox-icon .infobox-icon-wrap{background:0 0;border:0;text-align:right;width:auto;height:auto;display:block}.eael-infobox.icon-on-right .infobox-icon .infobox-icon-wrap i{margin-top:0;-webkit-transform:translateY(0);transform:translateY(0)}.eael-infobox.icon-on-right .infobox-content{padding-right:15px;text-align:right;-webkit-box-flex:1;flex:1 1 auto;box-sizing:border-box}.eael-infobox.icon-on-right .infobox-content .title{line-height:1;margin:0 0 10px 0}.eael-infobox .infobox-icon img{-webkit-transition:all .3s ease-in-out 0s;transition:all .3s ease-in-out 0s}.eael-infobox-hover-img-shape-square:hover .eael-infobox .infobox-icon img{border-radius:0}.eael-infobox-hover-img-shape-circle:hover .eael-infobox .infobox-icon img,.eael-infobox-shape-circle .eael-infobox .infobox-icon img{border-radius:50%}.eael-infobox-hover-img-shape-radius:hover .eael-infobox .infobox-icon img,.eael-infobox-shape-radius .eael-infobox .infobox-icon img{border-radius:15px}
24
  body div.mfp-bg{top:0;left:0;width:100%;height:100%;z-index:1042;overflow:hidden;position:fixed;background:#0b0b0b;opacity:.8}.mfp-wrap{top:0;left:0;width:100%;height:100%;z-index:1043;position:fixed;outline:0!important;-webkit-backface-visibility:hidden;backface-visibility:hidden}.mfp-container{text-align:center;position:absolute;width:100%;height:100%;left:0;top:0;padding:0 8px;box-sizing:border-box}.mfp-container:before{content:'';display:inline-block;height:100%;vertical-align:middle}.mfp-align-top .mfp-container:before{display:none}.mfp-content{position:relative;display:inline-block;vertical-align:middle;margin:0 auto;text-align:left;z-index:1045}.mfp-ajax-holder .mfp-content,.mfp-inline-holder .mfp-content{width:100%;cursor:auto}.mfp-ajax-cur{cursor:progress}.mfp-zoom-out-cur,.mfp-zoom-out-cur .mfp-image-holder .mfp-close{cursor:-webkit-zoom-out;cursor:zoom-out}.mfp-zoom{cursor:pointer;cursor:-webkit-zoom-in;cursor:zoom-in}.mfp-auto-cursor .mfp-content{cursor:auto}.mfp-arrow,.mfp-close,.mfp-counter,.mfp-preloader{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mfp-loading.mfp-figure{display:none}.mfp-hide{display:none!important}.mfp-preloader{color:#ccc;position:absolute;top:50%;width:auto;text-align:center;margin-top:-.8em;left:8px;right:8px;z-index:1044}.mfp-preloader a{color:#ccc}.mfp-preloader a:hover{color:#fff}.mfp-s-ready .mfp-preloader{display:none}.mfp-s-error .mfp-content{display:none}button.mfp-arrow,button.mfp-close{overflow:visible;cursor:pointer;background:0 0;border:0;-webkit-appearance:none;display:block;outline:0;padding:0;z-index:1046;box-shadow:none;touch-action:manipulation}button::-moz-focus-inner{padding:0;border:0}.mfp-close{width:44px;height:44px;line-height:44px;position:absolute;right:0;top:0;text-decoration:none;text-align:center;opacity:.65;padding:0 0 18px 10px;color:#fff;font-style:normal;font-size:28px;font-family:Arial,Baskerville,monospace}.mfp-close:focus,.mfp-close:hover{opacity:1}.mfp-close:active{top:1px}.mfp-close-btn-in .mfp-close{color:#333}.mfp-iframe-holder .mfp-close,.mfp-image-holder .mfp-close{color:#fff;right:-6px;text-align:right;padding-right:6px;width:100%}.mfp-counter{position:absolute;top:0;right:0;color:#ccc;font-size:12px;line-height:18px;white-space:nowrap}.mfp-arrow{position:absolute;opacity:.65;margin:0;top:50%;margin-top:-55px;padding:0;width:90px;height:110px;-webkit-tap-highlight-color:transparent}.mfp-arrow:active{margin-top:-54px}.mfp-arrow:focus,.mfp-arrow:hover{opacity:1}.mfp-arrow:after,.mfp-arrow:before{content:'';display:block;width:0;height:0;position:absolute;left:0;top:0;margin-top:35px;margin-left:35px;border:medium inset transparent}.mfp-arrow:after{border-top-width:13px;border-bottom-width:13px;top:8px}.mfp-arrow:before{border-top-width:21px;border-bottom-width:21px;opacity:.7}.mfp-arrow-left{left:0}.mfp-arrow-left:after{border-right:17px solid #fff;margin-left:31px}.mfp-arrow-left:before{margin-left:25px;border-right:27px solid #3f3f3f}.mfp-arrow-right{right:0}.mfp-arrow-right:after{border-left:17px solid #fff;margin-left:39px}.mfp-arrow-right:before{border-left:27px solid #3f3f3f}.mfp-iframe-holder{padding-top:40px;padding-bottom:40px}.mfp-iframe-holder .mfp-content{line-height:0;width:100%;max-width:900px}.mfp-iframe-holder .mfp-close{top:-40px}.mfp-iframe-scaler{width:100%;height:0;overflow:hidden;padding-top:56.25%}.mfp-iframe-scaler iframe{position:absolute;display:block;top:0;left:0;width:100%;height:100%;box-shadow:0 0 8px rgba(0,0,0,.6);background:#000}img.mfp-img{width:auto;max-width:100%;height:auto;display:block;line-height:0;box-sizing:border-box;padding:40px 0 40px;margin:0 auto}.mfp-figure{line-height:0}.mfp-figure:after{content:'';position:absolute;left:0;top:40px;bottom:40px;display:block;right:0;width:auto;height:auto;z-index:-1;box-shadow:0 0 8px rgba(0,0,0,.6);background:#444}.mfp-figure small{color:#bdbdbd;display:block;font-size:12px;line-height:14px}.mfp-figure figure{margin:0}.mfp-bottom-bar{margin-top:-36px;position:absolute;top:100%;left:0;width:100%;cursor:auto}.mfp-title{text-align:left;line-height:18px;color:#f3f3f3;word-wrap:break-word;padding-right:36px}.mfp-image-holder .mfp-content{max-width:100%}.mfp-gallery .mfp-image-holder .mfp-figure{cursor:pointer}button.mfp-close,button.mfp-close:hover{display:inline-block!important;background:0 0;width:auto}.mfp-arrow,.mfp-arrow:hover{background:0 0}@media screen and (max-width:800px) and (orientation:landscape),screen and (max-height:300px){.mfp-img-mobile .mfp-image-holder{padding-left:0;padding-right:0}.mfp-img-mobile img.mfp-img{padding:0}.mfp-img-mobile .mfp-figure:after{top:0;bottom:0}.mfp-img-mobile .mfp-figure small{display:inline;margin-left:5px}.mfp-img-mobile .mfp-bottom-bar{background:rgba(0,0,0,.6);bottom:0;margin:0;top:auto;padding:3px 5px;position:fixed;box-sizing:border-box}.mfp-img-mobile .mfp-bottom-bar:empty{padding:0}.mfp-img-mobile .mfp-counter{right:5px;top:3px}.mfp-img-mobile .mfp-close{top:0;right:0;width:35px;height:35px;line-height:35px;background:rgba(0,0,0,.6);position:fixed;text-align:center;padding:0}}@media all and (max-width:900px){.mfp-arrow{-webkit-transform:scale(.75);transform:scale(.75)}.mfp-arrow-left{-webkit-transform-origin:0;transform-origin:0}.mfp-arrow-right{-webkit-transform-origin:100%;transform-origin:100%}.mfp-container{padding-left:6px;padding-right:6px}}
25
  .eael-ninja-container input,.eael-ninja-container textarea{height:auto;padding:10px}.eael-contact-form-align-center .eael-ninja-container,.eael-contact-form-btn-align-center .eael-ninja-container .nf-field .nf-field-element input[type=button]{margin-left:auto!important;margin-right:auto!important;display:block;float:none}.eael-contact-form-align-left .eael-ninja-container,.eael-contact-form-btn-align-left .eael-ninja-container .nf-field .nf-field-element input[type=button]{float:left;width:auto}.eael-contact-form-align-right .eael-ninja-container,.eael-contact-form-btn-align-right .eael-ninja-container .nf-field .nf-field-element input[type=button]{float:right;width:auto}.eael-ninja-container .nf-field .nf-field-element input[type=password],.eael-ninja-container .nf-field .nf-field-element input[type=url],.eael-ninja-container .nf-field .nf-field-element textarea,.eael-ninja-container ul.wpuf-form li .wpuf-fields input[type=email],.eael-ninja-container ul.wpuf-form li .wpuf-fields input[type=number],.eael-ninja-container ul.wpuf-form li .wpuf-fields input[type=text]{max-width:100%}.eael-ninja-form .nf-form-title{display:none}.eael-ninja-form-title-yes .nf-form-title{display:block}.eael-ninja-form .title-description-hide .nf-form-title{display:none}.eael-ninja-form.title-description-hide .nf-form-title{display:none}.eael-ninja-form .nf-field-label{display:none}.eael-ninja-form-labels-yes .nf-field-label{display:block}.eael-ninja-form .submit-container input[type=button]{border:0;border-radius:0}.eael-ninja-form-button-full-width .submit-container input[type=button]{width:100%}
26
  .eael-post-grid{margin:0 -10px}.eael-grid-post{float:left;padding:10px}.eael-post-carousel .eael-grid-post{float:none;padding:0}.eael-grid-post-holder{border:1px solid rgba(0,0,0,.1)}.eael-grid-post-holder-inner{height:100%}.eael-entry-media{position:relative}.eael-entry-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;-webkit-transition:opacity .2s ease-in-out,-webkit-transform .25s cubic-bezier(.19,1,.22,1);transition:opacity .2s ease-in-out,-webkit-transform .25s cubic-bezier(.19,1,.22,1);transition:opacity .2s ease-in-out,transform .25s cubic-bezier(.19,1,.22,1);transition:opacity .2s ease-in-out,transform .25s cubic-bezier(.19,1,.22,1),-webkit-transform .25s cubic-bezier(.19,1,.22,1)}.eael-entry-overlay>a{position:absolute;top:0;left:0;width:100%;height:100%;z-index:3}.eael-entry-title{margin:10px 0 5px;font-size:1.2em}.eael-entry-thumbnail img{width:100%;max-width:100%;vertical-align:middle}.eael-entry-thumbnail>img{height:100%}.eael-entry-footer .eael-author-avatar{width:50px}.eael-entry-footer .eael-author-avatar .avatar{border-radius:50%}.eael-post-grid .eael-entry-footer .eael-entry-meta{padding-left:8px;text-align:left}.eael-grid-post .eael-entry-meta{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.eael-grid-post .eael-entry-footer .eael-entry-meta{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.eael-entry-meta>div{font-size:12px;line-height:1.2;padding-bottom:5px}.eael-grid-post-excerpt p{margin:0;font-size:14px}.eael-entry-meta .eael-entry-footer .eael-posted-by{display:block}.eael-grid-post .eael-entry-footer,.eael-grid-post .eael-entry-wrapper{padding:15px}.eael-post-grid .eael-entry-header .eael-entry-meta span.eael-posted-on{padding-left:5px}.eael-post-grid .eael-entry-header .eael-entry-meta span.eael-posted-on::before{content:'\f111';font-family:FontAwesome;color:inherit;opacity:.4;font-size:.8em;padding-right:7px}.eael-entry-media{position:relative}.eael-entry-overlay{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.eael-entry-overlay>i{color:#fff}.eael-entry-overlay.fade-in{visibility:hidden;opacity:0;-webkit-transition:.3s;transition:.3s}.eael-entry-media:hover .eael-entry-overlay.fade-in{visibility:visible;opacity:1}.eael-entry-media:hover .eael-entry-overlay.fade-in>i{-webkit-transform:translate(0);transform:translate(0);opacity:1}.eael-entry-overlay.zoom-in{-webkit-transform:scale(.9);transform:scale(.9);visibility:hidden;opacity:0;-webkit-transition:.3s;transition:.3s}.eael-entry-media:hover .eael-entry-overlay.zoom-in{visibility:visible;opacity:1;-webkit-transform:scale(1);transform:scale(1)}.eael-entry-overlay.slide-up{-webkit-transform:translateY(100%);transform:translateY(100%);visibility:hidden;opacity:0;-webkit-transition:.3s;transition:.3s}.eael-entry-media:hover .eael-entry-overlay.slide-up{-webkit-transform:translateY(0);transform:translateY(0);visibility:visible;opacity:1}.eael-entry-media{overflow:hidden}.eael-entry-media.grid-hover-style-fade-in .eael-entry-overlay{opacity:0}.eael-entry-media.grid-hover-style-fade-in:hover .eael-entry-overlay{opacity:1}.eael-entry-media.grid-hover-style-none .eael-entry-overlay{display:none}.eael-entry-media.grid-hover-style-zoom-in .eael-entry-overlay{-webkit-transform:scale(.4);transform:scale(.4);opacity:0}.eael-entry-media.grid-hover-style-zoom-in:hover .eael-entry-overlay{-webkit-transform:scale(1);transform:scale(1);opacity:1}.eael-entry-media.grid-hover-style-animate-down .eael-entry-overlay{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.eael-entry-media.grid-hover-style-animate-down .eael-entry-overlay>i{-webkit-transform:translateY(-100px);transform:translateY(-100px);-webkit-transition-delay:.1s;transition-delay:.1s;-webkit-transition-duration:.3s;transition-duration:.3s}.eael-entry-media.grid-hover-style-animate-down:hover .eael-entry-overlay{-webkit-transform:translate(0);transform:translate(0)}.eael-entry-media.grid-hover-style-animate-down:hover .eael-entry-overlay>i{-webkit-transform:translateY(0);transform:translateY(0)}.eael-entry-media.grid-hover-style-animate-up .eael-entry-overlay{-webkit-transform:translateY(100%);transform:translateY(100%);visibility:hidden;opacity:0}.eael-entry-media.grid-hover-style-animate-up .eael-entry-overlay>i{-webkit-transform:translateY(100px);transform:translateY(100px);-webkit-transition-delay:.1s;transition-delay:.1s;-webkit-transition-duration:.3s;transition-duration:.3s}.eael-entry-media.grid-hover-style-animate-up:hover .eael-entry-overlay{-webkit-transform:translate(0);transform:translate(0);visibility:visible;opacity:1}.eael-entry-media.grid-hover-style-animate-up:hover .eael-entry-overlay>i{-webkit-transform:translateY(0);transform:translateY(0)}.eael-col-1 .eael-post-grid-column{float:none;width:100%}.eael-col-2 .eael-post-grid-column{float:left;width:50%}.eael-col-3 .eael-post-grid-column{float:left;width:33.3333%}.eael-col-4 .eael-post-grid-column{float:left;width:25%}.eael-col-5 .eael-post-grid-column{float:left;width:20%}.eael-col-6 .eael-post-grid-column{float:left;width:16.6666%}@media only screen and (max-width:979px){.eael-col-1 .eael-post-grid-column,.eael-col-2 .eael-post-grid-column,.eael-col-3 .eael-post-grid-column,.eael-col-4 .eael-post-grid-column,.eael-col-5 .eael-post-grid-column,.eael-col-6 .eael-post-grid-column{width:33.3333%}}@media only screen and (max-width:767px){.eael-col-1 .eael-post-grid-column,.eael-col-2 .eael-post-grid-column,.eael-col-3 .eael-post-grid-column,.eael-col-4 .eael-post-grid-column,.eael-col-5 .eael-post-grid-column,.eael-col-6 .eael-post-grid-column{width:50%}}@media only screen and (max-width:480px){.eael-col-1 .eael-post-grid-column,.eael-col-2 .eael-post-grid-column,.eael-col-3 .eael-post-grid-column,.eael-col-4 .eael-post-grid-column,.eael-col-5 .eael-post-grid-column,.eael-col-6 .eael-post-grid-column{float:none;width:100%}}.eael-author-avatar>a{display:block}.eael-entry-footer{overflow:hidden;display:-webkit-box;display:flex}.eael-entry-footer>div{display:inline-block;float:left}
27
- .eael-post-timeline{margin-bottom:0;min-height:100%;overflow:hidden;position:relative}.eael-timeline-column{width:50%;margin-left:0;float:left;margin-top:0!important}.eael-timeline-post{position:relative}.eael-timeline-post:after{background-color:rgba(83,85,86,.2);content:"";width:2px;height:245px;position:absolute;right:0;top:70px}.eael-timeline-post:nth-child(2n):after{display:none}.eael-timeline-bullet{background-color:#9fa9af;border:5px solid #fff;border-radius:50%;box-shadow:0 1px 0 1px rgba(0,0,0,.1);content:"";height:20px;position:absolute;right:-9px;top:60px;width:20px;z-index:3;cursor:pointer}.eael-timeline-post:nth-child(2n) .eael-timeline-bullet{background-color:#9fa9af;border:5px solid #fff;border-radius:50%;bottom:36px;content:"";height:20px;left:-11px;position:absolute;top:300px;width:20px;z-index:3}.eael-timeline-post-inner{background:linear-gradient(45deg,#3f3f46 0,#05abe0 100%) repeat scroll 0 0 transparent;border:8px solid #e5eaed;box-shadow:0 1px 3px 0 rgba(0,0,0,.15);float:right;margin:30px 40px 30px auto;position:relative;height:320px;width:calc(100% - 40px)}.eael-timeline-post:nth-child(even) .eael-timeline-post-inner{float:left;margin-left:40px}.eael-timeline-post-inner:after{border-color:transparent transparent transparent #e5eaed;border-style:solid;border-width:15px;content:"";height:0;position:absolute;right:-36px;top:17px;width:0}.eael-timeline-post:nth-child(2n) .eael-timeline-post-inner:after{border-color:transparent #e5eaed transparent transparent;border-style:solid;border-width:15px;content:"";height:0;left:-36px;position:absolute;top:257px;width:0}.eael-timeline-post:nth-child(2n) .eael-timeline-post-inner::after{border-left-color:transparent!important}.eael-timeline-post p{margin:1.6rem 0 0 0;font-size:.9em;line-height:1.6em}.eael-timeline-post-image{background-size:cover;background-position:center center;background-repeat:no-repeat;display:block;height:100%;overflow:hidden;position:relative;opacity:.6;-webkit-transition:all .3s;transition:all .3s}.eael-timeline-post-title{bottom:40px;position:absolute;width:100%}.eael-timeline-post-title h2{color:#fff;font-size:20px;font-weight:700;letter-spacing:1px;line-height:24px;padding:0 25px;text-align:left;text-transform:uppercase}.eael-timeline-post-excerpt{opacity:0;position:absolute;top:0;left:0;-webkit-transition:all .3s;transition:all .3s}.eael-timeline-post-excerpt p{color:#fff;font-size:14px;padding:25px}.eael-timeline-post-inner:hover .eael-timeline-post-excerpt{opacity:1;top:10px}.eael-timeline-post-inner:hover .eael-timeline-post-image{opacity:.3}.eael-timeline-post time{opacity:0;background-color:rgba(0,0,0,.7);color:#fff;font-size:10px;border-radius:20px;position:absolute;right:-97px;width:100px;height:30px;line-height:30px;text-align:center;top:50px;z-index:99;-webkit-transition:all .5s;transition:all .5s}.eael-timeline-post:nth-child(2n) time{background-color:rgba(0,0,0,.7);border-radius:20px;color:#fff;font-size:10px;height:30px;left:-99px;line-height:30px;position:absolute;text-align:center;top:290px;width:100px;z-index:99}.eael-timeline-post time:before{border-bottom:5px solid rgba(0,0,0,.7);border-left:5px solid transparent;border-right:5px solid transparent;content:"";height:0;left:45px;position:absolute;top:-5px;width:0}.eael-timeline-post:hover time{opacity:1}.eael-timeline-post::after{height:100%}.eael-post-timeline .eael-timeline-post:nth-last-child(2)::after{height:245px}.eael-post-timeline .eael-timeline-post:last-child::after{display:none}.eael-load-more-button-wrap{display:-webkit-box;display:flex}@media only screen and (max-width:1366px){.eael-timeline-post-title h2{font-size:.8em}.eael-timeline-post-excerpt p{font-size:13px}}@media only screen and (max-width:1169px){.eael-timeline-post-inner{height:320px}}@media only screen and (max-width:992px){.eael-post-timeline{margin-left:0}.eael-timeline-bullet,.eael-timeline-post-inner:after,.eael-timeline-post:after,.eael-timeline-post:before{display:none}.eael-timeline-post{display:inline-block;float:left!important;width:50%!important;margin:15px auto}.eael-timeline-post-inner{height:320px;padding-bottom:30px}.eael-timeline-post-title{bottom:50px}.eael-timeline-post-title h2{font-size:.8em;line-height:1.2em}.eael-timeline-post .eael-timeline-post-inner{margin:0 10px auto 0;width:90%}.eael-timeline-post:nth-child(2n) .eael-timeline-post-inner{margin:0 auto 0 10px;width:90%}.eael-timeline-post-excerpt{opacity:0!important}.eael-timeline-post-image{opacity:.3}.eael-timeline-post time,.eael-timeline-post:nth-child(2n) time{background-color:#fff;border-radius:0;color:#444;font-size:12px;text-transform:uppercase;left:0;opacity:1;padding-top:3px;top:275px;width:100%}time:before{display:none}}@media only screen and (max-width:767px){.eael-timeline-post{display:block;float:none!important;margin:20px auto;width:100%!important}.eael-timeline-post .eael-timeline-post-inner,.eael-timeline-post:nth-child(2n) .eael-timeline-post-inner{display:block;float:none;margin:0 auto}}@media only screen and (max-width:479px){.eael-timeline-post .eael-timeline-post-inner,.eael-timeline-post:nth-child(2n) .eael-timeline-post-inner{height:250px;margin:0 auto;width:95%}.eael-timeline-post time,.eael-timeline-post:nth-child(2n) time{top:205px}}
28
  .eael-pricing{-webkit-display:flex;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center}.eael-pricing .eael-pricing-item{width:100%;height:auto;margin:0}.eael-pricing .eael-pricing-button{display:inline-block;padding:12px 25px;background:#00c853;font-size:14px;font-weight:600;color:#fff;text-transform:uppercase;text-decoration:none;-webkit-transition:.3s;transition:.3s;border-radius:4px}.eael-pricing .eael-pricing-button:hover{background:#03b048}.eael-pricing .eael-pricing-item ul{padding:0;margin:0;list-style:none}.eael-pricing .eael-pricing-item ul li.disable-item{text-decoration:line-through;opacity:.5}.eael-pricing .eael-pricing-item ul li span.li-icon{color:#00c853;margin-right:6px}.eael-pricing .eael-pricing-item ul li.disable-item span.li-icon{color:#ef5350}.eael-pricing.style-1{position:relative;z-index:0;text-align:center}.eael-pricing.style-1 .eael-pricing-item{border:1px solid rgba(9,9,9,.1);padding:30px;border-radius:5px;-webkit-transition:.5s;transition:.5s}.eael-pricing.style-1 .eael-pricing-item:hover{box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22)}.eael-pricing.style-1 .eael-pricing-item.featured{position:relative}.eael-pricing.style-1 .eael-pricing-item.ribbon-1:before{content:"";position:absolute;width:100%;height:3px;background:#00c853;top:0;left:0;right:0;z-index:1;border-radius:5px 5px 0 0}.eael-pricing.style-1 .eael-pricing-item.ribbon-2:before{content:"Featured";position:absolute;width:auto;background:#00c853;color:#fff;top:35px;right:-15px;z-index:10;font-size:10px;font-weight:600;text-transform:uppercase;padding:5px 10px}.eael-pricing.style-1 .eael-pricing-item.ribbon-2:after{content:"";position:absolute;top:20px;right:-15px;width:0;height:0;border-bottom:15px solid #00c853;border-right:15px solid transparent;z-index:9;opacity:.9}.eael-pricing.style-1 .eael-pricing-item.ribbon-3:before{content:"Featured";position:absolute;width:auto;background:rgba(0,0,0,.6);color:#fff;top:15px;right:15px;z-index:10;font-size:11px;font-weight:600;text-transform:uppercase;padding:5px 15px}.eael-pricing.style-1 .eael-pricing-item .header{display:block;position:relative;z-index:0;padding-bottom:15px;margin-bottom:15px}.eael-pricing.style-1 .eael-pricing-item .header:after{content:"";position:absolute;width:140px;height:1px;bottom:0;left:0;right:0;margin:0 auto;z-index:1;background:rgba(9,9,9,.1)}.eael-pricing.style-1 .eael-pricing-item .header .title{font-weight:700;line-height:30px;margin:0}.eael-pricing.style-1 .eael-pricing-item .eael-pricing-tag{position:relative;z-index:0;padding:15px 0;margin-bottom:15px}.eael-pricing.style-1 .eael-pricing-item .eael-pricing-tag:after{content:"";position:absolute;width:140px;height:1px;bottom:0;left:0;right:0;margin:0 auto;z-index:1;background:rgba(9,9,9,.04)}.eael-pricing.style-1 .eael-pricing-item .price-tag{position:relative;display:inline-block;font-size:28px;font-weight:500;line-height:0;margin:0 auto}.eael-pricing.style-1 .eael-pricing-item .price-tag .price-currency{font-size:24px;font-weight:700}.eael-pricing.style-1 .eael-pricing-item .price-period{color:#999}.eael-pricing.style-1 .eael-pricing-item .body ul{display:block;width:100%;margin-bottom:15px}.eael-pricing.style-1 .eael-pricing-item .body ul li{display:block;width:100%;height:auto;padding:10px 0;font-size:14px;color:#6d6d6d;border-bottom:1px solid rgba(9,9,9,.04)}.eael-pricing.style-1 .eael-pricing-item .body ul li:last-child{border:none}.eael-pricing.style-1 .eael-pricing-item.featured-large{padding:60px 0}.eael-pricing.style-2{position:relative;z-index:0;text-align:center}.eael-pricing.style-2 .eael-pricing-item{padding:30px 0;border-radius:5px;margin:0;border:1px solid rgba(9,9,9,.1)}.eael-pricing.style-2 .eael-pricing-item.featured{box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22)}.eael-pricing.style-2 .eael-pricing-item.ribbon-1:before{content:"";position:absolute;width:100%;height:3px;background:#00c853;top:0;left:0;right:0;z-index:1;border-radius:5px 5px 0 0}.eael-pricing.style-2 .eael-pricing-item.ribbon-2:before{content:"Featured";position:absolute;width:auto;background:#00c853;color:#fff;top:35px;right:-15px;z-index:10;font-size:10px;font-weight:600;text-transform:uppercase;padding:5px 10px}.eael-pricing.style-2 .eael-pricing-item.ribbon-2:after{content:"";position:absolute;top:20px;right:-15px;width:0;height:0;border-bottom:15px solid #00c853;border-right:15px solid transparent;z-index:9;opacity:.9}.eael-pricing.style-2 .eael-pricing-item.ribbon-3:before{content:"Featured";position:absolute;width:auto;background:rgba(0,0,0,.6);color:#fff;top:15px;right:15px;z-index:10;font-size:11px;font-weight:600;text-transform:uppercase;padding:5px 15px}.eael-pricing.style-2 .eael-pricing-item .eael-pricing-icon .icon{display:inline-block;position:relative;width:80px;height:80px;background:#00c853;border-radius:50%;margin-bottom:30px;-webkit-transition:.5s;transition:.5s;overflow:hidden}.eael-pricing.style-2 .eael-pricing-item .eael-pricing-icon,.eael-pricing.style-2 .eael-pricing-item .eael-pricing-icon .icon{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.eael-pricing.style-2 .eael-pricing-item .eael-pricing-icon .icon i{font-size:30px;color:#fff;-webkit-transition:.5s;transition:.5s}.eael-pricing.style-2 .eael-pricing-item:hover .eael-pricing-icon .icon{background:#43a047}.eael-pricing.style-2 .eael-pricing-item:hover .eael-pricing-icon .icon i{color:#fff}.eael-pricing.style-2 .eael-pricing-item .header{background:#c8e6c9;padding:25px 30px;margin-bottom:15px;position:relative;z-index:0}.eael-pricing.style-2 .eael-pricing-item.featured .header:after{content:"";position:absolute;width:100%;height:100%;top:0;left:0;right:0;bottom:0;z-index:-1;background:rgba(255,255,255,.4)}.eael-pricing.style-2 .eael-pricing-item .header .title{font-size:28px;font-weight:700;line-height:40px;margin:0}.eael-pricing.style-2 .eael-pricing-item .header .subititle{font-size:14px;font-weight:600;color:#6d6d6d}.eael-pricing.style-2 .eael-pricing-item .eael-pricing-tag{position:relative;z-index:0;padding:15px 0;margin-bottom:15px}.eael-pricing.style-2 .eael-pricing-item .eael-pricing-tag:after{content:"";position:absolute;width:140px;height:1px;bottom:0;left:0;right:0;margin:0 auto;z-index:1;background:rgba(9,9,9,.04)}.eael-pricing.style-2 .eael-pricing-item .price-tag{position:relative;display:inline-block;font-size:28px;font-weight:500;line-height:0;margin:0 auto}.eael-pricing.style-2 .eael-pricing-item .price-tag .price-currency{font-size:24px;font-weight:700;color:#00c853}.eael-pricing.style-2 .eael-pricing-item .price-period{color:#999}.eael-pricing.style-2 .eael-pricing-item .body ul{display:block;width:100%;margin-bottom:15px}.eael-pricing.style-2 .eael-pricing-item .body ul li{display:block;width:100%;height:auto;padding:10px 15px;font-size:14px;color:#6d6d6d;border-bottom:1px solid rgba(9,9,9,.04)}.eael-pricing.style-2 .eael-pricing-item .body ul li:last-child{border:none}@media only screen and (min-width:768px) and (max-width:992px){.eael-pricing{display:block}.eael-pricing .eael-pricing-item,.eael-pricing.style-2 .eael-pricing-item,.eael-pricing.style-4 .eael-pricing-item{width:100%;margin:0 auto 30px auto}}@media only screen and (max-width:480px){.eael-pricing{display:block}.eael-pricing .eael-pricing-item{width:100%}.eael-pricing .eael-pricing-item,.eael-pricing.style-2 .eael-pricing-item,.eael-pricing.style-4 .eael-pricing-item{margin:0 auto 30px auto}}.eael-pricing-content-align-center .eael-pricing{text-align:center}.eael-pricing-content-align-left .eael-pricing{text-align:left}.eael-pricing-content-align-right .eael-pricing{text-align:right}.eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .price-tag{padding-left:45px}.eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .price-tag:before{left:30px}.eael-pricing-content-align-right .eael-pricing.style-2 .eael-pricing-item .eael-pricing-tag{padding-right:30px}.eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .footer,.eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .header,.eael-pricing-content-align-left .eael-pricing.style-4 .eael-pricing-item .footer,.eael-pricing-content-align-left .eael-pricing.style-4 .eael-pricing-item .header{padding-left:30px;padding-right:30px}.eael-pricing-content-align-right .eael-pricing.style-2 .eael-pricing-item .footer,.eael-pricing-content-align-right .eael-pricing.style-2 .eael-pricing-item .header,.eael-pricing-content-align-right .eael-pricing.style-4 .eael-pricing-item .footer,.eael-pricing-content-align-right .eael-pricing.style-4 .eael-pricing-item .header{padding-right:30px;padding-left:30px}.eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .body ul li,.eael-pricing-content-align-left .eael-pricing.style-4 .eael-pricing-item .body ul li{padding-left:30px}.eael-pricing-content-align-right .eael-pricing.style-2 .eael-pricing-item .body ul li,.eael-pricing-content-align-right .eael-pricing.style-4 .eael-pricing-item .body ul li{padding-right:30px}.eael-pricing-content-align-left .eael-pricing.style-3 .eael-pricing-item .header:after{-webkit-transform:translateX(-80%);transform:translateX(-80%)}.eael-pricing-content-align-right .eael-pricing.style-3 .eael-pricing-item .header:after{-webkit-transform:translateX(80%);transform:translateX(80%)}.eael-pricing-content-align-left .eael-pricing.style-3 .eael-pricing-item:hover .header:after,.eael-pricing-content-align-right .eael-pricing.style-3 .eael-pricing-item:hover .header:after{-webkit-transform:translateX(0);transform:translateX(0)}.eael-pricing-content-align-left .eael-pricing.style-1 .eael-pricing-item .eael-pricing-tag:after,.eael-pricing-content-align-left .eael-pricing.style-1 .eael-pricing-item .header:after,.eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .eael-pricing-tag:after,.eael-pricing-content-align-right .eael-pricing.style-1 .eael-pricing-item .eael-pricing-tag:after,.eael-pricing-content-align-right .eael-pricing.style-1 .eael-pricing-item .header:after,.eael-pricing-content-align-right .eael-pricing.style-2 .eael-pricing-item .eael-pricing-tag:after{margin:0;width:100%}.eael-pricing-button-align-right .eael-pricing.style-1 .footer,.eael-pricing-button-align-right .eael-pricing.style-2 .footer,.eael-pricing-button-align-right .eael-pricing.style-3 .footer,.eael-pricing-button-align-right .eael-pricing.style-4 .footer{text-align:right}.eael-pricing-button-align-center .eael-pricing.style-1 .footer,.eael-pricing-button-align-center .eael-pricing.style-2 .footer,.eael-pricing-button-align-center .eael-pricing.style-3 .footer,.eael-pricing-button-align-center .eael-pricing.style-4 .footer{text-align:center}.eael-pricing-button-align-left .eael-pricing.style-1 .footer,.eael-pricing-button-align-left .eael-pricing.style-2 .footer,.eael-pricing-button-align-left .eael-pricing.style-3 .footer,.eael-pricing-button-align-left .eael-pricing.style-4 .footer{text-align:left}.eael-pricing-content-align-center.eael-pricing-button-align-right .eael-pricing.style-2 .footer,.eael-pricing-content-align-center.eael-pricing-button-align-right .eael-pricing.style-4 .footer{padding-right:30px}.eael-pricing-content-align-center.eael-pricing-button-align-left .eael-pricing.style-2 .footer,.eael-pricing-content-align-center.eael-pricing-button-align-left .eael-pricing.style-4 .footer{padding-left:30px}.only-in-pro{width:100%;-webkit-display:flex;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;padding:15px;min-width:200px;background:#ef5350;color:#fff;text-align:center}.only-in-pro .title{font-family:Roboto,sans-serif;font-size:24px;line-height:40px;margin:0}div.tooltipster-sidetip.tooltipster-base.tooltipster-right .tooltipster-arrow{position:absolute;top:50%}div.tooltipster-sidetip.tooltipster-top div.tooltipster-box{margin-bottom:0!important}div.tooltipster-sidetip.tooltipster-bottom div.tooltipster-box{margin-top:0!important}.tooltipster-base.tooltipster-sidetip.tooltipster-top .tooltipster-arrow{top:auto;bottom:-8px}div.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow{top:-8px;bottom:auto}@media only screen and (max-width:480px){.eael-pricing.style-1 .eael-pricing-item .price-tag{display:block}}
29
  .eael-post-grid .woocommerce ul.products,.eael-product-grid .woocommerce ul.products{display:grid;grid-gap:25px;margin:0!important;padding:0!important}.eael-post-grid .woocommerce ul.products:after,.eael-post-grid .woocommerce ul.products:before,.eael-product-grid .woocommerce ul.products:after,.eael-product-grid .woocommerce ul.products:before{display:none}.eael-post-grid .woocommerce ul.products .product,.eael-product-grid .woocommerce ul.products .product{width:100%;margin:0;padding:0}.eael-post-grid .woocommerce ul.products.products[class*=columns-] li.product,.eael-product-grid .woocommerce ul.products.products[class*=columns-] li.product{width:100%}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product{position:relative;float:left;overflow:hidden;text-align:center;padding:0;border-radius:0;background-color:#fff;box-shadow:none}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product a,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product a,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product a,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product a{text-decoration:none}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product a:hover,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product a:hover,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product a:hover,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product a:hover{outline:0;box-shadow:none}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product img,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product img,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product img,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product img{width:100%;height:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .woocommerce-loop-product__title,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .woocommerce-loop-product__title,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .woocommerce-loop-product__title,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:16px;font-weight:700;line-height:1;color:#333;margin:25px 0 12px;padding:0}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .onsale,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .onsale,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .onsale,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .onsale{display:block;line-height:170px;font-size:13px;text-align:center;letter-spacing:0;text-shadow:0 1px 1px rgba(0,0,0,.6);text-transform:uppercase;color:#fff;background-color:#ff2a13;border-radius:0;border:none;box-shadow:none;position:absolute;height:100px;width:200px;z-index:1;left:-100px;top:-50px;right:auto;margin:0;padding:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .price,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .price,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .price,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .price{font-size:14px;margin-bottom:0}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .price del,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .price del,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .price del,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .price del{opacity:.5;display:inline-block}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .price ins,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .price ins,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .price ins,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .price ins{font-weight:400;background-color:transparent;color:#ff2a13}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .star-rating,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .star-rating,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .star-rating,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .star-rating{display:block;float:none;font-size:14px;margin:10px auto}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button{display:block;font-size:14px;font-weight:400;line-height:38px;text-align:center;text-transform:uppercase;color:#fff;background-color:#333;padding:0;margin:15px;border-radius:0}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button:focus,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button:focus,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button:focus,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button:focus{outline:0}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product a.added_to_cart,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product a.added_to_cart{display:block;margin:0 0 15px 0;padding:0;font-size:14px;line-height:1;text-transform:capitalize;color:#333;background-color:transparent}.eael-post-grid.eael-product-simple .woocommerce ul.products li.product,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product{border:1px solid #eee}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product{border:1px solid transparent}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart{visibility:hidden;-webkit-transition:none;transition:none}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product:hover,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product:hover{border:1px solid #eee}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product:hover .button.add_to_cart_button,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product:hover a.added_to_cart,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product:hover .button.add_to_cart_button,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product:hover a.added_to_cart{visibility:visible}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product{position:relative;float:left;overflow:hidden;text-align:center;padding:0 0 15px 0;border-radius:0;background-color:#fff;box-shadow:none}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product a,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product a{text-decoration:none}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product a:hover,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product a:hover{outline:0;box-shadow:none}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product img,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product img{width:100%;height:auto;margin:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay{position:relative;overflow:hidden;line-height:0}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .button-wrap,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .button-wrap{position:absolute;top:50%;left:0;right:0;text-align:center;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link{display:inline-block;font-size:14px;line-height:38px;text-align:center;color:#fff;background-color:#333;width:38px;height:38px;border-style:none;border-radius:50%;vertical-align:middle;padding:0;margin:0 5px;-webkit-transform:translateY(20px);transform:translateY(20px);opacity:0;-webkit-transition:opacity .3s,-webkit-transform .2s;transition:opacity .3s,-webkit-transform .2s;transition:transform .2s,opacity .3s;transition:transform .2s,opacity .3s,-webkit-transform .2s}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:focus,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:focus,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link:focus,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:focus,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:focus,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link:focus{outline:0}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button{font-size:0}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:before,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:before{display:none}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:after,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:after{content:"\f217";font:normal normal normal 14px/1 FontAwesome;font-size:14px;line-height:38px;text-rendering:auto;-webkit-font-smoothing:antialiased;vertical-align:middle;margin:0;padding:0}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button.loading:before,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button.loading:before{display:none}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button.loading:after,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button.loading:after{content:"\f110";display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:14px;line-height:38px;color:#fff;height:auto;width:auto;position:relative;top:0;left:0;margin:0;padding:0}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart{font-size:0}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:after,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:after{content:"\f06e";font:normal normal normal 14px/1 FontAwesome;font-size:14px;line-height:38px;color:#fff;text-rendering:auto;-webkit-font-smoothing:antialiased;vertical-align:middle;margin:0;padding:0}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .woocommerce-loop-product__title,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:16px;font-weight:700;line-height:1;color:#333;margin:25px 0 12px;padding:0}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .onsale,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .onsale{display:block;line-height:170px;font-size:13px;text-align:center;letter-spacing:0;text-shadow:0 1px 1px rgba(0,0,0,.6);text-transform:uppercase;color:#fff;background-color:#ff2a13;border-radius:0;border:none;box-shadow:none;position:absolute;height:100px;width:200px;z-index:1;left:-100px;top:-50px;right:auto;margin:0;padding:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .price,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .price{font-size:14px;margin-bottom:0}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .price del,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .price del{opacity:.5;display:inline-block}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .price ins,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .price ins{font-weight:400;background-color:transparent;color:#ff2a13}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .star-rating,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .star-rating{display:block;float:none;font-size:14px;margin:10px auto}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay .add_to_cart_button,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay a,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay .add_to_cart_button,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay a{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}@media only screen and (min-width:1025px){.eael-product-grid-column-1 .eael-product-grid .woocommerce ul.products{grid-template-columns:100%}.eael-product-grid-column-2 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(2,1fr)}.eael-product-grid-column-3 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(3,1fr)}.eael-product-grid-column-4 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(4,1fr)}.eael-product-grid-column-5 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(5,1fr)}.eael-product-grid-column-6 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(6,1fr)}}@media only screen and (max-width:1024px) and (min-width:766px){.eael-product-grid-column-tablet-1 .eael-product-grid .woocommerce ul.products{grid-template-columns:100%}.eael-product-grid-column-tablet-2 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(2,1fr)}.eael-product-grid-column-tablet-3 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(3,1fr)}.eael-product-grid-column-tablet-4 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(4,1fr)}.eael-product-grid-column-tablet-5 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(5,1fr)}.eael-product-grid-column-tablet-6 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(6,1fr)}}@media only screen and (max-width:767px){.eael-product-grid-column-mobile-1 .eael-product-grid .woocommerce ul.products{grid-template-columns:100%}.eael-product-grid-column-mobile-2 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(2,1fr)}.eael-product-grid-column-mobile-3 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(3,1fr)}.eael-product-grid-column-mobile-4 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(4,1fr)}.eael-product-grid-column-mobile-5 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(5,1fr)}.eael-product-grid-column-mobile-6 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(6,1fr)}}
30
  @-webkit-keyframes animateStripe{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(35px,0);transform:translate(35px,0)}}@keyframes animateStripe{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(35px,0);transform:translate(35px,0)}}@-webkit-keyframes animateStripeRTL{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(-35px,0);transform:translate(-35px,0)}}@keyframes animateStripeRTL{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(-35px,0);transform:translate(-35px,0)}}.eael-progressbar{position:relative}.eael-progressbar-title{font-size:20px;font-weight:400}.eael-progressbar-line{position:relative;display:block;width:100%;height:12px;background-color:#eee}.eael-progressbar-line .eael-progressbar-count-wrap{position:absolute;right:0;bottom:calc(100% + 5px);font-size:16px;font-weight:400;line-height:1}.eael-progressbar-line-fill{display:inline-block;position:absolute;top:50%;left:0;width:0;height:12px;background-color:#000;-webkit-transform:translateY(-50%);transform:translateY(-50%);-webkit-transition:width 1.5s linear;transition:width 1.5s linear;overflow:hidden}.eael-progressbar-circle{position:relative;width:200px;height:200px}.eael-progressbar-circle .eael-progressbar-title{font-size:16px;font-weight:400}.eael-progressbar-circle .eael-progressbar-count-wrap{font-size:28px;font-weight:700}.eael-progressbar-circle-shadow{width:220px;height:220px;padding:10px;border-radius:50%}.eael-progressbar-circle-pie{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-clip-path:inset(0 0 0 50%);clip-path:inset(0 0 0 50%)}.eael-progressbar-circle-inner{height:100%;width:100%;border-width:12px;border-style:solid;border-color:#eee;border-radius:50%}.eael-progressbar-circle-half{position:absolute;left:0;top:0;height:100%;width:100%;border-width:12px;border-style:solid;border-color:#000;border-radius:50%;-webkit-clip-path:inset(0 50% 0 0);clip-path:inset(0 50% 0 0)}.eael-progressbar-circle-half-left{-webkit-transform:rotate(0);transform:rotate(0)}.eael-progressbar-circle-half-right{-webkit-transform:rotate(180deg);transform:rotate(180deg);visibility:hidden}.eael-progressbar-circle-inner-content{position:absolute;top:50%;width:100%;-webkit-transform:translateY(-50%);transform:translateY(-50%);text-align:center}.eael-progressbar-half-circle{position:relative;width:200px;height:100px;overflow:hidden}.eael-progressbar-half-circle .eael-progressbar-circle-pie{-webkit-clip-path:inset(0 0 50% 0);clip-path:inset(0 0 50% 0)}.eael-progressbar-half-circle .eael-progressbar-circle-half{-webkit-clip-path:inset(50% 0 0 0);clip-path:inset(50% 0 0 0);-webkit-transform:rotate(0);transform:rotate(0);-webkit-transition:-webkit-transform 1.5s linear;transition:-webkit-transform 1.5s linear;transition:transform 1.5s linear;transition:transform 1.5s linear,-webkit-transform 1.5s linear}.eael-progressbar-half-circle .eael-progressbar-circle-inner-content{top:initial;bottom:0;-webkit-transform:translateY(0);transform:translateY(0)}.eael-progressbar-half-circle .eael-progressbar-title{font-size:16px;font-weight:400}.eael-progressbar-half-circle .eael-progressbar-count-wrap{font-size:28px;font-weight:700}.eael-progressbar-half-circle-after{position:relative;font-size:12px;font-weight:400;clear:both}.eael-progressbar-postfix-label{float:right}.eael-progressbar-line-stripe .eael-progressbar-line-fill:after{content:'';position:absolute;top:0;left:-35px;width:calc(100% + 70px);height:100%;background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:35px 35px}.eael-progressbar-line-animate .eael-progressbar-line-fill:after{-webkit-animation:animateStripe 2s linear infinite;animation:animateStripe 2s linear infinite}.eael-progressbar-line-animate-rtl .eael-progressbar-line-fill:after{-webkit-animation:animateStripeRTL 2s linear infinite;animation:animateStripeRTL 2s linear infinite}.eael-progressbar-circle-wrap>div{margin:0 auto}.eael-progressbar-box-container.left>div,.eael-progressbar-circle-container.left>div,.eael-progressbar-line-container.left{margin:0 auto 0 0}.eael-progressbar-box-container.center>div,.eael-progressbar-circle-container.center>div,.eael-progressbar-line-container.center{margin:0 auto}.eael-progressbar-box-container.right>div,.eael-progressbar-circle-container.right>div,.eael-progressbar-line-container.right{margin:0 0 0 auto}
31
  .eael-reading-progress-wrap.eael-reading-progress-wrap-local .eael-reading-progress-global{display:none}.eael-reading-progress-wrap.eael-reading-progress-wrap-global .eael-reading-progress-local{display:none}.eael-reading-progress-wrap.eael-reading-progress-wrap-disabled .eael-reading-progress-global,.eael-reading-progress-wrap.eael-reading-progress-wrap-disabled .eael-reading-progress-local{display:none}.eael-reading-progress-wrap .eael-reading-progress{width:100%;position:fixed;top:0;left:0;height:5px;z-index:999999}.eael-reading-progress-wrap .eael-reading-progress.eael-reading-progress-bottom{top:unset;bottom:0}.eael-reading-progress-wrap .eael-reading-progress .eael-reading-progress-fill{height:5px;background-color:#1fd18e;width:0%;-webkit-transition:width 50ms ease;transition:width 50ms ease}
32
  .eaelsv-overlay{position:absolute;display:block;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);z-index:4;cursor:pointer;background-size:cover;background-position:50%;text-align:center;overflow:hidden}.eaelsv-overlay-icon{position:absolute;top:50%;left:50%;font-size:90px;color:#fff;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%)}.plyr__controls button{box-shadow:none!important}.plyr__controls button:hover{box-shadow:none!important}.plyr__controls{display:none!important}.eael-sticky-video-wrapper{position:relative;width:100%;min-height:200px;margin:0;padding:0;-webkit-transition:.5s;transition:.5s;text-align:left;overflow:hidden}.eael-sticky-video-player2{min-height:20px;overflow:visible}.eael-sticky-video-player2.out{position:fixed;z-index:999;border:0!important;border-radius:0!important;height:200px;width:300px}.eael-sticky-video-wrapper.out .eael-sticky-video-player,.eael-sticky-video-wrapper.out .eael-sticky-video-player2{border-radius:0!important}.eael-sticky-video-player2.in{position:relative;margin:0;padding:0;height:100%;border:0;line-height:1}.owp-play{position:absolute;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.owp-play i{font-size:100px;color:#fff;opacity:.8;text-shadow:1px 0 6px rgba(0,0,0,.3);-webkit-transition:all .5s;transition:all .5s}.eael-sticky-video-player:hover .owp-play i{opacity:1}.eaelsv-sticky-player-close{position:absolute;right:-25px;top:-36px;display:none;padding:7px;font-size:24px;z-index:9999;cursor:pointer;box-sizing:content-box;overflow:visible}.eaelsv-sticky-player-close:hover{color:#090}.eaelsv-sticky-player-close:after,.eaelsv-sticky-player-close:before{position:absolute;left:15px;background-color:#333}.eaelsv-sticky-player-close:before{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.eaelsv-sticky-player-close:after{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}
 
33
  .eael-team-item{overflow:hidden;position:relative}.team-avatar-rounded figure img{border-radius:50%;height:auto}.eael-team-image>figure{margin:0;padding:0}.eael-team-image>figure img{display:block;margin:0 auto}.eael-team-item .eael-team-content{padding:10px}.eael-team-item .eael-team-member-name{font-size:20px;font-weight:700;letter-spacing:.05em;margin:5px 0;text-transform:uppercase}.eael-team-item .eael-team-member-position{font-size:14px;font-weight:400;letter-spacing:.05em;margin:5px 0 10px;text-transform:uppercase}.eael-team-item .eael-team-content,.eael-team-item .eael-team-content .eael-team-text{font-size:14px;line-height:1.5}.eael-team-content>ul{margin:0;padding:0}.eael-team-content li{display:inline-block;list-style:outside none none;margin-right:10px;text-align:center}.eael-team-content li a{font-size:2.5rem}.eael-team-align-left .eael-team-item .eael-team-content li,.eael-team-align-left .eael-team-item .eael-team-content p,.eael-team-align-left .eael-team-item .eael-team-content ul,.eael-team-align-left .eael-team-item .eael-team-member-name,.eael-team-align-left .eael-team-item .eael-team-member-position,.eael-team-align-left .eael-team-item .eael-team-text{text-align:left}.eael-team-align-right .eael-team-item .eael-team-content li,.eael-team-align-right .eael-team-item .eael-team-content p,.eael-team-align-right .eael-team-item .eael-team-content ul,.eael-team-align-right .eael-team-item .eael-team-member-name,.eael-team-align-right .eael-team-item .eael-team-member-position,.eael-team-align-right .eael-team-item .eael-team-text{text-align:right}.eael-team-align-centered .eael-team-item .eael-team-content li,.eael-team-align-centered .eael-team-item .eael-team-content p,.eael-team-align-centered .eael-team-item .eael-team-content ul,.eael-team-align-centered .eael-team-item .eael-team-member-name,.eael-team-align-centered .eael-team-item .eael-team-member-position,.eael-team-align-centered .eael-team-item .eael-team-text{text-align:center}.eael-team-item.eael-team-members-overlay .eael-team-content{bottom:10px;left:10px;margin-bottom:0;padding-top:15%;opacity:0;overflow:hidden;text-overflow:ellipsis;position:absolute;right:10px;top:10px;-webkit-transition:all 615ms cubic-bezier(.19,1,.22,1) 0s;transition:all 615ms cubic-bezier(.19,1,.22,1) 0s}.eael-team-item.eael-team-members-overlay:hover .eael-team-content{opacity:1}.eael-team-member-social-link>a{display:inline-block;-webkit-transition:all .3s cubic-bezier(.19,1,.22,1) 0s;transition:all .3s cubic-bezier(.19,1,.22,1) 0s}.eael-team-member-social-link>a:focus{outline:0}
34
  .eael-testimonial-slider{position:relative}.testimonial-star-rating{padding:0;margin:0}.testimonial-star-rating li{list-style:none;display:inline-block}.testimonial-star-rating li i{color:#d8d8d8}.rating-five .testimonial-star-rating li i{color:#f2b01e}.rating-one .testimonial-star-rating li:first-child i{color:#f2b01e}.rating-two .testimonial-star-rating li:nth-child(1) i,.rating-two .testimonial-star-rating li:nth-child(2) i{color:#f2b01e}.rating-three .testimonial-star-rating li:nth-child(1) i,.rating-three .testimonial-star-rating li:nth-child(2) i,.rating-three .testimonial-star-rating li:nth-child(3) i{color:#f2b01e}.rating-four .testimonial-star-rating li:nth-child(1) i,.rating-four .testimonial-star-rating li:nth-child(2) i,.rating-four .testimonial-star-rating li:nth-child(3) i,.rating-four .testimonial-star-rating li:nth-child(4) i{color:#f2b01e}.eael-testimonial-image img{max-width:100%}.eael-testimonial-image{padding:10px 0 0 0}.eael-testimonial-image>figure{display:block;margin:0}.testimonial-avatar-rounded figure img{border-radius:50%;height:auto}.eael-testimonial-content{margin:0;padding:10px}.eael-testimonial-item>figure{margin:0 auto;padding:0 20px}.eael-testimonial-item .center-text{text-align:center}.eael-testimonial-item .right-text{text-align:right}.eael-testimonial-item .left-text{text-align:left}.eael-testimonial-item .justify-text{text-align:justify}.eael-testimonial-content .eael-testimonial-text{font-size:100%;font-style:italic;line-height:1.5;margin-top:0;margin-bottom:10px;word-wrap:break-word}.eael-testimonial-content .eael-testimonial-user{display:inline-block;font-family:inherit;font-size:105%;font-style:italic;font-weight:400;line-height:1.5;margin-top:0;margin-bottom:0;margin-right:5px}.eael-testimonial-content .eael-testimonial-user-company{display:inline-block;font-family:inherit;font-size:90%;font-style:italic;font-weight:lighter;line-height:1.75;margin-bottom:0;margin-top:1px}.eael-testimonial-image{position:relative}.eael-testimonial-item .eael-testimonial-quote::after{color:inherit!important;content:"\f10e";font-family:"Font Awesome 5 Free";font-size:200%;font-weight:900}.eael-testimonial-slider.default-style .eael-testimonial-align-centered .eael-testimonial-image figure img{margin:0 auto}.eael-testimonial-slider.classic-style .eael-testimonial-align-left .eael-testimonial-image figure img,.eael-testimonial-slider.classic-style .eael-testimonial-align-right .eael-testimonial-image figure img,.eael-testimonial-slider.default-style .eael-testimonial-align-left .eael-testimonial-image figure img,.eael-testimonial-slider.default-style .eael-testimonial-align-right .eael-testimonial-image figure img,.eael-testimonial-slider.middle-style .eael-testimonial-align-left .eael-testimonial-image figure img,.eael-testimonial-slider.middle-style .eael-testimonial-align-right .eael-testimonial-image figure img{margin:0}.eael-testimonial-slider.classic-style .eael-testimonial-align-right .eael-testimonial-image figure,.eael-testimonial-slider.default-style .eael-testimonial-align-right .eael-testimonial-image figure,.eael-testimonial-slider.middle-style .eael-testimonial-align-right .eael-testimonial-image figure{text-align:right}.eael-testimonial-slider.classic-style .eael-testimonial-align-left .eael-testimonial-image figure,.eael-testimonial-slider.default-style .eael-testimonial-align-left .eael-testimonial-image figure,.eael-testimonial-slider.middle-style .eael-testimonial-align-left .eael-testimonial-image figure{text-align:left}.eael-testimonial-slider.classic-style .eael-testimonial-align-right .testimonial-classic-style-content,.eael-testimonial-slider.default-style .eael-testimonial-align-right .default-style-testimonial-content,.eael-testimonial-slider.middle-style .eael-testimonial-align-right .eael-testimonial-text,.eael-testimonial-slider.middle-style .eael-testimonial-align-right .middle-style-content{text-align:right}.eael-testimonial-slider.classic-style .eael-testimonial-align-center .testimonial-classic-style-content,.eael-testimonial-slider.default-style .eael-testimonial-align-center .default-style-testimonial-content,.eael-testimonial-slider.middle-style .eael-testimonial-align-center .eael-testimonial-text,.eael-testimonial-slider.middle-style .eael-testimonial-align-center .middle-style-content{text-align:center}.eael-testimonial-slider.classic-style .eael-testimonial-align-left .testimonial-classic-style-content,.eael-testimonial-slider.default-style .eael-testimonial-align-left .default-style-testimonial-content,.eael-testimonial-slider.middle-style .eael-testimonial-align-left .eael-testimonial-text,.eael-testimonial-slider.middle-style .eael-testimonial-align-left .middle-style-content{text-align:left}.eael-testimonial-slider.icon-img-left-content .eael-testimonial-text>p,.eael-testimonial-slider.icon-img-right-content .eael-testimonial-text>p{margin:0}.icon-img-left-content .eael-testimonial-image{float:left;width:30%}.icon-img-left-content .eael-testimonial-content{float:left;width:70%;text-align:left}.icon-img-left-content.eael-testimonial-item{overflow:hidden;position:relative}.icon-img-left-content .eael-testimonial-quote{position:absolute;right:0}.icon-img-left-content .eael-testimonial-text{margin-top:0}.eael-testimonial-align-centered .eael-testimonial-user,.eael-testimonial-align-centered .eael-testimonial-user-company{float:none;text-align:center}.eael-testimonial-align-centered .eael-testimonial-image>figure img{display:block;margin-left:auto!important;margin-right:auto!important}.icon-img-right-content .eael-testimonial-image{float:right;width:30%}.icon-img-right-content .eael-testimonial-content{float:right;width:70%;text-align:right}.icon-img-right-content.eael-testimonial-item{overflow:hidden;position:relative}.icon-img-right-content .eael-testimonial-quote{position:absolute}.icon-img-right-content .eael-testimonial-text{margin-top:0}.eael-testimonial-item{position:relative}.classic-style.testimonial-alignment-center .eael-testimonial-image,.default-style.testimonial-alignment-center .eael-testimonial-image{text-align:center}.classic-style.testimonial-alignment-right .eael-testimonial-image,.default-style.testimonial-alignment-right .eael-testimonial-image{text-align:right}.classic-style.testimonial-alignment-center .eael-testimonial-image>figure,.default-style.testimonial-alignment-center .eael-testimonial-image>figure{text-align:center}.eael-testimonial-slider.icon-img-left-content .eael-testimonial-align-centered .eael-testimonial-content{text-align:center}.eael-testimonial-slider.icon-img-left-content .eael-testimonial-align-left .eael-testimonial-content{text-align:left}.eael-testimonial-slider.icon-img-left-content .eael-testimonial-align-right .eael-testimonial-content{text-align:right}.eael-testimonial-slider.icon-img-right-content .eael-testimonial-align-centered .eael-testimonial-content{text-align:center}.eael-testimonial-slider.icon-img-right-content .eael-testimonial-align-left .eael-testimonial-content{text-align:left}.eael-testimonial-slider.icon-img-right-content .eael-testimonial-align-right .eael-testimonial-content{text-align:right}span.eael-testimonial-quote{position:absolute;right:10px;top:10px}.eael-testimonial-item.left .eael-testimonial-image{text-align:left}.eael-testimonial-item.center .eael-testimonial-image{text-align:center}.eael-testimonial-item.right .eael-testimonial-image{text-align:right}.eael-testimonial-inline-bio .eael-testimonial-image{float:left}.eael-testimonial-inline-bio .bio-text{padding-top:10px}.eael-testimonial-content.eael-testimonial-inline-bio{overflow:hidden;margin-bottom:0;padding-bottom:0}.eael-testimonial-inline-bio .bio-text,.eael-testimonial-inline-bio .testimonial-star-rating{float:left;width:65%}.eael-testimonial-content.eael-testimonial-inline-bio{text-align:left!important}.testimonial-inline-style .eael-testimonial-image{float:left;max-width:100%;padding:0;margin-right:15px}.testimonial-inline-style{overflow:hidden;text-align:left}.content-top-icon-title-inline .eael-testimonial-align-left .eael-testimonial-text,.content-top-icon-title-inline .eael-testimonial-text{text-align:left}.content-top-icon-title-inline .eael-testimonial-align-centered .eael-testimonial-text{text-align:center}.content-top-icon-title-inline .eael-testimonial-align-right .eael-testimonial-text{text-align:right}.content-bottom-icon-title-inline .eael-testimonial-align-left .eael-testimonial-text,.content-bottom-icon-title-inline .eael-testimonial-text{text-align:left}.content-bottom-icon-title-inline .eael-testimonial-align-centered .eael-testimonial-text{text-align:center}.content-bottom-icon-title-inline .eael-testimonial-align-right .eael-testimonial-text{text-align:right}
35
  .eael-tooltip{position:relative;display:inline-block;min-width:150px;padding:12px 24px;font-size:.93rem;color:#333;line-height:1;cursor:pointer;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.eael-tooltip .eael-tooltip-text{display:block;width:100%;visibility:hidden;background-color:#000;color:#fff;border-radius:4px;padding:10px;position:absolute;z-index:1;font-size:.93rem;line-height:1.3}.eael-tooltip .eael-tooltip-text p{margin:0}.eael-tooltip .eael-tooltip-text::after{content:"";position:absolute;border-width:5px;border-style:solid}.eael-tooltip:hover .eael-tooltip-text{visibility:visible}.eael-tooltip .eael-tooltip-text.eael-tooltip-left{top:50%;right:100%;-webkit-transform:translateY(-50%);transform:translateY(-50%);margin-right:10px}.eael-tooltip:hover .eael-tooltip-text.eael-tooltip-left{-webkit-animation:tooltipLeftIn .3s ease-in-out;animation:tooltipLeftIn .3s ease-in-out}.eael-tooltip .eael-tooltip-text.eael-tooltip-left::after{top:calc(50% - 5px);left:100%;border-color:transparent transparent transparent #000}.eael-tooltip .eael-tooltip-text.eael-tooltip-right{top:50%;left:100%;-webkit-transform:translateY(-50%);transform:translateY(-50%);-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;margin-left:10px}.eael-tooltip:hover .eael-tooltip-text.eael-tooltip-right{-webkit-animation:tooltipRightIn .3s linear;animation:tooltipRightIn .3s linear}.eael-tooltip .eael-tooltip-text.eael-tooltip-right::after{top:calc(50% - 5px);right:100%;border-color:transparent #000 transparent transparent}.eael-tooltip .eael-tooltip-text.eael-tooltip-top{bottom:calc(100%);left:0;right:0;margin:0 auto 10px auto}.eael-tooltip .eael-tooltip-text.eael-tooltip-top::after{margin-top:0;top:100%;left:calc(50% - 5px);border-color:#000 transparent transparent transparent}.eael-tooltip:hover .eael-tooltip-text.eael-tooltip-top{-webkit-animation:tooltipTopIn .3s linear;animation:tooltipTopIn .3s linear}.eael-tooltip .eael-tooltip-text.eael-tooltip-bottom{top:100%;left:0;right:0;margin:10px auto 0 auto}.eael-tooltip .eael-tooltip-text.eael-tooltip-bottom::after{margin-top:0;bottom:100%;left:calc(50% - 5px);border-color:transparent transparent #000 transparent}.eael-tooltip:hover .eael-tooltip-text.eael-tooltip-bottom{-webkit-animation:tooltipBottomIn .3s linear;animation:tooltipBottomIn .3s linear}.eael-tooltip-align-left{display:-webkit-box;display:flex;width:100%;-webkit-box-pack:start;justify-content:flex-start}.eael-tooltip-align-right{display:-webkit-box;display:flex;width:100%;-webkit-box-pack:end;justify-content:flex-end}.eael-tooltip-align-center{display:-webkit-box;display:flex;width:100%;-webkit-box-pack:center;justify-content:center}.eael-tooltip-align-justify .eael-tooltip{display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center}@-webkit-keyframes tooltipRightIn{0%{opacity:0;left:105%}100%{opacity:1;left:100%}}@keyframes tooltipRightIn{0%{opacity:0;left:105%}100%{opacity:1;left:100%}}@-webkit-keyframes tooltipLeftIn{0%{opacity:0;right:105%}100%{opacity:1;right:100%}}@keyframes tooltipLeftIn{0%{opacity:0;right:105%}100%{opacity:1;right:100%}}@-webkit-keyframes tooltipTopIn{0%{opacity:0;bottom:110%}100%{opacity:1;bottom:100%}}@keyframes tooltipTopIn{0%{opacity:0;bottom:110%}100%{opacity:1;bottom:100%}}@-webkit-keyframes tooltipBottomIn{0%{opacity:0;top:110%}100%{opacity:1;top:100%}}@keyframes tooltipBottomIn{0%{opacity:0;top:110%}100%{opacity:1;top:100%}}span.eael-tooltip-content,span.eael-tooltip-content a{width:100%;display:block;text-align:center}.eael-tooltip-text-align-left .eael-tooltip-content a,.eael-tooltip-text-align-left .eael-tooltip-text{text-align:left}.eael-tooltip-text-align-right .eael-tooltip-content a,.eael-tooltip-text-align-right .eael-tooltip-text{text-align:right}.eael-tooltip-text-align-center .eael-tooltip-content a,.eael-tooltip-text-align-center .eael-tooltip-text{text-align:center}.eael-tooltip-text-align-justify .eael-tooltip-content a,.eael-tooltip-text-align-justify .eael-tooltip-text{text-align:justify}
36
  .eael-twitter-feed::after,.eael-twitter-feed::before{content:"";clear:both}.eael-twitter-feed-masonry .eael-twitter-feed-item{float:left}@media only screen and (max-width:480px){.eael-twitter-feed-masonry.eael-twitter-feed-col-2 .eael-twitter-feed-item{width:100%!important}}@media only screen and (max-width:480px){.eael-twitter-feed-masonry.eael-twitter-feed-col-3 .eael-twitter-feed-item{width:100%!important}}@media only screen and (max-width:480px){.eael-twitter-feed-masonry.eael-twitter-feed-col-4 .eael-twitter-feed-item{width:100%!important}}.eael-twitter-feed-item .eael-twitter-feed-item-inner{background:#fff;border:1px solid rgba(0,0,0,.1)}.eael-twitter-feed-item a{color:#08c;text-decoration:none}.eael-twitter-feed-item a:hover{outline:0;color:#005580}.eael-twitter-feed-item a:focus{outline:0}.eael-twitter-feed-item .eael-twitter-feed-item-header{padding:20px 15px 0;margin-bottom:10px}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-avatar{float:left;width:38px;margin-right:10px}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-avatar img{max-width:100%;height:auto;-o-object-fit:cover;object-fit:cover}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-avatar.avatar-circle img{border-radius:50%}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-meta{float:left}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-meta .eael-twitter-feed-item-icon{color:#1da1f2;margin-right:5px}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-meta .eael-twitter-feed-item-author{color:#444;line-height:1.5em;font-weight:700}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-date{float:right;margin-right:10px;font-size:90%;color:#999}.eael-twitter-feed-item .eael-twitter-feed-item-content{padding:0 15px 15px}.eael-twitter-feed-item .eael-twitter-feed-item-content p{color:#666;margin:0 0 5px;min-height:20px;text-overflow:ellipsis;-webkit-line-clamp:5;-webkit-box-orient:vertical}.eael-twitter-feed.swiper-container .swiper-button-next,.eael-twitter-feed.swiper-container .swiper-button-prev{background-image:none;outline:0}
37
  .eael-weform-container input,.eael-weform-container textarea{height:auto;padding:10px}.eael-contact-form-btn-align-center .eael-weform-container ul.wpuf-form .wpuf-submit input[type=submit]{margin-left:auto!important;margin-right:auto!important;display:block;float:none}.eael-contact-form-btn-align-left .eael-weform-container ul.wpuf-form .wpuf-submit input[type=submit]{float:left;width:auto}.eael-contact-form-btn-align-right .eael-weform-container ul.wpuf-form .wpuf-submit input[type=submit]{float:right;width:auto}.eael-weform-container ul.wpuf-form li .wpuf-fields input[type=email],.eael-weform-container ul.wpuf-form li .wpuf-fields input[type=number],.eael-weform-container ul.wpuf-form li .wpuf-fields input[type=password],.eael-weform-container ul.wpuf-form li .wpuf-fields input[type=text],.eael-weform-container ul.wpuf-form li .wpuf-fields input[type=url],.eael-weform-container ul.wpuf-form li .wpuf-fields textarea{max-width:100%}
38
- .eael-caldera-form-align-left,.eael-caldera-form-btn-align-left{text-align:left}.eael-caldera-form-align-right,.eael-caldera-form-btn-align-right{text-align:right}.eael-caldera-form-align-center,.eael-caldera-form-btn-align-center{text-align:center}.eael-caldera-form .control-label{display:none}.eael-caldera-form-labels-yes .control-label{display:block}.eael-caldera-form-button-center .form-group input[type=button],.eael-caldera-form-button-center .form-group input[type=submit]{display:block;margin:0 auto}.eael-caldera-form-button-right .form-group input[type=button],.eael-caldera-form-button-right .form-group input[type=submit]{float:right}.eael-caldera-form .intl-tel-input{display:inherit}.eael-custom-radio-checkbox .caldera-grid input[type=checkbox],.eael-custom-radio-checkbox .caldera-grid input[type=radio]{border-style:solid;border-width:0;padding:3px;-webkit-appearance:none}.eael-caldera-form-button-full-width .form-group input[type=button],.eael-caldera-form-button-full-width .form-group input[type=submit]{width:100%}
39
  .eael-wpforms .wpforms-container .wpforms-form .wpforms-page-button,.eael-wpforms .wpforms-container .wpforms-form button[type=submit],.eael-wpforms .wpforms-container .wpforms-form input[type=submit]{border:0}.eael-wpforms .wpforms-container .wpforms-form .wpforms-page-button:hover,.eael-wpforms .wpforms-container .wpforms-form button[type=submit]:hover,.eael-wpforms .wpforms-container .wpforms-form input[type=submit]:hover{border:0}.eael-wpforms .wpforms-container .wpforms-form input[type=checkbox],.eael-wpforms .wpforms-container .wpforms-form input[type=radio]{padding:3px}.eael-wpforms .wpforms-container .wpforms-form .wpforms-field-label{display:none}.eael-wpforms .wpforms-container .wpforms-form .wpforms-field-name .wpforms-field-row{max-width:100%}.eael-wpforms .wpforms-container .wpforms-field input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),.eael-wpforms .wpforms-container .wpforms-field select,.eael-wpforms .wpforms-container .wpforms-field textarea{max-width:100%!important}.eael-wpforms-labels-yes .wpforms-container .wpforms-form .wpforms-field-label{display:block}.eael-wpforms-form-button-full-width .wpforms-submit-container .wpforms-submit{width:100%}
 
 
 
 
40
  @keyframes plyr-progress{to{background-position:25px 0}}@keyframes plyr-popup{0%{opacity:.5;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes plyr-fade-in{from{opacity:0}to{opacity:1}}.plyr{-moz-osx-font-smoothing:auto;-webkit-font-smoothing:subpixel-antialiased;direction:ltr;font-family:Avenir,"Avenir Next","Helvetica Neue","Segoe UI",Helvetica,Arial,sans-serif;font-variant-numeric:tabular-nums;font-weight:500;line-height:1.7;max-width:100%;min-width:200px;position:relative;text-shadow:none;transition:box-shadow .3s ease}.plyr audio,.plyr video{border-radius:inherit;height:auto;vertical-align:middle;width:100%}.plyr button{font:inherit;line-height:inherit;width:auto}.plyr:focus{outline:0}.plyr--full-ui{box-sizing:border-box}.plyr--full-ui *,.plyr--full-ui ::after,.plyr--full-ui ::before{box-sizing:inherit}.plyr--full-ui a,.plyr--full-ui button,.plyr--full-ui input,.plyr--full-ui label{touch-action:manipulation}.plyr__badge{background:#4a5764;border-radius:2px;color:#fff;font-size:9px;line-height:1;padding:3px 4px}.plyr--full-ui ::-webkit-media-text-track-container{display:none}.plyr__captions{animation:plyr-fade-in .3s ease;bottom:0;color:#fff;display:none;font-size:14px;left:0;padding:10px;position:absolute;text-align:center;transition:transform .4s ease-in-out;width:100%}.plyr__captions .plyr__caption{background:rgba(0,0,0,.8);border-radius:2px;-webkit-box-decoration-break:clone;box-decoration-break:clone;line-height:185%;padding:.2em .5em;white-space:pre-wrap}.plyr__captions .plyr__caption div{display:inline}.plyr__captions span:empty{display:none}@media (min-width:480px){.plyr__captions{font-size:16px;padding:20px}}@media (min-width:768px){.plyr__captions{font-size:18px}}.plyr--captions-active .plyr__captions{display:block}.plyr:not(.plyr--hide-controls) .plyr__controls:not(:empty)~.plyr__captions{transform:translateY(-40px)}.plyr__control{background:0 0;border:0;border-radius:3px;color:inherit;cursor:pointer;flex-shrink:0;overflow:visible;padding:7px;position:relative;transition:all .3s ease}.plyr__control svg{display:block;fill:currentColor;height:18px;pointer-events:none;width:18px}.plyr__control:focus{outline:0}.plyr__control.plyr__tab-focus{box-shadow:0 0 0 5px rgba(0,179,255,.5);outline:0}a.plyr__control{text-decoration:none}a.plyr__control::after,a.plyr__control::before{display:none}.plyr__control.plyr__control--pressed .icon--not-pressed,.plyr__control.plyr__control--pressed .label--not-pressed,.plyr__control:not(.plyr__control--pressed) .icon--pressed,.plyr__control:not(.plyr__control--pressed) .label--pressed{display:none}.plyr--audio .plyr__control.plyr__tab-focus,.plyr--audio .plyr__control:hover,.plyr--audio .plyr__control[aria-expanded=true]{background:#00b3ff;color:#fff}.plyr--video .plyr__control.plyr__tab-focus,.plyr--video .plyr__control:hover,.plyr--video .plyr__control[aria-expanded=true]{background:#00b3ff;color:#fff}.plyr__control--overlaid{background:rgba(0,179,255,.8);border:0;border-radius:100%;color:#fff;display:none;left:50%;padding:15px;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:2}.plyr__control--overlaid svg{left:2px;position:relative}.plyr__control--overlaid:focus,.plyr__control--overlaid:hover{background:#00b3ff}.plyr--playing .plyr__control--overlaid{opacity:0;visibility:hidden}.plyr--full-ui.plyr--video .plyr__control--overlaid{display:block}.plyr--full-ui ::-webkit-media-controls{display:none}.plyr__controls{align-items:center;display:flex;justify-content:flex-end;text-align:center}.plyr__controls .plyr__progress__container{flex:1;min-width:0}.plyr__controls .plyr__controls__item{margin-left:2.5px}.plyr__controls .plyr__controls__item:first-child{margin-left:0;margin-right:auto}.plyr__controls .plyr__controls__item.plyr__progress__container{padding-left:2.5px}.plyr__controls .plyr__controls__item.plyr__time{padding:0 5px}.plyr__controls .plyr__controls__item.plyr__progress__container:first-child,.plyr__controls .plyr__controls__item.plyr__time+.plyr__time,.plyr__controls .plyr__controls__item.plyr__time:first-child{padding-left:0}.plyr__controls .plyr__controls__item.plyr__volume{padding-right:5px}.plyr__controls .plyr__controls__item.plyr__volume:first-child{padding-right:0}.plyr__controls:empty{display:none}.plyr--audio .plyr__controls{background:#fff;border-radius:inherit;color:#4a5764;padding:10px}.plyr--video .plyr__controls{background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.7));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;bottom:0;color:#fff;left:0;padding:20px 5px 5px;position:absolute;right:0;transition:opacity .4s ease-in-out,transform .4s ease-in-out;z-index:3}@media (min-width:480px){.plyr--video .plyr__controls{padding:35px 10px 10px}}.plyr--video.plyr--hide-controls .plyr__controls{opacity:0;pointer-events:none;transform:translateY(100%)}.plyr [data-plyr=airplay],.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr [data-plyr=pip]{display:none}.plyr--airplay-supported [data-plyr=airplay],.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen],.plyr--pip-supported [data-plyr=pip]{display:inline-block}.plyr__menu{display:flex;position:relative}.plyr__menu .plyr__control svg{transition:transform .3s ease}.plyr__menu .plyr__control[aria-expanded=true] svg{transform:rotate(90deg)}.plyr__menu .plyr__control[aria-expanded=true] .plyr__tooltip{display:none}.plyr__menu__container{animation:plyr-popup .2s ease;background:rgba(255,255,255,.9);border-radius:4px;bottom:100%;box-shadow:0 1px 2px rgba(0,0,0,.15);color:#4a5764;font-size:16px;margin-bottom:10px;position:absolute;right:-3px;text-align:left;white-space:nowrap;z-index:3}.plyr__menu__container>div{overflow:hidden;transition:height .35s cubic-bezier(.4,0,.2,1),width .35s cubic-bezier(.4,0,.2,1)}.plyr__menu__container::after{border:4px solid transparent;border-top-color:rgba(255,255,255,.9);content:'';height:0;position:absolute;right:15px;top:100%;width:0}.plyr__menu__container [role=menu]{padding:7px}.plyr__menu__container [role=menuitem],.plyr__menu__container [role=menuitemradio]{margin-top:2px}.plyr__menu__container [role=menuitem]:first-child,.plyr__menu__container [role=menuitemradio]:first-child{margin-top:0}.plyr__menu__container .plyr__control{align-items:center;color:#4a5764;display:flex;font-size:14px;padding:4px 11px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.plyr__menu__container .plyr__control>span{align-items:inherit;display:flex;width:100%}.plyr__menu__container .plyr__control::after{border:4px solid transparent;content:'';position:absolute;top:50%;transform:translateY(-50%)}.plyr__menu__container .plyr__control--forward{padding-right:28px}.plyr__menu__container .plyr__control--forward::after{border-left-color:rgba(74,87,100,.8);right:5px}.plyr__menu__container .plyr__control--forward.plyr__tab-focus::after,.plyr__menu__container .plyr__control--forward:hover::after{border-left-color:currentColor}.plyr__menu__container .plyr__control--back{font-weight:500;margin:7px;margin-bottom:3px;padding-left:28px;position:relative;width:calc(100% - 14px)}.plyr__menu__container .plyr__control--back::after{border-right-color:rgba(74,87,100,.8);left:7px}.plyr__menu__container .plyr__control--back::before{background:#c1c9d1;box-shadow:0 1px 0 #fff;content:'';height:1px;left:0;margin-top:4px;overflow:hidden;position:absolute;right:0;top:100%}.plyr__menu__container .plyr__control--back.plyr__tab-focus::after,.plyr__menu__container .plyr__control--back:hover::after{border-right-color:currentColor}.plyr__menu__container .plyr__control[role=menuitemradio]{padding-left:7px}.plyr__menu__container .plyr__control[role=menuitemradio]::after,.plyr__menu__container .plyr__control[role=menuitemradio]::before{border-radius:100%}.plyr__menu__container .plyr__control[role=menuitemradio]::before{background:rgba(0,0,0,.1);content:'';display:block;flex-shrink:0;height:16px;margin-right:10px;transition:all .3s ease;width:16px}.plyr__menu__container .plyr__control[role=menuitemradio]::after{background:#fff;border:0;height:6px;left:12px;opacity:0;top:50%;transform:translateY(-50%) scale(0);transition:transform .3s ease,opacity .3s ease;width:6px}.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::before{background:#00b3ff}.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::after{opacity:1;transform:translateY(-50%) scale(1)}.plyr__menu__container .plyr__control[role=menuitemradio].plyr__tab-focus::before,.plyr__menu__container .plyr__control[role=menuitemradio]:hover::before{background:rgba(0,0,0,.1)}.plyr__menu__container .plyr__menu__value{align-items:center;display:flex;margin-left:auto;margin-right:-5px;overflow:hidden;padding-left:25px;pointer-events:none}.plyr--full-ui input[type=range]{-webkit-appearance:none;background:0 0;border:0;border-radius:26px;color:#00b3ff;display:block;height:19px;margin:0;padding:0;transition:box-shadow .3s ease;width:100%}.plyr--full-ui input[type=range]::-webkit-slider-runnable-track{background:0 0;border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;-webkit-user-select:none;user-select:none;background-image:linear-gradient(to right,currentColor var(--value,0),transparent var(--value,0))}.plyr--full-ui input[type=range]::-webkit-slider-thumb{background:#fff;border:0;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2);height:13px;position:relative;transition:all .2s ease;width:13px;-webkit-appearance:none;margin-top:-4px}.plyr--full-ui input[type=range]::-moz-range-track{background:0 0;border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;-moz-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-moz-range-thumb{background:#fff;border:0;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2);height:13px;position:relative;transition:all .2s ease;width:13px}.plyr--full-ui input[type=range]::-moz-range-progress{background:currentColor;border-radius:2.5px;height:5px}.plyr--full-ui input[type=range]::-ms-track{background:0 0;border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;-ms-user-select:none;user-select:none;color:transparent}.plyr--full-ui input[type=range]::-ms-fill-upper{background:0 0;border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;-ms-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-ms-fill-lower{background:0 0;border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;-ms-user-select:none;user-select:none;background:currentColor}.plyr--full-ui input[type=range]::-ms-thumb{background:#fff;border:0;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2);height:13px;position:relative;transition:all .2s ease;width:13px;margin-top:0}.plyr--full-ui input[type=range]::-ms-tooltip{display:none}.plyr--full-ui input[type=range]:focus{outline:0}.plyr--full-ui input[type=range]::-moz-focus-outer{border:0}.plyr--full-ui input[type=range].plyr__tab-focus::-webkit-slider-runnable-track{box-shadow:0 0 0 5px rgba(0,179,255,.5);outline:0}.plyr--full-ui input[type=range].plyr__tab-focus::-moz-range-track{box-shadow:0 0 0 5px rgba(0,179,255,.5);outline:0}.plyr--full-ui input[type=range].plyr__tab-focus::-ms-track{box-shadow:0 0 0 5px rgba(0,179,255,.5);outline:0}.plyr--full-ui.plyr--video input[type=range]::-webkit-slider-runnable-track{background-color:rgba(255,255,255,.25)}.plyr--full-ui.plyr--video input[type=range]::-moz-range-track{background-color:rgba(255,255,255,.25)}.plyr--full-ui.plyr--video input[type=range]::-ms-track{background-color:rgba(255,255,255,.25)}.plyr--full-ui.plyr--video input[type=range]:active::-webkit-slider-thumb{box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2),0 0 0 3px rgba(255,255,255,.5)}.plyr--full-ui.plyr--video input[type=range]:active::-moz-range-thumb{box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2),0 0 0 3px rgba(255,255,255,.5)}.plyr--full-ui.plyr--video input[type=range]:active::-ms-thumb{box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2),0 0 0 3px rgba(255,255,255,.5)}.plyr--full-ui.plyr--audio input[type=range]::-webkit-slider-runnable-track{background-color:rgba(193,201,209,.66)}.plyr--full-ui.plyr--audio input[type=range]::-moz-range-track{background-color:rgba(193,201,209,.66)}.plyr--full-ui.plyr--audio input[type=range]::-ms-track{background-color:rgba(193,201,209,.66)}.plyr--full-ui.plyr--audio input[type=range]:active::-webkit-slider-thumb{box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2),0 0 0 3px rgba(0,0,0,.1)}.plyr--full-ui.plyr--audio input[type=range]:active::-moz-range-thumb{box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2),0 0 0 3px rgba(0,0,0,.1)}.plyr--full-ui.plyr--audio input[type=range]:active::-ms-thumb{box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2),0 0 0 3px rgba(0,0,0,.1)}.plyr__poster{background-color:#000;background-position:50% 50%;background-repeat:no-repeat;background-size:contain;height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .2s ease;width:100%;z-index:1}.plyr--stopped.plyr__poster-enabled .plyr__poster{opacity:1}.plyr__time{font-size:14px}.plyr__time+.plyr__time::before{content:'\2044';margin-right:10px}@media (max-width:767px){.plyr__time+.plyr__time{display:none}}.plyr--video .plyr__time{text-shadow:0 1px 1px rgba(0,0,0,.15)}.plyr__tooltip{background:rgba(255,255,255,.9);border-radius:3px;bottom:100%;box-shadow:0 1px 2px rgba(0,0,0,.15);color:#4a5764;font-size:14px;font-weight:500;left:50%;line-height:1.3;margin-bottom:10px;opacity:0;padding:5px 7.5px;pointer-events:none;position:absolute;transform:translate(-50%,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s .1s ease,opacity .2s .1s ease;white-space:nowrap;z-index:2}.plyr__tooltip::before{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(255,255,255,.9);bottom:-4px;content:'';height:0;left:50%;position:absolute;transform:translateX(-50%);width:0;z-index:2}.plyr .plyr__control.plyr__tab-focus .plyr__tooltip,.plyr .plyr__control:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;transform:translate(-50%,0) scale(1)}.plyr .plyr__control:hover .plyr__tooltip{z-index:3}.plyr__controls>.plyr__control:first-child .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip{left:0;transform:translate(0,10px) scale(.8);transform-origin:0 100%}.plyr__controls>.plyr__control:first-child .plyr__tooltip::before,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip::before{left:16px}.plyr__controls>.plyr__control:last-child .plyr__tooltip{left:auto;right:0;transform:translate(0,10px) scale(.8);transform-origin:100% 100%}.plyr__controls>.plyr__control:last-child .plyr__tooltip::before{left:auto;right:16px;transform:translateX(50%)}.plyr__controls>.plyr__control:first-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control.plyr__tab-focus .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control:hover .plyr__tooltip,.plyr__controls>.plyr__control:first-child.plyr__tab-focus .plyr__tooltip,.plyr__controls>.plyr__control:first-child:hover .plyr__tooltip,.plyr__controls>.plyr__control:last-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:last-child.plyr__tab-focus .plyr__tooltip,.plyr__controls>.plyr__control:last-child:hover .plyr__tooltip{transform:translate(0,0) scale(1)}.plyr--video{background:#000;overflow:hidden}.plyr--video.plyr--menu-open{overflow:visible}.plyr__video-wrapper{background:#000;border-radius:inherit;overflow:hidden;position:relative;z-index:0}.plyr__video-embed,.plyr__video-wrapper--fixed-ratio{height:0;padding-bottom:56.25%}.plyr__video-embed iframe,.plyr__video-wrapper--fixed-ratio video{border:0;height:100%;left:0;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.plyr--full-ui .plyr__video-embed>.plyr__video-embed__container{padding-bottom:240%;position:relative;transform:translateY(-38.28125%)}.plyr__progress{left:6.5px;margin-right:13px;position:relative}.plyr__progress input[type=range],.plyr__progress__buffer{margin-left:-6.5px;margin-right:-6.5px;width:calc(100% + 13px)}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress .plyr__tooltip{font-size:14px;left:0}.plyr__progress__buffer{-webkit-appearance:none;background:0 0;border:0;border-radius:100px;height:5px;left:0;margin-top:-2.5px;padding:0;position:absolute;top:50%}.plyr__progress__buffer::-webkit-progress-bar{background:0 0}.plyr__progress__buffer::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:5px;transition:width .2s ease}.plyr__progress__buffer::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:5px;transition:width .2s ease}.plyr__progress__buffer::-ms-fill{border-radius:100px;transition:width .2s ease}.plyr--video .plyr__progress__buffer{box-shadow:0 1px 1px rgba(0,0,0,.15);color:rgba(255,255,255,.25)}.plyr--audio .plyr__progress__buffer{color:rgba(193,201,209,.66)}.plyr--loading .plyr__progress__buffer{animation:plyr-progress 1s linear infinite;background-image:linear-gradient(-45deg,rgba(35,41,47,.6) 25%,transparent 25%,transparent 50%,rgba(35,41,47,.6) 50%,rgba(35,41,47,.6) 75%,transparent 75%,transparent);background-repeat:repeat-x;background-size:25px 25px;color:transparent}.plyr--video.plyr--loading .plyr__progress__buffer{background-color:rgba(255,255,255,.25)}.plyr--audio.plyr--loading .plyr__progress__buffer{background-color:rgba(193,201,209,.66)}.plyr__volume{align-items:center;display:flex;flex:1;position:relative}.plyr__volume input[type=range]{margin-left:5px;position:relative;z-index:2}@media (min-width:480px){.plyr__volume{max-width:90px}}@media (min-width:768px){.plyr__volume{max-width:110px}}.plyr--is-ios .plyr__volume{display:none!important}.plyr--is-ios.plyr--vimeo [data-plyr=mute]{display:none!important}.plyr:-webkit-full-screen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-ms-fullscreen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:fullscreen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-webkit-full-screen video{height:100%}.plyr:-ms-fullscreen video{height:100%}.plyr:fullscreen video{height:100%}.plyr:-webkit-full-screen .plyr__video-wrapper{height:100%;position:static}.plyr:-ms-fullscreen .plyr__video-wrapper{height:100%;position:static}.plyr:fullscreen .plyr__video-wrapper{height:100%;position:static}.plyr:-webkit-full-screen.plyr--vimeo .plyr__video-wrapper{height:0;position:relative;top:50%;transform:translateY(-50%)}.plyr:-ms-fullscreen.plyr--vimeo .plyr__video-wrapper{height:0;position:relative;top:50%;transform:translateY(-50%)}.plyr:fullscreen.plyr--vimeo .plyr__video-wrapper{height:0;position:relative;top:50%;transform:translateY(-50%)}.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen{display:block}.plyr:fullscreen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:fullscreen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-webkit-full-screen.plyr--hide-controls{cursor:none}.plyr:-ms-fullscreen.plyr--hide-controls{cursor:none}.plyr:fullscreen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:-webkit-full-screen .plyr__captions{font-size:21px}.plyr:-ms-fullscreen .plyr__captions{font-size:21px}.plyr:fullscreen .plyr__captions{font-size:21px}}.plyr:-webkit-full-screen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-webkit-full-screen video{height:100%}.plyr:-webkit-full-screen .plyr__video-wrapper{height:100%;position:static}.plyr:-webkit-full-screen.plyr--vimeo .plyr__video-wrapper{height:0;position:relative;top:50%;transform:translateY(-50%)}.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-webkit-full-screen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:-webkit-full-screen .plyr__captions{font-size:21px}}.plyr:-moz-full-screen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-moz-full-screen video{height:100%}.plyr:-moz-full-screen .plyr__video-wrapper{height:100%;position:static}.plyr:-moz-full-screen.plyr--vimeo .plyr__video-wrapper{height:0;position:relative;top:50%;transform:translateY(-50%)}.plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-moz-full-screen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:-moz-full-screen .plyr__captions{font-size:21px}}.plyr:-ms-fullscreen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-ms-fullscreen video{height:100%}.plyr:-ms-fullscreen .plyr__video-wrapper{height:100%;position:static}.plyr:-ms-fullscreen.plyr--vimeo .plyr__video-wrapper{height:0;position:relative;top:50%;transform:translateY(-50%)}.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-ms-fullscreen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:-ms-fullscreen .plyr__captions{font-size:21px}}.plyr--fullscreen-fallback{background:#000;border-radius:0!important;height:100%;margin:0;width:100%;bottom:0;left:0;position:fixed;right:0;top:0;z-index:10000000}.plyr--fullscreen-fallback video{height:100%}.plyr--fullscreen-fallback .plyr__video-wrapper{height:100%;position:static}.plyr--fullscreen-fallback.plyr--vimeo .plyr__video-wrapper{height:0;position:relative;top:50%;transform:translateY(-50%)}.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen{display:block}.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr--fullscreen-fallback.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr--fullscreen-fallback .plyr__captions{font-size:21px}}.plyr__ads{border-radius:inherit;bottom:0;cursor:pointer;left:0;overflow:hidden;position:absolute;right:0;top:0;z-index:-1}.plyr__ads>div,.plyr__ads>div iframe{height:100%;position:absolute;width:100%}.plyr__ads::after{background:rgba(35,41,47,.8);border-radius:2px;bottom:10px;color:#fff;content:attr(data-badge-text);font-size:11px;padding:2px 6px;pointer-events:none;position:absolute;right:10px;z-index:3}.plyr__ads::after:empty{display:none}.plyr__cues{background:currentColor;display:block;height:5px;left:0;margin:-2.5px 0 0;opacity:.8;position:absolute;top:50%;width:3px;z-index:3}.plyr__preview-thumb{background-color:rgba(255,255,255,.9);border-radius:3px;bottom:100%;box-shadow:0 1px 2px rgba(0,0,0,.15);margin-bottom:10px;opacity:0;padding:3px;pointer-events:none;position:absolute;transform:translate(0,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s .1s ease,opacity .2s .1s ease;z-index:2}.plyr__preview-thumb--is-shown{opacity:1;transform:translate(0,0) scale(1)}.plyr__preview-thumb::before{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(255,255,255,.9);bottom:-4px;content:'';height:0;left:50%;position:absolute;transform:translateX(-50%);width:0;z-index:2}.plyr__preview-thumb__image-container{background:#c1c9d1;border-radius:2px;overflow:hidden;position:relative;z-index:0}.plyr__preview-thumb__image-container img{height:100%;left:0;max-height:none;max-width:none;position:absolute;top:0;width:100%}.plyr__preview-thumb__time-container{bottom:6px;left:0;position:absolute;right:0;white-space:nowrap;z-index:3}.plyr__preview-thumb__time-container span{background-color:rgba(0,0,0,.55);border-radius:2px;color:#fff;font-size:14px;padding:3px 6px}.plyr__preview-scrubbing{bottom:0;filter:blur(1px);height:100%;left:0;margin:auto;opacity:0;overflow:hidden;position:absolute;right:0;top:0;transition:opacity .3s ease;width:100%;z-index:1}.plyr__preview-scrubbing--is-shown{opacity:1}.plyr__preview-scrubbing img{height:100%;left:0;max-height:none;max-width:none;object-fit:contain;position:absolute;top:0;width:100%}.plyr--no-transition{transition:none!important}.plyr__sr-only{clip:rect(1px,1px,1px,1px);overflow:hidden;border:0!important;height:1px!important;padding:0!important;position:absolute!important;width:1px!important}.plyr [hidden]{display:none!important}
41
  .tooltipster-fall,.tooltipster-grow.tooltipster-show{-webkit-transition-timing-function:cubic-bezier(.175,.885,.32,1);-moz-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);-ms-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);-o-transition-timing-function:cubic-bezier(.175,.885,.32,1.15)}.tooltipster-base{display:flex;pointer-events:none;position:absolute}.tooltipster-box{flex:1 1 auto}.tooltipster-content{box-sizing:border-box;max-height:100%;max-width:100%;overflow:auto}.tooltipster-ruler{bottom:0;left:0;overflow:hidden;position:fixed;right:0;top:0;visibility:hidden}.tooltipster-fade{opacity:0;-webkit-transition-property:opacity;-moz-transition-property:opacity;-o-transition-property:opacity;-ms-transition-property:opacity;transition-property:opacity}.tooltipster-fade.tooltipster-show{opacity:1}.tooltipster-grow{-webkit-transform:scale(0,0);-moz-transform:scale(0,0);-o-transform:scale(0,0);-ms-transform:scale(0,0);transform:scale(0,0);-webkit-transition-property:-webkit-transform;-moz-transition-property:-moz-transform;-o-transition-property:-o-transform;-ms-transition-property:-ms-transform;transition-property:transform;-webkit-backface-visibility:hidden}.tooltipster-grow.tooltipster-show{-webkit-transform:scale(1,1);-moz-transform:scale(1,1);-o-transform:scale(1,1);-ms-transform:scale(1,1);transform:scale(1,1);-webkit-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);transition-timing-function:cubic-bezier(.175,.885,.32,1.15)}.tooltipster-swing{opacity:0;-webkit-transform:rotateZ(4deg);-moz-transform:rotateZ(4deg);-o-transform:rotateZ(4deg);-ms-transform:rotateZ(4deg);transform:rotateZ(4deg);-webkit-transition-property:-webkit-transform,opacity;-moz-transition-property:-moz-transform;-o-transition-property:-o-transform;-ms-transition-property:-ms-transform;transition-property:transform}.tooltipster-swing.tooltipster-show{opacity:1;-webkit-transform:rotateZ(0);-moz-transform:rotateZ(0);-o-transform:rotateZ(0);-ms-transform:rotateZ(0);transform:rotateZ(0);-webkit-transition-timing-function:cubic-bezier(.23,.635,.495,1);-webkit-transition-timing-function:cubic-bezier(.23,.635,.495,2.4);-moz-transition-timing-function:cubic-bezier(.23,.635,.495,2.4);-ms-transition-timing-function:cubic-bezier(.23,.635,.495,2.4);-o-transition-timing-function:cubic-bezier(.23,.635,.495,2.4);transition-timing-function:cubic-bezier(.23,.635,.495,2.4)}.tooltipster-fall{-webkit-transition-property:top;-moz-transition-property:top;-o-transition-property:top;-ms-transition-property:top;transition-property:top;-webkit-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);transition-timing-function:cubic-bezier(.175,.885,.32,1.15)}.tooltipster-fall.tooltipster-initial{top:0!important}.tooltipster-fall.tooltipster-dying{-webkit-transition-property:all;-moz-transition-property:all;-o-transition-property:all;-ms-transition-property:all;transition-property:all;top:0!important;opacity:0}.tooltipster-slide{-webkit-transition-property:left;-moz-transition-property:left;-o-transition-property:left;-ms-transition-property:left;transition-property:left;-webkit-transition-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);-moz-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);-ms-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);-o-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);transition-timing-function:cubic-bezier(.175,.885,.32,1.15)}.tooltipster-slide.tooltipster-initial{left:-40px!important}.tooltipster-slide.tooltipster-dying{-webkit-transition-property:all;-moz-transition-property:all;-o-transition-property:all;-ms-transition-property:all;transition-property:all;left:0!important;opacity:0}@keyframes tooltipster-fading{0%{opacity:0}100%{opacity:1}}.tooltipster-update-fade{animation:tooltipster-fading .4s}@keyframes tooltipster-rotating{25%{transform:rotate(-2deg)}75%{transform:rotate(2deg)}100%{transform:rotate(0)}}.tooltipster-update-rotate{animation:tooltipster-rotating .6s}@keyframes tooltipster-scaling{50%{transform:scale(1.1)}100%{transform:scale(1)}}.tooltipster-update-scale{animation:tooltipster-scaling .6s}.tooltipster-sidetip .tooltipster-box{background:#565656;border:2px solid #000;border-radius:4px}.tooltipster-sidetip.tooltipster-bottom .tooltipster-box{margin-top:8px}.tooltipster-sidetip.tooltipster-left .tooltipster-box{margin-right:8px}.tooltipster-sidetip.tooltipster-right .tooltipster-box{margin-left:8px}.tooltipster-sidetip.tooltipster-top .tooltipster-box{margin-bottom:8px}.tooltipster-sidetip .tooltipster-content{color:#fff;line-height:18px;padding:6px 14px}.tooltipster-sidetip .tooltipster-arrow{overflow:hidden;position:absolute}.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow{height:10px;margin-left:-10px;top:0;width:20px}.tooltipster-sidetip.tooltipster-left .tooltipster-arrow{height:20px;margin-top:-10px;right:0;top:0;width:10px}.tooltipster-sidetip.tooltipster-right .tooltipster-arrow{height:20px;margin-top:-10px;left:0;top:0;width:10px}.tooltipster-sidetip.tooltipster-top .tooltipster-arrow{bottom:0;height:10px;margin-left:-10px;width:20px}.tooltipster-sidetip .tooltipster-arrow-background,.tooltipster-sidetip .tooltipster-arrow-border{height:0;position:absolute;width:0}.tooltipster-sidetip .tooltipster-arrow-background{border:10px solid transparent}.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow-background{border-bottom-color:#565656;left:0;top:3px}.tooltipster-sidetip.tooltipster-left .tooltipster-arrow-background{border-left-color:#565656;left:-3px;top:0}.tooltipster-sidetip.tooltipster-right .tooltipster-arrow-background{border-right-color:#565656;left:3px;top:0}.tooltipster-sidetip.tooltipster-top .tooltipster-arrow-background{border-top-color:#565656;left:0;top:-3px}.tooltipster-sidetip .tooltipster-arrow-border{border:10px solid transparent;left:0;top:0}.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow-border{border-bottom-color:#000}.tooltipster-sidetip.tooltipster-left .tooltipster-arrow-border{border-left-color:#000}.tooltipster-sidetip.tooltipster-right .tooltipster-arrow-border{border-right-color:#000}.tooltipster-sidetip.tooltipster-top .tooltipster-arrow-border{border-top-color:#000}.tooltipster-sidetip .tooltipster-arrow-uncropped{position:relative}.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow-uncropped{top:-10px}.tooltipster-sidetip.tooltipster-right .tooltipster-arrow-uncropped{left:-10px}
2
  .eael-adv-accordion{width:auto;height:auto;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.eael-adv-accordion .eael-accordion-list .eael-accordion-header{padding:15px;border:1px solid rgba(0,0,0,.02);font-size:1rem;font-weight:600;line-height:1;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;display:-webkit-box;display:flex;-webkit-box-pack:justify;justify-content:space-between;-webkit-box-align:center;align-items:center;cursor:pointer}.eael-adv-accordion .eael-accordion-list .eael-accordion-header .fa-toggle{-webkit-transform:rotate(0);transform:rotate(0);z-index:10;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.eael-adv-accordion .eael-accordion-list .eael-accordion-header.active .fa-toggle{-webkit-transform:rotate(90deg);transform:rotate(90deg);z-index:10;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.fa-accordion-icon{display:inline-block;margin-right:10px}.eael-adv-accordion .eael-accordion-list .eael-accordion-content{display:none;border:1px solid #eee;padding:15px;box-sizing:border-box;font-size:1rem;line-height:1.7}.eael-adv-accordion .eael-accordion-list .eael-accordion-content p{margin:0}.eael-adv-accordion .eael-accordion-list .eael-accordion-content.active{display:block}@-webkit-keyframes rotate-90{0%{-webkit-transform:rotateY(0);transform:rotateY(0)}100%{-webkit-transform:rotateY(-180deg);transform:rotateY(-180deg)}}@keyframes rotate-90{0%{-webkit-transform:rotateY(0);transform:rotateY(0)}100%{-webkit-transform:rotateY(-180deg);transform:rotateY(-180deg)}}@-webkit-keyframes fadeIn{0%{opacity:1;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}100%{opacity:1;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}}@keyframes fadeIn{0%{opacity:1;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}100%{opacity:1;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}}
3
  .eael-advance-tabs{display:block}.eael-advance-tabs .eael-tabs-nav>ul{position:relative;padding:0;margin:0;list-style-type:none;display:-webkit-box;display:flex;-webkit-box-pack:start;justify-content:flex-start;-webkit-box-align:center;align-items:center;z-index:1}.eael-advance-tabs .eael-tabs-nav>ul li{position:relative;padding:1em 1.5em;-webkit-box-flex:1;flex:1 1 auto;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;text-align:center;background-color:#f1f1f1}.eael-advance-tabs .eael-tabs-nav>ul li:after{content:"";position:absolute;bottom:-10px;left:0;right:0;margin:0 auto;z-index:1;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid #444;border-bottom:0;display:none}.eael-advance-tabs .eael-tabs-nav>ul li.active,.eael-advance-tabs .eael-tabs-nav>ul li.active-default,.eael-advance-tabs .eael-tabs-nav>ul li:hover{background-color:#444}.eael-advance-tabs.active-caret-on .eael-tabs-nav>ul li.active-default:after,.eael-advance-tabs.active-caret-on .eael-tabs-nav>ul li.active:after{display:none}.eael-advance-tabs .eael-tabs-nav>ul li.active-default:after,.eael-advance-tabs .eael-tabs-nav>ul li.active:after{display:block}.eael-tabs-content{display:-webkit-box;display:flex;-webkit-box-flex:1;flex:1 1 auto}.eael-advance-tabs .eael-tabs-content>div{display:none;opacity:0}.eael-advance-tabs .eael-tabs-content>div.active,.eael-advance-tabs .eael-tabs-content>div.active-default{display:block;width:100%;padding:1em;opacity:1;-webkit-animation:fadeIn linear .3s;animation:fadeIn linear .3s}.eael-tab-inline-icon li a .fa{margin-right:10px;line-height:1}.eael-tab-top-icon li{display:-webkit-box;display:flex;flex-wrap:wrap;text-align:center}.eael-tab-top-icon li a{display:-webkit-box;display:flex;flex-wrap:wrap;text-align:center}.eael-tab-top-icon li .eael-tab-title,.eael-tab-top-icon li .fa{-webkit-box-flex:1;flex:1 1 100%;line-height:1}.eael-tab-top-icon li a .eael-tab-title{margin-top:10px}.eael-advance-tabs.eael-tabs-vertical{display:-webkit-box;display:flex}.eael-advance-tabs.eael-tabs-vertical .eael-tabs-nav{-webkit-box-flex:0;flex:0 0 auto}.eael-advance-tabs.eael-tabs-vertical .eael-tabs-nav>ul{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column wrap}.eael-advance-tabs.eael-tabs-vertical .eael-tabs-nav>ul>li{width:100%;-webkit-box-pack:start;justify-content:start}.eael-advance-tabs.eael-tabs-vertical .eael-tabs-nav>ul li::after{bottom:auto!important;right:-10px;top:calc(50% - 10px);left:auto!important;border-left:10px solid #444;border-right:0;border-top:10px solid transparent;border-bottom:10px solid transparent}@media only screen and (max-width:767px){.eael-advance-tabs .eael-tabs-nav>ul{flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row wrap}.eael-advance-tabs .eael-tabs-nav>ul li{-webkit-box-flex:1;flex:1 1 auto}.responsive-vertical-layout.eael-advance-tabs .eael-tabs-nav>ul li{-webkit-box-flex:1;flex:1 1 100%}.eael-advance-tabs.eael-tabs-vertical{flex-wrap:wrap}.eael-advance-tabs.eael-tabs-vertical div.eael-tabs-nav{-webkit-box-flex:1;flex:1 100%}.eael-advance-tabs.eael-tabs-vertical ul{-webkit-box-flex:1;flex:1 100%}.eael-advance-tabs.eael-tabs-vertical ul li{-webkit-box-flex:1;flex:1 100%}div.eael-advance-tabs.eael-tabs-vertical div.eael-tabs-nav>ul li::after{border-left-color:transparent!important;bottom:-20px!important;left:0!important;right:0!important;top:auto!important;border-left:10px solid transparent;border-right:10px solid transparent;border-top-color:#444!important}}
4
  .ea-advanced-data-table-wrap *{background-color:transparent;border:none;box-shadow:none;margin:0;padding:0}.ea-advanced-data-table-wrap .ea-advanced-data-table-wrap-inner{width:100%;overflow-y:auto}.ea-advanced-data-table-wrap .ea-advanced-data-table{width:100%;border-collapse:collapse}.ea-advanced-data-table-wrap .ea-advanced-data-table td,.ea-advanced-data-table-wrap .ea-advanced-data-table th{background-color:transparent!important}.ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-sortable th{position:relative;cursor:pointer}.ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-sortable th:before{content:"";border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:5px solid #4d4d4d;position:absolute;top:50%;right:15px;margin-top:-6px}.ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-sortable th:after{content:"";border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid #4d4d4d;position:absolute;top:50%;right:15px;margin-top:1px}.ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-sortable th.asc:before{display:none}.ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-sortable th.asc:after{margin-top:-3px}.ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-sortable th.desc:before{margin-top:-3px}.ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-sortable th.desc:after{display:none}.ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-unsortable th{pointer-events:none}.ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-unsortable th:after,.ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-unsortable th:before{display:none}.ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-paginated tbody tr{display:none}.ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-editable th{position:relative}.ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-editable th:before{border:none}.ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-editable th:after{content:"";display:block;height:100%;position:absolute;right:0;top:0;width:10px;border:none;cursor:col-resize}.ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-editable td,.ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-editable th{padding:0}.ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-editable td textarea,.ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-editable th textarea{width:100%;min-width:100px;height:100%;background-color:transparent;border:none;box-shadow:none;resize:none;margin:0;padding:0;outline:0;vertical-align:middle}.ea-advanced-data-table-wrap .ea-advanced-data-table.ea-advanced-data-table-editable.ea-advanced-data-table-paginated tbody tr{display:table-row}.ea-advanced-data-table-wrap .ea-advanced-data-table-search-wrap.ea-advanced-data-table-search-center{text-align:center}.ea-advanced-data-table-wrap .ea-advanced-data-table-search-wrap.ea-advanced-data-table-search-right{text-align:right}.ea-advanced-data-table-wrap .ea-advanced-data-table-pagination a{display:inline-block}
5
+ .eael-caldera-form-align-left,.eael-caldera-form-btn-align-left{text-align:left}.eael-caldera-form-align-right,.eael-caldera-form-btn-align-right{text-align:right}.eael-caldera-form-align-center,.eael-caldera-form-btn-align-center{text-align:center}.eael-caldera-form .control-label{display:none}.eael-caldera-form-labels-yes .control-label{display:block}.eael-caldera-form-button-center .form-group input[type=button],.eael-caldera-form-button-center .form-group input[type=submit]{display:block;margin:0 auto}.eael-caldera-form-button-right .form-group input[type=button],.eael-caldera-form-button-right .form-group input[type=submit]{float:right}.eael-caldera-form .intl-tel-input{display:inherit}.eael-custom-radio-checkbox .caldera-grid input[type=checkbox],.eael-custom-radio-checkbox .caldera-grid input[type=radio]{border-style:solid;border-width:0;padding:3px;-webkit-appearance:none}.eael-caldera-form-button-full-width .form-group input[type=button],.eael-caldera-form-button-full-width .form-group input[type=submit]{width:100%}
6
  .eael-call-to-action{width:100%;height:auto;display:block;padding:30px;font-size:16px;color:#4d4d4d;font-weight:400;line-height:27px;margin:0 auto}.eael-call-to-action p{margin-bottom:10px}.eael-call-to-action .title{font-size:36px;font-weight:600;line-height:36px;margin-bottom:10px;text-transform:capitalize;font-style:normal}.eael-call-to-action.cta-center{text-align:center}.eael-call-to-action.cta-right{text-align:right}.eael-call-to-action.cta-left{text-align:left}.eael-call-to-action.bg-lite{background:#f4f4f4}.eael-call-to-action.bg-img{background-image:url(../img/bg.jpg);background-repeat:no-repeat;background-position:center;background-size:cover;position:relative;z-index:0;color:rgba(255,255,255,.7)}.eael-call-to-action.bg-img .icon{color:#fff}.eael-call-to-action.bg-img:after{content:"";position:absolute;width:100%;height:100%;top:0;left:0;z-index:-1;background:rgba(0,0,0,.8)}.eael-call-to-action.bg-img.bg-fixed{background-attachment:fixed;background-position:center center}.eael-call-to-action.bg-img .title{color:rgba(255,255,255,.9)}.eael-call-to-action.cta-flex,.eael-call-to-action.cta-icon-flex{display:-webkit-box;display:flex;-webkit-box-pack:justify;justify-content:space-between;-webkit-box-align:start;align-items:flex-start}.eael-call-to-action.cta-icon-flex .icon{-webkit-box-flex:1;flex-grow:1;font-size:80px;text-align:left;line-height:130px}.eael-call-to-action.cta-icon-flex .action{-webkit-box-flex:1;flex-grow:1;text-align:right;padding-top:22px;flex-basis:22%}.eael-call-to-action.cta-icon-flex .content{-webkit-box-flex:1;flex-grow:1;padding:0 30px}.eael-call-to-action.cta-flex .content{padding:0 15px;-webkit-box-flex:1;flex-grow:1}.eael-call-to-action.cta-flex .action{-webkit-box-flex:1;flex-grow:1;text-align:right;padding-top:25px;flex-basis:23%}.eael-call-to-action .cta-button{position:relative;display:inline-block;padding:12px 30px;background:#f9f9f9;font-size:16px;text-decoration:none;color:#4d4d4d;-webkit-transition:.5s;transition:.5s;-ms-box-shadow:0 0 3px -1px rgba(0,0,0,.2);box-shadow:0 0 3px -1px rgba(0,0,0,.2);margin-right:10px;margin-top:10px;z-index:0;overflow:hidden}.eael-call-to-action .cta-button:last-child{margin-right:0}.eael-call-to-action .cta-button:focus{outline:0}.eael-call-to-action .cta-button:hover{color:#fff;background:#3f51b5;-ms-box-shadow:0 1px 12px 1px rgba(0,0,0,.1);box-shadow:0 1px 12px 1px rgba(0,0,0,.1)}.eael-call-to-action .cta-button.effect-1:after{content:"";position:absolute;width:100%;height:100%;background:#3f51b5;top:0;left:0;transform:translateY(-100%);-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);z-index:-1;-webkit-transition:.5s;transition:.5s;color:#fff}.eael-call-to-action .cta-button.effect-1:hover::after{-webkit-transform:translateY(0);transform:translateY(0)}.eael-call-to-action .cta-button.effect-2:after{content:"";position:absolute;width:100%;height:100%;background:#3f51b5;top:0;left:0;z-index:-1;-webkit-transition:.5s;transition:.5s;color:#fff;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.eael-call-to-action .cta-button.effect-2:hover::after{-webkit-transform:translateX(0);transform:translateX(0)}@media only screen and (max-width:768px){.eael-call-to-action.cta-flex,.eael-call-to-action.cta-icon-flex{flex-wrap:wrap}.eael-call-to-action .title{font-size:28px;line-height:36px;margin-top:0}.eael-call-to-action.cta-icon-flex .icon{-webkit-box-flex:1;flex-grow:1;font-size:48px;line-height:90px;text-align:center}.eael-call-to-action.cta-flex .content,.eael-call-to-action.cta-icon-flex .content{-webkit-box-flex:1;flex-grow:1;text-align:center;padding:0}.eael-call-to-action.cta-flex .action,.eael-call-to-action.cta-icon-flex .action{text-align:center;padding-top:0}.eael-call-to-action .cta-button{padding:12px 25px}}@media only screen and (max-width:360px){.eael-call-to-action{font-size:14px;line-height:26px}.eael-call-to-action .cta-button{padding:4px 20px;font-size:12px}.eael-call-to-action .title{font-size:20px;line-height:30px}}
 
7
  @-webkit-keyframes loaderSpin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loaderSpin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.eael-load-more-button-wrap{display:-webkit-box;display:flex}.eael-load-more-button{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;padding:1em 2em;border:0 solid;font-size:16px;overflow:hidden}.eael-load-more-button .button__loader{left:-100%;top:auto;margin-right:5px;-webkit-transition:all .2s;transition:all .2s}.eael-load-more-button>span{margin-left:-20px}.eael-load-more-button.button--loading>span{margin-left:0}.eael-load-more-button.button--loading .button__loader{left:0}.eael-btn-loader{border-radius:50%;width:20px;height:20px;font-size:10px;position:relative;text-indent:-9999em;border-top:4px solid rgba(255,255,255,.2);border-right:4px solid rgba(255,255,255,.2);border-bottom:4px solid rgba(255,255,255,.2);border-left:4px solid #fff;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-animation:loaderSpin 1.1s infinite linear;animation:loaderSpin 1.1s infinite linear}.eael-btn-loader:after{border-radius:50%;width:20px;height:20px}
8
+ .eael-contact-form-7.eael-contact-form-btn-align-center input.wpcf7-submit{margin-left:auto!important;margin-right:auto!important;display:block;float:none}.eael-contact-form-7.eael-contact-form-btn-align-left input.wpcf7-submit{float:left;width:auto}.eael-contact-form-7.eael-contact-form-btn-align-right input.wpcf7-submit{float:right;width:auto}.eael-contact-form-7 .uneditable-input,.eael-contact-form-7 input[type=color],.eael-contact-form-7 input[type=date],.eael-contact-form-7 input[type=datetime-local],.eael-contact-form-7 input[type=datetime],.eael-contact-form-7 input[type=email],.eael-contact-form-7 input[type=month],.eael-contact-form-7 input[type=number],.eael-contact-form-7 input[type=password],.eael-contact-form-7 input[type=search],.eael-contact-form-7 input[type=tel],.eael-contact-form-7 input[type=text],.eael-contact-form-7 input[type=time],.eael-contact-form-7 input[type=url],.eael-contact-form-7 input[type=week],.eael-contact-form-7 textarea{-webkit-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}.eael-contact-form-7 .wpcf7-form::after,.eael-contact-form-7 .wpcf7-form::before{content:" ";clear:both;display:table}.eael-contact-form-7 .wpcf7-form:after{clear:both;content:"";font-size:0;height:0;display:block;visibility:hidden}.eael-contact-form-7 .wpcf7-form .wpcf7-form-control-wrap,.eael-contact-form-7 .wpcf7-form label{display:block}.eael-contact-form-7 .wpcf7-form p{margin-bottom:0}.eael-contact-form-7.labels-hide .wpcf7-form label{display:none}.eael-contact-form-7-title{margin-bottom:10px}.eael-contact-form-7-description{margin-bottom:20px}.eael-contact-form-7-button-full-width .wpcf7-form-control.wpcf7-submit{width:100%}
9
  .eael-ticker-wrap{overflow:hidden;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row nowrap;-webkit-box-align:center;align-items:center;width:100%}.eael-ticker-wrap .ticker-badge{-webkit-box-flex:0;flex:0 0 auto;padding:8px 12px}.eael-ticker-wrap .eael-ticker{overflow:hidden;-webkit-box-flex:1;flex:1 1 auto}.eael-ticker-wrap .eael-ticker .ticker-content{padding:8px 12px;line-height:1.8}.eael-ticker-wrap .eael-ticker .ticker-content p{margin:0}.eael-ticker-wrap .swiper-button-prev{left:auto!important;right:25px}.eael-ticker-wrap div.swiper-slide,.eael-ticker-wrap div.swiper-slide.swiper-slide-next,.eael-ticker-wrap div.swiper-slide.swiper-slide-prev{opacity:0!important}.eael-ticker-wrap div.swiper-slide.swiper-slide-active{opacity:1!important}.eael-ticker-wrap .eael-content-ticker.swiper-container .swiper-slide{text-align:left}@media only screen and (max-width:767px){.eael-ticker-wrap{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row wrap}.content-ticker-pagination{display:none}}.eael-ticker-wrap .swiper-button-next,.eael-ticker-wrap .swiper-button-prev{background-image:none;outline:0;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}
10
  .eael-countdown-items{list-style:none;margin:0;padding:0;display:table;table-layout:fixed;width:100%}.eael-countdown-items>li{list-style:none;margin:0;padding:0;display:table-cell;position:relative}.eael-countdown-item>div{text-align:center;padding:20px}.eael-countdown-label-block .eael-countdown-digits,.eael-countdown-label-block .eael-countdown-label{display:block;text-align:center}.eael-countdown-digits{font-size:54px;line-height:1}.eael-countdown-label{font-size:18px;line-height:1;color:#fff}.eael-countdown-show-separator .eael-countdown-digits::after{content:":";position:absolute;left:98%;z-index:9999}.eael-countdown-item:last-child .eael-countdown-digits::after{display:none}.eael-countdown-items.style-1 .eael-countdown-item>div{background:#262625}
11
+ .eael-creative-button-align-center{text-align:center}.eael-creative-button-wrapper{display:-webkit-box;display:flex}.eael-creative-button{-webkit-box-flex:0;flex:0 0 auto;min-width:150px;text-align:center;vertical-align:middle;position:relative;z-index:1;border-radius:2px;padding:20px 30px;font-size:16px;line-height:1;-webkit-backface-visibility:hidden;backface-visibility:hidden;-moz-osx-font-smoothing:grayscale}.eael-creative-button:focus{outline:0}.eael-creative-button--winona{overflow:hidden;padding:0!important;-webkit-transition:border-color .3s,background-color .3s;transition:border-color .3s,background-color .3s;-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--winona::after{content:attr(data-text);position:absolute;width:100%;height:100%;top:0;left:0;opacity:0;-webkit-transform:translate3d(0,25%,0);transform:translate3d(0,25%,0);display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.eael-creative-button--winona::after,.eael-creative-button--winona>.creative-button-inner{padding:1em 2em;-webkit-transition:-webkit-transform .3s,opacity .3s;-webkit-transition:opacity .3s,-webkit-transform .3s;transition:opacity .3s,-webkit-transform .3s;transition:transform .3s,opacity .3s;transition:transform .3s,opacity .3s,-webkit-transform .3s;-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--winona:hover::after{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.eael-creative-button--winona:hover>.creative-button-inner{opacity:0;-webkit-transform:translate3d(0,-25%,0);transform:translate3d(0,0,0)}.eael-creative-button--ujarak{-webkit-transition:border-color .4s,color .4s;transition:border-color .4s,color .4s}.eael-creative-button--ujarak::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;opacity:0;-webkit-transform:scale3d(.7,1,1);transform:scale3d(.7,1,1);-webkit-transition:-webkit-transform .4s,opacity .4s;-webkit-transition:opacity .4s,-webkit-transform .4s;transition:opacity .4s,-webkit-transform .4s;transition:transform .4s,opacity .4s;transition:transform .4s,opacity .4s,-webkit-transform .4s;-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--ujarak,.eael-creative-button--ujarak::before{-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--ujarak:hover::before{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.eael-creative-button--wayra{overflow:hidden;-webkit-transition:border-color .3s,color .3s;transition:border-color .3s,color .3s;-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--wayra::before{content:'';position:absolute;top:0;left:0;width:150%;height:100%;z-index:-1;-webkit-transform:rotate3d(0,0,1,-45deg) translate3d(0,-3em,0);transform:rotate3d(0,0,1,-45deg) translate3d(0,-3em,0);-webkit-transform-origin:0 100%;transform-origin:0 100%;-webkit-transition:-webkit-transform .3s,opacity .3s,background-color .3s;-webkit-transition:opacity .3s,background-color .3s,-webkit-transform .3s;transition:opacity .3s,background-color .3s,-webkit-transform .3s;transition:transform .3s,opacity .3s,background-color .3s;transition:transform .3s,opacity .3s,background-color .3s,-webkit-transform .3s}.eael-creative-button--wayra:hover::before{opacity:1;-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg);-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--tamaya{float:left;min-width:150px;max-width:250px;display:block;margin:1em;padding:1em 2em;border:none;background:0 0;color:inherit;vertical-align:middle;position:relative;z-index:1;-webkit-backface-visibility:hidden;-moz-osx-font-smoothing:grayscale;overflow:hidden;color:#7986cb;min-width:180px}.eael-creative-button--tamaya.button--inverted{color:#37474f;border-color:#37474f}.eael-creative-button--tamaya::after,.eael-creative-button--tamaya::before{content:attr(data-text);position:absolute;width:100%;height:50%;left:0;background:#7986cb;color:#fff;overflow:hidden;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--tamaya.button--inverted::after,.eael-creative-button--tamaya.button--inverted::before{background:#fff;color:#37474f}.eael-creative-button--tamaya::before{top:0;padding-top:1em}.eael-creative-button--tamaya::after{bottom:0;line-height:0}.eael-creative-button--tamaya span{display:block;-webkit-transform:scale3d(.2,.2,1);transform:scale3d(.2,.2,1);opacity:0;-webkit-transition:-webkit-transform .3s,opacity .3s;-webkit-transition:opacity .3s,-webkit-transform .3s;transition:opacity .3s,-webkit-transform .3s;transition:transform .3s,opacity .3s;transition:transform .3s,opacity .3s,-webkit-transform .3s;-webkit-transition-timing-function:cubic-bezier(.2,1,.3,1);transition-timing-function:cubic-bezier(.2,1,.3,1)}.eael-creative-button--tamaya:hover::before{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}.eael-creative-button--tamaya:hover::after{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.eael-creative-button--tamaya:hover span{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1);content:'Bangladesh'}.eael-creative-button--rayen{overflow:hidden;padding:0!important}.eael-creative-button--rayen::before{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.eael-creative-button--rayen::before,.eael-creative-button--rayen>.creative-button-inner{padding:1em 2em;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;-webkit-transition-timing-function:cubic-bezier(.75,0,.125,1);transition-timing-function:cubic-bezier(.75,0,.125,1)}.eael-creative-button--rayen:hover::before{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.eael-creative-button--rayen:hover>.creative-button-inner{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.creative-button-inner{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.eael-creative-button-icon-left{margin-right:5px}.eael-creative-button-icon-right{margin-left:5px}
12
+ @charset "UTF-8";table.eael-data-table thead .sorting,table.eael-data-table thead .sorting_asc,table.eael-data-table thead .sorting_desc{position:relative;z-index:0;outline:0;cursor:pointer}table.eael-data-table thead .sorting:after,table.eael-data-table thead .sorting_asc:after,table.eael-data-table thead .sorting_desc:after{position:absolute;top:50%;right:10px;font-family:FontAwesome;color:#fff;z-index:1;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.eael-data-table-wrap .eael-data-tables_wrapper{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row wrap;-webkit-box-pack:start;justify-content:flex-start;width:100%}.eael-data-table-wrap .eael-data-tables_filter{-webkit-box-flex:1;flex-grow:1;flex-basis:50%;text-align:right}.eael-data-table-wrap .eael-data-tables_filter label{font-weight:700}.eael-data-table-wrap .eael-data-tables_filter label input[type=search]{height:40px;border:1px solid rgba(0,0,0,.09);outline:0;padding:10px;margin-left:10px}.eael-data-table-wrap .eael-data-tables_length{-webkit-box-flex:1;flex-grow:1;flex-basis:50%}.eael-data-table-wrap .eael-data-tables_length select{width:auto;max-width:120px;height:40px;border:1px solid rgba(0,0,0,.09);outline:0;margin-left:10px;margin-right:10px}.eael-data-table-wrap .eael-data-tables_length label{font-weight:700}.eael-data-table-wrap .eael-data-tables_info{-webkit-box-flex:1;flex-grow:1;flex-basis:50%;font-weight:700}.eael-data-table-wrap .eael-data-tables_paginate{-webkit-box-flex:1;flex-grow:1;flex-basis:50%;text-align:right}.eael-data-table-wrap .eael-data-tables_paginate .paginate_button{padding:10px 15px;background:#f2f2f2;margin-right:2px;cursor:pointer;-webkit-transition:all .3s;transition:all .3s}.eael-data-table-wrap .eael-data-tables_paginate .paginate_button:hover{color:#fff;background:#4a4893}.eael-data-table-wrap .eael-data-tables_paginate .paginate_button.current{color:#fff;background:#4a4893}.eael-data-table-wrap .eael-data-tables_paginate .paginate_button.disabled{cursor:no-drop;background:#f2f2f2;opacity:.5;color:#888}.data-header-icon{margin-right:10px;position:relative;top:2px}.eael-data-table{width:100%;height:auto;margin:0;border-collapse:collapse;border:none}.eael-data-table tr{border-style:none}.eael-data-table thead tr{text-align:left}.eael-data-table thead tr th{padding:20px 15px;background:#4a4893;font-size:16px;font-weight:600;font-family:Montserrat,sans-serif;line-height:1;color:#fff;border-color:#000;border-width:2px;border-style:none;background-clip:padding-box}.eael-data-table thead tr th:hover{border-color:#000}.eael-data-table tbody tr.even{-webkit-transition:background .4s ease-in-out;transition:background .4s ease-in-out}.eael-data-table tbody tr.even:hover{background:rgba(242,242,242,.7)}.eael-data-table tbody tr.even:last-child{border-bottom:1px solid rgba(0,0,0,.09)}.eael-data-table tbody tr.odd{background:rgba(242,242,242,.5);-webkit-transition:background .2s ease-in-out;transition:background .2s ease-in-out}.eael-data-table tbody tr.odd:hover{background:rgba(242,242,242,.7)}.eael-data-table tbody tr.odd:last-child{border-bottom:1px solid rgba(0,0,0,.09)}.eael-data-table tbody tr td{padding:20px 15px;font-size:14px;font-family:Montserrat,sans-serif;line-height:1;border-width:2px;border-style:none;background-clip:padding-box}.eael-data-table-th-img{display:inline-block;margin:0 15px 0 0;line-height:1}.th-mobile-screen{display:none}@media (max-width:767px){.eael-data-table-wrap{overflow-x:scroll!important;padding-bottom:5px}.th-mobile-screen{display:inline-block;padding:0 .6em;margin-right:10px;text-align:center;-webkit-box-flex:0;flex-grow:0;flex-shrink:0;flex-basis:100px}.th-mobile-screen .eael-data-table-th-img{margin:0 auto 15px auto;display:block}.th-mobile-screen .data-header-icon{margin:0 auto 15px auto;display:block}.td-content-wrapper{display:-webkit-box;display:flex;width:100%}.td-content{width:100%;-webkit-box-pack:center;justify-content:center}.td-content>p{width:100%;-webkit-box-pack:center;justify-content:center}.custom-responsive-option-enable .eael-data-table thead{display:none}.custom-responsive-option-enable .eael-data-table tbody tr td{float:none;clear:left;width:100%;text-align:left;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.eael-data-table .td-content{-webkit-box-align:center;align-items:center;display:-webkit-box;display:flex}}table.eael-data-table thead .sorting:after{content:""}table.eael-data-table thead .headerSortDown:after{content:""}table.eael-data-table thead .headerSortUp:after{content:""}table.eael-data-table thead .sorting_disabled.sorting:after{display:none}table.eael-data-table .sorting.sorting-none:after{display:none}table.eael-data-table .sorting_desc.sorting-none:after{display:none}table.eael-data-table .sorting_asc.sorting-none:after{display:none}.eael-table-align-left table.eael-data-table{float:left}.eael-table-align-center table.eael-data-table{margin:0 auto}.eael-table-align-right table.eael-data-table{float:right}.eael-hide-elements .eael-data-tables_info{display:none}.eael-dt-th-align-left .eael-data-table thead tr th{text-align:left}.eael-dt-th-align-right .eael-data-table thead tr th{text-align:right;padding-right:30px}.eael-dt-th-align-center .eael-data-table thead tr th{text-align:center}.eael-dt-td-align-left .eael-data-table tbody tr td{text-align:left}.eael-dt-td-align-center .eael-data-table tbody tr td{text-align:center}.eael-dt-td-align-right .eael-data-table tbody tr td{text-align:right;padding-right:30px}@media (max-width:1024px){.eael-dt-td-align-tablet-left .eael-data-table tbody tr td{text-align:left}.eael-dt-td-align-tablet-center .eael-data-table tbody tr td{text-align:center}.eael-dt-td-align-tablet-right .eael-data-table tbody tr td{text-align:right}}@media (max-width:767px){.eael-dt-td-align-mobile-left .eael-data-table tbody tr td{text-align:left}.eael-dt-td-align-mobile-center .eael-data-table tbody tr td{text-align:center}.eael-dt-td-align-mobile-right .eael-data-table tbody tr td{text-align:right}}
13
  .eael-dual-header{display:block;margin-bottom:50px}.eael-dual-header .title,.eael-dual-header .title span{font-size:36px;font-weight:700;text-transform:uppercase;line-height:48px;margin:10px 0}.eael-dual-header .subtext{font-size:16px;display:block}.eael-dual-header i{display:block;padding:0;margin:20px 0 10px 0;font-size:36px}.eael-dual-header .title span.lead{color:#1abc9c}.eael-dual-header-content-align-center{text-align:center}.eael-dual-header-content-align-left{text-align:left}.eael-dual-header-content-align-right{text-align:right}
14
  .elementor-panel .pro-feature,.elementor-panel .pro-feature a{color:#a4afb7;text-transform:uppercase;letter-spacing:1px;line-height:1.8;font-style:normal}.elementor-panel .pro-feature a{text-decoration:underline;color:#f54!important}.elementor-control-data_table_content_colspan_pro_alert .elementor-control-title,.elementor-control-data_table_content_rowspan_pro_alert .elementor-control-title,.elementor-control-data_table_content_template_pro_alert .elementor-control-title,.elementor-control-data_table_header_colspan_pro_alert .elementor-control-title,.elementor-control-data_table_header_img_pro_alert .elementor-control-title,.elementor-panel .elementor-control-eael_section_pro .elementor-panel-heading-title.elementor-panel-heading-title,.elementor-panel .elementor-control-eael_section_pro .elementor-panel-heading-toggle{color:#f54}.elementor-panel .elementor-control-eael_control_get_pro .elementor-control-field{display:none!important}.elementor-control-eael_fancy_text_style_pro_alert .elementor-control-title,.elementor-control-eael_img_accordion_type_pro_alert .elementor-control-title,.elementor-control-eael_pricing_table_style_pro_alert .elementor-control-title,.elementor-control-eael_section_countdown_style_pro_alert .elementor-control-title,.elementor-control-eael_section_data_table_enabled_pro_alert .elementor-control-title,.elementor-control-eael_team_members_preset_pro_alert .elementor-control-title,.elementor-control-eael_ticker_type_pro_alert .elementor-control-title{color:#f54}
15
+ .eael-event-calendar-wrapper .fc-row table{margin:0!important}.eael-event-calendar-wrapper .fc table{margin:auto}.eael-event-calendar-wrapper .fc-view table thead:first-child tr:first-child td{border-top:1px solid #ddd!important;border-bottom:none!important}.eael-event-calendar-wrapper .fc-day-grid-event{margin-top:2px;padding:8px;font-size:12px;border-left-width:5px}.eael-event-calendar-wrapper .fc-day.fc-today{background:0 0}.eael-event-calendar-wrapper .fc-day-top.fc-today .fc-day-number{font-weight:700}.eael-event-calendar-wrapper .fc-row table thead:first-child tr:first-child th{font-size:14px}.eael-event-calendar-wrapper .fc-day-number{font-size:14px;float:center!important}.eael-event-calendar-wrapper .eaelec-modal{position:fixed;left:0;top:0;width:100%;height:100%;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;z-index:-1}.eael-event-calendar-wrapper .eaelec-modal .eael-ec-modal-bg{position:absolute;left:0;top:0;height:100%;width:100%;background:#000;opacity:0;-webkit-transition:all .3s ease-out;transition:all .3s ease-out}.eael-event-calendar-wrapper .eaelec-modal.eael-ec-popup-ready{z-index:99999;opacity:1}.eael-event-calendar-wrapper .eaelec-modal-content{position:relative;margin:auto;border:1px solid #888;max-width:900px;box-shadow:0 4px 8px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);background-color:#fefefe;padding:20px 0;width:100%;border-radius:10px}.eael-event-calendar-wrapper .eaelec-modal-header{padding:0 30px;color:#fff;border-color:#090;overflow:auto;margin-top:8px}.eael-event-calendar-wrapper .eaelec-modal-header h2{color:#242424;margin:0;padding:0}.eael-event-calendar-wrapper .eaelec-modal-header .eaelec-event-popup-date{color:#555;padding-top:2px;display:inline-block}.eael-event-calendar-wrapper .eaelec-modal-header .eaelec-event-popup-date i{color:#5725ff}.eael-event-calendar-wrapper .eaelec-modal-close{position:absolute;right:-15px;top:-18px;font-size:24px;z-index:9999;cursor:pointer;box-sizing:content-box;overflow:visible;border:2px solid #fff;background:#fff;text-align:center;box-shadow:2px 0 12px 3px rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);color:#000!important;height:40px;width:40px;text-align:center;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;border-radius:50%}.eael-event-calendar-wrapper .eaelec-modal-close>span{font-size:20px}.eael-event-calendar-wrapper .eaelec-modal-close:focus,.eael-event-calendar-wrapper .eaelec-modal-close:hover{color:#fff;text-decoration:none;cursor:pointer}.eael-event-calendar-wrapper .eaelec-modal-body{padding:0 10px 0 35px;margin:10px 0;color:#555;height:300px;overflow-y:auto;word-break:break-all}.eael-event-calendar-wrapper .eaelec-modal-body::-webkit-scrollbar{width:6px}.eael-event-calendar-wrapper .eaelec-modal-body::-webkit-scrollbar-thumb{background:#aaa;border-radius:10px}.eael-event-calendar-wrapper .eaelec-modal-footer{padding:0 10px 0 35px;color:#fff;border:0 solid red}.eael-event-calendar-wrapper .eaelec-event-date-end,.eael-event-calendar-wrapper .eaelec-event-date-start{font-size:15px}@media (max-width:575px){.eael-event-calendar-wrapper .fc-toolbar{margin:0!important;padding:0!important}.eael-event-calendar-wrapper .fc-toolbar .fc-center{width:100%!important;margin:0!important;padding:0!important}.eael-event-calendar-wrapper .fc-toolbar h2{font-size:16px!important;width:100%!important;text-align:center!important;padding:5px!important}.eael-event-calendar-wrapper .fc-ltr .fc-axis{font-size:12px!important}.eael-event-calendar-wrapper .fc-row table thead:first-child tr:first-child th{font-weight:400!important;font-size:12px!important;padding:5px!important}}.eael-event-calendar-wrapper .fc-toolbar.fc-header-toolbar .fc-center h2{font-size:22px}.eael-event-calendar-wrapper .fc-toolbar.fc-header-toolbar .fc-left .fc-button .fc-icon{font-size:13px}.fc-toolbar.fc-header-toolbar .fc-button-group button:not(:first-child){margin-left:5px}.fc-toolbar.fc-header-toolbar button.fc-dayGridMonth-button,.fc-toolbar.fc-header-toolbar button.fc-listWeek-button,.fc-toolbar.fc-header-toolbar button.fc-timeGridDay-button,.fc-toolbar.fc-header-toolbar button.fc-timeGridWeek-button{position:relative}.fc-toolbar.fc-header-toolbar button.fc-dayGridMonth-button:before,.fc-toolbar.fc-header-toolbar button.fc-listWeek-button:before,.fc-toolbar.fc-header-toolbar button.fc-timeGridDay-button:before,.fc-toolbar.fc-header-toolbar button.fc-timeGridWeek-button:before{font-family:"Font Awesome 5 Free";font-weight:900;font-size:13px;display:inline-block;padding-right:5px;padding-left:0;-webkit-font-smoothing:antialiased}.fc-toolbar.fc-header-toolbar button.fc-timeGridWeek-button:before{content:"\f03a";left:8px}.fc-toolbar.fc-header-toolbar button.fc-timeGridDay-button:before{content:"\f0c9";left:21px}.fc-toolbar.fc-header-toolbar button.fc-dayGridMonth-button:before{content:"\f00a"}.fc-toolbar.fc-header-toolbar button.fc-listWeek-button:before{content:"\f00b"}.fc-toolbar.fc-header-toolbar button.fc-button.fc-button-primary{box-shadow:none;height:auto;width:auto;float:none;font-size:13px;font-weight:400;color:#5e5e5e;border-radius:3px;text-transform:capitalize;background:#f7f7fb;text-shadow:none;line-height:19px;padding:8px 12px;border:none}.fc-toolbar.fc-header-toolbar button.fc-button.fc-button-primary.fc-state-active,.fc-toolbar.fc-header-toolbar button.fc-button.fc-button-primary:focus,.fc-toolbar.fc-header-toolbar button.fc-button.fc-button-primary:hover,.fc-toolbar.fc-header-toolbar button.fc-button.fc-button-primary:visited{background:#5725ff;color:#fff;box-shadow:none}.fc-toolbar.fc-header-toolbar button.fc-button.fc-button-primary.fc-button-active{background:#5725ff;color:#fff}th.fc-widget-header>span{padding:14px;display:block;font-size:16px;color:#424344}span.fc-day-number{padding:17px;display:block}.fc-basic-view .fc-day-number,.fc-basic-view .fc-week-number{padding:12px 2px 2px 2px;display:block;border-bottom:0 solid}.eael-event-calendar-wrapper .fc-view .fc-body thead:first-child tr:first-child td{border-bottom:3px solid transparent}.eael-event-calendar-wrapper .fc-view table thead:first-child tr:first-child td{border-top:1px solid #dfdfe9}.fc-unthemed .fc-timeGridDay-view .fc-event,.fc-unthemed .fc-timeGridWeek-view .fc-event{border-left:1px solid;border-color:#4d4d4d!important}.fc-unthemed .fc-timeGridDay-view .fc-event .fc-time,.fc-unthemed .fc-timeGridWeek-view .fc-event .fc-time{padding-left:3px}.fc-unthemed .fc-timeGridDay-view .fc-bg table tbody tr>td,.fc-unthemed .fc-timeGridWeek-view .fc-bg table tbody tr>td{padding-left:1px}.fc-unthemed .fc-timeGridDay-view .fc-time-grid .fc-event .fc-content,.fc-unthemed .fc-timeGridWeek-view .fc-time-grid .fc-event .fc-content{-webkit-box-pack:end;justify-content:end}.fc-unthemed .fc-timeGridWeek-view .fc-time-grid .fc-event .fc-content{display:inherit}.fc-unthemed .fc-listWeek-view .fc-list-table tr.fc-list-item{cursor:pointer}.fc-unthemed .fc-listWeek-view .fc-list-table tr td{padding-bottom:10px;padding-top:10px}.fc-unthemed .fc-dayGridMonth-view .fc-day-grid-event .fc-time{font-weight:400}.fc-unthemed .fc-content,.fc-unthemed .fc-divider,.fc-unthemed .fc-list-heading td,.fc-unthemed .fc-list-view,.fc-unthemed .fc-popover,.fc-unthemed .fc-row,.fc-unthemed tbody,.fc-unthemed td,.fc-unthemed th,.fc-unthemed thead{border-color:#dfdfe9}.fc-unthemed .fc-event,.fc-unthemed a.fc-day-grid-event{color:#707070;font-size:14px;background:#fff;border-radius:5px;font-weight:400;margin:1px;border:none}.fc-unthemed .fc-event .fc-day-grid-event .fc-time,.fc-unthemed a.fc-day-grid-event .fc-day-grid-event .fc-time{font-weight:400}.fc-unthemed .fc-time-grid .fc-event{min-height:20px}.fc-unthemed .fc-time-grid .fc-event .fc-content{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;height:100%;width:100%}.fc-unthemed .fc-time-grid .fc-event .fc-content .fc-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fc-unthemed .fc-event:hover{color:#707070}.eaelec-modal.eael-zoom-in{opacity:0;-webkit-transition:all .3s ease-out;transition:all .3s ease-out}.eaelec-modal.eael-zoom-in .eaelec-modal-content{opacity:0;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;-webkit-transform:scale(.5);transform:scale(.5)}.eaelec-modal.eael-zoom-in.eael-ec-popup-ready .eael-ec-modal-bg{opacity:.7}.eaelec-modal.eael-zoom-in.eael-ec-popup-ready .eaelec-modal-content{opacity:1;-webkit-transform:scale(.9);transform:scale(.9)}.eaelec-modal.eael-zoom-in.eael-ec-modal-removing .eaelec-modal-content{-webkit-transform:scale(.5);transform:scale(.5);opacity:0}.eaelec-modal.eael-zoom-in.eael-ec-modal-removing .eael-ec-modal-bg{opacity:0}@media (min-width:768px) and (max-width:1024px){.eael-event-calendar-wrapper .fc-toolbar.fc-header-toolbar{margin-bottom:12px}.eael-event-calendar-wrapper .fc-toolbar.fc-header-toolbar .fc-center h2{font-size:22px}.eael-event-calendar-wrapper .fc-right .fc-button-group .fc-button.fc-button-primary:before{font-size:15px}.eael-event-calendar-wrapper .fc-timeGridWeek-view a .fc-content{display:inherit!important}.eael-event-calendar-wrapper .fc-day-header.fc-widget-header span{font-size:15px}.eael-event-calendar-wrapper .fc-toolbar.fc-header-toolbar .fc-button-group button:not(:first-child){margin-left:5px}.eael-event-calendar-wrapper .eaelec-modal-body{height:200px}}@media only screen and (max-width:767px){.fc-left,.fc-right{width:100%;text-align:center}.fc-left{text-align:center}.fc-right{margin-bottom:10px}.fc-right .fc-button-group .fc-button.fc-button-primary{font-size:11px}.fc-right .fc-button-group .fc-button.fc-button-primary:before{font-size:11px;padding-left:0}.fc-center{text-align:center}.fc-toolbar.fc-header-toolbar{display:inline-block;width:100%}.fc-toolbar.fc-header-toolbar .fc-button-group button.fc-button.fc-button-primary{margin-left:5px;font-size:12px}th.fc-widget-header>span{padding:0;font-size:14px}.fc-basic-view .fc-day-number,.fc-basic-view .fc-week-number{padding:0;margin:0;font-size:10px}.fc-basic-view .fc-body .fc-row{min-height:2em}.eael-event-calendar-wrapper .eaelec-modal-body{height:100px}}
16
  .eael-facebook-feed{width:100%;margin:auto}.eael-facebook-feed.eael-col-1 .eael-facebook-feed-item{float:none;width:100%}@media only screen and (max-width:979px){.eael-facebook-feed.eael-col-1 .eael-facebook-feed-item{width:50%}}@media only screen and (max-width:480px){.eael-facebook-feed.eael-col-1 .eael-facebook-feed-item{width:100%}}.eael-facebook-feed.eael-col-2 .eael-facebook-feed-item{float:left;width:50%}@media only screen and (max-width:979px){.eael-facebook-feed.eael-col-2 .eael-facebook-feed-item{width:50%}}@media only screen and (max-width:480px){.eael-facebook-feed.eael-col-2 .eael-facebook-feed-item{width:100%}}.eael-facebook-feed.eael-col-3 .eael-facebook-feed-item{float:left;width:33.3333%}@media only screen and (max-width:979px){.eael-facebook-feed.eael-col-3 .eael-facebook-feed-item{width:50%}}@media only screen and (max-width:480px){.eael-facebook-feed.eael-col-3 .eael-facebook-feed-item{width:100%}}.eael-facebook-feed.eael-col-4 .eael-facebook-feed-item{float:left;width:25%}@media only screen and (max-width:979px){.eael-facebook-feed.eael-col-4 .eael-facebook-feed-item{width:50%}}@media only screen and (max-width:480px){.eael-facebook-feed.eael-col-4 .eael-facebook-feed-item{width:100%}}.eael-facebook-feed.eael-col-5 .eael-facebook-feed-item{float:left;width:20%}@media only screen and (max-width:979px){.eael-facebook-feed.eael-col-5 .eael-facebook-feed-item{width:50%}}@media only screen and (max-width:480px){.eael-facebook-feed.eael-col-5 .eael-facebook-feed-item{width:100%}}.eael-facebook-feed.eael-col-6 .eael-facebook-feed-item{float:left;width:16.6666%}@media only screen and (max-width:979px){.eael-facebook-feed.eael-col-6 .eael-facebook-feed-item{width:50%}}@media only screen and (max-width:480px){.eael-facebook-feed.eael-col-6 .eael-facebook-feed-item{width:100%}}.eael-facebook-feed .eael-facebook-feed-item{display:inline-block;line-height:0}.eael-facebook-feed .eael-facebook-feed-item,.eael-facebook-feed .eael-facebook-feed-item-inner{position:relative}.eael-facebook-feed-overlay .eael-facebook-feed-item .eael-facebook-feed-item-overlay{display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;text-align:center;position:absolute;top:0;bottom:0;left:0;right:0;font-size:12px;line-height:1;-webkit-transform:scale(.8);transform:scale(.8);opacity:0;-webkit-transition:all .2s;transition:all .2s}.eael-facebook-feed-overlay .eael-facebook-feed-item .eael-facebook-feed-item-overlay .eael-facebook-feed-item-overlay-inner{position:relative;align-self:center}.eael-facebook-feed-overlay .eael-facebook-feed-item:hover .eael-facebook-feed-item-overlay{-webkit-transform:scale(1);transform:scale(1);opacity:1}.eael-facebook-feed-overlay .eael-facebook-feed-meta{margin-bottom:0}.eael-facebook-feed-overlay .eael-facebook-feed-meta span{display:inline-block;margin:0 15px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner{margin:10px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-header{padding:8px 12px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-header .eael-facebook-feed-item-user{float:left}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-header .eael-facebook-feed-item-user .eael-facebook-feed-avatar{float:left;display:inline-block;width:32px;height:32px;border-radius:50%;margin-right:10px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-header .eael-facebook-feed-item-user .eael-facebook-feed-username{float:left;display:inline-block;font-size:14px;font-weight:400;line-height:32px;margin:0}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-header .eael-facebook-feed-post-time{float:right;font-size:11px;font-weight:400;line-height:32px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-content{position:relative;display:block;padding:12px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-content .eael-facebook-feed-message{font-size:14px;font-weight:400;line-height:1.3;margin:0}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap{padding:0}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-preview-img{display:block;position:relative;margin-bottom:12px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-preview-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(0,0,0,.4);display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-preview-overlay i{font-size:48px;color:#fff}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-url-preview{padding:0 12px 15px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-url-preview .eael-facebook-feed-url-host{font-size:12px;font-weight:400;line-height:1;text-transform:uppercase;margin-bottom:5px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-url-preview .eael-facebook-feed-url-title{font-size:15px;font-weight:700;line-height:1.4;margin-top:0;margin-bottom:6px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-url-preview .eael-facebook-feed-url-description{font-size:14px;font-weight:400;line-height:1.2;margin-bottom:0}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-footer{font-size:13px;font-weight:400;line-height:30px;padding:8px 12px}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-footer span{display:inline-block}.eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-footer span.eael-facebook-feed-post-likes{margin-right:15px}.elementor-widget-eael-facebook-feed .eael-load-more-button-wrap{-webkit-box-pack:center;justify-content:center;margin-top:15px}.elementor-widget-eael-facebook-feed .eael-load-more-button-wrap.no-pagination{display:none}
17
  .eael-fancy-text-container p{margin:0}.eael-fancy-text-strings{display:none}.eael-fancy-text-prefix,.eael-fancy-text-suffix{display:inline-block}.morphext>.animated{display:inline-block}.typed-cursor{opacity:1;-webkit-animation:blink_cursor .7s infinite;animation:blink_cursor .7s infinite}@keyframes blink_cursor{0%{opacity:1}50%{opacity:0}100%{opacity:1}}@-webkit-keyframes blink_cursor{0%{opacity:1}50%{opacity:0}100%{opacity:1}}.eael-fancy-text-container.style-2{font-size:24px}.eael-fancy-text-container.style-2 .eael-fancy-text-strings{background:#f54;color:#fff;padding:10px 25px}
18
  .elementor-widget-eael-feature-list.-icon-position-left .connector-type-modern.rhombus .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right .connector-type-modern.rhombus .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top .connector-type-modern.rhombus .eael-feature-list-item:before{top:3px!important}.elementor-widget-eael-feature-list.-icon-position-left .connector-type-modern.rhombus .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right .connector-type-modern.rhombus .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top .connector-type-modern.rhombus .eael-feature-list-item:after{top:45px!important}.elementor-widget-eael-feature-list.-icon-position-right .connector,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .connector{right:0;left:calc(100% - 70px)}.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 50px 0 0}@media (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 30px 0 0}}.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{left:auto;right:0}.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:auto;right:5px;top:30px}.elementor-widget-eael-feature-list .eael-feature-list-items{list-style-type:none;margin:0;padding:0}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item{position:relative}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .connector{display:block;position:absolute;width:0;margin:0 auto;z-index:1;height:100%;top:.5em;font-size:60px;left:0;right:calc(100% - 60px);border-left:2px solid #2ecc71;border-right:none!important}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item:last-child .connector{display:none}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box{z-index:2;-webkit-transition:all .5s;transition:all .5s}@media (prefers-reduced-motion:reduce){.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box{-webkit-transition:none;transition:none}}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon-inner{background-color:#37368e;-webkit-transition:all .5s;transition:all .5s;display:-webkit-inline-box;display:inline-flex}@media (prefers-reduced-motion:reduce){.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon-inner{-webkit-transition:none;transition:none}}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon{padding:.5em;-webkit-transition:all .5s;transition:all .5s;font-size:30px;line-height:1;color:#37368e;text-align:center;display:-webkit-inline-box;display:inline-flex;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}@media (prefers-reduced-motion:reduce){.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon{-webkit-transition:none;transition:none}}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon i{width:1em;height:1em;position:relative;display:block}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-icon i:before{position:absolute;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-img{font-size:8px;line-height:1;max-width:inherit}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-content-box{margin:0 0 0 20px}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-content-box .eael-feature-list-title{margin-top:-2px;line-height:1.5em}.elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-content-box .eael-feature-list-content{padding:0;margin:0;font-size:14px;line-height:1.5em}.elementor-widget-eael-feature-list .eael-feature-list-items.stacked .eael-feature-list-icon-box .eael-feature-list-icon{color:#fff}.elementor-widget-eael-feature-list .eael-feature-list-items.framed .eael-feature-list-icon-box .eael-feature-list-icon{background-color:#fff}.elementor-widget-eael-feature-list .eael-feature-list-items.circle .eael-feature-list-icon-box .eael-feature-list-icon-inner{border-radius:50%}.elementor-widget-eael-feature-list .eael-feature-list-items.circle .eael-feature-list-icon-box .eael-feature-list-icon-inner .eael-feature-list-icon{border-radius:50%}.elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-icon-box .eael-feature-list-icon-inner{-webkit-transform:rotate(45deg);transform:rotate(45deg);margin:15px}.elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-icon-box .eael-feature-list-icon i{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-icon-box .eael-feature-list-icon img{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-content-box .eael-feature-list-title{margin-top:15px}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 50px;position:relative}@media (max-width:767px){.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 30px;display:block}}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{content:"";position:absolute;display:block}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{left:0;top:0;z-index:1;border-left:1px solid #000;border-right:none!important;height:100%}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:5px;top:30px;width:23px;display:block;z-index:2;border-bottom:1px dashed #000;border-top:none!important}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern .eael-feature-list-item .connector{display:none}@media (min-width:768px){.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern.-icon-position-right .eael-feature-list-item{padding:0 50px 0 0}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern.-icon-position-right .eael-feature-list-item:before{left:auto;right:0}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern.-icon-position-right .eael-feature-list-item:after{left:auto;right:5px;top:30px}.elementor-widget-eael-feature-list .eael-feature-list-items.connector-type-modern.-icon-position-right .eael-feature-list-item .connector{display:none}}@media (min-width:1025px){.elementor-widget-eael-feature-list.-icon-position-left .eael-feature-list-content-box{margin-right:0!important;margin-top:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-content-box{margin-left:0!important;margin-top:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-top .eael-feature-list-content-box{margin-left:0!important;margin-right:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-left .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-item{display:-webkit-box;display:flex}.elementor-widget-eael-feature-list.-icon-position-left .eael-feature-list-item{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-item{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;flex-direction:row-reverse}}@media (max-width:1024px){.elementor-widget-eael-feature-list.-tablet-icon-position-left .eael-feature-list-item,.elementor-widget-eael-feature-list.-tablet-icon-position-right .eael-feature-list-item{display:-webkit-box;display:flex}.elementor-widget-eael-feature-list.-tablet-icon-position-left .eael-feature-list-item{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.elementor-widget-eael-feature-list.-tablet-icon-position-right .eael-feature-list-item{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;flex-direction:row-reverse}}@media (min-width:768px) and (max-width:1024px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left .eael-feature-list-content-box{margin-right:0!important;margin-top:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 50px}}@media (min-width:768px) and (max-width:1024px) and (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 30px}}@media (min-width:768px) and (max-width:1024px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{left:0;right:auto}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:5px;top:30px}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top .eael-feature-list-content-box{margin-left:0!important;margin-right:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 50px}}@media (min-width:768px) and (max-width:1024px) and (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 30px}}@media (min-width:768px) and (max-width:1024px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{left:0;right:auto}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:5px}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right .eael-feature-list-content-box{margin-left:0!important;margin-top:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 50px 0 0}}@media (min-width:768px) and (max-width:1024px) and (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 30px 0 0}}@media (min-width:768px) and (max-width:1024px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{right:0;left:auto}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:auto;right:5px}}@media (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-item,.elementor-widget-eael-feature-list.-tablet-icon-position-left .eael-feature-list-item,.elementor-widget-eael-feature-list.-tablet-icon-position-right .eael-feature-list-item{display:block;text-align:left}.elementor-widget-eael-feature-list.-mobile-icon-position-left .eael-feature-list-item,.elementor-widget-eael-feature-list.-mobile-icon-position-right .eael-feature-list-item{display:-webkit-box;display:flex}.elementor-widget-eael-feature-list.-mobile-icon-position-left .eael-feature-list-item{text-align:left;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.elementor-widget-eael-feature-list.-mobile-icon-position-right .eael-feature-list-item{text-align:right;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;flex-direction:row-reverse}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-content-box{margin-right:0!important;margin-top:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 50px}}@media (max-width:767px) and (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 30px}}@media (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{left:0;right:auto}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:5px}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-content-box{margin-left:0!important;margin-right:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 50px}}@media (max-width:767px) and (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 0 0 30px}}@media (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{left:0;right:auto}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-top .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:5px}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-content-box,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-content-box{margin-left:0!important;margin-top:0!important;margin-bottom:0!important}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 50px 0 0}}@media (max-width:767px) and (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item{padding:0 30px 0 0}}@media (max-width:767px){.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:before{right:0;left:auto}.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after,.elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-right .eael-feature-list-items.connector-type-modern .eael-feature-list-item:after{left:auto;right:5px}}
19
  .eael-filter-gallery-control{width:100%}.eael-filter-gallery-control ul,.eael-filter-gallery-control ul li{text-align:center}.eael-filter-gallery-control ul{margin:0 0 20px 0;padding:0;text-align:center}.eael-filter-gallery-control{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:1 1 auto;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;flex-flow:row wrap;padding:0;margin:0}.eael-filter-gallery-control ul li{list-style:none;font-size:24px;display:inline-block;text-align:center}.eael-filter-gallery-control ul li a.control{font-family:Montserrat,sans-serif;font-size:16px;font-weight:600;padding:10px 25px;margin:10px 6px}.eael-filter-gallery-container{text-align:justify;font-size:.1px}.eael-filter-gallery-container:after{content:'';display:inline-block;width:100%}.eael-filter-gallery-container:not(.eael-cards) .item:before{content:'';display:inline-block;padding-top:56.25%}.eael-filter-gallery-container .item .caption{position:absolute;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:1 1 100%;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;z-index:1;top:0;left:0;right:0;bottom:0;-webkit-transition:-webkit-transform .4s;transition:-webkit-transform .4s;transition:transform .4s;transition:transform .4s,-webkit-transform .4s}.eael-filter-gallery-container.eael-cards .item .caption{display:none}.eael-filter-gallery-container.eael-cards .item .item-img .caption{position:absolute;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:1 1 100%;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;z-index:10;top:0;left:0;right:0;bottom:0;-webkit-transition:-webkit-transform .4s;transition:-webkit-transform .4s;transition:transform .4s;transition:transform .4s,-webkit-transform .4s}.gallery-item-caption-over{width:100%;height:auto}a.eael-gallery-load-more,a.eael-gallery-load-more:hover{text-decoration:none}.eael-filter-gallery-container .item .caption.eael-zoom-in,.eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-zoom-in{-webkit-transform:scale(0);transform:scale(0)}.eael-filter-gallery-container .item:hover .caption.eael-zoom-in,.eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-zoom-in{-webkit-transform:scale(1);transform:scale(1)}.eael-filter-gallery-container .item .caption.eael-slide-left,.eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-slide-left{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.eael-filter-gallery-container .item:hover .caption.eael-slide-left,.eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-slide-left{-webkit-transform:translateX(0);transform:translateX(0)}.eael-filter-gallery-container .item .caption.eael-slide-right,.eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-slide-right{-webkit-transform:translateX(100%);transform:translateX(100%)}.eael-filter-gallery-container .item:hover .caption.eael-slide-right,.eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-slide-right{-webkit-transform:translateX(0);transform:translateX(0)}.eael-filter-gallery-container .item .caption.eael-slide-top,.eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-slide-top{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.eael-filter-gallery-container .item:hover .caption.eael-slide-top,.eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-slide-top{-webkit-transform:translateY(0);transform:translateY(0)}.eael-filter-gallery-container .item .caption.eael-slide-bottom,.eael-filter-gallery-container.eael-cards .item .item-img .caption.eael-slide-bottom{-webkit-transform:translateY(100%);transform:translateY(100%)}.eael-filter-gallery-container .item:hover .caption.eael-slide-bottom,.eael-filter-gallery-container.eael-cards .item:hover .item-img .caption.eael-slide-bottom{-webkit-transform:translateY(0);transform:translateY(0)}.eael-filter-gallery-container .item .caption a{display:inline-block;width:50px;height:50px;text-align:center;line-height:50px;border-radius:50%;margin:0 5px;font-size:20px;cursor:pointer;-webkit-transition:.3s;transition:.3s}.eael-container .item .caption a:nth-child(2),.eael-filter-gallery-container .item .caption a:nth-child(1){-webkit-transition:.6s;transition:.6s;opacity:0}.eael-filter-gallery-container .item .caption a:nth-child(1){-webkit-transform:translateY(-100%);transform:translateY(-100%)}.eael-filter-gallery-container .item .caption a:nth-child(2){-webkit-transform:translateY(100%);transform:translateY(100%)}.eael-filter-gallery-container .item .caption:hover a:nth-child(1),.eael-filter-gallery-container .item .caption:hover a:nth-child(2){-webkit-transform:translateY(0);transform:translateY(0);opacity:1}.eael-filter-gallery-container .item .caption .eael-popup-link{outline:0}.eael-filter-gallery-container.eael-cards .item:before{padding-top:0}.eael-filter-gallery-container.eael-cards .item-img{position:relative;background-repeat:no-repeat;background-position:center;background-size:cover;height:220px;z-index:0;overflow:hidden}.eael-filter-gallery-container.eael-cards .item-content{padding:15px}.eael-filter-gallery-container.eael-cards .item-content .title,.eael-filter-gallery-container.eael-cards .item-content .title a{font-size:20px;line-height:1;margin-bottom:0;-webkit-transition:.3s;transition:.3s}.eael-filter-gallery-container.eael-cards .item-content p{font-size:14px;line-height:26px}.eael-fg-card-content-align-center .eael-filterable-gallery-item-wrap .gallery-item-caption-wrap .gallery-item-caption-over{text-align:center}.eael-fg-card-content-align-right .eael-filterable-gallery-item-wrap .gallery-item-caption-wrap .gallery-item-caption-over{text-align:right}.eael-fg-hoverer-content-align-center .eael-filterable-gallery-item-wrap .gallery-item-caption-wrap .gallery-item-caption-over{text-align:center}.eael-fg-hoverer-content-align-right .eael-filterable-gallery-item-wrap .gallery-item-caption-wrap .gallery-item-caption-over{text-align:right}.eael-fg-content-align-left .eael-cards .item .item-content{text-align:left}.eael-fg-content-align-center .eael-cards .item .item-content{text-align:center}.eael-fg-content-align-right .eael-cards .item .item-content{text-align:right}.mfp-wrap~div.dialog-widget{display:none!important}.eael-filterable-gallery-item-wrap{float:left;width:33.33%}.eael-filter-gallery-container.eael-col-1 .eael-filterable-gallery-item-wrap{width:100%}.eael-filter-gallery-control>ul li{font-size:13px;line-height:1.8;text-transform:uppercase;letter-spacing:1px;padding:6px 15px;cursor:pointer;margin:0 5px;font-weight:400}.eael-filter-gallery-container.eael-col-2 .eael-filterable-gallery-item-wrap{width:50%}.eael-filter-gallery-container.eael-col-4 .eael-filterable-gallery-item-wrap{width:25%}.eael-filter-gallery-container.eael-col-5 .eael-filterable-gallery-item-wrap{width:20%}.eael-gallery-grid-item{margin-left:calc(20px/2);margin-right:calc(20px/2);margin-bottom:20px;position:relative}.gallery-item-caption-wrap,.media-content-wrap{font-size:14px;text-align:left}.gallery-item-thumbnail-wrap.caption-style-card img{max-height:100%;width:100%}.gallery-item-caption-wrap.caption-style-hoverer{position:absolute;left:0;top:0;height:100%;width:100%;padding:15px;z-index:10}.eael-filterable-gallery-item-wrap .eael-gallery-grid-item .gallery-item-thumbnail-wrap>img{height:100%;width:100%;-o-object-fit:cover;object-fit:cover}.fg-item-content,.fg-item-title{color:#fff;font-family:inherit}.gallery-item-caption-wrap.caption-style-card .fg-item-title{font-size:18px;margin:15px 0 15px;line-height:1}.gallery-item-caption-wrap.caption-style-card{background:#f7f7f7}.gallery-item-caption-wrap.caption-style-card .fg-item-title{margin:10px 0 15px;color:#000}.gallery-item-caption-wrap.caption-style-card .fg-item-content{color:#212529;line-height:1.5;font-weight:400}.gallery-item-buttons>a{display:inline-block;font-size:16px;color:#000;margin-right:15px}.gallery-item-buttons>a:visited{color:#000}.gallery-item-caption-wrap.caption-style-card{padding:10px;box-sizing:border-box;font-family:inherit}.gallery-item-caption-wrap .gallery-item-hoverer-bg{position:absolute;left:0;top:0;height:100%;width:100%;content:'';background:#000;z-index:-1;opacity:.7}.gallery-item-caption-wrap.caption-style-hoverer{visibility:hidden;opacity:0;-webkit-transition:.6s all ease;transition:.6s all ease;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.eael-gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer{opacity:1;visibility:visible}.gallery-item-caption-wrap.caption-style-hoverer h5{font-size:20px;margin-bottom:5px;line-height:1}.gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up h5{-webkit-transform:translateY(20px);transform:translateY(20px);-webkit-transition:.6s all ease;transition:.6s all ease}.gallery-item-caption-wrap.caption-style-hoverer p{margin-bottom:5px}.gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up p{-webkit-transform:translateY(40px);transform:translateY(40px);-webkit-transition:.6s all ease;transition:.6s all ease}.gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up .gallery-item-buttons{-webkit-transform:translateY(40px);transform:translateY(40px);-webkit-transition:.6s all ease;transition:.6s all ease}.gallery-item-caption-wrap .gallery-item-buttons>a span{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;border-radius:50%;outline:0;text-decoration:none;display:inline-block;text-align:center}.gallery-item-caption-wrap.caption-style-hoverer.eael-zoom-in{-webkit-transform:scale(.8);transform:scale(.8);-webkit-transition:.6s all ease;transition:.6s all ease}.eael-gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up .gallery-item-buttons,.eael-gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up h5,.eael-gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer.eael-slide-up p{-webkit-transform:translate(0);transform:translate(0)}.eael-gallery-grid-item:hover .gallery-item-caption-wrap.caption-style-hoverer.eael-zoom-in{-webkit-transform:scale(1);transform:scale(1);visibility:visible;opacity:1}.gallery-item-caption-wrap.caption-style-hoverer.eael-none{-webkit-transition:none;transition:none}.gallery-item-thumbnail-wrap{position:relative}.video-popup,.video-popup-bg{position:absolute;left:0;top:0;height:100%;width:100%}.video-popup>img{width:62px;position:relative;z-index:1;-webkit-transition:.3s;transition:.3s}.video-popup{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.video-popup:hover>img{-webkit-transform:scale(1.1);transform:scale(1.1)}.video-popup-bg{visibility:hidden;opacity:0;-webkit-transition:350ms;transition:350ms}.eael-gallery-grid-item:hover .video-popup-bg{visibility:visible;opacity:1}.gallery-item-thumbnail-wrap>.gallery-item-caption-wrap{position:absolute;left:0;top:0;height:100%;width:100%;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.gallery-item-caption-wrap.card-hover-bg{visibility:hidden;opacity:0;-webkit-transition:.8s;transition:.8s}.gallery-item-thumbnail-wrap:hover .gallery-item-caption-wrap.card-hover-bg{visibility:visible;opacity:1}.gallery-item-caption-wrap .gallery-item-buttons>a>i{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;height:100%}@media only screen and (min-width:1025px){.elementor-element.elementor-grid-1{position:relative}.elementor-element.elementor-grid-1 .eael-filterable-gallery-item-wrap{width:100%;float:left}.elementor-element.elementor-grid-2{position:relative}.elementor-element.elementor-grid-2 .eael-filterable-gallery-item-wrap{width:50%;float:left}.elementor-element.elementor-grid-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n){margin-right:0!important}.elementor-element.elementor-grid-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n+1){clear:left}.elementor-element.elementor-grid-3{position:relative}.elementor-element.elementor-grid-3 .eael-filterable-gallery-item-wrap{width:33.3333%;float:left}.elementor-element.elementor-grid-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n){margin-right:0!important}.elementor-element.elementor-grid-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n+1){clear:left}.elementor-element.elementor-grid-4{position:relative}.elementor-element.elementor-grid-4 .eael-filterable-gallery-item-wrap{width:25%;float:left}.elementor-element.elementor-grid-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n){margin-right:0!important}.elementor-element.elementor-grid-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n+1){clear:left}.elementor-element.elementor-grid-5{position:relative}.elementor-element.elementor-grid-5 .pp-logo-grid{margin-right:-5px}.elementor-element.elementor-grid-5 .eael-filterable-gallery-item-wrap{width:20%;float:left}.elementor-element.elementor-grid-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n){margin-right:0!important}.elementor-element.elementor-grid-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n+1){clear:left}.elementor-element.elementor-grid-6{position:relative}.elementor-element.elementor-grid-6 .pp-logo-grid{margin-right:-6px}.elementor-element.elementor-grid-6 .eael-filterable-gallery-item-wrap{width:16%;float:left}.elementor-element.elementor-grid-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n){margin-right:0!important}.elementor-element.elementor-grid-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n+1){clear:left}}@media only screen and (max-width:1024px) and (min-width:766px){.elementor-element.elementor-grid-tablet-1{position:relative}.elementor-element.elementor-grid-tablet-1 .eael-filterable-gallery-item-wrap{width:100%;float:left}.elementor-element.elementor-grid-tablet-2{position:relative}.elementor-element.elementor-grid-tablet-2 .eael-filterable-gallery-item-wrap{width:50%;float:left}.elementor-element.elementor-grid-tablet-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n){margin-right:0!important}.elementor-element.elementor-grid-tablet-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n+1){clear:left}.elementor-element.elementor-grid-tablet-3{position:relative}.elementor-element.elementor-grid-tablet-3 .eael-filterable-gallery-item-wrap{width:33.3333%;float:left}.elementor-element.elementor-grid-tablet-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n){margin-right:0!important}.elementor-element.elementor-grid-tablet-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n+1){clear:left}.elementor-element.elementor-grid-tablet-4{position:relative}.elementor-element.elementor-grid-tablet-4 .eael-filterable-gallery-item-wrap{width:25%;float:left}.elementor-element.elementor-grid-tablet-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n){margin-right:0!important}.elementor-element.elementor-grid-tablet-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n+1){clear:left}.elementor-element.elementor-grid-tablet-5{position:relative}.elementor-element.elementor-grid-tablet-5 .eael-filterable-gallery-item-wrap{width:20%;float:left}.elementor-element.elementor-grid-tablet-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n){margin-right:0!important}.elementor-element.elementor-grid-tablet-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n+1){clear:left}.elementor-element.elementor-grid-tablet-6{position:relative}.elementor-element.elementor-grid-tablet-6 .pp-logo-grid{margin-right:-6px}.elementor-element.elementor-grid-tablet-6 .eael-filterable-gallery-item-wrap{width:16%;float:left}.elementor-element.elementor-grid-tablet-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n){margin-right:0!important}.elementor-element.elementor-grid-tablet-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n+1){clear:left}}@media only screen and (max-width:767px){.elementor-element.elementor-grid-mobile-1{position:relative}.elementor-element.elementor-grid-mobile-1 .eael-filterable-gallery-item-wrap{width:100%;float:left}.elementor-element.elementor-grid-mobile-2{position:relative}.elementor-element.elementor-grid-mobile-2 .eael-filterable-gallery-item-wrap{width:50%;float:left}.elementor-element.elementor-grid-mobile-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n){margin-right:0!important}.elementor-element.elementor-grid-mobile-2 .eael-filterable-gallery-item-wrap:nth-of-type(2n+1){clear:left}.elementor-element.elementor-grid-mobile-3{position:relative}.elementor-element.elementor-grid-mobile-3 .eael-filterable-gallery-item-wrap{width:33.3333%;float:left}.elementor-element.elementor-grid-mobile-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n){margin-right:0!important}.elementor-element.elementor-grid-mobile-3 .eael-filterable-gallery-item-wrap:nth-of-type(3n+1){clear:left}.elementor-element.elementor-grid-mobile-4{position:relative}.elementor-element.elementor-grid-mobile-4 .eael-filterable-gallery-item-wrap{width:25%;float:left}.elementor-element.elementor-grid-mobile-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n){margin-right:0!important}.elementor-element.elementor-grid-mobile-4 .eael-filterable-gallery-item-wrap:nth-of-type(4n+1){clear:left}.elementor-element.elementor-grid-mobile-5{position:relative}.elementor-element.elementor-grid-mobile-5 .eael-filterable-gallery-item-wrap{width:20%;float:left}.elementor-element.elementor-grid-mobile-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n){margin-right:0!important}.elementor-element.elementor-grid-mobile-5 .eael-filterable-gallery-item-wrap:nth-of-type(5n+1){clear:left}.elementor-element.elementor-grid-mobile-6{position:relative}.elementor-element.elementor-grid-mobile-6 .pp-logo-grid{margin-right:-6px}.elementor-element.elementor-grid-mobile-6 .eael-filterable-gallery-item-wrap{width:16%;float:left}.elementor-element.elementor-grid-mobile-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n){margin-right:0!important}.elementor-element.elementor-grid-mobile-6 .eael-filterable-gallery-item-wrap:nth-of-type(6n+1){clear:left}}.fg-layout-3-filter-controls{margin:0;padding:0;list-style:none}.fg-layout-3-item-content{text-align:center}.fg-layout-3-item-content .fg-item-title{font-size:18px;line-height:1;font-weight:500;margin:0;-webkit-transition:.3s;transition:.3s}.fg-layout-3-item-content .fg-item-content p{font-size:13px;font-weight:400}.fg-filter-wrap{position:relative;flex-basis:30%}.fg-layout-3-filter-controls{position:absolute;left:0;background:#fff;z-index:999;width:150px;visibility:hidden;opacity:0;-webkit-transition:.3s;transition:.3s;width:100%;border-radius:5px;padding-top:7px}.fg-layout-3-filter-controls.open-filters{visibility:visible;opacity:1}.fg-layout-3-filter-controls li.control{padding:5px 5px 5px 10px;cursor:pointer;-webkit-transition:.3s;transition:.3s;font-size:14px;color:#7f8995;font-weight:400}.fg-layout-3-filter-controls li.control:hover{color:#2d425a}.fg-layout-3-filter-controls li.control:first-child{border-top:0 solid}.fg-layout-3-filter-controls li.control:last-child{border-bottom:0 solid}.fg-layout-3-filters-wrap{max-width:600px;margin:15px auto 50px}.fg-filter-wrap button{width:100%;border:0 solid;border-radius:0;padding:17px 13px;font-size:14px;color:#2d425a;background:#f7f8ff;height:55px;border-right:1px solid #abb5ff;border-radius:10px 0 0 10px;outline:0;text-align:center;position:relative}.fg-filter-wrap button>i{font-size:18px;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);margin-left:10px}.fg-layout-3-search-box{flex-basis:70%;height:100%}.fg-layout-3-search-box input[type=text]{width:100%;height:100%;margin:0;padding:15px;border:0 solid;outline:0;background:0 0}.fg-layout-3-search-box input[type=text]::-webkit-input-placeholder{color:#7f8995;font-size:13px}.fg-layout-3-search-box input[type=text]::-moz-placeholder{color:#7f8995;font-size:13px}.fg-layout-3-search-box input[type=text]:-ms-input-placeholder{color:#7f8995;font-size:13px}.fg-layout-3-search-box input[type=text]:-moz-placeholder{color:#7f8995;font-size:13px}.fg-layout-3-filters-wrap{height:55px;border-radius:5px;display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-align:center;align-items:center}.fg-layout-3-filters-wrap .fg-layout-3-search-box{background:#f7f8ff;border-radius:0 10px 10px 0}.fg-layout-3-item-thumb{position:relative;overflow:hidden}.fg-layout-3-item-thumb .gallery-item-buttons{text-align:center;position:absolute;left:0;top:0;height:100%;width:100%;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;z-index:4}.fg-layout-3-item-content{padding:27px 27px 30px;text-align:center}.eael-fg-card-content-align-left .fg-layout-3-item-content{text-align:left}.eael-fg-card-content-align-center .fg-layout-3-item-content{text-align:center}.eael-fg-card-content-align-right .fg-layout-3-item-content{text-align:right}.eael-filterable-gallery-item-wrap .fg-layout-3-item.eael-gallery-grid-item{box-shadow:0 0 30px 0 rgba(3,29,60,.05);border-radius:5px}.fg-caption-head{position:absolute;left:0;top:0;width:100%;display:-webkit-box;display:flex;-webkit-box-pack:justify;justify-content:space-between;padding:35px 35px;z-index:3;color:#fff;font-size:18px;font-weight:700}.fg-item-category>span{font-size:12px;color:#fff;background:#fa9196;padding:10px 12px;display:inline-block}.fg-layout-3-item-content{position:relative}.fg-item-category{position:absolute;left:0;top:0;text-align:center;width:100%;height:30px;margin-top:-15px;z-index:11}.fg-item-category span{border-radius:5px;line-height:1;visibility:hidden;opacity:0;-webkit-transition:.3s;transition:.3s}.fg-layout-3-item.eael-gallery-grid-item:hover .fg-item-category span{visibility:visible;opacity:1}.mfp-iframe-holder .mfp-close,.mfp-image-holder .mfp-close{width:auto}.mfp-zoom-out-cur .mfp-image-holder .mfp-close{cursor:pointer}.mfp-zoom-out-cur .mfp-image-holder .mfp-close:hover{text-decoration:none}button.mfp-arrow:not(.toggle),button.mfp-close:not(.toggle){background:0 0}
20
  .eael-elements-flip-box-container{position:relative;height:300px;width:100%}.eael-elements-flip-box-container .flipbox-button{display:inline-block;-webkit-transition:all .4s;transition:all .4s}.eael-elements-flip-box-container a{display:block}.eael-elements-flip-box-vertical-align{width:100%}.eael-elements-flip-box-padding{padding:0 30px 5px 30px}.eael-elements-flip-box-icon-image{display:inline-block;margin:0 auto 0 auto;line-height:1}.eael-elements-flip-box-icon-image.eael_eleements_flip_front_icon_style_background{background:#ccc}.eael_eleements_flip_front_icon_style_bordered{border:2px solid #fff}.eael_flip_box_icon_border_round{border-radius:100px}.eael_eleements_flip_front_icon_style_background,.eael_eleements_flip_front_icon_style_bordered{padding:15px}.eael-elements-flip-box-icon-image i{font-size:40px}.eael-elements-slider-display-table{width:100%}.eael-elements-flip-box-front-container{text-align:center;position:absolute;top:0;left:0;z-index:2;width:100%;height:100%;background:#0e9dd2;color:#fff;border-color:#000;-webkit-display:flex;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.eael-elements-flip-box-content,.eael-elements-flip-box-heading{color:#fff}.eael-elements-flip-box-heading.flipbox-linked-title{color:#fff;font-size:1.5em;font-weight:700}.eael-elements-flip-box-rear-container{text-align:center;position:absolute;top:0;left:0;width:100%;height:100%;background:#444;color:#fff;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;border-color:#000}.eael-elements-button-floating-container{position:fixed;z-index:100}.eael-elements-button-floating-container .eael-elements-button{margin-top:0;font-size:14px;position:relative;padding:14px 20px}.eael-elements-button{cursor:pointer;display:inline-block;background:#077bbe;color:#fff;line-height:1;padding:16px 25px;margin-top:15px}.eael-elements-button:hover{background:#077bbe;color:#fff}.eael-elements-flip-box-container{-webkit-perspective:1000px;perspective:1000px}.eael-elements-flip-box-front-container,.eael-elements-flip-box-rear-container{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-property:all;transition-property:all;-webkit-transition-timing-function:ease;transition-timing-function:ease}.eael-elements-flip-box-flip-card{width:100%;height:100%;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transition:all .5s ease;transition:all .5s ease}.eael-elements-flip-box-front-container,.eael-elements-flip-box-rear-container{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:rotateX(0);transform:rotateX(0);-webkit-transform:rotateY(0);transform:rotateY(0)}.eael-animate-flip.eael-animate-up .eael-elements-flip-box-rear-container,.eael-animate-flip.eael-animate-up.eael-elements-flip-box-container:hover .eael-elements-flip-box-flip-card{-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}.eael-animate-flip.eael-animate-down .eael-elements-flip-box-rear-container,.eael-animate-flip.eael-animate-down.eael-elements-flip-box-container:hover .eael-elements-flip-box-flip-card{-webkit-transform:rotateX(-180deg);transform:rotateX(-180deg)}.eael-animate-flip.eael-animate-left .eael-elements-flip-box-rear-container,.eael-animate-flip.eael-animate-left.eael-elements-flip-box-container:hover .eael-elements-flip-box-flip-card{-webkit-transform:rotateY(-180deg);transform:rotateY(-180deg)}.eael-animate-flip.eael-animate-right .eael-elements-flip-box-rear-container,.eael-animate-flip.eael-animate-right.eael-elements-flip-box-container:hover .eael-elements-flip-box-flip-card{-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}.eael-animate-push.eael-elements-flip-box-container,.eael-animate-slide.eael-elements-flip-box-container{overflow:hidden}.eael-animate-push .eael-elements-flip-box-rear-container,.eael-animate-slide .eael-elements-flip-box-rear-container{z-index:3}.eael-animate-push.eael-animate-up .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-up .eael-elements-flip-box-rear-container{top:100%}.eael-animate-push.eael-animate-up.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-up.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container{top:0}.eael-animate-push.eael-animate-down .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-down .eael-elements-flip-box-rear-container{top:auto;bottom:100%}.eael-animate-push.eael-animate-down.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-down.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container{top:auto;bottom:0}.eael-animate-push.eael-animate-left .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-left .eael-elements-flip-box-rear-container{left:100%}.eael-animate-push.eael-animate-left.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-left.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container{left:0}.eael-animate-push.eael-animate-right .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-right .eael-elements-flip-box-rear-container{left:auto;right:100%}.eael-animate-push.eael-animate-right.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container,.eael-animate-slide.eael-animate-right.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container{left:auto;right:0}.eael-animate-push.eael-animate-up.eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container{top:-100%}.eael-animate-push.eael-animate-down.eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container{top:100%}.eael-animate-push.eael-animate-left.eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container{left:-100%}.eael-animate-push.eael-animate-right.eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container{left:100%}.eael-animate-zoom-in .eael-elements-flip-box-rear-container{opacity:0;-webkit-transform:scale(.75);transform:scale(.75);z-index:3}.eael-animate-zoom-in.eael-elements-flip-box-container:hover .eael-elements-flip-box-rear-container{opacity:1;-webkit-transform:scale(1);transform:scale(1)}.eael-animate-zoom-out.eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container{opacity:0;-webkit-transform:scale(.75);transform:scale(.75)}.eael-animate-fade.eael-elements-flip-box-container:hover .eael-elements-flip-box-front-container{opacity:0}.eael-flipbox-content-align-right .eael-elements-flip-box-padding{text-align:right}.eael-flipbox-content-align-left .eael-elements-flip-box-padding{text-align:left}.eael-flipbox-content-align-center .eael-elements-flip-box-padding{text-align:center}.eael-flipbox-img-circle .eael-elements-flip-box-icon-image img,.eael-flipbox-img-circle .flipbox-back-image-icon img{border-radius:50%;overflow:hidden}
21
+ .eael-fluent-form-wrapper label.ff-el-form-check-label{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.eael-fluent-form-wrapper label.ff-el-form-check-label input{margin-right:5px}.eael-fluentform-form-button-full-width .ff-btn-submit{width:100%;display:block}.eael-contact-form.eael-fluent-form-wrapper.error-message-hide .ff-el-is-error .text-danger{display:none}.eael-fluentform-form-button-center .ff-el-group .ff-btn-submit,.eael-fluentform-form-button-center .ff-el-group.ff-text-left .ff-btn-submit,.eael-fluentform-form-button-center .ff-el-group.ff-text-right .ff-btn-submit{margin:0 auto;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.eael-fluentform-form-button-right .ff-el-group .ff-btn-submit,.eael-fluentform-form-button-right .ff-el-group.ff-text-left .ff-btn-submit,.eael-fluentform-form-button-right .ff-el-group.ff-text-right .ff-btn-submit{float:right}.eael-fluentform-form-button-left .ff-el-group .ff-btn-submit,.eael-fluentform-form-button-left .ff-el-group.ff-text-left .ff-btn-submit,.eael-fluentform-form-button-left .ff-el-group.ff-text-right .ff-btn-submit{float:left}.eael-contact-form.eael-fluent-form-wrapper.fluent-form-labels-hide label{display:none!important}.eael-fluentform-section-break-content-left .ff-el-group.ff-el-section-break{text-align:left}.eael-fluentform-section-break-content-center .ff-el-group.ff-el-section-break{text-align:center}.eael-fluentform-section-break-content-right .ff-el-group.ff-el-section-break{text-align:right}.ff-el-progress,.ff-step-header .ff-el-progress-status{display:none}.eael-ff-step-header-yes .ff-step-header .ff-el-progress-status{display:block}.eael-ff-step-progressbar-yes .ff-el-progress{display:block}.ff-el-progress-bar{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:end;justify-content:flex-end;height:100%}
 
22
  .clearfix::after,.clearfix::before{content:" ";display:table;clear:both}.eael-logo-carousel.nav-top-left,.eael-logo-carousel.nav-top-right,.eael-post-carousel.nav-top-left,.eael-post-carousel.nav-top-right,.eael-product-carousel.nav-top-left,.eael-product-carousel.nav-top-right,.eael-team-slider.nav-top-left,.eael-team-slider.nav-top-right,.eael-testimonial-slider.nav-top-left,.eael-testimonial-slider.nav-top-right{padding-top:40px}.eael-contact-form input[type=date],.eael-contact-form input[type=email],.eael-contact-form input[type=number],.eael-contact-form input[type=tel],.eael-contact-form input[type=text],.eael-contact-form input[type=url],.eael-contact-form textarea{background:#fff;box-shadow:none;-webkit-box-shadow:none;float:none;height:auto;margin:0;outline:0;width:100%}.eael-contact-form input[type=submit]{border:0;float:none;height:auto;margin:0;padding:10px 20px;width:auto;-webkit-transition:all .25s linear 0s;transition:all .25s linear 0s}.eael-contact-form.placeholder-hide input::-webkit-input-placeholder,.eael-contact-form.placeholder-hide textarea::-webkit-input-placeholder{opacity:0;visibility:hidden}.eael-contact-form.placeholder-hide input::-moz-placeholder,.eael-contact-form.placeholder-hide textarea::-moz-placeholder{opacity:0;visibility:hidden}.eael-contact-form.placeholder-hide input:-ms-input-placeholder,.eael-contact-form.placeholder-hide textarea:-ms-input-placeholder{opacity:0;visibility:hidden}.eael-contact-form.placeholder-hide input:-moz-placeholder,.eael-contact-form.placeholder-hide textarea:-moz-placeholder{opacity:0;visibility:hidden}.eael-custom-radio-checkbox input[type=checkbox],.eael-custom-radio-checkbox input[type=radio]{-webkit-appearance:none;-moz-appearance:none;border-style:solid;border-width:0;outline:0;min-width:1px;width:15px;height:15px;background:#ddd;padding:3px}.eael-custom-radio-checkbox input[type=checkbox]:before,.eael-custom-radio-checkbox input[type=radio]:before{content:"";width:100%;height:100%;padding:0;margin:0;display:block}.eael-custom-radio-checkbox input[type=checkbox]:checked:before,.eael-custom-radio-checkbox input[type=radio]:checked:before{background:#999;-webkit-transition:all .25s linear 0s;transition:all .25s linear 0s}.eael-custom-radio-checkbox input[type=radio]{border-radius:50%}.eael-custom-radio-checkbox input[type=radio]:before{border-radius:50%}.eael-post-elements-readmore-btn{font-size:12px;font-weight:500;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;display:inline-block}.elementor-lightbox .dialog-widget-content{width:100%;height:100%}.eael-contact-form-align-left,.elementor-widget-eael-weform.eael-contact-form-align-left .eael-weform-container{margin:0 auto 0 0}.eael-contact-form-align-center,.elementor-widget-eael-weform.eael-contact-form-align-center .eael-weform-container{float:none;margin:0 auto}.eael-contact-form-align-right,.elementor-widget-eael-weform.eael-contact-form-align-right .eael-weform-container{margin:0 0 0 auto}
23
+ .eael-gravity-form-align-default,.eael-gravity-form-align-left,.eael-gravity-form-btn-align-left{text-align:left}.eael-gravity-form-align-right,.eael-gravity-form-btn-align-right{text-align:right}.eael-gravity-form-align-center,.eael-gravity-form-btn-align-center{text-align:center}.eael-gravity-form .gform_wrapper .gform_footer{margin:0;padding:0}.gform_wrapper form li,.gform_wrapper li{list-style:none}.eael-gravity-form .gform_wrapper ul.gform_fields li.gfield{padding:0}.eael-gravity-form .gform_wrapper textarea{padding:0}.eael-gravity-form .gform_wrapper .gform_footer input.button,.eael-gravity-form .gform_wrapper .gform_footer input[type=submit],.eael-gravity-form .gform_wrapper .gform_page_footer input.button,.eael-gravity-form .gform_wrapper .gform_page_footer input[type=submit]{margin:0}.eael-gravity-form.title-description-hide .gform_heading{display:none}.eael-gravity-form.labels-hide .gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label,.eael-gravity-form.labels-hide .gform_wrapper .top_label .gfield_label{display:none}.eael-gravity-form-button-full-width .gform_wrapper .gform_footer input[type=submit]{width:100%}
24
  .eael-img-accordion{display:-webkit-box;display:flex;height:50vh}.eael-img-accordion a{position:relative;-webkit-box-flex:1;flex:1;text-align:center;text-decoration:none;color:#fff;background-size:cover;background-position:center;background-repeat:no-repeat;-webkit-transition:-webkit-box-flex .4s;transition:-webkit-box-flex .4s;transition:flex .4s;transition:flex .4s,-webkit-box-flex .4s}.eael-grow-accordion{-webkit-box-flex:3;flex:3}.eael-img-accordion .overlay{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;padding:0 10px;position:absolute;top:0;right:0;bottom:0;left:0;-webkit-transition:background-color .4s;transition:background-color .4s}.eael-img-accordion .overlay .overlay-inner{z-index:1}.eael-img-accordion a:after{content:"";position:absolute;width:100%;height:100%;z-index:0;top:0;left:0;bottom:0;right:0;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.eael-img-accordion .overlay-inner *{visibility:hidden;opacity:0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.eael-img-accordion .overlay h2{color:#fff;-webkit-transform:translate3d(0,-60px,0);transform:translate3d(0,-60px,0)}.eael-img-accordion .overlay p{color:#fff;-webkit-transform:translate3d(0,60px,0);transform:translate3d(0,60px,0)}.eael-img-accordion .overlay-inner-show *{opacity:1;visibility:visible;-webkit-transform:none!important;transform:none!important;-webkit-transition:all .3s .3s;transition:all .3s .3s}@media screen and (max-width:800px){.eael-img-accordion{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.eael-img-accordion a:hover{-webkit-box-flex:1;flex:1}.eael-img-accordion a:hover .overlay{background-color:transparent}}
25
  .eael-infobox .infobox-icon{height:auto}.eael-infobox .infobox-icon .infobox-icon-wrap{display:-webkit-box;display:flex;width:100%;height:auto;-webkit-transition:.3s;transition:.3s;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.eael-infobox .infobox-icon .infobox-icon-wrap i{-webkit-transition:.3s;transition:.3s}.eael-infobox-content-align-left .eael-infobox .infobox-button,.eael-infobox-content-align-left .eael-infobox .infobox-content,.eael-infobox-content-align-left .eael-infobox .infobox-icon{text-align:left}.eael-infobox-content-align-right .eael-infobox .infobox-button,.eael-infobox-content-align-right .eael-infobox .infobox-content,.eael-infobox-content-align-right .eael-infobox .infobox-icon{text-align:right}.eael-infobox-content-align-center .eael-infobox .infobox-button,.eael-infobox-content-align-center .eael-infobox .infobox-content,.eael-infobox-content-align-center .eael-infobox .infobox-icon{text-align:center}.eael-infobox-icon-bg-shape-circle .infobox-icon .infobox-icon-wrap,.eael-infobox-icon-bg-shape-radius .infobox-icon .infobox-icon-wrap,.eael-infobox-icon-bg-shape-square .infobox-icon .infobox-icon-wrap{width:90px;height:90px;text-align:center}.eael-infobox-icon-hover-bg-shape-square:hover .infobox-icon .infobox-icon-wrap{border-radius:0}.eael-infobox-icon-bg-shape-radius .infobox-icon .infobox-icon-wrap,.eael-infobox-icon-hover-bg-shape-radius:hover .infobox-icon .infobox-icon-wrap{border-radius:15px}.eael-infobox-icon-bg-shape-radius .infobox-icon .infobox-icon-wrap{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.eael-infobox-icon-bg-shape-circle .infobox-icon .infobox-icon-wrap,.eael-infobox-icon-hover-bg-shape-circle:hover .infobox-icon .infobox-icon-wrap{border-radius:50%}.eael-infobox-icon-bg-shape-circle .infobox-icon .infobox-icon-wrap i,.eael-infobox-icon-bg-shape-square .infobox-icon .infobox-icon-wrap i{margin-top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.eael-infobox .infobox-button a.eael-infobox-button{display:inline-block;padding:5px 10px;-webkit-transition:all .3s ease-in-out 0s;transition:all .3s ease-in-out 0s}.eael-infobox-content-align-left.eael-infobox-icon-bg-shape-circle .infobox-icon,.eael-infobox-content-align-left.eael-infobox-icon-bg-shape-radius .infobox-icon,.eael-infobox-content-align-left.eael-infobox-icon-bg-shape-square .infobox-icon{display:-webkit-box;display:flex;-webkit-box-pack:start;justify-content:flex-start}.eael-infobox-content-align-center.eael-infobox-icon-bg-shape-circle .infobox-icon,.eael-infobox-content-align-center.eael-infobox-icon-bg-shape-radius .infobox-icon,.eael-infobox-content-align-center.eael-infobox-icon-bg-shape-square .infobox-icon{display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center}.eael-infobox-content-align-right.eael-infobox-icon-bg-shape-circle .infobox-icon,.eael-infobox-content-align-right.eael-infobox-icon-bg-shape-radius .infobox-icon,.eael-infobox-content-align-right.eael-infobox-icon-bg-shape-square .infobox-icon{display:-webkit-box;display:flex;-webkit-box-pack:end;justify-content:flex-end}.eael-infobox.icon-on-left{position:relative;z-index:0;display:-webkit-box;display:flex}.eael-infobox.icon-on-left .infobox-icon-wrap,.eael-infobox.icon-on-right .infobox-icon-wrap{-webkit-box-pack:center;justify-content:center;display:-webkit-box!important;display:flex!important;-webkit-box-align:center;align-items:center}.eael-infobox.icon-on-left .infobox-icon .infobox-icon-wrap{background:0 0;border:0;text-align:left;height:auto;display:block}.eael-infobox .infobox-content p{margin:0 0 15px}.eael-infobox.icon-on-left .infobox-icon .infobox-icon-wrap i{margin-top:0;-webkit-transform:translateY(0);transform:translateY(0)}.eael-infobox.icon-on-left .infobox-content{padding-left:15px;-webkit-box-flex:1;flex:1 1 auto}.eael-infobox.icon-on-left .infobox-content .title{line-height:1;margin:0 0 10px 0}.eael-infobox.icon-on-right{position:relative;z-index:0;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;flex-direction:row-reverse}.eael-infobox.icon-on-right .infobox-icon .infobox-icon-wrap{background:0 0;border:0;text-align:right;width:auto;height:auto;display:block}.eael-infobox.icon-on-right .infobox-icon .infobox-icon-wrap i{margin-top:0;-webkit-transform:translateY(0);transform:translateY(0)}.eael-infobox.icon-on-right .infobox-content{padding-right:15px;text-align:right;-webkit-box-flex:1;flex:1 1 auto;box-sizing:border-box}.eael-infobox.icon-on-right .infobox-content .title{line-height:1;margin:0 0 10px 0}.eael-infobox .infobox-icon img{-webkit-transition:all .3s ease-in-out 0s;transition:all .3s ease-in-out 0s}.eael-infobox-hover-img-shape-square:hover .eael-infobox .infobox-icon img{border-radius:0}.eael-infobox-hover-img-shape-circle:hover .eael-infobox .infobox-icon img,.eael-infobox-shape-circle .eael-infobox .infobox-icon img{border-radius:50%}.eael-infobox-hover-img-shape-radius:hover .eael-infobox .infobox-icon img,.eael-infobox-shape-radius .eael-infobox .infobox-icon img{border-radius:15px}
26
  body div.mfp-bg{top:0;left:0;width:100%;height:100%;z-index:1042;overflow:hidden;position:fixed;background:#0b0b0b;opacity:.8}.mfp-wrap{top:0;left:0;width:100%;height:100%;z-index:1043;position:fixed;outline:0!important;-webkit-backface-visibility:hidden;backface-visibility:hidden}.mfp-container{text-align:center;position:absolute;width:100%;height:100%;left:0;top:0;padding:0 8px;box-sizing:border-box}.mfp-container:before{content:'';display:inline-block;height:100%;vertical-align:middle}.mfp-align-top .mfp-container:before{display:none}.mfp-content{position:relative;display:inline-block;vertical-align:middle;margin:0 auto;text-align:left;z-index:1045}.mfp-ajax-holder .mfp-content,.mfp-inline-holder .mfp-content{width:100%;cursor:auto}.mfp-ajax-cur{cursor:progress}.mfp-zoom-out-cur,.mfp-zoom-out-cur .mfp-image-holder .mfp-close{cursor:-webkit-zoom-out;cursor:zoom-out}.mfp-zoom{cursor:pointer;cursor:-webkit-zoom-in;cursor:zoom-in}.mfp-auto-cursor .mfp-content{cursor:auto}.mfp-arrow,.mfp-close,.mfp-counter,.mfp-preloader{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mfp-loading.mfp-figure{display:none}.mfp-hide{display:none!important}.mfp-preloader{color:#ccc;position:absolute;top:50%;width:auto;text-align:center;margin-top:-.8em;left:8px;right:8px;z-index:1044}.mfp-preloader a{color:#ccc}.mfp-preloader a:hover{color:#fff}.mfp-s-ready .mfp-preloader{display:none}.mfp-s-error .mfp-content{display:none}button.mfp-arrow,button.mfp-close{overflow:visible;cursor:pointer;background:0 0;border:0;-webkit-appearance:none;display:block;outline:0;padding:0;z-index:1046;box-shadow:none;touch-action:manipulation}button::-moz-focus-inner{padding:0;border:0}.mfp-close{width:44px;height:44px;line-height:44px;position:absolute;right:0;top:0;text-decoration:none;text-align:center;opacity:.65;padding:0 0 18px 10px;color:#fff;font-style:normal;font-size:28px;font-family:Arial,Baskerville,monospace}.mfp-close:focus,.mfp-close:hover{opacity:1}.mfp-close:active{top:1px}.mfp-close-btn-in .mfp-close{color:#333}.mfp-iframe-holder .mfp-close,.mfp-image-holder .mfp-close{color:#fff;right:-6px;text-align:right;padding-right:6px;width:100%}.mfp-counter{position:absolute;top:0;right:0;color:#ccc;font-size:12px;line-height:18px;white-space:nowrap}.mfp-arrow{position:absolute;opacity:.65;margin:0;top:50%;margin-top:-55px;padding:0;width:90px;height:110px;-webkit-tap-highlight-color:transparent}.mfp-arrow:active{margin-top:-54px}.mfp-arrow:focus,.mfp-arrow:hover{opacity:1}.mfp-arrow:after,.mfp-arrow:before{content:'';display:block;width:0;height:0;position:absolute;left:0;top:0;margin-top:35px;margin-left:35px;border:medium inset transparent}.mfp-arrow:after{border-top-width:13px;border-bottom-width:13px;top:8px}.mfp-arrow:before{border-top-width:21px;border-bottom-width:21px;opacity:.7}.mfp-arrow-left{left:0}.mfp-arrow-left:after{border-right:17px solid #fff;margin-left:31px}.mfp-arrow-left:before{margin-left:25px;border-right:27px solid #3f3f3f}.mfp-arrow-right{right:0}.mfp-arrow-right:after{border-left:17px solid #fff;margin-left:39px}.mfp-arrow-right:before{border-left:27px solid #3f3f3f}.mfp-iframe-holder{padding-top:40px;padding-bottom:40px}.mfp-iframe-holder .mfp-content{line-height:0;width:100%;max-width:900px}.mfp-iframe-holder .mfp-close{top:-40px}.mfp-iframe-scaler{width:100%;height:0;overflow:hidden;padding-top:56.25%}.mfp-iframe-scaler iframe{position:absolute;display:block;top:0;left:0;width:100%;height:100%;box-shadow:0 0 8px rgba(0,0,0,.6);background:#000}img.mfp-img{width:auto;max-width:100%;height:auto;display:block;line-height:0;box-sizing:border-box;padding:40px 0 40px;margin:0 auto}.mfp-figure{line-height:0}.mfp-figure:after{content:'';position:absolute;left:0;top:40px;bottom:40px;display:block;right:0;width:auto;height:auto;z-index:-1;box-shadow:0 0 8px rgba(0,0,0,.6);background:#444}.mfp-figure small{color:#bdbdbd;display:block;font-size:12px;line-height:14px}.mfp-figure figure{margin:0}.mfp-bottom-bar{margin-top:-36px;position:absolute;top:100%;left:0;width:100%;cursor:auto}.mfp-title{text-align:left;line-height:18px;color:#f3f3f3;word-wrap:break-word;padding-right:36px}.mfp-image-holder .mfp-content{max-width:100%}.mfp-gallery .mfp-image-holder .mfp-figure{cursor:pointer}button.mfp-close,button.mfp-close:hover{display:inline-block!important;background:0 0;width:auto}.mfp-arrow,.mfp-arrow:hover{background:0 0}@media screen and (max-width:800px) and (orientation:landscape),screen and (max-height:300px){.mfp-img-mobile .mfp-image-holder{padding-left:0;padding-right:0}.mfp-img-mobile img.mfp-img{padding:0}.mfp-img-mobile .mfp-figure:after{top:0;bottom:0}.mfp-img-mobile .mfp-figure small{display:inline;margin-left:5px}.mfp-img-mobile .mfp-bottom-bar{background:rgba(0,0,0,.6);bottom:0;margin:0;top:auto;padding:3px 5px;position:fixed;box-sizing:border-box}.mfp-img-mobile .mfp-bottom-bar:empty{padding:0}.mfp-img-mobile .mfp-counter{right:5px;top:3px}.mfp-img-mobile .mfp-close{top:0;right:0;width:35px;height:35px;line-height:35px;background:rgba(0,0,0,.6);position:fixed;text-align:center;padding:0}}@media all and (max-width:900px){.mfp-arrow{-webkit-transform:scale(.75);transform:scale(.75)}.mfp-arrow-left{-webkit-transform-origin:0;transform-origin:0}.mfp-arrow-right{-webkit-transform-origin:100%;transform-origin:100%}.mfp-container{padding-left:6px;padding-right:6px}}
27
  .eael-ninja-container input,.eael-ninja-container textarea{height:auto;padding:10px}.eael-contact-form-align-center .eael-ninja-container,.eael-contact-form-btn-align-center .eael-ninja-container .nf-field .nf-field-element input[type=button]{margin-left:auto!important;margin-right:auto!important;display:block;float:none}.eael-contact-form-align-left .eael-ninja-container,.eael-contact-form-btn-align-left .eael-ninja-container .nf-field .nf-field-element input[type=button]{float:left;width:auto}.eael-contact-form-align-right .eael-ninja-container,.eael-contact-form-btn-align-right .eael-ninja-container .nf-field .nf-field-element input[type=button]{float:right;width:auto}.eael-ninja-container .nf-field .nf-field-element input[type=password],.eael-ninja-container .nf-field .nf-field-element input[type=url],.eael-ninja-container .nf-field .nf-field-element textarea,.eael-ninja-container ul.wpuf-form li .wpuf-fields input[type=email],.eael-ninja-container ul.wpuf-form li .wpuf-fields input[type=number],.eael-ninja-container ul.wpuf-form li .wpuf-fields input[type=text]{max-width:100%}.eael-ninja-form .nf-form-title{display:none}.eael-ninja-form-title-yes .nf-form-title{display:block}.eael-ninja-form .title-description-hide .nf-form-title{display:none}.eael-ninja-form.title-description-hide .nf-form-title{display:none}.eael-ninja-form .nf-field-label{display:none}.eael-ninja-form-labels-yes .nf-field-label{display:block}.eael-ninja-form .submit-container input[type=button]{border:0;border-radius:0}.eael-ninja-form-button-full-width .submit-container input[type=button]{width:100%}
28
  .eael-post-grid{margin:0 -10px}.eael-grid-post{float:left;padding:10px}.eael-post-carousel .eael-grid-post{float:none;padding:0}.eael-grid-post-holder{border:1px solid rgba(0,0,0,.1)}.eael-grid-post-holder-inner{height:100%}.eael-entry-media{position:relative}.eael-entry-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;-webkit-transition:opacity .2s ease-in-out,-webkit-transform .25s cubic-bezier(.19,1,.22,1);transition:opacity .2s ease-in-out,-webkit-transform .25s cubic-bezier(.19,1,.22,1);transition:opacity .2s ease-in-out,transform .25s cubic-bezier(.19,1,.22,1);transition:opacity .2s ease-in-out,transform .25s cubic-bezier(.19,1,.22,1),-webkit-transform .25s cubic-bezier(.19,1,.22,1)}.eael-entry-overlay>a{position:absolute;top:0;left:0;width:100%;height:100%;z-index:3}.eael-entry-title{margin:10px 0 5px;font-size:1.2em}.eael-entry-thumbnail img{width:100%;max-width:100%;vertical-align:middle}.eael-entry-thumbnail>img{height:100%}.eael-entry-footer .eael-author-avatar{width:50px}.eael-entry-footer .eael-author-avatar .avatar{border-radius:50%}.eael-post-grid .eael-entry-footer .eael-entry-meta{padding-left:8px;text-align:left}.eael-grid-post .eael-entry-meta{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.eael-grid-post .eael-entry-footer .eael-entry-meta{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.eael-entry-meta>div{font-size:12px;line-height:1.2;padding-bottom:5px}.eael-grid-post-excerpt p{margin:0;font-size:14px}.eael-entry-meta .eael-entry-footer .eael-posted-by{display:block}.eael-grid-post .eael-entry-footer,.eael-grid-post .eael-entry-wrapper{padding:15px}.eael-post-grid .eael-entry-header .eael-entry-meta span.eael-posted-on{padding-left:5px}.eael-post-grid .eael-entry-header .eael-entry-meta span.eael-posted-on::before{content:'\f111';font-family:FontAwesome;color:inherit;opacity:.4;font-size:.8em;padding-right:7px}.eael-entry-media{position:relative}.eael-entry-overlay{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.eael-entry-overlay>i{color:#fff}.eael-entry-overlay.fade-in{visibility:hidden;opacity:0;-webkit-transition:.3s;transition:.3s}.eael-entry-media:hover .eael-entry-overlay.fade-in{visibility:visible;opacity:1}.eael-entry-media:hover .eael-entry-overlay.fade-in>i{-webkit-transform:translate(0);transform:translate(0);opacity:1}.eael-entry-overlay.zoom-in{-webkit-transform:scale(.9);transform:scale(.9);visibility:hidden;opacity:0;-webkit-transition:.3s;transition:.3s}.eael-entry-media:hover .eael-entry-overlay.zoom-in{visibility:visible;opacity:1;-webkit-transform:scale(1);transform:scale(1)}.eael-entry-overlay.slide-up{-webkit-transform:translateY(100%);transform:translateY(100%);visibility:hidden;opacity:0;-webkit-transition:.3s;transition:.3s}.eael-entry-media:hover .eael-entry-overlay.slide-up{-webkit-transform:translateY(0);transform:translateY(0);visibility:visible;opacity:1}.eael-entry-media{overflow:hidden}.eael-entry-media.grid-hover-style-fade-in .eael-entry-overlay{opacity:0}.eael-entry-media.grid-hover-style-fade-in:hover .eael-entry-overlay{opacity:1}.eael-entry-media.grid-hover-style-none .eael-entry-overlay{display:none}.eael-entry-media.grid-hover-style-zoom-in .eael-entry-overlay{-webkit-transform:scale(.4);transform:scale(.4);opacity:0}.eael-entry-media.grid-hover-style-zoom-in:hover .eael-entry-overlay{-webkit-transform:scale(1);transform:scale(1);opacity:1}.eael-entry-media.grid-hover-style-animate-down .eael-entry-overlay{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.eael-entry-media.grid-hover-style-animate-down .eael-entry-overlay>i{-webkit-transform:translateY(-100px);transform:translateY(-100px);-webkit-transition-delay:.1s;transition-delay:.1s;-webkit-transition-duration:.3s;transition-duration:.3s}.eael-entry-media.grid-hover-style-animate-down:hover .eael-entry-overlay{-webkit-transform:translate(0);transform:translate(0)}.eael-entry-media.grid-hover-style-animate-down:hover .eael-entry-overlay>i{-webkit-transform:translateY(0);transform:translateY(0)}.eael-entry-media.grid-hover-style-animate-up .eael-entry-overlay{-webkit-transform:translateY(100%);transform:translateY(100%);visibility:hidden;opacity:0}.eael-entry-media.grid-hover-style-animate-up .eael-entry-overlay>i{-webkit-transform:translateY(100px);transform:translateY(100px);-webkit-transition-delay:.1s;transition-delay:.1s;-webkit-transition-duration:.3s;transition-duration:.3s}.eael-entry-media.grid-hover-style-animate-up:hover .eael-entry-overlay{-webkit-transform:translate(0);transform:translate(0);visibility:visible;opacity:1}.eael-entry-media.grid-hover-style-animate-up:hover .eael-entry-overlay>i{-webkit-transform:translateY(0);transform:translateY(0)}.eael-col-1 .eael-post-grid-column{float:none;width:100%}.eael-col-2 .eael-post-grid-column{float:left;width:50%}.eael-col-3 .eael-post-grid-column{float:left;width:33.3333%}.eael-col-4 .eael-post-grid-column{float:left;width:25%}.eael-col-5 .eael-post-grid-column{float:left;width:20%}.eael-col-6 .eael-post-grid-column{float:left;width:16.6666%}@media only screen and (max-width:979px){.eael-col-1 .eael-post-grid-column,.eael-col-2 .eael-post-grid-column,.eael-col-3 .eael-post-grid-column,.eael-col-4 .eael-post-grid-column,.eael-col-5 .eael-post-grid-column,.eael-col-6 .eael-post-grid-column{width:33.3333%}}@media only screen and (max-width:767px){.eael-col-1 .eael-post-grid-column,.eael-col-2 .eael-post-grid-column,.eael-col-3 .eael-post-grid-column,.eael-col-4 .eael-post-grid-column,.eael-col-5 .eael-post-grid-column,.eael-col-6 .eael-post-grid-column{width:50%}}@media only screen and (max-width:480px){.eael-col-1 .eael-post-grid-column,.eael-col-2 .eael-post-grid-column,.eael-col-3 .eael-post-grid-column,.eael-col-4 .eael-post-grid-column,.eael-col-5 .eael-post-grid-column,.eael-col-6 .eael-post-grid-column{float:none;width:100%}}.eael-author-avatar>a{display:block}.eael-entry-footer{overflow:hidden;display:-webkit-box;display:flex}.eael-entry-footer>div{display:inline-block;float:left}
29
+ .eael-post-timeline{margin-bottom:0;min-height:100%;overflow:hidden;position:relative}.eael-timeline-column{width:50%;margin-left:0;float:left;margin-top:0!important}.eael-timeline-post{position:relative}.eael-timeline-post:after{background-color:rgba(83,85,86,.2);content:"";width:2px;height:245px;position:absolute;right:0;top:70px}.eael-timeline-post:nth-child(2n):after{display:none}.eael-timeline-bullet{background-color:#9fa9af;border:5px solid #fff;border-radius:50%;box-shadow:0 1px 0 1px rgba(0,0,0,.1);content:"";height:20px;position:absolute;right:-9px;top:60px;width:20px;z-index:3;cursor:pointer}.eael-timeline-post:nth-child(2n) .eael-timeline-bullet{background-color:#9fa9af;border:5px solid #fff;border-radius:50%;bottom:36px;content:"";height:20px;left:-11px;position:absolute;top:300px;width:20px;z-index:3}.eael-timeline-post-inner{background:linear-gradient(45deg,#3f3f46 0,#05abe0 100%) repeat scroll 0 0 transparent;border:8px solid #e5eaed;box-shadow:0 1px 3px 0 rgba(0,0,0,.15);float:right;margin:30px 40px 30px auto;position:relative;height:320px;width:calc(100% - 40px)}.eael-timeline-post:nth-child(even) .eael-timeline-post-inner{float:left;margin-left:40px}.eael-timeline-post-inner:after{border-color:transparent transparent transparent #e5eaed;border-style:solid;border-width:15px;content:"";height:0;position:absolute;right:-36px;top:17px;width:0}.eael-timeline-post:nth-child(2n) .eael-timeline-post-inner:after{border-color:transparent #e5eaed transparent transparent;border-style:solid;border-width:15px;content:"";height:0;left:-36px;position:absolute;top:257px;width:0}.eael-timeline-post:nth-child(2n) .eael-timeline-post-inner::after{border-left-color:transparent!important}.eael-timeline-post p{margin:1.6rem 0 0 0;font-size:.9em;line-height:1.6em}.eael-timeline-post-image{background-size:cover;background-position:center center;background-repeat:no-repeat;display:block;height:100%;overflow:hidden;position:relative;opacity:1;-webkit-transition:all .3s;transition:all .3s}.eael-timeline-post-title{bottom:40px;position:absolute;width:100%}.eael-timeline-post-title h2{color:#fff;font-size:20px;font-weight:700;letter-spacing:1px;line-height:24px;padding:0 25px;text-align:left;text-transform:uppercase}.eael-timeline-post-excerpt{opacity:0;position:absolute;top:0;left:0;-webkit-transition:all .3s;transition:all .3s}.eael-timeline-post-excerpt p{color:#fff;font-size:14px;padding:25px}.eael-timeline-post-inner:hover .eael-timeline-post-excerpt{opacity:1;top:10px}.eael-timeline-post-inner:hover .eael-timeline-post-image{opacity:.3}.eael-timeline-post time{opacity:0;background-color:rgba(0,0,0,.7);color:#fff;font-size:10px;border-radius:20px;position:absolute;right:-97px;width:100px;height:30px;line-height:30px;text-align:center;top:50px;z-index:99;-webkit-transition:all .5s;transition:all .5s}.eael-timeline-post:nth-child(2n) time{background-color:rgba(0,0,0,.7);border-radius:20px;color:#fff;font-size:10px;height:30px;left:-99px;line-height:30px;position:absolute;text-align:center;top:290px;width:100px;z-index:99}.eael-timeline-post time:before{border-bottom:5px solid rgba(0,0,0,.7);border-left:5px solid transparent;border-right:5px solid transparent;content:"";height:0;left:45px;position:absolute;top:-5px;width:0}.eael-timeline-post:hover time{opacity:1}.eael-timeline-post::after{height:100%}.eael-post-timeline .eael-timeline-post:nth-last-child(2)::after{height:245px}.eael-post-timeline .eael-timeline-post:last-child::after{display:none}.eael-load-more-button-wrap{display:-webkit-box;display:flex}@media only screen and (max-width:1366px){.eael-timeline-post-title h2{font-size:.8em}.eael-timeline-post-excerpt p{font-size:13px}}@media only screen and (max-width:1169px){.eael-timeline-post-inner{height:320px}}@media only screen and (max-width:992px){.eael-post-timeline{margin-left:0}.eael-timeline-bullet,.eael-timeline-post-inner:after,.eael-timeline-post:after,.eael-timeline-post:before{display:none}.eael-timeline-post{display:inline-block;float:left!important;width:50%!important;margin:15px auto}.eael-timeline-post-inner{height:320px;padding-bottom:30px}.eael-timeline-post-title{bottom:50px}.eael-timeline-post-title h2{font-size:.8em;line-height:1.2em}.eael-timeline-post .eael-timeline-post-inner{margin:0 10px auto 0;width:90%}.eael-timeline-post:nth-child(2n) .eael-timeline-post-inner{margin:0 auto 0 10px;width:90%}.eael-timeline-post-excerpt{opacity:0!important}.eael-timeline-post-image{opacity:.3}.eael-timeline-post time,.eael-timeline-post:nth-child(2n) time{background-color:#fff;border-radius:0;color:#444;font-size:12px;text-transform:uppercase;left:0;opacity:1;padding-top:3px;top:275px;width:100%}time:before{display:none}}@media only screen and (max-width:767px){.eael-timeline-post{display:block;float:none!important;margin:20px auto;width:100%!important}.eael-timeline-post .eael-timeline-post-inner,.eael-timeline-post:nth-child(2n) .eael-timeline-post-inner{display:block;float:none;margin:0 auto}}@media only screen and (max-width:479px){.eael-timeline-post .eael-timeline-post-inner,.eael-timeline-post:nth-child(2n) .eael-timeline-post-inner{height:250px;margin:0 auto;width:95%}.eael-timeline-post time,.eael-timeline-post:nth-child(2n) time{top:205px}}
30
  .eael-pricing{-webkit-display:flex;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center}.eael-pricing .eael-pricing-item{width:100%;height:auto;margin:0}.eael-pricing .eael-pricing-button{display:inline-block;padding:12px 25px;background:#00c853;font-size:14px;font-weight:600;color:#fff;text-transform:uppercase;text-decoration:none;-webkit-transition:.3s;transition:.3s;border-radius:4px}.eael-pricing .eael-pricing-button:hover{background:#03b048}.eael-pricing .eael-pricing-item ul{padding:0;margin:0;list-style:none}.eael-pricing .eael-pricing-item ul li.disable-item{text-decoration:line-through;opacity:.5}.eael-pricing .eael-pricing-item ul li span.li-icon{color:#00c853;margin-right:6px}.eael-pricing .eael-pricing-item ul li.disable-item span.li-icon{color:#ef5350}.eael-pricing.style-1{position:relative;z-index:0;text-align:center}.eael-pricing.style-1 .eael-pricing-item{border:1px solid rgba(9,9,9,.1);padding:30px;border-radius:5px;-webkit-transition:.5s;transition:.5s}.eael-pricing.style-1 .eael-pricing-item:hover{box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22)}.eael-pricing.style-1 .eael-pricing-item.featured{position:relative}.eael-pricing.style-1 .eael-pricing-item.ribbon-1:before{content:"";position:absolute;width:100%;height:3px;background:#00c853;top:0;left:0;right:0;z-index:1;border-radius:5px 5px 0 0}.eael-pricing.style-1 .eael-pricing-item.ribbon-2:before{content:"Featured";position:absolute;width:auto;background:#00c853;color:#fff;top:35px;right:-15px;z-index:10;font-size:10px;font-weight:600;text-transform:uppercase;padding:5px 10px}.eael-pricing.style-1 .eael-pricing-item.ribbon-2:after{content:"";position:absolute;top:20px;right:-15px;width:0;height:0;border-bottom:15px solid #00c853;border-right:15px solid transparent;z-index:9;opacity:.9}.eael-pricing.style-1 .eael-pricing-item.ribbon-3:before{content:"Featured";position:absolute;width:auto;background:rgba(0,0,0,.6);color:#fff;top:15px;right:15px;z-index:10;font-size:11px;font-weight:600;text-transform:uppercase;padding:5px 15px}.eael-pricing.style-1 .eael-pricing-item .header{display:block;position:relative;z-index:0;padding-bottom:15px;margin-bottom:15px}.eael-pricing.style-1 .eael-pricing-item .header:after{content:"";position:absolute;width:140px;height:1px;bottom:0;left:0;right:0;margin:0 auto;z-index:1;background:rgba(9,9,9,.1)}.eael-pricing.style-1 .eael-pricing-item .header .title{font-weight:700;line-height:30px;margin:0}.eael-pricing.style-1 .eael-pricing-item .eael-pricing-tag{position:relative;z-index:0;padding:15px 0;margin-bottom:15px}.eael-pricing.style-1 .eael-pricing-item .eael-pricing-tag:after{content:"";position:absolute;width:140px;height:1px;bottom:0;left:0;right:0;margin:0 auto;z-index:1;background:rgba(9,9,9,.04)}.eael-pricing.style-1 .eael-pricing-item .price-tag{position:relative;display:inline-block;font-size:28px;font-weight:500;line-height:0;margin:0 auto}.eael-pricing.style-1 .eael-pricing-item .price-tag .price-currency{font-size:24px;font-weight:700}.eael-pricing.style-1 .eael-pricing-item .price-period{color:#999}.eael-pricing.style-1 .eael-pricing-item .body ul{display:block;width:100%;margin-bottom:15px}.eael-pricing.style-1 .eael-pricing-item .body ul li{display:block;width:100%;height:auto;padding:10px 0;font-size:14px;color:#6d6d6d;border-bottom:1px solid rgba(9,9,9,.04)}.eael-pricing.style-1 .eael-pricing-item .body ul li:last-child{border:none}.eael-pricing.style-1 .eael-pricing-item.featured-large{padding:60px 0}.eael-pricing.style-2{position:relative;z-index:0;text-align:center}.eael-pricing.style-2 .eael-pricing-item{padding:30px 0;border-radius:5px;margin:0;border:1px solid rgba(9,9,9,.1)}.eael-pricing.style-2 .eael-pricing-item.featured{box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22)}.eael-pricing.style-2 .eael-pricing-item.ribbon-1:before{content:"";position:absolute;width:100%;height:3px;background:#00c853;top:0;left:0;right:0;z-index:1;border-radius:5px 5px 0 0}.eael-pricing.style-2 .eael-pricing-item.ribbon-2:before{content:"Featured";position:absolute;width:auto;background:#00c853;color:#fff;top:35px;right:-15px;z-index:10;font-size:10px;font-weight:600;text-transform:uppercase;padding:5px 10px}.eael-pricing.style-2 .eael-pricing-item.ribbon-2:after{content:"";position:absolute;top:20px;right:-15px;width:0;height:0;border-bottom:15px solid #00c853;border-right:15px solid transparent;z-index:9;opacity:.9}.eael-pricing.style-2 .eael-pricing-item.ribbon-3:before{content:"Featured";position:absolute;width:auto;background:rgba(0,0,0,.6);color:#fff;top:15px;right:15px;z-index:10;font-size:11px;font-weight:600;text-transform:uppercase;padding:5px 15px}.eael-pricing.style-2 .eael-pricing-item .eael-pricing-icon .icon{display:inline-block;position:relative;width:80px;height:80px;background:#00c853;border-radius:50%;margin-bottom:30px;-webkit-transition:.5s;transition:.5s;overflow:hidden}.eael-pricing.style-2 .eael-pricing-item .eael-pricing-icon,.eael-pricing.style-2 .eael-pricing-item .eael-pricing-icon .icon{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.eael-pricing.style-2 .eael-pricing-item .eael-pricing-icon .icon i{font-size:30px;color:#fff;-webkit-transition:.5s;transition:.5s}.eael-pricing.style-2 .eael-pricing-item:hover .eael-pricing-icon .icon{background:#43a047}.eael-pricing.style-2 .eael-pricing-item:hover .eael-pricing-icon .icon i{color:#fff}.eael-pricing.style-2 .eael-pricing-item .header{background:#c8e6c9;padding:25px 30px;margin-bottom:15px;position:relative;z-index:0}.eael-pricing.style-2 .eael-pricing-item.featured .header:after{content:"";position:absolute;width:100%;height:100%;top:0;left:0;right:0;bottom:0;z-index:-1;background:rgba(255,255,255,.4)}.eael-pricing.style-2 .eael-pricing-item .header .title{font-size:28px;font-weight:700;line-height:40px;margin:0}.eael-pricing.style-2 .eael-pricing-item .header .subititle{font-size:14px;font-weight:600;color:#6d6d6d}.eael-pricing.style-2 .eael-pricing-item .eael-pricing-tag{position:relative;z-index:0;padding:15px 0;margin-bottom:15px}.eael-pricing.style-2 .eael-pricing-item .eael-pricing-tag:after{content:"";position:absolute;width:140px;height:1px;bottom:0;left:0;right:0;margin:0 auto;z-index:1;background:rgba(9,9,9,.04)}.eael-pricing.style-2 .eael-pricing-item .price-tag{position:relative;display:inline-block;font-size:28px;font-weight:500;line-height:0;margin:0 auto}.eael-pricing.style-2 .eael-pricing-item .price-tag .price-currency{font-size:24px;font-weight:700;color:#00c853}.eael-pricing.style-2 .eael-pricing-item .price-period{color:#999}.eael-pricing.style-2 .eael-pricing-item .body ul{display:block;width:100%;margin-bottom:15px}.eael-pricing.style-2 .eael-pricing-item .body ul li{display:block;width:100%;height:auto;padding:10px 15px;font-size:14px;color:#6d6d6d;border-bottom:1px solid rgba(9,9,9,.04)}.eael-pricing.style-2 .eael-pricing-item .body ul li:last-child{border:none}@media only screen and (min-width:768px) and (max-width:992px){.eael-pricing{display:block}.eael-pricing .eael-pricing-item,.eael-pricing.style-2 .eael-pricing-item,.eael-pricing.style-4 .eael-pricing-item{width:100%;margin:0 auto 30px auto}}@media only screen and (max-width:480px){.eael-pricing{display:block}.eael-pricing .eael-pricing-item{width:100%}.eael-pricing .eael-pricing-item,.eael-pricing.style-2 .eael-pricing-item,.eael-pricing.style-4 .eael-pricing-item{margin:0 auto 30px auto}}.eael-pricing-content-align-center .eael-pricing{text-align:center}.eael-pricing-content-align-left .eael-pricing{text-align:left}.eael-pricing-content-align-right .eael-pricing{text-align:right}.eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .price-tag{padding-left:45px}.eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .price-tag:before{left:30px}.eael-pricing-content-align-right .eael-pricing.style-2 .eael-pricing-item .eael-pricing-tag{padding-right:30px}.eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .footer,.eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .header,.eael-pricing-content-align-left .eael-pricing.style-4 .eael-pricing-item .footer,.eael-pricing-content-align-left .eael-pricing.style-4 .eael-pricing-item .header{padding-left:30px;padding-right:30px}.eael-pricing-content-align-right .eael-pricing.style-2 .eael-pricing-item .footer,.eael-pricing-content-align-right .eael-pricing.style-2 .eael-pricing-item .header,.eael-pricing-content-align-right .eael-pricing.style-4 .eael-pricing-item .footer,.eael-pricing-content-align-right .eael-pricing.style-4 .eael-pricing-item .header{padding-right:30px;padding-left:30px}.eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .body ul li,.eael-pricing-content-align-left .eael-pricing.style-4 .eael-pricing-item .body ul li{padding-left:30px}.eael-pricing-content-align-right .eael-pricing.style-2 .eael-pricing-item .body ul li,.eael-pricing-content-align-right .eael-pricing.style-4 .eael-pricing-item .body ul li{padding-right:30px}.eael-pricing-content-align-left .eael-pricing.style-3 .eael-pricing-item .header:after{-webkit-transform:translateX(-80%);transform:translateX(-80%)}.eael-pricing-content-align-right .eael-pricing.style-3 .eael-pricing-item .header:after{-webkit-transform:translateX(80%);transform:translateX(80%)}.eael-pricing-content-align-left .eael-pricing.style-3 .eael-pricing-item:hover .header:after,.eael-pricing-content-align-right .eael-pricing.style-3 .eael-pricing-item:hover .header:after{-webkit-transform:translateX(0);transform:translateX(0)}.eael-pricing-content-align-left .eael-pricing.style-1 .eael-pricing-item .eael-pricing-tag:after,.eael-pricing-content-align-left .eael-pricing.style-1 .eael-pricing-item .header:after,.eael-pricing-content-align-left .eael-pricing.style-2 .eael-pricing-item .eael-pricing-tag:after,.eael-pricing-content-align-right .eael-pricing.style-1 .eael-pricing-item .eael-pricing-tag:after,.eael-pricing-content-align-right .eael-pricing.style-1 .eael-pricing-item .header:after,.eael-pricing-content-align-right .eael-pricing.style-2 .eael-pricing-item .eael-pricing-tag:after{margin:0;width:100%}.eael-pricing-button-align-right .eael-pricing.style-1 .footer,.eael-pricing-button-align-right .eael-pricing.style-2 .footer,.eael-pricing-button-align-right .eael-pricing.style-3 .footer,.eael-pricing-button-align-right .eael-pricing.style-4 .footer{text-align:right}.eael-pricing-button-align-center .eael-pricing.style-1 .footer,.eael-pricing-button-align-center .eael-pricing.style-2 .footer,.eael-pricing-button-align-center .eael-pricing.style-3 .footer,.eael-pricing-button-align-center .eael-pricing.style-4 .footer{text-align:center}.eael-pricing-button-align-left .eael-pricing.style-1 .footer,.eael-pricing-button-align-left .eael-pricing.style-2 .footer,.eael-pricing-button-align-left .eael-pricing.style-3 .footer,.eael-pricing-button-align-left .eael-pricing.style-4 .footer{text-align:left}.eael-pricing-content-align-center.eael-pricing-button-align-right .eael-pricing.style-2 .footer,.eael-pricing-content-align-center.eael-pricing-button-align-right .eael-pricing.style-4 .footer{padding-right:30px}.eael-pricing-content-align-center.eael-pricing-button-align-left .eael-pricing.style-2 .footer,.eael-pricing-content-align-center.eael-pricing-button-align-left .eael-pricing.style-4 .footer{padding-left:30px}.only-in-pro{width:100%;-webkit-display:flex;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;padding:15px;min-width:200px;background:#ef5350;color:#fff;text-align:center}.only-in-pro .title{font-family:Roboto,sans-serif;font-size:24px;line-height:40px;margin:0}div.tooltipster-sidetip.tooltipster-base.tooltipster-right .tooltipster-arrow{position:absolute;top:50%}div.tooltipster-sidetip.tooltipster-top div.tooltipster-box{margin-bottom:0!important}div.tooltipster-sidetip.tooltipster-bottom div.tooltipster-box{margin-top:0!important}.tooltipster-base.tooltipster-sidetip.tooltipster-top .tooltipster-arrow{top:auto;bottom:-8px}div.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow{top:-8px;bottom:auto}@media only screen and (max-width:480px){.eael-pricing.style-1 .eael-pricing-item .price-tag{display:block}}
31
  .eael-post-grid .woocommerce ul.products,.eael-product-grid .woocommerce ul.products{display:grid;grid-gap:25px;margin:0!important;padding:0!important}.eael-post-grid .woocommerce ul.products:after,.eael-post-grid .woocommerce ul.products:before,.eael-product-grid .woocommerce ul.products:after,.eael-product-grid .woocommerce ul.products:before{display:none}.eael-post-grid .woocommerce ul.products .product,.eael-product-grid .woocommerce ul.products .product{width:100%;margin:0;padding:0}.eael-post-grid .woocommerce ul.products.products[class*=columns-] li.product,.eael-product-grid .woocommerce ul.products.products[class*=columns-] li.product{width:100%}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product{position:relative;float:left;overflow:hidden;text-align:center;padding:0;border-radius:0;background-color:#fff;box-shadow:none}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product a,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product a,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product a,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product a{text-decoration:none}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product a:hover,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product a:hover,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product a:hover,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product a:hover{outline:0;box-shadow:none}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product img,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product img,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product img,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product img{width:100%;height:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .woocommerce-loop-product__title,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .woocommerce-loop-product__title,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .woocommerce-loop-product__title,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:16px;font-weight:700;line-height:1;color:#333;margin:25px 0 12px;padding:0}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .onsale,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .onsale,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .onsale,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .onsale{display:block;line-height:170px;font-size:13px;text-align:center;letter-spacing:0;text-shadow:0 1px 1px rgba(0,0,0,.6);text-transform:uppercase;color:#fff;background-color:#ff2a13;border-radius:0;border:none;box-shadow:none;position:absolute;height:100px;width:200px;z-index:1;left:-100px;top:-50px;right:auto;margin:0;padding:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .price,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .price,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .price,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .price{font-size:14px;margin-bottom:0}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .price del,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .price del,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .price del,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .price del{opacity:.5;display:inline-block}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .price ins,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .price ins,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .price ins,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .price ins{font-weight:400;background-color:transparent;color:#ff2a13}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .star-rating,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .star-rating,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .star-rating,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .star-rating{display:block;float:none;font-size:14px;margin:10px auto}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button{display:block;font-size:14px;font-weight:400;line-height:38px;text-align:center;text-transform:uppercase;color:#fff;background-color:#333;padding:0;margin:15px;border-radius:0}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button:focus,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button:focus,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button:focus,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button:focus{outline:0}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product a.added_to_cart,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product a.added_to_cart{display:block;margin:0 0 15px 0;padding:0;font-size:14px;line-height:1;text-transform:capitalize;color:#333;background-color:transparent}.eael-post-grid.eael-product-simple .woocommerce ul.products li.product,.eael-product-grid.eael-product-simple .woocommerce ul.products li.product{border:1px solid #eee}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product{border:1px solid transparent}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart{visibility:hidden;-webkit-transition:none;transition:none}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product:hover,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product:hover{border:1px solid #eee}.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product:hover .button.add_to_cart_button,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product:hover a.added_to_cart,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product:hover .button.add_to_cart_button,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product:hover a.added_to_cart{visibility:visible}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product{position:relative;float:left;overflow:hidden;text-align:center;padding:0 0 15px 0;border-radius:0;background-color:#fff;box-shadow:none}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product a,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product a{text-decoration:none}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product a:hover,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product a:hover{outline:0;box-shadow:none}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product img,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product img{width:100%;height:auto;margin:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay{position:relative;overflow:hidden;line-height:0}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .button-wrap,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .button-wrap{position:absolute;top:50%;left:0;right:0;text-align:center;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link{display:inline-block;font-size:14px;line-height:38px;text-align:center;color:#fff;background-color:#333;width:38px;height:38px;border-style:none;border-radius:50%;vertical-align:middle;padding:0;margin:0 5px;-webkit-transform:translateY(20px);transform:translateY(20px);opacity:0;-webkit-transition:opacity .3s,-webkit-transform .2s;transition:opacity .3s,-webkit-transform .2s;transition:transform .2s,opacity .3s;transition:transform .2s,opacity .3s,-webkit-transform .2s}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:focus,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:focus,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link:focus,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:focus,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:focus,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link:focus{outline:0}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button{font-size:0}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:before,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:before{display:none}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:after,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:after{content:"\f217";font:normal normal normal 14px/1 FontAwesome;font-size:14px;line-height:38px;text-rendering:auto;-webkit-font-smoothing:antialiased;vertical-align:middle;margin:0;padding:0}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button.loading:before,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button.loading:before{display:none}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button.loading:after,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button.loading:after{content:"\f110";display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:14px;line-height:38px;color:#fff;height:auto;width:auto;position:relative;top:0;left:0;margin:0;padding:0}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart{font-size:0}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:after,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:after{content:"\f06e";font:normal normal normal 14px/1 FontAwesome;font-size:14px;line-height:38px;color:#fff;text-rendering:auto;-webkit-font-smoothing:antialiased;vertical-align:middle;margin:0;padding:0}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .woocommerce-loop-product__title,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:16px;font-weight:700;line-height:1;color:#333;margin:25px 0 12px;padding:0}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .onsale,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .onsale{display:block;line-height:170px;font-size:13px;text-align:center;letter-spacing:0;text-shadow:0 1px 1px rgba(0,0,0,.6);text-transform:uppercase;color:#fff;background-color:#ff2a13;border-radius:0;border:none;box-shadow:none;position:absolute;height:100px;width:200px;z-index:1;left:-100px;top:-50px;right:auto;margin:0;padding:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .price,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .price{font-size:14px;margin-bottom:0}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .price del,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .price del{opacity:.5;display:inline-block}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .price ins,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .price ins{font-weight:400;background-color:transparent;color:#ff2a13}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .star-rating,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .star-rating{display:block;float:none;font-size:14px;margin:10px auto}.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay .add_to_cart_button,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay a,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay .add_to_cart_button,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay a{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}@media only screen and (min-width:1025px){.eael-product-grid-column-1 .eael-product-grid .woocommerce ul.products{grid-template-columns:100%}.eael-product-grid-column-2 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(2,1fr)}.eael-product-grid-column-3 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(3,1fr)}.eael-product-grid-column-4 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(4,1fr)}.eael-product-grid-column-5 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(5,1fr)}.eael-product-grid-column-6 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(6,1fr)}}@media only screen and (max-width:1024px) and (min-width:766px){.eael-product-grid-column-tablet-1 .eael-product-grid .woocommerce ul.products{grid-template-columns:100%}.eael-product-grid-column-tablet-2 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(2,1fr)}.eael-product-grid-column-tablet-3 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(3,1fr)}.eael-product-grid-column-tablet-4 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(4,1fr)}.eael-product-grid-column-tablet-5 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(5,1fr)}.eael-product-grid-column-tablet-6 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(6,1fr)}}@media only screen and (max-width:767px){.eael-product-grid-column-mobile-1 .eael-product-grid .woocommerce ul.products{grid-template-columns:100%}.eael-product-grid-column-mobile-2 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(2,1fr)}.eael-product-grid-column-mobile-3 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(3,1fr)}.eael-product-grid-column-mobile-4 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(4,1fr)}.eael-product-grid-column-mobile-5 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(5,1fr)}.eael-product-grid-column-mobile-6 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(6,1fr)}}
32
  @-webkit-keyframes animateStripe{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(35px,0);transform:translate(35px,0)}}@keyframes animateStripe{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(35px,0);transform:translate(35px,0)}}@-webkit-keyframes animateStripeRTL{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(-35px,0);transform:translate(-35px,0)}}@keyframes animateStripeRTL{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(-35px,0);transform:translate(-35px,0)}}.eael-progressbar{position:relative}.eael-progressbar-title{font-size:20px;font-weight:400}.eael-progressbar-line{position:relative;display:block;width:100%;height:12px;background-color:#eee}.eael-progressbar-line .eael-progressbar-count-wrap{position:absolute;right:0;bottom:calc(100% + 5px);font-size:16px;font-weight:400;line-height:1}.eael-progressbar-line-fill{display:inline-block;position:absolute;top:50%;left:0;width:0;height:12px;background-color:#000;-webkit-transform:translateY(-50%);transform:translateY(-50%);-webkit-transition:width 1.5s linear;transition:width 1.5s linear;overflow:hidden}.eael-progressbar-circle{position:relative;width:200px;height:200px}.eael-progressbar-circle .eael-progressbar-title{font-size:16px;font-weight:400}.eael-progressbar-circle .eael-progressbar-count-wrap{font-size:28px;font-weight:700}.eael-progressbar-circle-shadow{width:220px;height:220px;padding:10px;border-radius:50%}.eael-progressbar-circle-pie{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-clip-path:inset(0 0 0 50%);clip-path:inset(0 0 0 50%)}.eael-progressbar-circle-inner{height:100%;width:100%;border-width:12px;border-style:solid;border-color:#eee;border-radius:50%}.eael-progressbar-circle-half{position:absolute;left:0;top:0;height:100%;width:100%;border-width:12px;border-style:solid;border-color:#000;border-radius:50%;-webkit-clip-path:inset(0 50% 0 0);clip-path:inset(0 50% 0 0)}.eael-progressbar-circle-half-left{-webkit-transform:rotate(0);transform:rotate(0)}.eael-progressbar-circle-half-right{-webkit-transform:rotate(180deg);transform:rotate(180deg);visibility:hidden}.eael-progressbar-circle-inner-content{position:absolute;top:50%;width:100%;-webkit-transform:translateY(-50%);transform:translateY(-50%);text-align:center}.eael-progressbar-half-circle{position:relative;width:200px;height:100px;overflow:hidden}.eael-progressbar-half-circle .eael-progressbar-circle-pie{-webkit-clip-path:inset(0 0 50% 0);clip-path:inset(0 0 50% 0)}.eael-progressbar-half-circle .eael-progressbar-circle-half{-webkit-clip-path:inset(50% 0 0 0);clip-path:inset(50% 0 0 0);-webkit-transform:rotate(0);transform:rotate(0);-webkit-transition:-webkit-transform 1.5s linear;transition:-webkit-transform 1.5s linear;transition:transform 1.5s linear;transition:transform 1.5s linear,-webkit-transform 1.5s linear}.eael-progressbar-half-circle .eael-progressbar-circle-inner-content{top:initial;bottom:0;-webkit-transform:translateY(0);transform:translateY(0)}.eael-progressbar-half-circle .eael-progressbar-title{font-size:16px;font-weight:400}.eael-progressbar-half-circle .eael-progressbar-count-wrap{font-size:28px;font-weight:700}.eael-progressbar-half-circle-after{position:relative;font-size:12px;font-weight:400;clear:both}.eael-progressbar-postfix-label{float:right}.eael-progressbar-line-stripe .eael-progressbar-line-fill:after{content:'';position:absolute;top:0;left:-35px;width:calc(100% + 70px);height:100%;background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:35px 35px}.eael-progressbar-line-animate .eael-progressbar-line-fill:after{-webkit-animation:animateStripe 2s linear infinite;animation:animateStripe 2s linear infinite}.eael-progressbar-line-animate-rtl .eael-progressbar-line-fill:after{-webkit-animation:animateStripeRTL 2s linear infinite;animation:animateStripeRTL 2s linear infinite}.eael-progressbar-circle-wrap>div{margin:0 auto}.eael-progressbar-box-container.left>div,.eael-progressbar-circle-container.left>div,.eael-progressbar-line-container.left{margin:0 auto 0 0}.eael-progressbar-box-container.center>div,.eael-progressbar-circle-container.center>div,.eael-progressbar-line-container.center{margin:0 auto}.eael-progressbar-box-container.right>div,.eael-progressbar-circle-container.right>div,.eael-progressbar-line-container.right{margin:0 0 0 auto}
33
  .eael-reading-progress-wrap.eael-reading-progress-wrap-local .eael-reading-progress-global{display:none}.eael-reading-progress-wrap.eael-reading-progress-wrap-global .eael-reading-progress-local{display:none}.eael-reading-progress-wrap.eael-reading-progress-wrap-disabled .eael-reading-progress-global,.eael-reading-progress-wrap.eael-reading-progress-wrap-disabled .eael-reading-progress-local{display:none}.eael-reading-progress-wrap .eael-reading-progress{width:100%;position:fixed;top:0;left:0;height:5px;z-index:999999}.eael-reading-progress-wrap .eael-reading-progress.eael-reading-progress-bottom{top:unset;bottom:0}.eael-reading-progress-wrap .eael-reading-progress .eael-reading-progress-fill{height:5px;background-color:#1fd18e;width:0%;-webkit-transition:width 50ms ease;transition:width 50ms ease}
34
  .eaelsv-overlay{position:absolute;display:block;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);z-index:4;cursor:pointer;background-size:cover;background-position:50%;text-align:center;overflow:hidden}.eaelsv-overlay-icon{position:absolute;top:50%;left:50%;font-size:90px;color:#fff;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%)}.plyr__controls button{box-shadow:none!important}.plyr__controls button:hover{box-shadow:none!important}.plyr__controls{display:none!important}.eael-sticky-video-wrapper{position:relative;width:100%;min-height:200px;margin:0;padding:0;-webkit-transition:.5s;transition:.5s;text-align:left;overflow:hidden}.eael-sticky-video-player2{min-height:20px;overflow:visible}.eael-sticky-video-player2.out{position:fixed;z-index:999;border:0!important;border-radius:0!important;height:200px;width:300px}.eael-sticky-video-wrapper.out .eael-sticky-video-player,.eael-sticky-video-wrapper.out .eael-sticky-video-player2{border-radius:0!important}.eael-sticky-video-player2.in{position:relative;margin:0;padding:0;height:100%;border:0;line-height:1}.owp-play{position:absolute;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.owp-play i{font-size:100px;color:#fff;opacity:.8;text-shadow:1px 0 6px rgba(0,0,0,.3);-webkit-transition:all .5s;transition:all .5s}.eael-sticky-video-player:hover .owp-play i{opacity:1}.eaelsv-sticky-player-close{position:absolute;right:-25px;top:-36px;display:none;padding:7px;font-size:24px;z-index:9999;cursor:pointer;box-sizing:content-box;overflow:visible}.eaelsv-sticky-player-close:hover{color:#090}.eaelsv-sticky-player-close:after,.eaelsv-sticky-player-close:before{position:absolute;left:15px;background-color:#333}.eaelsv-sticky-player-close:before{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.eaelsv-sticky-player-close:after{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}
35
+ html{scroll-behavior:smooth}.eael-toc{z-index:9999;width:300px}.eael-toc .eael-toc-button{display:none}.eael-toc .eael-toc-not-found{color:#a94442}.eael-toc.eael-toc-disable{display:none}.eael-toc.eael-sticky{position:fixed;top:100px;background:0 0}.eael-toc.collapsed{width:unset!important;box-shadow:none!important;border:none!important}.eael-toc.collapsed .eael-toc-body,.eael-toc.collapsed .eael-toc-close,.eael-toc.collapsed .eael-toc-header{display:none}.eael-toc.collapsed.eael-bottom-to-top .eael-toc-button{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);-webkit-transform-origin:top left;transform-origin:top left;margin-top:100%}.eael-toc.collapsed .eael-toc-button{position:relative;display:inline-block;font-size:80%!important;font-weight:400;text-align:center;text-decoration:none;text-transform:none;color:#fff;background:#ff7d50;padding:10px 20px;border-radius:3px;border:none;-webkit-transform:rotate(90deg);transform:rotate(90deg);-webkit-transform-origin:bottom left;transform-origin:bottom left;cursor:pointer}.eael-toc.collapsed .eael-toc-button:focus{outline:0}.eael-toc.collapsed .eael-toc-button i{margin-right:10px}.eael-toc.eael-toc-right{right:0}.eael-toc.eael-toc-right.collapsed{width:inherit!important}.eael-toc.eael-toc-right .eael-toc-close{left:-11px}.eael-toc.eael-toc-right.eael-bottom-to-top .eael-toc-button{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);-webkit-transform-origin:bottom right;transform-origin:bottom right;margin-top:-100%}.eael-toc.eael-toc-right .eael-toc-button{-webkit-transform:rotate(90deg);transform:rotate(90deg);-webkit-transform-origin:top right;transform-origin:top right;margin-top:100%}.eael-toc .eael-toc-header{position:relative;background:#ff7d50;padding:12px 30px}.eael-toc .eael-toc-header .eael-toc-title{font-size:18px;font-weight:400;letter-spacing:.1px;color:#fff;margin:0;padding:0}.eael-toc .eael-toc-header .eael-toc-title:before{content:none}.eael-toc .eael-toc-header .eael-toc-close{position:absolute;width:28px;height:28px;background:#fff;box-shadow:0 4px 8px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);right:-9px;top:-11px;border-radius:20px;font-family:serif;font-size:20px;font-weight:700;line-height:28px;text-align:center;color:#ff7d50;cursor:pointer;padding:0;margin:0;border:0}.eael-toc .eael-toc-body{padding:12px 30px;background:#fff6f3;min-width:20vh;max-height:50vh;overflow-y:hidden}.eael-toc .eael-toc-body::-webkit-scrollbar{width:6px}.eael-toc .eael-toc-body::-webkit-scrollbar-thumb{background:#aaa;border-radius:10px}.eael-toc .eael-toc-body:hover{overflow-y:auto}.eael-toc .eael-toc-body ul.eael-toc-list{margin:0;padding:0;list-style:none}.eael-toc .eael-toc-body ul.eael-toc-list li ul{margin:0;padding:0;margin-left:20px;list-style:none}.eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-bullet li:before{content:"";position:relative;display:inline-block;width:8px;height:8px;border-radius:50%;background-color:#ff7d50;margin-right:8px;top:-2px}.eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-number{counter-reset:counter}.eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-number li{counter-increment:counter}.eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-number li:before{content:counters(counter,".") " "}.eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-number li ul{counter-reset:counter}.eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-number li ul li{counter-increment:counter}.eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-number li ul li:before{content:counters(counter,".") " "}.eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-list-arrow li.eael-highlight-active>a:before{content:"";position:absolute;left:0;z-index:999999;border-bottom:10px solid #ff7d50;border-left:5px solid transparent;border-right:5px solid transparent;-webkit-transform:rotate(90deg);transform:rotate(90deg);margin-top:10px}.eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-list-bar li.eael-highlight-active>a:after{content:"";position:absolute;right:0;height:30px;width:2px;background:#ff7d50;z-index:999999}.eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-collapse :not(.eael-highlight-parent) ul{display:none}.eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-word-wrap li a{display:-webkit-inline-box;display:inline-flex}.eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-word-wrap li a span{width:140px!important;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
36
  .eael-team-item{overflow:hidden;position:relative}.team-avatar-rounded figure img{border-radius:50%;height:auto}.eael-team-image>figure{margin:0;padding:0}.eael-team-image>figure img{display:block;margin:0 auto}.eael-team-item .eael-team-content{padding:10px}.eael-team-item .eael-team-member-name{font-size:20px;font-weight:700;letter-spacing:.05em;margin:5px 0;text-transform:uppercase}.eael-team-item .eael-team-member-position{font-size:14px;font-weight:400;letter-spacing:.05em;margin:5px 0 10px;text-transform:uppercase}.eael-team-item .eael-team-content,.eael-team-item .eael-team-content .eael-team-text{font-size:14px;line-height:1.5}.eael-team-content>ul{margin:0;padding:0}.eael-team-content li{display:inline-block;list-style:outside none none;margin-right:10px;text-align:center}.eael-team-content li a{font-size:2.5rem}.eael-team-align-left .eael-team-item .eael-team-content li,.eael-team-align-left .eael-team-item .eael-team-content p,.eael-team-align-left .eael-team-item .eael-team-content ul,.eael-team-align-left .eael-team-item .eael-team-member-name,.eael-team-align-left .eael-team-item .eael-team-member-position,.eael-team-align-left .eael-team-item .eael-team-text{text-align:left}.eael-team-align-right .eael-team-item .eael-team-content li,.eael-team-align-right .eael-team-item .eael-team-content p,.eael-team-align-right .eael-team-item .eael-team-content ul,.eael-team-align-right .eael-team-item .eael-team-member-name,.eael-team-align-right .eael-team-item .eael-team-member-position,.eael-team-align-right .eael-team-item .eael-team-text{text-align:right}.eael-team-align-centered .eael-team-item .eael-team-content li,.eael-team-align-centered .eael-team-item .eael-team-content p,.eael-team-align-centered .eael-team-item .eael-team-content ul,.eael-team-align-centered .eael-team-item .eael-team-member-name,.eael-team-align-centered .eael-team-item .eael-team-member-position,.eael-team-align-centered .eael-team-item .eael-team-text{text-align:center}.eael-team-item.eael-team-members-overlay .eael-team-content{bottom:10px;left:10px;margin-bottom:0;padding-top:15%;opacity:0;overflow:hidden;text-overflow:ellipsis;position:absolute;right:10px;top:10px;-webkit-transition:all 615ms cubic-bezier(.19,1,.22,1) 0s;transition:all 615ms cubic-bezier(.19,1,.22,1) 0s}.eael-team-item.eael-team-members-overlay:hover .eael-team-content{opacity:1}.eael-team-member-social-link>a{display:inline-block;-webkit-transition:all .3s cubic-bezier(.19,1,.22,1) 0s;transition:all .3s cubic-bezier(.19,1,.22,1) 0s}.eael-team-member-social-link>a:focus{outline:0}
37
  .eael-testimonial-slider{position:relative}.testimonial-star-rating{padding:0;margin:0}.testimonial-star-rating li{list-style:none;display:inline-block}.testimonial-star-rating li i{color:#d8d8d8}.rating-five .testimonial-star-rating li i{color:#f2b01e}.rating-one .testimonial-star-rating li:first-child i{color:#f2b01e}.rating-two .testimonial-star-rating li:nth-child(1) i,.rating-two .testimonial-star-rating li:nth-child(2) i{color:#f2b01e}.rating-three .testimonial-star-rating li:nth-child(1) i,.rating-three .testimonial-star-rating li:nth-child(2) i,.rating-three .testimonial-star-rating li:nth-child(3) i{color:#f2b01e}.rating-four .testimonial-star-rating li:nth-child(1) i,.rating-four .testimonial-star-rating li:nth-child(2) i,.rating-four .testimonial-star-rating li:nth-child(3) i,.rating-four .testimonial-star-rating li:nth-child(4) i{color:#f2b01e}.eael-testimonial-image img{max-width:100%}.eael-testimonial-image{padding:10px 0 0 0}.eael-testimonial-image>figure{display:block;margin:0}.testimonial-avatar-rounded figure img{border-radius:50%;height:auto}.eael-testimonial-content{margin:0;padding:10px}.eael-testimonial-item>figure{margin:0 auto;padding:0 20px}.eael-testimonial-item .center-text{text-align:center}.eael-testimonial-item .right-text{text-align:right}.eael-testimonial-item .left-text{text-align:left}.eael-testimonial-item .justify-text{text-align:justify}.eael-testimonial-content .eael-testimonial-text{font-size:100%;font-style:italic;line-height:1.5;margin-top:0;margin-bottom:10px;word-wrap:break-word}.eael-testimonial-content .eael-testimonial-user{display:inline-block;font-family:inherit;font-size:105%;font-style:italic;font-weight:400;line-height:1.5;margin-top:0;margin-bottom:0;margin-right:5px}.eael-testimonial-content .eael-testimonial-user-company{display:inline-block;font-family:inherit;font-size:90%;font-style:italic;font-weight:lighter;line-height:1.75;margin-bottom:0;margin-top:1px}.eael-testimonial-image{position:relative}.eael-testimonial-item .eael-testimonial-quote::after{color:inherit!important;content:"\f10e";font-family:"Font Awesome 5 Free";font-size:200%;font-weight:900}.eael-testimonial-slider.default-style .eael-testimonial-align-centered .eael-testimonial-image figure img{margin:0 auto}.eael-testimonial-slider.classic-style .eael-testimonial-align-left .eael-testimonial-image figure img,.eael-testimonial-slider.classic-style .eael-testimonial-align-right .eael-testimonial-image figure img,.eael-testimonial-slider.default-style .eael-testimonial-align-left .eael-testimonial-image figure img,.eael-testimonial-slider.default-style .eael-testimonial-align-right .eael-testimonial-image figure img,.eael-testimonial-slider.middle-style .eael-testimonial-align-left .eael-testimonial-image figure img,.eael-testimonial-slider.middle-style .eael-testimonial-align-right .eael-testimonial-image figure img{margin:0}.eael-testimonial-slider.classic-style .eael-testimonial-align-right .eael-testimonial-image figure,.eael-testimonial-slider.default-style .eael-testimonial-align-right .eael-testimonial-image figure,.eael-testimonial-slider.middle-style .eael-testimonial-align-right .eael-testimonial-image figure{text-align:right}.eael-testimonial-slider.classic-style .eael-testimonial-align-left .eael-testimonial-image figure,.eael-testimonial-slider.default-style .eael-testimonial-align-left .eael-testimonial-image figure,.eael-testimonial-slider.middle-style .eael-testimonial-align-left .eael-testimonial-image figure{text-align:left}.eael-testimonial-slider.classic-style .eael-testimonial-align-right .testimonial-classic-style-content,.eael-testimonial-slider.default-style .eael-testimonial-align-right .default-style-testimonial-content,.eael-testimonial-slider.middle-style .eael-testimonial-align-right .eael-testimonial-text,.eael-testimonial-slider.middle-style .eael-testimonial-align-right .middle-style-content{text-align:right}.eael-testimonial-slider.classic-style .eael-testimonial-align-center .testimonial-classic-style-content,.eael-testimonial-slider.default-style .eael-testimonial-align-center .default-style-testimonial-content,.eael-testimonial-slider.middle-style .eael-testimonial-align-center .eael-testimonial-text,.eael-testimonial-slider.middle-style .eael-testimonial-align-center .middle-style-content{text-align:center}.eael-testimonial-slider.classic-style .eael-testimonial-align-left .testimonial-classic-style-content,.eael-testimonial-slider.default-style .eael-testimonial-align-left .default-style-testimonial-content,.eael-testimonial-slider.middle-style .eael-testimonial-align-left .eael-testimonial-text,.eael-testimonial-slider.middle-style .eael-testimonial-align-left .middle-style-content{text-align:left}.eael-testimonial-slider.icon-img-left-content .eael-testimonial-text>p,.eael-testimonial-slider.icon-img-right-content .eael-testimonial-text>p{margin:0}.icon-img-left-content .eael-testimonial-image{float:left;width:30%}.icon-img-left-content .eael-testimonial-content{float:left;width:70%;text-align:left}.icon-img-left-content.eael-testimonial-item{overflow:hidden;position:relative}.icon-img-left-content .eael-testimonial-quote{position:absolute;right:0}.icon-img-left-content .eael-testimonial-text{margin-top:0}.eael-testimonial-align-centered .eael-testimonial-user,.eael-testimonial-align-centered .eael-testimonial-user-company{float:none;text-align:center}.eael-testimonial-align-centered .eael-testimonial-image>figure img{display:block;margin-left:auto!important;margin-right:auto!important}.icon-img-right-content .eael-testimonial-image{float:right;width:30%}.icon-img-right-content .eael-testimonial-content{float:right;width:70%;text-align:right}.icon-img-right-content.eael-testimonial-item{overflow:hidden;position:relative}.icon-img-right-content .eael-testimonial-quote{position:absolute}.icon-img-right-content .eael-testimonial-text{margin-top:0}.eael-testimonial-item{position:relative}.classic-style.testimonial-alignment-center .eael-testimonial-image,.default-style.testimonial-alignment-center .eael-testimonial-image{text-align:center}.classic-style.testimonial-alignment-right .eael-testimonial-image,.default-style.testimonial-alignment-right .eael-testimonial-image{text-align:right}.classic-style.testimonial-alignment-center .eael-testimonial-image>figure,.default-style.testimonial-alignment-center .eael-testimonial-image>figure{text-align:center}.eael-testimonial-slider.icon-img-left-content .eael-testimonial-align-centered .eael-testimonial-content{text-align:center}.eael-testimonial-slider.icon-img-left-content .eael-testimonial-align-left .eael-testimonial-content{text-align:left}.eael-testimonial-slider.icon-img-left-content .eael-testimonial-align-right .eael-testimonial-content{text-align:right}.eael-testimonial-slider.icon-img-right-content .eael-testimonial-align-centered .eael-testimonial-content{text-align:center}.eael-testimonial-slider.icon-img-right-content .eael-testimonial-align-left .eael-testimonial-content{text-align:left}.eael-testimonial-slider.icon-img-right-content .eael-testimonial-align-right .eael-testimonial-content{text-align:right}span.eael-testimonial-quote{position:absolute;right:10px;top:10px}.eael-testimonial-item.left .eael-testimonial-image{text-align:left}.eael-testimonial-item.center .eael-testimonial-image{text-align:center}.eael-testimonial-item.right .eael-testimonial-image{text-align:right}.eael-testimonial-inline-bio .eael-testimonial-image{float:left}.eael-testimonial-inline-bio .bio-text{padding-top:10px}.eael-testimonial-content.eael-testimonial-inline-bio{overflow:hidden;margin-bottom:0;padding-bottom:0}.eael-testimonial-inline-bio .bio-text,.eael-testimonial-inline-bio .testimonial-star-rating{float:left;width:65%}.eael-testimonial-content.eael-testimonial-inline-bio{text-align:left!important}.testimonial-inline-style .eael-testimonial-image{float:left;max-width:100%;padding:0;margin-right:15px}.testimonial-inline-style{overflow:hidden;text-align:left}.content-top-icon-title-inline .eael-testimonial-align-left .eael-testimonial-text,.content-top-icon-title-inline .eael-testimonial-text{text-align:left}.content-top-icon-title-inline .eael-testimonial-align-centered .eael-testimonial-text{text-align:center}.content-top-icon-title-inline .eael-testimonial-align-right .eael-testimonial-text{text-align:right}.content-bottom-icon-title-inline .eael-testimonial-align-left .eael-testimonial-text,.content-bottom-icon-title-inline .eael-testimonial-text{text-align:left}.content-bottom-icon-title-inline .eael-testimonial-align-centered .eael-testimonial-text{text-align:center}.content-bottom-icon-title-inline .eael-testimonial-align-right .eael-testimonial-text{text-align:right}
38
  .eael-tooltip{position:relative;display:inline-block;min-width:150px;padding:12px 24px;font-size:.93rem;color:#333;line-height:1;cursor:pointer;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.eael-tooltip .eael-tooltip-text{display:block;width:100%;visibility:hidden;background-color:#000;color:#fff;border-radius:4px;padding:10px;position:absolute;z-index:1;font-size:.93rem;line-height:1.3}.eael-tooltip .eael-tooltip-text p{margin:0}.eael-tooltip .eael-tooltip-text::after{content:"";position:absolute;border-width:5px;border-style:solid}.eael-tooltip:hover .eael-tooltip-text{visibility:visible}.eael-tooltip .eael-tooltip-text.eael-tooltip-left{top:50%;right:100%;-webkit-transform:translateY(-50%);transform:translateY(-50%);margin-right:10px}.eael-tooltip:hover .eael-tooltip-text.eael-tooltip-left{-webkit-animation:tooltipLeftIn .3s ease-in-out;animation:tooltipLeftIn .3s ease-in-out}.eael-tooltip .eael-tooltip-text.eael-tooltip-left::after{top:calc(50% - 5px);left:100%;border-color:transparent transparent transparent #000}.eael-tooltip .eael-tooltip-text.eael-tooltip-right{top:50%;left:100%;-webkit-transform:translateY(-50%);transform:translateY(-50%);-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;margin-left:10px}.eael-tooltip:hover .eael-tooltip-text.eael-tooltip-right{-webkit-animation:tooltipRightIn .3s linear;animation:tooltipRightIn .3s linear}.eael-tooltip .eael-tooltip-text.eael-tooltip-right::after{top:calc(50% - 5px);right:100%;border-color:transparent #000 transparent transparent}.eael-tooltip .eael-tooltip-text.eael-tooltip-top{bottom:calc(100%);left:0;right:0;margin:0 auto 10px auto}.eael-tooltip .eael-tooltip-text.eael-tooltip-top::after{margin-top:0;top:100%;left:calc(50% - 5px);border-color:#000 transparent transparent transparent}.eael-tooltip:hover .eael-tooltip-text.eael-tooltip-top{-webkit-animation:tooltipTopIn .3s linear;animation:tooltipTopIn .3s linear}.eael-tooltip .eael-tooltip-text.eael-tooltip-bottom{top:100%;left:0;right:0;margin:10px auto 0 auto}.eael-tooltip .eael-tooltip-text.eael-tooltip-bottom::after{margin-top:0;bottom:100%;left:calc(50% - 5px);border-color:transparent transparent #000 transparent}.eael-tooltip:hover .eael-tooltip-text.eael-tooltip-bottom{-webkit-animation:tooltipBottomIn .3s linear;animation:tooltipBottomIn .3s linear}.eael-tooltip-align-left{display:-webkit-box;display:flex;width:100%;-webkit-box-pack:start;justify-content:flex-start}.eael-tooltip-align-right{display:-webkit-box;display:flex;width:100%;-webkit-box-pack:end;justify-content:flex-end}.eael-tooltip-align-center{display:-webkit-box;display:flex;width:100%;-webkit-box-pack:center;justify-content:center}.eael-tooltip-align-justify .eael-tooltip{display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center}@-webkit-keyframes tooltipRightIn{0%{opacity:0;left:105%}100%{opacity:1;left:100%}}@keyframes tooltipRightIn{0%{opacity:0;left:105%}100%{opacity:1;left:100%}}@-webkit-keyframes tooltipLeftIn{0%{opacity:0;right:105%}100%{opacity:1;right:100%}}@keyframes tooltipLeftIn{0%{opacity:0;right:105%}100%{opacity:1;right:100%}}@-webkit-keyframes tooltipTopIn{0%{opacity:0;bottom:110%}100%{opacity:1;bottom:100%}}@keyframes tooltipTopIn{0%{opacity:0;bottom:110%}100%{opacity:1;bottom:100%}}@-webkit-keyframes tooltipBottomIn{0%{opacity:0;top:110%}100%{opacity:1;top:100%}}@keyframes tooltipBottomIn{0%{opacity:0;top:110%}100%{opacity:1;top:100%}}span.eael-tooltip-content,span.eael-tooltip-content a{width:100%;display:block;text-align:center}.eael-tooltip-text-align-left .eael-tooltip-content a,.eael-tooltip-text-align-left .eael-tooltip-text{text-align:left}.eael-tooltip-text-align-right .eael-tooltip-content a,.eael-tooltip-text-align-right .eael-tooltip-text{text-align:right}.eael-tooltip-text-align-center .eael-tooltip-content a,.eael-tooltip-text-align-center .eael-tooltip-text{text-align:center}.eael-tooltip-text-align-justify .eael-tooltip-content a,.eael-tooltip-text-align-justify .eael-tooltip-text{text-align:justify}
39
  .eael-twitter-feed::after,.eael-twitter-feed::before{content:"";clear:both}.eael-twitter-feed-masonry .eael-twitter-feed-item{float:left}@media only screen and (max-width:480px){.eael-twitter-feed-masonry.eael-twitter-feed-col-2 .eael-twitter-feed-item{width:100%!important}}@media only screen and (max-width:480px){.eael-twitter-feed-masonry.eael-twitter-feed-col-3 .eael-twitter-feed-item{width:100%!important}}@media only screen and (max-width:480px){.eael-twitter-feed-masonry.eael-twitter-feed-col-4 .eael-twitter-feed-item{width:100%!important}}.eael-twitter-feed-item .eael-twitter-feed-item-inner{background:#fff;border:1px solid rgba(0,0,0,.1)}.eael-twitter-feed-item a{color:#08c;text-decoration:none}.eael-twitter-feed-item a:hover{outline:0;color:#005580}.eael-twitter-feed-item a:focus{outline:0}.eael-twitter-feed-item .eael-twitter-feed-item-header{padding:20px 15px 0;margin-bottom:10px}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-avatar{float:left;width:38px;margin-right:10px}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-avatar img{max-width:100%;height:auto;-o-object-fit:cover;object-fit:cover}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-avatar.avatar-circle img{border-radius:50%}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-meta{float:left}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-meta .eael-twitter-feed-item-icon{color:#1da1f2;margin-right:5px}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-meta .eael-twitter-feed-item-author{color:#444;line-height:1.5em;font-weight:700}.eael-twitter-feed-item .eael-twitter-feed-item-header .eael-twitter-feed-item-date{float:right;margin-right:10px;font-size:90%;color:#999}.eael-twitter-feed-item .eael-twitter-feed-item-content{padding:0 15px 15px}.eael-twitter-feed-item .eael-twitter-feed-item-content p{color:#666;margin:0 0 5px;min-height:20px;text-overflow:ellipsis;-webkit-line-clamp:5;-webkit-box-orient:vertical}.eael-twitter-feed.swiper-container .swiper-button-next,.eael-twitter-feed.swiper-container .swiper-button-prev{background-image:none;outline:0}
40
  .eael-weform-container input,.eael-weform-container textarea{height:auto;padding:10px}.eael-contact-form-btn-align-center .eael-weform-container ul.wpuf-form .wpuf-submit input[type=submit]{margin-left:auto!important;margin-right:auto!important;display:block;float:none}.eael-contact-form-btn-align-left .eael-weform-container ul.wpuf-form .wpuf-submit input[type=submit]{float:left;width:auto}.eael-contact-form-btn-align-right .eael-weform-container ul.wpuf-form .wpuf-submit input[type=submit]{float:right;width:auto}.eael-weform-container ul.wpuf-form li .wpuf-fields input[type=email],.eael-weform-container ul.wpuf-form li .wpuf-fields input[type=number],.eael-weform-container ul.wpuf-form li .wpuf-fields input[type=password],.eael-weform-container ul.wpuf-form li .wpuf-fields input[type=text],.eael-weform-container ul.wpuf-form li .wpuf-fields input[type=url],.eael-weform-container ul.wpuf-form li .wpuf-fields textarea{max-width:100%}
 
41
  .eael-wpforms .wpforms-container .wpforms-form .wpforms-page-button,.eael-wpforms .wpforms-container .wpforms-form button[type=submit],.eael-wpforms .wpforms-container .wpforms-form input[type=submit]{border:0}.eael-wpforms .wpforms-container .wpforms-form .wpforms-page-button:hover,.eael-wpforms .wpforms-container .wpforms-form button[type=submit]:hover,.eael-wpforms .wpforms-container .wpforms-form input[type=submit]:hover{border:0}.eael-wpforms .wpforms-container .wpforms-form input[type=checkbox],.eael-wpforms .wpforms-container .wpforms-form input[type=radio]{padding:3px}.eael-wpforms .wpforms-container .wpforms-form .wpforms-field-label{display:none}.eael-wpforms .wpforms-container .wpforms-form .wpforms-field-name .wpforms-field-row{max-width:100%}.eael-wpforms .wpforms-container .wpforms-field input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),.eael-wpforms .wpforms-container .wpforms-field select,.eael-wpforms .wpforms-container .wpforms-field textarea{max-width:100%!important}.eael-wpforms-labels-yes .wpforms-container .wpforms-form .wpforms-field-label{display:block}.eael-wpforms-form-button-full-width .wpforms-submit-container .wpforms-submit{width:100%}
42
+ @charset "UTF-8";.fc{direction:ltr;text-align:left}.fc-rtl{text-align:right}body .fc{font-size:1em}.fc-highlight{background:#bce8f1;opacity:.3}.fc-bgevent{background:#8fdf82;opacity:.3}.fc-nonbusiness{background:#d7d7d7}.fc-popover{position:absolute;box-shadow:0 2px 6px rgba(0,0,0,.15)}.fc-popover .fc-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:2px 4px}.fc-rtl .fc-popover .fc-header{flex-direction:row-reverse}.fc-popover .fc-header .fc-title{margin:0 2px}.fc-popover .fc-header .fc-close{cursor:pointer;opacity:.65;font-size:1.1em}.fc-divider{border-style:solid;border-width:1px}hr.fc-divider{height:0;margin:0;padding:0 0 2px;border-width:1px 0}.fc-bg,.fc-bgevent-skeleton,.fc-highlight-skeleton,.fc-mirror-skeleton{position:absolute;top:0;left:0;right:0}.fc-bg{bottom:0}.fc-bg table{height:100%}.fc table{width:100%;box-sizing:border-box;table-layout:fixed;border-collapse:collapse;border-spacing:0;font-size:1em}.fc th{text-align:center}.fc td,.fc th{border-style:solid;border-width:1px;padding:0;vertical-align:top}.fc td.fc-today{border-style:double}a[data-goto]{cursor:pointer}a[data-goto]:hover{text-decoration:underline}.fc .fc-row{border-style:solid;border-width:0}.fc-row table{border-left:0 hidden transparent;border-right:0 hidden transparent;border-bottom:0 hidden transparent}.fc-row:first-child table{border-top:0 hidden transparent}.fc-row{position:relative}.fc-row .fc-bg{z-index:1}.fc-row .fc-bgevent-skeleton,.fc-row .fc-highlight-skeleton{bottom:0}.fc-row .fc-bgevent-skeleton table,.fc-row .fc-highlight-skeleton table{height:100%}.fc-row .fc-bgevent-skeleton td,.fc-row .fc-highlight-skeleton td{border-color:transparent}.fc-row .fc-bgevent-skeleton{z-index:2}.fc-row .fc-highlight-skeleton{z-index:3}.fc-row .fc-content-skeleton{position:relative;z-index:4;padding-bottom:2px}.fc-row .fc-mirror-skeleton{z-index:5}.fc .fc-row .fc-content-skeleton table,.fc .fc-row .fc-content-skeleton td,.fc .fc-row .fc-mirror-skeleton td{background:0 0;border-color:transparent}.fc-row .fc-content-skeleton td,.fc-row .fc-mirror-skeleton td{border-bottom:0}.fc-row .fc-content-skeleton tbody td,.fc-row .fc-mirror-skeleton tbody td{border-top:0}.fc-scroller{-webkit-overflow-scrolling:touch}.fc-scroller>.fc-day-grid,.fc-scroller>.fc-time-grid{position:relative;width:100%}.fc-event{position:relative;display:block;font-size:.85em;line-height:1.4;border-radius:3px;border:1px solid #3788d8}.fc-event,.fc-event-dot{background-color:#3788d8}.fc-event,.fc-event:hover{color:#fff;text-decoration:none}.fc-event.fc-draggable,.fc-event[href]{cursor:pointer}.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}.fc-event .fc-content{position:relative;z-index:2}.fc-event .fc-resizer{position:absolute;z-index:4}.fc-event .fc-resizer{display:none}.fc-event.fc-allow-mouse-resize .fc-resizer,.fc-event.fc-selected .fc-resizer{display:block}.fc-event.fc-selected .fc-resizer:before{content:"";position:absolute;z-index:9999;top:50%;left:50%;width:40px;height:40px;margin-left:-20px;margin-top:-20px}.fc-event.fc-selected{z-index:9999!important;box-shadow:0 2px 5px rgba(0,0,0,.2)}.fc-event.fc-selected:after{content:"";position:absolute;z-index:1;top:-1px;right:-1px;bottom:-1px;left:-1px;background:#000;opacity:.25}.fc-event.fc-dragging.fc-selected{box-shadow:0 2px 7px rgba(0,0,0,.3)}.fc-event.fc-dragging:not(.fc-selected){opacity:.75}.fc-h-event.fc-selected:before{content:"";position:absolute;z-index:3;top:-10px;bottom:-10px;left:0;right:0}.fc-ltr .fc-h-event.fc-not-start,.fc-rtl .fc-h-event.fc-not-end{margin-left:0;border-left-width:0;padding-left:1px;border-top-left-radius:0;border-bottom-left-radius:0}.fc-ltr .fc-h-event.fc-not-end,.fc-rtl .fc-h-event.fc-not-start{margin-right:0;border-right-width:0;padding-right:1px;border-top-right-radius:0;border-bottom-right-radius:0}.fc-ltr .fc-h-event .fc-start-resizer,.fc-rtl .fc-h-event .fc-end-resizer{cursor:w-resize;left:-1px}.fc-ltr .fc-h-event .fc-end-resizer,.fc-rtl .fc-h-event .fc-start-resizer{cursor:e-resize;right:-1px}.fc-h-event.fc-allow-mouse-resize .fc-resizer{width:7px;top:-1px;bottom:-1px}.fc-h-event.fc-selected .fc-resizer{border-radius:4px;border-width:1px;width:6px;height:6px;border-style:solid;border-color:inherit;background:#fff;top:50%;margin-top:-4px}.fc-ltr .fc-h-event.fc-selected .fc-start-resizer,.fc-rtl .fc-h-event.fc-selected .fc-end-resizer{margin-left:-4px}.fc-ltr .fc-h-event.fc-selected .fc-end-resizer,.fc-rtl .fc-h-event.fc-selected .fc-start-resizer{margin-right:-4px}.fc-day-grid-event{margin:1px 2px 0;padding:0 1px}tr:first-child>td>.fc-day-grid-event{margin-top:2px}.fc-mirror-skeleton tr:first-child>td>.fc-day-grid-event{margin-top:0}.fc-day-grid-event .fc-content{white-space:nowrap;overflow:hidden}.fc-day-grid-event .fc-time{font-weight:700}.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer,.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer{margin-left:-2px}.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer,.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer{margin-right:-2px}a.fc-more{margin:1px 3px;font-size:.85em;cursor:pointer;text-decoration:none}a.fc-more:hover{text-decoration:underline}.fc-limited{display:none}.fc-day-grid .fc-row{z-index:1}.fc-more-popover{z-index:2;width:220px}.fc-more-popover .fc-event-container{padding:10px}.fc-now-indicator{position:absolute;border:0 solid red}.fc-unselectable{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.fc-unthemed .fc-content,.fc-unthemed .fc-divider,.fc-unthemed .fc-list-heading td,.fc-unthemed .fc-list-view,.fc-unthemed .fc-popover,.fc-unthemed .fc-row,.fc-unthemed tbody,.fc-unthemed td,.fc-unthemed th,.fc-unthemed thead{border-color:#ddd}.fc-unthemed .fc-popover{background-color:#fff}.fc-unthemed .fc-divider,.fc-unthemed .fc-list-heading td,.fc-unthemed .fc-popover .fc-header{background:#eee}.fc-unthemed td.fc-today{background:#fcf8e3}.fc-unthemed .fc-disabled-day{background:#d7d7d7;opacity:.3}@font-face{font-family:fcicons;src:url("data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBfAAAAC8AAAAYGNtYXAXVtKNAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5ZgYydxIAAAF4AAAFNGhlYWQUJ7cIAAAGrAAAADZoaGVhB20DzAAABuQAAAAkaG10eCIABhQAAAcIAAAALGxvY2ED4AU6AAAHNAAAABhtYXhwAA8AjAAAB0wAAAAgbmFtZXsr690AAAdsAAABhnBvc3QAAwAAAAAI9AAAACAAAwPAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpBgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6Qb//f//AAAAAAAg6QD//f//AAH/4xcEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAWIAjQKeAskAEwAAJSc3NjQnJiIHAQYUFwEWMjc2NCcCnuLiDQ0MJAz/AA0NAQAMJAwNDcni4gwjDQwM/wANIwz/AA0NDCMNAAAAAQFiAI0CngLJABMAACUBNjQnASYiBwYUHwEHBhQXFjI3AZ4BAA0N/wAMJAwNDeLiDQ0MJAyNAQAMIw0BAAwMDSMM4uINIwwNDQAAAAIA4gC3Ax4CngATACcAACUnNzY0JyYiDwEGFB8BFjI3NjQnISc3NjQnJiIPAQYUHwEWMjc2NCcB87e3DQ0MIw3VDQ3VDSMMDQ0BK7e3DQ0MJAzVDQ3VDCQMDQ3zuLcMJAwNDdUNIwzWDAwNIwy4twwkDA0N1Q0jDNYMDA0jDAAAAgDiALcDHgKeABMAJwAAJTc2NC8BJiIHBhQfAQcGFBcWMjchNzY0LwEmIgcGFB8BBwYUFxYyNwJJ1Q0N1Q0jDA0Nt7cNDQwjDf7V1Q0N1QwkDA0Nt7cNDQwkDLfWDCMN1Q0NDCQMt7gMIw0MDNYMIw3VDQ0MJAy3uAwjDQwMAAADAFUAAAOrA1UAMwBoAHcAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMhMjY1NCYjISIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAAVYRGRkR/qoRGRkRA1UFBAUOCQkVDAsZDf2rDRkLDBUJCA4FBQUFBQUOCQgVDAsZDQJVDRkLDBUJCQ4FBAVVAgECBQMCBwQECAX9qwQJAwQHAwMFAQICAgIBBQMDBwQDCQQCVQUIBAQHAgMFAgEC/oAZEhEZGRESGQAAAAADAFUAAAOrA1UAMwBoAIkAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMzFRQWMzI2PQEzMjY1NCYrATU0JiMiBh0BIyIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAgBkSEhmAERkZEYAZEhIZgBEZGREDVQUEBQ4JCRUMCxkN/asNGQsMFQkIDgUFBQUFBQ4JCBUMCxkNAlUNGQsMFQkJDgUEBVUCAQIFAwIHBAQIBf2rBAkDBAcDAwUBAgICAgEFAwMHBAMJBAJVBQgEBAcCAwUCAQL+gIASGRkSgBkSERmAEhkZEoAZERIZAAABAOIAjQMeAskAIAAAExcHBhQXFjI/ARcWMjc2NC8BNzY0JyYiDwEnJiIHBhQX4uLiDQ0MJAzi4gwkDA0N4uINDQwkDOLiDCQMDQ0CjeLiDSMMDQ3h4Q0NDCMN4uIMIw0MDOLiDAwNIwwAAAABAAAAAQAAa5n0y18PPPUACwQAAAAAANivOVsAAAAA2K85WwAAAAADqwNVAAAACAACAAAAAAAAAAEAAAPA/8AAAAQAAAAAAAOrAAEAAAAAAAAAAAAAAAAAAAALBAAAAAAAAAAAAAAAAgAAAAQAAWIEAAFiBAAA4gQAAOIEAABVBAAAVQQAAOIAAAAAAAoAFAAeAEQAagCqAOoBngJkApoAAQAAAAsAigADAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAcAAAABAAAAAAACAAcAYAABAAAAAAADAAcANgABAAAAAAAEAAcAdQABAAAAAAAFAAsAFQABAAAAAAAGAAcASwABAAAAAAAKABoAigADAAEECQABAA4ABwADAAEECQACAA4AZwADAAEECQADAA4APQADAAEECQAEAA4AfAADAAEECQAFABYAIAADAAEECQAGAA4AUgADAAEECQAKADQApGZjaWNvbnMAZgBjAGkAYwBvAG4Ac1ZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMGZjaWNvbnMAZgBjAGkAYwBvAG4Ac2ZjaWNvbnMAZgBjAGkAYwBvAG4Ac1JlZ3VsYXIAUgBlAGcAdQBsAGEAcmZjaWNvbnMAZgBjAGkAYwBvAG4Ac0ZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=") format("truetype");font-weight:400;font-style:normal}.fc-icon{font-family:fcicons!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fc-icon-chevron-left:before{content:""}.fc-icon-chevron-right:before{content:""}.fc-icon-chevrons-left:before{content:""}.fc-icon-chevrons-right:before{content:""}.fc-icon-minus-square:before{content:""}.fc-icon-plus-square:before{content:""}.fc-icon-x:before{content:""}.fc-icon{display:inline-block;width:1em;height:1em;text-align:center}.fc-button{border-radius:0;overflow:visible;text-transform:none;margin:0;font-family:inherit;font-size:inherit;line-height:inherit}.fc-button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.fc-button{-webkit-appearance:button}.fc-button:not(:disabled){cursor:pointer}.fc-button::-moz-focus-inner{padding:0;border-style:none}.fc-button{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.4em .65em;font-size:1em;line-height:1.5;border-radius:.25em}.fc-button:hover{color:#212529;text-decoration:none}.fc-button:focus{outline:0;-webkit-box-shadow:0 0 0 .2rem rgba(44,62,80,.25);box-shadow:0 0 0 .2rem rgba(44,62,80,.25)}.fc-button:disabled{opacity:.65}.fc-button-primary{color:#fff;background-color:#2c3e50;border-color:#2c3e50}.fc-button-primary:hover{color:#fff;background-color:#1e2b37;border-color:#1a252f}.fc-button-primary:focus{-webkit-box-shadow:0 0 0 .2rem rgba(76,91,106,.5);box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc-button-primary:disabled{color:#fff;background-color:#2c3e50;border-color:#2c3e50}.fc-button-primary:not(:disabled).fc-button-active,.fc-button-primary:not(:disabled):active{color:#fff;background-color:#1a252f;border-color:#151e27}.fc-button-primary:not(:disabled).fc-button-active:focus,.fc-button-primary:not(:disabled):active:focus{-webkit-box-shadow:0 0 0 .2rem rgba(76,91,106,.5);box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc-button .fc-icon{vertical-align:middle;font-size:1.5em}.fc-button-group{position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.fc-button-group>.fc-button{position:relative;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.fc-button-group>.fc-button:hover{z-index:1}.fc-button-group>.fc-button.fc-button-active,.fc-button-group>.fc-button:active,.fc-button-group>.fc-button:focus{z-index:1}.fc-button-group>.fc-button:not(:first-child){margin-left:-1px}.fc-button-group>.fc-button:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.fc-button-group>.fc-button:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.fc-unthemed .fc-popover{border-width:1px;border-style:solid}.fc-unthemed .fc-list-item:hover td{background-color:#f5f5f5}.fc-toolbar{display:flex;justify-content:space-between;align-items:center}.fc-toolbar.fc-header-toolbar{margin-bottom:1.5em}.fc-toolbar.fc-footer-toolbar{margin-top:1.5em}.fc-toolbar>*>:not(:first-child){margin-left:.75em}.fc-toolbar h2{font-size:1.75em;margin:0}.fc-view-container{position:relative}.fc-view-container *,.fc-view-container :after,.fc-view-container :before{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.fc-view,.fc-view>table{position:relative;z-index:1}@media print{.fc{max-width:100%!important}.fc-event{background:#fff!important;color:#000!important;page-break-inside:avoid}.fc-event .fc-resizer{display:none}.fc hr,.fc tbody,.fc td,.fc th,.fc thead,.fc-row{border-color:#ccc!important;background:#fff!important}.fc-bg,.fc-bgevent-container,.fc-bgevent-skeleton,.fc-business-container,.fc-highlight-container,.fc-highlight-skeleton,.fc-mirror-container,.fc-mirror-skeleton{display:none}.fc tbody .fc-row{height:auto!important;min-height:0!important}.fc tbody .fc-row .fc-content-skeleton{position:static;padding-bottom:0!important}.fc tbody .fc-row .fc-content-skeleton tbody tr:last-child td{padding-bottom:1em}.fc tbody .fc-row .fc-content-skeleton table{height:1em}.fc-more,.fc-more-cell{display:none!important}.fc tr.fc-limited{display:table-row!important}.fc td.fc-limited{display:table-cell!important}.fc-popover{display:none}.fc-time-grid{min-height:0!important}.fc-timeGrid-view .fc-axis{display:none}.fc-slats,.fc-time-grid hr{display:none!important}.fc-time-grid .fc-content-skeleton{position:static}.fc-time-grid .fc-content-skeleton table{height:4em}.fc-time-grid .fc-event-container{margin:0!important}.fc-time-grid .fc-event{position:static!important;margin:3px 2px!important}.fc-time-grid .fc-event.fc-not-end{border-bottom-width:1px!important}.fc-time-grid .fc-event.fc-not-end:after{content:"..."}.fc-time-grid .fc-event.fc-not-start{border-top-width:1px!important}.fc-time-grid .fc-event.fc-not-start:before{content:"..."}.fc-time-grid .fc-event .fc-time{white-space:normal!important}.fc-time-grid .fc-event .fc-time span{display:none}.fc-time-grid .fc-event .fc-time:after{content:attr(data-full)}.fc-day-grid-container,.fc-scroller,.fc-time-grid-container{overflow:visible!important;height:auto!important}.fc-row{border:0!important;margin:0!important}.fc button,.fc-button-group{display:none}}
43
+ .fc-dayGridDay-view .fc-content-skeleton,.fc-dayGridWeek-view .fc-content-skeleton{padding-bottom:1em}.fc-dayGrid-view .fc-body .fc-row{min-height:4em}.fc-row.fc-rigid{overflow:hidden}.fc-row.fc-rigid .fc-content-skeleton{position:absolute;top:0;left:0;right:0}.fc-day-top.fc-other-month{opacity:.3}.fc-dayGrid-view .fc-day-number,.fc-dayGrid-view .fc-week-number{padding:2px}.fc-dayGrid-view th.fc-day-number,.fc-dayGrid-view th.fc-week-number{padding:0 2px}.fc-ltr .fc-dayGrid-view .fc-day-top .fc-day-number{float:right}.fc-rtl .fc-dayGrid-view .fc-day-top .fc-day-number{float:left}.fc-ltr .fc-dayGrid-view .fc-day-top .fc-week-number{float:left;border-radius:0 0 3px 0}.fc-rtl .fc-dayGrid-view .fc-day-top .fc-week-number{float:right;border-radius:0 0 0 3px}.fc-dayGrid-view .fc-day-top .fc-week-number{min-width:1.5em;text-align:center;background-color:#f2f2f2;color:grey}.fc-dayGrid-view td.fc-week-number{text-align:center}.fc-dayGrid-view td.fc-week-number>*{display:inline-block;min-width:1.25em}
44
+ .fc-event-dot{display:inline-block;width:10px;height:10px;border-radius:5px}.fc-rtl .fc-list-view{direction:rtl}.fc-list-view{border-width:1px;border-style:solid}.fc .fc-list-table{table-layout:auto}.fc-list-table td{border-width:1px 0 0;padding:8px 14px}.fc-list-table tr:first-child td{border-top-width:0}.fc-list-heading{border-bottom-width:1px}.fc-list-heading td{font-weight:700}.fc-ltr .fc-list-heading-main{float:left}.fc-ltr .fc-list-heading-alt{float:right}.fc-rtl .fc-list-heading-main{float:right}.fc-rtl .fc-list-heading-alt{float:left}.fc-list-item.fc-has-url{cursor:pointer}.fc-list-item-marker,.fc-list-item-time{white-space:nowrap;width:1px}.fc-ltr .fc-list-item-marker{padding-right:0}.fc-rtl .fc-list-item-marker{padding-left:0}.fc-list-item-title a{text-decoration:none;color:inherit}.fc-list-item-title a[href]:hover{text-decoration:underline}.fc-list-empty-wrap2{position:absolute;top:0;left:0;right:0;bottom:0}.fc-list-empty-wrap1{width:100%;height:100%;display:table}.fc-list-empty{display:table-cell;vertical-align:middle;text-align:center}.fc-unthemed .fc-list-empty{background-color:#eee}
45
+ @charset "UTF-8";.fc-timeGrid-view .fc-day-grid{position:relative;z-index:2}.fc-timeGrid-view .fc-day-grid .fc-row{min-height:3em}.fc-timeGrid-view .fc-day-grid .fc-row .fc-content-skeleton{padding-bottom:1em}.fc .fc-axis{vertical-align:middle;padding:0 4px;white-space:nowrap}.fc-ltr .fc-axis{text-align:right}.fc-rtl .fc-axis{text-align:left}.fc-time-grid,.fc-time-grid-container{position:relative;z-index:1}.fc-time-grid{min-height:100%}.fc-time-grid table{border:0 hidden transparent}.fc-time-grid>.fc-bg{z-index:1}.fc-time-grid .fc-slats,.fc-time-grid>hr{position:relative;z-index:2}.fc-time-grid .fc-content-col{position:relative}.fc-time-grid .fc-content-skeleton{position:absolute;z-index:3;top:0;left:0;right:0}.fc-time-grid .fc-business-container{position:relative;z-index:1}.fc-time-grid .fc-bgevent-container{position:relative;z-index:2}.fc-time-grid .fc-highlight-container{position:relative;z-index:3}.fc-time-grid .fc-event-container{position:relative;z-index:4}.fc-time-grid .fc-now-indicator-line{z-index:5}.fc-time-grid .fc-mirror-container{position:relative;z-index:6}.fc-time-grid .fc-slats td{height:1.5em;border-bottom:0}.fc-time-grid .fc-slats .fc-minor td{border-top-style:dotted}.fc-time-grid .fc-highlight-container{position:relative}.fc-time-grid .fc-highlight{position:absolute;left:0;right:0}.fc-ltr .fc-time-grid .fc-event-container{margin:0 2.5% 0 2px}.fc-rtl .fc-time-grid .fc-event-container{margin:0 2px 0 2.5%}.fc-time-grid .fc-bgevent,.fc-time-grid .fc-event{position:absolute;z-index:1}.fc-time-grid .fc-bgevent{left:0;right:0}.fc-time-grid-event{margin-bottom:1px}.fc-time-grid-event-inset{-webkit-box-shadow:0 0 0 1px #fff;box-shadow:0 0 0 1px #fff}.fc-time-grid-event.fc-not-start{border-top-width:0;padding-top:1px;border-top-left-radius:0;border-top-right-radius:0}.fc-time-grid-event.fc-not-end{border-bottom-width:0;padding-bottom:1px;border-bottom-left-radius:0;border-bottom-right-radius:0}.fc-time-grid-event .fc-content{overflow:hidden;max-height:100%}.fc-time-grid-event .fc-time,.fc-time-grid-event .fc-title{padding:0 1px}.fc-time-grid-event .fc-time{font-size:.85em;white-space:nowrap}.fc-time-grid-event.fc-short .fc-content{white-space:nowrap}.fc-time-grid-event.fc-short .fc-time,.fc-time-grid-event.fc-short .fc-title{display:inline-block;vertical-align:top}.fc-time-grid-event.fc-short .fc-time span{display:none}.fc-time-grid-event.fc-short .fc-time:before{content:attr(data-start)}.fc-time-grid-event.fc-short .fc-time:after{content:" - "}.fc-time-grid-event.fc-short .fc-title{font-size:.85em;padding:0}.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer{left:0;right:0;bottom:0;height:8px;overflow:hidden;line-height:8px;font-size:11px;font-family:monospace;text-align:center;cursor:s-resize}.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer:after{content:"="}.fc-time-grid-event.fc-selected .fc-resizer{border-radius:5px;border-width:1px;width:8px;height:8px;border-style:solid;border-color:inherit;background:#fff;left:50%;margin-left:-5px;bottom:-5px}.fc-time-grid .fc-now-indicator-line{border-top-width:1px;left:0;right:0}.fc-time-grid .fc-now-indicator-arrow{margin-top:-5px}.fc-ltr .fc-time-grid .fc-now-indicator-arrow{left:0;border-width:5px 0 5px 6px;border-top-color:transparent;border-bottom-color:transparent}.fc-rtl .fc-time-grid .fc-now-indicator-arrow{right:0;border-width:5px 6px 5px 0;border-top-color:transparent;border-bottom-color:transparent}
46
  @keyframes plyr-progress{to{background-position:25px 0}}@keyframes plyr-popup{0%{opacity:.5;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes plyr-fade-in{from{opacity:0}to{opacity:1}}.plyr{-moz-osx-font-smoothing:auto;-webkit-font-smoothing:subpixel-antialiased;direction:ltr;font-family:Avenir,"Avenir Next","Helvetica Neue","Segoe UI",Helvetica,Arial,sans-serif;font-variant-numeric:tabular-nums;font-weight:500;line-height:1.7;max-width:100%;min-width:200px;position:relative;text-shadow:none;transition:box-shadow .3s ease}.plyr audio,.plyr video{border-radius:inherit;height:auto;vertical-align:middle;width:100%}.plyr button{font:inherit;line-height:inherit;width:auto}.plyr:focus{outline:0}.plyr--full-ui{box-sizing:border-box}.plyr--full-ui *,.plyr--full-ui ::after,.plyr--full-ui ::before{box-sizing:inherit}.plyr--full-ui a,.plyr--full-ui button,.plyr--full-ui input,.plyr--full-ui label{touch-action:manipulation}.plyr__badge{background:#4a5764;border-radius:2px;color:#fff;font-size:9px;line-height:1;padding:3px 4px}.plyr--full-ui ::-webkit-media-text-track-container{display:none}.plyr__captions{animation:plyr-fade-in .3s ease;bottom:0;color:#fff;display:none;font-size:14px;left:0;padding:10px;position:absolute;text-align:center;transition:transform .4s ease-in-out;width:100%}.plyr__captions .plyr__caption{background:rgba(0,0,0,.8);border-radius:2px;-webkit-box-decoration-break:clone;box-decoration-break:clone;line-height:185%;padding:.2em .5em;white-space:pre-wrap}.plyr__captions .plyr__caption div{display:inline}.plyr__captions span:empty{display:none}@media (min-width:480px){.plyr__captions{font-size:16px;padding:20px}}@media (min-width:768px){.plyr__captions{font-size:18px}}.plyr--captions-active .plyr__captions{display:block}.plyr:not(.plyr--hide-controls) .plyr__controls:not(:empty)~.plyr__captions{transform:translateY(-40px)}.plyr__control{background:0 0;border:0;border-radius:3px;color:inherit;cursor:pointer;flex-shrink:0;overflow:visible;padding:7px;position:relative;transition:all .3s ease}.plyr__control svg{display:block;fill:currentColor;height:18px;pointer-events:none;width:18px}.plyr__control:focus{outline:0}.plyr__control.plyr__tab-focus{box-shadow:0 0 0 5px rgba(0,179,255,.5);outline:0}a.plyr__control{text-decoration:none}a.plyr__control::after,a.plyr__control::before{display:none}.plyr__control.plyr__control--pressed .icon--not-pressed,.plyr__control.plyr__control--pressed .label--not-pressed,.plyr__control:not(.plyr__control--pressed) .icon--pressed,.plyr__control:not(.plyr__control--pressed) .label--pressed{display:none}.plyr--audio .plyr__control.plyr__tab-focus,.plyr--audio .plyr__control:hover,.plyr--audio .plyr__control[aria-expanded=true]{background:#00b3ff;color:#fff}.plyr--video .plyr__control.plyr__tab-focus,.plyr--video .plyr__control:hover,.plyr--video .plyr__control[aria-expanded=true]{background:#00b3ff;color:#fff}.plyr__control--overlaid{background:rgba(0,179,255,.8);border:0;border-radius:100%;color:#fff;display:none;left:50%;padding:15px;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:2}.plyr__control--overlaid svg{left:2px;position:relative}.plyr__control--overlaid:focus,.plyr__control--overlaid:hover{background:#00b3ff}.plyr--playing .plyr__control--overlaid{opacity:0;visibility:hidden}.plyr--full-ui.plyr--video .plyr__control--overlaid{display:block}.plyr--full-ui ::-webkit-media-controls{display:none}.plyr__controls{align-items:center;display:flex;justify-content:flex-end;text-align:center}.plyr__controls .plyr__progress__container{flex:1;min-width:0}.plyr__controls .plyr__controls__item{margin-left:2.5px}.plyr__controls .plyr__controls__item:first-child{margin-left:0;margin-right:auto}.plyr__controls .plyr__controls__item.plyr__progress__container{padding-left:2.5px}.plyr__controls .plyr__controls__item.plyr__time{padding:0 5px}.plyr__controls .plyr__controls__item.plyr__progress__container:first-child,.plyr__controls .plyr__controls__item.plyr__time+.plyr__time,.plyr__controls .plyr__controls__item.plyr__time:first-child{padding-left:0}.plyr__controls .plyr__controls__item.plyr__volume{padding-right:5px}.plyr__controls .plyr__controls__item.plyr__volume:first-child{padding-right:0}.plyr__controls:empty{display:none}.plyr--audio .plyr__controls{background:#fff;border-radius:inherit;color:#4a5764;padding:10px}.plyr--video .plyr__controls{background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.7));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;bottom:0;color:#fff;left:0;padding:20px 5px 5px;position:absolute;right:0;transition:opacity .4s ease-in-out,transform .4s ease-in-out;z-index:3}@media (min-width:480px){.plyr--video .plyr__controls{padding:35px 10px 10px}}.plyr--video.plyr--hide-controls .plyr__controls{opacity:0;pointer-events:none;transform:translateY(100%)}.plyr [data-plyr=airplay],.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr [data-plyr=pip]{display:none}.plyr--airplay-supported [data-plyr=airplay],.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen],.plyr--pip-supported [data-plyr=pip]{display:inline-block}.plyr__menu{display:flex;position:relative}.plyr__menu .plyr__control svg{transition:transform .3s ease}.plyr__menu .plyr__control[aria-expanded=true] svg{transform:rotate(90deg)}.plyr__menu .plyr__control[aria-expanded=true] .plyr__tooltip{display:none}.plyr__menu__container{animation:plyr-popup .2s ease;background:rgba(255,255,255,.9);border-radius:4px;bottom:100%;box-shadow:0 1px 2px rgba(0,0,0,.15);color:#4a5764;font-size:16px;margin-bottom:10px;position:absolute;right:-3px;text-align:left;white-space:nowrap;z-index:3}.plyr__menu__container>div{overflow:hidden;transition:height .35s cubic-bezier(.4,0,.2,1),width .35s cubic-bezier(.4,0,.2,1)}.plyr__menu__container::after{border:4px solid transparent;border-top-color:rgba(255,255,255,.9);content:'';height:0;position:absolute;right:15px;top:100%;width:0}.plyr__menu__container [role=menu]{padding:7px}.plyr__menu__container [role=menuitem],.plyr__menu__container [role=menuitemradio]{margin-top:2px}.plyr__menu__container [role=menuitem]:first-child,.plyr__menu__container [role=menuitemradio]:first-child{margin-top:0}.plyr__menu__container .plyr__control{align-items:center;color:#4a5764;display:flex;font-size:14px;padding:4px 11px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.plyr__menu__container .plyr__control>span{align-items:inherit;display:flex;width:100%}.plyr__menu__container .plyr__control::after{border:4px solid transparent;content:'';position:absolute;top:50%;transform:translateY(-50%)}.plyr__menu__container .plyr__control--forward{padding-right:28px}.plyr__menu__container .plyr__control--forward::after{border-left-color:rgba(74,87,100,.8);right:5px}.plyr__menu__container .plyr__control--forward.plyr__tab-focus::after,.plyr__menu__container .plyr__control--forward:hover::after{border-left-color:currentColor}.plyr__menu__container .plyr__control--back{font-weight:500;margin:7px;margin-bottom:3px;padding-left:28px;position:relative;width:calc(100% - 14px)}.plyr__menu__container .plyr__control--back::after{border-right-color:rgba(74,87,100,.8);left:7px}.plyr__menu__container .plyr__control--back::before{background:#c1c9d1;box-shadow:0 1px 0 #fff;content:'';height:1px;left:0;margin-top:4px;overflow:hidden;position:absolute;right:0;top:100%}.plyr__menu__container .plyr__control--back.plyr__tab-focus::after,.plyr__menu__container .plyr__control--back:hover::after{border-right-color:currentColor}.plyr__menu__container .plyr__control[role=menuitemradio]{padding-left:7px}.plyr__menu__container .plyr__control[role=menuitemradio]::after,.plyr__menu__container .plyr__control[role=menuitemradio]::before{border-radius:100%}.plyr__menu__container .plyr__control[role=menuitemradio]::before{background:rgba(0,0,0,.1);content:'';display:block;flex-shrink:0;height:16px;margin-right:10px;transition:all .3s ease;width:16px}.plyr__menu__container .plyr__control[role=menuitemradio]::after{background:#fff;border:0;height:6px;left:12px;opacity:0;top:50%;transform:translateY(-50%) scale(0);transition:transform .3s ease,opacity .3s ease;width:6px}.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::before{background:#00b3ff}.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::after{opacity:1;transform:translateY(-50%) scale(1)}.plyr__menu__container .plyr__control[role=menuitemradio].plyr__tab-focus::before,.plyr__menu__container .plyr__control[role=menuitemradio]:hover::before{background:rgba(0,0,0,.1)}.plyr__menu__container .plyr__menu__value{align-items:center;display:flex;margin-left:auto;margin-right:-5px;overflow:hidden;padding-left:25px;pointer-events:none}.plyr--full-ui input[type=range]{-webkit-appearance:none;background:0 0;border:0;border-radius:26px;color:#00b3ff;display:block;height:19px;margin:0;padding:0;transition:box-shadow .3s ease;width:100%}.plyr--full-ui input[type=range]::-webkit-slider-runnable-track{background:0 0;border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;-webkit-user-select:none;user-select:none;background-image:linear-gradient(to right,currentColor var(--value,0),transparent var(--value,0))}.plyr--full-ui input[type=range]::-webkit-slider-thumb{background:#fff;border:0;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2);height:13px;position:relative;transition:all .2s ease;width:13px;-webkit-appearance:none;margin-top:-4px}.plyr--full-ui input[type=range]::-moz-range-track{background:0 0;border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;-moz-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-moz-range-thumb{background:#fff;border:0;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2);height:13px;position:relative;transition:all .2s ease;width:13px}.plyr--full-ui input[type=range]::-moz-range-progress{background:currentColor;border-radius:2.5px;height:5px}.plyr--full-ui input[type=range]::-ms-track{background:0 0;border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;-ms-user-select:none;user-select:none;color:transparent}.plyr--full-ui input[type=range]::-ms-fill-upper{background:0 0;border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;-ms-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-ms-fill-lower{background:0 0;border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;-ms-user-select:none;user-select:none;background:currentColor}.plyr--full-ui input[type=range]::-ms-thumb{background:#fff;border:0;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2);height:13px;position:relative;transition:all .2s ease;width:13px;margin-top:0}.plyr--full-ui input[type=range]::-ms-tooltip{display:none}.plyr--full-ui input[type=range]:focus{outline:0}.plyr--full-ui input[type=range]::-moz-focus-outer{border:0}.plyr--full-ui input[type=range].plyr__tab-focus::-webkit-slider-runnable-track{box-shadow:0 0 0 5px rgba(0,179,255,.5);outline:0}.plyr--full-ui input[type=range].plyr__tab-focus::-moz-range-track{box-shadow:0 0 0 5px rgba(0,179,255,.5);outline:0}.plyr--full-ui input[type=range].plyr__tab-focus::-ms-track{box-shadow:0 0 0 5px rgba(0,179,255,.5);outline:0}.plyr--full-ui.plyr--video input[type=range]::-webkit-slider-runnable-track{background-color:rgba(255,255,255,.25)}.plyr--full-ui.plyr--video input[type=range]::-moz-range-track{background-color:rgba(255,255,255,.25)}.plyr--full-ui.plyr--video input[type=range]::-ms-track{background-color:rgba(255,255,255,.25)}.plyr--full-ui.plyr--video input[type=range]:active::-webkit-slider-thumb{box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2),0 0 0 3px rgba(255,255,255,.5)}.plyr--full-ui.plyr--video input[type=range]:active::-moz-range-thumb{box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2),0 0 0 3px rgba(255,255,255,.5)}.plyr--full-ui.plyr--video input[type=range]:active::-ms-thumb{box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2),0 0 0 3px rgba(255,255,255,.5)}.plyr--full-ui.plyr--audio input[type=range]::-webkit-slider-runnable-track{background-color:rgba(193,201,209,.66)}.plyr--full-ui.plyr--audio input[type=range]::-moz-range-track{background-color:rgba(193,201,209,.66)}.plyr--full-ui.plyr--audio input[type=range]::-ms-track{background-color:rgba(193,201,209,.66)}.plyr--full-ui.plyr--audio input[type=range]:active::-webkit-slider-thumb{box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2),0 0 0 3px rgba(0,0,0,.1)}.plyr--full-ui.plyr--audio input[type=range]:active::-moz-range-thumb{box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2),0 0 0 3px rgba(0,0,0,.1)}.plyr--full-ui.plyr--audio input[type=range]:active::-ms-thumb{box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2),0 0 0 3px rgba(0,0,0,.1)}.plyr__poster{background-color:#000;background-position:50% 50%;background-repeat:no-repeat;background-size:contain;height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .2s ease;width:100%;z-index:1}.plyr--stopped.plyr__poster-enabled .plyr__poster{opacity:1}.plyr__time{font-size:14px}.plyr__time+.plyr__time::before{content:'\2044';margin-right:10px}@media (max-width:767px){.plyr__time+.plyr__time{display:none}}.plyr--video .plyr__time{text-shadow:0 1px 1px rgba(0,0,0,.15)}.plyr__tooltip{background:rgba(255,255,255,.9);border-radius:3px;bottom:100%;box-shadow:0 1px 2px rgba(0,0,0,.15);color:#4a5764;font-size:14px;font-weight:500;left:50%;line-height:1.3;margin-bottom:10px;opacity:0;padding:5px 7.5px;pointer-events:none;position:absolute;transform:translate(-50%,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s .1s ease,opacity .2s .1s ease;white-space:nowrap;z-index:2}.plyr__tooltip::before{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(255,255,255,.9);bottom:-4px;content:'';height:0;left:50%;position:absolute;transform:translateX(-50%);width:0;z-index:2}.plyr .plyr__control.plyr__tab-focus .plyr__tooltip,.plyr .plyr__control:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;transform:translate(-50%,0) scale(1)}.plyr .plyr__control:hover .plyr__tooltip{z-index:3}.plyr__controls>.plyr__control:first-child .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip{left:0;transform:translate(0,10px) scale(.8);transform-origin:0 100%}.plyr__controls>.plyr__control:first-child .plyr__tooltip::before,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip::before{left:16px}.plyr__controls>.plyr__control:last-child .plyr__tooltip{left:auto;right:0;transform:translate(0,10px) scale(.8);transform-origin:100% 100%}.plyr__controls>.plyr__control:last-child .plyr__tooltip::before{left:auto;right:16px;transform:translateX(50%)}.plyr__controls>.plyr__control:first-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control.plyr__tab-focus .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control:hover .plyr__tooltip,.plyr__controls>.plyr__control:first-child.plyr__tab-focus .plyr__tooltip,.plyr__controls>.plyr__control:first-child:hover .plyr__tooltip,.plyr__controls>.plyr__control:last-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:last-child.plyr__tab-focus .plyr__tooltip,.plyr__controls>.plyr__control:last-child:hover .plyr__tooltip{transform:translate(0,0) scale(1)}.plyr--video{background:#000;overflow:hidden}.plyr--video.plyr--menu-open{overflow:visible}.plyr__video-wrapper{background:#000;border-radius:inherit;overflow:hidden;position:relative;z-index:0}.plyr__video-embed,.plyr__video-wrapper--fixed-ratio{height:0;padding-bottom:56.25%}.plyr__video-embed iframe,.plyr__video-wrapper--fixed-ratio video{border:0;height:100%;left:0;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.plyr--full-ui .plyr__video-embed>.plyr__video-embed__container{padding-bottom:240%;position:relative;transform:translateY(-38.28125%)}.plyr__progress{left:6.5px;margin-right:13px;position:relative}.plyr__progress input[type=range],.plyr__progress__buffer{margin-left:-6.5px;margin-right:-6.5px;width:calc(100% + 13px)}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress .plyr__tooltip{font-size:14px;left:0}.plyr__progress__buffer{-webkit-appearance:none;background:0 0;border:0;border-radius:100px;height:5px;left:0;margin-top:-2.5px;padding:0;position:absolute;top:50%}.plyr__progress__buffer::-webkit-progress-bar{background:0 0}.plyr__progress__buffer::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:5px;transition:width .2s ease}.plyr__progress__buffer::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:5px;transition:width .2s ease}.plyr__progress__buffer::-ms-fill{border-radius:100px;transition:width .2s ease}.plyr--video .plyr__progress__buffer{box-shadow:0 1px 1px rgba(0,0,0,.15);color:rgba(255,255,255,.25)}.plyr--audio .plyr__progress__buffer{color:rgba(193,201,209,.66)}.plyr--loading .plyr__progress__buffer{animation:plyr-progress 1s linear infinite;background-image:linear-gradient(-45deg,rgba(35,41,47,.6) 25%,transparent 25%,transparent 50%,rgba(35,41,47,.6) 50%,rgba(35,41,47,.6) 75%,transparent 75%,transparent);background-repeat:repeat-x;background-size:25px 25px;color:transparent}.plyr--video.plyr--loading .plyr__progress__buffer{background-color:rgba(255,255,255,.25)}.plyr--audio.plyr--loading .plyr__progress__buffer{background-color:rgba(193,201,209,.66)}.plyr__volume{align-items:center;display:flex;flex:1;position:relative}.plyr__volume input[type=range]{margin-left:5px;position:relative;z-index:2}@media (min-width:480px){.plyr__volume{max-width:90px}}@media (min-width:768px){.plyr__volume{max-width:110px}}.plyr--is-ios .plyr__volume{display:none!important}.plyr--is-ios.plyr--vimeo [data-plyr=mute]{display:none!important}.plyr:-webkit-full-screen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-ms-fullscreen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:fullscreen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-webkit-full-screen video{height:100%}.plyr:-ms-fullscreen video{height:100%}.plyr:fullscreen video{height:100%}.plyr:-webkit-full-screen .plyr__video-wrapper{height:100%;position:static}.plyr:-ms-fullscreen .plyr__video-wrapper{height:100%;position:static}.plyr:fullscreen .plyr__video-wrapper{height:100%;position:static}.plyr:-webkit-full-screen.plyr--vimeo .plyr__video-wrapper{height:0;position:relative;top:50%;transform:translateY(-50%)}.plyr:-ms-fullscreen.plyr--vimeo .plyr__video-wrapper{height:0;position:relative;top:50%;transform:translateY(-50%)}.plyr:fullscreen.plyr--vimeo .plyr__video-wrapper{height:0;position:relative;top:50%;transform:translateY(-50%)}.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen{display:block}.plyr:fullscreen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:fullscreen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-webkit-full-screen.plyr--hide-controls{cursor:none}.plyr:-ms-fullscreen.plyr--hide-controls{cursor:none}.plyr:fullscreen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:-webkit-full-screen .plyr__captions{font-size:21px}.plyr:-ms-fullscreen .plyr__captions{font-size:21px}.plyr:fullscreen .plyr__captions{font-size:21px}}.plyr:-webkit-full-screen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-webkit-full-screen video{height:100%}.plyr:-webkit-full-screen .plyr__video-wrapper{height:100%;position:static}.plyr:-webkit-full-screen.plyr--vimeo .plyr__video-wrapper{height:0;position:relative;top:50%;transform:translateY(-50%)}.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-webkit-full-screen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:-webkit-full-screen .plyr__captions{font-size:21px}}.plyr:-moz-full-screen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-moz-full-screen video{height:100%}.plyr:-moz-full-screen .plyr__video-wrapper{height:100%;position:static}.plyr:-moz-full-screen.plyr--vimeo .plyr__video-wrapper{height:0;position:relative;top:50%;transform:translateY(-50%)}.plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-moz-full-screen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:-moz-full-screen .plyr__captions{font-size:21px}}.plyr:-ms-fullscreen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-ms-fullscreen video{height:100%}.plyr:-ms-fullscreen .plyr__video-wrapper{height:100%;position:static}.plyr:-ms-fullscreen.plyr--vimeo .plyr__video-wrapper{height:0;position:relative;top:50%;transform:translateY(-50%)}.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-ms-fullscreen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:-ms-fullscreen .plyr__captions{font-size:21px}}.plyr--fullscreen-fallback{background:#000;border-radius:0!important;height:100%;margin:0;width:100%;bottom:0;left:0;position:fixed;right:0;top:0;z-index:10000000}.plyr--fullscreen-fallback video{height:100%}.plyr--fullscreen-fallback .plyr__video-wrapper{height:100%;position:static}.plyr--fullscreen-fallback.plyr--vimeo .plyr__video-wrapper{height:0;position:relative;top:50%;transform:translateY(-50%)}.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen{display:block}.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr--fullscreen-fallback.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr--fullscreen-fallback .plyr__captions{font-size:21px}}.plyr__ads{border-radius:inherit;bottom:0;cursor:pointer;left:0;overflow:hidden;position:absolute;right:0;top:0;z-index:-1}.plyr__ads>div,.plyr__ads>div iframe{height:100%;position:absolute;width:100%}.plyr__ads::after{background:rgba(35,41,47,.8);border-radius:2px;bottom:10px;color:#fff;content:attr(data-badge-text);font-size:11px;padding:2px 6px;pointer-events:none;position:absolute;right:10px;z-index:3}.plyr__ads::after:empty{display:none}.plyr__cues{background:currentColor;display:block;height:5px;left:0;margin:-2.5px 0 0;opacity:.8;position:absolute;top:50%;width:3px;z-index:3}.plyr__preview-thumb{background-color:rgba(255,255,255,.9);border-radius:3px;bottom:100%;box-shadow:0 1px 2px rgba(0,0,0,.15);margin-bottom:10px;opacity:0;padding:3px;pointer-events:none;position:absolute;transform:translate(0,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s .1s ease,opacity .2s .1s ease;z-index:2}.plyr__preview-thumb--is-shown{opacity:1;transform:translate(0,0) scale(1)}.plyr__preview-thumb::before{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(255,255,255,.9);bottom:-4px;content:'';height:0;left:50%;position:absolute;transform:translateX(-50%);width:0;z-index:2}.plyr__preview-thumb__image-container{background:#c1c9d1;border-radius:2px;overflow:hidden;position:relative;z-index:0}.plyr__preview-thumb__image-container img{height:100%;left:0;max-height:none;max-width:none;position:absolute;top:0;width:100%}.plyr__preview-thumb__time-container{bottom:6px;left:0;position:absolute;right:0;white-space:nowrap;z-index:3}.plyr__preview-thumb__time-container span{background-color:rgba(0,0,0,.55);border-radius:2px;color:#fff;font-size:14px;padding:3px 6px}.plyr__preview-scrubbing{bottom:0;filter:blur(1px);height:100%;left:0;margin:auto;opacity:0;overflow:hidden;position:absolute;right:0;top:0;transition:opacity .3s ease;width:100%;z-index:1}.plyr__preview-scrubbing--is-shown{opacity:1}.plyr__preview-scrubbing img{height:100%;left:0;max-height:none;max-width:none;object-fit:contain;position:absolute;top:0;width:100%}.plyr--no-transition{transition:none!important}.plyr__sr-only{clip:rect(1px,1px,1px,1px);overflow:hidden;border:0!important;height:1px!important;padding:0!important;position:absolute!important;width:1px!important}.plyr [hidden]{display:none!important}
47
  .tooltipster-fall,.tooltipster-grow.tooltipster-show{-webkit-transition-timing-function:cubic-bezier(.175,.885,.32,1);-moz-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);-ms-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);-o-transition-timing-function:cubic-bezier(.175,.885,.32,1.15)}.tooltipster-base{display:flex;pointer-events:none;position:absolute}.tooltipster-box{flex:1 1 auto}.tooltipster-content{box-sizing:border-box;max-height:100%;max-width:100%;overflow:auto}.tooltipster-ruler{bottom:0;left:0;overflow:hidden;position:fixed;right:0;top:0;visibility:hidden}.tooltipster-fade{opacity:0;-webkit-transition-property:opacity;-moz-transition-property:opacity;-o-transition-property:opacity;-ms-transition-property:opacity;transition-property:opacity}.tooltipster-fade.tooltipster-show{opacity:1}.tooltipster-grow{-webkit-transform:scale(0,0);-moz-transform:scale(0,0);-o-transform:scale(0,0);-ms-transform:scale(0,0);transform:scale(0,0);-webkit-transition-property:-webkit-transform;-moz-transition-property:-moz-transform;-o-transition-property:-o-transform;-ms-transition-property:-ms-transform;transition-property:transform;-webkit-backface-visibility:hidden}.tooltipster-grow.tooltipster-show{-webkit-transform:scale(1,1);-moz-transform:scale(1,1);-o-transform:scale(1,1);-ms-transform:scale(1,1);transform:scale(1,1);-webkit-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);transition-timing-function:cubic-bezier(.175,.885,.32,1.15)}.tooltipster-swing{opacity:0;-webkit-transform:rotateZ(4deg);-moz-transform:rotateZ(4deg);-o-transform:rotateZ(4deg);-ms-transform:rotateZ(4deg);transform:rotateZ(4deg);-webkit-transition-property:-webkit-transform,opacity;-moz-transition-property:-moz-transform;-o-transition-property:-o-transform;-ms-transition-property:-ms-transform;transition-property:transform}.tooltipster-swing.tooltipster-show{opacity:1;-webkit-transform:rotateZ(0);-moz-transform:rotateZ(0);-o-transform:rotateZ(0);-ms-transform:rotateZ(0);transform:rotateZ(0);-webkit-transition-timing-function:cubic-bezier(.23,.635,.495,1);-webkit-transition-timing-function:cubic-bezier(.23,.635,.495,2.4);-moz-transition-timing-function:cubic-bezier(.23,.635,.495,2.4);-ms-transition-timing-function:cubic-bezier(.23,.635,.495,2.4);-o-transition-timing-function:cubic-bezier(.23,.635,.495,2.4);transition-timing-function:cubic-bezier(.23,.635,.495,2.4)}.tooltipster-fall{-webkit-transition-property:top;-moz-transition-property:top;-o-transition-property:top;-ms-transition-property:top;transition-property:top;-webkit-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);transition-timing-function:cubic-bezier(.175,.885,.32,1.15)}.tooltipster-fall.tooltipster-initial{top:0!important}.tooltipster-fall.tooltipster-dying{-webkit-transition-property:all;-moz-transition-property:all;-o-transition-property:all;-ms-transition-property:all;transition-property:all;top:0!important;opacity:0}.tooltipster-slide{-webkit-transition-property:left;-moz-transition-property:left;-o-transition-property:left;-ms-transition-property:left;transition-property:left;-webkit-transition-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);-moz-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);-ms-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);-o-transition-timing-function:cubic-bezier(.175,.885,.32,1.15);transition-timing-function:cubic-bezier(.175,.885,.32,1.15)}.tooltipster-slide.tooltipster-initial{left:-40px!important}.tooltipster-slide.tooltipster-dying{-webkit-transition-property:all;-moz-transition-property:all;-o-transition-property:all;-ms-transition-property:all;transition-property:all;left:0!important;opacity:0}@keyframes tooltipster-fading{0%{opacity:0}100%{opacity:1}}.tooltipster-update-fade{animation:tooltipster-fading .4s}@keyframes tooltipster-rotating{25%{transform:rotate(-2deg)}75%{transform:rotate(2deg)}100%{transform:rotate(0)}}.tooltipster-update-rotate{animation:tooltipster-rotating .6s}@keyframes tooltipster-scaling{50%{transform:scale(1.1)}100%{transform:scale(1)}}.tooltipster-update-scale{animation:tooltipster-scaling .6s}.tooltipster-sidetip .tooltipster-box{background:#565656;border:2px solid #000;border-radius:4px}.tooltipster-sidetip.tooltipster-bottom .tooltipster-box{margin-top:8px}.tooltipster-sidetip.tooltipster-left .tooltipster-box{margin-right:8px}.tooltipster-sidetip.tooltipster-right .tooltipster-box{margin-left:8px}.tooltipster-sidetip.tooltipster-top .tooltipster-box{margin-bottom:8px}.tooltipster-sidetip .tooltipster-content{color:#fff;line-height:18px;padding:6px 14px}.tooltipster-sidetip .tooltipster-arrow{overflow:hidden;position:absolute}.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow{height:10px;margin-left:-10px;top:0;width:20px}.tooltipster-sidetip.tooltipster-left .tooltipster-arrow{height:20px;margin-top:-10px;right:0;top:0;width:10px}.tooltipster-sidetip.tooltipster-right .tooltipster-arrow{height:20px;margin-top:-10px;left:0;top:0;width:10px}.tooltipster-sidetip.tooltipster-top .tooltipster-arrow{bottom:0;height:10px;margin-left:-10px;width:20px}.tooltipster-sidetip .tooltipster-arrow-background,.tooltipster-sidetip .tooltipster-arrow-border{height:0;position:absolute;width:0}.tooltipster-sidetip .tooltipster-arrow-background{border:10px solid transparent}.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow-background{border-bottom-color:#565656;left:0;top:3px}.tooltipster-sidetip.tooltipster-left .tooltipster-arrow-background{border-left-color:#565656;left:-3px;top:0}.tooltipster-sidetip.tooltipster-right .tooltipster-arrow-background{border-right-color:#565656;left:3px;top:0}.tooltipster-sidetip.tooltipster-top .tooltipster-arrow-background{border-top-color:#565656;left:0;top:-3px}.tooltipster-sidetip .tooltipster-arrow-border{border:10px solid transparent;left:0;top:0}.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow-border{border-bottom-color:#000}.tooltipster-sidetip.tooltipster-left .tooltipster-arrow-border{border-left-color:#000}.tooltipster-sidetip.tooltipster-right .tooltipster-arrow-border{border-right-color:#000}.tooltipster-sidetip.tooltipster-top .tooltipster-arrow-border{border-top-color:#000}.tooltipster-sidetip .tooltipster-arrow-uncropped{position:relative}.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow-uncropped{top:-10px}.tooltipster-sidetip.tooltipster-right .tooltipster-arrow-uncropped{left:-10px}
assets/front-end/css/event-calendar/index.css ADDED
@@ -0,0 +1,451 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .eael-event-calendar-wrapper .fc-row table {
2
+ margin: 0px !important;
3
+ }
4
+ .eael-event-calendar-wrapper .fc table {
5
+ margin: auto;
6
+ }
7
+ .eael-event-calendar-wrapper .fc-view table thead:first-child tr:first-child td {
8
+ border-top: 1px solid #ddd !important;
9
+ border-bottom: none !important;
10
+ }
11
+ .eael-event-calendar-wrapper .fc-day-grid-event {
12
+ margin-top: 2px;
13
+ padding: 8px;
14
+ font-size: 12px;
15
+ border-left-width: 5px;
16
+ }
17
+ .eael-event-calendar-wrapper .fc-day.fc-today {
18
+ background: transparent;
19
+ }
20
+ .eael-event-calendar-wrapper .fc-day-top.fc-today .fc-day-number {
21
+ font-weight: bold;
22
+ }
23
+ .eael-event-calendar-wrapper .fc-row table thead:first-child tr:first-child th {
24
+ font-size: 14px;
25
+ }
26
+ .eael-event-calendar-wrapper .fc-day-number {
27
+ font-size: 14px;
28
+ float: center !important;
29
+ }
30
+ .eael-event-calendar-wrapper .eaelec-modal {
31
+ position: fixed;
32
+ left: 0;
33
+ top: 0;
34
+ width: 100%;
35
+ height: 100%;
36
+ display: -webkit-box;
37
+ display: flex;
38
+ -webkit-box-align: center;
39
+ align-items: center;
40
+ -webkit-box-pack: center;
41
+ justify-content: center;
42
+ z-index: -1;
43
+ }
44
+ .eael-event-calendar-wrapper .eaelec-modal .eael-ec-modal-bg {
45
+ position: absolute;
46
+ left: 0;
47
+ top: 0;
48
+ height: 100%;
49
+ width: 100%;
50
+ background: #000000;
51
+ opacity: 0;
52
+ -webkit-transition: all 0.3s ease-out;
53
+ transition: all 0.3s ease-out;
54
+ }
55
+ .eael-event-calendar-wrapper .eaelec-modal.eael-ec-popup-ready {
56
+ z-index: 99999;
57
+ opacity: 1;
58
+ }
59
+ .eael-event-calendar-wrapper .eaelec-modal-content {
60
+ position: relative;
61
+ margin: auto;
62
+ border: 1px solid #888;
63
+ max-width: 900px;
64
+ box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
65
+ background-color: #fefefe;
66
+ padding: 20px 0;
67
+ width: 100%;
68
+ border-radius: 10px;
69
+ }
70
+ .eael-event-calendar-wrapper .eaelec-modal-header {
71
+ padding: 0px 30px;
72
+ color: white;
73
+ border-color: #009900;
74
+ overflow: auto;
75
+ margin-top: 8px;
76
+ }
77
+ .eael-event-calendar-wrapper .eaelec-modal-header h2 {
78
+ color: #242424;
79
+ margin: 0;
80
+ padding: 0;
81
+ }
82
+ .eael-event-calendar-wrapper .eaelec-modal-header .eaelec-event-popup-date {
83
+ color: #555;
84
+ padding-top: 2px;
85
+ display: inline-block;
86
+ }
87
+ .eael-event-calendar-wrapper .eaelec-modal-header .eaelec-event-popup-date i {
88
+ color: #5725ff;
89
+ }
90
+ .eael-event-calendar-wrapper .eaelec-modal-close {
91
+ position: absolute;
92
+ right: -15px;
93
+ top: -18px;
94
+ font-size: 24px;
95
+ z-index: 9999;
96
+ cursor: pointer;
97
+ box-sizing: content-box;
98
+ overflow: visible;
99
+ border: 2px solid #fff;
100
+ background: #fff;
101
+ text-align: center;
102
+ box-shadow: 2px 0px 12px 3px rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
103
+ color: #000 !important;
104
+ height: 40px;
105
+ width: 40px;
106
+ text-align: center;
107
+ display: -webkit-box;
108
+ display: flex;
109
+ -webkit-box-align: center;
110
+ align-items: center;
111
+ -webkit-box-pack: center;
112
+ justify-content: center;
113
+ border-radius: 50%;
114
+ }
115
+ .eael-event-calendar-wrapper .eaelec-modal-close > span {
116
+ font-size: 20px;
117
+ }
118
+ .eael-event-calendar-wrapper .eaelec-modal-close:hover,
119
+ .eael-event-calendar-wrapper .eaelec-modal-close:focus {
120
+ color: #fff;
121
+ text-decoration: none;
122
+ cursor: pointer;
123
+ }
124
+ .eael-event-calendar-wrapper .eaelec-modal-body {
125
+ padding: 0 10px 0 35px;
126
+ margin: 10px 0;
127
+ color: #555555;
128
+ height: 300px;
129
+ overflow-y: auto;
130
+ word-break: break-all;
131
+ }
132
+ .eael-event-calendar-wrapper .eaelec-modal-body::-webkit-scrollbar {
133
+ width: 6px;
134
+ }
135
+ .eael-event-calendar-wrapper .eaelec-modal-body::-webkit-scrollbar-thumb {
136
+ background: #aaa;
137
+ border-radius: 10px;
138
+ }
139
+ .eael-event-calendar-wrapper .eaelec-modal-footer {
140
+ padding: 0px 10px 0 35px;
141
+ color: white;
142
+ border: 0px solid #ff0000;
143
+ }
144
+ .eael-event-calendar-wrapper .eaelec-event-date-start,
145
+ .eael-event-calendar-wrapper .eaelec-event-date-end {
146
+ font-size: 15px;
147
+ }
148
+ @media (max-width: 575px) {
149
+ .eael-event-calendar-wrapper .fc-toolbar {
150
+ margin: 0 !important;
151
+ padding: 0 !important;
152
+ }
153
+ .eael-event-calendar-wrapper .fc-toolbar .fc-center {
154
+ width: 100% !important;
155
+ margin: 0 !important;
156
+ padding: 0 !important;
157
+ }
158
+ .eael-event-calendar-wrapper .fc-toolbar h2 {
159
+ font-size: 16px !important;
160
+ width: 100% !important;
161
+ text-align: center !important;
162
+ padding: 5px !important;
163
+ }
164
+ .eael-event-calendar-wrapper .fc-ltr .fc-axis {
165
+ font-size: 12px !important;
166
+ }
167
+ .eael-event-calendar-wrapper .fc-row table thead:first-child tr:first-child th {
168
+ font-weight: normal !important;
169
+ font-size: 12px !important;
170
+ padding: 5px !important;
171
+ }
172
+ }
173
+ .eael-event-calendar-wrapper .fc-toolbar.fc-header-toolbar .fc-center h2 {
174
+ font-size: 22px;
175
+ }
176
+ .eael-event-calendar-wrapper .fc-toolbar.fc-header-toolbar .fc-left .fc-button .fc-icon {
177
+ font-size: 13px;
178
+ }
179
+
180
+ .fc-toolbar.fc-header-toolbar .fc-button-group button:not(:first-child) {
181
+ margin-left: 5px;
182
+ }
183
+ .fc-toolbar.fc-header-toolbar button.fc-timeGridWeek-button,
184
+ .fc-toolbar.fc-header-toolbar button.fc-timeGridDay-button,
185
+ .fc-toolbar.fc-header-toolbar button.fc-listWeek-button,
186
+ .fc-toolbar.fc-header-toolbar button.fc-dayGridMonth-button {
187
+ position: relative;
188
+ }
189
+ .fc-toolbar.fc-header-toolbar button.fc-timeGridWeek-button:before,
190
+ .fc-toolbar.fc-header-toolbar button.fc-timeGridDay-button:before,
191
+ .fc-toolbar.fc-header-toolbar button.fc-listWeek-button:before,
192
+ .fc-toolbar.fc-header-toolbar button.fc-dayGridMonth-button:before {
193
+ font-family: "Font Awesome 5 Free";
194
+ font-weight: 900;
195
+ font-size: 13px;
196
+ display: inline-block;
197
+ padding-right: 5px;
198
+ padding-left: 0;
199
+ -webkit-font-smoothing: antialiased;
200
+ }
201
+ .fc-toolbar.fc-header-toolbar button.fc-timeGridWeek-button:before {
202
+ content: "\f03a";
203
+ left: 8px;
204
+ }
205
+ .fc-toolbar.fc-header-toolbar button.fc-timeGridDay-button:before {
206
+ content: "\f0c9";
207
+ left: 21px;
208
+ }
209
+ .fc-toolbar.fc-header-toolbar button.fc-dayGridMonth-button:before {
210
+ content: "\f00a";
211
+ }
212
+ .fc-toolbar.fc-header-toolbar button.fc-listWeek-button:before {
213
+ content: "\f00b";
214
+ }
215
+ .fc-toolbar.fc-header-toolbar button.fc-button.fc-button-primary {
216
+ box-shadow: none;
217
+ height: auto;
218
+ width: auto;
219
+ float: none;
220
+ font-size: 13px;
221
+ font-weight: 400;
222
+ color: #5e5e5e;
223
+ border-radius: 3px;
224
+ text-transform: capitalize;
225
+ background: #f7f7fb;
226
+ text-shadow: none;
227
+ line-height: 19px;
228
+ padding: 8px 12px;
229
+ border: none;
230
+ }
231
+ .fc-toolbar.fc-header-toolbar button.fc-button.fc-button-primary.fc-state-active, .fc-toolbar.fc-header-toolbar button.fc-button.fc-button-primary:hover, .fc-toolbar.fc-header-toolbar button.fc-button.fc-button-primary:visited, .fc-toolbar.fc-header-toolbar button.fc-button.fc-button-primary:focus {
232
+ background: #5725ff;
233
+ color: #fff;
234
+ box-shadow: none;
235
+ }
236
+ .fc-toolbar.fc-header-toolbar button.fc-button.fc-button-primary.fc-button-active {
237
+ background: #5725ff;
238
+ color: #fff;
239
+ }
240
+
241
+ th.fc-widget-header > span {
242
+ padding: 14px;
243
+ display: block;
244
+ font-size: 16px;
245
+ color: #424344;
246
+ }
247
+
248
+ span.fc-day-number {
249
+ padding: 17px;
250
+ display: block;
251
+ }
252
+
253
+ .fc-basic-view .fc-day-number,
254
+ .fc-basic-view .fc-week-number {
255
+ padding: 12px 2px 2px 2px;
256
+ display: block;
257
+ border-bottom: 0px solid;
258
+ }
259
+
260
+ .eael-event-calendar-wrapper .fc-view .fc-body thead:first-child tr:first-child td {
261
+ border-bottom: 3px solid transparent;
262
+ }
263
+
264
+ .eael-event-calendar-wrapper .fc-view table thead:first-child tr:first-child td {
265
+ border-top: 1px solid #dfdfe9;
266
+ }
267
+
268
+ .fc-unthemed .fc-timeGridDay-view .fc-event,
269
+ .fc-unthemed .fc-timeGridWeek-view .fc-event {
270
+ border-left: 1px solid;
271
+ border-color: #4d4d4d !important;
272
+ }
273
+ .fc-unthemed .fc-timeGridDay-view .fc-event .fc-time,
274
+ .fc-unthemed .fc-timeGridWeek-view .fc-event .fc-time {
275
+ padding-left: 3px;
276
+ }
277
+ .fc-unthemed .fc-timeGridDay-view .fc-bg table tbody tr > td,
278
+ .fc-unthemed .fc-timeGridWeek-view .fc-bg table tbody tr > td {
279
+ padding-left: 1px;
280
+ }
281
+ .fc-unthemed .fc-timeGridDay-view .fc-time-grid .fc-event .fc-content,
282
+ .fc-unthemed .fc-timeGridWeek-view .fc-time-grid .fc-event .fc-content {
283
+ -webkit-box-pack: end;
284
+ justify-content: end;
285
+ }
286
+ .fc-unthemed .fc-timeGridWeek-view .fc-time-grid .fc-event .fc-content {
287
+ display: inherit;
288
+ }
289
+ .fc-unthemed .fc-listWeek-view .fc-list-table tr.fc-list-item {
290
+ cursor: pointer;
291
+ }
292
+ .fc-unthemed .fc-listWeek-view .fc-list-table tr td {
293
+ padding-bottom: 10px;
294
+ padding-top: 10px;
295
+ }
296
+ .fc-unthemed .fc-dayGridMonth-view .fc-day-grid-event .fc-time {
297
+ font-weight: 400;
298
+ }
299
+ .fc-unthemed .fc-content,
300
+ .fc-unthemed .fc-divider,
301
+ .fc-unthemed .fc-list-heading td,
302
+ .fc-unthemed .fc-list-view,
303
+ .fc-unthemed .fc-popover,
304
+ .fc-unthemed .fc-row,
305
+ .fc-unthemed tbody,
306
+ .fc-unthemed td,
307
+ .fc-unthemed th,
308
+ .fc-unthemed thead {
309
+ border-color: #dfdfe9;
310
+ }
311
+ .fc-unthemed a.fc-day-grid-event,
312
+ .fc-unthemed .fc-event {
313
+ color: #707070;
314
+ font-size: 14px;
315
+ background: #fff;
316
+ border-radius: 5px;
317
+ font-weight: 400;
318
+ margin: 1px;
319
+ border: none;
320
+ }
321
+ .fc-unthemed a.fc-day-grid-event .fc-day-grid-event .fc-time,
322
+ .fc-unthemed .fc-event .fc-day-grid-event .fc-time {
323
+ font-weight: normal;
324
+ }
325
+ .fc-unthemed .fc-time-grid .fc-event {
326
+ min-height: 20px;
327
+ }
328
+ .fc-unthemed .fc-time-grid .fc-event .fc-content {
329
+ display: -webkit-box;
330
+ display: flex;
331
+ -webkit-box-align: center;
332
+ align-items: center;
333
+ -webkit-box-pack: center;
334
+ justify-content: center;
335
+ height: 100%;
336
+ width: 100%;
337
+ }
338
+ .fc-unthemed .fc-time-grid .fc-event .fc-content .fc-title {
339
+ white-space: nowrap;
340
+ overflow: hidden;
341
+ text-overflow: ellipsis;
342
+ }
343
+ .fc-unthemed .fc-event:hover {
344
+ color: #707070;
345
+ }
346
+
347
+ .eaelec-modal.eael-zoom-in {
348
+ opacity: 0;
349
+ -webkit-transition: all 0.3s ease-out;
350
+ transition: all 0.3s ease-out;
351
+ }
352
+ .eaelec-modal.eael-zoom-in .eaelec-modal-content {
353
+ opacity: 0;
354
+ -webkit-transition: all 0.3s ease-in-out;
355
+ transition: all 0.3s ease-in-out;
356
+ -webkit-transform: scale(0.5);
357
+ transform: scale(0.5);
358
+ }
359
+ .eaelec-modal.eael-zoom-in.eael-ec-popup-ready .eael-ec-modal-bg {
360
+ opacity: .7;
361
+ }
362
+ .eaelec-modal.eael-zoom-in.eael-ec-popup-ready .eaelec-modal-content {
363
+ opacity: 1;
364
+ -webkit-transform: scale(0.9);
365
+ transform: scale(0.9);
366
+ }
367
+ .eaelec-modal.eael-zoom-in.eael-ec-modal-removing .eaelec-modal-content {
368
+ -webkit-transform: scale(0.5);
369
+ transform: scale(0.5);
370
+ opacity: 0;
371
+ }
372
+ .eaelec-modal.eael-zoom-in.eael-ec-modal-removing .eael-ec-modal-bg {
373
+ opacity: 0;
374
+ }
375
+
376
+ @media (min-width: 768px) and (max-width: 1024px) {
377
+ .eael-event-calendar-wrapper .fc-toolbar.fc-header-toolbar {
378
+ margin-bottom: 12px;
379
+ }
380
+ .eael-event-calendar-wrapper .fc-toolbar.fc-header-toolbar .fc-center h2 {
381
+ font-size: 22px;
382
+ }
383
+ .eael-event-calendar-wrapper .fc-right .fc-button-group .fc-button.fc-button-primary:before {
384
+ font-size: 15px;
385
+ }
386
+ .eael-event-calendar-wrapper .fc-timeGridWeek-view a .fc-content {
387
+ display: inherit !important;
388
+ }
389
+ .eael-event-calendar-wrapper .fc-day-header.fc-widget-header span {
390
+ font-size: 15px;
391
+ }
392
+ .eael-event-calendar-wrapper .fc-toolbar.fc-header-toolbar .fc-button-group button:not(:first-child) {
393
+ margin-left: 5px;
394
+ }
395
+ .eael-event-calendar-wrapper .eaelec-modal-body {
396
+ height: 200px;
397
+ }
398
+ }
399
+ @media only screen and (max-width: 767px) {
400
+ .fc-right, .fc-left {
401
+ width: 100%;
402
+ text-align: center;
403
+ }
404
+
405
+ .fc-left {
406
+ text-align: center;
407
+ }
408
+
409
+ .fc-right {
410
+ margin-bottom: 10px;
411
+ }
412
+ .fc-right .fc-button-group .fc-button.fc-button-primary {
413
+ font-size: 11px;
414
+ }
415
+ .fc-right .fc-button-group .fc-button.fc-button-primary:before {
416
+ font-size: 11px;
417
+ padding-left: 0;
418
+ }
419
+
420
+ .fc-center {
421
+ text-align: center;
422
+ }
423
+
424
+ .fc-toolbar.fc-header-toolbar {
425
+ display: inline-block;
426
+ width: 100%;
427
+ }
428
+ .fc-toolbar.fc-header-toolbar .fc-button-group button.fc-button.fc-button-primary {
429
+ margin-left: 5px;
430
+ font-size: 12px;
431
+ }
432
+
433
+ th.fc-widget-header > span {
434
+ padding: 0;
435
+ font-size: 14px;
436
+ }
437
+
438
+ .fc-basic-view .fc-day-number, .fc-basic-view .fc-week-number {
439
+ padding: 0;
440
+ margin: 0;
441
+ font-size: 10px;
442
+ }
443
+
444
+ .fc-basic-view .fc-body .fc-row {
445
+ min-height: 2em;
446
+ }
447
+
448
+ .eael-event-calendar-wrapper .eaelec-modal-body {
449
+ height: 100px;
450
+ }
451
+ }
assets/front-end/css/event-calendar/index.min.css ADDED
@@ -0,0 +1 @@
 
1
+ .eael-event-calendar-wrapper .fc-row table{margin:0!important}.eael-event-calendar-wrapper .fc table{margin:auto}.eael-event-calendar-wrapper .fc-view table thead:first-child tr:first-child td{border-top:1px solid #ddd!important;border-bottom:none!important}.eael-event-calendar-wrapper .fc-day-grid-event{margin-top:2px;padding:8px;font-size:12px;border-left-width:5px}.eael-event-calendar-wrapper .fc-day.fc-today{background:0 0}.eael-event-calendar-wrapper .fc-day-top.fc-today .fc-day-number{font-weight:700}.eael-event-calendar-wrapper .fc-row table thead:first-child tr:first-child th{font-size:14px}.eael-event-calendar-wrapper .fc-day-number{font-size:14px;float:center!important}.eael-event-calendar-wrapper .eaelec-modal{position:fixed;left:0;top:0;width:100%;height:100%;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;z-index:-1}.eael-event-calendar-wrapper .eaelec-modal .eael-ec-modal-bg{position:absolute;left:0;top:0;height:100%;width:100%;background:#000;opacity:0;-webkit-transition:all .3s ease-out;transition:all .3s ease-out}.eael-event-calendar-wrapper .eaelec-modal.eael-ec-popup-ready{z-index:99999;opacity:1}.eael-event-calendar-wrapper .eaelec-modal-content{position:relative;margin:auto;border:1px solid #888;max-width:900px;box-shadow:0 4px 8px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);background-color:#fefefe;padding:20px 0;width:100%;border-radius:10px}.eael-event-calendar-wrapper .eaelec-modal-header{padding:0 30px;color:#fff;border-color:#090;overflow:auto;margin-top:8px}.eael-event-calendar-wrapper .eaelec-modal-header h2{color:#242424;margin:0;padding:0}.eael-event-calendar-wrapper .eaelec-modal-header .eaelec-event-popup-date{color:#555;padding-top:2px;display:inline-block}.eael-event-calendar-wrapper .eaelec-modal-header .eaelec-event-popup-date i{color:#5725ff}.eael-event-calendar-wrapper .eaelec-modal-close{position:absolute;right:-15px;top:-18px;font-size:24px;z-index:9999;cursor:pointer;box-sizing:content-box;overflow:visible;border:2px solid #fff;background:#fff;text-align:center;box-shadow:2px 0 12px 3px rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);color:#000!important;height:40px;width:40px;text-align:center;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;border-radius:50%}.eael-event-calendar-wrapper .eaelec-modal-close>span{font-size:20px}.eael-event-calendar-wrapper .eaelec-modal-close:focus,.eael-event-calendar-wrapper .eaelec-modal-close:hover{color:#fff;text-decoration:none;cursor:pointer}.eael-event-calendar-wrapper .eaelec-modal-body{padding:0 10px 0 35px;margin:10px 0;color:#555;height:300px;overflow-y:auto;word-break:break-all}.eael-event-calendar-wrapper .eaelec-modal-body::-webkit-scrollbar{width:6px}.eael-event-calendar-wrapper .eaelec-modal-body::-webkit-scrollbar-thumb{background:#aaa;border-radius:10px}.eael-event-calendar-wrapper .eaelec-modal-footer{padding:0 10px 0 35px;color:#fff;border:0 solid red}.eael-event-calendar-wrapper .eaelec-event-date-end,.eael-event-calendar-wrapper .eaelec-event-date-start{font-size:15px}@media (max-width:575px){.eael-event-calendar-wrapper .fc-toolbar{margin:0!important;padding:0!important}.eael-event-calendar-wrapper .fc-toolbar .fc-center{width:100%!important;margin:0!important;padding:0!important}.eael-event-calendar-wrapper .fc-toolbar h2{font-size:16px!important;width:100%!important;text-align:center!important;padding:5px!important}.eael-event-calendar-wrapper .fc-ltr .fc-axis{font-size:12px!important}.eael-event-calendar-wrapper .fc-row table thead:first-child tr:first-child th{font-weight:400!important;font-size:12px!important;padding:5px!important}}.eael-event-calendar-wrapper .fc-toolbar.fc-header-toolbar .fc-center h2{font-size:22px}.eael-event-calendar-wrapper .fc-toolbar.fc-header-toolbar .fc-left .fc-button .fc-icon{font-size:13px}.fc-toolbar.fc-header-toolbar .fc-button-group button:not(:first-child){margin-left:5px}.fc-toolbar.fc-header-toolbar button.fc-dayGridMonth-button,.fc-toolbar.fc-header-toolbar button.fc-listWeek-button,.fc-toolbar.fc-header-toolbar button.fc-timeGridDay-button,.fc-toolbar.fc-header-toolbar button.fc-timeGridWeek-button{position:relative}.fc-toolbar.fc-header-toolbar button.fc-dayGridMonth-button:before,.fc-toolbar.fc-header-toolbar button.fc-listWeek-button:before,.fc-toolbar.fc-header-toolbar button.fc-timeGridDay-button:before,.fc-toolbar.fc-header-toolbar button.fc-timeGridWeek-button:before{font-family:"Font Awesome 5 Free";font-weight:900;font-size:13px;display:inline-block;padding-right:5px;padding-left:0;-webkit-font-smoothing:antialiased}.fc-toolbar.fc-header-toolbar button.fc-timeGridWeek-button:before{content:"\f03a";left:8px}.fc-toolbar.fc-header-toolbar button.fc-timeGridDay-button:before{content:"\f0c9";left:21px}.fc-toolbar.fc-header-toolbar button.fc-dayGridMonth-button:before{content:"\f00a"}.fc-toolbar.fc-header-toolbar button.fc-listWeek-button:before{content:"\f00b"}.fc-toolbar.fc-header-toolbar button.fc-button.fc-button-primary{box-shadow:none;height:auto;width:auto;float:none;font-size:13px;font-weight:400;color:#5e5e5e;border-radius:3px;text-transform:capitalize;background:#f7f7fb;text-shadow:none;line-height:19px;padding:8px 12px;border:none}.fc-toolbar.fc-header-toolbar button.fc-button.fc-button-primary.fc-state-active,.fc-toolbar.fc-header-toolbar button.fc-button.fc-button-primary:focus,.fc-toolbar.fc-header-toolbar button.fc-button.fc-button-primary:hover,.fc-toolbar.fc-header-toolbar button.fc-button.fc-button-primary:visited{background:#5725ff;color:#fff;box-shadow:none}.fc-toolbar.fc-header-toolbar button.fc-button.fc-button-primary.fc-button-active{background:#5725ff;color:#fff}th.fc-widget-header>span{padding:14px;display:block;font-size:16px;color:#424344}span.fc-day-number{padding:17px;display:block}.fc-basic-view .fc-day-number,.fc-basic-view .fc-week-number{padding:12px 2px 2px 2px;display:block;border-bottom:0 solid}.eael-event-calendar-wrapper .fc-view .fc-body thead:first-child tr:first-child td{border-bottom:3px solid transparent}.eael-event-calendar-wrapper .fc-view table thead:first-child tr:first-child td{border-top:1px solid #dfdfe9}.fc-unthemed .fc-timeGridDay-view .fc-event,.fc-unthemed .fc-timeGridWeek-view .fc-event{border-left:1px solid;border-color:#4d4d4d!important}.fc-unthemed .fc-timeGridDay-view .fc-event .fc-time,.fc-unthemed .fc-timeGridWeek-view .fc-event .fc-time{padding-left:3px}.fc-unthemed .fc-timeGridDay-view .fc-bg table tbody tr>td,.fc-unthemed .fc-timeGridWeek-view .fc-bg table tbody tr>td{padding-left:1px}.fc-unthemed .fc-timeGridDay-view .fc-time-grid .fc-event .fc-content,.fc-unthemed .fc-timeGridWeek-view .fc-time-grid .fc-event .fc-content{-webkit-box-pack:end;justify-content:end}.fc-unthemed .fc-timeGridWeek-view .fc-time-grid .fc-event .fc-content{display:inherit}.fc-unthemed .fc-listWeek-view .fc-list-table tr.fc-list-item{cursor:pointer}.fc-unthemed .fc-listWeek-view .fc-list-table tr td{padding-bottom:10px;padding-top:10px}.fc-unthemed .fc-dayGridMonth-view .fc-day-grid-event .fc-time{font-weight:400}.fc-unthemed .fc-content,.fc-unthemed .fc-divider,.fc-unthemed .fc-list-heading td,.fc-unthemed .fc-list-view,.fc-unthemed .fc-popover,.fc-unthemed .fc-row,.fc-unthemed tbody,.fc-unthemed td,.fc-unthemed th,.fc-unthemed thead{border-color:#dfdfe9}.fc-unthemed .fc-event,.fc-unthemed a.fc-day-grid-event{color:#707070;font-size:14px;background:#fff;border-radius:5px;font-weight:400;margin:1px;border:none}.fc-unthemed .fc-event .fc-day-grid-event .fc-time,.fc-unthemed a.fc-day-grid-event .fc-day-grid-event .fc-time{font-weight:400}.fc-unthemed .fc-time-grid .fc-event{min-height:20px}.fc-unthemed .fc-time-grid .fc-event .fc-content{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;height:100%;width:100%}.fc-unthemed .fc-time-grid .fc-event .fc-content .fc-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fc-unthemed .fc-event:hover{color:#707070}.eaelec-modal.eael-zoom-in{opacity:0;-webkit-transition:all .3s ease-out;transition:all .3s ease-out}.eaelec-modal.eael-zoom-in .eaelec-modal-content{opacity:0;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;-webkit-transform:scale(.5);transform:scale(.5)}.eaelec-modal.eael-zoom-in.eael-ec-popup-ready .eael-ec-modal-bg{opacity:.7}.eaelec-modal.eael-zoom-in.eael-ec-popup-ready .eaelec-modal-content{opacity:1;-webkit-transform:scale(.9);transform:scale(.9)}.eaelec-modal.eael-zoom-in.eael-ec-modal-removing .eaelec-modal-content{-webkit-transform:scale(.5);transform:scale(.5);opacity:0}.eaelec-modal.eael-zoom-in.eael-ec-modal-removing .eael-ec-modal-bg{opacity:0}@media (min-width:768px) and (max-width:1024px){.eael-event-calendar-wrapper .fc-toolbar.fc-header-toolbar{margin-bottom:12px}.eael-event-calendar-wrapper .fc-toolbar.fc-header-toolbar .fc-center h2{font-size:22px}.eael-event-calendar-wrapper .fc-right .fc-button-group .fc-button.fc-button-primary:before{font-size:15px}.eael-event-calendar-wrapper .fc-timeGridWeek-view a .fc-content{display:inherit!important}.eael-event-calendar-wrapper .fc-day-header.fc-widget-header span{font-size:15px}.eael-event-calendar-wrapper .fc-toolbar.fc-header-toolbar .fc-button-group button:not(:first-child){margin-left:5px}.eael-event-calendar-wrapper .eaelec-modal-body{height:200px}}@media only screen and (max-width:767px){.fc-left,.fc-right{width:100%;text-align:center}.fc-left{text-align:center}.fc-right{margin-bottom:10px}.fc-right .fc-button-group .fc-button.fc-button-primary{font-size:11px}.fc-right .fc-button-group .fc-button.fc-button-primary:before{font-size:11px;padding-left:0}.fc-center{text-align:center}.fc-toolbar.fc-header-toolbar{display:inline-block;width:100%}.fc-toolbar.fc-header-toolbar .fc-button-group button.fc-button.fc-button-primary{margin-left:5px;font-size:12px}th.fc-widget-header>span{padding:0;font-size:14px}.fc-basic-view .fc-day-number,.fc-basic-view .fc-week-number{padding:0;margin:0;font-size:10px}.fc-basic-view .fc-body .fc-row{min-height:2em}.eael-event-calendar-wrapper .eaelec-modal-body{height:100px}}
assets/front-end/css/feature-list/index.css CHANGED
@@ -110,7 +110,7 @@
110
  position: absolute;
111
  left: 50%;
112
  -webkit-transform: translateX(-50%);
113
- transform: translateX(-50%);
114
  }
115
  .elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-img {
116
  font-size: 8px;
@@ -149,11 +149,11 @@
149
  }
150
  .elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-icon-box .eael-feature-list-icon i {
151
  -webkit-transform: rotate(-45deg);
152
- transform: rotate(-45deg);
153
  }
154
  .elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-icon-box .eael-feature-list-icon img {
155
  -webkit-transform: rotate(-45deg);
156
- transform: rotate(-45deg);
157
  }
158
  .elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-content-box .eael-feature-list-title {
159
  margin-top: 15px;
@@ -234,13 +234,13 @@
234
  text-align: left;
235
  -webkit-box-orient: horizontal;
236
  -webkit-box-direction: normal;
237
- flex-direction: row;
238
  }
239
  .elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-item {
240
  text-align: right;
241
  -webkit-box-orient: horizontal;
242
  -webkit-box-direction: reverse;
243
- flex-direction: row-reverse;
244
  }
245
  }
246
  @media (max-width: 1024px) {
@@ -252,13 +252,13 @@
252
  text-align: left;
253
  -webkit-box-orient: horizontal;
254
  -webkit-box-direction: normal;
255
- flex-direction: row;
256
  }
257
  .elementor-widget-eael-feature-list.-tablet-icon-position-right .eael-feature-list-item {
258
  text-align: right;
259
  -webkit-box-orient: horizontal;
260
  -webkit-box-direction: reverse;
261
- flex-direction: row-reverse;
262
  }
263
  }
264
  @media (min-width: 768px) and (max-width: 1024px) {
@@ -380,13 +380,13 @@
380
  text-align: left;
381
  -webkit-box-orient: horizontal;
382
  -webkit-box-direction: normal;
383
- flex-direction: row;
384
  }
385
  .elementor-widget-eael-feature-list.-mobile-icon-position-right .eael-feature-list-item {
386
  text-align: right;
387
  -webkit-box-orient: horizontal;
388
  -webkit-box-direction: reverse;
389
- flex-direction: row-reverse;
390
  }
391
  .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-content-box {
392
  margin-right: 0 !important;
110
  position: absolute;
111
  left: 50%;
112
  -webkit-transform: translateX(-50%);
113
+ transform: translateX(-50%);
114
  }
115
  .elementor-widget-eael-feature-list .eael-feature-list-items .eael-feature-list-item .eael-feature-list-icon-box .eael-feature-list-img {
116
  font-size: 8px;
149
  }
150
  .elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-icon-box .eael-feature-list-icon i {
151
  -webkit-transform: rotate(-45deg);
152
+ transform: rotate(-45deg);
153
  }
154
  .elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-icon-box .eael-feature-list-icon img {
155
  -webkit-transform: rotate(-45deg);
156
+ transform: rotate(-45deg);
157
  }
158
  .elementor-widget-eael-feature-list .eael-feature-list-items.rhombus .eael-feature-list-content-box .eael-feature-list-title {
159
  margin-top: 15px;
234
  text-align: left;
235
  -webkit-box-orient: horizontal;
236
  -webkit-box-direction: normal;
237
+ flex-direction: row;
238
  }
239
  .elementor-widget-eael-feature-list.-icon-position-right .eael-feature-list-item {
240
  text-align: right;
241
  -webkit-box-orient: horizontal;
242
  -webkit-box-direction: reverse;
243
+ flex-direction: row-reverse;
244
  }
245
  }
246
  @media (max-width: 1024px) {
252
  text-align: left;
253
  -webkit-box-orient: horizontal;
254
  -webkit-box-direction: normal;
255
+ flex-direction: row;
256
  }
257
  .elementor-widget-eael-feature-list.-tablet-icon-position-right .eael-feature-list-item {
258
  text-align: right;
259
  -webkit-box-orient: horizontal;
260
  -webkit-box-direction: reverse;
261
+ flex-direction: row-reverse;
262
  }
263
  }
264
  @media (min-width: 768px) and (max-width: 1024px) {
380
  text-align: left;
381
  -webkit-box-orient: horizontal;
382
  -webkit-box-direction: normal;
383
+ flex-direction: row;
384
  }
385
  .elementor-widget-eael-feature-list.-mobile-icon-position-right .eael-feature-list-item {
386
  text-align: right;
387
  -webkit-box-orient: horizontal;
388
  -webkit-box-direction: reverse;
389
+ flex-direction: row-reverse;
390
  }
391
  .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-left.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-right.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-left.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-right.-mobile-icon-position-left .eael-feature-list-content-box, .elementor-widget-eael-feature-list.-icon-position-top.-tablet-icon-position-top.-mobile-icon-position-left .eael-feature-list-content-box {
392
  margin-right: 0 !important;
assets/front-end/css/fluentform/index.css CHANGED
@@ -56,3 +56,26 @@
56
  .eael-fluentform-section-break-content-right .ff-el-group.ff-el-section-break {
57
  text-align: right;
58
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
56
  .eael-fluentform-section-break-content-right .ff-el-group.ff-el-section-break {
57
  text-align: right;
58
  }
59
+
60
+ .ff-step-header .ff-el-progress-status,
61
+ .ff-el-progress {
62
+ display: none;
63
+ }
64
+
65
+ .eael-ff-step-header-yes .ff-step-header .ff-el-progress-status {
66
+ display: block;
67
+ }
68
+
69
+ .eael-ff-step-progressbar-yes .ff-el-progress {
70
+ display: block;
71
+ }
72
+
73
+ .ff-el-progress-bar {
74
+ display: -webkit-box;
75
+ display: flex;
76
+ -webkit-box-align: center;
77
+ align-items: center;
78
+ -webkit-box-pack: end;
79
+ justify-content: flex-end;
80
+ height: 100%;
81
+ }
assets/front-end/css/fluentform/index.min.css CHANGED
@@ -1 +1 @@
1
- .eael-fluent-form-wrapper label.ff-el-form-check-label{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.eael-fluent-form-wrapper label.ff-el-form-check-label input{margin-right:5px}.eael-fluentform-form-button-full-width .ff-btn-submit{width:100%;display:block}.eael-contact-form.eael-fluent-form-wrapper.error-message-hide .ff-el-is-error .text-danger{display:none}.eael-fluentform-form-button-center .ff-el-group .ff-btn-submit,.eael-fluentform-form-button-center .ff-el-group.ff-text-left .ff-btn-submit,.eael-fluentform-form-button-center .ff-el-group.ff-text-right .ff-btn-submit{margin:0 auto;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.eael-fluentform-form-button-right .ff-el-group .ff-btn-submit,.eael-fluentform-form-button-right .ff-el-group.ff-text-left .ff-btn-submit,.eael-fluentform-form-button-right .ff-el-group.ff-text-right .ff-btn-submit{float:right}.eael-fluentform-form-button-left .ff-el-group .ff-btn-submit,.eael-fluentform-form-button-left .ff-el-group.ff-text-left .ff-btn-submit,.eael-fluentform-form-button-left .ff-el-group.ff-text-right .ff-btn-submit{float:left}.eael-contact-form.eael-fluent-form-wrapper.fluent-form-labels-hide label{display:none!important}.eael-fluentform-section-break-content-left .ff-el-group.ff-el-section-break{text-align:left}.eael-fluentform-section-break-content-center .ff-el-group.ff-el-section-break{text-align:center}.eael-fluentform-section-break-content-right .ff-el-group.ff-el-section-break{text-align:right}
1
+ .eael-fluent-form-wrapper label.ff-el-form-check-label{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.eael-fluent-form-wrapper label.ff-el-form-check-label input{margin-right:5px}.eael-fluentform-form-button-full-width .ff-btn-submit{width:100%;display:block}.eael-contact-form.eael-fluent-form-wrapper.error-message-hide .ff-el-is-error .text-danger{display:none}.eael-fluentform-form-button-center .ff-el-group .ff-btn-submit,.eael-fluentform-form-button-center .ff-el-group.ff-text-left .ff-btn-submit,.eael-fluentform-form-button-center .ff-el-group.ff-text-right .ff-btn-submit{margin:0 auto;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center}.eael-fluentform-form-button-right .ff-el-group .ff-btn-submit,.eael-fluentform-form-button-right .ff-el-group.ff-text-left .ff-btn-submit,.eael-fluentform-form-button-right .ff-el-group.ff-text-right .ff-btn-submit{float:right}.eael-fluentform-form-button-left .ff-el-group .ff-btn-submit,.eael-fluentform-form-button-left .ff-el-group.ff-text-left .ff-btn-submit,.eael-fluentform-form-button-left .ff-el-group.ff-text-right .ff-btn-submit{float:left}.eael-contact-form.eael-fluent-form-wrapper.fluent-form-labels-hide label{display:none!important}.eael-fluentform-section-break-content-left .ff-el-group.ff-el-section-break{text-align:left}.eael-fluentform-section-break-content-center .ff-el-group.ff-el-section-break{text-align:center}.eael-fluentform-section-break-content-right .ff-el-group.ff-el-section-break{text-align:right}.ff-el-progress,.ff-step-header .ff-el-progress-status{display:none}.eael-ff-step-header-yes .ff-step-header .ff-el-progress-status{display:block}.eael-ff-step-progressbar-yes .ff-el-progress{display:block}.ff-el-progress-bar{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:end;justify-content:flex-end;height:100%}
assets/front-end/css/magnific-popup/index.css CHANGED
@@ -442,17 +442,17 @@ button.mfp-close:hover {
442
  @media all and (max-width: 900px) {
443
  .mfp-arrow {
444
  -webkit-transform: scale(0.75);
445
- transform: scale(0.75);
446
  }
447
 
448
  .mfp-arrow-left {
449
  -webkit-transform-origin: 0;
450
- transform-origin: 0;
451
  }
452
 
453
  .mfp-arrow-right {
454
  -webkit-transform-origin: 100%;
455
- transform-origin: 100%;
456
  }
457
 
458
  .mfp-container {
442
  @media all and (max-width: 900px) {
443
  .mfp-arrow {
444
  -webkit-transform: scale(0.75);
445
+ transform: scale(0.75);
446
  }
447
 
448
  .mfp-arrow-left {
449
  -webkit-transform-origin: 0;
450
+ transform-origin: 0;
451
  }
452
 
453
  .mfp-arrow-right {
454
  -webkit-transform-origin: 100%;
455
+ transform-origin: 100%;
456
  }
457
 
458
  .mfp-container {
assets/front-end/css/post-timeline/index.css CHANGED
@@ -120,7 +120,7 @@
120
  height: 100%;
121
  overflow: hidden;
122
  position: relative;
123
- opacity: .6;
124
  -webkit-transition: all .3s;
125
  transition: all .3s;
126
  }
120
  height: 100%;
121
  overflow: hidden;
122
  position: relative;
123
+ opacity: 1;
124
  -webkit-transition: all .3s;
125
  transition: all .3s;
126
  }
assets/front-end/css/post-timeline/index.min.css CHANGED
@@ -1 +1 @@
1
- .eael-post-timeline{margin-bottom:0;min-height:100%;overflow:hidden;position:relative}.eael-timeline-column{width:50%;margin-left:0;float:left;margin-top:0!important}.eael-timeline-post{position:relative}.eael-timeline-post:after{background-color:rgba(83,85,86,.2);content:"";width:2px;height:245px;position:absolute;right:0;top:70px}.eael-timeline-post:nth-child(2n):after{display:none}.eael-timeline-bullet{background-color:#9fa9af;border:5px solid #fff;border-radius:50%;box-shadow:0 1px 0 1px rgba(0,0,0,.1);content:"";height:20px;position:absolute;right:-9px;top:60px;width:20px;z-index:3;cursor:pointer}.eael-timeline-post:nth-child(2n) .eael-timeline-bullet{background-color:#9fa9af;border:5px solid #fff;border-radius:50%;bottom:36px;content:"";height:20px;left:-11px;position:absolute;top:300px;width:20px;z-index:3}.eael-timeline-post-inner{background:linear-gradient(45deg,#3f3f46 0,#05abe0 100%) repeat scroll 0 0 transparent;border:8px solid #e5eaed;box-shadow:0 1px 3px 0 rgba(0,0,0,.15);float:right;margin:30px 40px 30px auto;position:relative;height:320px;width:calc(100% - 40px)}.eael-timeline-post:nth-child(even) .eael-timeline-post-inner{float:left;margin-left:40px}.eael-timeline-post-inner:after{border-color:transparent transparent transparent #e5eaed;border-style:solid;border-width:15px;content:"";height:0;position:absolute;right:-36px;top:17px;width:0}.eael-timeline-post:nth-child(2n) .eael-timeline-post-inner:after{border-color:transparent #e5eaed transparent transparent;border-style:solid;border-width:15px;content:"";height:0;left:-36px;position:absolute;top:257px;width:0}.eael-timeline-post:nth-child(2n) .eael-timeline-post-inner::after{border-left-color:transparent!important}.eael-timeline-post p{margin:1.6rem 0 0 0;font-size:.9em;line-height:1.6em}.eael-timeline-post-image{background-size:cover;background-position:center center;background-repeat:no-repeat;display:block;height:100%;overflow:hidden;position:relative;opacity:.6;-webkit-transition:all .3s;transition:all .3s}.eael-timeline-post-title{bottom:40px;position:absolute;width:100%}.eael-timeline-post-title h2{color:#fff;font-size:20px;font-weight:700;letter-spacing:1px;line-height:24px;padding:0 25px;text-align:left;text-transform:uppercase}.eael-timeline-post-excerpt{opacity:0;position:absolute;top:0;left:0;-webkit-transition:all .3s;transition:all .3s}.eael-timeline-post-excerpt p{color:#fff;font-size:14px;padding:25px}.eael-timeline-post-inner:hover .eael-timeline-post-excerpt{opacity:1;top:10px}.eael-timeline-post-inner:hover .eael-timeline-post-image{opacity:.3}.eael-timeline-post time{opacity:0;background-color:rgba(0,0,0,.7);color:#fff;font-size:10px;border-radius:20px;position:absolute;right:-97px;width:100px;height:30px;line-height:30px;text-align:center;top:50px;z-index:99;-webkit-transition:all .5s;transition:all .5s}.eael-timeline-post:nth-child(2n) time{background-color:rgba(0,0,0,.7);border-radius:20px;color:#fff;font-size:10px;height:30px;left:-99px;line-height:30px;position:absolute;text-align:center;top:290px;width:100px;z-index:99}.eael-timeline-post time:before{border-bottom:5px solid rgba(0,0,0,.7);border-left:5px solid transparent;border-right:5px solid transparent;content:"";height:0;left:45px;position:absolute;top:-5px;width:0}.eael-timeline-post:hover time{opacity:1}.eael-timeline-post::after{height:100%}.eael-post-timeline .eael-timeline-post:nth-last-child(2)::after{height:245px}.eael-post-timeline .eael-timeline-post:last-child::after{display:none}.eael-load-more-button-wrap{display:-webkit-box;display:flex}@media only screen and (max-width:1366px){.eael-timeline-post-title h2{font-size:.8em}.eael-timeline-post-excerpt p{font-size:13px}}@media only screen and (max-width:1169px){.eael-timeline-post-inner{height:320px}}@media only screen and (max-width:992px){.eael-post-timeline{margin-left:0}.eael-timeline-bullet,.eael-timeline-post-inner:after,.eael-timeline-post:after,.eael-timeline-post:before{display:none}.eael-timeline-post{display:inline-block;float:left!important;width:50%!important;margin:15px auto}.eael-timeline-post-inner{height:320px;padding-bottom:30px}.eael-timeline-post-title{bottom:50px}.eael-timeline-post-title h2{font-size:.8em;line-height:1.2em}.eael-timeline-post .eael-timeline-post-inner{margin:0 10px auto 0;width:90%}.eael-timeline-post:nth-child(2n) .eael-timeline-post-inner{margin:0 auto 0 10px;width:90%}.eael-timeline-post-excerpt{opacity:0!important}.eael-timeline-post-image{opacity:.3}.eael-timeline-post time,.eael-timeline-post:nth-child(2n) time{background-color:#fff;border-radius:0;color:#444;font-size:12px;text-transform:uppercase;left:0;opacity:1;padding-top:3px;top:275px;width:100%}time:before{display:none}}@media only screen and (max-width:767px){.eael-timeline-post{display:block;float:none!important;margin:20px auto;width:100%!important}.eael-timeline-post .eael-timeline-post-inner,.eael-timeline-post:nth-child(2n) .eael-timeline-post-inner{display:block;float:none;margin:0 auto}}@media only screen and (max-width:479px){.eael-timeline-post .eael-timeline-post-inner,.eael-timeline-post:nth-child(2n) .eael-timeline-post-inner{height:250px;margin:0 auto;width:95%}.eael-timeline-post time,.eael-timeline-post:nth-child(2n) time{top:205px}}
1
+ .eael-post-timeline{margin-bottom:0;min-height:100%;overflow:hidden;position:relative}.eael-timeline-column{width:50%;margin-left:0;float:left;margin-top:0!important}.eael-timeline-post{position:relative}.eael-timeline-post:after{background-color:rgba(83,85,86,.2);content:"";width:2px;height:245px;position:absolute;right:0;top:70px}.eael-timeline-post:nth-child(2n):after{display:none}.eael-timeline-bullet{background-color:#9fa9af;border:5px solid #fff;border-radius:50%;box-shadow:0 1px 0 1px rgba(0,0,0,.1);content:"";height:20px;position:absolute;right:-9px;top:60px;width:20px;z-index:3;cursor:pointer}.eael-timeline-post:nth-child(2n) .eael-timeline-bullet{background-color:#9fa9af;border:5px solid #fff;border-radius:50%;bottom:36px;content:"";height:20px;left:-11px;position:absolute;top:300px;width:20px;z-index:3}.eael-timeline-post-inner{background:linear-gradient(45deg,#3f3f46 0,#05abe0 100%) repeat scroll 0 0 transparent;border:8px solid #e5eaed;box-shadow:0 1px 3px 0 rgba(0,0,0,.15);float:right;margin:30px 40px 30px auto;position:relative;height:320px;width:calc(100% - 40px)}.eael-timeline-post:nth-child(even) .eael-timeline-post-inner{float:left;margin-left:40px}.eael-timeline-post-inner:after{border-color:transparent transparent transparent #e5eaed;border-style:solid;border-width:15px;content:"";height:0;position:absolute;right:-36px;top:17px;width:0}.eael-timeline-post:nth-child(2n) .eael-timeline-post-inner:after{border-color:transparent #e5eaed transparent transparent;border-style:solid;border-width:15px;content:"";height:0;left:-36px;position:absolute;top:257px;width:0}.eael-timeline-post:nth-child(2n) .eael-timeline-post-inner::after{border-left-color:transparent!important}.eael-timeline-post p{margin:1.6rem 0 0 0;font-size:.9em;line-height:1.6em}.eael-timeline-post-image{background-size:cover;background-position:center center;background-repeat:no-repeat;display:block;height:100%;overflow:hidden;position:relative;opacity:1;-webkit-transition:all .3s;transition:all .3s}.eael-timeline-post-title{bottom:40px;position:absolute;width:100%}.eael-timeline-post-title h2{color:#fff;font-size:20px;font-weight:700;letter-spacing:1px;line-height:24px;padding:0 25px;text-align:left;text-transform:uppercase}.eael-timeline-post-excerpt{opacity:0;position:absolute;top:0;left:0;-webkit-transition:all .3s;transition:all .3s}.eael-timeline-post-excerpt p{color:#fff;font-size:14px;padding:25px}.eael-timeline-post-inner:hover .eael-timeline-post-excerpt{opacity:1;top:10px}.eael-timeline-post-inner:hover .eael-timeline-post-image{opacity:.3}.eael-timeline-post time{opacity:0;background-color:rgba(0,0,0,.7);color:#fff;font-size:10px;border-radius:20px;position:absolute;right:-97px;width:100px;height:30px;line-height:30px;text-align:center;top:50px;z-index:99;-webkit-transition:all .5s;transition:all .5s}.eael-timeline-post:nth-child(2n) time{background-color:rgba(0,0,0,.7);border-radius:20px;color:#fff;font-size:10px;height:30px;left:-99px;line-height:30px;position:absolute;text-align:center;top:290px;width:100px;z-index:99}.eael-timeline-post time:before{border-bottom:5px solid rgba(0,0,0,.7);border-left:5px solid transparent;border-right:5px solid transparent;content:"";height:0;left:45px;position:absolute;top:-5px;width:0}.eael-timeline-post:hover time{opacity:1}.eael-timeline-post::after{height:100%}.eael-post-timeline .eael-timeline-post:nth-last-child(2)::after{height:245px}.eael-post-timeline .eael-timeline-post:last-child::after{display:none}.eael-load-more-button-wrap{display:-webkit-box;display:flex}@media only screen and (max-width:1366px){.eael-timeline-post-title h2{font-size:.8em}.eael-timeline-post-excerpt p{font-size:13px}}@media only screen and (max-width:1169px){.eael-timeline-post-inner{height:320px}}@media only screen and (max-width:992px){.eael-post-timeline{margin-left:0}.eael-timeline-bullet,.eael-timeline-post-inner:after,.eael-timeline-post:after,.eael-timeline-post:before{display:none}.eael-timeline-post{display:inline-block;float:left!important;width:50%!important;margin:15px auto}.eael-timeline-post-inner{height:320px;padding-bottom:30px}.eael-timeline-post-title{bottom:50px}.eael-timeline-post-title h2{font-size:.8em;line-height:1.2em}.eael-timeline-post .eael-timeline-post-inner{margin:0 10px auto 0;width:90%}.eael-timeline-post:nth-child(2n) .eael-timeline-post-inner{margin:0 auto 0 10px;width:90%}.eael-timeline-post-excerpt{opacity:0!important}.eael-timeline-post-image{opacity:.3}.eael-timeline-post time,.eael-timeline-post:nth-child(2n) time{background-color:#fff;border-radius:0;color:#444;font-size:12px;text-transform:uppercase;left:0;opacity:1;padding-top:3px;top:275px;width:100%}time:before{display:none}}@media only screen and (max-width:767px){.eael-timeline-post{display:block;float:none!important;margin:20px auto;width:100%!important}.eael-timeline-post .eael-timeline-post-inner,.eael-timeline-post:nth-child(2n) .eael-timeline-post-inner{display:block;float:none;margin:0 auto}}@media only screen and (max-width:479px){.eael-timeline-post .eael-timeline-post-inner,.eael-timeline-post:nth-child(2n) .eael-timeline-post-inner{height:250px;margin:0 auto;width:95%}.eael-timeline-post time,.eael-timeline-post:nth-child(2n) time{top:205px}}
assets/front-end/css/price-table/index.css CHANGED
@@ -509,18 +509,18 @@
509
 
510
  .eael-pricing-content-align-left .eael-pricing.style-3 .eael-pricing-item .header:after {
511
  -webkit-transform: translateX(-80%);
512
- transform: translateX(-80%);
513
  }
514
 
515
  .eael-pricing-content-align-right .eael-pricing.style-3 .eael-pricing-item .header:after {
516
  -webkit-transform: translateX(80%);
517
- transform: translateX(80%);
518
  }
519
 
520
  .eael-pricing-content-align-left .eael-pricing.style-3 .eael-pricing-item:hover .header:after,
521
  .eael-pricing-content-align-right .eael-pricing.style-3 .eael-pricing-item:hover .header:after {
522
  -webkit-transform: translateX(0%);
523
- transform: translateX(0%);
524
  }
525
 
526
  .eael-pricing-content-align-left .eael-pricing.style-1 .eael-pricing-item .header:after,
509
 
510
  .eael-pricing-content-align-left .eael-pricing.style-3 .eael-pricing-item .header:after {
511
  -webkit-transform: translateX(-80%);
512
+ transform: translateX(-80%);
513
  }
514
 
515
  .eael-pricing-content-align-right .eael-pricing.style-3 .eael-pricing-item .header:after {
516
  -webkit-transform: translateX(80%);
517
+ transform: translateX(80%);
518
  }
519
 
520
  .eael-pricing-content-align-left .eael-pricing.style-3 .eael-pricing-item:hover .header:after,
521
  .eael-pricing-content-align-right .eael-pricing.style-3 .eael-pricing-item:hover .header:after {
522
  -webkit-transform: translateX(0%);
523
+ transform: translateX(0%);
524
  }
525
 
526
  .eael-pricing-content-align-left .eael-pricing.style-1 .eael-pricing-item .header:after,
assets/front-end/css/sticky-video/index.css CHANGED
@@ -149,7 +149,7 @@
149
  top: 50%;
150
  left: 50%;
151
  -webkit-transform: translateX(-50%) translateY(-50%);
152
- transform: translateX(-50%) translateY(-50%);
153
  }
154
 
155
  .owp-play i {
149
  top: 50%;
150
  left: 50%;
151
  -webkit-transform: translateX(-50%) translateY(-50%);
152
+ transform: translateX(-50%) translateY(-50%);
153
  }
154
 
155
  .owp-play i {
assets/front-end/css/table-of-content/index.css ADDED
@@ -0,0 +1,215 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ html {
2
+ scroll-behavior: smooth;
3
+ }
4
+
5
+ .eael-toc {
6
+ z-index: 9999;
7
+ width: 300px;
8
+ }
9
+ .eael-toc .eael-toc-button {
10
+ display: none;
11
+ }
12
+ .eael-toc .eael-toc-not-found {
13
+ color: #a94442;
14
+ }
15
+ .eael-toc.eael-toc-disable {
16
+ display: none;
17
+ }
18
+ .eael-toc.eael-sticky {
19
+ position: fixed;
20
+ top: 100px;
21
+ background: none;
22
+ }
23
+ .eael-toc.collapsed {
24
+ width: unset !important;
25
+ box-shadow: none !important;
26
+ border: none !important;
27
+ }
28
+ .eael-toc.collapsed .eael-toc-header,
29
+ .eael-toc.collapsed .eael-toc-body,
30
+ .eael-toc.collapsed .eael-toc-close {
31
+ display: none;
32
+ }
33
+ .eael-toc.collapsed.eael-bottom-to-top .eael-toc-button {
34
+ -webkit-transform: rotate(-90deg);
35
+ transform: rotate(-90deg);
36
+ -webkit-transform-origin: top left;
37
+ transform-origin: top left;
38
+ margin-top: 100%;
39
+ }
40
+ .eael-toc.collapsed .eael-toc-button {
41
+ position: relative;
42
+ display: inline-block;
43
+ font-size: 80% !important;
44
+ font-weight: 400;
45
+ text-align: center;
46
+ text-decoration: none;
47
+ text-transform: none;
48
+ color: #fff;
49
+ background: #ff7d50;
50
+ padding: 10px 20px;
51
+ border-radius: 3px;
52
+ border: none;
53
+ -webkit-transform: rotate(90deg);
54
+ transform: rotate(90deg);
55
+ -webkit-transform-origin: bottom left;
56
+ transform-origin: bottom left;
57
+ cursor: pointer;
58
+ }
59
+ .eael-toc.collapsed .eael-toc-button:focus {
60
+ outline: none;
61
+ }
62
+ .eael-toc.collapsed .eael-toc-button i {
63
+ margin-right: 10px;
64
+ }
65
+ .eael-toc.eael-toc-right {
66
+ right: 0;
67
+ }
68
+ .eael-toc.eael-toc-right.collapsed {
69
+ width: inherit !important;
70
+ }
71
+ .eael-toc.eael-toc-right .eael-toc-close {
72
+ left: -11px;
73
+ }
74
+ .eael-toc.eael-toc-right.eael-bottom-to-top .eael-toc-button {
75
+ -webkit-transform: rotate(-90deg);
76
+ transform: rotate(-90deg);
77
+ -webkit-transform-origin: bottom right;
78
+ transform-origin: bottom right;
79
+ margin-top: -100%;
80
+ }
81
+ .eael-toc.eael-toc-right .eael-toc-button {
82
+ -webkit-transform: rotate(90deg);
83
+ transform: rotate(90deg);
84
+ -webkit-transform-origin: top right;
85
+ transform-origin: top right;
86
+ margin-top: 100%;
87
+ }
88
+ .eael-toc .eael-toc-header {
89
+ position: relative;
90
+ background: #ff7d50;
91
+ padding: 12px 30px;
92
+ }
93
+ .eael-toc .eael-toc-header .eael-toc-title {
94
+ font-size: 18px;
95
+ font-weight: 400;
96
+ letter-spacing: 0.1px;
97
+ color: #fff;
98
+ margin: 0;
99
+ padding: 0;
100
+ }
101
+ .eael-toc .eael-toc-header .eael-toc-title:before {
102
+ content: none;
103
+ }
104
+ .eael-toc .eael-toc-header .eael-toc-close {
105
+ position: absolute;
106
+ width: 28px;
107
+ height: 28px;
108
+ background: #fff;
109
+ box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
110
+ right: -9px;
111
+ top: -11px;
112
+ border-radius: 20px;
113
+ font-family: serif;
114
+ font-size: 20px;
115
+ font-weight: 700;
116
+ line-height: 28px;
117
+ text-align: center;
118
+ color: #ff7d50;
119
+ cursor: pointer;
120
+ padding: 0;
121
+ margin: 0;
122
+ border: 0;
123
+ }
124
+ .eael-toc .eael-toc-body {
125
+ padding: 12px 30px;
126
+ background: #fff6f3;
127
+ min-width: 20vh;
128
+ max-height: 50vh;
129
+ overflow-y: hidden;
130
+ }
131
+ .eael-toc .eael-toc-body::-webkit-scrollbar {
132
+ width: 6px;
133
+ }
134
+ .eael-toc .eael-toc-body::-webkit-scrollbar-thumb {
135
+ background: #aaa;
136
+ border-radius: 10px;
137
+ }
138
+ .eael-toc .eael-toc-body:hover {
139
+ overflow-y: auto;
140
+ }
141
+ .eael-toc .eael-toc-body ul.eael-toc-list {
142
+ margin: 0;
143
+ padding: 0;
144
+ list-style: none;
145
+ }
146
+ .eael-toc .eael-toc-body ul.eael-toc-list li ul {
147
+ margin: 0;
148
+ padding: 0;
149
+ margin-left: 20px;
150
+ list-style: none;
151
+ }
152
+ .eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-bullet li:before {
153
+ content: "";
154
+ position: relative;
155
+ display: inline-block;
156
+ width: 8px;
157
+ height: 8px;
158
+ border-radius: 50%;
159
+ background-color: #ff7d50;
160
+ margin-right: 8px;
161
+ top: -2px;
162
+ }
163
+ .eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-number {
164
+ counter-reset: counter;
165
+ }
166
+ .eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-number li {
167
+ counter-increment: counter;
168
+ }
169
+ .eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-number li:before {
170
+ content: counters(counter,".") " ";
171
+ }
172
+ .eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-number li ul {
173
+ counter-reset: counter;
174
+ }
175
+ .eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-number li ul li {
176
+ counter-increment: counter;
177
+ }
178
+ .eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-number li ul li:before {
179
+ content: counters(counter,".") " ";
180
+ }
181
+ .eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-list-arrow li.eael-highlight-active > a:before {
182
+ content: "";
183
+ position: absolute;
184
+ left: 0;
185
+ z-index: 999999;
186
+ border-bottom: 10px solid #ff7d50;
187
+ border-left: 5px solid transparent;
188
+ border-right: 5px solid transparent;
189
+ -webkit-transform: rotate(90deg);
190
+ transform: rotate(90deg);
191
+ margin-top: 10px;
192
+ }
193
+ .eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-list-bar li.eael-highlight-active > a:after {
194
+ content: "";
195
+ position: absolute;
196
+ right: 0;
197
+ height: 30px;
198
+ width: 2px;
199
+ background: #ff7d50;
200
+ z-index: 999999;
201
+ }
202
+ .eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-collapse :not(.eael-highlight-parent) ul {
203
+ display: none;
204
+ }
205
+ .eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-word-wrap li a {
206
+ display: -webkit-inline-box;
207
+ display: inline-flex;
208
+ }
209
+ .eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-word-wrap li a span {
210
+ width: 140px !important;
211
+ display: block;
212
+ white-space: nowrap;
213
+ overflow: hidden;
214
+ text-overflow: ellipsis;
215
+ }
assets/front-end/css/table-of-content/index.min.css ADDED
@@ -0,0 +1 @@
 
1
+ html{scroll-behavior:smooth}.eael-toc{z-index:9999;width:300px}.eael-toc .eael-toc-button{display:none}.eael-toc .eael-toc-not-found{color:#a94442}.eael-toc.eael-toc-disable{display:none}.eael-toc.eael-sticky{position:fixed;top:100px;background:0 0}.eael-toc.collapsed{width:unset!important;box-shadow:none!important;border:none!important}.eael-toc.collapsed .eael-toc-body,.eael-toc.collapsed .eael-toc-close,.eael-toc.collapsed .eael-toc-header{display:none}.eael-toc.collapsed.eael-bottom-to-top .eael-toc-button{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);-webkit-transform-origin:top left;transform-origin:top left;margin-top:100%}.eael-toc.collapsed .eael-toc-button{position:relative;display:inline-block;font-size:80%!important;font-weight:400;text-align:center;text-decoration:none;text-transform:none;color:#fff;background:#ff7d50;padding:10px 20px;border-radius:3px;border:none;-webkit-transform:rotate(90deg);transform:rotate(90deg);-webkit-transform-origin:bottom left;transform-origin:bottom left;cursor:pointer}.eael-toc.collapsed .eael-toc-button:focus{outline:0}.eael-toc.collapsed .eael-toc-button i{margin-right:10px}.eael-toc.eael-toc-right{right:0}.eael-toc.eael-toc-right.collapsed{width:inherit!important}.eael-toc.eael-toc-right .eael-toc-close{left:-11px}.eael-toc.eael-toc-right.eael-bottom-to-top .eael-toc-button{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);-webkit-transform-origin:bottom right;transform-origin:bottom right;margin-top:-100%}.eael-toc.eael-toc-right .eael-toc-button{-webkit-transform:rotate(90deg);transform:rotate(90deg);-webkit-transform-origin:top right;transform-origin:top right;margin-top:100%}.eael-toc .eael-toc-header{position:relative;background:#ff7d50;padding:12px 30px}.eael-toc .eael-toc-header .eael-toc-title{font-size:18px;font-weight:400;letter-spacing:.1px;color:#fff;margin:0;padding:0}.eael-toc .eael-toc-header .eael-toc-title:before{content:none}.eael-toc .eael-toc-header .eael-toc-close{position:absolute;width:28px;height:28px;background:#fff;box-shadow:0 4px 8px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);right:-9px;top:-11px;border-radius:20px;font-family:serif;font-size:20px;font-weight:700;line-height:28px;text-align:center;color:#ff7d50;cursor:pointer;padding:0;margin:0;border:0}.eael-toc .eael-toc-body{padding:12px 30px;background:#fff6f3;min-width:20vh;max-height:50vh;overflow-y:hidden}.eael-toc .eael-toc-body::-webkit-scrollbar{width:6px}.eael-toc .eael-toc-body::-webkit-scrollbar-thumb{background:#aaa;border-radius:10px}.eael-toc .eael-toc-body:hover{overflow-y:auto}.eael-toc .eael-toc-body ul.eael-toc-list{margin:0;padding:0;list-style:none}.eael-toc .eael-toc-body ul.eael-toc-list li ul{margin:0;padding:0;margin-left:20px;list-style:none}.eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-bullet li:before{content:"";position:relative;display:inline-block;width:8px;height:8px;border-radius:50%;background-color:#ff7d50;margin-right:8px;top:-2px}.eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-number{counter-reset:counter}.eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-number li{counter-increment:counter}.eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-number li:before{content:counters(counter,".") " "}.eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-number li ul{counter-reset:counter}.eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-number li ul li{counter-increment:counter}.eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-number li ul li:before{content:counters(counter,".") " "}.eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-list-arrow li.eael-highlight-active>a:before{content:"";position:absolute;left:0;z-index:999999;border-bottom:10px solid #ff7d50;border-left:5px solid transparent;border-right:5px solid transparent;-webkit-transform:rotate(90deg);transform:rotate(90deg);margin-top:10px}.eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-list-bar li.eael-highlight-active>a:after{content:"";position:absolute;right:0;height:30px;width:2px;background:#ff7d50;z-index:999999}.eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-collapse :not(.eael-highlight-parent) ul{display:none}.eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-word-wrap li a{display:-webkit-inline-box;display:inline-flex}.eael-toc .eael-toc-body ul.eael-toc-list.eael-toc-word-wrap li a span{width:140px!important;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
assets/front-end/css/vendor/event-calendar/calendar-main.css ADDED
@@ -0,0 +1,1052 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+ .fc {
3
+ direction: ltr;
4
+ text-align: left;
5
+ }
6
+
7
+ .fc-rtl {
8
+ text-align: right;
9
+ }
10
+
11
+ body .fc {
12
+ /* extra precedence to overcome jqui */
13
+ font-size: 1em;
14
+ }
15
+
16
+ /* Colors
17
+ --------------------------------------------------------------------------------------------------*/
18
+ .fc-highlight {
19
+ /* when user is selecting cells */
20
+ background: #bce8f1;
21
+ opacity: 0.3;
22
+ }
23
+
24
+ .fc-bgevent {
25
+ /* default look for background events */
26
+ background: #8fdf82;
27
+ opacity: 0.3;
28
+ }
29
+
30
+ .fc-nonbusiness {
31
+ /* default look for non-business-hours areas */
32
+ /* will inherit .fc-bgevent's styles */
33
+ background: #d7d7d7;
34
+ }
35
+
36
+ /* Popover
37
+ --------------------------------------------------------------------------------------------------*/
38
+ .fc-popover {
39
+ position: absolute;
40
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
41
+ }
42
+
43
+ .fc-popover .fc-header {
44
+ /* TODO: be more consistent with fc-head/fc-body */
45
+ display: flex;
46
+ flex-direction: row;
47
+ justify-content: space-between;
48
+ align-items: center;
49
+ padding: 2px 4px;
50
+ }
51
+
52
+ .fc-rtl .fc-popover .fc-header {
53
+ flex-direction: row-reverse;
54
+ }
55
+
56
+ .fc-popover .fc-header .fc-title {
57
+ margin: 0 2px;
58
+ }
59
+
60
+ .fc-popover .fc-header .fc-close {
61
+ cursor: pointer;
62
+ opacity: 0.65;
63
+ font-size: 1.1em;
64
+ }
65
+
66
+ /* Misc Reusable Components
67
+ --------------------------------------------------------------------------------------------------*/
68
+ .fc-divider {
69
+ border-style: solid;
70
+ border-width: 1px;
71
+ }
72
+
73
+ hr.fc-divider {
74
+ height: 0;
75
+ margin: 0;
76
+ padding: 0 0 2px;
77
+ /* height is unreliable across browsers, so use padding */
78
+ border-width: 1px 0;
79
+ }
80
+
81
+ .fc-bg,
82
+ .fc-bgevent-skeleton,
83
+ .fc-highlight-skeleton,
84
+ .fc-mirror-skeleton {
85
+ /* these element should always cling to top-left/right corners */
86
+ position: absolute;
87
+ top: 0;
88
+ left: 0;
89
+ right: 0;
90
+ }
91
+
92
+ .fc-bg {
93
+ bottom: 0;
94
+ /* strech bg to bottom edge */
95
+ }
96
+
97
+ .fc-bg table {
98
+ height: 100%;
99
+ /* strech bg to bottom edge */
100
+ }
101
+
102
+ /* Tables
103
+ --------------------------------------------------------------------------------------------------*/
104
+ .fc table {
105
+ width: 100%;
106
+ box-sizing: border-box;
107
+ /* fix scrollbar issue in firefox */
108
+ table-layout: fixed;
109
+ border-collapse: collapse;
110
+ border-spacing: 0;
111
+ font-size: 1em;
112
+ /* normalize cross-browser */
113
+ }
114
+
115
+ .fc th {
116
+ text-align: center;
117
+ }
118
+
119
+ .fc th,
120
+ .fc td {
121
+ border-style: solid;
122
+ border-width: 1px;
123
+ padding: 0;
124
+ vertical-align: top;
125
+ }
126
+
127
+ .fc td.fc-today {
128
+ border-style: double;
129
+ /* overcome neighboring borders */
130
+ }
131
+
132
+ /* Internal Nav Links
133
+ --------------------------------------------------------------------------------------------------*/
134
+ a[data-goto] {
135
+ cursor: pointer;
136
+ }
137
+
138
+ a[data-goto]:hover {
139
+ text-decoration: underline;
140
+ }
141
+
142
+ /* Fake Table Rows
143
+ --------------------------------------------------------------------------------------------------*/
144
+ .fc .fc-row {
145
+ /* extra precedence to overcome themes forcing a 1px border */
146
+ /* no visible border by default. but make available if need be (scrollbar width compensation) */
147
+ border-style: solid;
148
+ border-width: 0;
149
+ }
150
+
151
+ .fc-row table {
152
+ /* don't put left/right border on anything within a fake row.
153
+ the outer tbody will worry about this */
154
+ border-left: 0 hidden transparent;
155
+ border-right: 0 hidden transparent;
156
+ /* no bottom borders on rows */
157
+ border-bottom: 0 hidden transparent;
158
+ }
159
+
160
+ .fc-row:first-child table {
161
+ border-top: 0 hidden transparent;
162
+ /* no top border on first row */
163
+ }
164
+
165
+ /* Day Row (used within the header and the DayGrid)
166
+ --------------------------------------------------------------------------------------------------*/
167
+ .fc-row {
168
+ position: relative;
169
+ }
170
+
171
+ .fc-row .fc-bg {
172
+ z-index: 1;
173
+ }
174
+
175
+ /* highlighting cells & background event skeleton */
176
+ .fc-row .fc-bgevent-skeleton,
177
+ .fc-row .fc-highlight-skeleton {
178
+ bottom: 0;
179
+ /* stretch skeleton to bottom of row */
180
+ }
181
+
182
+ .fc-row .fc-bgevent-skeleton table,
183
+ .fc-row .fc-highlight-skeleton table {
184
+ height: 100%;
185
+ /* stretch skeleton to bottom of row */
186
+ }
187
+
188
+ .fc-row .fc-highlight-skeleton td,
189
+ .fc-row .fc-bgevent-skeleton td {
190
+ border-color: transparent;
191
+ }
192
+
193
+ .fc-row .fc-bgevent-skeleton {
194
+ z-index: 2;
195
+ }
196
+
197
+ .fc-row .fc-highlight-skeleton {
198
+ z-index: 3;
199
+ }
200
+
201
+ /*
202
+ row content (which contains day/week numbers and events) as well as "mirror" (which contains
203
+ temporary rendered events).
204
+ */
205
+ .fc-row .fc-content-skeleton {
206
+ position: relative;
207
+ z-index: 4;
208
+ padding-bottom: 2px;
209
+ /* matches the space above the events */
210
+ }
211
+
212
+ .fc-row .fc-mirror-skeleton {
213
+ z-index: 5;
214
+ }
215
+
216
+ .fc .fc-row .fc-content-skeleton table,
217
+ .fc .fc-row .fc-content-skeleton td,
218
+ .fc .fc-row .fc-mirror-skeleton td {
219
+ /* see-through to the background below */
220
+ /* extra precedence to prevent theme-provided backgrounds */
221
+ background: none;
222
+ /* in case <td>s are globally styled */
223
+ border-color: transparent;
224
+ }
225
+
226
+ .fc-row .fc-content-skeleton td,
227
+ .fc-row .fc-mirror-skeleton td {
228
+ /* don't put a border between events and/or the day number */
229
+ border-bottom: 0;
230
+ }
231
+
232
+ .fc-row .fc-content-skeleton tbody td,
233
+ .fc-row .fc-mirror-skeleton tbody td {
234
+ /* don't put a border between event cells */
235
+ border-top: 0;
236
+ }
237
+
238
+ /* Scrolling Container
239
+ --------------------------------------------------------------------------------------------------*/
240
+ .fc-scroller {
241
+ -webkit-overflow-scrolling: touch;
242
+ }
243
+
244
+ /* TODO: move to timegrid/daygrid */
245
+ .fc-scroller > .fc-day-grid,
246
+ .fc-scroller > .fc-time-grid {
247
+ position: relative;
248
+ /* re-scope all positions */
249
+ width: 100%;
250
+ /* hack to force re-sizing this inner element when scrollbars appear/disappear */
251
+ }
252
+
253
+ /* Global Event Styles
254
+ --------------------------------------------------------------------------------------------------*/
255
+ .fc-event {
256
+ position: relative;
257
+ /* for resize handle and other inner positioning */
258
+ display: block;
259
+ /* make the <a> tag block */
260
+ font-size: 0.85em;
261
+ line-height: 1.4;
262
+ border-radius: 3px;
263
+ border: 1px solid #3788d8;
264
+ }
265
+
266
+ .fc-event,
267
+ .fc-event-dot {
268
+ background-color: #3788d8;
269
+ /* default BACKGROUND color */
270
+ }
271
+
272
+ .fc-event,
273
+ .fc-event:hover {
274
+ color: #fff;
275
+ /* default TEXT color */
276
+ text-decoration: none;
277
+ /* if <a> has an href */
278
+ }
279
+
280
+ .fc-event[href],
281
+ .fc-event.fc-draggable {
282
+ cursor: pointer;
283
+ /* give events with links and draggable events a hand mouse pointer */
284
+ }
285
+
286
+ .fc-not-allowed,
287
+ .fc-not-allowed .fc-event {
288
+ /* to override an event's custom cursor */
289
+ cursor: not-allowed;
290
+ }
291
+
292
+ .fc-event .fc-content {
293
+ position: relative;
294
+ z-index: 2;
295
+ }
296
+
297
+ /* resizer (cursor AND touch devices) */
298
+ .fc-event .fc-resizer {
299
+ position: absolute;
300
+ z-index: 4;
301
+ }
302
+
303
+ /* resizer (touch devices) */
304
+ .fc-event .fc-resizer {
305
+ display: none;
306
+ }
307
+
308
+ .fc-event.fc-allow-mouse-resize .fc-resizer,
309
+ .fc-event.fc-selected .fc-resizer {
310
+ /* only show when hovering or selected (with touch) */
311
+ display: block;
312
+ }
313
+
314
+ /* hit area */
315
+ .fc-event.fc-selected .fc-resizer:before {
316
+ /* 40x40 touch area */
317
+ content: "";
318
+ position: absolute;
319
+ z-index: 9999;
320
+ /* user of this util can scope within a lower z-index */
321
+ top: 50%;
322
+ left: 50%;
323
+ width: 40px;
324
+ height: 40px;
325
+ margin-left: -20px;
326
+ margin-top: -20px;
327
+ }
328
+
329
+ /* Event Selection (only for touch devices)
330
+ --------------------------------------------------------------------------------------------------*/
331
+ .fc-event.fc-selected {
332
+ z-index: 9999 !important;
333
+ /* overcomes inline z-index */
334
+ box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
335
+ }
336
+
337
+ .fc-event.fc-selected:after {
338
+ content: "";
339
+ position: absolute;
340
+ z-index: 1;
341
+ /* same z-index as fc-bg, behind text */
342
+ /* overcome the borders */
343
+ top: -1px;
344
+ right: -1px;
345
+ bottom: -1px;
346
+ left: -1px;
347
+ /* darkening effect */
348
+ background: #000;
349
+ opacity: 0.25;
350
+ }
351
+
352
+ /* Event Dragging
353
+ --------------------------------------------------------------------------------------------------*/
354
+ .fc-event.fc-dragging.fc-selected {
355
+ box-shadow: 0 2px 7px rgba(0, 0, 0, 0.3);
356
+ }
357
+
358
+ .fc-event.fc-dragging:not(.fc-selected) {
359
+ opacity: 0.75;
360
+ }
361
+
362
+ /* Horizontal Events
363
+ --------------------------------------------------------------------------------------------------*/
364
+ /* bigger touch area when selected */
365
+ .fc-h-event.fc-selected:before {
366
+ content: "";
367
+ position: absolute;
368
+ z-index: 3;
369
+ /* below resizers */
370
+ top: -10px;
371
+ bottom: -10px;
372
+ left: 0;
373
+ right: 0;
374
+ }
375
+
376
+ /* events that are continuing to/from another week. kill rounded corners and butt up against edge */
377
+ .fc-ltr .fc-h-event.fc-not-start,
378
+ .fc-rtl .fc-h-event.fc-not-end {
379
+ margin-left: 0;
380
+ border-left-width: 0;
381
+ padding-left: 1px;
382
+ /* replace the border with padding */
383
+ border-top-left-radius: 0;
384
+ border-bottom-left-radius: 0;
385
+ }
386
+
387
+ .fc-ltr .fc-h-event.fc-not-end,
388
+ .fc-rtl .fc-h-event.fc-not-start {
389
+ margin-right: 0;
390
+ border-right-width: 0;
391
+ padding-right: 1px;
392
+ /* replace the border with padding */
393
+ border-top-right-radius: 0;
394
+ border-bottom-right-radius: 0;
395
+ }
396
+
397
+ /* resizer (cursor AND touch devices) */
398
+ /* left resizer */
399
+ .fc-ltr .fc-h-event .fc-start-resizer,
400
+ .fc-rtl .fc-h-event .fc-end-resizer {
401
+ cursor: w-resize;
402
+ left: -1px;
403
+ /* overcome border */
404
+ }
405
+
406
+ /* right resizer */
407
+ .fc-ltr .fc-h-event .fc-end-resizer,
408
+ .fc-rtl .fc-h-event .fc-start-resizer {
409
+ cursor: e-resize;
410
+ right: -1px;
411
+ /* overcome border */
412
+ }
413
+
414
+ /* resizer (mouse devices) */
415
+ .fc-h-event.fc-allow-mouse-resize .fc-resizer {
416
+ width: 7px;
417
+ top: -1px;
418
+ /* overcome top border */
419
+ bottom: -1px;
420
+ /* overcome bottom border */
421
+ }
422
+
423
+ /* resizer (touch devices) */
424
+ .fc-h-event.fc-selected .fc-resizer {
425
+ /* 8x8 little dot */
426
+ border-radius: 4px;
427
+ border-width: 1px;
428
+ width: 6px;
429
+ height: 6px;
430
+ border-style: solid;
431
+ border-color: inherit;
432
+ background: #fff;
433
+ /* vertically center */
434
+ top: 50%;
435
+ margin-top: -4px;
436
+ }
437
+
438
+ /* left resizer */
439
+ .fc-ltr .fc-h-event.fc-selected .fc-start-resizer,
440
+ .fc-rtl .fc-h-event.fc-selected .fc-end-resizer {
441
+ margin-left: -4px;
442
+ /* centers the 8x8 dot on the left edge */
443
+ }
444
+
445
+ /* right resizer */
446
+ .fc-ltr .fc-h-event.fc-selected .fc-end-resizer,
447
+ .fc-rtl .fc-h-event.fc-selected .fc-start-resizer {
448
+ margin-right: -4px;
449
+ /* centers the 8x8 dot on the right edge */
450
+ }
451
+
452
+ /* DayGrid events
453
+ ----------------------------------------------------------------------------------------------------
454
+ We use the full "fc-day-grid-event" class instead of using descendants because the event won't
455
+ be a descendant of the grid when it is being dragged.
456
+ */
457
+ .fc-day-grid-event {
458
+ margin: 1px 2px 0;
459
+ /* spacing between events and edges */
460
+ padding: 0 1px;
461
+ }
462
+
463
+ tr:first-child > td > .fc-day-grid-event {
464
+ margin-top: 2px;
465
+ /* a little bit more space before the first event */
466
+ }
467
+
468
+ .fc-mirror-skeleton tr:first-child > td > .fc-day-grid-event {
469
+ margin-top: 0;
470
+ /* except for mirror skeleton */
471
+ }
472
+
473
+ .fc-day-grid-event .fc-content {
474
+ /* force events to be one-line tall */
475
+ white-space: nowrap;
476
+ overflow: hidden;
477
+ }
478
+
479
+ .fc-day-grid-event .fc-time {
480
+ font-weight: bold;
481
+ }
482
+
483
+ /* resizer (cursor devices) */
484
+ /* left resizer */
485
+ .fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer,
486
+ .fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer {
487
+ margin-left: -2px;
488
+ /* to the day cell's edge */
489
+ }
490
+
491
+ /* right resizer */
492
+ .fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer,
493
+ .fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer {
494
+ margin-right: -2px;
495
+ /* to the day cell's edge */
496
+ }
497
+
498
+ /* Event Limiting
499
+ --------------------------------------------------------------------------------------------------*/
500
+ /* "more" link that represents hidden events */
501
+ a.fc-more {
502
+ margin: 1px 3px;
503
+ font-size: 0.85em;
504
+ cursor: pointer;
505
+ text-decoration: none;
506
+ }
507
+
508
+ a.fc-more:hover {
509
+ text-decoration: underline;
510
+ }
511
+
512
+ .fc-limited {
513
+ /* rows and cells that are hidden because of a "more" link */
514
+ display: none;
515
+ }
516
+
517
+ /* popover that appears when "more" link is clicked */
518
+ .fc-day-grid .fc-row {
519
+ z-index: 1;
520
+ /* make the "more" popover one higher than this */
521
+ }
522
+
523
+ .fc-more-popover {
524
+ z-index: 2;
525
+ width: 220px;
526
+ }
527
+
528
+ .fc-more-popover .fc-event-container {
529
+ padding: 10px;
530
+ }
531
+
532
+ /* Now Indicator
533
+ --------------------------------------------------------------------------------------------------*/
534
+ .fc-now-indicator {
535
+ position: absolute;
536
+ border: 0 solid red;
537
+ }
538
+
539
+ /* Utilities
540
+ --------------------------------------------------------------------------------------------------*/
541
+ .fc-unselectable {
542
+ -webkit-user-select: none;
543
+ -khtml-user-select: none;
544
+ -moz-user-select: none;
545
+ -ms-user-select: none;
546
+ user-select: none;
547
+ -webkit-touch-callout: none;
548
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
549
+ }
550
+
551
+ /*
552
+ TODO: more distinction between this file and common.css
553
+ */
554
+ /* Colors
555
+ --------------------------------------------------------------------------------------------------*/
556
+ .fc-unthemed th,
557
+ .fc-unthemed td,
558
+ .fc-unthemed thead,
559
+ .fc-unthemed tbody,
560
+ .fc-unthemed .fc-divider,
561
+ .fc-unthemed .fc-row,
562
+ .fc-unthemed .fc-content,
563
+ .fc-unthemed .fc-popover,
564
+ .fc-unthemed .fc-list-view,
565
+ .fc-unthemed .fc-list-heading td {
566
+ border-color: #ddd;
567
+ }
568
+
569
+ .fc-unthemed .fc-popover {
570
+ background-color: #fff;
571
+ }
572
+
573
+ .fc-unthemed .fc-divider,
574
+ .fc-unthemed .fc-popover .fc-header,
575
+ .fc-unthemed .fc-list-heading td {
576
+ background: #eee;
577
+ }
578
+
579
+ .fc-unthemed td.fc-today {
580
+ background: #fcf8e3;
581
+ }
582
+
583
+ .fc-unthemed .fc-disabled-day {
584
+ background: #d7d7d7;
585
+ opacity: 0.3;
586
+ }
587
+
588
+ /* Icons
589
+ --------------------------------------------------------------------------------------------------
590
+ from https://feathericons.com/ and built with IcoMoon
591
+ */
592
+ @font-face {
593
+ font-family: "fcicons";
594
+ src: url("data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBfAAAAC8AAAAYGNtYXAXVtKNAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5ZgYydxIAAAF4AAAFNGhlYWQUJ7cIAAAGrAAAADZoaGVhB20DzAAABuQAAAAkaG10eCIABhQAAAcIAAAALGxvY2ED4AU6AAAHNAAAABhtYXhwAA8AjAAAB0wAAAAgbmFtZXsr690AAAdsAAABhnBvc3QAAwAAAAAI9AAAACAAAwPAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpBgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6Qb//f//AAAAAAAg6QD//f//AAH/4xcEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAWIAjQKeAskAEwAAJSc3NjQnJiIHAQYUFwEWMjc2NCcCnuLiDQ0MJAz/AA0NAQAMJAwNDcni4gwjDQwM/wANIwz/AA0NDCMNAAAAAQFiAI0CngLJABMAACUBNjQnASYiBwYUHwEHBhQXFjI3AZ4BAA0N/wAMJAwNDeLiDQ0MJAyNAQAMIw0BAAwMDSMM4uINIwwNDQAAAAIA4gC3Ax4CngATACcAACUnNzY0JyYiDwEGFB8BFjI3NjQnISc3NjQnJiIPAQYUHwEWMjc2NCcB87e3DQ0MIw3VDQ3VDSMMDQ0BK7e3DQ0MJAzVDQ3VDCQMDQ3zuLcMJAwNDdUNIwzWDAwNIwy4twwkDA0N1Q0jDNYMDA0jDAAAAgDiALcDHgKeABMAJwAAJTc2NC8BJiIHBhQfAQcGFBcWMjchNzY0LwEmIgcGFB8BBwYUFxYyNwJJ1Q0N1Q0jDA0Nt7cNDQwjDf7V1Q0N1QwkDA0Nt7cNDQwkDLfWDCMN1Q0NDCQMt7gMIw0MDNYMIw3VDQ0MJAy3uAwjDQwMAAADAFUAAAOrA1UAMwBoAHcAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMhMjY1NCYjISIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAAVYRGRkR/qoRGRkRA1UFBAUOCQkVDAsZDf2rDRkLDBUJCA4FBQUFBQUOCQgVDAsZDQJVDRkLDBUJCQ4FBAVVAgECBQMCBwQECAX9qwQJAwQHAwMFAQICAgIBBQMDBwQDCQQCVQUIBAQHAgMFAgEC/oAZEhEZGRESGQAAAAADAFUAAAOrA1UAMwBoAIkAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMzFRQWMzI2PQEzMjY1NCYrATU0JiMiBh0BIyIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAgBkSEhmAERkZEYAZEhIZgBEZGREDVQUEBQ4JCRUMCxkN/asNGQsMFQkIDgUFBQUFBQ4JCBUMCxkNAlUNGQsMFQkJDgUEBVUCAQIFAwIHBAQIBf2rBAkDBAcDAwUBAgICAgEFAwMHBAMJBAJVBQgEBAcCAwUCAQL+gIASGRkSgBkSERmAEhkZEoAZERIZAAABAOIAjQMeAskAIAAAExcHBhQXFjI/ARcWMjc2NC8BNzY0JyYiDwEnJiIHBhQX4uLiDQ0MJAzi4gwkDA0N4uINDQwkDOLiDCQMDQ0CjeLiDSMMDQ3h4Q0NDCMN4uIMIw0MDOLiDAwNIwwAAAABAAAAAQAAa5n0y18PPPUACwQAAAAAANivOVsAAAAA2K85WwAAAAADqwNVAAAACAACAAAAAAAAAAEAAAPA/8AAAAQAAAAAAAOrAAEAAAAAAAAAAAAAAAAAAAALBAAAAAAAAAAAAAAAAgAAAAQAAWIEAAFiBAAA4gQAAOIEAABVBAAAVQQAAOIAAAAAAAoAFAAeAEQAagCqAOoBngJkApoAAQAAAAsAigADAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAcAAAABAAAAAAACAAcAYAABAAAAAAADAAcANgABAAAAAAAEAAcAdQABAAAAAAAFAAsAFQABAAAAAAAGAAcASwABAAAAAAAKABoAigADAAEECQABAA4ABwADAAEECQACAA4AZwADAAEECQADAA4APQADAAEECQAEAA4AfAADAAEECQAFABYAIAADAAEECQAGAA4AUgADAAEECQAKADQApGZjaWNvbnMAZgBjAGkAYwBvAG4Ac1ZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMGZjaWNvbnMAZgBjAGkAYwBvAG4Ac2ZjaWNvbnMAZgBjAGkAYwBvAG4Ac1JlZ3VsYXIAUgBlAGcAdQBsAGEAcmZjaWNvbnMAZgBjAGkAYwBvAG4Ac0ZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=") format("truetype");
595
+ font-weight: normal;
596
+ font-style: normal;
597
+ }
598
+ .fc-icon {
599
+ /* use !important to prevent issues with browser extensions that change fonts */
600
+ font-family: "fcicons" !important;
601
+ speak: none;
602
+ font-style: normal;
603
+ font-weight: normal;
604
+ font-variant: normal;
605
+ text-transform: none;
606
+ line-height: 1;
607
+ /* Better Font Rendering =========== */
608
+ -webkit-font-smoothing: antialiased;
609
+ -moz-osx-font-smoothing: grayscale;
610
+ }
611
+
612
+ .fc-icon-chevron-left:before {
613
+ content: "";
614
+ }
615
+
616
+ .fc-icon-chevron-right:before {
617
+ content: "";
618
+ }
619
+
620
+ .fc-icon-chevrons-left:before {
621
+ content: "";
622
+ }
623
+
624
+ .fc-icon-chevrons-right:before {
625
+ content: "";
626
+ }
627
+
628
+ .fc-icon-minus-square:before {
629
+ content: "";
630
+ }
631
+
632
+ .fc-icon-plus-square:before {
633
+ content: "";
634
+ }
635
+
636
+ .fc-icon-x:before {
637
+ content: "";
638
+ }
639
+
640
+ .fc-icon {
641
+ display: inline-block;
642
+ width: 1em;
643
+ height: 1em;
644
+ text-align: center;
645
+ }
646
+
647
+ /* Buttons
648
+ --------------------------------------------------------------------------------------------------
649
+ Lots taken from Flatly (MIT): https://bootswatch.com/4/flatly/bootstrap.css
650
+ */
651
+ /* reset */
652
+ .fc-button {
653
+ border-radius: 0;
654
+ overflow: visible;
655
+ text-transform: none;
656
+ margin: 0;
657
+ font-family: inherit;
658
+ font-size: inherit;
659
+ line-height: inherit;
660
+ }
661
+
662
+ .fc-button:focus {
663
+ outline: 1px dotted;
664
+ outline: 5px auto -webkit-focus-ring-color;
665
+ }
666
+
667
+ .fc-button {
668
+ -webkit-appearance: button;
669
+ }
670
+
671
+ .fc-button:not(:disabled) {
672
+ cursor: pointer;
673
+ }
674
+
675
+ .fc-button::-moz-focus-inner {
676
+ padding: 0;
677
+ border-style: none;
678
+ }
679
+
680
+ /* theme */
681
+ .fc-button {
682
+ display: inline-block;
683
+ font-weight: 400;
684
+ color: #212529;
685
+ text-align: center;
686
+ vertical-align: middle;
687
+ -webkit-user-select: none;
688
+ -moz-user-select: none;
689
+ -ms-user-select: none;
690
+ user-select: none;
691
+ background-color: transparent;
692
+ border: 1px solid transparent;
693
+ padding: 0.4em 0.65em;
694
+ font-size: 1em;
695
+ line-height: 1.5;
696
+ border-radius: 0.25em;
697
+ }
698
+
699
+ .fc-button:hover {
700
+ color: #212529;
701
+ text-decoration: none;
702
+ }
703
+
704
+ .fc-button:focus {
705
+ outline: 0;
706
+ -webkit-box-shadow: 0 0 0 0.2rem rgba(44, 62, 80, 0.25);
707
+ box-shadow: 0 0 0 0.2rem rgba(44, 62, 80, 0.25);
708
+ }
709
+
710
+ .fc-button:disabled {
711
+ opacity: 0.65;
712
+ }
713
+
714
+ /* "primary" coloring */
715
+ .fc-button-primary {
716
+ color: #fff;
717
+ background-color: #2C3E50;
718
+ border-color: #2C3E50;
719
+ }
720
+
721
+ .fc-button-primary:hover {
722
+ color: #fff;
723
+ background-color: #1e2b37;
724
+ border-color: #1a252f;
725
+ }
726
+
727
+ .fc-button-primary:focus {
728
+ -webkit-box-shadow: 0 0 0 0.2rem rgba(76, 91, 106, 0.5);
729
+ box-shadow: 0 0 0 0.2rem rgba(76, 91, 106, 0.5);
730
+ }
731
+
732
+ .fc-button-primary:disabled {
733
+ color: #fff;
734
+ background-color: #2C3E50;
735
+ border-color: #2C3E50;
736
+ }
737
+
738
+ .fc-button-primary:not(:disabled):active,
739
+ .fc-button-primary:not(:disabled).fc-button-active {
740
+ color: #fff;
741
+ background-color: #1a252f;
742
+ border-color: #151e27;
743
+ }
744
+
745
+ .fc-button-primary:not(:disabled):active:focus,
746
+ .fc-button-primary:not(:disabled).fc-button-active:focus {
747
+ -webkit-box-shadow: 0 0 0 0.2rem rgba(76, 91, 106, 0.5);
748
+ box-shadow: 0 0 0 0.2rem rgba(76, 91, 106, 0.5);
749
+ }
750
+
751
+ /* icons within buttons */
752
+ .fc-button .fc-icon {
753
+ vertical-align: middle;
754
+ font-size: 1.5em;
755
+ }
756
+
757
+ /* Buttons Groups
758
+ --------------------------------------------------------------------------------------------------*/
759
+ .fc-button-group {
760
+ position: relative;
761
+ display: -webkit-inline-box;
762
+ display: -ms-inline-flexbox;
763
+ display: inline-flex;
764
+ vertical-align: middle;
765
+ }
766
+
767
+ .fc-button-group > .fc-button {
768
+ position: relative;
769
+ -webkit-box-flex: 1;
770
+ -ms-flex: 1 1 auto;
771
+ flex: 1 1 auto;
772
+ }
773
+
774
+ .fc-button-group > .fc-button:hover {
775
+ z-index: 1;
776
+ }
777
+
778
+ .fc-button-group > .fc-button:focus,
779
+ .fc-button-group > .fc-button:active,
780
+ .fc-button-group > .fc-button.fc-button-active {
781
+ z-index: 1;
782
+ }
783
+
784
+ .fc-button-group > .fc-button:not(:first-child) {
785
+ margin-left: -1px;
786
+ }
787
+
788
+ .fc-button-group > .fc-button:not(:last-child) {
789
+ border-top-right-radius: 0;
790
+ border-bottom-right-radius: 0;
791
+ }
792
+
793
+ .fc-button-group > .fc-button:not(:first-child) {
794
+ border-top-left-radius: 0;
795
+ border-bottom-left-radius: 0;
796
+ }
797
+
798
+ /* Popover
799
+ --------------------------------------------------------------------------------------------------*/
800
+ .fc-unthemed .fc-popover {
801
+ border-width: 1px;
802
+ border-style: solid;
803
+ }
804
+
805
+ /* List View
806
+ --------------------------------------------------------------------------------------------------*/
807
+ .fc-unthemed .fc-list-item:hover td {
808
+ background-color: #f5f5f5;
809
+ }
810
+
811
+ /* Toolbar
812
+ --------------------------------------------------------------------------------------------------*/
813
+ .fc-toolbar {
814
+ display: flex;
815
+ justify-content: space-between;
816
+ align-items: center;
817
+ }
818
+
819
+ .fc-toolbar.fc-header-toolbar {
820
+ margin-bottom: 1.5em;
821
+ }
822
+
823
+ .fc-toolbar.fc-footer-toolbar {
824
+ margin-top: 1.5em;
825
+ }
826
+
827
+ /* inner content */
828
+ .fc-toolbar > * > :not(:first-child) {
829
+ margin-left: 0.75em;
830
+ }
831
+
832
+ .fc-toolbar h2 {
833
+ font-size: 1.75em;
834
+ margin: 0;
835
+ }
836
+
837
+ /* View Structure
838
+ --------------------------------------------------------------------------------------------------*/
839
+ .fc-view-container {
840
+ position: relative;
841
+ }
842
+
843
+ /* undo twitter bootstrap's box-sizing rules. normalizes positioning techniques */
844
+ /* don't do this for the toolbar because we'll want bootstrap to style those buttons as some pt */
845
+ .fc-view-container *,
846
+ .fc-view-container *:before,
847
+ .fc-view-container *:after {
848
+ -webkit-box-sizing: content-box;
849
+ -moz-box-sizing: content-box;
850
+ box-sizing: content-box;
851
+ }
852
+
853
+ .fc-view,
854
+ .fc-view > table {
855
+ /* so dragged elements can be above the view's main element */
856
+ position: relative;
857
+ z-index: 1;
858
+ }
859
+
860
+ @media print {
861
+ .fc {
862
+ max-width: 100% !important;
863
+ }
864
+
865
+ /* Global Event Restyling
866
+ --------------------------------------------------------------------------------------------------*/
867
+ .fc-event {
868
+ background: #fff !important;
869
+ color: #000 !important;
870
+ page-break-inside: avoid;
871
+ }
872
+
873
+ .fc-event .fc-resizer {
874
+ display: none;
875
+ }
876
+
877
+ /* Table & Day-Row Restyling
878
+ --------------------------------------------------------------------------------------------------*/
879
+ .fc th,
880
+ .fc td,
881
+ .fc hr,
882
+ .fc thead,
883
+ .fc tbody,
884
+ .fc-row {
885
+ border-color: #ccc !important;
886
+ background: #fff !important;
887
+ }
888
+
889
+ /* kill the overlaid, absolutely-positioned components */
890
+ /* common... */
891
+ .fc-bg,
892
+ .fc-bgevent-skeleton,
893
+ .fc-highlight-skeleton,
894
+ .fc-mirror-skeleton,
895
+ .fc-bgevent-container,
896
+ .fc-business-container,
897
+ .fc-highlight-container,
898
+ .fc-mirror-container {
899
+ display: none;
900
+ }
901
+
902
+ /* don't force a min-height on rows (for DayGrid) */
903
+ .fc tbody .fc-row {
904
+ height: auto !important;
905
+ /* undo height that JS set in distributeHeight */
906
+ min-height: 0 !important;
907
+ /* undo the min-height from each view's specific stylesheet */
908
+ }
909
+
910
+ .fc tbody .fc-row .fc-content-skeleton {
911
+ position: static;
912
+ /* undo .fc-rigid */
913
+ padding-bottom: 0 !important;
914
+ /* use a more border-friendly method for this... */
915
+ }
916
+
917
+ .fc tbody .fc-row .fc-content-skeleton tbody tr:last-child td {
918
+ /* only works in newer browsers */
919
+ padding-bottom: 1em;
920
+ /* ...gives space within the skeleton. also ensures min height in a way */
921
+ }
922
+
923
+ .fc tbody .fc-row .fc-content-skeleton table {
924
+ /* provides a min-height for the row, but only effective for IE, which exaggerates this value,
925
+ making it look more like 3em. for other browers, it will already be this tall */
926
+ height: 1em;
927
+ }
928
+
929
+ /* Undo month-view event limiting. Display all events and hide the "more" links
930
+ --------------------------------------------------------------------------------------------------*/
931
+ .fc-more-cell,
932
+ .fc-more {
933
+ display: none !important;
934
+ }
935
+
936
+ .fc tr.fc-limited {
937
+ display: table-row !important;
938
+ }
939
+
940
+ .fc td.fc-limited {
941
+ display: table-cell !important;
942
+ }
943
+
944
+ .fc-popover {
945
+ display: none;
946
+ /* never display the "more.." popover in print mode */
947
+ }
948
+
949
+ /* TimeGrid Restyling
950
+ --------------------------------------------------------------------------------------------------*/
951
+ /* undo the min-height 100% trick used to fill the container's height */
952
+ .fc-time-grid {
953
+ min-height: 0 !important;
954
+ }
955
+
956
+ /* don't display the side axis at all ("all-day" and time cells) */
957
+ .fc-timeGrid-view .fc-axis {
958
+ display: none;
959
+ }
960
+
961
+ /* don't display the horizontal lines */
962
+ .fc-slats,
963
+ .fc-time-grid hr {
964
+ /* this hr is used when height is underused and needs to be filled */
965
+ display: none !important;
966
+ /* important overrides inline declaration */
967
+ }
968
+
969
+ /* let the container that holds the events be naturally positioned and create real height */
970
+ .fc-time-grid .fc-content-skeleton {
971
+ position: static;
972
+ }
973
+
974
+ /* in case there are no events, we still want some height */
975
+ .fc-time-grid .fc-content-skeleton table {
976
+ height: 4em;
977
+ }
978
+
979
+ /* kill the horizontal spacing made by the event container. event margins will be done below */
980
+ .fc-time-grid .fc-event-container {
981
+ margin: 0 !important;
982
+ }
983
+
984
+ /* TimeGrid *Event* Restyling
985
+ --------------------------------------------------------------------------------------------------*/
986
+ /* naturally position events, vertically stacking them */
987
+ .fc-time-grid .fc-event {
988
+ position: static !important;
989
+ margin: 3px 2px !important;
990
+ }
991
+
992
+ /* for events that continue to a future day, give the bottom border back */
993
+ .fc-time-grid .fc-event.fc-not-end {
994
+ border-bottom-width: 1px !important;
995
+ }
996
+
997
+ /* indicate the event continues via "..." text */
998
+ .fc-time-grid .fc-event.fc-not-end:after {
999
+ content: "...";
1000
+ }
1001
+
1002
+ /* for events that are continuations from previous days, give the top border back */
1003
+ .fc-time-grid .fc-event.fc-not-start {
1004
+ border-top-width: 1px !important;
1005
+ }
1006
+
1007
+ /* indicate the event is a continuation via "..." text */
1008
+ .fc-time-grid .fc-event.fc-not-start:before {
1009
+ content: "...";
1010
+ }
1011
+
1012
+ /* time */
1013
+ /* undo a previous declaration and let the time text span to a second line */
1014
+ .fc-time-grid .fc-event .fc-time {
1015
+ white-space: normal !important;
1016
+ }
1017
+
1018
+ /* hide the the time that is normally displayed... */
1019
+ .fc-time-grid .fc-event .fc-time span {
1020
+ display: none;
1021
+ }
1022
+
1023
+ /* ...replace it with a more verbose version (includes AM/PM) stored in an html attribute */
1024
+ .fc-time-grid .fc-event .fc-time:after {
1025
+ content: attr(data-full);
1026
+ }
1027
+
1028
+ /* Vertical Scroller & Containers
1029
+ --------------------------------------------------------------------------------------------------*/
1030
+ /* kill the scrollbars and allow natural height */
1031
+ .fc-scroller,
1032
+ .fc-day-grid-container,
1033
+ .fc-time-grid-container {
1034
+ /* */
1035
+ overflow: visible !important;
1036
+ height: auto !important;
1037
+ }
1038
+
1039
+ /* kill the horizontal border/padding used to compensate for scrollbars */
1040
+ .fc-row {
1041
+ border: 0 !important;
1042
+ margin: 0 !important;
1043
+ }
1044
+
1045
+ /* Button Controls
1046
+ --------------------------------------------------------------------------------------------------*/
1047
+ .fc-button-group,
1048
+ .fc button {
1049
+ display: none;
1050
+ /* don't display any button-related controls */
1051
+ }
1052
+ }
assets/front-end/css/vendor/event-calendar/calendar-main.min.css ADDED
@@ -0,0 +1 @@
 
1
+ @charset "UTF-8";.fc{direction:ltr;text-align:left}.fc-rtl{text-align:right}body .fc{font-size:1em}.fc-highlight{background:#bce8f1;opacity:.3}.fc-bgevent{background:#8fdf82;opacity:.3}.fc-nonbusiness{background:#d7d7d7}.fc-popover{position:absolute;box-shadow:0 2px 6px rgba(0,0,0,.15)}.fc-popover .fc-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:2px 4px}.fc-rtl .fc-popover .fc-header{flex-direction:row-reverse}.fc-popover .fc-header .fc-title{margin:0 2px}.fc-popover .fc-header .fc-close{cursor:pointer;opacity:.65;font-size:1.1em}.fc-divider{border-style:solid;border-width:1px}hr.fc-divider{height:0;margin:0;padding:0 0 2px;border-width:1px 0}.fc-bg,.fc-bgevent-skeleton,.fc-highlight-skeleton,.fc-mirror-skeleton{position:absolute;top:0;left:0;right:0}.fc-bg{bottom:0}.fc-bg table{height:100%}.fc table{width:100%;box-sizing:border-box;table-layout:fixed;border-collapse:collapse;border-spacing:0;font-size:1em}.fc th{text-align:center}.fc td,.fc th{border-style:solid;border-width:1px;padding:0;vertical-align:top}.fc td.fc-today{border-style:double}a[data-goto]{cursor:pointer}a[data-goto]:hover{text-decoration:underline}.fc .fc-row{border-style:solid;border-width:0}.fc-row table{border-left:0 hidden transparent;border-right:0 hidden transparent;border-bottom:0 hidden transparent}.fc-row:first-child table{border-top:0 hidden transparent}.fc-row{position:relative}.fc-row .fc-bg{z-index:1}.fc-row .fc-bgevent-skeleton,.fc-row .fc-highlight-skeleton{bottom:0}.fc-row .fc-bgevent-skeleton table,.fc-row .fc-highlight-skeleton table{height:100%}.fc-row .fc-bgevent-skeleton td,.fc-row .fc-highlight-skeleton td{border-color:transparent}.fc-row .fc-bgevent-skeleton{z-index:2}.fc-row .fc-highlight-skeleton{z-index:3}.fc-row .fc-content-skeleton{position:relative;z-index:4;padding-bottom:2px}.fc-row .fc-mirror-skeleton{z-index:5}.fc .fc-row .fc-content-skeleton table,.fc .fc-row .fc-content-skeleton td,.fc .fc-row .fc-mirror-skeleton td{background:0 0;border-color:transparent}.fc-row .fc-content-skeleton td,.fc-row .fc-mirror-skeleton td{border-bottom:0}.fc-row .fc-content-skeleton tbody td,.fc-row .fc-mirror-skeleton tbody td{border-top:0}.fc-scroller{-webkit-overflow-scrolling:touch}.fc-scroller>.fc-day-grid,.fc-scroller>.fc-time-grid{position:relative;width:100%}.fc-event{position:relative;display:block;font-size:.85em;line-height:1.4;border-radius:3px;border:1px solid #3788d8}.fc-event,.fc-event-dot{background-color:#3788d8}.fc-event,.fc-event:hover{color:#fff;text-decoration:none}.fc-event.fc-draggable,.fc-event[href]{cursor:pointer}.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}.fc-event .fc-content{position:relative;z-index:2}.fc-event .fc-resizer{position:absolute;z-index:4}.fc-event .fc-resizer{display:none}.fc-event.fc-allow-mouse-resize .fc-resizer,.fc-event.fc-selected .fc-resizer{display:block}.fc-event.fc-selected .fc-resizer:before{content:"";position:absolute;z-index:9999;top:50%;left:50%;width:40px;height:40px;margin-left:-20px;margin-top:-20px}.fc-event.fc-selected{z-index:9999!important;box-shadow:0 2px 5px rgba(0,0,0,.2)}.fc-event.fc-selected:after{content:"";position:absolute;z-index:1;top:-1px;right:-1px;bottom:-1px;left:-1px;background:#000;opacity:.25}.fc-event.fc-dragging.fc-selected{box-shadow:0 2px 7px rgba(0,0,0,.3)}.fc-event.fc-dragging:not(.fc-selected){opacity:.75}.fc-h-event.fc-selected:before{content:"";position:absolute;z-index:3;top:-10px;bottom:-10px;left:0;right:0}.fc-ltr .fc-h-event.fc-not-start,.fc-rtl .fc-h-event.fc-not-end{margin-left:0;border-left-width:0;padding-left:1px;border-top-left-radius:0;border-bottom-left-radius:0}.fc-ltr .fc-h-event.fc-not-end,.fc-rtl .fc-h-event.fc-not-start{margin-right:0;border-right-width:0;padding-right:1px;border-top-right-radius:0;border-bottom-right-radius:0}.fc-ltr .fc-h-event .fc-start-resizer,.fc-rtl .fc-h-event .fc-end-resizer{cursor:w-resize;left:-1px}.fc-ltr .fc-h-event .fc-end-resizer,.fc-rtl .fc-h-event .fc-start-resizer{cursor:e-resize;right:-1px}.fc-h-event.fc-allow-mouse-resize .fc-resizer{width:7px;top:-1px;bottom:-1px}.fc-h-event.fc-selected .fc-resizer{border-radius:4px;border-width:1px;width:6px;height:6px;border-style:solid;border-color:inherit;background:#fff;top:50%;margin-top:-4px}.fc-ltr .fc-h-event.fc-selected .fc-start-resizer,.fc-rtl .fc-h-event.fc-selected .fc-end-resizer{margin-left:-4px}.fc-ltr .fc-h-event.fc-selected .fc-end-resizer,.fc-rtl .fc-h-event.fc-selected .fc-start-resizer{margin-right:-4px}.fc-day-grid-event{margin:1px 2px 0;padding:0 1px}tr:first-child>td>.fc-day-grid-event{margin-top:2px}.fc-mirror-skeleton tr:first-child>td>.fc-day-grid-event{margin-top:0}.fc-day-grid-event .fc-content{white-space:nowrap;overflow:hidden}.fc-day-grid-event .fc-time{font-weight:700}.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer,.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer{margin-left:-2px}.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer,.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer{margin-right:-2px}a.fc-more{margin:1px 3px;font-size:.85em;cursor:pointer;text-decoration:none}a.fc-more:hover{text-decoration:underline}.fc-limited{display:none}.fc-day-grid .fc-row{z-index:1}.fc-more-popover{z-index:2;width:220px}.fc-more-popover .fc-event-container{padding:10px}.fc-now-indicator{position:absolute;border:0 solid red}.fc-unselectable{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.fc-unthemed .fc-content,.fc-unthemed .fc-divider,.fc-unthemed .fc-list-heading td,.fc-unthemed .fc-list-view,.fc-unthemed .fc-popover,.fc-unthemed .fc-row,.fc-unthemed tbody,.fc-unthemed td,.fc-unthemed th,.fc-unthemed thead{border-color:#ddd}.fc-unthemed .fc-popover{background-color:#fff}.fc-unthemed .fc-divider,.fc-unthemed .fc-list-heading td,.fc-unthemed .fc-popover .fc-header{background:#eee}.fc-unthemed td.fc-today{background:#fcf8e3}.fc-unthemed .fc-disabled-day{background:#d7d7d7;opacity:.3}@font-face{font-family:fcicons;src:url("data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBfAAAAC8AAAAYGNtYXAXVtKNAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5ZgYydxIAAAF4AAAFNGhlYWQUJ7cIAAAGrAAAADZoaGVhB20DzAAABuQAAAAkaG10eCIABhQAAAcIAAAALGxvY2ED4AU6AAAHNAAAABhtYXhwAA8AjAAAB0wAAAAgbmFtZXsr690AAAdsAAABhnBvc3QAAwAAAAAI9AAAACAAAwPAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpBgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6Qb//f//AAAAAAAg6QD//f//AAH/4xcEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAWIAjQKeAskAEwAAJSc3NjQnJiIHAQYUFwEWMjc2NCcCnuLiDQ0MJAz/AA0NAQAMJAwNDcni4gwjDQwM/wANIwz/AA0NDCMNAAAAAQFiAI0CngLJABMAACUBNjQnASYiBwYUHwEHBhQXFjI3AZ4BAA0N/wAMJAwNDeLiDQ0MJAyNAQAMIw0BAAwMDSMM4uINIwwNDQAAAAIA4gC3Ax4CngATACcAACUnNzY0JyYiDwEGFB8BFjI3NjQnISc3NjQnJiIPAQYUHwEWMjc2NCcB87e3DQ0MIw3VDQ3VDSMMDQ0BK7e3DQ0MJAzVDQ3VDCQMDQ3zuLcMJAwNDdUNIwzWDAwNIwy4twwkDA0N1Q0jDNYMDA0jDAAAAgDiALcDHgKeABMAJwAAJTc2NC8BJiIHBhQfAQcGFBcWMjchNzY0LwEmIgcGFB8BBwYUFxYyNwJJ1Q0N1Q0jDA0Nt7cNDQwjDf7V1Q0N1QwkDA0Nt7cNDQwkDLfWDCMN1Q0NDCQMt7gMIw0MDNYMIw3VDQ0MJAy3uAwjDQwMAAADAFUAAAOrA1UAMwBoAHcAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMhMjY1NCYjISIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAAVYRGRkR/qoRGRkRA1UFBAUOCQkVDAsZDf2rDRkLDBUJCA4FBQUFBQUOCQgVDAsZDQJVDRkLDBUJCQ4FBAVVAgECBQMCBwQECAX9qwQJAwQHAwMFAQICAgIBBQMDBwQDCQQCVQUIBAQHAgMFAgEC/oAZEhEZGRESGQAAAAADAFUAAAOrA1UAMwBoAIkAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMzFRQWMzI2PQEzMjY1NCYrATU0JiMiBh0BIyIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAgBkSEhmAERkZEYAZEhIZgBEZGREDVQUEBQ4JCRUMCxkN/asNGQsMFQkIDgUFBQUFBQ4JCBUMCxkNAlUNGQsMFQkJDgUEBVUCAQIFAwIHBAQIBf2rBAkDBAcDAwUBAgICAgEFAwMHBAMJBAJVBQgEBAcCAwUCAQL+gIASGRkSgBkSERmAEhkZEoAZERIZAAABAOIAjQMeAskAIAAAExcHBhQXFjI/ARcWMjc2NC8BNzY0JyYiDwEnJiIHBhQX4uLiDQ0MJAzi4gwkDA0N4uINDQwkDOLiDCQMDQ0CjeLiDSMMDQ3h4Q0NDCMN4uIMIw0MDOLiDAwNIwwAAAABAAAAAQAAa5n0y18PPPUACwQAAAAAANivOVsAAAAA2K85WwAAAAADqwNVAAAACAACAAAAAAAAAAEAAAPA/8AAAAQAAAAAAAOrAAEAAAAAAAAAAAAAAAAAAAALBAAAAAAAAAAAAAAAAgAAAAQAAWIEAAFiBAAA4gQAAOIEAABVBAAAVQQAAOIAAAAAAAoAFAAeAEQAagCqAOoBngJkApoAAQAAAAsAigADAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAcAAAABAAAAAAACAAcAYAABAAAAAAADAAcANgABAAAAAAAEAAcAdQABAAAAAAAFAAsAFQABAAAAAAAGAAcASwABAAAAAAAKABoAigADAAEECQABAA4ABwADAAEECQACAA4AZwADAAEECQADAA4APQADAAEECQAEAA4AfAADAAEECQAFABYAIAADAAEECQAGAA4AUgADAAEECQAKADQApGZjaWNvbnMAZgBjAGkAYwBvAG4Ac1ZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMGZjaWNvbnMAZgBjAGkAYwBvAG4Ac2ZjaWNvbnMAZgBjAGkAYwBvAG4Ac1JlZ3VsYXIAUgBlAGcAdQBsAGEAcmZjaWNvbnMAZgBjAGkAYwBvAG4Ac0ZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=") format("truetype");font-weight:400;font-style:normal}.fc-icon{font-family:fcicons!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fc-icon-chevron-left:before{content:""}.fc-icon-chevron-right:before{content:""}.fc-icon-chevrons-left:before{content:""}.fc-icon-chevrons-right:before{content:""}.fc-icon-minus-square:before{content:""}.fc-icon-plus-square:before{content:""}.fc-icon-x:before{content:""}.fc-icon{display:inline-block;width:1em;height:1em;text-align:center}.fc-button{border-radius:0;overflow:visible;text-transform:none;margin:0;font-family:inherit;font-size:inherit;line-height:inherit}.fc-button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.fc-button{-webkit-appearance:button}.fc-button:not(:disabled){cursor:pointer}.fc-button::-moz-focus-inner{padding:0;border-style:none}.fc-button{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.4em .65em;font-size:1em;line-height:1.5;border-radius:.25em}.fc-button:hover{color:#212529;text-decoration:none}.fc-button:focus{outline:0;-webkit-box-shadow:0 0 0 .2rem rgba(44,62,80,.25);box-shadow:0 0 0 .2rem rgba(44,62,80,.25)}.fc-button:disabled{opacity:.65}.fc-button-primary{color:#fff;background-color:#2c3e50;border-color:#2c3e50}.fc-button-primary:hover{color:#fff;background-color:#1e2b37;border-color:#1a252f}.fc-button-primary:focus{-webkit-box-shadow:0 0 0 .2rem rgba(76,91,106,.5);box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc-button-primary:disabled{color:#fff;background-color:#2c3e50;border-color:#2c3e50}.fc-button-primary:not(:disabled).fc-button-active,.fc-button-primary:not(:disabled):active{color:#fff;background-color:#1a252f;border-color:#151e27}.fc-button-primary:not(:disabled).fc-button-active:focus,.fc-button-primary:not(:disabled):active:focus{-webkit-box-shadow:0 0 0 .2rem rgba(76,91,106,.5);box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc-button .fc-icon{vertical-align:middle;font-size:1.5em}.fc-button-group{position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.fc-button-group>.fc-button{position:relative;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.fc-button-group>.fc-button:hover{z-index:1}.fc-button-group>.fc-button.fc-button-active,.fc-button-group>.fc-button:active,.fc-button-group>.fc-button:focus{z-index:1}.fc-button-group>.fc-button:not(:first-child){margin-left:-1px}.fc-button-group>.fc-button:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.fc-button-group>.fc-button:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.fc-unthemed .fc-popover{border-width:1px;border-style:solid}.fc-unthemed .fc-list-item:hover td{background-color:#f5f5f5}.fc-toolbar{display:flex;justify-content:space-between;align-items:center}.fc-toolbar.fc-header-toolbar{margin-bottom:1.5em}.fc-toolbar.fc-footer-toolbar{margin-top:1.5em}.fc-toolbar>*>:not(:first-child){margin-left:.75em}.fc-toolbar h2{font-size:1.75em;margin:0}.fc-view-container{position:relative}.fc-view-container *,.fc-view-container :after,.fc-view-container :before{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.fc-view,.fc-view>table{position:relative;z-index:1}@media print{.fc{max-width:100%!important}.fc-event{background:#fff!important;color:#000!important;page-break-inside:avoid}.fc-event .fc-resizer{display:none}.fc hr,.fc tbody,.fc td,.fc th,.fc thead,.fc-row{border-color:#ccc!important;background:#fff!important}.fc-bg,.fc-bgevent-container,.fc-bgevent-skeleton,.fc-business-container,.fc-highlight-container,.fc-highlight-skeleton,.fc-mirror-container,.fc-mirror-skeleton{display:none}.fc tbody .fc-row{height:auto!important;min-height:0!important}.fc tbody .fc-row .fc-content-skeleton{position:static;padding-bottom:0!important}.fc tbody .fc-row .fc-content-skeleton tbody tr:last-child td{padding-bottom:1em}.fc tbody .fc-row .fc-content-skeleton table{height:1em}.fc-more,.fc-more-cell{display:none!important}.fc tr.fc-limited{display:table-row!important}.fc td.fc-limited{display:table-cell!important}.fc-popover{display:none}.fc-time-grid{min-height:0!important}.fc-timeGrid-view .fc-axis{display:none}.fc-slats,.fc-time-grid hr{display:none!important}.fc-time-grid .fc-content-skeleton{position:static}.fc-time-grid .fc-content-skeleton table{height:4em}.fc-time-grid .fc-event-container{margin:0!important}.fc-time-grid .fc-event{position:static!important;margin:3px 2px!important}.fc-time-grid .fc-event.fc-not-end{border-bottom-width:1px!important}.fc-time-grid .fc-event.fc-not-end:after{content:"..."}.fc-time-grid .fc-event.fc-not-start{border-top-width:1px!important}.fc-time-grid .fc-event.fc-not-start:before{content:"..."}.fc-time-grid .fc-event .fc-time{white-space:normal!important}.fc-time-grid .fc-event .fc-time span{display:none}.fc-time-grid .fc-event .fc-time:after{content:attr(data-full)}.fc-day-grid-container,.fc-scroller,.fc-time-grid-container{overflow:visible!important;height:auto!important}.fc-row{border:0!important;margin:0!important}.fc button,.fc-button-group{display:none}}
assets/front-end/css/vendor/event-calendar/daygrid.css ADDED
@@ -0,0 +1,78 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* DayGridView
2
+ --------------------------------------------------------------------------------------------------*/
3
+ /* day row structure */
4
+ .fc-dayGridWeek-view .fc-content-skeleton,
5
+ .fc-dayGridDay-view .fc-content-skeleton {
6
+ /* there may be week numbers in these views, so no padding-top */
7
+ padding-bottom: 1em;
8
+ /* ensure a space at bottom of cell for user selecting/clicking */
9
+ }
10
+
11
+ .fc-dayGrid-view .fc-body .fc-row {
12
+ min-height: 4em;
13
+ /* ensure that all rows are at least this tall */
14
+ }
15
+
16
+ /* a "rigid" row will take up a constant amount of height because content-skeleton is absolute */
17
+ .fc-row.fc-rigid {
18
+ overflow: hidden;
19
+ }
20
+
21
+ .fc-row.fc-rigid .fc-content-skeleton {
22
+ position: absolute;
23
+ top: 0;
24
+ left: 0;
25
+ right: 0;
26
+ }
27
+
28
+ /* week and day number styling */
29
+ .fc-day-top.fc-other-month {
30
+ opacity: 0.3;
31
+ }
32
+
33
+ .fc-dayGrid-view .fc-week-number,
34
+ .fc-dayGrid-view .fc-day-number {
35
+ padding: 2px;
36
+ }
37
+
38
+ .fc-dayGrid-view th.fc-week-number,
39
+ .fc-dayGrid-view th.fc-day-number {
40
+ padding: 0 2px;
41
+ /* column headers can't have as much v space */
42
+ }
43
+
44
+ .fc-ltr .fc-dayGrid-view .fc-day-top .fc-day-number {
45
+ float: right;
46
+ }
47
+
48
+ .fc-rtl .fc-dayGrid-view .fc-day-top .fc-day-number {
49
+ float: left;
50
+ }
51
+
52
+ .fc-ltr .fc-dayGrid-view .fc-day-top .fc-week-number {
53
+ float: left;
54
+ border-radius: 0 0 3px 0;
55
+ }
56
+
57
+ .fc-rtl .fc-dayGrid-view .fc-day-top .fc-week-number {
58
+ float: right;
59
+ border-radius: 0 0 0 3px;
60
+ }
61
+
62
+ .fc-dayGrid-view .fc-day-top .fc-week-number {
63
+ min-width: 1.5em;
64
+ text-align: center;
65
+ background-color: #f2f2f2;
66
+ color: #808080;
67
+ }
68
+
69
+ /* when week/day number have own column */
70
+ .fc-dayGrid-view td.fc-week-number {
71
+ text-align: center;
72
+ }
73
+
74
+ .fc-dayGrid-view td.fc-week-number > * {
75
+ /* work around the way we do column resizing and ensure a minimum width */
76
+ display: inline-block;
77
+ min-width: 1.25em;
78
+ }
assets/front-end/css/vendor/event-calendar/daygrid.min.css ADDED
@@ -0,0 +1 @@
 
1
+ .fc-dayGridDay-view .fc-content-skeleton,.fc-dayGridWeek-view .fc-content-skeleton{padding-bottom:1em}.fc-dayGrid-view .fc-body .fc-row{min-height:4em}.fc-row.fc-rigid{overflow:hidden}.fc-row.fc-rigid .fc-content-skeleton{position:absolute;top:0;left:0;right:0}.fc-day-top.fc-other-month{opacity:.3}.fc-dayGrid-view .fc-day-number,.fc-dayGrid-view .fc-week-number{padding:2px}.fc-dayGrid-view th.fc-day-number,.fc-dayGrid-view th.fc-week-number{padding:0 2px}.fc-ltr .fc-dayGrid-view .fc-day-top .fc-day-number{float:right}.fc-rtl .fc-dayGrid-view .fc-day-top .fc-day-number{float:left}.fc-ltr .fc-dayGrid-view .fc-day-top .fc-week-number{float:left;border-radius:0 0 3px 0}.fc-rtl .fc-dayGrid-view .fc-day-top .fc-week-number{float:right;border-radius:0 0 0 3px}.fc-dayGrid-view .fc-day-top .fc-week-number{min-width:1.5em;text-align:center;background-color:#f2f2f2;color:grey}.fc-dayGrid-view td.fc-week-number{text-align:center}.fc-dayGrid-view td.fc-week-number>*{display:inline-block;min-width:1.25em}
assets/front-end/css/vendor/event-calendar/listgrid.css ADDED
@@ -0,0 +1,118 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* List View
2
+ --------------------------------------------------------------------------------------------------*/
3
+ /* possibly reusable */
4
+ .fc-event-dot {
5
+ display: inline-block;
6
+ width: 10px;
7
+ height: 10px;
8
+ border-radius: 5px;
9
+ }
10
+
11
+ /* view wrapper */
12
+ .fc-rtl .fc-list-view {
13
+ direction: rtl;
14
+ /* unlike core views, leverage browser RTL */
15
+ }
16
+
17
+ .fc-list-view {
18
+ border-width: 1px;
19
+ border-style: solid;
20
+ }
21
+
22
+ /* table resets */
23
+ .fc .fc-list-table {
24
+ table-layout: auto;
25
+ /* for shrinkwrapping cell content */
26
+ }
27
+
28
+ .fc-list-table td {
29
+ border-width: 1px 0 0;
30
+ padding: 8px 14px;
31
+ }
32
+
33
+ .fc-list-table tr:first-child td {
34
+ border-top-width: 0;
35
+ }
36
+
37
+ /* day headings with the list */
38
+ .fc-list-heading {
39
+ border-bottom-width: 1px;
40
+ }
41
+
42
+ .fc-list-heading td {
43
+ font-weight: bold;
44
+ }
45
+
46
+ .fc-ltr .fc-list-heading-main {
47
+ float: left;
48
+ }
49
+
50
+ .fc-ltr .fc-list-heading-alt {
51
+ float: right;
52
+ }
53
+
54
+ .fc-rtl .fc-list-heading-main {
55
+ float: right;
56
+ }
57
+
58
+ .fc-rtl .fc-list-heading-alt {
59
+ float: left;
60
+ }
61
+
62
+ /* event list items */
63
+ .fc-list-item.fc-has-url {
64
+ cursor: pointer;
65
+ /* whole row will be clickable */
66
+ }
67
+
68
+ .fc-list-item-marker,
69
+ .fc-list-item-time {
70
+ white-space: nowrap;
71
+ width: 1px;
72
+ }
73
+
74
+ /* make the dot closer to the event title */
75
+ .fc-ltr .fc-list-item-marker {
76
+ padding-right: 0;
77
+ }
78
+
79
+ .fc-rtl .fc-list-item-marker {
80
+ padding-left: 0;
81
+ }
82
+
83
+ .fc-list-item-title a {
84
+ /* every event title cell has an <a> tag */
85
+ text-decoration: none;
86
+ color: inherit;
87
+ }
88
+
89
+ .fc-list-item-title a[href]:hover {
90
+ /* hover effect only on titles with hrefs */
91
+ text-decoration: underline;
92
+ }
93
+
94
+ /* message when no events */
95
+ .fc-list-empty-wrap2 {
96
+ position: absolute;
97
+ top: 0;
98
+ left: 0;
99
+ right: 0;
100
+ bottom: 0;
101
+ }
102
+
103
+ .fc-list-empty-wrap1 {
104
+ width: 100%;
105
+ height: 100%;
106
+ display: table;
107
+ }
108
+
109
+ .fc-list-empty {
110
+ display: table-cell;
111
+ vertical-align: middle;
112
+ text-align: center;
113
+ }
114
+
115
+ .fc-unthemed .fc-list-empty {
116
+ /* theme will provide own background */
117
+ background-color: #eee;
118
+ }
assets/front-end/css/vendor/event-calendar/listgrid.min.css ADDED
@@ -0,0 +1 @@
 
1
+ .fc-event-dot{display:inline-block;width:10px;height:10px;border-radius:5px}.fc-rtl .fc-list-view{direction:rtl}.fc-list-view{border-width:1px;border-style:solid}.fc .fc-list-table{table-layout:auto}.fc-list-table td{border-width:1px 0 0;padding:8px 14px}.fc-list-table tr:first-child td{border-top-width:0}.fc-list-heading{border-bottom-width:1px}.fc-list-heading td{font-weight:700}.fc-ltr .fc-list-heading-main{float:left}.fc-ltr .fc-list-heading-alt{float:right}.fc-rtl .fc-list-heading-main{float:right}.fc-rtl .fc-list-heading-alt{float:left}.fc-list-item.fc-has-url{cursor:pointer}.fc-list-item-marker,.fc-list-item-time{white-space:nowrap;width:1px}.fc-ltr .fc-list-item-marker{padding-right:0}.fc-rtl .fc-list-item-marker{padding-left:0}.fc-list-item-title a{text-decoration:none;color:inherit}.fc-list-item-title a[href]:hover{text-decoration:underline}.fc-list-empty-wrap2{position:absolute;top:0;left:0;right:0;bottom:0}.fc-list-empty-wrap1{width:100%;height:100%;display:table}.fc-list-empty{display:table-cell;vertical-align:middle;text-align:center}.fc-unthemed .fc-list-empty{background-color:#eee}
assets/front-end/css/vendor/event-calendar/timegrid.css ADDED
@@ -0,0 +1,309 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+ /* TimeGridView all-day area
3
+ --------------------------------------------------------------------------------------------------*/
4
+ .fc-timeGrid-view .fc-day-grid {
5
+ position: relative;
6
+ z-index: 2;
7
+ /* so the "more.." popover will be over the time grid */
8
+ }
9
+
10
+ .fc-timeGrid-view .fc-day-grid .fc-row {
11
+ min-height: 3em;
12
+ /* all-day section will never get shorter than this */
13
+ }
14
+
15
+ .fc-timeGrid-view .fc-day-grid .fc-row .fc-content-skeleton {
16
+ padding-bottom: 1em;
17
+ /* give space underneath events for clicking/selecting days */
18
+ }
19
+
20
+ /* TimeGrid axis running down the side (for both the all-day area and the slot area)
21
+ --------------------------------------------------------------------------------------------------*/
22
+ .fc .fc-axis {
23
+ /* .fc to overcome default cell styles */
24
+ vertical-align: middle;
25
+ padding: 0 4px;
26
+ white-space: nowrap;
27
+ }
28
+
29
+ .fc-ltr .fc-axis {
30
+ text-align: right;
31
+ }
32
+
33
+ .fc-rtl .fc-axis {
34
+ text-align: left;
35
+ }
36
+
37
+ /* TimeGrid Structure
38
+ --------------------------------------------------------------------------------------------------*/
39
+ .fc-time-grid-container,
40
+ .fc-time-grid {
41
+ /* so slats/bg/content/etc positions get scoped within here */
42
+ position: relative;
43
+ z-index: 1;
44
+ }
45
+
46
+ .fc-time-grid {
47
+ min-height: 100%;
48
+ /* so if height setting is 'auto', .fc-bg stretches to fill height */
49
+ }
50
+
51
+ .fc-time-grid table {
52
+ /* don't put outer borders on slats/bg/content/etc */
53
+ border: 0 hidden transparent;
54
+ }
55
+
56
+ .fc-time-grid > .fc-bg {
57
+ z-index: 1;
58
+ }
59
+
60
+ .fc-time-grid .fc-slats,
61
+ .fc-time-grid > hr {
62
+ /* the <hr> TimeGridView injects when grid is shorter than scroller */
63
+ position: relative;
64
+ z-index: 2;
65
+ }
66
+
67
+ .fc-time-grid .fc-content-col {
68
+ position: relative;
69
+ /* because now-indicator lives directly inside */
70
+ }
71
+
72
+ .fc-time-grid .fc-content-skeleton {
73
+ position: absolute;
74
+ z-index: 3;
75
+ top: 0;
76
+ left: 0;
77
+ right: 0;
78
+ }
79
+
80
+ /* divs within a cell within the fc-content-skeleton */
81
+ .fc-time-grid .fc-business-container {
82
+ position: relative;
83
+ z-index: 1;
84
+ }
85
+
86
+ .fc-time-grid .fc-bgevent-container {
87
+ position: relative;
88
+ z-index: 2;
89
+ }
90
+
91
+ .fc-time-grid .fc-highlight-container {
92
+ position: relative;
93
+ z-index: 3;
94
+ }
95
+
96
+ .fc-time-grid .fc-event-container {
97
+ position: relative;
98
+ z-index: 4;
99
+ }
100
+
101
+ .fc-time-grid .fc-now-indicator-line {
102
+ z-index: 5;
103
+ }
104
+
105
+ .fc-time-grid .fc-mirror-container {
106
+ /* also is fc-event-container */
107
+ position: relative;
108
+ z-index: 6;
109
+ }
110
+
111
+ /* TimeGrid Slats (lines that run horizontally)
112
+ --------------------------------------------------------------------------------------------------*/
113
+ .fc-time-grid .fc-slats td {
114
+ height: 1.5em;
115
+ border-bottom: 0;
116
+ /* each cell is responsible for its top border */
117
+ }
118
+
119
+ .fc-time-grid .fc-slats .fc-minor td {
120
+ border-top-style: dotted;
121
+ }
122
+
123
+ /* TimeGrid Highlighting Slots
124
+ --------------------------------------------------------------------------------------------------*/
125
+ .fc-time-grid .fc-highlight-container {
126
+ /* a div within a cell within the fc-highlight-skeleton */
127
+ position: relative;
128
+ /* scopes the left/right of the fc-highlight to be in the column */
129
+ }
130
+
131
+ .fc-time-grid .fc-highlight {
132
+ position: absolute;
133
+ left: 0;
134
+ right: 0;
135
+ /* top and bottom will be in by JS */
136
+ }
137
+
138
+ /* TimeGrid Event Containment
139
+ --------------------------------------------------------------------------------------------------*/
140
+ .fc-ltr .fc-time-grid .fc-event-container {
141
+ /* space on the sides of events for LTR (default) */
142
+ margin: 0 2.5% 0 2px;
143
+ }
144
+
145
+ .fc-rtl .fc-time-grid .fc-event-container {
146
+ /* space on the sides of events for RTL */
147
+ margin: 0 2px 0 2.5%;
148
+ }
149
+
150
+ .fc-time-grid .fc-event,
151
+ .fc-time-grid .fc-bgevent {
152
+ position: absolute;
153
+ z-index: 1;
154
+ /* scope inner z-index's */
155
+ }
156
+
157
+ .fc-time-grid .fc-bgevent {
158
+ /* background events always span full width */
159
+ left: 0;
160
+ right: 0;
161
+ }
162
+
163
+ /* TimeGrid Event Styling
164
+ ----------------------------------------------------------------------------------------------------
165
+ We use the full "fc-time-grid-event" class instead of using descendants because the event won't
166
+ be a descendant of the grid when it is being dragged.
167
+ */
168
+ .fc-time-grid-event {
169
+ margin-bottom: 1px;
170
+ }
171
+
172
+ .fc-time-grid-event-inset {
173
+ -webkit-box-shadow: 0px 0px 0px 1px #fff;
174
+ box-shadow: 0px 0px 0px 1px #fff;
175
+ }
176
+
177
+ .fc-time-grid-event.fc-not-start {
178
+ /* events that are continuing from another day */
179
+ /* replace space made by the top border with padding */
180
+ border-top-width: 0;
181
+ padding-top: 1px;
182
+ /* remove top rounded corners */
183
+ border-top-left-radius: 0;
184
+ border-top-right-radius: 0;
185
+ }
186
+
187
+ .fc-time-grid-event.fc-not-end {
188
+ /* replace space made by the top border with padding */
189
+ border-bottom-width: 0;
190
+ padding-bottom: 1px;
191
+ /* remove bottom rounded corners */
192
+ border-bottom-left-radius: 0;
193
+ border-bottom-right-radius: 0;
194
+ }
195
+
196
+ .fc-time-grid-event .fc-content {
197
+ overflow: hidden;
198
+ max-height: 100%;
199
+ }
200
+
201
+ .fc-time-grid-event .fc-time,
202
+ .fc-time-grid-event .fc-title {
203
+ padding: 0 1px;
204
+ }
205
+
206
+ .fc-time-grid-event .fc-time {
207
+ font-size: 0.85em;
208
+ white-space: nowrap;
209
+ }
210
+
211
+ /* short mode, where time and title are on the same line */
212
+ .fc-time-grid-event.fc-short .fc-content {
213
+ /* don't wrap to second line (now that contents will be inline) */
214
+ white-space: nowrap;
215
+ }
216
+
217
+ .fc-time-grid-event.fc-short .fc-time,
218
+ .fc-time-grid-event.fc-short .fc-title {
219
+ /* put the time and title on the same line */
220
+ display: inline-block;
221
+ vertical-align: top;
222
+ }
223
+
224
+ .fc-time-grid-event.fc-short .fc-time span {
225
+ display: none;
226
+ /* don't display the full time text... */
227
+ }
228
+
229
+ .fc-time-grid-event.fc-short .fc-time:before {
230
+ content: attr(data-start);
231
+ /* ...instead, display only the start time */
232
+ }
233
+
234
+ .fc-time-grid-event.fc-short .fc-time:after {
235
+ content: " - ";
236
+ /* seperate with a dash, wrapped in nbsp's */
237
+ }
238
+
239
+ .fc-time-grid-event.fc-short .fc-title {
240
+ font-size: 0.85em;
241
+ /* make the title text the same size as the time */
242
+ padding: 0;
243
+ /* undo padding from above */
244
+ }
245
+
246
+ /* resizer (cursor device) */
247
+ .fc-time-grid-event.fc-allow-mouse-resize .fc-resizer {
248
+ left: 0;
249
+ right: 0;
250
+ bottom: 0;
251
+ height: 8px;
252
+ overflow: hidden;
253
+ line-height: 8px;
254
+ font-size: 11px;
255
+ font-family: monospace;
256
+ text-align: center;
257
+ cursor: s-resize;
258
+ }
259
+
260
+ .fc-time-grid-event.fc-allow-mouse-resize .fc-resizer:after {
261
+ content: "=";
262
+ }
263
+
264
+ /* resizer (touch device) */
265
+ .fc-time-grid-event.fc-selected .fc-resizer {
266
+ /* 10x10 dot */
267
+ border-radius: 5px;
268
+ border-width: 1px;
269
+ width: 8px;
270
+ height: 8px;
271
+ border-style: solid;
272
+ border-color: inherit;
273
+ background: #fff;
274
+ /* horizontally center */
275
+ left: 50%;
276
+ margin-left: -5px;
277
+ /* center on the bottom edge */
278
+ bottom: -5px;
279
+ }
280
+
281
+ /* Now Indicator
282
+ --------------------------------------------------------------------------------------------------*/
283
+ .fc-time-grid .fc-now-indicator-line {
284
+ border-top-width: 1px;
285
+ left: 0;
286
+ right: 0;
287
+ }
288
+
289
+ /* arrow on axis */
290
+ .fc-time-grid .fc-now-indicator-arrow {
291
+ margin-top: -5px;
292
+ /* vertically center on top coordinate */
293
+ }
294
+
295
+ .fc-ltr .fc-time-grid .fc-now-indicator-arrow {
296
+ left: 0;
297
+ /* triangle pointing right... */
298
+ border-width: 5px 0 5px 6px;
299
+ border-top-color: transparent;
300
+ border-bottom-color: transparent;
301
+ }
302
+
303
+ .fc-rtl .fc-time-grid .fc-now-indicator-arrow {
304
+ right: 0;
305
+ /* triangle pointing left... */
306
+ border-width: 5px 6px 5px 0;
307
+ border-top-color: transparent;
308
+ border-bottom-color: transparent;
309
+ }
assets/front-end/css/vendor/event-calendar/timegrid.min.css ADDED
@@ -0,0 +1 @@
 
1
+ @charset "UTF-8";.fc-timeGrid-view .fc-day-grid{position:relative;z-index:2}.fc-timeGrid-view .fc-day-grid .fc-row{min-height:3em}.fc-timeGrid-view .fc-day-grid .fc-row .fc-content-skeleton{padding-bottom:1em}.fc .fc-axis{vertical-align:middle;padding:0 4px;white-space:nowrap}.fc-ltr .fc-axis{text-align:right}.fc-rtl .fc-axis{text-align:left}.fc-time-grid,.fc-time-grid-container{position:relative;z-index:1}.fc-time-grid{min-height:100%}.fc-time-grid table{border:0 hidden transparent}.fc-time-grid>.fc-bg{z-index:1}.fc-time-grid .fc-slats,.fc-time-grid>hr{position:relative;z-index:2}.fc-time-grid .fc-content-col{position:relative}.fc-time-grid .fc-content-skeleton{position:absolute;z-index:3;top:0;left:0;right:0}.fc-time-grid .fc-business-container{position:relative;z-index:1}.fc-time-grid .fc-bgevent-container{position:relative;z-index:2}.fc-time-grid .fc-highlight-container{position:relative;z-index:3}.fc-time-grid .fc-event-container{position:relative;z-index:4}.fc-time-grid .fc-now-indicator-line{z-index:5}.fc-time-grid .fc-mirror-container{position:relative;z-index:6}.fc-time-grid .fc-slats td{height:1.5em;border-bottom:0}.fc-time-grid .fc-slats .fc-minor td{border-top-style:dotted}.fc-time-grid .fc-highlight-container{position:relative}.fc-time-grid .fc-highlight{position:absolute;left:0;right:0}.fc-ltr .fc-time-grid .fc-event-container{margin:0 2.5% 0 2px}.fc-rtl .fc-time-grid .fc-event-container{margin:0 2px 0 2.5%}.fc-time-grid .fc-bgevent,.fc-time-grid .fc-event{position:absolute;z-index:1}.fc-time-grid .fc-bgevent{left:0;right:0}.fc-time-grid-event{margin-bottom:1px}.fc-time-grid-event-inset{-webkit-box-shadow:0 0 0 1px #fff;box-shadow:0 0 0 1px #fff}.fc-time-grid-event.fc-not-start{border-top-width:0;padding-top:1px;border-top-left-radius:0;border-top-right-radius:0}.fc-time-grid-event.fc-not-end{border-bottom-width:0;padding-bottom:1px;border-bottom-left-radius:0;border-bottom-right-radius:0}.fc-time-grid-event .fc-content{overflow:hidden;max-height:100%}.fc-time-grid-event .fc-time,.fc-time-grid-event .fc-title{padding:0 1px}.fc-time-grid-event .fc-time{font-size:.85em;white-space:nowrap}.fc-time-grid-event.fc-short .fc-content{white-space:nowrap}.fc-time-grid-event.fc-short .fc-time,.fc-time-grid-event.fc-short .fc-title{display:inline-block;vertical-align:top}.fc-time-grid-event.fc-short .fc-time span{display:none}.fc-time-grid-event.fc-short .fc-time:before{content:attr(data-start)}.fc-time-grid-event.fc-short .fc-time:after{content:" - "}.fc-time-grid-event.fc-short .fc-title{font-size:.85em;padding:0}.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer{left:0;right:0;bottom:0;height:8px;overflow:hidden;line-height:8px;font-size:11px;font-family:monospace;text-align:center;cursor:s-resize}.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer:after{content:"="}.fc-time-grid-event.fc-selected .fc-resizer{border-radius:5px;border-width:1px;width:8px;height:8px;border-style:solid;border-color:inherit;background:#fff;left:50%;margin-left:-5px;bottom:-5px}.fc-time-grid .fc-now-indicator-line{border-top-width:1px;left:0;right:0}.fc-time-grid .fc-now-indicator-arrow{margin-top:-5px}.fc-ltr .fc-time-grid .fc-now-indicator-arrow{left:0;border-width:5px 0 5px 6px;border-top-color:transparent;border-bottom-color:transparent}.fc-rtl .fc-time-grid .fc-now-indicator-arrow{right:0;border-width:5px 6px 5px 0;border-top-color:transparent;border-bottom-color:transparent}
assets/front-end/js/adv-tabs/index.js CHANGED
@@ -66,6 +66,8 @@ var AdvanceTabHandler = function($scope, $) {
66
  $postGridGallery = tabsContent.eq(currentTabIndex).find('.eael-post-grid.eael-post-appender'),
67
  $twitterfeedGallery = tabsContent.eq(currentTabIndex).find('.eael-twitter-feed-masonry'),
68
  $instaGallery = tabsContent.eq(currentTabIndex).find('.eael-instafeed');
 
 
69
 
70
  if($postGridGallery.length) {
71
  $postGridGallery.isotope();
@@ -83,11 +85,16 @@ var AdvanceTabHandler = function($scope, $) {
83
  $instaGallery.isotope("layout");
84
  }
85
 
 
 
 
 
86
  $(tabsContent).each(function(index) {
87
  $(this).removeClass("active-default");
88
  });
89
  });
90
  };
 
91
  jQuery(window).on("elementor/frontend/init", function() {
92
  elementorFrontend.hooks.addAction(
93
  "frontend/element_ready/eael-adv-tabs.default",
66
  $postGridGallery = tabsContent.eq(currentTabIndex).find('.eael-post-grid.eael-post-appender'),
67
  $twitterfeedGallery = tabsContent.eq(currentTabIndex).find('.eael-twitter-feed-masonry'),
68
  $instaGallery = tabsContent.eq(currentTabIndex).find('.eael-instafeed');
69
+ var $imgCompContainer = tabsContent.eq(currentTabIndex).find('.eael-img-comp-container');
70
+
71
 
72
  if($postGridGallery.length) {
73
  $postGridGallery.isotope();
85
  $instaGallery.isotope("layout");
86
  }
87
 
88
+ if($imgCompContainer.length) {
89
+ $imgCompContainer.isotope("layout");
90
+ }
91
+
92
  $(tabsContent).each(function(index) {
93
  $(this).removeClass("active-default");
94
  });
95
  });
96
  };
97
+
98
  jQuery(window).on("elementor/frontend/init", function() {
99
  elementorFrontend.hooks.addAction(
100
  "frontend/element_ready/eael-adv-tabs.default",
assets/front-end/js/adv-tabs/index.min.js CHANGED
@@ -1 +1 @@
1
- var AdvanceTabHandler=function(e,c){var a="#"+e.find(".eael-advance-tabs").attr("id").toString();c(a+" .eael-tabs-nav ul li").each(function(e){c(this).hasClass("active-default")?(c(a+" .eael-tabs-nav > ul li").removeClass("active").addClass("inactive"),c(this).removeClass("inactive")):0==e&&c(this).removeClass("inactive").addClass("active")}),c(a+" .eael-tabs-content div").each(function(e){c(this).hasClass("active-default")?c(a+" .eael-tabs-content > div").removeClass("active"):0==e&&c(this).removeClass("inactive").addClass("active")}),c(a+" .eael-tabs-nav ul li").click(function(){var e=c(this).index(),a=c(this).closest(".eael-advance-tabs"),t=c(a).children(".eael-tabs-nav").children("ul").children("li"),i=c(a).children(".eael-tabs-content").children("div");c(this).parent("li").addClass("active"),c(t).removeClass("active active-default").addClass("inactive"),c(this).addClass("active").removeClass("inactive"),c(i).removeClass("active").addClass("inactive"),c(i).eq(e).addClass("active").removeClass("inactive");var s=i.eq(e).find(".eael-filter-gallery-container"),l=i.eq(e).find(".eael-post-grid.eael-post-appender"),n=i.eq(e).find(".eael-twitter-feed-masonry"),d=i.eq(e).find(".eael-instafeed");l.length&&l.isotope(),n.length&&n.isotope("layout"),s.length&&s.isotope("layout"),d.length&&d.isotope("layout"),c(i).each(function(e){c(this).removeClass("active-default")})})};jQuery(window).on("elementor/frontend/init",function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-adv-tabs.default",AdvanceTabHandler)});
1
+ var AdvanceTabHandler=function(e,c){var a="#"+e.find(".eael-advance-tabs").attr("id").toString();c(a+" .eael-tabs-nav ul li").each(function(e){c(this).hasClass("active-default")?(c(a+" .eael-tabs-nav > ul li").removeClass("active").addClass("inactive"),c(this).removeClass("inactive")):0==e&&c(this).removeClass("inactive").addClass("active")}),c(a+" .eael-tabs-content div").each(function(e){c(this).hasClass("active-default")?c(a+" .eael-tabs-content > div").removeClass("active"):0==e&&c(this).removeClass("inactive").addClass("active")}),c(a+" .eael-tabs-nav ul li").click(function(){var e=c(this).index(),a=c(this).closest(".eael-advance-tabs"),t=c(a).children(".eael-tabs-nav").children("ul").children("li"),i=c(a).children(".eael-tabs-content").children("div");c(this).parent("li").addClass("active"),c(t).removeClass("active active-default").addClass("inactive"),c(this).addClass("active").removeClass("inactive"),c(i).removeClass("active").addClass("inactive"),c(i).eq(e).addClass("active").removeClass("inactive");var n=i.eq(e).find(".eael-filter-gallery-container"),l=i.eq(e).find(".eael-post-grid.eael-post-appender"),s=i.eq(e).find(".eael-twitter-feed-masonry"),d=i.eq(e).find(".eael-instafeed"),o=i.eq(e).find(".eael-img-comp-container");l.length&&l.isotope(),s.length&&s.isotope("layout"),n.length&&n.isotope("layout"),d.length&&d.isotope("layout"),o.length&&o.isotope("layout"),c(i).each(function(e){c(this).removeClass("active-default")})})};jQuery(window).on("elementor/frontend/init",function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-adv-tabs.default",AdvanceTabHandler)});
assets/front-end/js/advanced-data-table/index.js CHANGED
@@ -79,17 +79,23 @@ var Advanced_Data_Table = function($scope, $) {
79
  var classCollection = {};
80
 
81
  if (isEditMode) {
 
 
82
  // add edit class
83
  table.classList.add("ea-advanced-data-table-editable");
84
 
85
- // insert editable area
86
- table.querySelectorAll("th, td").forEach(function(el) {
87
- var value = el.innerHTML;
88
 
89
- if (value.indexOf('<textarea rows="1">') !== 0) {
90
- el.innerHTML = '<textarea rows="1">' + value + "</textarea>";
91
- }
92
- });
 
 
 
 
 
93
 
94
  // drag
95
  table.addEventListener("mousedown", function(e) {
@@ -119,6 +125,7 @@ var Advanced_Data_Table = function($scope, $) {
119
  search.addEventListener("input", function(e) {
120
  var input = this.value.toLowerCase();
121
  var hasSort = table.classList.contains("ea-advanced-data-table-sortable");
 
122
 
123
  if (table.rows.length > 1) {
124
  if (input.length > 0) {
@@ -130,7 +137,7 @@ var Advanced_Data_Table = function($scope, $) {
130
  pagination.style.display = "none";
131
  }
132
 
133
- for (var i = 1; i < table.rows.length; i++) {
134
  var matchFound = false;
135
 
136
  if (table.rows[i].cells.length > 0) {
@@ -258,7 +265,7 @@ var Advanced_Data_Table = function($scope, $) {
258
  if (table.classList.contains("ea-advanced-data-table-paginated")) {
259
  var paginationHTML = "";
260
  var currentPage = 1;
261
- var startIndex = 1;
262
  var endIndex = currentPage * table.dataset.itemsPerPage;
263
  var maxPages = Math.ceil((table.rows.length - 1) / table.dataset.itemsPerPage);
264
 
@@ -289,7 +296,8 @@ var Advanced_Data_Table = function($scope, $) {
289
 
290
  if (e.target.tagName.toLowerCase() == "a") {
291
  currentPage = e.target.dataset.page;
292
- startIndex = (currentPage - 1) * table.dataset.itemsPerPage + 1;
 
293
  endIndex = currentPage * table.dataset.itemsPerPage;
294
 
295
  pagination.querySelectorAll(".ea-advanced-data-table-pagination-current").forEach(function(el) {
@@ -300,7 +308,7 @@ var Advanced_Data_Table = function($scope, $) {
300
  el.classList.add("ea-advanced-data-table-pagination-current");
301
  });
302
 
303
- for (var i = 1; i <= table.rows.length - 1; i++) {
304
  if (i >= startIndex && i <= endIndex) {
305
  table.rows[i].style.display = "table-row";
306
  } else {
@@ -335,15 +343,21 @@ var Advanced_Data_Table_Click_Handler = function(panel, model, view) {
335
  var row = [];
336
  var cols = rows[i].querySelectorAll("th, td");
337
 
338
- for (var j = 0; j < cols.length; j++) {
339
- row.push(
340
- JSON.stringify(
341
- cols[j]
342
- .querySelector("textarea")
343
- .value.replace(/(\r\n|\n|\r)/gm, " ")
344
- .trim()
345
- )
346
- );
 
 
 
 
 
 
347
  }
348
 
349
  csv.push(row.join(","));
@@ -372,7 +386,7 @@ var Advanced_Data_Table_Click_Handler = function(panel, model, view) {
372
  if (textarea.value.length > 0) {
373
  body += "<tbody>";
374
  csvArr.forEach(function(row, index) {
375
- cols = row.match(/"([^\\"]|\\")*"/g) || row.split(",");
376
 
377
  if (cols.length > 0) {
378
  if (enableHeader && index == 0) {
@@ -408,6 +422,60 @@ var Advanced_Data_Table_Click_Handler = function(panel, model, view) {
408
  }
409
 
410
  textarea.value = "";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
411
  }
412
  };
413
 
@@ -446,22 +514,36 @@ var Advanced_Data_Table_Inline_Edit = function(panel, model, view) {
446
 
447
  // drag
448
  table.addEventListener("mouseup", function(e) {
 
 
449
  if (e.target.tagName.toLowerCase() === "th") {
450
- clearTimeout(advanced_data_table_timeout);
 
 
451
 
452
- // clone current table
453
- var origTable = table.cloneNode(true);
 
 
 
454
 
455
- // remove editable area
456
- origTable.querySelectorAll("th, td").forEach(function(el) {
457
- var value = el.querySelector("textarea").value;
458
- el.innerHTML = value;
459
- });
 
460
 
461
- // update table
462
- Advanced_Data_Table_Update_View(view, false, {
463
- ea_adv_data_table_static_html: origTable.innerHTML
464
- });
 
 
 
 
 
 
465
  }
466
  });
467
 
@@ -495,10 +577,34 @@ var Advanced_Data_Table_Inline_Edit = function(panel, model, view) {
495
  panel.currentPageView.on("destroy", function() {
496
  panel.el.removeEventListener("click", handler);
497
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
498
  };
499
 
500
  Advanced_Data_Table_Context_Menu = function(groups, element) {
501
- if (element.options.model.attributes.widgetType == "eael-advanced-data-table") {
 
 
 
502
  groups.push({
503
  name: "ea_advanced_data_table",
504
  actions: [
79
  var classCollection = {};
80
 
81
  if (isEditMode) {
82
+ var attr = "readonly";
83
+
84
  // add edit class
85
  table.classList.add("ea-advanced-data-table-editable");
86
 
87
+ if (table.classList.contains("ea-advanced-data-table-static")) {
88
+ attr = "";
 
89
 
90
+ // insert editable area
91
+ table.querySelectorAll("th, td").forEach(function(el) {
92
+ var value = el.innerHTML;
93
+
94
+ if (value.indexOf('<textarea rows="1">') !== 0) {
95
+ el.innerHTML = '<textarea rows="1" ' + attr + ">" + value + "</textarea>";
96
+ }
97
+ });
98
+ }
99
 
100
  // drag
101
  table.addEventListener("mousedown", function(e) {
125
  search.addEventListener("input", function(e) {
126
  var input = this.value.toLowerCase();
127
  var hasSort = table.classList.contains("ea-advanced-data-table-sortable");
128
+ var offset = table.rows[0].parentNode.tagName.toLowerCase() == "thead" ? 1 : 0;
129
 
130
  if (table.rows.length > 1) {
131
  if (input.length > 0) {
137
  pagination.style.display = "none";
138
  }
139
 
140
+ for (var i = offset; i < table.rows.length; i++) {
141
  var matchFound = false;
142
 
143
  if (table.rows[i].cells.length > 0) {
265
  if (table.classList.contains("ea-advanced-data-table-paginated")) {
266
  var paginationHTML = "";
267
  var currentPage = 1;
268
+ var startIndex = table.rows[0].parentNode.tagName.toLowerCase() == "thead" ? 1 : 0;
269
  var endIndex = currentPage * table.dataset.itemsPerPage;
270
  var maxPages = Math.ceil((table.rows.length - 1) / table.dataset.itemsPerPage);
271
 
296
 
297
  if (e.target.tagName.toLowerCase() == "a") {
298
  currentPage = e.target.dataset.page;
299
+ offset = table.rows[0].parentNode.tagName.toLowerCase() == "thead" ? 1 : 0;
300
+ startIndex = (currentPage - 1) * table.dataset.itemsPerPage + offset;
301
  endIndex = currentPage * table.dataset.itemsPerPage;
302
 
303
  pagination.querySelectorAll(".ea-advanced-data-table-pagination-current").forEach(function(el) {
308
  el.classList.add("ea-advanced-data-table-pagination-current");
309
  });
310
 
311
+ for (var i = offset; i <= table.rows.length - 1; i++) {
312
  if (i >= startIndex && i <= endIndex) {
313
  table.rows[i].style.display = "table-row";
314
  } else {
343
  var row = [];
344
  var cols = rows[i].querySelectorAll("th, td");
345
 
346
+ if (table.classList.contains("ea-advanced-data-table-static")) {
347
+ for (var j = 0; j < cols.length; j++) {
348
+ row.push(
349
+ JSON.stringify(
350
+ cols[j]
351
+ .querySelector("textarea")
352
+ .value.replace(/(\r\n|\n|\r)/gm, " ")
353
+ .trim()
354
+ )
355
+ );
356
+ }
357
+ } else {
358
+ for (var j = 0; j < cols.length; j++) {
359
+ row.push(JSON.stringify(cols[j].innerHTML.replace(/(\r\n|\n|\r)/gm, " ").trim()));
360
+ }
361
  }
362
 
363
  csv.push(row.join(","));
386
  if (textarea.value.length > 0) {
387
  body += "<tbody>";
388
  csvArr.forEach(function(row, index) {
389
+ cols = row.match(/("(?:[^"\\]|\\.)*"|[^","]+)/gm);
390
 
391
  if (cols.length > 0) {
392
  if (enableHeader && index == 0) {
422
  }
423
 
424
  textarea.value = "";
425
+ } else if (event.target.dataset.event == "ea:advTable:connect") {
426
+ var button = event.target;
427
+ button.innerHTML = "Connecting";
428
+
429
+ jQuery.ajax({
430
+ url: localize.ajaxurl,
431
+ type: "post",
432
+ data: {
433
+ action: "connect_remote_db",
434
+ security: localize.nonce,
435
+ host: model.attributes.settings.attributes.ea_adv_data_table_source_remote_host,
436
+ username: model.attributes.settings.attributes.ea_adv_data_table_source_remote_username,
437
+ password: model.attributes.settings.attributes.ea_adv_data_table_source_remote_password,
438
+ database: model.attributes.settings.attributes.ea_adv_data_table_source_remote_database
439
+ },
440
+ success: function(response) {
441
+ if (response.connected == true) {
442
+ button.innerHTML = "Connected";
443
+
444
+ Advanced_Data_Table_Update_View(view, true, {
445
+ ea_adv_data_table_source_remote_connected: true,
446
+ ea_adv_data_table_source_remote_tables: response.tables
447
+ });
448
+
449
+ // reload panel
450
+ panel.content.el.querySelector(".elementor-section-title").click();
451
+ panel.content.el.querySelector(".elementor-section-title").click();
452
+
453
+ var select = panel.el.querySelector('[data-setting="ea_adv_data_table_source_remote_table"]');
454
+ select.length = 0;
455
+ response.tables.forEach(function(opt, index) {
456
+ select[index] = new Option(opt, opt);
457
+ });
458
+ } else {
459
+ button.innerHTML = "Failed";
460
+ }
461
+ },
462
+ error: function() {
463
+ button.innerHTML = "Failed";
464
+ }
465
+ });
466
+
467
+ setTimeout(function() {
468
+ button.innerHTML = "Connect";
469
+ }, 2000);
470
+ } else if (event.target.dataset.event == "ea:advTable:disconnect") {
471
+ Advanced_Data_Table_Update_View(view, true, {
472
+ ea_adv_data_table_source_remote_connected: false,
473
+ ea_adv_data_table_source_remote_tables: []
474
+ });
475
+
476
+ // reload panel
477
+ panel.content.el.querySelector(".elementor-section-title").click();
478
+ panel.content.el.querySelector(".elementor-section-title").click();
479
  }
480
  };
481
 
514
 
515
  // drag
516
  table.addEventListener("mouseup", function(e) {
517
+ clearTimeout(advanced_data_table_timeout);
518
+
519
  if (e.target.tagName.toLowerCase() === "th") {
520
+ if (table.classList.contains("ea-advanced-data-table-static")) {
521
+ // clone current table
522
+ var origTable = table.cloneNode(true);
523
 
524
+ // remove editable area
525
+ origTable.querySelectorAll("th, td").forEach(function(el) {
526
+ var value = el.querySelector("textarea").value;
527
+ el.innerHTML = value;
528
+ });
529
 
530
+ // update table
531
+ Advanced_Data_Table_Update_View(view, false, {
532
+ ea_adv_data_table_static_html: origTable.innerHTML
533
+ });
534
+ } else {
535
+ var widths = [];
536
 
537
+ // collect width of th
538
+ table.querySelectorAll("th").forEach(function(el, index) {
539
+ widths[index] = el.style.width;
540
+ });
541
+
542
+ // update table
543
+ Advanced_Data_Table_Update_View(view, false, {
544
+ ea_adv_data_table_dynamic_th_width: widths
545
+ });
546
+ }
547
  }
548
  });
549
 
577
  panel.currentPageView.on("destroy", function() {
578
  panel.el.removeEventListener("click", handler);
579
  });
580
+
581
+ // fill remote db list
582
+ var initRemoteTables = function() {
583
+ setTimeout(function() {
584
+ var select = panel.el.querySelector('[data-setting="ea_adv_data_table_source_remote_table"]');
585
+
586
+ if (select != null && select.length == 0) {
587
+ model.attributes.settings.attributes.ea_adv_data_table_source_remote_tables.forEach(function(opt, index) {
588
+ select[index] = new Option(opt, opt, false, opt == model.attributes.settings.attributes.ea_adv_data_table_source_remote_table);
589
+ });
590
+ }
591
+ }, 50);
592
+ };
593
+
594
+ initRemoteTables();
595
+
596
+ panel.el.addEventListener("mousedown", function(e) {
597
+ if (e.target.classList.contains("elementor-section-title") || e.target.parentNode.classList.contains("elementor-panel-navigation-tab")) {
598
+ initRemoteTables();
599
+ }
600
+ });
601
  };
602
 
603
  Advanced_Data_Table_Context_Menu = function(groups, element) {
604
+ if (
605
+ element.options.model.attributes.widgetType == "eael-advanced-data-table" &&
606
+ element.options.model.attributes.settings.attributes.ea_adv_data_table_source == "static"
607
+ ) {
608
  groups.push({
609
  name: "ea_advanced_data_table",
610
  actions: [
assets/front-end/js/advanced-data-table/index.min.js CHANGED
@@ -1 +1 @@
1
- var advanced_data_table_timeout,advanced_data_table_drag_start_x,advanced_data_table_drag_start_width,advanced_data_table_drag_el,advanced_data_table_active_cell=null,advanced_data_table_dragging=!1,Advanced_Data_Table_Update_View=function(e,a,t){var n=e.model;if(n.remoteRender=a,"2.7.6"<elementor.config.version){var d=e.getContainer(),l=e.getContainer().settings.attributes;Object.keys(t).forEach(function(e){l[e]=t[e]}),parent.window.$e.run("document/elements/settings",{container:d,settings:l,options:{external:a}})}else Object.keys(t).forEach(function(e){n.setSetting(e,t[e])});advanced_data_table_timeout=setTimeout(function(){n.remoteRender=!0},1001)},Advanced_Data_Table_Update_Model=function(a,e,t,n){if(a.remoteRender=t,"2.7.6"<elementor.config.version){var d=e.settings.attributes;Object.keys(n).forEach(function(e){d[e]=n[e]}),parent.window.$e.run("document/elements/settings",{container:e,settings:d,options:{external:t}})}else Object.keys(n).forEach(function(e){a.setSetting(e,n[e])});advanced_data_table_timeout=setTimeout(function(){a.remoteRender=!0},1001)},Advanced_Data_Table=function(e,a){var v=e.context.querySelector(".ea-advanced-data-table"),t=e.context.querySelector(".ea-advanced-data-table-search"),u=e.context.querySelector(".ea-advanced-data-table-pagination"),b={};if(isEditMode)v.classList.add("ea-advanced-data-table-editable"),v.querySelectorAll("th, td").forEach(function(e){var a=e.innerHTML;0!==a.indexOf('<textarea rows="1">')&&(e.innerHTML='<textarea rows="1">'+a+"</textarea>")}),v.addEventListener("mousedown",function(e){"th"===e.target.tagName.toLowerCase()&&(e.stopPropagation(),advanced_data_table_dragging=!0,advanced_data_table_drag_el=e.target,advanced_data_table_drag_start_x=e.pageX,advanced_data_table_drag_start_width=e.target.offsetWidth)}),document.addEventListener("mousemove",function(e){advanced_data_table_dragging&&(advanced_data_table_drag_el.style.width=advanced_data_table_drag_start_width+(event.pageX-advanced_data_table_drag_start_x)+"px")}),document.addEventListener("mouseup",function(e){advanced_data_table_dragging=advanced_data_table_dragging&&!1});else if(t&&t.addEventListener("input",function(e){var a=this.value.toLowerCase(),t=v.classList.contains("ea-advanced-data-table-sortable");if(1<v.rows.length)if(0<a.length){t&&v.classList.add("ea-advanced-data-table-unsortable"),u&&0<u.innerHTML.length&&(u.style.display="none");for(var n=1;n<v.rows.length;n++){var d=!1;if(0<v.rows[n].cells.length)for(var l=0;l<v.rows[n].cells.length;l++)if(-1<v.rows[n].cells[l].textContent.toLowerCase().indexOf(a)){d=!0;break}v.rows[n].style.display=d?"table-row":"none"}}else if(t&&v.classList.remove("ea-advanced-data-table-unsortable"),u&&0<u.innerHTML.length){u.style.display="";var r=u.querySelector(".ea-advanced-data-table-pagination-current").dataset.page,o=(r-1)*v.dataset.itemsPerPage+1,c=r*v.dataset.itemsPerPage;for(n=1;n<=v.rows.length-1;n++)v.rows[n].style.display=o<=n&&n<=c?"table-row":"none"}else for(n=1;n<=v.rows.length-1;n++)v.rows[n].style.display="table-row"}),v.classList.contains("ea-advanced-data-table-sortable")&&v.addEventListener("click",function(e){if("th"===e.target.tagName.toLowerCase()){var a=e.target.cellIndex,t=1,n=1,d=v.rows.length-1,l="",r=e.target.classList,o=[],c=v.cloneNode(!0);l=r.contains("asc")?(e.target.classList.remove("asc"),e.target.classList.add("desc"),"desc"):(r.contains("desc")&&e.target.classList.remove("desc"),e.target.classList.add("asc"),"asc"),u&&0<u.innerHTML.length&&(t=u.querySelector(".ea-advanced-data-table-pagination-current").dataset.page,n=(t-1)*v.dataset.itemsPerPage+1,d=d-(t-1)*v.dataset.itemsPerPage>=v.dataset.itemsPerPage?t*v.dataset.itemsPerPage:d),b[t]=[],v.querySelectorAll("th").forEach(function(e){e.cellIndex!=a&&e.classList.remove("asc","desc"),b[t].push(e.classList.contains("asc")?"asc":e.classList.contains("desc")?"desc":"")});for(var i=n;i<=d;i++){var s,_=v.rows[i].cells[a];s=isNaN(parseInt(_.innerText))?_.innerText.toLowerCase():parseInt(_.innerText),o.push({index:i,value:s})}"asc"==l?o.sort(function(e,a){return e.value>a.value?1:-1}):"desc"==l&&o.sort(function(e,a){return e.value<a.value?1:-1}),o.forEach(function(e,a){v.rows[n+a].innerHTML=c.rows[e.index].innerHTML})}}),v.classList.contains("ea-advanced-data-table-paginated")){var n="",d=1,l=1,r=d*v.dataset.itemsPerPage,o=Math.ceil((v.rows.length-1)/v.dataset.itemsPerPage);if(1<o){for(var c=1;c<=o;c++)n+='<a href="#" data-page="'+c+'" class="'+(1==c?"ea-advanced-data-table-pagination-current":"")+'">'+c+"</a>";u.insertAdjacentHTML("beforeend",'<a href="#" data-page="1">&laquo;</a>'+n+'<a href="#" data-page="'+o+'">&raquo;</a>')}for(c=0;c<=r&&!(c>=v.rows.length);c++)v.rows[c].style.display="table-row";u.addEventListener("click",function(e){if(e.preventDefault(),"a"==e.target.tagName.toLowerCase()){d=e.target.dataset.page,l=(d-1)*v.dataset.itemsPerPage+1,r=d*v.dataset.itemsPerPage,u.querySelectorAll(".ea-advanced-data-table-pagination-current").forEach(function(e){e.classList.remove("ea-advanced-data-table-pagination-current")}),u.querySelectorAll('[data-page="'+d+'"]').forEach(function(e){e.classList.add("ea-advanced-data-table-pagination-current")});for(var a=1;a<=v.rows.length-1;a++)v.rows[a].style.display=l<=a&&a<=r?"table-row":"none";v.querySelectorAll("th").forEach(function(e,a){e.classList.remove("asc","desc"),void 0!==b[d]&&b[d][a]&&e.classList.add(b[d][a])})}})}},Advanced_Data_Table_Click_Handler=function(e,a,t){if("ea:advTable:export"==event.target.dataset.event){for(var n=t.el.querySelector(".ea-advanced-data-table-"+a.attributes.id).querySelectorAll("table tr"),d=[],l=0;l<n.length;l++){for(var r=[],o=n[l].querySelectorAll("th, td"),c=0;c<o.length;c++)r.push(JSON.stringify(o[c].querySelector("textarea").value.replace(/(\r\n|\n|\r)/gm," ").trim()));d.push(r.join(","))}var i=new Blob([d.join("\n")],{type:"text/csv"}),s=parent.document.createElement("a");s.classList.add("ea-adv-data-table-download-"+a.attributes.id),s.download="ea-adv-data-table-"+a.attributes.id+".csv",s.href=window.URL.createObjectURL(i),s.style.display="none",parent.document.body.appendChild(s),s.click(),parent.document.querySelector(".ea-adv-data-table-download-"+a.attributes.id).remove()}else if("ea:advTable:import"==event.target.dataset.event){var _=e.el.querySelector(".ea_adv_table_csv_string"),v=e.el.querySelector(".ea_adv_table_csv_string_table").checked,u=_.value.split("\n"),b="",f="";0<_.value.length&&(f+="<tbody>",u.forEach(function(e,a){0<(o=e.match(/"([^\\"]|\\")*"/g)||e.split(",")).length&&(v&&0==a?(b+="<thead><tr>",o.forEach(function(e){e.match(/(^"")|(^")|("$)|(""$)/g)?b+="<th>"+JSON.parse(e)+"</th>":b+="<th>"+e+"</th>"}),b+="</tr></thead>"):(f+="<tr>",o.forEach(function(e){e.match(/(^"")|(^")|("$)|(""$)/g)?f+="<td>"+JSON.parse(e)+"</td>":f+="<td>"+e+"</td>"}),f+="</tr>"))}),f+="</tbody>",(0<b.length||0<f.length)&&Advanced_Data_Table_Update_View(t,!0,{ea_adv_data_table_static_html:b+f})),_.value=""}},Advanced_Data_Table_Inline_Edit=function(e,a,n){function t(){var e=setInterval(function(){if(n.el.querySelector(".ea-advanced-data-table")){var t=n.el.querySelector(".ea-advanced-data-table-"+a.attributes.id);t.addEventListener("focusin",function(e){"textarea"==e.target.tagName.toLowerCase()&&(advanced_data_table_active_cell=e.target)}),t.addEventListener("input",function(e){if("textarea"==e.target.tagName.toLowerCase()){clearTimeout(advanced_data_table_timeout);var a=t.cloneNode(!0);a.querySelectorAll("th, td").forEach(function(e){var a=e.querySelector("textarea").value;e.innerHTML=a}),Advanced_Data_Table_Update_View(n,!1,{ea_adv_data_table_static_html:a.innerHTML})}}),t.addEventListener("mouseup",function(e){if("th"===e.target.tagName.toLowerCase()){clearTimeout(advanced_data_table_timeout);var a=t.cloneNode(!0);a.querySelectorAll("th, td").forEach(function(e){var a=e.querySelector("textarea").value;e.innerHTML=a}),Advanced_Data_Table_Update_View(n,!1,{ea_adv_data_table_static_html:a.innerHTML})}}),t.addEventListener("dblclick",function(e){"th"===e.target.tagName.toLowerCase()&&(e.stopPropagation(),e.target.style.width="")}),clearInterval(e)}},10)}t(),a.on("remote:render",function(){t()});var d=Advanced_Data_Table_Click_Handler.bind(this,e,a,n);e.el.addEventListener("click",d),e.currentPageView.on("destroy",function(){e.el.removeEventListener("click",d)})};Advanced_Data_Table_Context_Menu=function(e,l){return"eael-advanced-data-table"==l.options.model.attributes.widgetType&&e.push({name:"ea_advanced_data_table",actions:[{name:"add_row_above",title:"Add Row Above",callback:function(){var e=document.querySelector(".ea-advanced-data-table-"+l.options.model.attributes.id);if(null!==advanced_data_table_active_cell&&"th"!=advanced_data_table_active_cell.parentNode.tagName.toLowerCase()){for(var a=advanced_data_table_active_cell.parentNode.parentNode.rowIndex,t=e.insertRow(a),n=0;n<e.rows[0].cells.length;n++){t.insertCell(n).innerHTML='<textarea rows="1"></textarea>'}advanced_data_table_active_cell=null;var d=e.cloneNode(!0);d.querySelectorAll("th, td").forEach(function(e){var a=e.querySelector("textarea").value;e.innerHTML=a}),Advanced_Data_Table_Update_Model(l.options.model,l.container,!1,{ea_adv_data_table_static_html:d.innerHTML})}}},{name:"add_row_below",title:"Add Row Below",callback:function(){var e=document.querySelector(".ea-advanced-data-table-"+l.options.model.attributes.id);if(null!==advanced_data_table_active_cell){for(var a=advanced_data_table_active_cell.parentNode.parentNode.rowIndex+1,t=e.insertRow(a),n=0;n<e.rows[0].cells.length;n++){t.insertCell(n).innerHTML='<textarea rows="1"></textarea>'}advanced_data_table_active_cell=null;var d=e.cloneNode(!0);d.querySelectorAll("th, td").forEach(function(e){var a=e.querySelector("textarea").value;e.innerHTML=a}),Advanced_Data_Table_Update_Model(l.options.model,l.container,!1,{ea_adv_data_table_static_html:d.innerHTML})}}},{name:"add_column_left",title:"Add Column Left",callback:function(){var e=document.querySelector(".ea-advanced-data-table-"+l.options.model.attributes.id);if(null!==advanced_data_table_active_cell){for(var a=advanced_data_table_active_cell.parentNode.cellIndex,t=0;t<e.rows.length;t++){if("th"==e.rows[t].cells[0].tagName.toLowerCase())var n=e.rows[t].insertBefore(document.createElement("th"),e.rows[t].cells[a]);else n=e.rows[t].insertCell(a);n.innerHTML='<textarea rows="1"></textarea>'}advanced_data_table_active_cell=null;var d=e.cloneNode(!0);d.querySelectorAll("th, td").forEach(function(e){var a=e.querySelector("textarea").value;e.innerHTML=a}),Advanced_Data_Table_Update_Model(l.options.model,l.container,!1,{ea_adv_data_table_static_html:d.innerHTML})}}},{name:"add_column_right",title:"Add Column Right",callback:function(){var e=document.querySelector(".ea-advanced-data-table-"+l.options.model.attributes.id);if(null!==advanced_data_table_active_cell){for(var a=advanced_data_table_active_cell.parentNode.cellIndex+1,t=0;t<e.rows.length;t++){if("th"==e.rows[t].cells[0].tagName.toLowerCase())var n=e.rows[t].insertBefore(document.createElement("th"),e.rows[t].cells[a]);else n=e.rows[t].insertCell(a);n.innerHTML='<textarea rows="1"></textarea>'}advanced_data_table_active_cell=null;var d=e.cloneNode(!0);d.querySelectorAll("th, td").forEach(function(e){var a=e.querySelector("textarea").value;e.innerHTML=a}),Advanced_Data_Table_Update_Model(l.options.model,l.container,!1,{ea_adv_data_table_static_html:d.innerHTML})}}},{name:"delete_row",title:"Delete Row",callback:function(){var e=document.querySelector(".ea-advanced-data-table-"+l.options.model.attributes.id);if(null!==advanced_data_table_active_cell){var a=advanced_data_table_active_cell.parentNode.parentNode.rowIndex;e.deleteRow(a),advanced_data_table_active_cell=null;var t=e.cloneNode(!0);t.querySelectorAll("th, td").forEach(function(e){var a=e.querySelector("textarea").value;e.innerHTML=a}),Advanced_Data_Table_Update_Model(l.options.model,l.container,!1,{ea_adv_data_table_static_html:t.innerHTML})}}},{name:"delete_column",title:"Delete Column",callback:function(){var e=document.querySelector(".ea-advanced-data-table-"+l.options.model.attributes.id);if(null!==advanced_data_table_active_cell){for(var a=advanced_data_table_active_cell.parentNode.cellIndex,t=0;t<e.rows.length;t++)e.rows[t].deleteCell(a);advanced_data_table_active_cell=null;var n=e.cloneNode(!0);n.querySelectorAll("th, td").forEach(function(e){var a=e.querySelector("textarea").value;e.innerHTML=a}),Advanced_Data_Table_Update_Model(l.options.model,l.container,!1,{ea_adv_data_table_static_html:n.innerHTML})}}}]}),e},jQuery(window).on("elementor/frontend/init",function(){isEditMode&&(elementor.hooks.addFilter("elements/widget/contextMenuGroups",Advanced_Data_Table_Context_Menu),elementor.hooks.addAction("panel/open_editor/widget/eael-advanced-data-table",Advanced_Data_Table_Inline_Edit)),elementorFrontend.hooks.addAction("frontend/element_ready/eael-advanced-data-table.default",Advanced_Data_Table)});
1
+ var advanced_data_table_timeout,advanced_data_table_drag_start_x,advanced_data_table_drag_start_width,advanced_data_table_drag_el,advanced_data_table_active_cell=null,advanced_data_table_dragging=!1,Advanced_Data_Table_Update_View=function(e,a,t){var n=e.model;if(n.remoteRender=a,"2.7.6"<elementor.config.version){var d=e.getContainer(),r=e.getContainer().settings.attributes;Object.keys(t).forEach(function(e){r[e]=t[e]}),parent.window.$e.run("document/elements/settings",{container:d,settings:r,options:{external:a}})}else Object.keys(t).forEach(function(e){n.setSetting(e,t[e])});advanced_data_table_timeout=setTimeout(function(){n.remoteRender=!0},1001)},Advanced_Data_Table_Update_Model=function(a,e,t,n){if(a.remoteRender=t,"2.7.6"<elementor.config.version){var d=e.settings.attributes;Object.keys(n).forEach(function(e){d[e]=n[e]}),parent.window.$e.run("document/elements/settings",{container:e,settings:d,options:{external:t}})}else Object.keys(n).forEach(function(e){a.setSetting(e,n[e])});advanced_data_table_timeout=setTimeout(function(){a.remoteRender=!0},1001)},Advanced_Data_Table=function(e,a){var v=e.context.querySelector(".ea-advanced-data-table"),t=e.context.querySelector(".ea-advanced-data-table-search"),u=e.context.querySelector(".ea-advanced-data-table-pagination"),b={};if(isEditMode){var n="readonly";v.classList.add("ea-advanced-data-table-editable"),v.classList.contains("ea-advanced-data-table-static")&&(n="",v.querySelectorAll("th, td").forEach(function(e){var a=e.innerHTML;0!==a.indexOf('<textarea rows="1">')&&(e.innerHTML='<textarea rows="1" '+n+">"+a+"</textarea>")})),v.addEventListener("mousedown",function(e){"th"===e.target.tagName.toLowerCase()&&(e.stopPropagation(),advanced_data_table_dragging=!0,advanced_data_table_drag_el=e.target,advanced_data_table_drag_start_x=e.pageX,advanced_data_table_drag_start_width=e.target.offsetWidth)}),document.addEventListener("mousemove",function(e){advanced_data_table_dragging&&(advanced_data_table_drag_el.style.width=advanced_data_table_drag_start_width+(event.pageX-advanced_data_table_drag_start_x)+"px")}),document.addEventListener("mouseup",function(e){advanced_data_table_dragging=advanced_data_table_dragging&&!1})}else if(t&&t.addEventListener("input",function(e){var a=this.value.toLowerCase(),t=v.classList.contains("ea-advanced-data-table-sortable"),n="thead"==v.rows[0].parentNode.tagName.toLowerCase()?1:0;if(1<v.rows.length)if(0<a.length){t&&v.classList.add("ea-advanced-data-table-unsortable"),u&&0<u.innerHTML.length&&(u.style.display="none");for(var d=n;d<v.rows.length;d++){var r=!1;if(0<v.rows[d].cells.length)for(var l=0;l<v.rows[d].cells.length;l++)if(-1<v.rows[d].cells[l].textContent.toLowerCase().indexOf(a)){r=!0;break}v.rows[d].style.display=r?"table-row":"none"}}else if(t&&v.classList.remove("ea-advanced-data-table-unsortable"),u&&0<u.innerHTML.length){u.style.display="";var o=u.querySelector(".ea-advanced-data-table-pagination-current").dataset.page,c=(o-1)*v.dataset.itemsPerPage+1,i=o*v.dataset.itemsPerPage;for(d=1;d<=v.rows.length-1;d++)v.rows[d].style.display=c<=d&&d<=i?"table-row":"none"}else for(d=1;d<=v.rows.length-1;d++)v.rows[d].style.display="table-row"}),v.classList.contains("ea-advanced-data-table-sortable")&&v.addEventListener("click",function(e){if("th"===e.target.tagName.toLowerCase()){var a=e.target.cellIndex,t=1,n=1,d=v.rows.length-1,r="",l=e.target.classList,o=[],c=v.cloneNode(!0);r=l.contains("asc")?(e.target.classList.remove("asc"),e.target.classList.add("desc"),"desc"):(l.contains("desc")&&e.target.classList.remove("desc"),e.target.classList.add("asc"),"asc"),u&&0<u.innerHTML.length&&(t=u.querySelector(".ea-advanced-data-table-pagination-current").dataset.page,n=(t-1)*v.dataset.itemsPerPage+1,d=d-(t-1)*v.dataset.itemsPerPage>=v.dataset.itemsPerPage?t*v.dataset.itemsPerPage:d),b[t]=[],v.querySelectorAll("th").forEach(function(e){e.cellIndex!=a&&e.classList.remove("asc","desc"),b[t].push(e.classList.contains("asc")?"asc":e.classList.contains("desc")?"desc":"")});for(var i=n;i<=d;i++){var s,_=v.rows[i].cells[a];s=isNaN(parseInt(_.innerText))?_.innerText.toLowerCase():parseInt(_.innerText),o.push({index:i,value:s})}"asc"==r?o.sort(function(e,a){return e.value>a.value?1:-1}):"desc"==r&&o.sort(function(e,a){return e.value<a.value?1:-1}),o.forEach(function(e,a){v.rows[n+a].innerHTML=c.rows[e.index].innerHTML})}}),v.classList.contains("ea-advanced-data-table-paginated")){var d="",r=1,l="thead"==v.rows[0].parentNode.tagName.toLowerCase()?1:0,o=r*v.dataset.itemsPerPage,c=Math.ceil((v.rows.length-1)/v.dataset.itemsPerPage);if(1<c){for(var i=1;i<=c;i++)d+='<a href="#" data-page="'+i+'" class="'+(1==i?"ea-advanced-data-table-pagination-current":"")+'">'+i+"</a>";u.insertAdjacentHTML("beforeend",'<a href="#" data-page="1">&laquo;</a>'+d+'<a href="#" data-page="'+c+'">&raquo;</a>')}for(i=0;i<=o&&!(i>=v.rows.length);i++)v.rows[i].style.display="table-row";u.addEventListener("click",function(e){if(e.preventDefault(),"a"==e.target.tagName.toLowerCase()){r=e.target.dataset.page,offset="thead"==v.rows[0].parentNode.tagName.toLowerCase()?1:0,l=(r-1)*v.dataset.itemsPerPage+offset,o=r*v.dataset.itemsPerPage,u.querySelectorAll(".ea-advanced-data-table-pagination-current").forEach(function(e){e.classList.remove("ea-advanced-data-table-pagination-current")}),u.querySelectorAll('[data-page="'+r+'"]').forEach(function(e){e.classList.add("ea-advanced-data-table-pagination-current")});for(var a=offset;a<=v.rows.length-1;a++)v.rows[a].style.display=l<=a&&a<=o?"table-row":"none";v.querySelectorAll("th").forEach(function(e,a){e.classList.remove("asc","desc"),void 0!==b[r]&&b[r][a]&&e.classList.add(b[r][a])})}})}},Advanced_Data_Table_Click_Handler=function(a,e,n){if("ea:advTable:export"==event.target.dataset.event){for(var t=n.el.querySelector(".ea-advanced-data-table-"+e.attributes.id),d=t.querySelectorAll("table tr"),r=[],l=0;l<d.length;l++){var o=[],c=d[l].querySelectorAll("th, td");if(t.classList.contains("ea-advanced-data-table-static"))for(var i=0;i<c.length;i++)o.push(JSON.stringify(c[i].querySelector("textarea").value.replace(/(\r\n|\n|\r)/gm," ").trim()));else for(i=0;i<c.length;i++)o.push(JSON.stringify(c[i].innerHTML.replace(/(\r\n|\n|\r)/gm," ").trim()));r.push(o.join(","))}var s=new Blob([r.join("\n")],{type:"text/csv"}),_=parent.document.createElement("a");_.classList.add("ea-adv-data-table-download-"+e.attributes.id),_.download="ea-adv-data-table-"+e.attributes.id+".csv",_.href=window.URL.createObjectURL(s),_.style.display="none",parent.document.body.appendChild(_),_.click(),parent.document.querySelector(".ea-adv-data-table-download-"+e.attributes.id).remove()}else if("ea:advTable:import"==event.target.dataset.event){var v=a.el.querySelector(".ea_adv_table_csv_string"),u=a.el.querySelector(".ea_adv_table_csv_string_table").checked,b=v.value.split("\n"),f="",g="";0<v.value.length&&(g+="<tbody>",b.forEach(function(e,a){0<(c=e.match(/("(?:[^"\\]|\\.)*"|[^","]+)/gm)).length&&(u&&0==a?(f+="<thead><tr>",c.forEach(function(e){e.match(/(^"")|(^")|("$)|(""$)/g)?f+="<th>"+JSON.parse(e)+"</th>":f+="<th>"+e+"</th>"}),f+="</tr></thead>"):(g+="<tr>",c.forEach(function(e){e.match(/(^"")|(^")|("$)|(""$)/g)?g+="<td>"+JSON.parse(e)+"</td>":g+="<td>"+e+"</td>"}),g+="</tr>"))}),g+="</tbody>",(0<f.length||0<g.length)&&Advanced_Data_Table_Update_View(n,!0,{ea_adv_data_table_static_html:f+g})),v.value=""}else if("ea:advTable:connect"==event.target.dataset.event){var m=event.target;m.innerHTML="Connecting",jQuery.ajax({url:localize.ajaxurl,type:"post",data:{action:"connect_remote_db",security:localize.nonce,host:e.attributes.settings.attributes.ea_adv_data_table_source_remote_host,username:e.attributes.settings.attributes.ea_adv_data_table_source_remote_username,password:e.attributes.settings.attributes.ea_adv_data_table_source_remote_password,database:e.attributes.settings.attributes.ea_adv_data_table_source_remote_database},success:function(e){if(1==e.connected){m.innerHTML="Connected",Advanced_Data_Table_Update_View(n,!0,{ea_adv_data_table_source_remote_connected:!0,ea_adv_data_table_source_remote_tables:e.tables}),a.content.el.querySelector(".elementor-section-title").click(),a.content.el.querySelector(".elementor-section-title").click();var t=a.el.querySelector('[data-setting="ea_adv_data_table_source_remote_table"]');t.length=0,e.tables.forEach(function(e,a){t[a]=new Option(e,e)})}else m.innerHTML="Failed"},error:function(){m.innerHTML="Failed"}}),setTimeout(function(){m.innerHTML="Connect"},2e3)}else"ea:advTable:disconnect"==event.target.dataset.event&&(Advanced_Data_Table_Update_View(n,!0,{ea_adv_data_table_source_remote_connected:!1,ea_adv_data_table_source_remote_tables:[]}),a.content.el.querySelector(".elementor-section-title").click(),a.content.el.querySelector(".elementor-section-title").click())},Advanced_Data_Table_Inline_Edit=function(e,d,r){function a(){var e=setInterval(function(){if(r.el.querySelector(".ea-advanced-data-table")){var n=r.el.querySelector(".ea-advanced-data-table-"+d.attributes.id);n.addEventListener("focusin",function(e){"textarea"==e.target.tagName.toLowerCase()&&(advanced_data_table_active_cell=e.target)}),n.addEventListener("input",function(e){if("textarea"==e.target.tagName.toLowerCase()){clearTimeout(advanced_data_table_timeout);var a=n.cloneNode(!0);a.querySelectorAll("th, td").forEach(function(e){var a=e.querySelector("textarea").value;e.innerHTML=a}),Advanced_Data_Table_Update_View(r,!1,{ea_adv_data_table_static_html:a.innerHTML})}}),n.addEventListener("mouseup",function(e){if(clearTimeout(advanced_data_table_timeout),"th"===e.target.tagName.toLowerCase())if(n.classList.contains("ea-advanced-data-table-static")){var a=n.cloneNode(!0);a.querySelectorAll("th, td").forEach(function(e){var a=e.querySelector("textarea").value;e.innerHTML=a}),Advanced_Data_Table_Update_View(r,!1,{ea_adv_data_table_static_html:a.innerHTML})}else{var t=[];n.querySelectorAll("th").forEach(function(e,a){t[a]=e.style.width}),Advanced_Data_Table_Update_View(r,!1,{ea_adv_data_table_dynamic_th_width:t})}}),n.addEventListener("dblclick",function(e){"th"===e.target.tagName.toLowerCase()&&(e.stopPropagation(),e.target.style.width="")}),clearInterval(e)}},10)}a(),d.on("remote:render",function(){a()});var t=Advanced_Data_Table_Click_Handler.bind(this,e,d,r);e.el.addEventListener("click",t),e.currentPageView.on("destroy",function(){e.el.removeEventListener("click",t)});function n(){setTimeout(function(){var t=e.el.querySelector('[data-setting="ea_adv_data_table_source_remote_table"]');null!=t&&0==t.length&&d.attributes.settings.attributes.ea_adv_data_table_source_remote_tables.forEach(function(e,a){t[a]=new Option(e,e,!1,e==d.attributes.settings.attributes.ea_adv_data_table_source_remote_table)})},50)}n(),e.el.addEventListener("mousedown",function(e){(e.target.classList.contains("elementor-section-title")||e.target.parentNode.classList.contains("elementor-panel-navigation-tab"))&&n()})};Advanced_Data_Table_Context_Menu=function(e,r){return"eael-advanced-data-table"==r.options.model.attributes.widgetType&&"static"==r.options.model.attributes.settings.attributes.ea_adv_data_table_source&&e.push({name:"ea_advanced_data_table",actions:[{name:"add_row_above",title:"Add Row Above",callback:function(){var e=document.querySelector(".ea-advanced-data-table-"+r.options.model.attributes.id);if(null!==advanced_data_table_active_cell&&"th"!=advanced_data_table_active_cell.parentNode.tagName.toLowerCase()){for(var a=advanced_data_table_active_cell.parentNode.parentNode.rowIndex,t=e.insertRow(a),n=0;n<e.rows[0].cells.length;n++){t.insertCell(n).innerHTML='<textarea rows="1"></textarea>'}advanced_data_table_active_cell=null;var d=e.cloneNode(!0);d.querySelectorAll("th, td").forEach(function(e){var a=e.querySelector("textarea").value;e.innerHTML=a}),Advanced_Data_Table_Update_Model(r.options.model,r.container,!1,{ea_adv_data_table_static_html:d.innerHTML})}}},{name:"add_row_below",title:"Add Row Below",callback:function(){var e=document.querySelector(".ea-advanced-data-table-"+r.options.model.attributes.id);if(null!==advanced_data_table_active_cell){for(var a=advanced_data_table_active_cell.parentNode.parentNode.rowIndex+1,t=e.insertRow(a),n=0;n<e.rows[0].cells.length;n++){t.insertCell(n).innerHTML='<textarea rows="1"></textarea>'}advanced_data_table_active_cell=null;var d=e.cloneNode(!0);d.querySelectorAll("th, td").forEach(function(e){var a=e.querySelector("textarea").value;e.innerHTML=a}),Advanced_Data_Table_Update_Model(r.options.model,r.container,!1,{ea_adv_data_table_static_html:d.innerHTML})}}},{name:"add_column_left",title:"Add Column Left",callback:function(){var e=document.querySelector(".ea-advanced-data-table-"+r.options.model.attributes.id);if(null!==advanced_data_table_active_cell){for(var a=advanced_data_table_active_cell.parentNode.cellIndex,t=0;t<e.rows.length;t++){if("th"==e.rows[t].cells[0].tagName.toLowerCase())var n=e.rows[t].insertBefore(document.createElement("th"),e.rows[t].cells[a]);else n=e.rows[t].insertCell(a);n.innerHTML='<textarea rows="1"></textarea>'}advanced_data_table_active_cell=null;var d=e.cloneNode(!0);d.querySelectorAll("th, td").forEach(function(e){var a=e.querySelector("textarea").value;e.innerHTML=a}),Advanced_Data_Table_Update_Model(r.options.model,r.container,!1,{ea_adv_data_table_static_html:d.innerHTML})}}},{name:"add_column_right",title:"Add Column Right",callback:function(){var e=document.querySelector(".ea-advanced-data-table-"+r.options.model.attributes.id);if(null!==advanced_data_table_active_cell){for(var a=advanced_data_table_active_cell.parentNode.cellIndex+1,t=0;t<e.rows.length;t++){if("th"==e.rows[t].cells[0].tagName.toLowerCase())var n=e.rows[t].insertBefore(document.createElement("th"),e.rows[t].cells[a]);else n=e.rows[t].insertCell(a);n.innerHTML='<textarea rows="1"></textarea>'}advanced_data_table_active_cell=null;var d=e.cloneNode(!0);d.querySelectorAll("th, td").forEach(function(e){var a=e.querySelector("textarea").value;e.innerHTML=a}),Advanced_Data_Table_Update_Model(r.options.model,r.container,!1,{ea_adv_data_table_static_html:d.innerHTML})}}},{name:"delete_row",title:"Delete Row",callback:function(){var e=document.querySelector(".ea-advanced-data-table-"+r.options.model.attributes.id);if(null!==advanced_data_table_active_cell){var a=advanced_data_table_active_cell.parentNode.parentNode.rowIndex;e.deleteRow(a),advanced_data_table_active_cell=null;var t=e.cloneNode(!0);t.querySelectorAll("th, td").forEach(function(e){var a=e.querySelector("textarea").value;e.innerHTML=a}),Advanced_Data_Table_Update_Model(r.options.model,r.container,!1,{ea_adv_data_table_static_html:t.innerHTML})}}},{name:"delete_column",title:"Delete Column",callback:function(){var e=document.querySelector(".ea-advanced-data-table-"+r.options.model.attributes.id);if(null!==advanced_data_table_active_cell){for(var a=advanced_data_table_active_cell.parentNode.cellIndex,t=0;t<e.rows.length;t++)e.rows[t].deleteCell(a);advanced_data_table_active_cell=null;var n=e.cloneNode(!0);n.querySelectorAll("th, td").forEach(function(e){var a=e.querySelector("textarea").value;e.innerHTML=a}),Advanced_Data_Table_Update_Model(r.options.model,r.container,!1,{ea_adv_data_table_static_html:n.innerHTML})}}}]}),e},jQuery(window).on("elementor/frontend/init",function(){isEditMode&&(elementor.hooks.addFilter("elements/widget/contextMenuGroups",Advanced_Data_Table_Context_Menu),elementor.hooks.addAction("panel/open_editor/widget/eael-advanced-data-table",Advanced_Data_Table_Inline_Edit)),elementorFrontend.hooks.addAction("frontend/element_ready/eael-advanced-data-table.default",Advanced_Data_Table)});
assets/front-end/js/eael.js CHANGED
@@ -1,20912 +1,38893 @@
1
- !function(t,s,e){"use strict";var i=function(t,s){var i=this;this.el=t,this.options={},Object.keys(r).forEach(function(t){i.options[t]=r[t]}),Object.keys(s).forEach(function(t){i.options[t]=s[t]}),this.isInput="input"===this.el.tagName.toLowerCase(),this.attr=this.options.attr,this.showCursor=!this.isInput&&this.options.showCursor,this.elContent=this.attr?this.el.getAttribute(this.attr):this.el.textContent,this.contentType=this.options.contentType,this.typeSpeed=this.options.typeSpeed,this.startDelay=this.options.startDelay,this.backSpeed=this.options.backSpeed,this.backDelay=this.options.backDelay,e&&this.options.stringsElement instanceof e?this.stringsElement=this.options.stringsElement[0]:this.stringsElement=this.options.stringsElement,this.strings=this.options.strings,this.strPos=0,this.arrayPos=0,this.stopNum=0,this.loop=this.options.loop,this.loopCount=this.options.loopCount,this.curLoop=0,this.stop=!1,this.cursorChar=this.options.cursorChar,this.shuffle=this.options.shuffle,this.sequence=[],this.build()};i.prototype={constructor:i,init:function(){var t=this;t.timeout=setTimeout(function(){for(var s=0;s<t.strings.length;++s)t.sequence[s]=s;t.shuffle&&(t.sequence=t.shuffleArray(t.sequence)),t.typewrite(t.strings[t.sequence[t.arrayPos]],t.strPos)},t.startDelay)},build:function(){var t=this;if(this.showCursor===!0&&(this.cursor=s.createElement("span"),this.cursor.className="typed-cursor",this.cursor.innerHTML=this.cursorChar,this.el.parentNode&&this.el.parentNode.insertBefore(this.cursor,this.el.nextSibling)),this.stringsElement){this.strings=[],this.stringsElement.style.display="none";var e=Array.prototype.slice.apply(this.stringsElement.children);e.forEach(function(s){t.strings.push(s.innerHTML)})}this.init()},typewrite:function(t,s){if(this.stop!==!0){var e=Math.round(70*Math.random())+this.typeSpeed,i=this;i.timeout=setTimeout(function(){var e=0,r=t.substr(s);if("^"===r.charAt(0)){var o=1;/^\^\d+/.test(r)&&(r=/\d+/.exec(r)[0],o+=r.length,e=parseInt(r)),t=t.substring(0,s)+t.substring(s+o)}if("html"===i.contentType){var n=t.substr(s).charAt(0);if("<"===n||"&"===n){var a="",h="";for(h="<"===n?">":";";t.substr(s+1).charAt(0)!==h&&(a+=t.substr(s).charAt(0),s++,!(s+1>t.length)););s++,a+=h}}i.timeout=setTimeout(function(){if(s===t.length){if(i.options.onStringTyped(i.arrayPos),i.arrayPos===i.strings.length-1&&(i.options.callback(),i.curLoop++,i.loop===!1||i.curLoop===i.loopCount))return;i.timeout=setTimeout(function(){i.backspace(t,s)},i.backDelay)}else{0===s&&i.options.preStringTyped(i.arrayPos);var e=t.substr(0,s+1);i.attr?i.el.setAttribute(i.attr,e):i.isInput?i.el.value=e:"html"===i.contentType?i.el.innerHTML=e:i.el.textContent=e,s++,i.typewrite(t,s)}},e)},e)}},backspace:function(t,s){if(this.stop!==!0){var e=Math.round(70*Math.random())+this.backSpeed,i=this;i.timeout=setTimeout(function(){if("html"===i.contentType&&">"===t.substr(s).charAt(0)){for(var e="";"<"!==t.substr(s-1).charAt(0)&&(e-=t.substr(s).charAt(0),s--,!(s<0)););s--,e+="<"}var r=t.substr(0,s);i.attr?i.el.setAttribute(i.attr,r):i.isInput?i.el.value=r:"html"===i.contentType?i.el.innerHTML=r:i.el.textContent=r,s>i.stopNum?(s--,i.backspace(t,s)):s<=i.stopNum&&(i.arrayPos++,i.arrayPos===i.strings.length?(i.arrayPos=0,i.shuffle&&(i.sequence=i.shuffleArray(i.sequence)),i.init()):i.typewrite(i.strings[i.sequence[i.arrayPos]],s))},e)}},shuffleArray:function(t){var s,e,i=t.length;if(i)for(;--i;)e=Math.floor(Math.random()*(i+1)),s=t[e],t[e]=t[i],t[i]=s;return t},reset:function(){var t=this;clearInterval(t.timeout);this.el.getAttribute("id");this.el.textContent="","undefined"!=typeof this.cursor&&"undefined"!=typeof this.cursor.parentNode&&this.cursor.parentNode.removeChild(this.cursor),this.strPos=0,this.arrayPos=0,this.curLoop=0,this.options.resetCallback()}},i["new"]=function(t,e){var r=Array.prototype.slice.apply(s.querySelectorAll(t));r.forEach(function(t){var s=t._typed,r="object"==typeof e&&e;s&&s.reset(),t._typed=s=new i(t,r),"string"==typeof e&&s[e]()})},e&&(e.fn.typed=function(t){return this.each(function(){var s=e(this),r=s.data("typed"),o="object"==typeof t&&t;r&&r.reset(),s.data("typed",r=new i(this,o)),"string"==typeof t&&r[t]()})}),t.Typed=i;var r={strings:["These are the default values...","You know what you should do?","Use your own!","Have a great day!"],stringsElement:null,typeSpeed:0,startDelay:0,backSpeed:0,shuffle:!1,backDelay:500,loop:!1,loopCount:!1,showCursor:!0,cursorChar:"|",attr:null,contentType:"html",callback:function(){},preStringTyped:function(){},onStringTyped:function(){},resetCallback:function(){}}}(window,document,window.jQuery);
2
- !function(a){"use strict";function b(b,c){this.element=a(b),this.settings=a.extend({},d,c),this._defaults=d,this._init()}var c="Morphext",d={animation:"bounceIn",separator:",",speed:2e3,complete:a.noop};b.prototype={_init:function(){var b=this;this.phrases=[],this.element.addClass("morphext"),a.each(this.element.text().split(this.settings.separator),function(c,d){b.phrases.push(a.trim(d))}),this.index=-1,this.animate(),this.start()},animate:function(){this.index=++this.index%this.phrases.length,this.element[0].innerHTML='<span class="animated '+this.settings.animation+'">'+this.phrases[this.index]+"</span>",a.isFunction(this.settings.complete)&&this.settings.complete.call(this)},start:function(){var a=this;this._interval=setInterval(function(){a.animate()},this.settings.speed)},stop:function(){this._interval=clearInterval(this._interval)}},a.fn[c]=function(d){return this.each(function(){a.data(this,"plugin_"+c)||a.data(this,"plugin_"+c,new b(this,d))})}}(jQuery);
3
-
4
  /*!
5
- * Morphext - Text Rotating Plugin for jQuery
6
- * https://github.com/MrSaints/Morphext
7
- *
8
- * Built on jQuery Boilerplate
9
- * http://jqueryboilerplate.com/
10
  *
11
- * Copyright 2014 Ian Lai and other contributors
12
  * Released under the MIT license
13
- * http://ian.mit-license.org/
14
  */
15
 
16
- /*eslint-env browser */
17
- /*global jQuery:false */
18
- /*eslint-disable no-underscore-dangle */
 
 
 
 
 
 
19
 
20
- (function ($) {
21
  "use strict";
22
 
23
- var pluginName = "Morphext",
24
- defaults = {
25
- animation: "bounceIn",
26
- separator: ",",
27
- speed: 2000,
28
- complete: $.noop
29
  };
30
 
31
- function Plugin (element, options) {
32
- this.element = $(element);
33
 
34
- this.settings = $.extend({}, defaults, options);
35
- this._defaults = defaults;
36
- this._init();
37
- }
38
 
39
- Plugin.prototype = {
40
- _init: function () {
41
- var $that = this;
42
- this.phrases = [];
43
 
44
- this.element.addClass("morphext");
 
 
 
 
45
 
46
- $.each(this.element.text().split(this.settings.separator), function (key, value) {
47
- $that.phrases.push($.trim(value));
48
- });
49
 
50
- this.index = -1;
51
- this.animate();
52
- this.start();
 
 
 
 
 
53
  },
54
- animate: function () {
55
- this.index = ++this.index % this.phrases.length;
56
- this.element[0].innerHTML = "<span class=\"animated " + this.settings.animation + "\">" + this.phrases[this.index] + "</span>";
57
 
58
- if ($.isFunction(this.settings.complete)) {
59
- this.settings.complete.call(this);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
61
  },
 
62
  start: function () {
63
- var $that = this;
64
- this._interval = setInterval(function () {
65
- $that.animate();
66
- }, this.settings.speed);
 
 
 
67
  },
 
68
  stop: function () {
69
- this._interval = clearInterval(this._interval);
70
- }
71
- };
 
 
72
 
73
- $.fn[pluginName] = function (options) {
74
- return this.each(function() {
75
- if (!$.data(this, "plugin_" + pluginName)) {
76
- $.data(this, "plugin_" + pluginName, new Plugin(this, options));
77
  }
78
- });
79
- };
80
- })(jQuery);
81
 
82
- /*!
83
- *
84
- * typed.js - A JavaScript Typing Animation Library
85
- * Author: Matt Boldt <me@mattboldt.com>
86
- * Version: v2.0.9
87
- * Url: https://github.com/mattboldt/typed.js
88
- * License(s): MIT
89
- *
90
- */
91
- (function webpackUniversalModuleDefinition(root, factory) {
92
- if(typeof exports === 'object' && typeof module === 'object')
93
- module.exports = factory();
94
- else if(typeof define === 'function' && define.amd)
95
- define([], factory);
96
- else if(typeof exports === 'object')
97
- exports["Typed"] = factory();
98
- else
99
- root["Typed"] = factory();
100
- })(this, function() {
101
- return /******/ (function(modules) { // webpackBootstrap
102
- /******/ // The module cache
103
- /******/ var installedModules = {};
104
- /******/
105
- /******/ // The require function
106
- /******/ function __webpack_require__(moduleId) {
107
- /******/
108
- /******/ // Check if module is in cache
109
- /******/ if(installedModules[moduleId])
110
- /******/ return installedModules[moduleId].exports;
111
- /******/
112
- /******/ // Create a new module (and put it into the cache)
113
- /******/ var module = installedModules[moduleId] = {
114
- /******/ exports: {},
115
- /******/ id: moduleId,
116
- /******/ loaded: false
117
- /******/ };
118
- /******/
119
- /******/ // Execute the module function
120
- /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
121
- /******/
122
- /******/ // Flag the module as loaded
123
- /******/ module.loaded = true;
124
- /******/
125
- /******/ // Return the exports of the module
126
- /******/ return module.exports;
127
- /******/ }
128
- /******/
129
- /******/
130
- /******/ // expose the modules object (__webpack_modules__)
131
- /******/ __webpack_require__.m = modules;
132
- /******/
133
- /******/ // expose the module cache
134
- /******/ __webpack_require__.c = installedModules;
135
- /******/
136
- /******/ // __webpack_public_path__
137
- /******/ __webpack_require__.p = "";
138
- /******/
139
- /******/ // Load entry module and return exports
140
- /******/ return __webpack_require__(0);
141
- /******/ })
142
- /************************************************************************/
143
- /******/ ([
144
- /* 0 */
145
- /***/ (function(module, exports, __webpack_require__) {
146
 
147
- 'use strict';
148
-
149
- Object.defineProperty(exports, '__esModule', {
150
- value: true
151
- });
152
-
153
- var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
154
-
155
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
156
-
157
- var _initializerJs = __webpack_require__(1);
158
-
159
- var _htmlParserJs = __webpack_require__(3);
160
-
161
- /**
162
- * Welcome to Typed.js!
163
- * @param {string} elementId HTML element ID _OR_ HTML element
164
- * @param {object} options options object
165
- * @returns {object} a new Typed object
166
- */
167
-
168
- var Typed = (function () {
169
- function Typed(elementId, options) {
170
- _classCallCheck(this, Typed);
171
-
172
- // Initialize it up
173
- _initializerJs.initializer.load(this, options, elementId);
174
- // All systems go!
175
- this.begin();
176
- }
177
-
178
- /**
179
- * Toggle start() and stop() of the Typed instance
180
- * @public
181
- */
182
-
183
- _createClass(Typed, [{
184
- key: 'toggle',
185
- value: function toggle() {
186
- this.pause.status ? this.start() : this.stop();
187
- }
188
-
189
- /**
190
- * Stop typing / backspacing and enable cursor blinking
191
- * @public
192
- */
193
- }, {
194
- key: 'stop',
195
- value: function stop() {
196
- if (this.typingComplete) return;
197
- if (this.pause.status) return;
198
- this.toggleBlinking(true);
199
- this.pause.status = true;
200
- this.options.onStop(this.arrayPos, this);
201
- }
202
-
203
- /**
204
- * Start typing / backspacing after being stopped
205
- * @public
206
- */
207
- }, {
208
- key: 'start',
209
- value: function start() {
210
- if (this.typingComplete) return;
211
- if (!this.pause.status) return;
212
- this.pause.status = false;
213
- if (this.pause.typewrite) {
214
- this.typewrite(this.pause.curString, this.pause.curStrPos);
215
- } else {
216
- this.backspace(this.pause.curString, this.pause.curStrPos);
217
- }
218
- this.options.onStart(this.arrayPos, this);
219
- }
220
-
221
- /**
222
- * Destroy this instance of Typed
223
- * @public
224
- */
225
- }, {
226
- key: 'destroy',
227
- value: function destroy() {
228
- this.reset(false);
229
- this.options.onDestroy(this);
230
- }
231
-
232
- /**
233
- * Reset Typed and optionally restarts
234
- * @param {boolean} restart
235
- * @public
236
- */
237
- }, {
238
- key: 'reset',
239
- value: function reset() {
240
- var restart = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
241
-
242
- clearInterval(this.timeout);
243
- this.replaceText('');
244
- if (this.cursor && this.cursor.parentNode) {
245
- this.cursor.parentNode.removeChild(this.cursor);
246
- this.cursor = null;
247
- }
248
- this.strPos = 0;
249
- this.arrayPos = 0;
250
- this.curLoop = 0;
251
- if (restart) {
252
- this.insertCursor();
253
- this.options.onReset(this);
254
- this.begin();
255
- }
256
- }
257
-
258
- /**
259
- * Begins the typing animation
260
- * @private
261
- */
262
- }, {
263
- key: 'begin',
264
- value: function begin() {
265
- var _this = this;
266
-
267
- this.typingComplete = false;
268
- this.shuffleStringsIfNeeded(this);
269
- this.insertCursor();
270
- if (this.bindInputFocusEvents) this.bindFocusEvents();
271
- this.timeout = setTimeout(function () {
272
- // Check if there is some text in the element, if yes start by backspacing the default message
273
- if (!_this.currentElContent || _this.currentElContent.length === 0) {
274
- _this.typewrite(_this.strings[_this.sequence[_this.arrayPos]], _this.strPos);
275
- } else {
276
- // Start typing
277
- _this.backspace(_this.currentElContent, _this.currentElContent.length);
278
- }
279
- }, this.startDelay);
280
- }
281
-
282
- /**
283
- * Called for each character typed
284
- * @param {string} curString the current string in the strings array
285
- * @param {number} curStrPos the current position in the curString
286
- * @private
287
- */
288
- }, {
289
- key: 'typewrite',
290
- value: function typewrite(curString, curStrPos) {
291
- var _this2 = this;
292
-
293
- if (this.fadeOut && this.el.classList.contains(this.fadeOutClass)) {
294
- this.el.classList.remove(this.fadeOutClass);
295
- if (this.cursor) this.cursor.classList.remove(this.fadeOutClass);
296
- }
297
-
298
- var humanize = this.humanizer(this.typeSpeed);
299
- var numChars = 1;
300
-
301
- if (this.pause.status === true) {
302
- this.setPauseStatus(curString, curStrPos, true);
303
- return;
304
- }
305
-
306
- // contain typing function in a timeout humanize'd delay
307
- this.timeout = setTimeout(function () {
308
- // skip over any HTML chars
309
- curStrPos = _htmlParserJs.htmlParser.typeHtmlChars(curString, curStrPos, _this2);
310
-
311
- var pauseTime = 0;
312
- var substr = curString.substr(curStrPos);
313
- // check for an escape character before a pause value
314
- // format: \^\d+ .. eg: ^1000 .. should be able to print the ^ too using ^^
315
- // single ^ are removed from string
316
- if (substr.charAt(0) === '^') {
317
- if (/^\^\d+/.test(substr)) {
318
- var skip = 1; // skip at least 1
319
- substr = /\d+/.exec(substr)[0];
320
- skip += substr.length;
321
- pauseTime = parseInt(substr);
322
- _this2.temporaryPause = true;
323
- _this2.options.onTypingPaused(_this2.arrayPos, _this2);
324
- // strip out the escape character and pause value so they're not printed
325
- curString = curString.substring(0, curStrPos) + curString.substring(curStrPos + skip);
326
- _this2.toggleBlinking(true);
327
- }
328
- }
329
-
330
- // check for skip characters formatted as
331
- // "this is a `string to print NOW` ..."
332
- if (substr.charAt(0) === '`') {
333
- while (curString.substr(curStrPos + numChars).charAt(0) !== '`') {
334
- numChars++;
335
- if (curStrPos + numChars > curString.length) break;
336
- }
337
- // strip out the escape characters and append all the string in between
338
- var stringBeforeSkip = curString.substring(0, curStrPos);
339
- var stringSkipped = curString.substring(stringBeforeSkip.length + 1, curStrPos + numChars);
340
- var stringAfterSkip = curString.substring(curStrPos + numChars + 1);
341
- curString = stringBeforeSkip + stringSkipped + stringAfterSkip;
342
- numChars--;
343
- }
344
-
345
- // timeout for any pause after a character
346
- _this2.timeout = setTimeout(function () {
347
- // Accounts for blinking while paused
348
- _this2.toggleBlinking(false);
349
-
350
- // We're done with this sentence!
351
- if (curStrPos >= curString.length) {
352
- _this2.doneTyping(curString, curStrPos);
353
- } else {
354
- _this2.keepTyping(curString, curStrPos, numChars);
355
- }
356
- // end of character pause
357
- if (_this2.temporaryPause) {
358
- _this2.temporaryPause = false;
359
- _this2.options.onTypingResumed(_this2.arrayPos, _this2);
360
- }
361
- }, pauseTime);
362
-
363
- // humanized value for typing
364
- }, humanize);
365
- }
366
-
367
- /**
368
- * Continue to the next string & begin typing
369
- * @param {string} curString the current string in the strings array
370
- * @param {number} curStrPos the current position in the curString
371
- * @private
372
- */
373
- }, {
374
- key: 'keepTyping',
375
- value: function keepTyping(curString, curStrPos, numChars) {
376
- // call before functions if applicable
377
- if (curStrPos === 0) {
378
- this.toggleBlinking(false);
379
- this.options.preStringTyped(this.arrayPos, this);
380
- }
381
- // start typing each new char into existing string
382
- // curString: arg, this.el.html: original text inside element
383
- curStrPos += numChars;
384
- var nextString = curString.substr(0, curStrPos);
385
- this.replaceText(nextString);
386
- // loop the function
387
- this.typewrite(curString, curStrPos);
388
- }
389
-
390
- /**
391
- * We're done typing all strings
392
- * @param {string} curString the current string in the strings array
393
- * @param {number} curStrPos the current position in the curString
394
- * @private
395
- */
396
- }, {
397
- key: 'doneTyping',
398
- value: function doneTyping(curString, curStrPos) {
399
- var _this3 = this;
400
-
401
- // fires callback function
402
- this.options.onStringTyped(this.arrayPos, this);
403
- this.toggleBlinking(true);
404
- // is this the final string
405
- if (this.arrayPos === this.strings.length - 1) {
406
- // callback that occurs on the last typed string
407
- this.complete();
408
- // quit if we wont loop back
409
- if (this.loop === false || this.curLoop === this.loopCount) {
410
- return;
411
- }
412
- }
413
- this.timeout = setTimeout(function () {
414
- _this3.backspace(curString, curStrPos);
415
- }, this.backDelay);
416
- }
417
-
418
- /**
419
- * Backspaces 1 character at a time
420
- * @param {string} curString the current string in the strings array
421
- * @param {number} curStrPos the current position in the curString
422
- * @private
423
- */
424
- }, {
425
- key: 'backspace',
426
- value: function backspace(curString, curStrPos) {
427
- var _this4 = this;
428
-
429
- if (this.pause.status === true) {
430
- this.setPauseStatus(curString, curStrPos, true);
431
- return;
432
- }
433
- if (this.fadeOut) return this.initFadeOut();
434
-
435
- this.toggleBlinking(false);
436
- var humanize = this.humanizer(this.backSpeed);
437
-
438
- this.timeout = setTimeout(function () {
439
- curStrPos = _htmlParserJs.htmlParser.backSpaceHtmlChars(curString, curStrPos, _this4);
440
- // replace text with base text + typed characters
441
- var curStringAtPosition = curString.substr(0, curStrPos);
442
- _this4.replaceText(curStringAtPosition);
443
-
444
- // if smartBack is enabled
445
- if (_this4.smartBackspace) {
446
- // the remaining part of the current string is equal of the same part of the new string
447
- var nextString = _this4.strings[_this4.arrayPos + 1];
448
- if (nextString && curStringAtPosition === nextString.substr(0, curStrPos)) {
449
- _this4.stopNum = curStrPos;
450
- } else {
451
- _this4.stopNum = 0;
452
- }
453
- }
454
-
455
- // if the number (id of character in current string) is
456
- // less than the stop number, keep going
457
- if (curStrPos > _this4.stopNum) {
458
- // subtract characters one by one
459
- curStrPos--;
460
- // loop the function
461
- _this4.backspace(curString, curStrPos);
462
- } else if (curStrPos <= _this4.stopNum) {
463
- // if the stop number has been reached, increase
464
- // array position to next string
465
- _this4.arrayPos++;
466
- // When looping, begin at the beginning after backspace complete
467
- if (_this4.arrayPos === _this4.strings.length) {
468
- _this4.arrayPos = 0;
469
- _this4.options.onLastStringBackspaced();
470
- _this4.shuffleStringsIfNeeded();
471
- _this4.begin();
472
- } else {
473
- _this4.typewrite(_this4.strings[_this4.sequence[_this4.arrayPos]], curStrPos);
474
- }
475
- }
476
- // humanized value for typing
477
- }, humanize);
478
- }
479
-
480
- /**
481
- * Full animation is complete
482
- * @private
483
- */
484
- }, {
485
- key: 'complete',
486
- value: function complete() {
487
- this.options.onComplete(this);
488
- if (this.loop) {
489
- this.curLoop++;
490
- } else {
491
- this.typingComplete = true;
492
- }
493
- }
494
-
495
- /**
496
- * Has the typing been stopped
497
- * @param {string} curString the current string in the strings array
498
- * @param {number} curStrPos the current position in the curString
499
- * @param {boolean} isTyping
500
- * @private
501
- */
502
- }, {
503
- key: 'setPauseStatus',
504
- value: function setPauseStatus(curString, curStrPos, isTyping) {
505
- this.pause.typewrite = isTyping;
506
- this.pause.curString = curString;
507
- this.pause.curStrPos = curStrPos;
508
- }
509
-
510
- /**
511
- * Toggle the blinking cursor
512
- * @param {boolean} isBlinking
513
- * @private
514
- */
515
- }, {
516
- key: 'toggleBlinking',
517
- value: function toggleBlinking(isBlinking) {
518
- if (!this.cursor) return;
519
- // if in paused state, don't toggle blinking a 2nd time
520
- if (this.pause.status) return;
521
- if (this.cursorBlinking === isBlinking) return;
522
- this.cursorBlinking = isBlinking;
523
- if (isBlinking) {
524
- this.cursor.classList.add('typed-cursor--blink');
525
- } else {
526
- this.cursor.classList.remove('typed-cursor--blink');
527
- }
528
- }
529
-
530
- /**
531
- * Speed in MS to type
532
- * @param {number} speed
533
- * @private
534
- */
535
- }, {
536
- key: 'humanizer',
537
- value: function humanizer(speed) {
538
- return Math.round(Math.random() * speed / 2) + speed;
539
- }
540
-
541
- /**
542
- * Shuffle the sequence of the strings array
543
- * @private
544
- */
545
- }, {
546
- key: 'shuffleStringsIfNeeded',
547
- value: function shuffleStringsIfNeeded() {
548
- if (!this.shuffle) return;
549
- this.sequence = this.sequence.sort(function () {
550
- return Math.random() - 0.5;
551
- });
552
- }
553
-
554
- /**
555
- * Adds a CSS class to fade out current string
556
- * @private
557
- */
558
- }, {
559
- key: 'initFadeOut',
560
- value: function initFadeOut() {
561
- var _this5 = this;
562
-
563
- this.el.className += ' ' + this.fadeOutClass;
564
- if (this.cursor) this.cursor.className += ' ' + this.fadeOutClass;
565
- return setTimeout(function () {
566
- _this5.arrayPos++;
567
- _this5.replaceText('');
568
-
569
- // Resets current string if end of loop reached
570
- if (_this5.strings.length > _this5.arrayPos) {
571
- _this5.typewrite(_this5.strings[_this5.sequence[_this5.arrayPos]], 0);
572
- } else {
573
- _this5.typewrite(_this5.strings[0], 0);
574
- _this5.arrayPos = 0;
575
- }
576
- }, this.fadeOutDelay);
577
- }
578
-
579
- /**
580
- * Replaces current text in the HTML element
581
- * depending on element type
582
- * @param {string} str
583
- * @private
584
- */
585
- }, {
586
- key: 'replaceText',
587
- value: function replaceText(str) {
588
- if (this.attr) {
589
- this.el.setAttribute(this.attr, str);
590
- } else {
591
- if (this.isInput) {
592
- this.el.value = str;
593
- } else if (this.contentType === 'html') {
594
- this.el.innerHTML = str;
595
- } else {
596
- this.el.textContent = str;
597
- }
598
- }
599
- }
600
-
601
- /**
602
- * If using input elements, bind focus in order to
603
- * start and stop the animation
604
- * @private
605
- */
606
- }, {
607
- key: 'bindFocusEvents',
608
- value: function bindFocusEvents() {
609
- var _this6 = this;
610
-
611
- if (!this.isInput) return;
612
- this.el.addEventListener('focus', function (e) {
613
- _this6.stop();
614
- });
615
- this.el.addEventListener('blur', function (e) {
616
- if (_this6.el.value && _this6.el.value.length !== 0) {
617
- return;
618
- }
619
- _this6.start();
620
- });
621
- }
622
-
623
- /**
624
- * On init, insert the cursor element
625
- * @private
626
- */
627
- }, {
628
- key: 'insertCursor',
629
- value: function insertCursor() {
630
- if (!this.showCursor) return;
631
- if (this.cursor) return;
632
- this.cursor = document.createElement('span');
633
- this.cursor.className = 'typed-cursor';
634
- this.cursor.innerHTML = this.cursorChar;
635
- this.el.parentNode && this.el.parentNode.insertBefore(this.cursor, this.el.nextSibling);
636
- }
637
- }]);
638
-
639
- return Typed;
640
- })();
641
-
642
- exports['default'] = Typed;
643
- module.exports = exports['default'];
644
-
645
- /***/ }),
646
- /* 1 */
647
- /***/ (function(module, exports, __webpack_require__) {
648
-
649
- 'use strict';
650
-
651
- Object.defineProperty(exports, '__esModule', {
652
- value: true
653
- });
654
-
655
- var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
656
-
657
- var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
658
-
659
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
660
-
661
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
662
-
663
- var _defaultsJs = __webpack_require__(2);
664
-
665
- var _defaultsJs2 = _interopRequireDefault(_defaultsJs);
666
-
667
- /**
668
- * Initialize the Typed object
669
- */
670
-
671
- var Initializer = (function () {
672
- function Initializer() {
673
- _classCallCheck(this, Initializer);
674
- }
675
-
676
- _createClass(Initializer, [{
677
- key: 'load',
678
-
679
- /**
680
- * Load up defaults & options on the Typed instance
681
- * @param {Typed} self instance of Typed
682
- * @param {object} options options object
683
- * @param {string} elementId HTML element ID _OR_ instance of HTML element
684
- * @private
685
- */
686
-
687
- value: function load(self, options, elementId) {
688
- // chosen element to manipulate text
689
- if (typeof elementId === 'string') {
690
- self.el = document.querySelector(elementId);
691
- } else {
692
- self.el = elementId;
693
- }
694
-
695
- self.options = _extends({}, _defaultsJs2['default'], options);
696
-
697
- // attribute to type into
698
- self.isInput = self.el.tagName.toLowerCase() === 'input';
699
- self.attr = self.options.attr;
700
- self.bindInputFocusEvents = self.options.bindInputFocusEvents;
701
-
702
- // show cursor
703
- self.showCursor = self.isInput ? false : self.options.showCursor;
704
-
705
- // custom cursor
706
- self.cursorChar = self.options.cursorChar;
707
-
708
- // Is the cursor blinking
709
- self.cursorBlinking = true;
710
-
711
- // text content of element
712
- self.elContent = self.attr ? self.el.getAttribute(self.attr) : self.el.textContent;
713
-
714
- // html or plain text
715
- self.contentType = self.options.contentType;
716
-
717
- // typing speed
718
- self.typeSpeed = self.options.typeSpeed;
719
-
720
- // add a delay before typing starts
721
- self.startDelay = self.options.startDelay;
722
-
723
- // backspacing speed
724
- self.backSpeed = self.options.backSpeed;
725
-
726
- // only backspace what doesn't match the previous string
727
- self.smartBackspace = self.options.smartBackspace;
728
-
729
- // amount of time to wait before backspacing
730
- self.backDelay = self.options.backDelay;
731
-
732
- // Fade out instead of backspace
733
- self.fadeOut = self.options.fadeOut;
734
- self.fadeOutClass = self.options.fadeOutClass;
735
- self.fadeOutDelay = self.options.fadeOutDelay;
736
-
737
- // variable to check whether typing is currently paused
738
- self.isPaused = false;
739
-
740
- // input strings of text
741
- self.strings = self.options.strings.map(function (s) {
742
- return s.trim();
743
- });
744
-
745
- // div containing strings
746
- if (typeof self.options.stringsElement === 'string') {
747
- self.stringsElement = document.querySelector(self.options.stringsElement);
748
- } else {
749
- self.stringsElement = self.options.stringsElement;
750
- }
751
-
752
- if (self.stringsElement) {
753
- self.strings = [];
754
- self.stringsElement.style.display = 'none';
755
- var strings = Array.prototype.slice.apply(self.stringsElement.children);
756
- var stringsLength = strings.length;
757
-
758
- if (stringsLength) {
759
- for (var i = 0; i < stringsLength; i += 1) {
760
- var stringEl = strings[i];
761
- self.strings.push(stringEl.innerHTML.trim());
762
- }
763
- }
764
- }
765
-
766
- // character number position of current string
767
- self.strPos = 0;
768
-
769
- // current array position
770
- self.arrayPos = 0;
771
-
772
- // index of string to stop backspacing on
773
- self.stopNum = 0;
774
-
775
- // Looping logic
776
- self.loop = self.options.loop;
777
- self.loopCount = self.options.loopCount;
778
- self.curLoop = 0;
779
-
780
- // shuffle the strings
781
- self.shuffle = self.options.shuffle;
782
- // the order of strings
783
- self.sequence = [];
784
-
785
- self.pause = {
786
- status: false,
787
- typewrite: true,
788
- curString: '',
789
- curStrPos: 0
790
- };
791
-
792
- // When the typing is complete (when not looped)
793
- self.typingComplete = false;
794
-
795
- // Set the order in which the strings are typed
796
- for (var i in self.strings) {
797
- self.sequence[i] = i;
798
- }
799
-
800
- // If there is some text in the element
801
- self.currentElContent = this.getCurrentElContent(self);
802
-
803
- self.autoInsertCss = self.options.autoInsertCss;
804
-
805
- this.appendAnimationCss(self);
806
- }
807
- }, {
808
- key: 'getCurrentElContent',
809
- value: function getCurrentElContent(self) {
810
- var elContent = '';
811
- if (self.attr) {
812
- elContent = self.el.getAttribute(self.attr);
813
- } else if (self.isInput) {
814
- elContent = self.el.value;
815
- } else if (self.contentType === 'html') {
816
- elContent = self.el.innerHTML;
817
- } else {
818
- elContent = self.el.textContent;
819
- }
820
- return elContent;
821
- }
822
- }, {
823
- key: 'appendAnimationCss',
824
- value: function appendAnimationCss(self) {
825
- var cssDataName = 'data-typed-js-css';
826
- if (!self.autoInsertCss) {
827
- return;
828
- }
829
- if (!self.showCursor && !self.fadeOut) {
830
- return;
831
- }
832
- if (document.querySelector('[' + cssDataName + ']')) {
833
- return;
834
- }
835
-
836
- var css = document.createElement('style');
837
- css.type = 'text/css';
838
- css.setAttribute(cssDataName, true);
839
-
840
- var innerCss = '';
841
- if (self.showCursor) {
842
- innerCss += '\n .typed-cursor{\n opacity: 1;\n }\n .typed-cursor.typed-cursor--blink{\n animation: typedjsBlink 0.7s infinite;\n -webkit-animation: typedjsBlink 0.7s infinite;\n animation: typedjsBlink 0.7s infinite;\n }\n @keyframes typedjsBlink{\n 50% { opacity: 0.0; }\n }\n @-webkit-keyframes typedjsBlink{\n 0% { opacity: 1; }\n 50% { opacity: 0.0; }\n 100% { opacity: 1; }\n }\n ';
843
- }
844
- if (self.fadeOut) {
845
- innerCss += '\n .typed-fade-out{\n opacity: 0;\n transition: opacity .25s;\n }\n .typed-cursor.typed-cursor--blink.typed-fade-out{\n -webkit-animation: 0;\n animation: 0;\n }\n ';
846
- }
847
- if (css.length === 0) {
848
- return;
849
- }
850
- css.innerHTML = innerCss;
851
- document.body.appendChild(css);
852
- }
853
- }]);
854
-
855
- return Initializer;
856
- })();
857
-
858
- exports['default'] = Initializer;
859
- var initializer = new Initializer();
860
- exports.initializer = initializer;
861
-
862
- /***/ }),
863
- /* 2 */
864
- /***/ (function(module, exports) {
865
-
866
- /**
867
- * Defaults & options
868
- * @returns {object} Typed defaults & options
869
- * @public
870
- */
871
-
872
- 'use strict';
873
-
874
- Object.defineProperty(exports, '__esModule', {
875
- value: true
876
- });
877
- var defaults = {
878
- /**
879
- * @property {array} strings strings to be typed
880
- * @property {string} stringsElement ID of element containing string children
881
- */
882
- strings: ['These are the default values...', 'You know what you should do?', 'Use your own!', 'Have a great day!'],
883
- stringsElement: null,
884
-
885
- /**
886
- * @property {number} typeSpeed type speed in milliseconds
887
- */
888
- typeSpeed: 0,
889
-
890
- /**
891
- * @property {number} startDelay time before typing starts in milliseconds
892
- */
893
- startDelay: 0,
894
-
895
- /**
896
- * @property {number} backSpeed backspacing speed in milliseconds
897
- */
898
- backSpeed: 0,
899
-
900
- /**
901
- * @property {boolean} smartBackspace only backspace what doesn't match the previous string
902
- */
903
- smartBackspace: true,
904
-
905
- /**
906
- * @property {boolean} shuffle shuffle the strings
907
- */
908
- shuffle: false,
909
-
910
- /**
911
- * @property {number} backDelay time before backspacing in milliseconds
912
- */
913
- backDelay: 700,
914
-
915
- /**
916
- * @property {boolean} fadeOut Fade out instead of backspace
917
- * @property {string} fadeOutClass css class for fade animation
918
- * @property {boolean} fadeOutDelay Fade out delay in milliseconds
919
- */
920
- fadeOut: false,
921
- fadeOutClass: 'typed-fade-out',
922
- fadeOutDelay: 500,
923
-
924
- /**
925
- * @property {boolean} loop loop strings
926
- * @property {number} loopCount amount of loops
927
- */
928
- loop: false,
929
- loopCount: Infinity,
930
-
931
- /**
932
- * @property {boolean} showCursor show cursor
933
- * @property {string} cursorChar character for cursor
934
- * @property {boolean} autoInsertCss insert CSS for cursor and fadeOut into HTML <head>
935
- */
936
- showCursor: true,
937
- cursorChar: '|',
938
- autoInsertCss: true,
939
-
940
- /**
941
- * @property {string} attr attribute for typing
942
- * Ex: input placeholder, value, or just HTML text
943
- */
944
- attr: null,
945
-
946
- /**
947
- * @property {boolean} bindInputFocusEvents bind to focus and blur if el is text input
948
- */
949
- bindInputFocusEvents: false,
950
-
951
- /**
952
- * @property {string} contentType 'html' or 'null' for plaintext
953
- */
954
- contentType: 'html',
955
-
956
- /**
957
- * All typing is complete
958
- * @param {Typed} self
959
- */
960
- onComplete: function onComplete(self) {},
961
-
962
- /**
963
- * Before each string is typed
964
- * @param {number} arrayPos
965
- * @param {Typed} self
966
- */
967
- preStringTyped: function preStringTyped(arrayPos, self) {},
968
-
969
- /**
970
- * After each string is typed
971
- * @param {number} arrayPos
972
- * @param {Typed} self
973
- */
974
- onStringTyped: function onStringTyped(arrayPos, self) {},
975
-
976
- /**
977
- * During looping, after last string is typed
978
- * @param {Typed} self
979
- */
980
- onLastStringBackspaced: function onLastStringBackspaced(self) {},
981
-
982
- /**
983
- * Typing has been stopped
984
- * @param {number} arrayPos
985
- * @param {Typed} self
986
- */
987
- onTypingPaused: function onTypingPaused(arrayPos, self) {},
988
-
989
- /**
990
- * Typing has been started after being stopped
991
- * @param {number} arrayPos
992
- * @param {Typed} self
993
- */
994
- onTypingResumed: function onTypingResumed(arrayPos, self) {},
995
-
996
- /**
997
- * After reset
998
- * @param {Typed} self
999
- */
1000
- onReset: function onReset(self) {},
1001
-
1002
- /**
1003
- * After stop
1004
- * @param {number} arrayPos
1005
- * @param {Typed} self
1006
- */
1007
- onStop: function onStop(arrayPos, self) {},
1008
-
1009
- /**
1010
- * After start
1011
- * @param {number} arrayPos
1012
- * @param {Typed} self
1013
- */
1014
- onStart: function onStart(arrayPos, self) {},
1015
-
1016
- /**
1017
- * After destroy
1018
- * @param {Typed} self
1019
- */
1020
- onDestroy: function onDestroy(self) {}
1021
- };
1022
-
1023
- exports['default'] = defaults;
1024
- module.exports = exports['default'];
1025
-
1026
- /***/ }),
1027
- /* 3 */
1028
- /***/ (function(module, exports) {
1029
-
1030
-
1031
- /**
1032
- * TODO: These methods can probably be combined somehow
1033
- * Parse HTML tags & HTML Characters
1034
- */
1035
-
1036
- 'use strict';
1037
-
1038
- Object.defineProperty(exports, '__esModule', {
1039
- value: true
1040
- });
1041
-
1042
- var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
1043
-
1044
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
1045
-
1046
- var HTMLParser = (function () {
1047
- function HTMLParser() {
1048
- _classCallCheck(this, HTMLParser);
1049
- }
1050
-
1051
- _createClass(HTMLParser, [{
1052
- key: 'typeHtmlChars',
1053
-
1054
- /**
1055
- * Type HTML tags & HTML Characters
1056
- * @param {string} curString Current string
1057
- * @param {number} curStrPos Position in current string
1058
- * @param {Typed} self instance of Typed
1059
- * @returns {number} a new string position
1060
- * @private
1061
- */
1062
-
1063
- value: function typeHtmlChars(curString, curStrPos, self) {
1064
- if (self.contentType !== 'html') return curStrPos;
1065
- var curChar = curString.substr(curStrPos).charAt(0);
1066
- if (curChar === '<' || curChar === '&') {
1067
- var endTag = '';
1068
- if (curChar === '<') {
1069
- endTag = '>';
1070
- } else {
1071
- endTag = ';';
1072
- }
1073
- while (curString.substr(curStrPos + 1).charAt(0) !== endTag) {
1074
- curStrPos++;
1075
- if (curStrPos + 1 > curString.length) {
1076
- break;
1077
- }
1078
- }
1079
- curStrPos++;
1080
- }
1081
- return curStrPos;
1082
- }
1083
-
1084
- /**
1085
- * Backspace HTML tags and HTML Characters
1086
- * @param {string} curString Current string
1087
- * @param {number} curStrPos Position in current string
1088
- * @param {Typed} self instance of Typed
1089
- * @returns {number} a new string position
1090
- * @private
1091
- */
1092
- }, {
1093
- key: 'backSpaceHtmlChars',
1094
- value: function backSpaceHtmlChars(curString, curStrPos, self) {
1095
- if (self.contentType !== 'html') return curStrPos;
1096
- var curChar = curString.substr(curStrPos).charAt(0);
1097
- if (curChar === '>' || curChar === ';') {
1098
- var endTag = '';
1099
- if (curChar === '>') {
1100
- endTag = '<';
1101
- } else {
1102
- endTag = '&';
1103
- }
1104
- while (curString.substr(curStrPos - 1).charAt(0) !== endTag) {
1105
- curStrPos--;
1106
- if (curStrPos < 0) {
1107
- break;
1108
- }
1109
- }
1110
- curStrPos--;
1111
- }
1112
- return curStrPos;
1113
- }
1114
- }]);
1115
-
1116
- return HTMLParser;
1117
- })();
1118
-
1119
- exports['default'] = HTMLParser;
1120
- var htmlParser = new HTMLParser();
1121
- exports.htmlParser = htmlParser;
1122
-
1123
- /***/ })
1124
- /******/ ])
1125
- });
1126
- ;
1127
- /*!
1128
- * Countdown v0.1.0
1129
- * https://github.com/fengyuanchen/countdown
1130
- *
1131
- * Copyright 2014 Fengyuan Chen
1132
- * Released under the MIT license
1133
- */
1134
-
1135
- (function (factory) {
1136
- if (typeof define === "function" && define.amd) {
1137
- // AMD. Register as anonymous module.
1138
- define(["jquery"], factory);
1139
- } else {
1140
- // Browser globals.
1141
- factory(jQuery);
1142
- }
1143
- })(function ($) {
1144
-
1145
- "use strict";
1146
-
1147
- var Countdown = function (element, options) {
1148
- this.$element = $(element);
1149
- this.defaults = $.extend({}, Countdown.defaults, this.$element.data(), $.isPlainObject(options) ? options : {});
1150
- this.init();
1151
- };
1152
-
1153
- Countdown.prototype = {
1154
- constructor: Countdown,
1155
-
1156
- init: function () {
1157
- var content = this.$element.html(),
1158
- date = new Date(this.defaults.date || content);
1159
-
1160
- if (date.getTime()) {
1161
- this.content = content;
1162
- this.date = date;
1163
- this.find();
1164
-
1165
- if (this.defaults.autoStart) {
1166
- this.start();
1167
- }
1168
- }
1169
- },
1170
-
1171
- find: function () {
1172
- var $element = this.$element;
1173
-
1174
- this.$days = $element.find("[data-days]");
1175
- this.$hours = $element.find("[data-hours]");
1176
- this.$minutes = $element.find("[data-minutes]");
1177
- this.$seconds = $element.find("[data-seconds]");
1178
-
1179
- if ((this.$days.length + this.$hours.length + this.$minutes.length + this.$seconds.length) > 0) {
1180
- this.found = true;
1181
- }
1182
- },
1183
-
1184
- reset: function () {
1185
- if (this.found) {
1186
- this.output("days");
1187
- this.output("hours");
1188
- this.output("minutes");
1189
- this.output("seconds");
1190
- } else {
1191
- this.output();
1192
- }
1193
- },
1194
-
1195
- ready: function () {
1196
- var date = this.date,
1197
- decisecond = 100,
1198
- second = 1000,
1199
- minute = 60000,
1200
- hour = 3600000,
1201
- day = 86400000,
1202
- remainder = {},
1203
- diff;
1204
-
1205
- if (!date) {
1206
- return false;
1207
- }
1208
-
1209
- diff = date.getTime() - (new Date()).getTime();
1210
-
1211
- if (diff <= 0) {
1212
- this.end();
1213
- return false;
1214
- }
1215
-
1216
- remainder.days = diff;
1217
- remainder.hours = remainder.days % day;
1218
- remainder.minutes = remainder.hours % hour;
1219
- remainder.seconds = remainder.minutes % minute;
1220
- remainder.milliseconds = remainder.seconds % second;
1221
-
1222
- this.days = Math.floor(remainder.days / day);
1223
- this.hours = Math.floor(remainder.hours / hour);
1224
- this.minutes = Math.floor(remainder.minutes / minute);
1225
- this.seconds = Math.floor(remainder.seconds / second);
1226
- this.deciseconds = Math.floor(remainder.milliseconds / decisecond);
1227
-
1228
- return true;
1229
- },
1230
-
1231
- start: function () {
1232
- if (!this.active && this.ready()) {
1233
- this.active = true;
1234
- this.reset();
1235
- this.autoUpdate = this.defaults.fast ?
1236
- setInterval($.proxy(this.fastUpdate, this), 100) :
1237
- setInterval($.proxy(this.update, this), 1000);
1238
- }
1239
- },
1240
-
1241
- stop: function () {
1242
- if (this.active) {
1243
- this.active = false;
1244
- clearInterval(this.autoUpdate);
1245
- }
1246
- },
1247
-
1248
- end: function () {
1249
- if (!this.date) {
1250
- return;
1251
- }
1252
-
1253
- this.stop();
1254
-
1255
- this.days = 0;
1256
- this.hours = 0;
1257
- this.minutes = 0;
1258
- this.seconds = 0;
1259
- this.deciseconds = 0;
1260
- this.reset();
1261
- this.defaults.end();
1262
- },
1263
-
1264
- destroy: function () {
1265
- if (!this.date) {
1266
- return;
1267
- }
1268
-
1269
- this.stop();
1270
-
1271
- this.$days = null;
1272
- this.$hours = null;
1273
- this.$minutes = null;
1274
- this.$seconds = null;
1275
-
1276
- this.$element.empty().html(this.content);
1277
- this.$element.removeData("countdown");
1278
- },
1279
-
1280
- fastUpdate: function () {
1281
- if (--this.deciseconds >= 0) {
1282
- this.output("deciseconds");
1283
- } else {
1284
- this.deciseconds = 9;
1285
- this.update();
1286
- }
1287
- },
1288
-
1289
- update: function () {
1290
- if (--this.seconds >= 0) {
1291
- this.output("seconds");
1292
- } else {
1293
- this.seconds = 59;
1294
-
1295
- if (--this.minutes >= 0) {
1296
- this.output("minutes");
1297
- } else {
1298
- this.minutes = 59;
1299
-
1300
- if (--this.hours >= 0) {
1301
- this.output("hours");
1302
- } else {
1303
- this.hours = 23;
1304
-
1305
- if (--this.days >= 0) {
1306
- this.output("days");
1307
- } else {
1308
- this.end();
1309
- }
1310
- }
1311
- }
1312
- }
1313
- },
1314
-
1315
- output: function (type) {
1316
- if (!this.found) {
1317
- this.$element.empty().html(this.template());
1318
- return;
1319
- }
1320
-
1321
- switch (type) {
1322
- case "deciseconds":
1323
- this.$seconds.text(this.getSecondsText());
1324
- break;
1325
-
1326
- case "seconds":
1327
- this.$seconds.text(this.seconds);
1328
- break;
1329
-
1330
- case "minutes":
1331
- this.$minutes.text(this.minutes);
1332
- break;
1333
-
1334
- case "hours":
1335
- this.$hours.text(this.hours);
1336
- break;
1337
-
1338
- case "days":
1339
- this.$days.text(this.days);
1340
- break;
1341
-
1342
- // No default
1343
- }
1344
- },
1345
-
1346
- template: function () {
1347
- return this.defaults.text
1348
- .replace("%s", this.days)
1349
- .replace("%s", this.hours)
1350
- .replace("%s", this.minutes)
1351
- .replace("%s", this.getSecondsText());
1352
- },
1353
-
1354
- getSecondsText: function () {
1355
- return this.active && this.defaults.fast ? (this.seconds + "." + this.deciseconds) : this.seconds;
1356
- }
1357
- };
1358
-
1359
- // Default settings
1360
- Countdown.defaults = {
1361
- autoStart: true,
1362
- date: null,
1363
- fast: false,
1364
- end: $.noop,
1365
- text: "%s days, %s hours, %s minutes, %s seconds"
1366
- };
1367
-
1368
- // Set default settings
1369
- Countdown.setDefaults = function (options) {
1370
- $.extend(Countdown.defaults, options);
1371
- };
1372
-
1373
- // Register as jQuery plugin
1374
- $.fn.countdown = function (options) {
1375
- return this.each(function () {
1376
- var $this = $(this),
1377
- data = $this.data("countdown");
1378
-
1379
- if (!data) {
1380
- $this.data("countdown", (data = new Countdown(this, options)));
1381
- }
1382
-
1383
- if (typeof options === "string" && $.isFunction(data[options])) {
1384
- data[options]();
1385
- }
1386
- });
1387
- };
1388
-
1389
- $.fn.countdown.constructor = Countdown;
1390
- $.fn.countdown.setDefaults = Countdown.setDefaults;
1391
-
1392
- $(function () {
1393
- $("[countdown]").countdown();
1394
- });
1395
-
1396
- });
1397
-
1398
- /**
1399
- * author Christopher Blum
1400
- * - based on the idea of Remy Sharp, http://remysharp.com/2009/01/26/element-in-view-event-plugin/
1401
- * - forked from http://github.com/zuk/jquery.inview/
1402
- */
1403
- (function (factory) {
1404
- if (typeof define == 'function' && define.amd) {
1405
- // AMD
1406
- define(['jquery'], factory);
1407
- } else if (typeof exports === 'object') {
1408
- // Node, CommonJS
1409
- module.exports = factory(require('jquery'));
1410
- } else {
1411
- // Browser globals
1412
- factory(jQuery);
1413
- }
1414
- }(function ($) {
1415
-
1416
- var inviewObjects = [], viewportSize, viewportOffset,
1417
- d = document, w = window, documentElement = d.documentElement, timer;
1418
-
1419
- $.event.special.inview = {
1420
- add: function (data) {
1421
- inviewObjects.push({ data: data, $element: $(this), element: this });
1422
- // Use setInterval in order to also make sure this captures elements within
1423
- // "overflow:scroll" elements or elements that appeared in the dom tree due to
1424
- // dom manipulation and reflow
1425
- // old: $(window).scroll(checkInView);
1426
- //
1427
- // By the way, iOS (iPad, iPhone, ...) seems to not execute, or at least delays
1428
- // intervals while the user scrolls. Therefore the inview event might fire a bit late there
1429
- //
1430
- // Don't waste cycles with an interval until we get at least one element that
1431
- // has bound to the inview event.
1432
- if (!timer && inviewObjects.length) {
1433
- timer = setInterval(checkInView, 250);
1434
- }
1435
- },
1436
-
1437
- remove: function (data) {
1438
- for (var i = 0; i < inviewObjects.length; i++) {
1439
- var inviewObject = inviewObjects[i];
1440
- if (inviewObject.element === this && inviewObject.data.guid === data.guid) {
1441
- inviewObjects.splice(i, 1);
1442
- break;
1443
- }
1444
- }
1445
-
1446
- // Clear interval when we no longer have any elements listening
1447
- if (!inviewObjects.length) {
1448
- clearInterval(timer);
1449
- timer = null;
1450
- }
1451
- }
1452
- };
1453
-
1454
- function getViewportSize() {
1455
- var mode, domObject, size = { height: w.innerHeight, width: w.innerWidth };
1456
-
1457
- // if this is correct then return it. iPad has compat Mode, so will
1458
- // go into check clientHeight/clientWidth (which has the wrong value).
1459
- if (!size.height) {
1460
- mode = d.compatMode;
1461
- if (mode || !$.support.boxModel) { // IE, Gecko
1462
- domObject = mode === 'CSS1Compat' ?
1463
- documentElement : // Standards
1464
- d.body; // Quirks
1465
- size = {
1466
- height: domObject.clientHeight,
1467
- width: domObject.clientWidth
1468
- };
1469
- }
1470
- }
1471
-
1472
- return size;
1473
- }
1474
-
1475
- function getViewportOffset() {
1476
- return {
1477
- top: w.pageYOffset || documentElement.scrollTop || d.body.scrollTop,
1478
- left: w.pageXOffset || documentElement.scrollLeft || d.body.scrollLeft
1479
- };
1480
- }
1481
-
1482
- function checkInView() {
1483
- if (!inviewObjects.length) {
1484
- return;
1485
- }
1486
-
1487
- var i = 0, $elements = $.map(inviewObjects, function (inviewObject) {
1488
- var selector = inviewObject.data.selector,
1489
- $element = inviewObject.$element;
1490
- return selector ? $element.find(selector) : $element;
1491
- });
1492
-
1493
- viewportSize = viewportSize || getViewportSize();
1494
- viewportOffset = viewportOffset || getViewportOffset();
1495
-
1496
- for (; i < inviewObjects.length; i++) {
1497
- // Ignore elements that are not in the DOM tree
1498
- if (!$.contains(documentElement, $elements[i][0])) {
1499
- continue;
1500
- }
1501
-
1502
- var $element = $($elements[i]),
1503
- elementSize = { height: $element[0].offsetHeight, width: $element[0].offsetWidth },
1504
- elementOffset = $element.offset(),
1505
- inView = $element.data('inview');
1506
-
1507
- // Don't ask me why because I haven't figured out yet:
1508
- // viewportOffset and viewportSize are sometimes suddenly null in Firefox 5.
1509
- // Even though it sounds weird:
1510
- // It seems that the execution of this function is interferred by the onresize/onscroll event
1511
- // where viewportOffset and viewportSize are unset
1512
- if (!viewportOffset || !viewportSize) {
1513
- return;
1514
- }
1515
-
1516
- if (elementOffset.top + elementSize.height > viewportOffset.top &&
1517
- elementOffset.top < viewportOffset.top + viewportSize.height &&
1518
- elementOffset.left + elementSize.width > viewportOffset.left &&
1519
- elementOffset.left < viewportOffset.left + viewportSize.width) {
1520
- if (!inView) {
1521
- $element.data('inview', true).trigger('inview', [true]);
1522
- }
1523
- } else if (inView) {
1524
- $element.data('inview', false).trigger('inview', [false]);
1525
- }
1526
- }
1527
- }
1528
-
1529
- $(w).on("scroll resize scrollstop", function () {
1530
- viewportSize = viewportOffset = null;
1531
- });
1532
-
1533
- // IE < 9 scrolls to focused elements without firing the "scroll" event
1534
- if (!documentElement.addEventListener && documentElement.attachEvent) {
1535
- documentElement.attachEvent("onfocusin", function () {
1536
- viewportOffset = null;
1537
- });
1538
- }
1539
- }));
1540
- /*! Magnific Popup - v1.1.0 - 2016-02-20
1541
- * http://dimsemenov.com/plugins/magnific-popup/
1542
- * Copyright (c) 2016 Dmitry Semenov; */
1543
- ; (function (factory) {
1544
- if (typeof define === 'function' && define.amd) {
1545
- // AMD. Register as an anonymous module.
1546
- define(['jquery'], factory);
1547
- } else if (typeof exports === 'object') {
1548
- // Node/CommonJS
1549
- factory(require('jquery'));
1550
- } else {
1551
- // Browser globals
1552
- factory(window.jQuery || window.Zepto);
1553
- }
1554
- }(function ($) {
1555
-
1556
- /*>>core*/
1557
- /**
1558
- *
1559
- * Magnific Popup Core JS file
1560
- *
1561
- */
1562
-
1563
-
1564
- /**
1565
- * Private static constants
1566
- */
1567
- var CLOSE_EVENT = 'Close',
1568
- BEFORE_CLOSE_EVENT = 'BeforeClose',
1569
- AFTER_CLOSE_EVENT = 'AfterClose',
1570
- BEFORE_APPEND_EVENT = 'BeforeAppend',
1571
- MARKUP_PARSE_EVENT = 'MarkupParse',
1572
- OPEN_EVENT = 'Open',
1573
- CHANGE_EVENT = 'Change',
1574
- NS = 'mfp',
1575
- EVENT_NS = '.' + NS,
1576
- READY_CLASS = 'mfp-ready',
1577
- REMOVING_CLASS = 'mfp-removing',
1578
- PREVENT_CLOSE_CLASS = 'mfp-prevent-close';
1579
-
1580
-
1581
- /**
1582
- * Private vars
1583
- */
1584
- /*jshint -W079 */
1585
- var mfp, // As we have only one instance of MagnificPopup object, we define it locally to not to use 'this'
1586
- MagnificPopup = function () { },
1587
- _isJQ = !!(window.jQuery),
1588
- _prevStatus,
1589
- _window = $(window),
1590
- _document,
1591
- _prevContentType,
1592
- _wrapClasses,
1593
- _currPopupType;
1594
-
1595
-
1596
- /**
1597
- * Private functions
1598
- */
1599
- var _mfpOn = function (name, f) {
1600
- mfp.ev.on(NS + name + EVENT_NS, f);
1601
- },
1602
- _getEl = function (className, appendTo, html, raw) {
1603
- var el = document.createElement('div');
1604
- el.className = 'mfp-' + className;
1605
- if (html) {
1606
- el.innerHTML = html;
1607
- }
1608
- if (!raw) {
1609
- el = $(el);
1610
- if (appendTo) {
1611
- el.appendTo(appendTo);
1612
- }
1613
- } else if (appendTo) {
1614
- appendTo.appendChild(el);
1615
- }
1616
- return el;
1617
- },
1618
- _mfpTrigger = function (e, data) {
1619
- mfp.ev.triggerHandler(NS + e, data);
1620
-
1621
- if (mfp.st.callbacks) {
1622
- // converts "mfpEventName" to "eventName" callback and triggers it if it's present
1623
- e = e.charAt(0).toLowerCase() + e.slice(1);
1624
- if (mfp.st.callbacks[e]) {
1625
- mfp.st.callbacks[e].apply(mfp, $.isArray(data) ? data : [data]);
1626
- }
1627
- }
1628
- },
1629
- _getCloseBtn = function (type) {
1630
- if (type !== _currPopupType || !mfp.currTemplate.closeBtn) {
1631
- mfp.currTemplate.closeBtn = $(mfp.st.closeMarkup.replace('%title%', mfp.st.tClose));
1632
- _currPopupType = type;
1633
- }
1634
- return mfp.currTemplate.closeBtn;
1635
- },
1636
- // Initialize Magnific Popup only when called at least once
1637
- _checkInstance = function () {
1638
- if (!$.magnificPopup.instance) {
1639
- /*jshint -W020 */
1640
- mfp = new MagnificPopup();
1641
- mfp.init();
1642
- $.magnificPopup.instance = mfp;
1643
- }
1644
- },
1645
- // CSS transition detection, http://stackoverflow.com/questions/7264899/detect-css-transitions-using-javascript-and-without-modernizr
1646
- supportsTransitions = function () {
1647
- var s = document.createElement('p').style, // 's' for style. better to create an element if body yet to exist
1648
- v = ['ms', 'O', 'Moz', 'Webkit']; // 'v' for vendor
1649
-
1650
- if (s['transition'] !== undefined) {
1651
- return true;
1652
- }
1653
-
1654
- while (v.length) {
1655
- if (v.pop() + 'Transition' in s) {
1656
- return true;
1657
- }
1658
- }
1659
-
1660
- return false;
1661
- };
1662
-
1663
-
1664
-
1665
- /**
1666
- * Public functions
1667
- */
1668
- MagnificPopup.prototype = {
1669
-
1670
- constructor: MagnificPopup,
1671
-
1672
- /**
1673
- * Initializes Magnific Popup plugin.
1674
- * This function is triggered only once when $.fn.magnificPopup or $.magnificPopup is executed
1675
- */
1676
- init: function () {
1677
- var appVersion = navigator.appVersion;
1678
- mfp.isLowIE = mfp.isIE8 = document.all && !document.addEventListener;
1679
- mfp.isAndroid = (/android/gi).test(appVersion);
1680
- mfp.isIOS = (/iphone|ipad|ipod/gi).test(appVersion);
1681
- mfp.supportsTransition = supportsTransitions();
1682
-
1683
- // We disable fixed positioned lightbox on devices that don't handle it nicely.
1684
- // If you know a better way of detecting this - let me know.
1685
- mfp.probablyMobile = (mfp.isAndroid || mfp.isIOS || /(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent));
1686
- _document = $(document);
1687
-
1688
- mfp.popupsCache = {};
1689
- },
1690
-
1691
- /**
1692
- * Opens popup
1693
- * @param data [description]
1694
- */
1695
- open: function (data) {
1696
-
1697
- var i;
1698
-
1699
- if (data.isObj === false) {
1700
- // convert jQuery collection to array to avoid conflicts later
1701
- mfp.items = data.items.toArray();
1702
-
1703
- mfp.index = 0;
1704
- var items = data.items,
1705
- item;
1706
- for (i = 0; i < items.length; i++) {
1707
- item = items[i];
1708
- if (item.parsed) {
1709
- item = item.el[0];
1710
- }
1711
- if (item === data.el[0]) {
1712
- mfp.index = i;
1713
- break;
1714
- }
1715
- }
1716
- } else {
1717
- mfp.items = $.isArray(data.items) ? data.items : [data.items];
1718
- mfp.index = data.index || 0;
1719
- }
1720
-
1721
- // if popup is already opened - we just update the content
1722
- if (mfp.isOpen) {
1723
- mfp.updateItemHTML();
1724
- return;
1725
- }
1726
-
1727
- mfp.types = [];
1728
- _wrapClasses = '';
1729
- if (data.mainEl && data.mainEl.length) {
1730
- mfp.ev = data.mainEl.eq(0);
1731
- } else {
1732
- mfp.ev = _document;
1733
- }
1734
-
1735
- if (data.key) {
1736
- if (!mfp.popupsCache[data.key]) {
1737
- mfp.popupsCache[data.key] = {};
1738
- }
1739
- mfp.currTemplate = mfp.popupsCache[data.key];
1740
- } else {
1741
- mfp.currTemplate = {};
1742
- }
1743
-
1744
-
1745
-
1746
- mfp.st = $.extend(true, {}, $.magnificPopup.defaults, data);
1747
- mfp.fixedContentPos = mfp.st.fixedContentPos === 'auto' ? !mfp.probablyMobile : mfp.st.fixedContentPos;
1748
-
1749
- if (mfp.st.modal) {
1750
- mfp.st.closeOnContentClick = false;
1751
- mfp.st.closeOnBgClick = false;
1752
- mfp.st.showCloseBtn = false;
1753
- mfp.st.enableEscapeKey = false;
1754
- }
1755
-
1756
-
1757
- // Building markup
1758
- // main containers are created only once
1759
- if (!mfp.bgOverlay) {
1760
-
1761
- // Dark overlay
1762
- mfp.bgOverlay = _getEl('bg').on('click' + EVENT_NS, function () {
1763
- mfp.close();
1764
- });
1765
-
1766
- mfp.wrap = _getEl('wrap').attr('tabindex', -1).on('click' + EVENT_NS, function (e) {
1767
- if (mfp._checkIfClose(e.target)) {
1768
- mfp.close();
1769
- }
1770
- });
1771
-
1772
- mfp.container = _getEl('container', mfp.wrap);
1773
- }
1774
-
1775
- mfp.contentContainer = _getEl('content');
1776
- if (mfp.st.preloader) {
1777
- mfp.preloader = _getEl('preloader', mfp.container, mfp.st.tLoading);
1778
- }
1779
-
1780
-
1781
- // Initializing modules
1782
- var modules = $.magnificPopup.modules;
1783
- for (i = 0; i < modules.length; i++) {
1784
- var n = modules[i];
1785
- n = n.charAt(0).toUpperCase() + n.slice(1);
1786
- mfp['init' + n].call(mfp);
1787
- }
1788
- _mfpTrigger('BeforeOpen');
1789
-
1790
-
1791
- if (mfp.st.showCloseBtn) {
1792
- // Close button
1793
- if (!mfp.st.closeBtnInside) {
1794
- mfp.wrap.append(_getCloseBtn());
1795
- } else {
1796
- _mfpOn(MARKUP_PARSE_EVENT, function (e, template, values, item) {
1797
- values.close_replaceWith = _getCloseBtn(item.type);
1798
- });
1799
- _wrapClasses += ' mfp-close-btn-in';
1800
- }
1801
- }
1802
-
1803
- if (mfp.st.alignTop) {
1804
- _wrapClasses += ' mfp-align-top';
1805
- }
1806
-
1807
-
1808
-
1809
- if (mfp.fixedContentPos) {
1810
- mfp.wrap.css({
1811
- overflow: mfp.st.overflowY,
1812
- overflowX: 'hidden',
1813
- overflowY: mfp.st.overflowY
1814
- });
1815
- } else {
1816
- mfp.wrap.css({
1817
- top: _window.scrollTop(),
1818
- position: 'absolute'
1819
- });
1820
- }
1821
- if (mfp.st.fixedBgPos === false || (mfp.st.fixedBgPos === 'auto' && !mfp.fixedContentPos)) {
1822
- mfp.bgOverlay.css({
1823
- height: _document.height(),
1824
- position: 'absolute'
1825
- });
1826
- }
1827
-
1828
-
1829
-
1830
- if (mfp.st.enableEscapeKey) {
1831
- // Close on ESC key
1832
- _document.on('keyup' + EVENT_NS, function (e) {
1833
- if (e.keyCode === 27) {
1834
- mfp.close();
1835
- }
1836
- });
1837
- }
1838
-
1839
- _window.on('resize' + EVENT_NS, function () {
1840
- mfp.updateSize();
1841
- });
1842
-
1843
-
1844
- if (!mfp.st.closeOnContentClick) {
1845
- _wrapClasses += ' mfp-auto-cursor';
1846
- }
1847
-
1848
- if (_wrapClasses)
1849
- mfp.wrap.addClass(_wrapClasses);
1850
-
1851
-
1852
- // this triggers recalculation of layout, so we get it once to not to trigger twice
1853
- var windowHeight = mfp.wH = _window.height();
1854
-
1855
-
1856
- var windowStyles = {};
1857
-
1858
- if (mfp.fixedContentPos) {
1859
- if (mfp._hasScrollBar(windowHeight)) {
1860
- var s = mfp._getScrollbarSize();
1861
- if (s) {
1862
- windowStyles.marginRight = s;
1863
- }
1864
- }
1865
- }
1866
-
1867
- if (mfp.fixedContentPos) {
1868
- if (!mfp.isIE7) {
1869
- windowStyles.overflow = 'hidden';
1870
- } else {
1871
- // ie7 double-scroll bug
1872
- $('body, html').css('overflow', 'hidden');
1873
- }
1874
- }
1875
-
1876
-
1877
-
1878
- var classesToadd = mfp.st.mainClass;
1879
- if (mfp.isIE7) {
1880
- classesToadd += ' mfp-ie7';
1881
- }
1882
- if (classesToadd) {
1883
- mfp._addClassToMFP(classesToadd);
1884
- }
1885
-
1886
- // add content
1887
- mfp.updateItemHTML();
1888
-
1889
- _mfpTrigger('BuildControls');
1890
-
1891
- // remove scrollbar, add margin e.t.c
1892
- $('html').css(windowStyles);
1893
-
1894
- // add everything to DOM
1895
- mfp.bgOverlay.add(mfp.wrap).prependTo(mfp.st.prependTo || $(document.body));
1896
-
1897
- // Save last focused element
1898
- mfp._lastFocusedEl = document.activeElement;
1899
-
1900
- // Wait for next cycle to allow CSS transition
1901
- setTimeout(function () {
1902
-
1903
- if (mfp.content) {
1904
- mfp._addClassToMFP(READY_CLASS);
1905
- mfp._setFocus();
1906
- } else {
1907
- // if content is not defined (not loaded e.t.c) we add class only for BG
1908
- mfp.bgOverlay.addClass(READY_CLASS);
1909
- }
1910
-
1911
- // Trap the focus in popup
1912
- _document.on('focusin' + EVENT_NS, mfp._onFocusIn);
1913
-
1914
- }, 16);
1915
-
1916
- mfp.isOpen = true;
1917
- mfp.updateSize(windowHeight);
1918
- _mfpTrigger(OPEN_EVENT);
1919
-
1920
- return data;
1921
- },
1922
-
1923
- /**
1924
- * Closes the popup
1925
- */
1926
- close: function () {
1927
- if (!mfp.isOpen) return;
1928
- _mfpTrigger(BEFORE_CLOSE_EVENT);
1929
-
1930
- mfp.isOpen = false;
1931
- // for CSS3 animation
1932
- if (mfp.st.removalDelay && !mfp.isLowIE && mfp.supportsTransition) {
1933
- mfp._addClassToMFP(REMOVING_CLASS);
1934
- setTimeout(function () {
1935
- mfp._close();
1936
- }, mfp.st.removalDelay);
1937
- } else {
1938
- mfp._close();
1939
- }
1940
- },
1941
-
1942
- /**
1943
- * Helper for close() function
1944
- */
1945
- _close: function () {
1946
- _mfpTrigger(CLOSE_EVENT);
1947
-
1948
- var classesToRemove = REMOVING_CLASS + ' ' + READY_CLASS + ' ';
1949
-
1950
- mfp.bgOverlay.detach();
1951
- mfp.wrap.detach();
1952
- mfp.container.empty();
1953
-
1954
- if (mfp.st.mainClass) {
1955
- classesToRemove += mfp.st.mainClass + ' ';
1956
- }
1957
-
1958
- mfp._removeClassFromMFP(classesToRemove);
1959
-
1960
- if (mfp.fixedContentPos) {
1961
- var windowStyles = { marginRight: '' };
1962
- if (mfp.isIE7) {
1963
- $('body, html').css('overflow', '');
1964
- } else {
1965
- windowStyles.overflow = '';
1966
- }
1967
- $('html').css(windowStyles);
1968
- }
1969
-
1970
- _document.off('keyup' + EVENT_NS + ' focusin' + EVENT_NS);
1971
- mfp.ev.off(EVENT_NS);
1972
-
1973
- // clean up DOM elements that aren't removed
1974
- mfp.wrap.attr('class', 'mfp-wrap').removeAttr('style');
1975
- mfp.bgOverlay.attr('class', 'mfp-bg');
1976
- mfp.container.attr('class', 'mfp-container');
1977
-
1978
- // remove close button from target element
1979
- if (mfp.st.showCloseBtn &&
1980
- (!mfp.st.closeBtnInside || mfp.currTemplate[mfp.currItem.type] === true)) {
1981
- if (mfp.currTemplate.closeBtn)
1982
- mfp.currTemplate.closeBtn.detach();
1983
- }
1984
-
1985
-
1986
- if (mfp.st.autoFocusLast && mfp._lastFocusedEl) {
1987
- $(mfp._lastFocusedEl).focus(); // put tab focus back
1988
- }
1989
- mfp.currItem = null;
1990
- mfp.content = null;
1991
- mfp.currTemplate = null;
1992
- mfp.prevHeight = 0;
1993
-
1994
- _mfpTrigger(AFTER_CLOSE_EVENT);
1995
- },
1996
-
1997
- updateSize: function (winHeight) {
1998
-
1999
- if (mfp.isIOS) {
2000
- // fixes iOS nav bars https://github.com/dimsemenov/Magnific-Popup/issues/2
2001
- var zoomLevel = document.documentElement.clientWidth / window.innerWidth;
2002
- var height = window.innerHeight * zoomLevel;
2003
- mfp.wrap.css('height', height);
2004
- mfp.wH = height;
2005
- } else {
2006
- mfp.wH = winHeight || _window.height();
2007
- }
2008
- // Fixes #84: popup incorrectly positioned with position:relative on body
2009
- if (!mfp.fixedContentPos) {
2010
- mfp.wrap.css('height', mfp.wH);
2011
- }
2012
-
2013
- _mfpTrigger('Resize');
2014
-
2015
- },
2016
-
2017
- /**
2018
- * Set content of popup based on current index
2019
- */
2020
- updateItemHTML: function () {
2021
- var item = mfp.items[mfp.index];
2022
-
2023
- // Detach and perform modifications
2024
- mfp.contentContainer.detach();
2025
-
2026
- if (mfp.content)
2027
- mfp.content.detach();
2028
-
2029
- if (!item.parsed) {
2030
- item = mfp.parseEl(mfp.index);
2031
- }
2032
-
2033
- var type = item.type;
2034
-
2035
- _mfpTrigger('BeforeChange', [mfp.currItem ? mfp.currItem.type : '', type]);
2036
- // BeforeChange event works like so:
2037
- // _mfpOn('BeforeChange', function(e, prevType, newType) { });
2038
-
2039
- mfp.currItem = item;
2040
-
2041
- if (!mfp.currTemplate[type]) {
2042
- var markup = mfp.st[type] ? mfp.st[type].markup : false;
2043
-
2044
- // allows to modify markup
2045
- _mfpTrigger('FirstMarkupParse', markup);
2046
-
2047
- if (markup) {
2048
- mfp.currTemplate[type] = $(markup);
2049
- } else {
2050
- // if there is no markup found we just define that template is parsed
2051
- mfp.currTemplate[type] = true;
2052
- }
2053
- }
2054
-
2055
- if (_prevContentType && _prevContentType !== item.type) {
2056
- mfp.container.removeClass('mfp-' + _prevContentType + '-holder');
2057
- }
2058
-
2059
- var newContent = mfp['get' + type.charAt(0).toUpperCase() + type.slice(1)](item, mfp.currTemplate[type]);
2060
- mfp.appendContent(newContent, type);
2061
-
2062
- item.preloaded = true;
2063
-
2064
- _mfpTrigger(CHANGE_EVENT, item);
2065
- _prevContentType = item.type;
2066
-
2067
- // Append container back after its content changed
2068
- mfp.container.prepend(mfp.contentContainer);
2069
-
2070
- _mfpTrigger('AfterChange');
2071
- },
2072
-
2073
-
2074
- /**
2075
- * Set HTML content of popup
2076
- */
2077
- appendContent: function (newContent, type) {
2078
- mfp.content = newContent;
2079
-
2080
- if (newContent) {
2081
- if (mfp.st.showCloseBtn && mfp.st.closeBtnInside &&
2082
- mfp.currTemplate[type] === true) {
2083
- // if there is no markup, we just append close button element inside
2084
- if (!mfp.content.find('.mfp-close').length) {
2085
- mfp.content.append(_getCloseBtn());
2086
- }
2087
- } else {
2088
- mfp.content = newContent;
2089
- }
2090
- } else {
2091
- mfp.content = '';
2092
- }
2093
-
2094
- _mfpTrigger(BEFORE_APPEND_EVENT);
2095
- mfp.container.addClass('mfp-' + type + '-holder');
2096
-
2097
- mfp.contentContainer.append(mfp.content);
2098
- },
2099
-
2100
-
2101
- /**
2102
- * Creates Magnific Popup data object based on given data
2103
- * @param {int} index Index of item to parse
2104
- */
2105
- parseEl: function (index) {
2106
- var item = mfp.items[index],
2107
- type;
2108
-
2109
- if (item.tagName) {
2110
- item = { el: $(item) };
2111
- } else {
2112
- type = item.type;
2113
- item = { data: item, src: item.src };
2114
- }
2115
-
2116
- if (item.el) {
2117
- var types = mfp.types;
2118
-
2119
- // check for 'mfp-TYPE' class
2120
- for (var i = 0; i < types.length; i++) {
2121
- if (item.el.hasClass('mfp-' + types[i])) {
2122
- type = types[i];
2123
- break;
2124
- }
2125
- }
2126
-
2127
- item.src = item.el.attr('data-mfp-src');
2128
- if (!item.src) {
2129
- item.src = item.el.attr('href');
2130
- }
2131
- }
2132
-
2133
- item.type = type || mfp.st.type || 'inline';
2134
- item.index = index;
2135
- item.parsed = true;
2136
- mfp.items[index] = item;
2137
- _mfpTrigger('ElementParse', item);
2138
-
2139
- return mfp.items[index];
2140
- },
2141
-
2142
-
2143
- /**
2144
- * Initializes single popup or a group of popups
2145
- */
2146
- addGroup: function (el, options) {
2147
- var eHandler = function (e) {
2148
- e.mfpEl = this;
2149
- mfp._openClick(e, el, options);
2150
- };
2151
-
2152
- if (!options) {
2153
- options = {};
2154
- }
2155
-
2156
- var eName = 'click.magnificPopup';
2157
- options.mainEl = el;
2158
-
2159
- if (options.items) {
2160
- options.isObj = true;
2161
- el.off(eName).on(eName, eHandler);
2162
- } else {
2163
- options.isObj = false;
2164
- if (options.delegate) {
2165
- el.off(eName).on(eName, options.delegate, eHandler);
2166
- } else {
2167
- options.items = el;
2168
- el.off(eName).on(eName, eHandler);
2169
- }
2170
- }
2171
- },
2172
- _openClick: function (e, el, options) {
2173
- var midClick = options.midClick !== undefined ? options.midClick : $.magnificPopup.defaults.midClick;
2174
-
2175
-
2176
- if (!midClick && (e.which === 2 || e.ctrlKey || e.metaKey || e.altKey || e.shiftKey)) {
2177
- return;
2178
- }
2179
-
2180
- var disableOn = options.disableOn !== undefined ? options.disableOn : $.magnificPopup.defaults.disableOn;
2181
-
2182
- if (disableOn) {
2183
- if ($.isFunction(disableOn)) {
2184
- if (!disableOn.call(mfp)) {
2185
- return true;
2186
- }
2187
- } else { // else it's number
2188
- if (_window.width() < disableOn) {
2189
- return true;
2190
- }
2191
- }
2192
- }
2193
-
2194
- if (e.type) {
2195
- e.preventDefault();
2196
-
2197
- // This will prevent popup from closing if element is inside and popup is already opened
2198
- if (mfp.isOpen) {
2199
- e.stopPropagation();
2200
- }
2201
- }
2202
-
2203
- options.el = $(e.mfpEl);
2204
- if (options.delegate) {
2205
- options.items = el.find(options.delegate);
2206
- }
2207
- mfp.open(options);
2208
- },
2209
-
2210
-
2211
- /**
2212
- * Updates text on preloader
2213
- */
2214
- updateStatus: function (status, text) {
2215
-
2216
- if (mfp.preloader) {
2217
- if (_prevStatus !== status) {
2218
- mfp.container.removeClass('mfp-s-' + _prevStatus);
2219
- }
2220
-
2221
- if (!text && status === 'loading') {
2222
- text = mfp.st.tLoading;
2223
- }
2224
-
2225
- var data = {
2226
- status: status,
2227
- text: text
2228
- };
2229
- // allows to modify status
2230
- _mfpTrigger('UpdateStatus', data);
2231
-
2232
- status = data.status;
2233
- text = data.text;
2234
-
2235
- mfp.preloader.html(text);
2236
-
2237
- mfp.preloader.find('a').on('click', function (e) {
2238
- e.stopImmediatePropagation();
2239
- });
2240
-
2241
- mfp.container.addClass('mfp-s-' + status);
2242
- _prevStatus = status;
2243
- }
2244
- },
2245
-
2246
-
2247
- /*
2248
- "Private" helpers that aren't private at all
2249
- */
2250
- // Check to close popup or not
2251
- // "target" is an element that was clicked
2252
- _checkIfClose: function (target) {
2253
-
2254
- if ($(target).hasClass(PREVENT_CLOSE_CLASS)) {
2255
- return;
2256
- }
2257
-
2258
- var closeOnContent = mfp.st.closeOnContentClick;
2259
- var closeOnBg = mfp.st.closeOnBgClick;
2260
-
2261
- if (closeOnContent && closeOnBg) {
2262
- return true;
2263
- } else {
2264
-
2265
- // We close the popup if click is on close button or on preloader. Or if there is no content.
2266
- if (!mfp.content || $(target).hasClass('mfp-close') || (mfp.preloader && target === mfp.preloader[0])) {
2267
- return true;
2268
- }
2269
-
2270
- // if click is outside the content
2271
- if ((target !== mfp.content[0] && !$.contains(mfp.content[0], target))) {
2272
- if (closeOnBg) {
2273
- // last check, if the clicked element is in DOM, (in case it's removed onclick)
2274
- if ($.contains(document, target)) {
2275
- return true;
2276
- }
2277
- }
2278
- } else if (closeOnContent) {
2279
- return true;
2280
- }
2281
-
2282
- }
2283
- return false;
2284
- },
2285
- _addClassToMFP: function (cName) {
2286
- mfp.bgOverlay.addClass(cName);
2287
- mfp.wrap.addClass(cName);
2288
- },
2289
- _removeClassFromMFP: function (cName) {
2290
- this.bgOverlay.removeClass(cName);
2291
- mfp.wrap.removeClass(cName);
2292
- },
2293
- _hasScrollBar: function (winHeight) {
2294
- return ((mfp.isIE7 ? _document.height() : document.body.scrollHeight) > (winHeight || _window.height()));
2295
- },
2296
- _setFocus: function () {
2297
- (mfp.st.focus ? mfp.content.find(mfp.st.focus).eq(0) : mfp.wrap).focus();
2298
- },
2299
- _onFocusIn: function (e) {
2300
- if (e.target !== mfp.wrap[0] && !$.contains(mfp.wrap[0], e.target)) {
2301
- mfp._setFocus();
2302
- return false;
2303
- }
2304
- },
2305
- _parseMarkup: function (template, values, item) {
2306
- var arr;
2307
- if (item.data) {
2308
- values = $.extend(item.data, values);
2309
- }
2310
- _mfpTrigger(MARKUP_PARSE_EVENT, [template, values, item]);
2311
-
2312
- $.each(values, function (key, value) {
2313
- if (value === undefined || value === false) {
2314
- return true;
2315
- }
2316
- arr = key.split('_');
2317
- if (arr.length > 1) {
2318
- var el = template.find(EVENT_NS + '-' + arr[0]);
2319
-
2320
- if (el.length > 0) {
2321
- var attr = arr[1];
2322
- if (attr === 'replaceWith') {
2323
- if (el[0] !== value[0]) {
2324
- el.replaceWith(value);
2325
- }
2326
- } else if (attr === 'img') {
2327
- if (el.is('img')) {
2328
- el.attr('src', value);
2329
- } else {
2330
- el.replaceWith($('<img>').attr('src', value).attr('class', el.attr('class')));
2331
- }
2332
- } else {
2333
- el.attr(arr[1], value);
2334
- }
2335
- }
2336
-
2337
- } else {
2338
- template.find(EVENT_NS + '-' + key).html(value);
2339
- }
2340
- });
2341
- },
2342
-
2343
- _getScrollbarSize: function () {
2344
- // thx David
2345
- if (mfp.scrollbarSize === undefined) {
2346
- var scrollDiv = document.createElement("div");
2347
- scrollDiv.style.cssText = 'width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;';
2348
- document.body.appendChild(scrollDiv);
2349
- mfp.scrollbarSize = scrollDiv.offsetWidth - scrollDiv.clientWidth;
2350
- document.body.removeChild(scrollDiv);
2351
- }
2352
- return mfp.scrollbarSize;
2353
- }
2354
-
2355
- }; /* MagnificPopup core prototype end */
2356
-
2357
-
2358
-
2359
-
2360
- /**
2361
- * Public static functions
2362
- */
2363
- $.magnificPopup = {
2364
- instance: null,
2365
- proto: MagnificPopup.prototype,
2366
- modules: [],
2367
-
2368
- open: function (options, index) {
2369
- _checkInstance();
2370
-
2371
- if (!options) {
2372
- options = {};
2373
- } else {
2374
- options = $.extend(true, {}, options);
2375
- }
2376
-
2377
- options.isObj = true;
2378
- options.index = index || 0;
2379
- return this.instance.open(options);
2380
- },
2381
-
2382
- close: function () {
2383
- return $.magnificPopup.instance && $.magnificPopup.instance.close();
2384
- },
2385
-
2386
- registerModule: function (name, module) {
2387
- if (module.options) {
2388
- $.magnificPopup.defaults[name] = module.options;
2389
- }
2390
- $.extend(this.proto, module.proto);
2391
- this.modules.push(name);
2392
- },
2393
-
2394
- defaults: {
2395
-
2396
- // Info about options is in docs:
2397
- // http://dimsemenov.com/plugins/magnific-popup/documentation.html#options
2398
-
2399
- disableOn: 0,
2400
-
2401
- key: null,
2402
-
2403
- midClick: false,
2404
-
2405
- mainClass: '',
2406
-
2407
- preloader: true,
2408
-
2409
- focus: '', // CSS selector of input to focus after popup is opened
2410
-
2411
- closeOnContentClick: false,
2412
-
2413
- closeOnBgClick: true,
2414
-
2415
- closeBtnInside: true,
2416
-
2417
- showCloseBtn: true,
2418
-
2419
- enableEscapeKey: true,
2420
-
2421
- modal: false,
2422
-
2423
- alignTop: false,
2424
-
2425
- removalDelay: 0,
2426
-
2427
- prependTo: null,
2428
-
2429
- fixedContentPos: 'auto',
2430
-
2431
- fixedBgPos: 'auto',
2432
-
2433
- overflowY: 'auto',
2434
-
2435
- closeMarkup: '<button title="%title%" type="button" class="mfp-close">&#215;</button>',
2436
-
2437
- tClose: 'Close (Esc)',
2438
-
2439
- tLoading: 'Loading...',
2440
-
2441
- autoFocusLast: true
2442
-
2443
- }
2444
- };
2445
-
2446
-
2447
-
2448
- $.fn.magnificPopup = function (options) {
2449
- _checkInstance();
2450
-
2451
- var jqEl = $(this);
2452
-
2453
- // We call some API method of first param is a string
2454
- if (typeof options === "string") {
2455
-
2456
- if (options === 'open') {
2457
- var items,
2458
- itemOpts = _isJQ ? jqEl.data('magnificPopup') : jqEl[0].magnificPopup,
2459
- index = parseInt(arguments[1], 10) || 0;
2460
-
2461
- if (itemOpts.items) {
2462
- items = itemOpts.items[index];
2463
- } else {
2464
- items = jqEl;
2465
- if (itemOpts.delegate) {
2466
- items = items.find(itemOpts.delegate);
2467
- }
2468
- items = items.eq(index);
2469
- }
2470
- mfp._openClick({ mfpEl: items }, jqEl, itemOpts);
2471
- } else {
2472
- if (mfp.isOpen)
2473
- mfp[options].apply(mfp, Array.prototype.slice.call(arguments, 1));
2474
- }
2475
-
2476
- } else {
2477
- // clone options obj
2478
- options = $.extend(true, {}, options);
2479
-
2480
- /*
2481
- * As Zepto doesn't support .data() method for objects
2482
- * and it works only in normal browsers
2483
- * we assign "options" object directly to the DOM element. FTW!
2484
- */
2485
- if (_isJQ) {
2486
- jqEl.data('magnificPopup', options);
2487
- } else {
2488
- jqEl[0].magnificPopup = options;
2489
- }
2490
-
2491
- mfp.addGroup(jqEl, options);
2492
-
2493
- }
2494
- return jqEl;
2495
- };
2496
-
2497
- /*>>core*/
2498
-
2499
- /*>>inline*/
2500
-
2501
- var INLINE_NS = 'inline',
2502
- _hiddenClass,
2503
- _inlinePlaceholder,
2504
- _lastInlineElement,
2505
- _putInlineElementsBack = function () {
2506
- if (_lastInlineElement) {
2507
- _inlinePlaceholder.after(_lastInlineElement.addClass(_hiddenClass)).detach();
2508
- _lastInlineElement = null;
2509
- }
2510
- };
2511
-
2512
- $.magnificPopup.registerModule(INLINE_NS, {
2513
- options: {
2514
- hiddenClass: 'hide', // will be appended with `mfp-` prefix
2515
- markup: '',
2516
- tNotFound: 'Content not found'
2517
- },
2518
- proto: {
2519
-
2520
- initInline: function () {
2521
- mfp.types.push(INLINE_NS);
2522
-
2523
- _mfpOn(CLOSE_EVENT + '.' + INLINE_NS, function () {
2524
- _putInlineElementsBack();
2525
- });
2526
- },
2527
-
2528
- getInline: function (item, template) {
2529
-
2530
- _putInlineElementsBack();
2531
-
2532
- if (item.src) {
2533
- var inlineSt = mfp.st.inline,
2534
- el = $(item.src);
2535
-
2536
- if (el.length) {
2537
-
2538
- // If target element has parent - we replace it with placeholder and put it back after popup is closed
2539
- var parent = el[0].parentNode;
2540
- if (parent && parent.tagName) {
2541
- if (!_inlinePlaceholder) {
2542
- _hiddenClass = inlineSt.hiddenClass;
2543
- _inlinePlaceholder = _getEl(_hiddenClass);
2544
- _hiddenClass = 'mfp-' + _hiddenClass;
2545
- }
2546
- // replace target inline element with placeholder
2547
- _lastInlineElement = el.after(_inlinePlaceholder).detach().removeClass(_hiddenClass);
2548
- }
2549
-
2550
- mfp.updateStatus('ready');
2551
- } else {
2552
- mfp.updateStatus('error', inlineSt.tNotFound);
2553
- el = $('<div>');
2554
- }
2555
-
2556
- item.inlineElement = el;
2557
- return el;
2558
- }
2559
-
2560
- mfp.updateStatus('ready');
2561
- mfp._parseMarkup(template, {}, item);
2562
- return template;
2563
- }
2564
- }
2565
- });
2566
-
2567
- /*>>inline*/
2568
-
2569
- /*>>ajax*/
2570
- var AJAX_NS = 'ajax',
2571
- _ajaxCur,
2572
- _removeAjaxCursor = function () {
2573
- if (_ajaxCur) {
2574
- $(document.body).removeClass(_ajaxCur);
2575
- }
2576
- },
2577
- _destroyAjaxRequest = function () {
2578
- _removeAjaxCursor();
2579
- if (mfp.req) {
2580
- mfp.req.abort();
2581
- }
2582
- };
2583
-
2584
- $.magnificPopup.registerModule(AJAX_NS, {
2585
-
2586
- options: {
2587
- settings: null,
2588
- cursor: 'mfp-ajax-cur',
2589
- tError: '<a href="%url%">The content</a> could not be loaded.'
2590
- },
2591
-
2592
- proto: {
2593
- initAjax: function () {
2594
- mfp.types.push(AJAX_NS);
2595
- _ajaxCur = mfp.st.ajax.cursor;
2596
-
2597
- _mfpOn(CLOSE_EVENT + '.' + AJAX_NS, _destroyAjaxRequest);
2598
- _mfpOn('BeforeChange.' + AJAX_NS, _destroyAjaxRequest);
2599
- },
2600
- getAjax: function (item) {
2601
-
2602
- if (_ajaxCur) {
2603
- $(document.body).addClass(_ajaxCur);
2604
- }
2605
-
2606
- mfp.updateStatus('loading');
2607
-
2608
- var opts = $.extend({
2609
- url: item.src,
2610
- success: function (data, textStatus, jqXHR) {
2611
- var temp = {
2612
- data: data,
2613
- xhr: jqXHR
2614
- };
2615
-
2616
- _mfpTrigger('ParseAjax', temp);
2617
-
2618
- mfp.appendContent($(temp.data), AJAX_NS);
2619
-
2620
- item.finished = true;
2621
-
2622
- _removeAjaxCursor();
2623
-
2624
- mfp._setFocus();
2625
-
2626
- setTimeout(function () {
2627
- mfp.wrap.addClass(READY_CLASS);
2628
- }, 16);
2629
-
2630
- mfp.updateStatus('ready');
2631
-
2632
- _mfpTrigger('AjaxContentAdded');
2633
- },
2634
- error: function () {
2635
- _removeAjaxCursor();
2636
- item.finished = item.loadError = true;
2637
- mfp.updateStatus('error', mfp.st.ajax.tError.replace('%url%', item.src));
2638
- }
2639
- }, mfp.st.ajax.settings);
2640
-
2641
- mfp.req = $.ajax(opts);
2642
-
2643
- return '';
2644
- }
2645
- }
2646
- });
2647
-
2648
- /*>>ajax*/
2649
-
2650
- /*>>image*/
2651
- var _imgInterval,
2652
- _getTitle = function (item) {
2653
- if (item.data && item.data.title !== undefined)
2654
- return item.data.title;
2655
-
2656
- var src = mfp.st.image.titleSrc;
2657
-
2658
- if (src) {
2659
- if ($.isFunction(src)) {
2660
- return src.call(mfp, item);
2661
- } else if (item.el) {
2662
- return item.el.attr(src) || '';
2663
- }
2664
- }
2665
- return '';
2666
- };
2667
-
2668
- $.magnificPopup.registerModule('image', {
2669
-
2670
- options: {
2671
- markup: '<div class="mfp-figure">' +
2672
- '<div class="mfp-close"></div>' +
2673
- '<figure>' +
2674
- '<div class="mfp-img"></div>' +
2675
- '<figcaption>' +
2676
- '<div class="mfp-bottom-bar">' +
2677
- '<div class="mfp-title"></div>' +
2678
- '<div class="mfp-counter"></div>' +
2679
- '</div>' +
2680
- '</figcaption>' +
2681
- '</figure>' +
2682
- '</div>',
2683
- cursor: 'mfp-zoom-out-cur',
2684
- titleSrc: 'title',
2685
- verticalFit: true,
2686
- tError: '<a href="%url%">The image</a> could not be loaded.'
2687
- },
2688
-
2689
- proto: {
2690
- initImage: function () {
2691
- var imgSt = mfp.st.image,
2692
- ns = '.image';
2693
-
2694
- mfp.types.push('image');
2695
-
2696
- _mfpOn(OPEN_EVENT + ns, function () {
2697
- if (mfp.currItem.type === 'image' && imgSt.cursor) {
2698
- $(document.body).addClass(imgSt.cursor);
2699
- }
2700
- });
2701
-
2702
- _mfpOn(CLOSE_EVENT + ns, function () {
2703
- if (imgSt.cursor) {
2704
- $(document.body).removeClass(imgSt.cursor);
2705
- }
2706
- _window.off('resize' + EVENT_NS);
2707
- });
2708
-
2709
- _mfpOn('Resize' + ns, mfp.resizeImage);
2710
- if (mfp.isLowIE) {
2711
- _mfpOn('AfterChange', mfp.resizeImage);
2712
- }
2713
- },
2714
- resizeImage: function () {
2715
- var item = mfp.currItem;
2716
- if (!item || !item.img) return;
2717
-
2718
- if (mfp.st.image.verticalFit) {
2719
- var decr = 0;
2720
- // fix box-sizing in ie7/8
2721
- if (mfp.isLowIE) {
2722
- decr = parseInt(item.img.css('padding-top'), 10) + parseInt(item.img.css('padding-bottom'), 10);
2723
- }
2724
- item.img.css('max-height', mfp.wH - decr);
2725
- }
2726
- },
2727
- _onImageHasSize: function (item) {
2728
- if (item.img) {
2729
-
2730
- item.hasSize = true;
2731
-
2732
- if (_imgInterval) {
2733
- clearInterval(_imgInterval);
2734
- }
2735
-
2736
- item.isCheckingImgSize = false;
2737
-
2738
- _mfpTrigger('ImageHasSize', item);
2739
-
2740
- if (item.imgHidden) {
2741
- if (mfp.content)
2742
- mfp.content.removeClass('mfp-loading');
2743
-
2744
- item.imgHidden = false;
2745
- }
2746
-
2747
- }
2748
- },
2749
-
2750
- /**
2751
- * Function that loops until the image has size to display elements that rely on it asap
2752
- */
2753
- findImageSize: function (item) {
2754
-
2755
- var counter = 0,
2756
- img = item.img[0],
2757
- mfpSetInterval = function (delay) {
2758
-
2759
- if (_imgInterval) {
2760
- clearInterval(_imgInterval);
2761
- }
2762
- // decelerating interval that checks for size of an image
2763
- _imgInterval = setInterval(function () {
2764
- if (img.naturalWidth > 0) {
2765
- mfp._onImageHasSize(item);
2766
- return;
2767
- }
2768
-
2769
- if (counter > 200) {
2770
- clearInterval(_imgInterval);
2771
- }
2772
-
2773
- counter++;
2774
- if (counter === 3) {
2775
- mfpSetInterval(10);
2776
- } else if (counter === 40) {
2777
- mfpSetInterval(50);
2778
- } else if (counter === 100) {
2779
- mfpSetInterval(500);
2780
- }
2781
- }, delay);
2782
- };
2783
-
2784
- mfpSetInterval(1);
2785
- },
2786
-
2787
- getImage: function (item, template) {
2788
-
2789
- var guard = 0,
2790
-
2791
- // image load complete handler
2792
- onLoadComplete = function () {
2793
- if (item) {
2794
- if (item.img[0].complete) {
2795
- item.img.off('.mfploader');
2796
-
2797
- if (item === mfp.currItem) {
2798
- mfp._onImageHasSize(item);
2799
-
2800
- mfp.updateStatus('ready');
2801
- }
2802
-
2803
- item.hasSize = true;
2804
- item.loaded = true;
2805
-
2806
- _mfpTrigger('ImageLoadComplete');
2807
-
2808
- }
2809
- else {
2810
- // if image complete check fails 200 times (20 sec), we assume that there was an error.
2811
- guard++;
2812
- if (guard < 200) {
2813
- setTimeout(onLoadComplete, 100);
2814
- } else {
2815
- onLoadError();
2816
- }
2817
- }
2818
- }
2819
- },
2820
-
2821
- // image error handler
2822
- onLoadError = function () {
2823
- if (item) {
2824
- item.img.off('.mfploader');
2825
- if (item === mfp.currItem) {
2826
- mfp._onImageHasSize(item);
2827
- mfp.updateStatus('error', imgSt.tError.replace('%url%', item.src));
2828
- }
2829
-
2830
- item.hasSize = true;
2831
- item.loaded = true;
2832
- item.loadError = true;
2833
- }
2834
- },
2835
- imgSt = mfp.st.image;
2836
-
2837
-
2838
- var el = template.find('.mfp-img');
2839
- if (el.length) {
2840
- var img = document.createElement('img');
2841
- img.className = 'mfp-img';
2842
- if (item.el && item.el.find('img').length) {
2843
- img.alt = item.el.find('img').attr('alt');
2844
- }
2845
- item.img = $(img).on('load.mfploader', onLoadComplete).on('error.mfploader', onLoadError);
2846
- img.src = item.src;
2847
-
2848
- // without clone() "error" event is not firing when IMG is replaced by new IMG
2849
- // TODO: find a way to avoid such cloning
2850
- if (el.is('img')) {
2851
- item.img = item.img.clone();
2852
- }
2853
-
2854
- img = item.img[0];
2855
- if (img.naturalWidth > 0) {
2856
- item.hasSize = true;
2857
- } else if (!img.width) {
2858
- item.hasSize = false;
2859
- }
2860
- }
2861
-
2862
- mfp._parseMarkup(template, {
2863
- title: _getTitle(item),
2864
- img_replaceWith: item.img
2865
- }, item);
2866
-
2867
- mfp.resizeImage();
2868
-
2869
- if (item.hasSize) {
2870
- if (_imgInterval) clearInterval(_imgInterval);
2871
-
2872
- if (item.loadError) {
2873
- template.addClass('mfp-loading');
2874
- mfp.updateStatus('error', imgSt.tError.replace('%url%', item.src));
2875
- } else {
2876
- template.removeClass('mfp-loading');
2877
- mfp.updateStatus('ready');
2878
- }
2879
- return template;
2880
- }
2881
-
2882
- mfp.updateStatus('loading');
2883
- item.loading = true;
2884
-
2885
- if (!item.hasSize) {
2886
- item.imgHidden = true;
2887
- template.addClass('mfp-loading');
2888
- mfp.findImageSize(item);
2889
- }
2890
-
2891
- return template;
2892
- }
2893
- }
2894
- });
2895
-
2896
- /*>>image*/
2897
-
2898
- /*>>zoom*/
2899
- var hasMozTransform,
2900
- getHasMozTransform = function () {
2901
- if (hasMozTransform === undefined) {
2902
- hasMozTransform = document.createElement('p').style.MozTransform !== undefined;
2903
- }
2904
- return hasMozTransform;
2905
- };
2906
-
2907
- $.magnificPopup.registerModule('zoom', {
2908
-
2909
- options: {
2910
- enabled: false,
2911
- easing: 'ease-in-out',
2912
- duration: 300,
2913
- opener: function (element) {
2914
- return element.is('img') ? element : element.find('img');
2915
- }
2916
- },
2917
-
2918
- proto: {
2919
-
2920
- initZoom: function () {
2921
- var zoomSt = mfp.st.zoom,
2922
- ns = '.zoom',
2923
- image;
2924
-
2925
- if (!zoomSt.enabled || !mfp.supportsTransition) {
2926
- return;
2927
- }
2928
-
2929
- var duration = zoomSt.duration,
2930
- getElToAnimate = function (image) {
2931
- var newImg = image.clone().removeAttr('style').removeAttr('class').addClass('mfp-animated-image'),
2932
- transition = 'all ' + (zoomSt.duration / 1000) + 's ' + zoomSt.easing,
2933
- cssObj = {
2934
- position: 'fixed',
2935
- zIndex: 9999,
2936
- left: 0,
2937
- top: 0,
2938
- '-webkit-backface-visibility': 'hidden'
2939
- },
2940
- t = 'transition';
2941
-
2942
- cssObj['-webkit-' + t] = cssObj['-moz-' + t] = cssObj['-o-' + t] = cssObj[t] = transition;
2943
-
2944
- newImg.css(cssObj);
2945
- return newImg;
2946
- },
2947
- showMainContent = function () {
2948
- mfp.content.css('visibility', 'visible');
2949
- },
2950
- openTimeout,
2951
- animatedImg;
2952
-
2953
- _mfpOn('BuildControls' + ns, function () {
2954
- if (mfp._allowZoom()) {
2955
-
2956
- clearTimeout(openTimeout);
2957
- mfp.content.css('visibility', 'hidden');
2958
-
2959
- // Basically, all code below does is clones existing image, puts in on top of the current one and animated it
2960
-
2961
- image = mfp._getItemToZoom();
2962
-
2963
- if (!image) {
2964
- showMainContent();
2965
- return;
2966
- }
2967
-
2968
- animatedImg = getElToAnimate(image);
2969
-
2970
- animatedImg.css(mfp._getOffset());
2971
-
2972
- mfp.wrap.append(animatedImg);
2973
-
2974
- openTimeout = setTimeout(function () {
2975
- animatedImg.css(mfp._getOffset(true));
2976
- openTimeout = setTimeout(function () {
2977
-
2978
- showMainContent();
2979
-
2980
- setTimeout(function () {
2981
- animatedImg.remove();
2982
- image = animatedImg = null;
2983
- _mfpTrigger('ZoomAnimationEnded');
2984
- }, 16); // avoid blink when switching images
2985
-
2986
- }, duration); // this timeout equals animation duration
2987
-
2988
- }, 16); // by adding this timeout we avoid short glitch at the beginning of animation
2989
-
2990
-
2991
- // Lots of timeouts...
2992
- }
2993
- });
2994
- _mfpOn(BEFORE_CLOSE_EVENT + ns, function () {
2995
- if (mfp._allowZoom()) {
2996
-
2997
- clearTimeout(openTimeout);
2998
-
2999
- mfp.st.removalDelay = duration;
3000
-
3001
- if (!image) {
3002
- image = mfp._getItemToZoom();
3003
- if (!image) {
3004
- return;
3005
- }
3006
- animatedImg = getElToAnimate(image);
3007
- }
3008
-
3009
- animatedImg.css(mfp._getOffset(true));
3010
- mfp.wrap.append(animatedImg);
3011
- mfp.content.css('visibility', 'hidden');
3012
-
3013
- setTimeout(function () {
3014
- animatedImg.css(mfp._getOffset());
3015
- }, 16);
3016
- }
3017
-
3018
- });
3019
-
3020
- _mfpOn(CLOSE_EVENT + ns, function () {
3021
- if (mfp._allowZoom()) {
3022
- showMainContent();
3023
- if (animatedImg) {
3024
- animatedImg.remove();
3025
- }
3026
- image = null;
3027
- }
3028
- });
3029
- },
3030
-
3031
- _allowZoom: function () {
3032
- return mfp.currItem.type === 'image';
3033
- },
3034
-
3035
- _getItemToZoom: function () {
3036
- if (mfp.currItem.hasSize) {
3037
- return mfp.currItem.img;
3038
- } else {
3039
- return false;
3040
- }
3041
- },
3042
-
3043
- // Get element postion relative to viewport
3044
- _getOffset: function (isLarge) {
3045
- var el;
3046
- if (isLarge) {
3047
- el = mfp.currItem.img;
3048
- } else {
3049
- el = mfp.st.zoom.opener(mfp.currItem.el || mfp.currItem);
3050
- }
3051
-
3052
- var offset = el.offset();
3053
- var paddingTop = parseInt(el.css('padding-top'), 10);
3054
- var paddingBottom = parseInt(el.css('padding-bottom'), 10);
3055
- offset.top -= ($(window).scrollTop() - paddingTop);
3056
-
3057
-
3058
- /*
3059
-
3060
- Animating left + top + width/height looks glitchy in Firefox, but perfect in Chrome. And vice-versa.
3061
-
3062
- */
3063
- var obj = {
3064
- width: el.width(),
3065
- // fix Zepto height+padding issue
3066
- height: (_isJQ ? el.innerHeight() : el[0].offsetHeight) - paddingBottom - paddingTop
3067
- };
3068
-
3069
- // I hate to do this, but there is no another option
3070
- if (getHasMozTransform()) {
3071
- obj['-moz-transform'] = obj['transform'] = 'translate(' + offset.left + 'px,' + offset.top + 'px)';
3072
- } else {
3073
- obj.left = offset.left;
3074
- obj.top = offset.top;
3075
- }
3076
- return obj;
3077
- }
3078
-
3079
- }
3080
- });
3081
-
3082
-
3083
-
3084
- /*>>zoom*/
3085
-
3086
- /*>>iframe*/
3087
-
3088
- var IFRAME_NS = 'iframe',
3089
- _emptyPage = '//about:blank',
3090
-
3091
- _fixIframeBugs = function (isShowing) {
3092
- if (mfp.currTemplate[IFRAME_NS]) {
3093
- var el = mfp.currTemplate[IFRAME_NS].find('iframe');
3094
- if (el.length) {
3095
- // reset src after the popup is closed to avoid "video keeps playing after popup is closed" bug
3096
- if (!isShowing) {
3097
- el[0].src = _emptyPage;
3098
- }
3099
-
3100
- // IE8 black screen bug fix
3101
- if (mfp.isIE8) {
3102
- el.css('display', isShowing ? 'block' : 'none');
3103
- }
3104
- }
3105
- }
3106
- };
3107
-
3108
- $.magnificPopup.registerModule(IFRAME_NS, {
3109
-
3110
- options: {
3111
- markup: '<div class="mfp-iframe-scaler">' +
3112
- '<div class="mfp-close"></div>' +
3113
- '<iframe class="mfp-iframe" src="//about:blank" frameborder="0" allowfullscreen></iframe>' +
3114
- '</div>',
3115
-
3116
- srcAction: 'iframe_src',
3117
-
3118
- // we don't care and support only one default type of URL by default
3119
- patterns: {
3120
- youtube: {
3121
- index: 'youtube.com',
3122
- id: 'v=',
3123
- src: '//www.youtube.com/embed/%id%?autoplay=1'
3124
- },
3125
- vimeo: {
3126
- index: 'vimeo.com/',
3127
- id: '/',
3128
- src: '//player.vimeo.com/video/%id%?autoplay=1'
3129
- },
3130
- gmaps: {
3131
- index: '//maps.google.',
3132
- src: '%id%&output=embed'
3133
- }
3134
- }
3135
- },
3136
-
3137
- proto: {
3138
- initIframe: function () {
3139
- mfp.types.push(IFRAME_NS);
3140
-
3141
- _mfpOn('BeforeChange', function (e, prevType, newType) {
3142
- if (prevType !== newType) {
3143
- if (prevType === IFRAME_NS) {
3144
- _fixIframeBugs(); // iframe if removed
3145
- } else if (newType === IFRAME_NS) {
3146
- _fixIframeBugs(true); // iframe is showing
3147
- }
3148
- }// else {
3149
- // iframe source is switched, don't do anything
3150
- //}
3151
- });
3152
-
3153
- _mfpOn(CLOSE_EVENT + '.' + IFRAME_NS, function () {
3154
- _fixIframeBugs();
3155
- });
3156
- },
3157
-
3158
- getIframe: function (item, template) {
3159
- var embedSrc = item.src;
3160
- var iframeSt = mfp.st.iframe;
3161
-
3162
- $.each(iframeSt.patterns, function () {
3163
- if (embedSrc.indexOf(this.index) > -1) {
3164
- if (this.id) {
3165
- if (typeof this.id === 'string') {
3166
- embedSrc = embedSrc.substr(embedSrc.lastIndexOf(this.id) + this.id.length, embedSrc.length);
3167
- } else {
3168
- embedSrc = this.id.call(this, embedSrc);
3169
- }
3170
- }
3171
- embedSrc = this.src.replace('%id%', embedSrc);
3172
- return false; // break;
3173
- }
3174
- });
3175
-
3176
- var dataObj = {};
3177
- if (iframeSt.srcAction) {
3178
- dataObj[iframeSt.srcAction] = embedSrc;
3179
- }
3180
- mfp._parseMarkup(template, dataObj, item);
3181
-
3182
- mfp.updateStatus('ready');
3183
-
3184
- return template;
3185
- }
3186
- }
3187
- });
3188
-
3189
-
3190
-
3191
- /*>>iframe*/
3192
-
3193
- /*>>gallery*/
3194
- /**
3195
- * Get looped index depending on number of slides
3196
- */
3197
- var _getLoopedId = function (index) {
3198
- var numSlides = mfp.items.length;
3199
- if (index > numSlides - 1) {
3200
- return index - numSlides;
3201
- } else if (index < 0) {
3202
- return numSlides + index;
3203
- }
3204
- return index;
3205
- },
3206
- _replaceCurrTotal = function (text, curr, total) {
3207
- return text.replace(/%curr%/gi, curr + 1).replace(/%total%/gi, total);
3208
- };
3209
-
3210
- $.magnificPopup.registerModule('gallery', {
3211
-
3212
- options: {
3213
- enabled: false,
3214
- arrowMarkup: '<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%"></button>',
3215
- preload: [0, 2],
3216
- navigateByImgClick: true,
3217
- arrows: true,
3218
-
3219
- tPrev: 'Previous (Left arrow key)',
3220
- tNext: 'Next (Right arrow key)',
3221
- tCounter: '%curr% of %total%'
3222
- },
3223
-
3224
- proto: {
3225
- initGallery: function () {
3226
-
3227
- var gSt = mfp.st.gallery,
3228
- ns = '.mfp-gallery';
3229
-
3230
- mfp.direction = true; // true - next, false - prev
3231
-
3232
- if (!gSt || !gSt.enabled) return false;
3233
-
3234
- _wrapClasses += ' mfp-gallery';
3235
-
3236
- _mfpOn(OPEN_EVENT + ns, function () {
3237
-
3238
- if (gSt.navigateByImgClick) {
3239
- mfp.wrap.on('click' + ns, '.mfp-img', function () {
3240
- if (mfp.items.length > 1) {
3241
- mfp.next();
3242
- return false;
3243
- }
3244
- });
3245
- }
3246
-
3247
- _document.on('keydown' + ns, function (e) {
3248
- if (e.keyCode === 37) {
3249
- mfp.prev();
3250
- } else if (e.keyCode === 39) {
3251
- mfp.next();
3252
- }
3253
- });
3254
- });
3255
-
3256
- _mfpOn('UpdateStatus' + ns, function (e, data) {
3257
- if (data.text) {
3258
- data.text = _replaceCurrTotal(data.text, mfp.currItem.index, mfp.items.length);
3259
- }
3260
- });
3261
-
3262
- _mfpOn(MARKUP_PARSE_EVENT + ns, function (e, element, values, item) {
3263
- var l = mfp.items.length;
3264
- values.counter = l > 1 ? _replaceCurrTotal(gSt.tCounter, item.index, l) : '';
3265
- });
3266
-
3267
- _mfpOn('BuildControls' + ns, function () {
3268
- if (mfp.items.length > 1 && gSt.arrows && !mfp.arrowLeft) {
3269
- var markup = gSt.arrowMarkup,
3270
- arrowLeft = mfp.arrowLeft = $(markup.replace(/%title%/gi, gSt.tPrev).replace(/%dir%/gi, 'left')).addClass(PREVENT_CLOSE_CLASS),
3271
- arrowRight = mfp.arrowRight = $(markup.replace(/%title%/gi, gSt.tNext).replace(/%dir%/gi, 'right')).addClass(PREVENT_CLOSE_CLASS);
3272
-
3273
- arrowLeft.click(function () {
3274
- mfp.prev();
3275
- });
3276
- arrowRight.click(function () {
3277
- mfp.next();
3278
- });
3279
-
3280
- mfp.container.append(arrowLeft.add(arrowRight));
3281
- }
3282
- });
3283
-
3284
- _mfpOn(CHANGE_EVENT + ns, function () {
3285
- if (mfp._preloadTimeout) clearTimeout(mfp._preloadTimeout);
3286
-
3287
- mfp._preloadTimeout = setTimeout(function () {
3288
- mfp.preloadNearbyImages();
3289
- mfp._preloadTimeout = null;
3290
- }, 16);
3291
- });
3292
-
3293
-
3294
- _mfpOn(CLOSE_EVENT + ns, function () {
3295
- _document.off(ns);
3296
- mfp.wrap.off('click' + ns);
3297
- mfp.arrowRight = mfp.arrowLeft = null;
3298
- });
3299
-
3300
- },
3301
- next: function () {
3302
- mfp.direction = true;
3303
- mfp.index = _getLoopedId(mfp.index + 1);
3304
- mfp.updateItemHTML();
3305
- },
3306
- prev: function () {
3307
- mfp.direction = false;
3308
- mfp.index = _getLoopedId(mfp.index - 1);
3309
- mfp.updateItemHTML();
3310
- },
3311
- goTo: function (newIndex) {
3312
- mfp.direction = (newIndex >= mfp.index);
3313
- mfp.index = newIndex;
3314
- mfp.updateItemHTML();
3315
- },
3316
- preloadNearbyImages: function () {
3317
- var p = mfp.st.gallery.preload,
3318
- preloadBefore = Math.min(p[0], mfp.items.length),
3319
- preloadAfter = Math.min(p[1], mfp.items.length),
3320
- i;
3321
-
3322
- for (i = 1; i <= (mfp.direction ? preloadAfter : preloadBefore); i++) {
3323
- mfp._preloadItem(mfp.index + i);
3324
- }
3325
- for (i = 1; i <= (mfp.direction ? preloadBefore : preloadAfter); i++) {
3326
- mfp._preloadItem(mfp.index - i);
3327
- }
3328
- },
3329
- _preloadItem: function (index) {
3330
- index = _getLoopedId(index);
3331
-
3332
- if (mfp.items[index].preloaded) {
3333
- return;
3334
- }
3335
-
3336
- var item = mfp.items[index];
3337
- if (!item.parsed) {
3338
- item = mfp.parseEl(index);
3339
- }
3340
-
3341
- _mfpTrigger('LazyLoad', item);
3342
-
3343
- if (item.type === 'image') {
3344
- item.img = $('<img class="mfp-img" />').on('load.mfploader', function () {
3345
- item.hasSize = true;
3346
- }).on('error.mfploader', function () {
3347
- item.hasSize = true;
3348
- item.loadError = true;
3349
- _mfpTrigger('LazyLoadError', item);
3350
- }).attr('src', item.src);
3351
- }
3352
-
3353
-
3354
- item.preloaded = true;
3355
- }
3356
- }
3357
- });
3358
-
3359
- /*>>gallery*/
3360
-
3361
- /*>>retina*/
3362
-
3363
- var RETINA_NS = 'retina';
3364
-
3365
- $.magnificPopup.registerModule(RETINA_NS, {
3366
- options: {
3367
- replaceSrc: function (item) {
3368
- return item.src.replace(/\.\w+$/, function (m) { return '@2x' + m; });
3369
- },
3370
- ratio: 1 // Function or number. Set to 1 to disable.
3371
- },
3372
- proto: {
3373
- initRetina: function () {
3374
- if (window.devicePixelRatio > 1) {
3375
-
3376
- var st = mfp.st.retina,
3377
- ratio = st.ratio;
3378
-
3379
- ratio = !isNaN(ratio) ? ratio : ratio();
3380
-
3381
- if (ratio > 1) {
3382
- _mfpOn('ImageHasSize' + '.' + RETINA_NS, function (e, item) {
3383
- item.img.css({
3384
- 'max-width': item.img[0].naturalWidth / ratio,
3385
- 'width': '100%'
3386
- });
3387
- });
3388
- _mfpOn('ElementParse' + '.' + RETINA_NS, function (e, item) {
3389
- item.src = st.replaceSrc(item, ratio);
3390
- });
3391
- }
3392
- }
3393
-
3394
- }
3395
- }
3396
- });
3397
-
3398
- /*>>retina*/
3399
- _checkInstance();
3400
- }));
3401
- (function($) {
3402
- $.fn.eaelProgressBar = function() {
3403
- var $this = $(this)
3404
- var $layout = $this.data('layout')
3405
- var $num = $this.data('count')
3406
- var $duration = $this.data('duration')
3407
-
3408
- $this.one('inview', function() {
3409
- if ($layout == 'line') {
3410
- $('.eael-progressbar-line-fill', $this).css({
3411
- 'width': $num + '%',
3412
- })
3413
- } else if ($layout == 'half_circle') {
3414
- $('.eael-progressbar-circle-half', $this).css({
3415
- 'transform': 'rotate(' + ($num * 1.8) + 'deg)',
3416
- })
3417
- }
3418
-
3419
- $('.eael-progressbar-count', $this).prop({
3420
- 'counter': 0
3421
- }).animate({
3422
- counter: $num
3423
- }, {
3424
- duration: $duration,
3425
- easing: 'linear',
3426
- step: function(counter) {
3427
- if ($layout == 'circle') {
3428
- var rotate = (counter * 3.6)
3429
- $('.eael-progressbar-circle-half-left', $this).css({
3430
- 'transform': "rotate(" + rotate + "deg)",
3431
- })
3432
- if (rotate > 180) {
3433
- $('.eael-progressbar-circle-pie', $this).css({
3434
- '-webkit-clip-path': 'inset(0)',
3435
- 'clip-path': 'inset(0)',
3436
- })
3437
- $('.eael-progressbar-circle-half-right', $this).css({
3438
- 'visibility': 'visible'
3439
- })
3440
- }
3441
- }
3442
-
3443
- $(this).text(Math.ceil(counter))
3444
- }
3445
- })
3446
- })
3447
- }
3448
- }(jQuery));
3449
- typeof navigator === "object" && (function (global, factory) {
3450
- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3451
- typeof define === 'function' && define.amd ? define('Plyr', factory) :
3452
- (global = global || self, global.Plyr = factory());
3453
- }(this, function () { 'use strict';
3454
-
3455
- function _classCallCheck(instance, Constructor) {
3456
- if (!(instance instanceof Constructor)) {
3457
- throw new TypeError("Cannot call a class as a function");
3458
- }
3459
- }
3460
-
3461
- function _defineProperties(target, props) {
3462
- for (var i = 0; i < props.length; i++) {
3463
- var descriptor = props[i];
3464
- descriptor.enumerable = descriptor.enumerable || false;
3465
- descriptor.configurable = true;
3466
- if ("value" in descriptor) descriptor.writable = true;
3467
- Object.defineProperty(target, descriptor.key, descriptor);
3468
- }
3469
- }
3470
-
3471
- function _createClass(Constructor, protoProps, staticProps) {
3472
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
3473
- if (staticProps) _defineProperties(Constructor, staticProps);
3474
- return Constructor;
3475
- }
3476
-
3477
- function _defineProperty(obj, key, value) {
3478
- if (key in obj) {
3479
- Object.defineProperty(obj, key, {
3480
- value: value,
3481
- enumerable: true,
3482
- configurable: true,
3483
- writable: true
3484
- });
3485
- } else {
3486
- obj[key] = value;
3487
- }
3488
-
3489
- return obj;
3490
- }
3491
-
3492
- function _slicedToArray(arr, i) {
3493
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();
3494
- }
3495
-
3496
- function _toConsumableArray(arr) {
3497
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();
3498
- }
3499
-
3500
- function _arrayWithoutHoles(arr) {
3501
- if (Array.isArray(arr)) {
3502
- for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];
3503
-
3504
- return arr2;
3505
- }
3506
- }
3507
-
3508
- function _arrayWithHoles(arr) {
3509
- if (Array.isArray(arr)) return arr;
3510
- }
3511
-
3512
- function _iterableToArray(iter) {
3513
- if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter);
3514
- }
3515
-
3516
- function _iterableToArrayLimit(arr, i) {
3517
- var _arr = [];
3518
- var _n = true;
3519
- var _d = false;
3520
- var _e = undefined;
3521
-
3522
- try {
3523
- for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
3524
- _arr.push(_s.value);
3525
-
3526
- if (i && _arr.length === i) break;
3527
- }
3528
- } catch (err) {
3529
- _d = true;
3530
- _e = err;
3531
- } finally {
3532
- try {
3533
- if (!_n && _i["return"] != null) _i["return"]();
3534
- } finally {
3535
- if (_d) throw _e;
3536
- }
3537
- }
3538
-
3539
- return _arr;
3540
- }
3541
-
3542
- function _nonIterableSpread() {
3543
- throw new TypeError("Invalid attempt to spread non-iterable instance");
3544
- }
3545
-
3546
- function _nonIterableRest() {
3547
- throw new TypeError("Invalid attempt to destructure non-iterable instance");
3548
- }
3549
-
3550
- var defaults = {
3551
- addCSS: true,
3552
- // Add CSS to the element to improve usability (required here or in your CSS!)
3553
- thumbWidth: 15,
3554
- // The width of the thumb handle
3555
- watch: true // Watch for new elements that match a string target
3556
-
3557
- };
3558
-
3559
- // Element matches a selector
3560
- function matches(element, selector) {
3561
-
3562
- function match() {
3563
- return Array.from(document.querySelectorAll(selector)).includes(this);
3564
- }
3565
-
3566
- var matches = match;
3567
- return matches.call(element, selector);
3568
- }
3569
-
3570
- // Trigger event
3571
- function trigger(element, type) {
3572
- if (!element || !type) {
3573
- return;
3574
- } // Create and dispatch the event
3575
-
3576
-
3577
- var event = new Event(type); // Dispatch the event
3578
-
3579
- element.dispatchEvent(event);
3580
- }
3581
-
3582
- // ==========================================================================
3583
- // Type checking utils
3584
- // ==========================================================================
3585
- var getConstructor = function getConstructor(input) {
3586
- return input !== null && typeof input !== 'undefined' ? input.constructor : null;
3587
- };
3588
-
3589
- var instanceOf = function instanceOf(input, constructor) {
3590
- return Boolean(input && constructor && input instanceof constructor);
3591
- };
3592
-
3593
- var isNullOrUndefined = function isNullOrUndefined(input) {
3594
- return input === null || typeof input === 'undefined';
3595
- };
3596
-
3597
- var isObject = function isObject(input) {
3598
- return getConstructor(input) === Object;
3599
- };
3600
-
3601
- var isNumber = function isNumber(input) {
3602
- return getConstructor(input) === Number && !Number.isNaN(input);
3603
- };
3604
-
3605
- var isString = function isString(input) {
3606
- return getConstructor(input) === String;
3607
- };
3608
-
3609
- var isBoolean = function isBoolean(input) {
3610
- return getConstructor(input) === Boolean;
3611
- };
3612
-
3613
- var isFunction = function isFunction(input) {
3614
- return getConstructor(input) === Function;
3615
- };
3616
-
3617
- var isArray = function isArray(input) {
3618
- return Array.isArray(input);
3619
- };
3620
-
3621
- var isNodeList = function isNodeList(input) {
3622
- return instanceOf(input, NodeList);
3623
- };
3624
-
3625
- var isElement = function isElement(input) {
3626
- return instanceOf(input, Element);
3627
- };
3628
-
3629
- var isEvent = function isEvent(input) {
3630
- return instanceOf(input, Event);
3631
- };
3632
-
3633
- var isEmpty = function isEmpty(input) {
3634
- return isNullOrUndefined(input) || (isString(input) || isArray(input) || isNodeList(input)) && !input.length || isObject(input) && !Object.keys(input).length;
3635
- };
3636
-
3637
- var is = {
3638
- nullOrUndefined: isNullOrUndefined,
3639
- object: isObject,
3640
- number: isNumber,
3641
- string: isString,
3642
- boolean: isBoolean,
3643
- function: isFunction,
3644
- array: isArray,
3645
- nodeList: isNodeList,
3646
- element: isElement,
3647
- event: isEvent,
3648
- empty: isEmpty
3649
- };
3650
-
3651
- // Get the number of decimal places
3652
- function getDecimalPlaces(value) {
3653
- var match = "".concat(value).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);
3654
-
3655
- if (!match) {
3656
- return 0;
3657
- }
3658
-
3659
- return Math.max(0, // Number of digits right of decimal point.
3660
- (match[1] ? match[1].length : 0) - ( // Adjust for scientific notation.
3661
- match[2] ? +match[2] : 0));
3662
- } // Round to the nearest step
3663
-
3664
- function round(number, step) {
3665
- if (step < 1) {
3666
- var places = getDecimalPlaces(step);
3667
- return parseFloat(number.toFixed(places));
3668
- }
3669
-
3670
- return Math.round(number / step) * step;
3671
- }
3672
-
3673
- var RangeTouch =
3674
- /*#__PURE__*/
3675
- function () {
3676
- /**
3677
- * Setup a new instance
3678
- * @param {String|Element} target
3679
- * @param {Object} options
3680
- */
3681
- function RangeTouch(target, options) {
3682
- _classCallCheck(this, RangeTouch);
3683
-
3684
- if (is.element(target)) {
3685
- // An Element is passed, use it directly
3686
- this.element = target;
3687
- } else if (is.string(target)) {
3688
- // A CSS Selector is passed, fetch it from the DOM
3689
- this.element = document.querySelector(target);
3690
- }
3691
-
3692
- if (!is.element(this.element) || !is.empty(this.element.rangeTouch)) {
3693
- return;
3694
- }
3695
-
3696
- this.config = Object.assign({}, defaults, options);
3697
- this.init();
3698
- }
3699
-
3700
- _createClass(RangeTouch, [{
3701
- key: "init",
3702
- value: function init() {
3703
- // Bail if not a touch enabled device
3704
- if (!RangeTouch.enabled) {
3705
- return;
3706
- } // Add useful CSS
3707
-
3708
-
3709
- if (this.config.addCSS) {
3710
- // TODO: Restore original values on destroy
3711
- this.element.style.userSelect = 'none';
3712
- this.element.style.webKitUserSelect = 'none';
3713
- this.element.style.touchAction = 'manipulation';
3714
- }
3715
-
3716
- this.listeners(true);
3717
- this.element.rangeTouch = this;
3718
- }
3719
- }, {
3720
- key: "destroy",
3721
- value: function destroy() {
3722
- // Bail if not a touch enabled device
3723
- if (!RangeTouch.enabled) {
3724
- return;
3725
- }
3726
-
3727
- this.listeners(false);
3728
- this.element.rangeTouch = null;
3729
- }
3730
- }, {
3731
- key: "listeners",
3732
- value: function listeners(toggle) {
3733
- var _this = this;
3734
-
3735
- var method = toggle ? 'addEventListener' : 'removeEventListener'; // Listen for events
3736
-
3737
- ['touchstart', 'touchmove', 'touchend'].forEach(function (type) {
3738
- _this.element[method](type, function (event) {
3739
- return _this.set(event);
3740
- }, false);
3741
- });
3742
- }
3743
- /**
3744
- * Get the value based on touch position
3745
- * @param {Event} event
3746
- */
3747
-
3748
- }, {
3749
- key: "get",
3750
- value: function get(event) {
3751
- if (!RangeTouch.enabled || !is.event(event)) {
3752
- return null;
3753
- }
3754
-
3755
- var input = event.target;
3756
- var touch = event.changedTouches[0];
3757
- var min = parseFloat(input.getAttribute('min')) || 0;
3758
- var max = parseFloat(input.getAttribute('max')) || 100;
3759
- var step = parseFloat(input.getAttribute('step')) || 1;
3760
- var delta = max - min; // Calculate percentage
3761
-
3762
- var percent;
3763
- var clientRect = input.getBoundingClientRect();
3764
- var thumbWidth = 100 / clientRect.width * (this.config.thumbWidth / 2) / 100; // Determine left percentage
3765
-
3766
- percent = 100 / clientRect.width * (touch.clientX - clientRect.left); // Don't allow outside bounds
3767
-
3768
- if (percent < 0) {
3769
- percent = 0;
3770
- } else if (percent > 100) {
3771
- percent = 100;
3772
- } // Factor in the thumb offset
3773
-
3774
-
3775
- if (percent < 50) {
3776
- percent -= (100 - percent * 2) * thumbWidth;
3777
- } else if (percent > 50) {
3778
- percent += (percent - 50) * 2 * thumbWidth;
3779
- } // Find the closest step to the mouse position
3780
-
3781
-
3782
- return min + round(delta * (percent / 100), step);
3783
- }
3784
- /**
3785
- * Update range value based on position
3786
- * @param {Event} event
3787
- */
3788
-
3789
- }, {
3790
- key: "set",
3791
- value: function set(event) {
3792
- if (!RangeTouch.enabled || !is.event(event) || event.target.disabled) {
3793
- return;
3794
- } // Prevent text highlight on iOS
3795
-
3796
-
3797
- event.preventDefault(); // Set value
3798
-
3799
- event.target.value = this.get(event); // Trigger event
3800
-
3801
- trigger(event.target, event.type === 'touchend' ? 'change' : 'input');
3802
- }
3803
- }], [{
3804
- key: "setup",
3805
-
3806
- /**
3807
- * Setup multiple instances
3808
- * @param {String|Element|NodeList|Array} target
3809
- * @param {Object} options
3810
- */
3811
- value: function setup(target) {
3812
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
3813
- var targets = null;
3814
-
3815
- if (is.empty(target) || is.string(target)) {
3816
- targets = Array.from(document.querySelectorAll(is.string(target) ? target : 'input[type="range"]'));
3817
- } else if (is.element(target)) {
3818
- targets = [target];
3819
- } else if (is.nodeList(target)) {
3820
- targets = Array.from(target);
3821
- } else if (is.array(target)) {
3822
- targets = target.filter(is.element);
3823
- }
3824
-
3825
- if (is.empty(targets)) {
3826
- return null;
3827
- }
3828
-
3829
- var config = Object.assign({}, defaults, options);
3830
-
3831
- if (is.string(target) && config.watch) {
3832
- // Create an observer instance
3833
- var observer = new MutationObserver(function (mutations) {
3834
- Array.from(mutations).forEach(function (mutation) {
3835
- Array.from(mutation.addedNodes).forEach(function (node) {
3836
- if (!is.element(node) || !matches(node, target)) {
3837
- return;
3838
- } // eslint-disable-next-line no-unused-vars
3839
-
3840
-
3841
- var range = new RangeTouch(node, config);
3842
- });
3843
- });
3844
- }); // Pass in the target node, as well as the observer options
3845
-
3846
- observer.observe(document.body, {
3847
- childList: true,
3848
- subtree: true
3849
- });
3850
- }
3851
-
3852
- return targets.map(function (t) {
3853
- return new RangeTouch(t, options);
3854
- });
3855
- }
3856
- }, {
3857
- key: "enabled",
3858
- get: function get() {
3859
- return 'ontouchstart' in document.documentElement;
3860
- }
3861
- }]);
3862
-
3863
- return RangeTouch;
3864
- }();
3865
-
3866
- // ==========================================================================
3867
- // Type checking utils
3868
- // ==========================================================================
3869
- var getConstructor$1 = function getConstructor(input) {
3870
- return input !== null && typeof input !== 'undefined' ? input.constructor : null;
3871
- };
3872
-
3873
- var instanceOf$1 = function instanceOf(input, constructor) {
3874
- return Boolean(input && constructor && input instanceof constructor);
3875
- };
3876
-
3877
- var isNullOrUndefined$1 = function isNullOrUndefined(input) {
3878
- return input === null || typeof input === 'undefined';
3879
- };
3880
-
3881
- var isObject$1 = function isObject(input) {
3882
- return getConstructor$1(input) === Object;
3883
- };
3884
-
3885
- var isNumber$1 = function isNumber(input) {
3886
- return getConstructor$1(input) === Number && !Number.isNaN(input);
3887
- };
3888
-
3889
- var isString$1 = function isString(input) {
3890
- return getConstructor$1(input) === String;
3891
- };
3892
-
3893
- var isBoolean$1 = function isBoolean(input) {
3894
- return getConstructor$1(input) === Boolean;
3895
- };
3896
-
3897
- var isFunction$1 = function isFunction(input) {
3898
- return getConstructor$1(input) === Function;
3899
- };
3900
-
3901
- var isArray$1 = function isArray(input) {
3902
- return Array.isArray(input);
3903
- };
3904
-
3905
- var isWeakMap = function isWeakMap(input) {
3906
- return instanceOf$1(input, WeakMap);
3907
- };
3908
-
3909
- var isNodeList$1 = function isNodeList(input) {
3910
- return instanceOf$1(input, NodeList);
3911
- };
3912
-
3913
- var isElement$1 = function isElement(input) {
3914
- return instanceOf$1(input, Element);
3915
- };
3916
-
3917
- var isTextNode = function isTextNode(input) {
3918
- return getConstructor$1(input) === Text;
3919
- };
3920
-
3921
- var isEvent$1 = function isEvent(input) {
3922
- return instanceOf$1(input, Event);
3923
- };
3924
-
3925
- var isKeyboardEvent = function isKeyboardEvent(input) {
3926
- return instanceOf$1(input, KeyboardEvent);
3927
- };
3928
-
3929
- var isCue = function isCue(input) {
3930
- return instanceOf$1(input, window.TextTrackCue) || instanceOf$1(input, window.VTTCue);
3931
- };
3932
-
3933
- var isTrack = function isTrack(input) {
3934
- return instanceOf$1(input, TextTrack) || !isNullOrUndefined$1(input) && isString$1(input.kind);
3935
- };
3936
-
3937
- var isPromise = function isPromise(input) {
3938
- return instanceOf$1(input, Promise);
3939
- };
3940
-
3941
- var isEmpty$1 = function isEmpty(input) {
3942
- return isNullOrUndefined$1(input) || (isString$1(input) || isArray$1(input) || isNodeList$1(input)) && !input.length || isObject$1(input) && !Object.keys(input).length;
3943
- };
3944
-
3945
- var isUrl = function isUrl(input) {
3946
- // Accept a URL object
3947
- if (instanceOf$1(input, window.URL)) {
3948
- return true;
3949
- } // Must be string from here
3950
-
3951
-
3952
- if (!isString$1(input)) {
3953
- return false;
3954
- } // Add the protocol if required
3955
-
3956
-
3957
- var string = input;
3958
-
3959
- if (!input.startsWith('http://') || !input.startsWith('https://')) {
3960
- string = "http://".concat(input);
3961
- }
3962
-
3963
- try {
3964
- return !isEmpty$1(new URL(string).hostname);
3965
- } catch (e) {
3966
- return false;
3967
- }
3968
- };
3969
-
3970
- var is$1 = {
3971
- nullOrUndefined: isNullOrUndefined$1,
3972
- object: isObject$1,
3973
- number: isNumber$1,
3974
- string: isString$1,
3975
- boolean: isBoolean$1,
3976
- function: isFunction$1,
3977
- array: isArray$1,
3978
- weakMap: isWeakMap,
3979
- nodeList: isNodeList$1,
3980
- element: isElement$1,
3981
- textNode: isTextNode,
3982
- event: isEvent$1,
3983
- keyboardEvent: isKeyboardEvent,
3984
- cue: isCue,
3985
- track: isTrack,
3986
- promise: isPromise,
3987
- url: isUrl,
3988
- empty: isEmpty$1
3989
- };
3990
-
3991
- // ==========================================================================
3992
- var transitionEndEvent = function () {
3993
- var element = document.createElement('span');
3994
- var events = {
3995
- WebkitTransition: 'webkitTransitionEnd',
3996
- MozTransition: 'transitionend',
3997
- OTransition: 'oTransitionEnd otransitionend',
3998
- transition: 'transitionend'
3999
- };
4000
- var type = Object.keys(events).find(function (event) {
4001
- return element.style[event] !== undefined;
4002
- });
4003
- return is$1.string(type) ? events[type] : false;
4004
- }(); // Force repaint of element
4005
-
4006
- function repaint(element, delay) {
4007
- setTimeout(function () {
4008
- try {
4009
- // eslint-disable-next-line no-param-reassign
4010
- element.hidden = true; // eslint-disable-next-line no-unused-expressions
4011
-
4012
- element.offsetHeight; // eslint-disable-next-line no-param-reassign
4013
-
4014
- element.hidden = false;
4015
- } catch (e) {// Do nothing
4016
- }
4017
- }, delay);
4018
- }
4019
-
4020
- // ==========================================================================
4021
- // Browser sniffing
4022
- // Unfortunately, due to mixed support, UA sniffing is required
4023
- // ==========================================================================
4024
- var browser = {
4025
- isIE:
4026
- /* @cc_on!@ */
4027
- !!document.documentMode,
4028
- isEdge: window.navigator.userAgent.includes('Edge'),
4029
- isWebkit: 'WebkitAppearance' in document.documentElement.style && !/Edge/.test(navigator.userAgent),
4030
- isIPhone: /(iPhone|iPod)/gi.test(navigator.platform),
4031
- isIos: /(iPad|iPhone|iPod)/gi.test(navigator.platform)
4032
- };
4033
-
4034
- // ==========================================================================
4035
- // https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md
4036
- // https://www.youtube.com/watch?v=NPM6172J22g
4037
-
4038
- var supportsPassiveListeners = function () {
4039
- // Test via a getter in the options object to see if the passive property is accessed
4040
- var supported = false;
4041
-
4042
- try {
4043
- var options = Object.defineProperty({}, 'passive', {
4044
- get: function get() {
4045
- supported = true;
4046
- return null;
4047
- }
4048
- });
4049
- window.addEventListener('test', null, options);
4050
- window.removeEventListener('test', null, options);
4051
- } catch (e) {// Do nothing
4052
- }
4053
-
4054
- return supported;
4055
- }(); // Toggle event listener
4056
-
4057
-
4058
- function toggleListener(element, event, callback) {
4059
- var _this = this;
4060
-
4061
- var toggle = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
4062
- var passive = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;
4063
- var capture = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
4064
-
4065
- // Bail if no element, event, or callback
4066
- if (!element || !('addEventListener' in element) || is$1.empty(event) || !is$1.function(callback)) {
4067
- return;
4068
- } // Allow multiple events
4069
-
4070
-
4071
- var events = event.split(' '); // Build options
4072
- // Default to just the capture boolean for browsers with no passive listener support
4073
-
4074
- var options = capture; // If passive events listeners are supported
4075
-
4076
- if (supportsPassiveListeners) {
4077
- options = {
4078
- // Whether the listener can be passive (i.e. default never prevented)
4079
- passive: passive,
4080
- // Whether the listener is a capturing listener or not
4081
- capture: capture
4082
- };
4083
- } // If a single node is passed, bind the event listener
4084
-
4085
-
4086
- events.forEach(function (type) {
4087
- if (_this && _this.eventListeners && toggle) {
4088
- // Cache event listener
4089
- _this.eventListeners.push({
4090
- element: element,
4091
- type: type,
4092
- callback: callback,
4093
- options: options
4094
- });
4095
- }
4096
-
4097
- element[toggle ? 'addEventListener' : 'removeEventListener'](type, callback, options);
4098
- });
4099
- } // Bind event handler
4100
-
4101
- function on(element) {
4102
- var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
4103
- var callback = arguments.length > 2 ? arguments[2] : undefined;
4104
- var passive = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
4105
- var capture = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
4106
- toggleListener.call(this, element, events, callback, true, passive, capture);
4107
- } // Unbind event handler
4108
-
4109
- function off(element) {
4110
- var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
4111
- var callback = arguments.length > 2 ? arguments[2] : undefined;
4112
- var passive = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
4113
- var capture = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
4114
- toggleListener.call(this, element, events, callback, false, passive, capture);
4115
- } // Bind once-only event handler
4116
-
4117
- function once(element) {
4118
- var _this2 = this;
4119
-
4120
- var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
4121
- var callback = arguments.length > 2 ? arguments[2] : undefined;
4122
- var passive = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
4123
- var capture = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
4124
-
4125
- var onceCallback = function onceCallback() {
4126
- off(element, events, onceCallback, passive, capture);
4127
-
4128
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
4129
- args[_key] = arguments[_key];
4130
- }
4131
-
4132
- callback.apply(_this2, args);
4133
- };
4134
-
4135
- toggleListener.call(this, element, events, onceCallback, true, passive, capture);
4136
- } // Trigger event
4137
-
4138
- function triggerEvent(element) {
4139
- var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
4140
- var bubbles = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
4141
- var detail = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
4142
-
4143
- // Bail if no element
4144
- if (!is$1.element(element) || is$1.empty(type)) {
4145
- return;
4146
- } // Create and dispatch the event
4147
-
4148
-
4149
- var event = new CustomEvent(type, {
4150
- bubbles: bubbles,
4151
- detail: Object.assign({}, detail, {
4152
- plyr: this
4153
- })
4154
- }); // Dispatch the event
4155
-
4156
- element.dispatchEvent(event);
4157
- } // Unbind all cached event listeners
4158
-
4159
- function unbindListeners() {
4160
- if (this && this.eventListeners) {
4161
- this.eventListeners.forEach(function (item) {
4162
- var element = item.element,
4163
- type = item.type,
4164
- callback = item.callback,
4165
- options = item.options;
4166
- element.removeEventListener(type, callback, options);
4167
- });
4168
- this.eventListeners = [];
4169
- }
4170
- } // Run method when / if player is ready
4171
-
4172
- function ready() {
4173
- var _this3 = this;
4174
-
4175
- return new Promise(function (resolve) {
4176
- return _this3.ready ? setTimeout(resolve, 0) : on.call(_this3, _this3.elements.container, 'ready', resolve);
4177
- }).then(function () {});
4178
- }
4179
-
4180
- function cloneDeep(object) {
4181
- return JSON.parse(JSON.stringify(object));
4182
- } // Get a nested value in an object
4183
-
4184
- function getDeep(object, path) {
4185
- return path.split('.').reduce(function (obj, key) {
4186
- return obj && obj[key];
4187
- }, object);
4188
- } // Deep extend destination object with N more objects
4189
-
4190
- function extend() {
4191
- var target = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
4192
-
4193
- for (var _len = arguments.length, sources = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
4194
- sources[_key - 1] = arguments[_key];
4195
- }
4196
-
4197
- if (!sources.length) {
4198
- return target;
4199
- }
4200
-
4201
- var source = sources.shift();
4202
-
4203
- if (!is$1.object(source)) {
4204
- return target;
4205
- }
4206
-
4207
- Object.keys(source).forEach(function (key) {
4208
- if (is$1.object(source[key])) {
4209
- if (!Object.keys(target).includes(key)) {
4210
- Object.assign(target, _defineProperty({}, key, {}));
4211
- }
4212
-
4213
- extend(target[key], source[key]);
4214
- } else {
4215
- Object.assign(target, _defineProperty({}, key, source[key]));
4216
- }
4217
- });
4218
- return extend.apply(void 0, [target].concat(sources));
4219
- }
4220
-
4221
- function wrap(elements, wrapper) {
4222
- // Convert `elements` to an array, if necessary.
4223
- var targets = elements.length ? elements : [elements]; // Loops backwards to prevent having to clone the wrapper on the
4224
- // first element (see `child` below).
4225
-
4226
- Array.from(targets).reverse().forEach(function (element, index) {
4227
- var child = index > 0 ? wrapper.cloneNode(true) : wrapper; // Cache the current parent and sibling.
4228
-
4229
- var parent = element.parentNode;
4230
- var sibling = element.nextSibling; // Wrap the element (is automatically removed from its current
4231
- // parent).
4232
-
4233
- child.appendChild(element); // If the element had a sibling, insert the wrapper before
4234
- // the sibling to maintain the HTML structure; otherwise, just
4235
- // append it to the parent.
4236
-
4237
- if (sibling) {
4238
- parent.insertBefore(child, sibling);
4239
- } else {
4240
- parent.appendChild(child);
4241
- }
4242
- });
4243
- } // Set attributes
4244
-
4245
- function setAttributes(element, attributes) {
4246
- if (!is$1.element(element) || is$1.empty(attributes)) {
4247
- return;
4248
- } // Assume null and undefined attributes should be left out,
4249
- // Setting them would otherwise convert them to "null" and "undefined"
4250
-
4251
-
4252
- Object.entries(attributes).filter(function (_ref) {
4253
- var _ref2 = _slicedToArray(_ref, 2),
4254
- value = _ref2[1];
4255
-
4256
- return !is$1.nullOrUndefined(value);
4257
- }).forEach(function (_ref3) {
4258
- var _ref4 = _slicedToArray(_ref3, 2),
4259
- key = _ref4[0],
4260
- value = _ref4[1];
4261
-
4262
- return element.setAttribute(key, value);
4263
- });
4264
- } // Create a DocumentFragment
4265
-
4266
- function createElement(type, attributes, text) {
4267
- // Create a new <element>
4268
- var element = document.createElement(type); // Set all passed attributes
4269
-
4270
- if (is$1.object(attributes)) {
4271
- setAttributes(element, attributes);
4272
- } // Add text node
4273
-
4274
-
4275
- if (is$1.string(text)) {
4276
- element.innerText = text;
4277
- } // Return built element
4278
-
4279
-
4280
- return element;
4281
- } // Inaert an element after another
4282
-
4283
- function insertAfter(element, target) {
4284
- if (!is$1.element(element) || !is$1.element(target)) {
4285
- return;
4286
- }
4287
-
4288
- target.parentNode.insertBefore(element, target.nextSibling);
4289
- } // Insert a DocumentFragment
4290
-
4291
- function insertElement(type, parent, attributes, text) {
4292
- if (!is$1.element(parent)) {
4293
- return;
4294
- }
4295
-
4296
- parent.appendChild(createElement(type, attributes, text));
4297
- } // Remove element(s)
4298
-
4299
- function removeElement(element) {
4300
- if (is$1.nodeList(element) || is$1.array(element)) {
4301
- Array.from(element).forEach(removeElement);
4302
- return;
4303
- }
4304
-
4305
- if (!is$1.element(element) || !is$1.element(element.parentNode)) {
4306
- return;
4307
- }
4308
-
4309
- element.parentNode.removeChild(element);
4310
- } // Remove all child elements
4311
-
4312
- function emptyElement(element) {
4313
- if (!is$1.element(element)) {
4314
- return;
4315
- }
4316
-
4317
- var length = element.childNodes.length;
4318
-
4319
- while (length > 0) {
4320
- element.removeChild(element.lastChild);
4321
- length -= 1;
4322
- }
4323
- } // Replace element
4324
-
4325
- function replaceElement(newChild, oldChild) {
4326
- if (!is$1.element(oldChild) || !is$1.element(oldChild.parentNode) || !is$1.element(newChild)) {
4327
- return null;
4328
- }
4329
-
4330
- oldChild.parentNode.replaceChild(newChild, oldChild);
4331
- return newChild;
4332
- } // Get an attribute object from a string selector
4333
-
4334
- function getAttributesFromSelector(sel, existingAttributes) {
4335
- // For example:
4336
- // '.test' to { class: 'test' }
4337
- // '#test' to { id: 'test' }
4338
- // '[data-test="test"]' to { 'data-test': 'test' }
4339
- if (!is$1.string(sel) || is$1.empty(sel)) {
4340
- return {};
4341
- }
4342
-
4343
- var attributes = {};
4344
- var existing = extend({}, existingAttributes);
4345
- sel.split(',').forEach(function (s) {
4346
- // Remove whitespace
4347
- var selector = s.trim();
4348
- var className = selector.replace('.', '');
4349
- var stripped = selector.replace(/[[\]]/g, ''); // Get the parts and value
4350
-
4351
- var parts = stripped.split('=');
4352
-
4353
- var _parts = _slicedToArray(parts, 1),
4354
- key = _parts[0];
4355
-
4356
- var value = parts.length > 1 ? parts[1].replace(/["']/g, '') : ''; // Get the first character
4357
-
4358
- var start = selector.charAt(0);
4359
-
4360
- switch (start) {
4361
- case '.':
4362
- // Add to existing classname
4363
- if (is$1.string(existing.class)) {
4364
- attributes.class = "".concat(existing.class, " ").concat(className);
4365
- } else {
4366
- attributes.class = className;
4367
- }
4368
-
4369
- break;
4370
-
4371
- case '#':
4372
- // ID selector
4373
- attributes.id = selector.replace('#', '');
4374
- break;
4375
-
4376
- case '[':
4377
- // Attribute selector
4378
- attributes[key] = value;
4379
- break;
4380
-
4381
- default:
4382
- break;
4383
- }
4384
- });
4385
- return extend(existing, attributes);
4386
- } // Toggle hidden
4387
-
4388
- function toggleHidden(element, hidden) {
4389
- if (!is$1.element(element)) {
4390
- return;
4391
- }
4392
-
4393
- var hide = hidden;
4394
-
4395
- if (!is$1.boolean(hide)) {
4396
- hide = !element.hidden;
4397
- } // eslint-disable-next-line no-param-reassign
4398
-
4399
-
4400
- element.hidden = hide;
4401
- } // Mirror Element.classList.toggle, with IE compatibility for "force" argument
4402
-
4403
- function toggleClass(element, className, force) {
4404
- if (is$1.nodeList(element)) {
4405
- return Array.from(element).map(function (e) {
4406
- return toggleClass(e, className, force);
4407
- });
4408
- }
4409
-
4410
- if (is$1.element(element)) {
4411
- var method = 'toggle';
4412
-
4413
- if (typeof force !== 'undefined') {
4414
- method = force ? 'add' : 'remove';
4415
- }
4416
-
4417
- element.classList[method](className);
4418
- return element.classList.contains(className);
4419
- }
4420
-
4421
- return false;
4422
- } // Has class name
4423
-
4424
- function hasClass(element, className) {
4425
- return is$1.element(element) && element.classList.contains(className);
4426
- } // Element matches selector
4427
-
4428
- function matches$1(element, selector) {
4429
-
4430
- function match() {
4431
- return Array.from(document.querySelectorAll(selector)).includes(this);
4432
- }
4433
-
4434
- var method = match;
4435
- return method.call(element, selector);
4436
- } // Find all elements
4437
-
4438
- function getElements(selector) {
4439
- return this.elements.container.querySelectorAll(selector);
4440
- } // Find a single element
4441
-
4442
- function getElement(selector) {
4443
- return this.elements.container.querySelector(selector);
4444
- } // Trap focus inside container
4445
-
4446
- function trapFocus() {
4447
- var element = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
4448
- var toggle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
4449
-
4450
- if (!is$1.element(element)) {
4451
- return;
4452
- }
4453
-
4454
- var focusable = getElements.call(this, 'button:not(:disabled), input:not(:disabled), [tabindex]');
4455
- var first = focusable[0];
4456
- var last = focusable[focusable.length - 1];
4457
-
4458
- var trap = function trap(event) {
4459
- // Bail if not tab key or not fullscreen
4460
- if (event.key !== 'Tab' || event.keyCode !== 9) {
4461
- return;
4462
- } // Get the current focused element
4463
-
4464
-
4465
- var focused = document.activeElement;
4466
-
4467
- if (focused === last && !event.shiftKey) {
4468
- // Move focus to first element that can be tabbed if Shift isn't used
4469
- first.focus();
4470
- event.preventDefault();
4471
- } else if (focused === first && event.shiftKey) {
4472
- // Move focus to last element that can be tabbed if Shift is used
4473
- last.focus();
4474
- event.preventDefault();
4475
- }
4476
- };
4477
-
4478
- toggleListener.call(this, this.elements.container, 'keydown', trap, toggle, false);
4479
- } // Set focus and tab focus class
4480
-
4481
- function setFocus() {
4482
- var element = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
4483
- var tabFocus = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
4484
-
4485
- if (!is$1.element(element)) {
4486
- return;
4487
- } // Set regular focus
4488
-
4489
-
4490
- element.focus({
4491
- preventScroll: true
4492
- }); // If we want to mimic keyboard focus via tab
4493
-
4494
- if (tabFocus) {
4495
- toggleClass(element, this.config.classNames.tabFocus);
4496
- }
4497
- }
4498
-
4499
- var defaultCodecs = {
4500
- 'audio/ogg': 'vorbis',
4501
- 'audio/wav': '1',
4502
- 'video/webm': 'vp8, vorbis',
4503
- 'video/mp4': 'avc1.42E01E, mp4a.40.2',
4504
- 'video/ogg': 'theora'
4505
- }; // Check for feature support
4506
-
4507
- var support = {
4508
- // Basic support
4509
- audio: 'canPlayType' in document.createElement('audio'),
4510
- video: 'canPlayType' in document.createElement('video'),
4511
- // Check for support
4512
- // Basic functionality vs full UI
4513
- check: function check(type, provider, playsinline) {
4514
- var canPlayInline = browser.isIPhone && playsinline && support.playsinline;
4515
- var api = support[type] || provider !== 'html5';
4516
- var ui = api && support.rangeInput && (type !== 'video' || !browser.isIPhone || canPlayInline);
4517
- return {
4518
- api: api,
4519
- ui: ui
4520
- };
4521
- },
4522
- // Picture-in-picture support
4523
- // Safari & Chrome only currently
4524
- pip: function () {
4525
- if (browser.isIPhone) {
4526
- return false;
4527
- } // Safari
4528
- // https://developer.apple.com/documentation/webkitjs/adding_picture_in_picture_to_your_safari_media_controls
4529
-
4530
-
4531
- if (is$1.function(createElement('video').webkitSetPresentationMode)) {
4532
- return true;
4533
- } // Chrome
4534
- // https://developers.google.com/web/updates/2018/10/watch-video-using-picture-in-picture
4535
-
4536
-
4537
- if (document.pictureInPictureEnabled && !createElement('video').disablePictureInPicture) {
4538
- return true;
4539
- }
4540
-
4541
- return false;
4542
- }(),
4543
- // Airplay support
4544
- // Safari only currently
4545
- airplay: is$1.function(window.WebKitPlaybackTargetAvailabilityEvent),
4546
- // Inline playback support
4547
- // https://webkit.org/blog/6784/new-video-policies-for-ios/
4548
- playsinline: 'playsInline' in document.createElement('video'),
4549
- // Check for mime type support against a player instance
4550
- // Credits: http://diveintohtml5.info/everything.html
4551
- // Related: http://www.leanbackplayer.com/test/h5mt.html
4552
- mime: function mime(input) {
4553
- if (is$1.empty(input)) {
4554
- return false;
4555
- }
4556
-
4557
- var _input$split = input.split('/'),
4558
- _input$split2 = _slicedToArray(_input$split, 1),
4559
- mediaType = _input$split2[0];
4560
-
4561
- var type = input; // Verify we're using HTML5 and there's no media type mismatch
4562
-
4563
- if (!this.isHTML5 || mediaType !== this.type) {
4564
- return false;
4565
- } // Add codec if required
4566
-
4567
-
4568
- if (Object.keys(defaultCodecs).includes(type)) {
4569
- type += "; codecs=\"".concat(defaultCodecs[input], "\"");
4570
- }
4571
-
4572
- try {
4573
- return Boolean(type && this.media.canPlayType(type).replace(/no/, ''));
4574
- } catch (e) {
4575
- return false;
4576
- }
4577
- },
4578
- // Check for textTracks support
4579
- textTracks: 'textTracks' in document.createElement('video'),
4580
- // <input type="range"> Sliders
4581
- rangeInput: function () {
4582
- var range = document.createElement('input');
4583
- range.type = 'range';
4584
- return range.type === 'range';
4585
- }(),
4586
- // Touch
4587
- // NOTE: Remember a device can be mouse + touch enabled so we check on first touch event
4588
- touch: 'ontouchstart' in document.documentElement,
4589
- // Detect transitions support
4590
- transitions: transitionEndEvent !== false,
4591
- // Reduced motion iOS & MacOS setting
4592
- // https://webkit.org/blog/7551/responsive-design-for-motion/
4593
- reducedMotion: 'matchMedia' in window && window.matchMedia('(prefers-reduced-motion)').matches
4594
- };
4595
-
4596
- function validateRatio(input) {
4597
- if (!is$1.array(input) && (!is$1.string(input) || !input.includes(':'))) {
4598
- return false;
4599
- }
4600
-
4601
- var ratio = is$1.array(input) ? input : input.split(':');
4602
- return ratio.map(Number).every(is$1.number);
4603
- }
4604
- function reduceAspectRatio(ratio) {
4605
- if (!is$1.array(ratio) || !ratio.every(is$1.number)) {
4606
- return null;
4607
- }
4608
-
4609
- var _ratio = _slicedToArray(ratio, 2),
4610
- width = _ratio[0],
4611
- height = _ratio[1];
4612
-
4613
- var getDivider = function getDivider(w, h) {
4614
- return h === 0 ? w : getDivider(h, w % h);
4615
- };
4616
-
4617
- var divider = getDivider(width, height);
4618
- return [width / divider, height / divider];
4619
- }
4620
- function getAspectRatio(input) {
4621
- var parse = function parse(ratio) {
4622
- return validateRatio(ratio) ? ratio.split(':').map(Number) : null;
4623
- }; // Try provided ratio
4624
-
4625
-
4626
- var ratio = parse(input); // Get from config
4627
-
4628
- if (ratio === null) {
4629
- ratio = parse(this.config.ratio);
4630
- } // Get from embed
4631
-
4632
-
4633
- if (ratio === null && !is$1.empty(this.embed) && is$1.array(this.embed.ratio)) {
4634
- ratio = this.embed.ratio;
4635
- } // Get from HTML5 video
4636
-
4637
-
4638
- if (ratio === null && this.isHTML5) {
4639
- var _this$media = this.media,
4640
- videoWidth = _this$media.videoWidth,
4641
- videoHeight = _this$media.videoHeight;
4642
- ratio = reduceAspectRatio([videoWidth, videoHeight]);
4643
- }
4644
-
4645
- return ratio;
4646
- } // Set aspect ratio for responsive container
4647
-
4648
- function setAspectRatio(input) {
4649
- if (!this.isVideo) {
4650
- return {};
4651
- }
4652
-
4653
- var ratio = getAspectRatio.call(this, input);
4654
-
4655
- var _ref = is$1.array(ratio) ? ratio : [0, 0],
4656
- _ref2 = _slicedToArray(_ref, 2),
4657
- w = _ref2[0],
4658
- h = _ref2[1];
4659
-
4660
- var padding = 100 / w * h;
4661
- this.elements.wrapper.style.paddingBottom = "".concat(padding, "%"); // For Vimeo we have an extra <div> to hide the standard controls and UI
4662
-
4663
- if (this.isVimeo && this.supported.ui) {
4664
- var height = 240;
4665
- var offset = (height - padding) / (height / 50);
4666
- this.media.style.transform = "translateY(-".concat(offset, "%)");
4667
- } else if (this.isHTML5) {
4668
- this.elements.wrapper.classList.toggle(this.config.classNames.videoFixedRatio, ratio !== null);
4669
- }
4670
-
4671
- return {
4672
- padding: padding,
4673
- ratio: ratio
4674
- };
4675
- }
4676
-
4677
- // ==========================================================================
4678
- var html5 = {
4679
- getSources: function getSources() {
4680
- var _this = this;
4681
-
4682
- if (!this.isHTML5) {
4683
- return [];
4684
- }
4685
-
4686
- var sources = Array.from(this.media.querySelectorAll('source')); // Filter out unsupported sources (if type is specified)
4687
-
4688
- return sources.filter(function (source) {
4689
- var type = source.getAttribute('type');
4690
-
4691
- if (is$1.empty(type)) {
4692
- return true;
4693
- }
4694
-
4695
- return support.mime.call(_this, type);
4696
- });
4697
- },
4698
- // Get quality levels
4699
- getQualityOptions: function getQualityOptions() {
4700
- // Get sizes from <source> elements
4701
- return html5.getSources.call(this).map(function (source) {
4702
- return Number(source.getAttribute('size'));
4703
- }).filter(Boolean);
4704
- },
4705
- extend: function extend() {
4706
- if (!this.isHTML5) {
4707
- return;
4708
- }
4709
-
4710
- var player = this; // Set aspect ratio if fixed
4711
-
4712
- if (!is$1.empty(this.config.ratio)) {
4713
- setAspectRatio.call(player);
4714
- } // Quality
4715
-
4716
-
4717
- Object.defineProperty(player.media, 'quality', {
4718
- get: function get() {
4719
- // Get sources
4720
- var sources = html5.getSources.call(player);
4721
- var source = sources.find(function (s) {
4722
- return s.getAttribute('src') === player.source;
4723
- }); // Return size, if match is found
4724
-
4725
- return source && Number(source.getAttribute('size'));
4726
- },
4727
- set: function set(input) {
4728
- // Get sources
4729
- var sources = html5.getSources.call(player); // Get first match for requested size
4730
-
4731
- var source = sources.find(function (s) {
4732
- return Number(s.getAttribute('size')) === input;
4733
- }); // No matching source found
4734
-
4735
- if (!source) {
4736
- return;
4737
- } // Get current state
4738
-
4739
-
4740
- var _player$media = player.media,
4741
- currentTime = _player$media.currentTime,
4742
- paused = _player$media.paused,
4743
- preload = _player$media.preload,
4744
- readyState = _player$media.readyState; // Set new source
4745
-
4746
- player.media.src = source.getAttribute('src'); // Prevent loading if preload="none" and the current source isn't loaded (#1044)
4747
-
4748
- if (preload !== 'none' || readyState) {
4749
- // Restore time
4750
- player.once('loadedmetadata', function () {
4751
- player.currentTime = currentTime; // Resume playing
4752
-
4753
- if (!paused) {
4754
- player.play();
4755
- }
4756
- }); // Load new source
4757
-
4758
- player.media.load();
4759
- } // Trigger change event
4760
-
4761
-
4762
- triggerEvent.call(player, player.media, 'qualitychange', false, {
4763
- quality: input
4764
- });
4765
- }
4766
- });
4767
- },
4768
- // Cancel current network requests
4769
- // See https://github.com/sampotts/plyr/issues/174
4770
- cancelRequests: function cancelRequests() {
4771
- if (!this.isHTML5) {
4772
- return;
4773
- } // Remove child sources
4774
-
4775
-
4776
- removeElement(html5.getSources.call(this)); // Set blank video src attribute
4777
- // This is to prevent a MEDIA_ERR_SRC_NOT_SUPPORTED error
4778
- // Info: http://stackoverflow.com/questions/32231579/how-to-properly-dispose-of-an-html5-video-and-close-socket-or-connection
4779
-
4780
- this.media.setAttribute('src', this.config.blankVideo); // Load the new empty source
4781
- // This will cancel existing requests
4782
- // See https://github.com/sampotts/plyr/issues/174
4783
-
4784
- this.media.load(); // Debugging
4785
-
4786
- this.debug.log('Cancelled network requests');
4787
- }
4788
- };
4789
-
4790
- // ==========================================================================
4791
-
4792
- function dedupe(array) {
4793
- if (!is$1.array(array)) {
4794
- return array;
4795
- }
4796
-
4797
- return array.filter(function (item, index) {
4798
- return array.indexOf(item) === index;
4799
- });
4800
- } // Get the closest value in an array
4801
-
4802
- function closest(array, value) {
4803
- if (!is$1.array(array) || !array.length) {
4804
- return null;
4805
- }
4806
-
4807
- return array.reduce(function (prev, curr) {
4808
- return Math.abs(curr - value) < Math.abs(prev - value) ? curr : prev;
4809
- });
4810
- }
4811
-
4812
- // ==========================================================================
4813
-
4814
- function generateId(prefix) {
4815
- return "".concat(prefix, "-").concat(Math.floor(Math.random() * 10000));
4816
- } // Format string
4817
-
4818
- function format(input) {
4819
- for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
4820
- args[_key - 1] = arguments[_key];
4821
- }
4822
-
4823
- if (is$1.empty(input)) {
4824
- return input;
4825
- }
4826
-
4827
- return input.toString().replace(/{(\d+)}/g, function (match, i) {
4828
- return args[i].toString();
4829
- });
4830
- } // Get percentage
4831
-
4832
- function getPercentage(current, max) {
4833
- if (current === 0 || max === 0 || Number.isNaN(current) || Number.isNaN(max)) {
4834
- return 0;
4835
- }
4836
-
4837
- return (current / max * 100).toFixed(2);
4838
- } // Replace all occurances of a string in a string
4839
-
4840
- function replaceAll() {
4841
- var input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
4842
- var find = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
4843
- var replace = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
4844
- return input.replace(new RegExp(find.toString().replace(/([.*+?^=!:${}()|[\]/\\])/g, '\\$1'), 'g'), replace.toString());
4845
- } // Convert to title case
4846
-
4847
- function toTitleCase() {
4848
- var input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
4849
- return input.toString().replace(/\w\S*/g, function (text) {
4850
- return text.charAt(0).toUpperCase() + text.substr(1).toLowerCase();
4851
- });
4852
- } // Convert string to pascalCase
4853
-
4854
- function toPascalCase() {
4855
- var input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
4856
- var string = input.toString(); // Convert kebab case
4857
-
4858
- string = replaceAll(string, '-', ' '); // Convert snake case
4859
-
4860
- string = replaceAll(string, '_', ' '); // Convert to title case
4861
-
4862
- string = toTitleCase(string); // Convert to pascal case
4863
-
4864
- return replaceAll(string, ' ', '');
4865
- } // Convert string to pascalCase
4866
-
4867
- function toCamelCase() {
4868
- var input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
4869
- var string = input.toString(); // Convert to pascal case
4870
-
4871
- string = toPascalCase(string); // Convert first character to lowercase
4872
-
4873
- return string.charAt(0).toLowerCase() + string.slice(1);
4874
- } // Remove HTML from a string
4875
-
4876
- function stripHTML(source) {
4877
- var fragment = document.createDocumentFragment();
4878
- var element = document.createElement('div');
4879
- fragment.appendChild(element);
4880
- element.innerHTML = source;
4881
- return fragment.firstChild.innerText;
4882
- } // Like outerHTML, but also works for DocumentFragment
4883
-
4884
- function getHTML(element) {
4885
- var wrapper = document.createElement('div');
4886
- wrapper.appendChild(element);
4887
- return wrapper.innerHTML;
4888
- }
4889
-
4890
- var resources = {
4891
- pip: 'PIP',
4892
- airplay: 'AirPlay',
4893
- html5: 'HTML5',
4894
- vimeo: 'Vimeo',
4895
- youtube: 'YouTube'
4896
- };
4897
- var i18n = {
4898
- get: function get() {
4899
- var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
4900
- var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
4901
-
4902
- if (is$1.empty(key) || is$1.empty(config)) {
4903
- return '';
4904
- }
4905
-
4906
- var string = getDeep(config.i18n, key);
4907
-
4908
- if (is$1.empty(string)) {
4909
- if (Object.keys(resources).includes(key)) {
4910
- return resources[key];
4911
- }
4912
-
4913
- return '';
4914
- }
4915
-
4916
- var replace = {
4917
- '{seektime}': config.seekTime,
4918
- '{title}': config.title
4919
- };
4920
- Object.entries(replace).forEach(function (_ref) {
4921
- var _ref2 = _slicedToArray(_ref, 2),
4922
- k = _ref2[0],
4923
- v = _ref2[1];
4924
-
4925
- string = replaceAll(string, k, v);
4926
- });
4927
- return string;
4928
- }
4929
- };
4930
-
4931
- var Storage =
4932
- /*#__PURE__*/
4933
- function () {
4934
- function Storage(player) {
4935
- _classCallCheck(this, Storage);
4936
-
4937
- this.enabled = player.config.storage.enabled;
4938
- this.key = player.config.storage.key;
4939
- } // Check for actual support (see if we can use it)
4940
-
4941
-
4942
- _createClass(Storage, [{
4943
- key: "get",
4944
- value: function get(key) {
4945
- if (!Storage.supported || !this.enabled) {
4946
- return null;
4947
- }
4948
-
4949
- var store = window.localStorage.getItem(this.key);
4950
-
4951
- if (is$1.empty(store)) {
4952
- return null;
4953
- }
4954
-
4955
- var json = JSON.parse(store);
4956
- return is$1.string(key) && key.length ? json[key] : json;
4957
- }
4958
- }, {
4959
- key: "set",
4960
- value: function set(object) {
4961
- // Bail if we don't have localStorage support or it's disabled
4962
- if (!Storage.supported || !this.enabled) {
4963
- return;
4964
- } // Can only store objectst
4965
-
4966
-
4967
- if (!is$1.object(object)) {
4968
- return;
4969
- } // Get current storage
4970
-
4971
-
4972
- var storage = this.get(); // Default to empty object
4973
-
4974
- if (is$1.empty(storage)) {
4975
- storage = {};
4976
- } // Update the working copy of the values
4977
-
4978
-
4979
- extend(storage, object); // Update storage
4980
-
4981
- window.localStorage.setItem(this.key, JSON.stringify(storage));
4982
- }
4983
- }], [{
4984
- key: "supported",
4985
- get: function get() {
4986
- try {
4987
- if (!('localStorage' in window)) {
4988
- return false;
4989
- }
4990
-
4991
- var test = '___test'; // Try to use it (it might be disabled, e.g. user is in private mode)
4992
- // see: https://github.com/sampotts/plyr/issues/131
4993
-
4994
- window.localStorage.setItem(test, test);
4995
- window.localStorage.removeItem(test);
4996
- return true;
4997
- } catch (e) {
4998
- return false;
4999
- }
5000
- }
5001
- }]);
5002
-
5003
- return Storage;
5004
- }();
5005
-
5006
- // ==========================================================================
5007
- // Fetch wrapper
5008
- // Using XHR to avoid issues with older browsers
5009
- // ==========================================================================
5010
- function fetch(url) {
5011
- var responseType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'text';
5012
- return new Promise(function (resolve, reject) {
5013
- try {
5014
- var request = new XMLHttpRequest(); // Check for CORS support
5015
-
5016
- if (!('withCredentials' in request)) {
5017
- return;
5018
- }
5019
-
5020
- request.addEventListener('load', function () {
5021
- if (responseType === 'text') {
5022
- try {
5023
- resolve(JSON.parse(request.responseText));
5024
- } catch (e) {
5025
- resolve(request.responseText);
5026
- }
5027
- } else {
5028
- resolve(request.response);
5029
- }
5030
- });
5031
- request.addEventListener('error', function () {
5032
- throw new Error(request.status);
5033
- });
5034
- request.open('GET', url, true); // Set the required response type
5035
-
5036
- request.responseType = responseType;
5037
- request.send();
5038
- } catch (e) {
5039
- reject(e);
5040
- }
5041
- });
5042
- }
5043
-
5044
- // ==========================================================================
5045
-
5046
- function loadSprite(url, id) {
5047
- if (!is$1.string(url)) {
5048
- return;
5049
- }
5050
-
5051
- var prefix = 'cache';
5052
- var hasId = is$1.string(id);
5053
- var isCached = false;
5054
-
5055
- var exists = function exists() {
5056
- return document.getElementById(id) !== null;
5057
- };
5058
-
5059
- var update = function update(container, data) {
5060
- // eslint-disable-next-line no-param-reassign
5061
- container.innerHTML = data; // Check again incase of race condition
5062
-
5063
- if (hasId && exists()) {
5064
- return;
5065
- } // Inject the SVG to the body
5066
-
5067
-
5068
- document.body.insertAdjacentElement('afterbegin', container);
5069
- }; // Only load once if ID set
5070
-
5071
-
5072
- if (!hasId || !exists()) {
5073
- var useStorage = Storage.supported; // Create container
5074
-
5075
- var container = document.createElement('div');
5076
- container.setAttribute('hidden', '');
5077
-
5078
- if (hasId) {
5079
- container.setAttribute('id', id);
5080
- } // Check in cache
5081
-
5082
-
5083
- if (useStorage) {
5084
- var cached = window.localStorage.getItem("".concat(prefix, "-").concat(id));
5085
- isCached = cached !== null;
5086
-
5087
- if (isCached) {
5088
- var data = JSON.parse(cached);
5089
- update(container, data.content);
5090
- }
5091
- } // Get the sprite
5092
-
5093
-
5094
- fetch(url).then(function (result) {
5095
- if (is$1.empty(result)) {
5096
- return;
5097
- }
5098
-
5099
- if (useStorage) {
5100
- window.localStorage.setItem("".concat(prefix, "-").concat(id), JSON.stringify({
5101
- content: result
5102
- }));
5103
- }
5104
-
5105
- update(container, result);
5106
- }).catch(function () {});
5107
- }
5108
- }
5109
-
5110
- // ==========================================================================
5111
-
5112
- var getHours = function getHours(value) {
5113
- return Math.trunc(value / 60 / 60 % 60, 10);
5114
- };
5115
- var getMinutes = function getMinutes(value) {
5116
- return Math.trunc(value / 60 % 60, 10);
5117
- };
5118
- var getSeconds = function getSeconds(value) {
5119
- return Math.trunc(value % 60, 10);
5120
- }; // Format time to UI friendly string
5121
-
5122
- function formatTime() {
5123
- var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
5124
- var displayHours = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
5125
- var inverted = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
5126
-
5127
- // Bail if the value isn't a number
5128
- if (!is$1.number(time)) {
5129
- return formatTime(null, displayHours, inverted);
5130
- } // Format time component to add leading zero
5131
-
5132
-
5133
- var format = function format(value) {
5134
- return "0".concat(value).slice(-2);
5135
- }; // Breakdown to hours, mins, secs
5136
-
5137
-
5138
- var hours = getHours(time);
5139
- var mins = getMinutes(time);
5140
- var secs = getSeconds(time); // Do we need to display hours?
5141
-
5142
- if (displayHours || hours > 0) {
5143
- hours = "".concat(hours, ":");
5144
- } else {
5145
- hours = '';
5146
- } // Render
5147
-
5148
-
5149
- return "".concat(inverted && time > 0 ? '-' : '').concat(hours).concat(format(mins), ":").concat(format(secs));
5150
- }
5151
-
5152
- var controls = {
5153
- // Get icon URL
5154
- getIconUrl: function getIconUrl() {
5155
- var url = new URL(this.config.iconUrl, window.location);
5156
- var cors = url.host !== window.location.host || browser.isIE && !window.svg4everybody;
5157
- return {
5158
- url: this.config.iconUrl,
5159
- cors: cors
5160
- };
5161
- },
5162
- // Find the UI controls
5163
- findElements: function findElements() {
5164
- try {
5165
- this.elements.controls = getElement.call(this, this.config.selectors.controls.wrapper); // Buttons
5166
-
5167
- this.elements.buttons = {
5168
- play: getElements.call(this, this.config.selectors.buttons.play),
5169
- pause: getElement.call(this, this.config.selectors.buttons.pause),
5170
- restart: getElement.call(this, this.config.selectors.buttons.restart),
5171
- rewind: getElement.call(this, this.config.selectors.buttons.rewind),
5172
- fastForward: getElement.call(this, this.config.selectors.buttons.fastForward),
5173
- mute: getElement.call(this, this.config.selectors.buttons.mute),
5174
- pip: getElement.call(this, this.config.selectors.buttons.pip),
5175
- airplay: getElement.call(this, this.config.selectors.buttons.airplay),
5176
- settings: getElement.call(this, this.config.selectors.buttons.settings),
5177
- captions: getElement.call(this, this.config.selectors.buttons.captions),
5178
- fullscreen: getElement.call(this, this.config.selectors.buttons.fullscreen)
5179
- }; // Progress
5180
-
5181
- this.elements.progress = getElement.call(this, this.config.selectors.progress); // Inputs
5182
-
5183
- this.elements.inputs = {
5184
- seek: getElement.call(this, this.config.selectors.inputs.seek),
5185
- volume: getElement.call(this, this.config.selectors.inputs.volume)
5186
- }; // Display
5187
-
5188
- this.elements.display = {
5189
- buffer: getElement.call(this, this.config.selectors.display.buffer),
5190
- currentTime: getElement.call(this, this.config.selectors.display.currentTime),
5191
- duration: getElement.call(this, this.config.selectors.display.duration)
5192
- }; // Seek tooltip
5193
-
5194
- if (is$1.element(this.elements.progress)) {
5195
- this.elements.display.seekTooltip = this.elements.progress.querySelector(".".concat(this.config.classNames.tooltip));
5196
- }
5197
-
5198
- return true;
5199
- } catch (error) {
5200
- // Log it
5201
- this.debug.warn('It looks like there is a problem with your custom controls HTML', error); // Restore native video controls
5202
-
5203
- this.toggleNativeControls(true);
5204
- return false;
5205
- }
5206
- },
5207
- // Create <svg> icon
5208
- createIcon: function createIcon(type, attributes) {
5209
- var namespace = 'http://www.w3.org/2000/svg';
5210
- var iconUrl = controls.getIconUrl.call(this);
5211
- var iconPath = "".concat(!iconUrl.cors ? iconUrl.url : '', "#").concat(this.config.iconPrefix); // Create <svg>
5212
-
5213
- var icon = document.createElementNS(namespace, 'svg');
5214
- setAttributes(icon, extend(attributes, {
5215
- role: 'presentation',
5216
- focusable: 'false'
5217
- })); // Create the <use> to reference sprite
5218
-
5219
- var use = document.createElementNS(namespace, 'use');
5220
- var path = "".concat(iconPath, "-").concat(type); // Set `href` attributes
5221
- // https://github.com/sampotts/plyr/issues/460
5222
- // https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/xlink:href
5223
-
5224
- if ('href' in use) {
5225
- use.setAttributeNS('http://www.w3.org/1999/xlink', 'href', path);
5226
- } // Always set the older attribute even though it's "deprecated" (it'll be around for ages)
5227
-
5228
-
5229
- use.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', path); // Add <use> to <svg>
5230
-
5231
- icon.appendChild(use);
5232
- return icon;
5233
- },
5234
- // Create hidden text label
5235
- createLabel: function createLabel(key) {
5236
- var attr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
5237
- var text = i18n.get(key, this.config);
5238
- var attributes = Object.assign({}, attr, {
5239
- class: [attr.class, this.config.classNames.hidden].filter(Boolean).join(' ')
5240
- });
5241
- return createElement('span', attributes, text);
5242
- },
5243
- // Create a badge
5244
- createBadge: function createBadge(text) {
5245
- if (is$1.empty(text)) {
5246
- return null;
5247
- }
5248
-
5249
- var badge = createElement('span', {
5250
- class: this.config.classNames.menu.value
5251
- });
5252
- badge.appendChild(createElement('span', {
5253
- class: this.config.classNames.menu.badge
5254
- }, text));
5255
- return badge;
5256
- },
5257
- // Create a <button>
5258
- createButton: function createButton(buttonType, attr) {
5259
- var _this = this;
5260
-
5261
- var attributes = extend({}, attr);
5262
- var type = toCamelCase(buttonType);
5263
- var props = {
5264
- element: 'button',
5265
- toggle: false,
5266
- label: null,
5267
- icon: null,
5268
- labelPressed: null,
5269
- iconPressed: null
5270
- };
5271
- ['element', 'icon', 'label'].forEach(function (key) {
5272
- if (Object.keys(attributes).includes(key)) {
5273
- props[key] = attributes[key];
5274
- delete attributes[key];
5275
- }
5276
- }); // Default to 'button' type to prevent form submission
5277
-
5278
- if (props.element === 'button' && !Object.keys(attributes).includes('type')) {
5279
- attributes.type = 'button';
5280
- } // Set class name
5281
-
5282
-
5283
- if (Object.keys(attributes).includes('class')) {
5284
- if (!attributes.class.split(' ').some(function (c) {
5285
- return c === _this.config.classNames.control;
5286
- })) {
5287
- extend(attributes, {
5288
- class: "".concat(attributes.class, " ").concat(this.config.classNames.control)
5289
- });
5290
- }
5291
- } else {
5292
- attributes.class = this.config.classNames.control;
5293
- } // Large play button
5294
-
5295
-
5296
- switch (buttonType) {
5297
- case 'play':
5298
- props.toggle = true;
5299
- props.label = 'play';
5300
- props.labelPressed = 'pause';
5301
- props.icon = 'play';
5302
- props.iconPressed = 'pause';
5303
- break;
5304
-
5305
- case 'mute':
5306
- props.toggle = true;
5307
- props.label = 'mute';
5308
- props.labelPressed = 'unmute';
5309
- props.icon = 'volume';
5310
- props.iconPressed = 'muted';
5311
- break;
5312
-
5313
- case 'captions':
5314
- props.toggle = true;
5315
- props.label = 'enableCaptions';
5316
- props.labelPressed = 'disableCaptions';
5317
- props.icon = 'captions-off';
5318
- props.iconPressed = 'captions-on';
5319
- break;
5320
-
5321
- case 'fullscreen':
5322
- props.toggle = true;
5323
- props.label = 'enterFullscreen';
5324
- props.labelPressed = 'exitFullscreen';
5325
- props.icon = 'enter-fullscreen';
5326
- props.iconPressed = 'exit-fullscreen';
5327
- break;
5328
-
5329
- case 'play-large':
5330
- attributes.class += " ".concat(this.config.classNames.control, "--overlaid");
5331
- type = 'play';
5332
- props.label = 'play';
5333
- props.icon = 'play';
5334
- break;
5335
-
5336
- default:
5337
- if (is$1.empty(props.label)) {
5338
- props.label = type;
5339
- }
5340
-
5341
- if (is$1.empty(props.icon)) {
5342
- props.icon = buttonType;
5343
- }
5344
-
5345
- }
5346
-
5347
- var button = createElement(props.element); // Setup toggle icon and labels
5348
-
5349
- if (props.toggle) {
5350
- // Icon
5351
- button.appendChild(controls.createIcon.call(this, props.iconPressed, {
5352
- class: 'icon--pressed'
5353
- }));
5354
- button.appendChild(controls.createIcon.call(this, props.icon, {
5355
- class: 'icon--not-pressed'
5356
- })); // Label/Tooltip
5357
-
5358
- button.appendChild(controls.createLabel.call(this, props.labelPressed, {
5359
- class: 'label--pressed'
5360
- }));
5361
- button.appendChild(controls.createLabel.call(this, props.label, {
5362
- class: 'label--not-pressed'
5363
- }));
5364
- } else {
5365
- button.appendChild(controls.createIcon.call(this, props.icon));
5366
- button.appendChild(controls.createLabel.call(this, props.label));
5367
- } // Merge and set attributes
5368
-
5369
-
5370
- extend(attributes, getAttributesFromSelector(this.config.selectors.buttons[type], attributes));
5371
- setAttributes(button, attributes); // We have multiple play buttons
5372
-
5373
- if (type === 'play') {
5374
- if (!is$1.array(this.elements.buttons[type])) {
5375
- this.elements.buttons[type] = [];
5376
- }
5377
-
5378
- this.elements.buttons[type].push(button);
5379
- } else {
5380
- this.elements.buttons[type] = button;
5381
- }
5382
-
5383
- return button;
5384
- },
5385
- // Create an <input type='range'>
5386
- createRange: function createRange(type, attributes) {
5387
- // Seek input
5388
- var input = createElement('input', extend(getAttributesFromSelector(this.config.selectors.inputs[type]), {
5389
- type: 'range',
5390
- min: 0,
5391
- max: 100,
5392
- step: 0.01,
5393
- value: 0,
5394
- autocomplete: 'off',
5395
- // A11y fixes for https://github.com/sampotts/plyr/issues/905
5396
- role: 'slider',
5397
- 'aria-label': i18n.get(type, this.config),
5398
- 'aria-valuemin': 0,
5399
- 'aria-valuemax': 100,
5400
- 'aria-valuenow': 0
5401
- }, attributes));
5402
- this.elements.inputs[type] = input; // Set the fill for webkit now
5403
-
5404
- controls.updateRangeFill.call(this, input); // Improve support on touch devices
5405
-
5406
- RangeTouch.setup(input);
5407
- return input;
5408
- },
5409
- // Create a <progress>
5410
- createProgress: function createProgress(type, attributes) {
5411
- var progress = createElement('progress', extend(getAttributesFromSelector(this.config.selectors.display[type]), {
5412
- min: 0,
5413
- max: 100,
5414
- value: 0,
5415
- role: 'progressbar',
5416
- 'aria-hidden': true
5417
- }, attributes)); // Create the label inside
5418
-
5419
- if (type !== 'volume') {
5420
- progress.appendChild(createElement('span', null, '0'));
5421
- var suffixKey = {
5422
- played: 'played',
5423
- buffer: 'buffered'
5424
- }[type];
5425
- var suffix = suffixKey ? i18n.get(suffixKey, this.config) : '';
5426
- progress.innerText = "% ".concat(suffix.toLowerCase());
5427
- }
5428
-
5429
- this.elements.display[type] = progress;
5430
- return progress;
5431
- },
5432
- // Create time display
5433
- createTime: function createTime(type, attrs) {
5434
- var attributes = getAttributesFromSelector(this.config.selectors.display[type], attrs);
5435
- var container = createElement('div', extend(attributes, {
5436
- class: "".concat(attributes.class ? attributes.class : '', " ").concat(this.config.classNames.display.time, " ").trim(),
5437
- 'aria-label': i18n.get(type, this.config)
5438
- }), '00:00'); // Reference for updates
5439
-
5440
- this.elements.display[type] = container;
5441
- return container;
5442
- },
5443
- // Bind keyboard shortcuts for a menu item
5444
- // We have to bind to keyup otherwise Firefox triggers a click when a keydown event handler shifts focus
5445
- // https://bugzilla.mozilla.org/show_bug.cgi?id=1220143
5446
- bindMenuItemShortcuts: function bindMenuItemShortcuts(menuItem, type) {
5447
- var _this2 = this;
5448
-
5449
- // Navigate through menus via arrow keys and space
5450
- on(menuItem, 'keydown keyup', function (event) {
5451
- // We only care about space and ⬆️ ⬇️️ ➡️
5452
- if (![32, 38, 39, 40].includes(event.which)) {
5453
- return;
5454
- } // Prevent play / seek
5455
-
5456
-
5457
- event.preventDefault();
5458
- event.stopPropagation(); // We're just here to prevent the keydown bubbling
5459
-
5460
- if (event.type === 'keydown') {
5461
- return;
5462
- }
5463
-
5464
- var isRadioButton = matches$1(menuItem, '[role="menuitemradio"]'); // Show the respective menu
5465
-
5466
- if (!isRadioButton && [32, 39].includes(event.which)) {
5467
- controls.showMenuPanel.call(_this2, type, true);
5468
- } else {
5469
- var target;
5470
-
5471
- if (event.which !== 32) {
5472
- if (event.which === 40 || isRadioButton && event.which === 39) {
5473
- target = menuItem.nextElementSibling;
5474
-
5475
- if (!is$1.element(target)) {
5476
- target = menuItem.parentNode.firstElementChild;
5477
- }
5478
- } else {
5479
- target = menuItem.previousElementSibling;
5480
-
5481
- if (!is$1.element(target)) {
5482
- target = menuItem.parentNode.lastElementChild;
5483
- }
5484
- }
5485
-
5486
- setFocus.call(_this2, target, true);
5487
- }
5488
- }
5489
- }, false); // Enter will fire a `click` event but we still need to manage focus
5490
- // So we bind to keyup which fires after and set focus here
5491
-
5492
- on(menuItem, 'keyup', function (event) {
5493
- if (event.which !== 13) {
5494
- return;
5495
- }
5496
-
5497
- controls.focusFirstMenuItem.call(_this2, null, true);
5498
- });
5499
- },
5500
- // Create a settings menu item
5501
- createMenuItem: function createMenuItem(_ref) {
5502
- var _this3 = this;
5503
-
5504
- var value = _ref.value,
5505
- list = _ref.list,
5506
- type = _ref.type,
5507
- title = _ref.title,
5508
- _ref$badge = _ref.badge,
5509
- badge = _ref$badge === void 0 ? null : _ref$badge,
5510
- _ref$checked = _ref.checked,
5511
- checked = _ref$checked === void 0 ? false : _ref$checked;
5512
- var attributes = getAttributesFromSelector(this.config.selectors.inputs[type]);
5513
- var menuItem = createElement('button', extend(attributes, {
5514
- type: 'button',
5515
- role: 'menuitemradio',
5516
- class: "".concat(this.config.classNames.control, " ").concat(attributes.class ? attributes.class : '').trim(),
5517
- 'aria-checked': checked,
5518
- value: value
5519
- }));
5520
- var flex = createElement('span'); // We have to set as HTML incase of special characters
5521
-
5522
- flex.innerHTML = title;
5523
-
5524
- if (is$1.element(badge)) {
5525
- flex.appendChild(badge);
5526
- }
5527
-
5528
- menuItem.appendChild(flex); // Replicate radio button behaviour
5529
-
5530
- Object.defineProperty(menuItem, 'checked', {
5531
- enumerable: true,
5532
- get: function get() {
5533
- return menuItem.getAttribute('aria-checked') === 'true';
5534
- },
5535
- set: function set(check) {
5536
- // Ensure exclusivity
5537
- if (check) {
5538
- Array.from(menuItem.parentNode.children).filter(function (node) {
5539
- return matches$1(node, '[role="menuitemradio"]');
5540
- }).forEach(function (node) {
5541
- return node.setAttribute('aria-checked', 'false');
5542
- });
5543
- }
5544
-
5545
- menuItem.setAttribute('aria-checked', check ? 'true' : 'false');
5546
- }
5547
- });
5548
- this.listeners.bind(menuItem, 'click keyup', function (event) {
5549
- if (is$1.keyboardEvent(event) && event.which !== 32) {
5550
- return;
5551
- }
5552
-
5553
- event.preventDefault();
5554
- event.stopPropagation();
5555
- menuItem.checked = true;
5556
-
5557
- switch (type) {
5558
- case 'language':
5559
- _this3.currentTrack = Number(value);
5560
- break;
5561
-
5562
- case 'quality':
5563
- _this3.quality = value;
5564
- break;
5565
-
5566
- case 'speed':
5567
- _this3.speed = parseFloat(value);
5568
- break;
5569
-
5570
- default:
5571
- break;
5572
- }
5573
-
5574
- controls.showMenuPanel.call(_this3, 'home', is$1.keyboardEvent(event));
5575
- }, type, false);
5576
- controls.bindMenuItemShortcuts.call(this, menuItem, type);
5577
- list.appendChild(menuItem);
5578
- },
5579
- // Format a time for display
5580
- formatTime: function formatTime$1() {
5581
- var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
5582
- var inverted = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
5583
-
5584
- // Bail if the value isn't a number
5585
- if (!is$1.number(time)) {
5586
- return time;
5587
- } // Always display hours if duration is over an hour
5588
-
5589
-
5590
- var forceHours = getHours(this.duration) > 0;
5591
- return formatTime(time, forceHours, inverted);
5592
- },
5593
- // Update the displayed time
5594
- updateTimeDisplay: function updateTimeDisplay() {
5595
- var target = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
5596
- var time = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
5597
- var inverted = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
5598
-
5599
- // Bail if there's no element to display or the value isn't a number
5600
- if (!is$1.element(target) || !is$1.number(time)) {
5601
- return;
5602
- } // eslint-disable-next-line no-param-reassign
5603
-
5604
-
5605
- target.innerText = controls.formatTime(time, inverted);
5606
- },
5607
- // Update volume UI and storage
5608
- updateVolume: function updateVolume() {
5609
- if (!this.supported.ui) {
5610
- return;
5611
- } // Update range
5612
-
5613
-
5614
- if (is$1.element(this.elements.inputs.volume)) {
5615
- controls.setRange.call(this, this.elements.inputs.volume, this.muted ? 0 : this.volume);
5616
- } // Update mute state
5617
-
5618
-
5619
- if (is$1.element(this.elements.buttons.mute)) {
5620
- this.elements.buttons.mute.pressed = this.muted || this.volume === 0;
5621
- }
5622
- },
5623
- // Update seek value and lower fill
5624
- setRange: function setRange(target) {
5625
- var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
5626
-
5627
- if (!is$1.element(target)) {
5628
- return;
5629
- } // eslint-disable-next-line
5630
-
5631
-
5632
- target.value = value; // Webkit range fill
5633
-
5634
- controls.updateRangeFill.call(this, target);
5635
- },
5636
- // Update <progress> elements
5637
- updateProgress: function updateProgress(event) {
5638
- var _this4 = this;
5639
-
5640
- if (!this.supported.ui || !is$1.event(event)) {
5641
- return;
5642
- }
5643
-
5644
- var value = 0;
5645
-
5646
- var setProgress = function setProgress(target, input) {
5647
- var val = is$1.number(input) ? input : 0;
5648
- var progress = is$1.element(target) ? target : _this4.elements.display.buffer; // Update value and label
5649
-
5650
- if (is$1.element(progress)) {
5651
- progress.value = val; // Update text label inside
5652
-
5653
- var label = progress.getElementsByTagName('span')[0];
5654
-
5655
- if (is$1.element(label)) {
5656
- label.childNodes[0].nodeValue = val;
5657
- }
5658
- }
5659
- };
5660
-
5661
- if (event) {
5662
- switch (event.type) {
5663
- // Video playing
5664
- case 'timeupdate':
5665
- case 'seeking':
5666
- case 'seeked':
5667
- value = getPercentage(this.currentTime, this.duration); // Set seek range value only if it's a 'natural' time event
5668
-
5669
- if (event.type === 'timeupdate') {
5670
- controls.setRange.call(this, this.elements.inputs.seek, value);
5671
- }
5672
-
5673
- break;
5674
- // Check buffer status
5675
-
5676
- case 'playing':
5677
- case 'progress':
5678
- setProgress(this.elements.display.buffer, this.buffered * 100);
5679
- break;
5680
-
5681
- default:
5682
- break;
5683
- }
5684
- }
5685
- },
5686
- // Webkit polyfill for lower fill range
5687
- updateRangeFill: function updateRangeFill(target) {
5688
- // Get range from event if event passed
5689
- var range = is$1.event(target) ? target.target : target; // Needs to be a valid <input type='range'>
5690
-
5691
- if (!is$1.element(range) || range.getAttribute('type') !== 'range') {
5692
- return;
5693
- } // Set aria values for https://github.com/sampotts/plyr/issues/905
5694
-
5695
-
5696
- if (matches$1(range, this.config.selectors.inputs.seek)) {
5697
- range.setAttribute('aria-valuenow', this.currentTime);
5698
- var currentTime = controls.formatTime(this.currentTime);
5699
- var duration = controls.formatTime(this.duration);
5700
- var format = i18n.get('seekLabel', this.config);
5701
- range.setAttribute('aria-valuetext', format.replace('{currentTime}', currentTime).replace('{duration}', duration));
5702
- } else if (matches$1(range, this.config.selectors.inputs.volume)) {
5703
- var percent = range.value * 100;
5704
- range.setAttribute('aria-valuenow', percent);
5705
- range.setAttribute('aria-valuetext', "".concat(percent.toFixed(1), "%"));
5706
- } else {
5707
- range.setAttribute('aria-valuenow', range.value);
5708
- } // WebKit only
5709
-
5710
-
5711
- if (!browser.isWebkit) {
5712
- return;
5713
- } // Set CSS custom property
5714
-
5715
-
5716
- range.style.setProperty('--value', "".concat(range.value / range.max * 100, "%"));
5717
- },
5718
- // Update hover tooltip for seeking
5719
- updateSeekTooltip: function updateSeekTooltip(event) {
5720
- var _this5 = this;
5721
-
5722
- // Bail if setting not true
5723
- if (!this.config.tooltips.seek || !is$1.element(this.elements.inputs.seek) || !is$1.element(this.elements.display.seekTooltip) || this.duration === 0) {
5724
- return;
5725
- }
5726
-
5727
- var visible = "".concat(this.config.classNames.tooltip, "--visible");
5728
-
5729
- var toggle = function toggle(show) {
5730
- return toggleClass(_this5.elements.display.seekTooltip, visible, show);
5731
- }; // Hide on touch
5732
-
5733
-
5734
- if (this.touch) {
5735
- toggle(false);
5736
- return;
5737
- } // Determine percentage, if already visible
5738
-
5739
-
5740
- var percent = 0;
5741
- var clientRect = this.elements.progress.getBoundingClientRect();
5742
-
5743
- if (is$1.event(event)) {
5744
- percent = 100 / clientRect.width * (event.pageX - clientRect.left);
5745
- } else if (hasClass(this.elements.display.seekTooltip, visible)) {
5746
- percent = parseFloat(this.elements.display.seekTooltip.style.left, 10);
5747
- } else {
5748
- return;
5749
- } // Set bounds
5750
-
5751
-
5752
- if (percent < 0) {
5753
- percent = 0;
5754
- } else if (percent > 100) {
5755
- percent = 100;
5756
- } // Display the time a click would seek to
5757
-
5758
-
5759
- controls.updateTimeDisplay.call(this, this.elements.display.seekTooltip, this.duration / 100 * percent); // Set position
5760
-
5761
- this.elements.display.seekTooltip.style.left = "".concat(percent, "%"); // Show/hide the tooltip
5762
- // If the event is a moues in/out and percentage is inside bounds
5763
-
5764
- if (is$1.event(event) && ['mouseenter', 'mouseleave'].includes(event.type)) {
5765
- toggle(event.type === 'mouseenter');
5766
- }
5767
- },
5768
- // Handle time change event
5769
- timeUpdate: function timeUpdate(event) {
5770
- // Only invert if only one time element is displayed and used for both duration and currentTime
5771
- var invert = !is$1.element(this.elements.display.duration) && this.config.invertTime; // Duration
5772
-
5773
- controls.updateTimeDisplay.call(this, this.elements.display.currentTime, invert ? this.duration - this.currentTime : this.currentTime, invert); // Ignore updates while seeking
5774
-
5775
- if (event && event.type === 'timeupdate' && this.media.seeking) {
5776
- return;
5777
- } // Playing progress
5778
-
5779
-
5780
- controls.updateProgress.call(this, event);
5781
- },
5782
- // Show the duration on metadataloaded or durationchange events
5783
- durationUpdate: function durationUpdate() {
5784
- // Bail if no UI or durationchange event triggered after playing/seek when invertTime is false
5785
- if (!this.supported.ui || !this.config.invertTime && this.currentTime) {
5786
- return;
5787
- } // If duration is the 2**32 (shaka), Infinity (HLS), DASH-IF (Number.MAX_SAFE_INTEGER || Number.MAX_VALUE) indicating live we hide the currentTime and progressbar.
5788
- // https://github.com/video-dev/hls.js/blob/5820d29d3c4c8a46e8b75f1e3afa3e68c1a9a2db/src/controller/buffer-controller.js#L415
5789
- // https://github.com/google/shaka-player/blob/4d889054631f4e1cf0fbd80ddd2b71887c02e232/lib/media/streaming_engine.js#L1062
5790
- // https://github.com/Dash-Industry-Forum/dash.js/blob/69859f51b969645b234666800d4cb596d89c602d/src/dash/models/DashManifestModel.js#L338
5791
-
5792
-
5793
- if (this.duration >= Math.pow(2, 32)) {
5794
- toggleHidden(this.elements.display.currentTime, true);
5795
- toggleHidden(this.elements.progress, true);
5796
- return;
5797
- } // Update ARIA values
5798
-
5799
-
5800
- if (is$1.element(this.elements.inputs.seek)) {
5801
- this.elements.inputs.seek.setAttribute('aria-valuemax', this.duration);
5802
- } // If there's a spot to display duration
5803
-
5804
-
5805
- var hasDuration = is$1.element(this.elements.display.duration); // If there's only one time display, display duration there
5806
-
5807
- if (!hasDuration && this.config.displayDuration && this.paused) {
5808
- controls.updateTimeDisplay.call(this, this.elements.display.currentTime, this.duration);
5809
- } // If there's a duration element, update content
5810
-
5811
-
5812
- if (hasDuration) {
5813
- controls.updateTimeDisplay.call(this, this.elements.display.duration, this.duration);
5814
- } // Update the tooltip (if visible)
5815
-
5816
-
5817
- controls.updateSeekTooltip.call(this);
5818
- },
5819
- // Hide/show a tab
5820
- toggleMenuButton: function toggleMenuButton(setting, toggle) {
5821
- toggleHidden(this.elements.settings.buttons[setting], !toggle);
5822
- },
5823
- // Update the selected setting
5824
- updateSetting: function updateSetting(setting, container, input) {
5825
- var pane = this.elements.settings.panels[setting];
5826
- var value = null;
5827
- var list = container;
5828
-
5829
- if (setting === 'captions') {
5830
- value = this.currentTrack;
5831
- } else {
5832
- value = !is$1.empty(input) ? input : this[setting]; // Get default
5833
-
5834
- if (is$1.empty(value)) {
5835
- value = this.config[setting].default;
5836
- } // Unsupported value
5837
-
5838
-
5839
- if (!is$1.empty(this.options[setting]) && !this.options[setting].includes(value)) {
5840
- this.debug.warn("Unsupported value of '".concat(value, "' for ").concat(setting));
5841
- return;
5842
- } // Disabled value
5843
-
5844
-
5845
- if (!this.config[setting].options.includes(value)) {
5846
- this.debug.warn("Disabled value of '".concat(value, "' for ").concat(setting));
5847
- return;
5848
- }
5849
- } // Get the list if we need to
5850
-
5851
-
5852
- if (!is$1.element(list)) {
5853
- list = pane && pane.querySelector('[role="menu"]');
5854
- } // If there's no list it means it's not been rendered...
5855
-
5856
-
5857
- if (!is$1.element(list)) {
5858
- return;
5859
- } // Update the label
5860
-
5861
-
5862
- var label = this.elements.settings.buttons[setting].querySelector(".".concat(this.config.classNames.menu.value));
5863
- label.innerHTML = controls.getLabel.call(this, setting, value); // Find the radio option and check it
5864
-
5865
- var target = list && list.querySelector("[value=\"".concat(value, "\"]"));
5866
-
5867
- if (is$1.element(target)) {
5868
- target.checked = true;
5869
- }
5870
- },
5871
- // Translate a value into a nice label
5872
- getLabel: function getLabel(setting, value) {
5873
- switch (setting) {
5874
- case 'speed':
5875
- return value === 1 ? i18n.get('normal', this.config) : "".concat(value, "&times;");
5876
-
5877
- case 'quality':
5878
- if (is$1.number(value)) {
5879
- var label = i18n.get("qualityLabel.".concat(value), this.config);
5880
-
5881
- if (!label.length) {
5882
- return "".concat(value, "p");
5883
- }
5884
-
5885
- return label;
5886
- }
5887
-
5888
- return toTitleCase(value);
5889
-
5890
- case 'captions':
5891
- return captions.getLabel.call(this);
5892
-
5893
- default:
5894
- return null;
5895
- }
5896
- },
5897
- // Set the quality menu
5898
- setQualityMenu: function setQualityMenu(options) {
5899
- var _this6 = this;
5900
-
5901
- // Menu required
5902
- if (!is$1.element(this.elements.settings.panels.quality)) {
5903
- return;
5904
- }
5905
-
5906
- var type = 'quality';
5907
- var list = this.elements.settings.panels.quality.querySelector('[role="menu"]'); // Set options if passed and filter based on uniqueness and config
5908
-
5909
- if (is$1.array(options)) {
5910
- this.options.quality = dedupe(options).filter(function (quality) {
5911
- return _this6.config.quality.options.includes(quality);
5912
- });
5913
- } // Toggle the pane and tab
5914
-
5915
-
5916
- var toggle = !is$1.empty(this.options.quality) && this.options.quality.length > 1;
5917
- controls.toggleMenuButton.call(this, type, toggle); // Empty the menu
5918
-
5919
- emptyElement(list); // Check if we need to toggle the parent
5920
-
5921
- controls.checkMenu.call(this); // If we're hiding, nothing more to do
5922
-
5923
- if (!toggle) {
5924
- return;
5925
- } // Get the badge HTML for HD, 4K etc
5926
-
5927
-
5928
- var getBadge = function getBadge(quality) {
5929
- var label = i18n.get("qualityBadge.".concat(quality), _this6.config);
5930
-
5931
- if (!label.length) {
5932
- return null;
5933
- }
5934
-
5935
- return controls.createBadge.call(_this6, label);
5936
- }; // Sort options by the config and then render options
5937
-
5938
-
5939
- this.options.quality.sort(function (a, b) {
5940
- var sorting = _this6.config.quality.options;
5941
- return sorting.indexOf(a) > sorting.indexOf(b) ? 1 : -1;
5942
- }).forEach(function (quality) {
5943
- controls.createMenuItem.call(_this6, {
5944
- value: quality,
5945
- list: list,
5946
- type: type,
5947
- title: controls.getLabel.call(_this6, 'quality', quality),
5948
- badge: getBadge(quality)
5949
- });
5950
- });
5951
- controls.updateSetting.call(this, type, list);
5952
- },
5953
- // Set the looping options
5954
-
5955
- /* setLoopMenu() {
5956
- // Menu required
5957
- if (!is.element(this.elements.settings.panels.loop)) {
5958
- return;
5959
- }
5960
- const options = ['start', 'end', 'all', 'reset'];
5961
- const list = this.elements.settings.panels.loop.querySelector('[role="menu"]');
5962
- // Show the pane and tab
5963
- toggleHidden(this.elements.settings.buttons.loop, false);
5964
- toggleHidden(this.elements.settings.panels.loop, false);
5965
- // Toggle the pane and tab
5966
- const toggle = !is.empty(this.loop.options);
5967
- controls.toggleMenuButton.call(this, 'loop', toggle);
5968
- // Empty the menu
5969
- emptyElement(list);
5970
- options.forEach(option => {
5971
- const item = createElement('li');
5972
- const button = createElement(
5973
- 'button',
5974
- extend(getAttributesFromSelector(this.config.selectors.buttons.loop), {
5975
- type: 'button',
5976
- class: this.config.classNames.control,
5977
- 'data-plyr-loop-action': option,
5978
- }),
5979
- i18n.get(option, this.config)
5980
- );
5981
- if (['start', 'end'].includes(option)) {
5982
- const badge = controls.createBadge.call(this, '00:00');
5983
- button.appendChild(badge);
5984
- }
5985
- item.appendChild(button);
5986
- list.appendChild(item);
5987
- });
5988
- }, */
5989
- // Get current selected caption language
5990
- // TODO: rework this to user the getter in the API?
5991
- // Set a list of available captions languages
5992
- setCaptionsMenu: function setCaptionsMenu() {
5993
- var _this7 = this;
5994
-
5995
- // Menu required
5996
- if (!is$1.element(this.elements.settings.panels.captions)) {
5997
- return;
5998
- } // TODO: Captions or language? Currently it's mixed
5999
-
6000
-
6001
- var type = 'captions';
6002
- var list = this.elements.settings.panels.captions.querySelector('[role="menu"]');
6003
- var tracks = captions.getTracks.call(this);
6004
- var toggle = Boolean(tracks.length); // Toggle the pane and tab
6005
-
6006
- controls.toggleMenuButton.call(this, type, toggle); // Empty the menu
6007
-
6008
- emptyElement(list); // Check if we need to toggle the parent
6009
-
6010
- controls.checkMenu.call(this); // If there's no captions, bail
6011
-
6012
- if (!toggle) {
6013
- return;
6014
- } // Generate options data
6015
-
6016
-
6017
- var options = tracks.map(function (track, value) {
6018
- return {
6019
- value: value,
6020
- checked: _this7.captions.toggled && _this7.currentTrack === value,
6021
- title: captions.getLabel.call(_this7, track),
6022
- badge: track.language && controls.createBadge.call(_this7, track.language.toUpperCase()),
6023
- list: list,
6024
- type: 'language'
6025
- };
6026
- }); // Add the "Disabled" option to turn off captions
6027
-
6028
- options.unshift({
6029
- value: -1,
6030
- checked: !this.captions.toggled,
6031
- title: i18n.get('disabled', this.config),
6032
- list: list,
6033
- type: 'language'
6034
- }); // Generate options
6035
-
6036
- options.forEach(controls.createMenuItem.bind(this));
6037
- controls.updateSetting.call(this, type, list);
6038
- },
6039
- // Set a list of available captions languages
6040
- setSpeedMenu: function setSpeedMenu(options) {
6041
- var _this8 = this;
6042
-
6043
- // Menu required
6044
- if (!is$1.element(this.elements.settings.panels.speed)) {
6045
- return;
6046
- }
6047
-
6048
- var type = 'speed';
6049
- var list = this.elements.settings.panels.speed.querySelector('[role="menu"]'); // Set the speed options
6050
-
6051
- if (is$1.array(options)) {
6052
- this.options.speed = options;
6053
- } else if (this.isHTML5 || this.isVimeo) {
6054
- this.options.speed = [0.5, 0.75, 1, 1.25, 1.5, 1.75, 2];
6055
- } // Set options if passed and filter based on config
6056
-
6057
-
6058
- this.options.speed = this.options.speed.filter(function (speed) {
6059
- return _this8.config.speed.options.includes(speed);
6060
- }); // Toggle the pane and tab
6061
-
6062
- var toggle = !is$1.empty(this.options.speed) && this.options.speed.length > 1;
6063
- controls.toggleMenuButton.call(this, type, toggle); // Empty the menu
6064
-
6065
- emptyElement(list); // Check if we need to toggle the parent
6066
-
6067
- controls.checkMenu.call(this); // If we're hiding, nothing more to do
6068
-
6069
- if (!toggle) {
6070
- return;
6071
- } // Create items
6072
-
6073
-
6074
- this.options.speed.forEach(function (speed) {
6075
- controls.createMenuItem.call(_this8, {
6076
- value: speed,
6077
- list: list,
6078
- type: type,
6079
- title: controls.getLabel.call(_this8, 'speed', speed)
6080
- });
6081
- });
6082
- controls.updateSetting.call(this, type, list);
6083
- },
6084
- // Check if we need to hide/show the settings menu
6085
- checkMenu: function checkMenu() {
6086
- var buttons = this.elements.settings.buttons;
6087
- var visible = !is$1.empty(buttons) && Object.values(buttons).some(function (button) {
6088
- return !button.hidden;
6089
- });
6090
- toggleHidden(this.elements.settings.menu, !visible);
6091
- },
6092
- // Focus the first menu item in a given (or visible) menu
6093
- focusFirstMenuItem: function focusFirstMenuItem(pane) {
6094
- var tabFocus = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
6095
-
6096
- if (this.elements.settings.popup.hidden) {
6097
- return;
6098
- }
6099
-
6100
- var target = pane;
6101
-
6102
- if (!is$1.element(target)) {
6103
- target = Object.values(this.elements.settings.panels).find(function (p) {
6104
- return !p.hidden;
6105
- });
6106
- }
6107
-
6108
- var firstItem = target.querySelector('[role^="menuitem"]');
6109
- setFocus.call(this, firstItem, tabFocus);
6110
- },
6111
- // Show/hide menu
6112
- toggleMenu: function toggleMenu(input) {
6113
- var popup = this.elements.settings.popup;
6114
- var button = this.elements.buttons.settings; // Menu and button are required
6115
-
6116
- if (!is$1.element(popup) || !is$1.element(button)) {
6117
- return;
6118
- } // True toggle by default
6119
-
6120
-
6121
- var hidden = popup.hidden;
6122
- var show = hidden;
6123
-
6124
- if (is$1.boolean(input)) {
6125
- show = input;
6126
- } else if (is$1.keyboardEvent(input) && input.which === 27) {
6127
- show = false;
6128
- } else if (is$1.event(input)) {
6129
- // If Plyr is in a shadowDOM, the event target is set to the component, instead of the
6130
- // Element in the shadowDOM. The path, if available, is complete.
6131
- var target = is$1.function(input.composedPath) ? input.composedPath()[0] : input.target;
6132
- var isMenuItem = popup.contains(target); // If the click was inside the menu or if the click
6133
- // wasn't the button or menu item and we're trying to
6134
- // show the menu (a doc click shouldn't show the menu)
6135
-
6136
- if (isMenuItem || !isMenuItem && input.target !== button && show) {
6137
- return;
6138
- }
6139
- } // Set button attributes
6140
-
6141
-
6142
- button.setAttribute('aria-expanded', show); // Show the actual popup
6143
-
6144
- toggleHidden(popup, !show); // Add class hook
6145
-
6146
- toggleClass(this.elements.container, this.config.classNames.menu.open, show); // Focus the first item if key interaction
6147
-
6148
- if (show && is$1.keyboardEvent(input)) {
6149
- controls.focusFirstMenuItem.call(this, null, true);
6150
- } else if (!show && !hidden) {
6151
- // If closing, re-focus the button
6152
- setFocus.call(this, button, is$1.keyboardEvent(input));
6153
- }
6154
- },
6155
- // Get the natural size of a menu panel
6156
- getMenuSize: function getMenuSize(tab) {
6157
- var clone = tab.cloneNode(true);
6158
- clone.style.position = 'absolute';
6159
- clone.style.opacity = 0;
6160
- clone.removeAttribute('hidden'); // Append to parent so we get the "real" size
6161
-
6162
- tab.parentNode.appendChild(clone); // Get the sizes before we remove
6163
-
6164
- var width = clone.scrollWidth;
6165
- var height = clone.scrollHeight; // Remove from the DOM
6166
-
6167
- removeElement(clone);
6168
- return {
6169
- width: width,
6170
- height: height
6171
- };
6172
- },
6173
- // Show a panel in the menu
6174
- showMenuPanel: function showMenuPanel() {
6175
- var _this9 = this;
6176
-
6177
- var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
6178
- var tabFocus = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
6179
- var target = this.elements.container.querySelector("#plyr-settings-".concat(this.id, "-").concat(type)); // Nothing to show, bail
6180
-
6181
- if (!is$1.element(target)) {
6182
- return;
6183
- } // Hide all other panels
6184
-
6185
-
6186
- var container = target.parentNode;
6187
- var current = Array.from(container.children).find(function (node) {
6188
- return !node.hidden;
6189
- }); // If we can do fancy animations, we'll animate the height/width
6190
-
6191
- if (support.transitions && !support.reducedMotion) {
6192
- // Set the current width as a base
6193
- container.style.width = "".concat(current.scrollWidth, "px");
6194
- container.style.height = "".concat(current.scrollHeight, "px"); // Get potential sizes
6195
-
6196
- var size = controls.getMenuSize.call(this, target); // Restore auto height/width
6197
-
6198
- var restore = function restore(event) {
6199
- // We're only bothered about height and width on the container
6200
- if (event.target !== container || !['width', 'height'].includes(event.propertyName)) {
6201
- return;
6202
- } // Revert back to auto
6203
-
6204
-
6205
- container.style.width = '';
6206
- container.style.height = ''; // Only listen once
6207
-
6208
- off.call(_this9, container, transitionEndEvent, restore);
6209
- }; // Listen for the transition finishing and restore auto height/width
6210
-
6211
-
6212
- on.call(this, container, transitionEndEvent, restore); // Set dimensions to target
6213
-
6214
- container.style.width = "".concat(size.width, "px");
6215
- container.style.height = "".concat(size.height, "px");
6216
- } // Set attributes on current tab
6217
-
6218
-
6219
- toggleHidden(current, true); // Set attributes on target
6220
-
6221
- toggleHidden(target, false); // Focus the first item
6222
-
6223
- controls.focusFirstMenuItem.call(this, target, tabFocus);
6224
- },
6225
- // Set the download URL
6226
- setDownloadUrl: function setDownloadUrl() {
6227
- var button = this.elements.buttons.download; // Bail if no button
6228
-
6229
- if (!is$1.element(button)) {
6230
- return;
6231
- } // Set attribute
6232
-
6233
-
6234
- button.setAttribute('href', this.download);
6235
- },
6236
- // Build the default HTML
6237
- create: function create(data) {
6238
- var _this10 = this;
6239
-
6240
- var bindMenuItemShortcuts = controls.bindMenuItemShortcuts,
6241
- createButton = controls.createButton,
6242
- createProgress = controls.createProgress,
6243
- createRange = controls.createRange,
6244
- createTime = controls.createTime,
6245
- setQualityMenu = controls.setQualityMenu,
6246
- setSpeedMenu = controls.setSpeedMenu,
6247
- showMenuPanel = controls.showMenuPanel;
6248
- this.elements.controls = null; // Larger overlaid play button
6249
-
6250
- if (this.config.controls.includes('play-large')) {
6251
- this.elements.container.appendChild(createButton.call(this, 'play-large'));
6252
- } // Create the container
6253
-
6254
-
6255
- var container = createElement('div', getAttributesFromSelector(this.config.selectors.controls.wrapper));
6256
- this.elements.controls = container; // Default item attributes
6257
-
6258
- var defaultAttributes = {
6259
- class: 'plyr__controls__item'
6260
- }; // Loop through controls in order
6261
-
6262
- dedupe(this.config.controls).forEach(function (control) {
6263
- // Restart button
6264
- if (control === 'restart') {
6265
- container.appendChild(createButton.call(_this10, 'restart', defaultAttributes));
6266
- } // Rewind button
6267
-
6268
-
6269
- if (control === 'rewind') {
6270
- container.appendChild(createButton.call(_this10, 'rewind', defaultAttributes));
6271
- } // Play/Pause button
6272
-
6273
-
6274
- if (control === 'play') {
6275
- container.appendChild(createButton.call(_this10, 'play', defaultAttributes));
6276
- } // Fast forward button
6277
-
6278
-
6279
- if (control === 'fast-forward') {
6280
- container.appendChild(createButton.call(_this10, 'fast-forward', defaultAttributes));
6281
- } // Progress
6282
-
6283
-
6284
- if (control === 'progress') {
6285
- var progressContainer = createElement('div', {
6286
- class: "".concat(defaultAttributes.class, " plyr__progress__container")
6287
- });
6288
- var progress = createElement('div', getAttributesFromSelector(_this10.config.selectors.progress)); // Seek range slider
6289
-
6290
- progress.appendChild(createRange.call(_this10, 'seek', {
6291
- id: "plyr-seek-".concat(data.id)
6292
- })); // Buffer progress
6293
-
6294
- progress.appendChild(createProgress.call(_this10, 'buffer')); // TODO: Add loop display indicator
6295
- // Seek tooltip
6296
-
6297
- if (_this10.config.tooltips.seek) {
6298
- var tooltip = createElement('span', {
6299
- class: _this10.config.classNames.tooltip
6300
- }, '00:00');
6301
- progress.appendChild(tooltip);
6302
- _this10.elements.display.seekTooltip = tooltip;
6303
- }
6304
-
6305
- _this10.elements.progress = progress;
6306
- progressContainer.appendChild(_this10.elements.progress);
6307
- container.appendChild(progressContainer);
6308
- } // Media current time display
6309
-
6310
-
6311
- if (control === 'current-time') {
6312
- container.appendChild(createTime.call(_this10, 'currentTime', defaultAttributes));
6313
- } // Media duration display
6314
-
6315
-
6316
- if (control === 'duration') {
6317
- container.appendChild(createTime.call(_this10, 'duration', defaultAttributes));
6318
- } // Volume controls
6319
-
6320
-
6321
- if (control === 'mute' || control === 'volume') {
6322
- var volume = _this10.elements.volume; // Create the volume container if needed
6323
-
6324
- if (!is$1.element(volume) || !container.contains(volume)) {
6325
- volume = createElement('div', extend({}, defaultAttributes, {
6326
- class: "".concat(defaultAttributes.class, " plyr__volume").trim()
6327
- }));
6328
- _this10.elements.volume = volume;
6329
- container.appendChild(volume);
6330
- } // Toggle mute button
6331
-
6332
-
6333
- if (control === 'mute') {
6334
- volume.appendChild(createButton.call(_this10, 'mute'));
6335
- } // Volume range control
6336
-
6337
-
6338
- if (control === 'volume') {
6339
- // Set the attributes
6340
- var attributes = {
6341
- max: 1,
6342
- step: 0.05,
6343
- value: _this10.config.volume
6344
- }; // Create the volume range slider
6345
-
6346
- volume.appendChild(createRange.call(_this10, 'volume', extend(attributes, {
6347
- id: "plyr-volume-".concat(data.id)
6348
- })));
6349
- }
6350
- } // Toggle captions button
6351
-
6352
-
6353
- if (control === 'captions') {
6354
- container.appendChild(createButton.call(_this10, 'captions', defaultAttributes));
6355
- } // Settings button / menu
6356
-
6357
-
6358
- if (control === 'settings' && !is$1.empty(_this10.config.settings)) {
6359
- var wrapper = createElement('div', extend({}, defaultAttributes, {
6360
- class: "".concat(defaultAttributes.class, " plyr__menu").trim(),
6361
- hidden: ''
6362
- }));
6363
- wrapper.appendChild(createButton.call(_this10, 'settings', {
6364
- 'aria-haspopup': true,
6365
- 'aria-controls': "plyr-settings-".concat(data.id),
6366
- 'aria-expanded': false
6367
- }));
6368
- var popup = createElement('div', {
6369
- class: 'plyr__menu__container',
6370
- id: "plyr-settings-".concat(data.id),
6371
- hidden: ''
6372
- });
6373
- var inner = createElement('div');
6374
- var home = createElement('div', {
6375
- id: "plyr-settings-".concat(data.id, "-home")
6376
- }); // Create the menu
6377
-
6378
- var menu = createElement('div', {
6379
- role: 'menu'
6380
- });
6381
- home.appendChild(menu);
6382
- inner.appendChild(home);
6383
- _this10.elements.settings.panels.home = home; // Build the menu items
6384
-
6385
- _this10.config.settings.forEach(function (type) {
6386
- // TODO: bundle this with the createMenuItem helper and bindings
6387
- var menuItem = createElement('button', extend(getAttributesFromSelector(_this10.config.selectors.buttons.settings), {
6388
- type: 'button',
6389
- class: "".concat(_this10.config.classNames.control, " ").concat(_this10.config.classNames.control, "--forward"),
6390
- role: 'menuitem',
6391
- 'aria-haspopup': true,
6392
- hidden: ''
6393
- })); // Bind menu shortcuts for keyboard users
6394
-
6395
- bindMenuItemShortcuts.call(_this10, menuItem, type); // Show menu on click
6396
-
6397
- on(menuItem, 'click', function () {
6398
- showMenuPanel.call(_this10, type, false);
6399
- });
6400
- var flex = createElement('span', null, i18n.get(type, _this10.config));
6401
- var value = createElement('span', {
6402
- class: _this10.config.classNames.menu.value
6403
- }); // Speed contains HTML entities
6404
-
6405
- value.innerHTML = data[type];
6406
- flex.appendChild(value);
6407
- menuItem.appendChild(flex);
6408
- menu.appendChild(menuItem); // Build the panes
6409
-
6410
- var pane = createElement('div', {
6411
- id: "plyr-settings-".concat(data.id, "-").concat(type),
6412
- hidden: ''
6413
- }); // Back button
6414
-
6415
- var backButton = createElement('button', {
6416
- type: 'button',
6417
- class: "".concat(_this10.config.classNames.control, " ").concat(_this10.config.classNames.control, "--back")
6418
- }); // Visible label
6419
-
6420
- backButton.appendChild(createElement('span', {
6421
- 'aria-hidden': true
6422
- }, i18n.get(type, _this10.config))); // Screen reader label
6423
-
6424
- backButton.appendChild(createElement('span', {
6425
- class: _this10.config.classNames.hidden
6426
- }, i18n.get('menuBack', _this10.config))); // Go back via keyboard
6427
-
6428
- on(pane, 'keydown', function (event) {
6429
- // We only care about <-
6430
- if (event.which !== 37) {
6431
- return;
6432
- } // Prevent seek
6433
-
6434
-
6435
- event.preventDefault();
6436
- event.stopPropagation(); // Show the respective menu
6437
-
6438
- showMenuPanel.call(_this10, 'home', true);
6439
- }, false); // Go back via button click
6440
-
6441
- on(backButton, 'click', function () {
6442
- showMenuPanel.call(_this10, 'home', false);
6443
- }); // Add to pane
6444
-
6445
- pane.appendChild(backButton); // Menu
6446
-
6447
- pane.appendChild(createElement('div', {
6448
- role: 'menu'
6449
- }));
6450
- inner.appendChild(pane);
6451
- _this10.elements.settings.buttons[type] = menuItem;
6452
- _this10.elements.settings.panels[type] = pane;
6453
- });
6454
-
6455
- popup.appendChild(inner);
6456
- wrapper.appendChild(popup);
6457
- container.appendChild(wrapper);
6458
- _this10.elements.settings.popup = popup;
6459
- _this10.elements.settings.menu = wrapper;
6460
- } // Picture in picture button
6461
-
6462
-
6463
- if (control === 'pip' && support.pip) {
6464
- container.appendChild(createButton.call(_this10, 'pip', defaultAttributes));
6465
- } // Airplay button
6466
-
6467
-
6468
- if (control === 'airplay' && support.airplay) {
6469
- container.appendChild(createButton.call(_this10, 'airplay', defaultAttributes));
6470
- } // Download button
6471
-
6472
-
6473
- if (control === 'download') {
6474
- var _attributes = extend({}, defaultAttributes, {
6475
- element: 'a',
6476
- href: _this10.download,
6477
- target: '_blank'
6478
- });
6479
-
6480
- var download = _this10.config.urls.download;
6481
-
6482
- if (!is$1.url(download) && _this10.isEmbed) {
6483
- extend(_attributes, {
6484
- icon: "logo-".concat(_this10.provider),
6485
- label: _this10.provider
6486
- });
6487
- }
6488
-
6489
- container.appendChild(createButton.call(_this10, 'download', _attributes));
6490
- } // Toggle fullscreen button
6491
-
6492
-
6493
- if (control === 'fullscreen') {
6494
- container.appendChild(createButton.call(_this10, 'fullscreen', defaultAttributes));
6495
- }
6496
- }); // Set available quality levels
6497
-
6498
- if (this.isHTML5) {
6499
- setQualityMenu.call(this, html5.getQualityOptions.call(this));
6500
- }
6501
-
6502
- setSpeedMenu.call(this);
6503
- return container;
6504
- },
6505
- // Insert controls
6506
- inject: function inject() {
6507
- var _this11 = this;
6508
-
6509
- // Sprite
6510
- if (this.config.loadSprite) {
6511
- var icon = controls.getIconUrl.call(this); // Only load external sprite using AJAX
6512
-
6513
- if (icon.cors) {
6514
- loadSprite(icon.url, 'sprite-plyr');
6515
- }
6516
- } // Create a unique ID
6517
-
6518
-
6519
- this.id = Math.floor(Math.random() * 10000); // Null by default
6520
-
6521
- var container = null;
6522
- this.elements.controls = null; // Set template properties
6523
-
6524
- var props = {
6525
- id: this.id,
6526
- seektime: this.config.seekTime,
6527
- title: this.config.title
6528
- };
6529
- var update = true; // If function, run it and use output
6530
-
6531
- if (is$1.function(this.config.controls)) {
6532
- this.config.controls = this.config.controls.call(this, props);
6533
- } // Convert falsy controls to empty array (primarily for empty strings)
6534
-
6535
-
6536
- if (!this.config.controls) {
6537
- this.config.controls = [];
6538
- }
6539
-
6540
- if (is$1.element(this.config.controls) || is$1.string(this.config.controls)) {
6541
- // HTMLElement or Non-empty string passed as the option
6542
- container = this.config.controls;
6543
- } else {
6544
- // Create controls
6545
- container = controls.create.call(this, {
6546
- id: this.id,
6547
- seektime: this.config.seekTime,
6548
- speed: this.speed,
6549
- quality: this.quality,
6550
- captions: captions.getLabel.call(this) // TODO: Looping
6551
- // loop: 'None',
6552
-
6553
- });
6554
- update = false;
6555
- } // Replace props with their value
6556
-
6557
-
6558
- var replace = function replace(input) {
6559
- var result = input;
6560
- Object.entries(props).forEach(function (_ref2) {
6561
- var _ref3 = _slicedToArray(_ref2, 2),
6562
- key = _ref3[0],
6563
- value = _ref3[1];
6564
-
6565
- result = replaceAll(result, "{".concat(key, "}"), value);
6566
- });
6567
- return result;
6568
- }; // Update markup
6569
-
6570
-
6571
- if (update) {
6572
- if (is$1.string(this.config.controls)) {
6573
- container = replace(container);
6574
- } else if (is$1.element(container)) {
6575
- container.innerHTML = replace(container.innerHTML);
6576
- }
6577
- } // Controls container
6578
-
6579
-
6580
- var target; // Inject to custom location
6581
-
6582
- if (is$1.string(this.config.selectors.controls.container)) {
6583
- target = document.querySelector(this.config.selectors.controls.container);
6584
- } // Inject into the container by default
6585
-
6586
-
6587
- if (!is$1.element(target)) {
6588
- target = this.elements.container;
6589
- } // Inject controls HTML (needs to be before captions, hence "afterbegin")
6590
-
6591
-
6592
- var insertMethod = is$1.element(container) ? 'insertAdjacentElement' : 'insertAdjacentHTML';
6593
- target[insertMethod]('afterbegin', container); // Find the elements if need be
6594
-
6595
- if (!is$1.element(this.elements.controls)) {
6596
- controls.findElements.call(this);
6597
- } // Add pressed property to buttons
6598
-
6599
-
6600
- if (!is$1.empty(this.elements.buttons)) {
6601
- var addProperty = function addProperty(button) {
6602
- var className = _this11.config.classNames.controlPressed;
6603
- Object.defineProperty(button, 'pressed', {
6604
- enumerable: true,
6605
- get: function get() {
6606
- return hasClass(button, className);
6607
- },
6608
- set: function set() {
6609
- var pressed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
6610
- toggleClass(button, className, pressed);
6611
- }
6612
- });
6613
- }; // Toggle classname when pressed property is set
6614
-
6615
-
6616
- Object.values(this.elements.buttons).filter(Boolean).forEach(function (button) {
6617
- if (is$1.array(button) || is$1.nodeList(button)) {
6618
- Array.from(button).filter(Boolean).forEach(addProperty);
6619
- } else {
6620
- addProperty(button);
6621
- }
6622
- });
6623
- } // Edge sometimes doesn't finish the paint so force a repaint
6624
-
6625
-
6626
- if (browser.isEdge) {
6627
- repaint(target);
6628
- } // Setup tooltips
6629
-
6630
-
6631
- if (this.config.tooltips.controls) {
6632
- var _this$config = this.config,
6633
- classNames = _this$config.classNames,
6634
- selectors = _this$config.selectors;
6635
- var selector = "".concat(selectors.controls.wrapper, " ").concat(selectors.labels, " .").concat(classNames.hidden);
6636
- var labels = getElements.call(this, selector);
6637
- Array.from(labels).forEach(function (label) {
6638
- toggleClass(label, _this11.config.classNames.hidden, false);
6639
- toggleClass(label, _this11.config.classNames.tooltip, true);
6640
- });
6641
- }
6642
- }
6643
- };
6644
-
6645
- /**
6646
- * Parse a string to a URL object
6647
- * @param {String} input - the URL to be parsed
6648
- * @param {Boolean} safe - failsafe parsing
6649
- */
6650
-
6651
- function parseUrl(input) {
6652
- var safe = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
6653
- var url = input;
6654
-
6655
- if (safe) {
6656
- var parser = document.createElement('a');
6657
- parser.href = url;
6658
- url = parser.href;
6659
- }
6660
-
6661
- try {
6662
- return new URL(url);
6663
- } catch (e) {
6664
- return null;
6665
- }
6666
- } // Convert object to URLSearchParams
6667
-
6668
- function buildUrlParams(input) {
6669
- var params = new URLSearchParams();
6670
-
6671
- if (is$1.object(input)) {
6672
- Object.entries(input).forEach(function (_ref) {
6673
- var _ref2 = _slicedToArray(_ref, 2),
6674
- key = _ref2[0],
6675
- value = _ref2[1];
6676
-
6677
- params.set(key, value);
6678
- });
6679
- }
6680
-
6681
- return params;
6682
- }
6683
-
6684
- var captions = {
6685
- // Setup captions
6686
- setup: function setup() {
6687
- // Requires UI support
6688
- if (!this.supported.ui) {
6689
- return;
6690
- } // Only Vimeo and HTML5 video supported at this point
6691
-
6692
-
6693
- if (!this.isVideo || this.isYouTube || this.isHTML5 && !support.textTracks) {
6694
- // Clear menu and hide
6695
- if (is$1.array(this.config.controls) && this.config.controls.includes('settings') && this.config.settings.includes('captions')) {
6696
- controls.setCaptionsMenu.call(this);
6697
- }
6698
-
6699
- return;
6700
- } // Inject the container
6701
-
6702
-
6703
- if (!is$1.element(this.elements.captions)) {
6704
- this.elements.captions = createElement('div', getAttributesFromSelector(this.config.selectors.captions));
6705
- insertAfter(this.elements.captions, this.elements.wrapper);
6706
- } // Fix IE captions if CORS is used
6707
- // Fetch captions and inject as blobs instead (data URIs not supported!)
6708
-
6709
-
6710
- if (browser.isIE && window.URL) {
6711
- var elements = this.media.querySelectorAll('track');
6712
- Array.from(elements).forEach(function (track) {
6713
- var src = track.getAttribute('src');
6714
- var url = parseUrl(src);
6715
-
6716
- if (url !== null && url.hostname !== window.location.href.hostname && ['http:', 'https:'].includes(url.protocol)) {
6717
- fetch(src, 'blob').then(function (blob) {
6718
- track.setAttribute('src', window.URL.createObjectURL(blob));
6719
- }).catch(function () {
6720
- removeElement(track);
6721
- });
6722
- }
6723
- });
6724
- } // Get and set initial data
6725
- // The "preferred" options are not realized unless / until the wanted language has a match
6726
- // * languages: Array of user's browser languages.
6727
- // * language: The language preferred by user settings or config
6728
- // * active: The state preferred by user settings or config
6729
- // * toggled: The real captions state
6730
-
6731
-
6732
- var browserLanguages = navigator.languages || [navigator.language || navigator.userLanguage || 'en'];
6733
- var languages = dedupe(browserLanguages.map(function (language) {
6734
- return language.split('-')[0];
6735
- }));
6736
- var language = (this.storage.get('language') || this.config.captions.language || 'auto').toLowerCase(); // Use first browser language when language is 'auto'
6737
-
6738
- if (language === 'auto') {
6739
- var _languages = _slicedToArray(languages, 1);
6740
-
6741
- language = _languages[0];
6742
- }
6743
-
6744
- var active = this.storage.get('captions');
6745
-
6746
- if (!is$1.boolean(active)) {
6747
- active = this.config.captions.active;
6748
- }
6749
-
6750
- Object.assign(this.captions, {
6751
- toggled: false,
6752
- active: active,
6753
- language: language,
6754
- languages: languages
6755
- }); // Watch changes to textTracks and update captions menu
6756
-
6757
- if (this.isHTML5) {
6758
- var trackEvents = this.config.captions.update ? 'addtrack removetrack' : 'removetrack';
6759
- on.call(this, this.media.textTracks, trackEvents, captions.update.bind(this));
6760
- } // Update available languages in list next tick (the event must not be triggered before the listeners)
6761
-
6762
-
6763
- setTimeout(captions.update.bind(this), 0);
6764
- },
6765
- // Update available language options in settings based on tracks
6766
- update: function update() {
6767
- var _this = this;
6768
-
6769
- var tracks = captions.getTracks.call(this, true); // Get the wanted language
6770
-
6771
- var _this$captions = this.captions,
6772
- active = _this$captions.active,
6773
- language = _this$captions.language,
6774
- meta = _this$captions.meta,
6775
- currentTrackNode = _this$captions.currentTrackNode;
6776
- var languageExists = Boolean(tracks.find(function (track) {
6777
- return track.language === language;
6778
- })); // Handle tracks (add event listener and "pseudo"-default)
6779
-
6780
- if (this.isHTML5 && this.isVideo) {
6781
- tracks.filter(function (track) {
6782
- return !meta.get(track);
6783
- }).forEach(function (track) {
6784
- _this.debug.log('Track added', track); // Attempt to store if the original dom element was "default"
6785
-
6786
-
6787
- meta.set(track, {
6788
- default: track.mode === 'showing'
6789
- }); // Turn off native caption rendering to avoid double captions
6790
- // eslint-disable-next-line no-param-reassign
6791
-
6792
- track.mode = 'hidden'; // Add event listener for cue changes
6793
-
6794
- on.call(_this, track, 'cuechange', function () {
6795
- return captions.updateCues.call(_this);
6796
- });
6797
- });
6798
- } // Update language first time it matches, or if the previous matching track was removed
6799
-
6800
-
6801
- if (languageExists && this.language !== language || !tracks.includes(currentTrackNode)) {
6802
- captions.setLanguage.call(this, language);
6803
- captions.toggle.call(this, active && languageExists);
6804
- } // Enable or disable captions based on track length
6805
-
6806
-
6807
- toggleClass(this.elements.container, this.config.classNames.captions.enabled, !is$1.empty(tracks)); // Update available languages in list
6808
-
6809
- if ((this.config.controls || []).includes('settings') && this.config.settings.includes('captions')) {
6810
- controls.setCaptionsMenu.call(this);
6811
- }
6812
- },
6813
- // Toggle captions display
6814
- // Used internally for the toggleCaptions method, with the passive option forced to false
6815
- toggle: function toggle(input) {
6816
- var passive = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
6817
-
6818
- // If there's no full support
6819
- if (!this.supported.ui) {
6820
- return;
6821
- }
6822
-
6823
- var toggled = this.captions.toggled; // Current state
6824
-
6825
- var activeClass = this.config.classNames.captions.active; // Get the next state
6826
- // If the method is called without parameter, toggle based on current value
6827
-
6828
- var active = is$1.nullOrUndefined(input) ? !toggled : input; // Update state and trigger event
6829
-
6830
- if (active !== toggled) {
6831
- // When passive, don't override user preferences
6832
- if (!passive) {
6833
- this.captions.active = active;
6834
- this.storage.set({
6835
- captions: active
6836
- });
6837
- } // Force language if the call isn't passive and there is no matching language to toggle to
6838
-
6839
-
6840
- if (!this.language && active && !passive) {
6841
- var tracks = captions.getTracks.call(this);
6842
- var track = captions.findTrack.call(this, [this.captions.language].concat(_toConsumableArray(this.captions.languages)), true); // Override user preferences to avoid switching languages if a matching track is added
6843
-
6844
- this.captions.language = track.language; // Set caption, but don't store in localStorage as user preference
6845
-
6846
- captions.set.call(this, tracks.indexOf(track));
6847
- return;
6848
- } // Toggle button if it's enabled
6849
-
6850
-
6851
- if (this.elements.buttons.captions) {
6852
- this.elements.buttons.captions.pressed = active;
6853
- } // Add class hook
6854
-
6855
-
6856
- toggleClass(this.elements.container, activeClass, active);
6857
- this.captions.toggled = active; // Update settings menu
6858
-
6859
- controls.updateSetting.call(this, 'captions'); // Trigger event (not used internally)
6860
-
6861
- triggerEvent.call(this, this.media, active ? 'captionsenabled' : 'captionsdisabled');
6862
- }
6863
- },
6864
- // Set captions by track index
6865
- // Used internally for the currentTrack setter with the passive option forced to false
6866
- set: function set(index) {
6867
- var passive = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
6868
- var tracks = captions.getTracks.call(this); // Disable captions if setting to -1
6869
-
6870
- if (index === -1) {
6871
- captions.toggle.call(this, false, passive);
6872
- return;
6873
- }
6874
-
6875
- if (!is$1.number(index)) {
6876
- this.debug.warn('Invalid caption argument', index);
6877
- return;
6878
- }
6879
-
6880
- if (!(index in tracks)) {
6881
- this.debug.warn('Track not found', index);
6882
- return;
6883
- }
6884
-
6885
- if (this.captions.currentTrack !== index) {
6886
- this.captions.currentTrack = index;
6887
- var track = tracks[index];
6888
-
6889
- var _ref = track || {},
6890
- language = _ref.language; // Store reference to node for invalidation on remove
6891
-
6892
-
6893
- this.captions.currentTrackNode = track; // Update settings menu
6894
-
6895
- controls.updateSetting.call(this, 'captions'); // When passive, don't override user preferences
6896
-
6897
- if (!passive) {
6898
- this.captions.language = language;
6899
- this.storage.set({
6900
- language: language
6901
- });
6902
- } // Handle Vimeo captions
6903
-
6904
-
6905
- if (this.isVimeo) {
6906
- this.embed.enableTextTrack(language);
6907
- } // Trigger event
6908
-
6909
-
6910
- triggerEvent.call(this, this.media, 'languagechange');
6911
- } // Show captions
6912
-
6913
-
6914
- captions.toggle.call(this, true, passive);
6915
-
6916
- if (this.isHTML5 && this.isVideo) {
6917
- // If we change the active track while a cue is already displayed we need to update it
6918
- captions.updateCues.call(this);
6919
- }
6920
- },
6921
- // Set captions by language
6922
- // Used internally for the language setter with the passive option forced to false
6923
- setLanguage: function setLanguage(input) {
6924
- var passive = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
6925
-
6926
- if (!is$1.string(input)) {
6927
- this.debug.warn('Invalid language argument', input);
6928
- return;
6929
- } // Normalize
6930
-
6931
-
6932
- var language = input.toLowerCase();
6933
- this.captions.language = language; // Set currentTrack
6934
-
6935
- var tracks = captions.getTracks.call(this);
6936
- var track = captions.findTrack.call(this, [language]);
6937
- captions.set.call(this, tracks.indexOf(track), passive);
6938
- },
6939
- // Get current valid caption tracks
6940
- // If update is false it will also ignore tracks without metadata
6941
- // This is used to "freeze" the language options when captions.update is false
6942
- getTracks: function getTracks() {
6943
- var _this2 = this;
6944
-
6945
- var update = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
6946
- // Handle media or textTracks missing or null
6947
- var tracks = Array.from((this.media || {}).textTracks || []); // For HTML5, use cache instead of current tracks when it exists (if captions.update is false)
6948
- // Filter out removed tracks and tracks that aren't captions/subtitles (for example metadata)
6949
-
6950
- return tracks.filter(function (track) {
6951
- return !_this2.isHTML5 || update || _this2.captions.meta.has(track);
6952
- }).filter(function (track) {
6953
- return ['captions', 'subtitles'].includes(track.kind);
6954
- });
6955
- },
6956
- // Match tracks based on languages and get the first
6957
- findTrack: function findTrack(languages) {
6958
- var _this3 = this;
6959
-
6960
- var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
6961
- var tracks = captions.getTracks.call(this);
6962
-
6963
- var sortIsDefault = function sortIsDefault(track) {
6964
- return Number((_this3.captions.meta.get(track) || {}).default);
6965
- };
6966
-
6967
- var sorted = Array.from(tracks).sort(function (a, b) {
6968
- return sortIsDefault(b) - sortIsDefault(a);
6969
- });
6970
- var track;
6971
- languages.every(function (language) {
6972
- track = sorted.find(function (t) {
6973
- return t.language === language;
6974
- });
6975
- return !track; // Break iteration if there is a match
6976
- }); // If no match is found but is required, get first
6977
-
6978
- return track || (force ? sorted[0] : undefined);
6979
- },
6980
- // Get the current track
6981
- getCurrentTrack: function getCurrentTrack() {
6982
- return captions.getTracks.call(this)[this.currentTrack];
6983
- },
6984
- // Get UI label for track
6985
- getLabel: function getLabel(track) {
6986
- var currentTrack = track;
6987
-
6988
- if (!is$1.track(currentTrack) && support.textTracks && this.captions.toggled) {
6989
- currentTrack = captions.getCurrentTrack.call(this);
6990
- }
6991
-
6992
- if (is$1.track(currentTrack)) {
6993
- if (!is$1.empty(currentTrack.label)) {
6994
- return currentTrack.label;
6995
- }
6996
-
6997
- if (!is$1.empty(currentTrack.language)) {
6998
- return track.language.toUpperCase();
6999
- }
7000
-
7001
- return i18n.get('enabled', this.config);
7002
- }
7003
-
7004
- return i18n.get('disabled', this.config);
7005
- },
7006
- // Update captions using current track's active cues
7007
- // Also optional array argument in case there isn't any track (ex: vimeo)
7008
- updateCues: function updateCues(input) {
7009
- // Requires UI
7010
- if (!this.supported.ui) {
7011
- return;
7012
- }
7013
-
7014
- if (!is$1.element(this.elements.captions)) {
7015
- this.debug.warn('No captions element to render to');
7016
- return;
7017
- } // Only accept array or empty input
7018
-
7019
-
7020
- if (!is$1.nullOrUndefined(input) && !Array.isArray(input)) {
7021
- this.debug.warn('updateCues: Invalid input', input);
7022
- return;
7023
- }
7024
-
7025
- var cues = input; // Get cues from track
7026
-
7027
- if (!cues) {
7028
- var track = captions.getCurrentTrack.call(this);
7029
- cues = Array.from((track || {}).activeCues || []).map(function (cue) {
7030
- return cue.getCueAsHTML();
7031
- }).map(getHTML);
7032
- } // Set new caption text
7033
-
7034
-
7035
- var content = cues.map(function (cueText) {
7036
- return cueText.trim();
7037
- }).join('\n');
7038
- var changed = content !== this.elements.captions.innerHTML;
7039
-
7040
- if (changed) {
7041
- // Empty the container and create a new child element
7042
- emptyElement(this.elements.captions);
7043
- var caption = createElement('span', getAttributesFromSelector(this.config.selectors.caption));
7044
- caption.innerHTML = content;
7045
- this.elements.captions.appendChild(caption); // Trigger event
7046
-
7047
- triggerEvent.call(this, this.media, 'cuechange');
7048
- }
7049
- }
7050
- };
7051
-
7052
- // ==========================================================================
7053
- // Plyr default config
7054
- // ==========================================================================
7055
- var defaults$1 = {
7056
- // Disable
7057
- enabled: true,
7058
- // Custom media title
7059
- title: '',
7060
- // Logging to console
7061
- debug: false,
7062
- // Auto play (if supported)
7063
- autoplay: false,
7064
- // Only allow one media playing at once (vimeo only)
7065
- autopause: true,
7066
- // Allow inline playback on iOS (this effects YouTube/Vimeo - HTML5 requires the attribute present)
7067
- // TODO: Remove iosNative fullscreen option in favour of this (logic needs work)
7068
- playsinline: true,
7069
- // Default time to skip when rewind/fast forward
7070
- seekTime: 10,
7071
- // Default volume
7072
- volume: 1,
7073
- muted: false,
7074
- // Pass a custom duration
7075
- duration: null,
7076
- // Display the media duration on load in the current time position
7077
- // If you have opted to display both duration and currentTime, this is ignored
7078
- displayDuration: true,
7079
- // Invert the current time to be a countdown
7080
- invertTime: true,
7081
- // Clicking the currentTime inverts it's value to show time left rather than elapsed
7082
- toggleInvert: true,
7083
- // Force an aspect ratio
7084
- // The format must be `'w:h'` (e.g. `'16:9'`)
7085
- ratio: null,
7086
- // Click video container to play/pause
7087
- clickToPlay: true,
7088
- // Auto hide the controls
7089
- hideControls: true,
7090
- // Reset to start when playback ended
7091
- resetOnEnd: false,
7092
- // Disable the standard context menu
7093
- disableContextMenu: true,
7094
- // Sprite (for icons)
7095
- loadSprite: true,
7096
- iconPrefix: 'plyr',
7097
- iconUrl: 'https://cdn.plyr.io/3.5.6/plyr.svg',
7098
- // Blank video (used to prevent errors on source change)
7099
- blankVideo: 'https://cdn.plyr.io/static/blank.mp4',
7100
- // Quality default
7101
- quality: {
7102
- default: 576,
7103
- options: [4320, 2880, 2160, 1440, 1080, 720, 576, 480, 360, 240]
7104
- },
7105
- // Set loops
7106
- loop: {
7107
- active: false // start: null,
7108
- // end: null,
7109
-
7110
- },
7111
- // Speed default and options to display
7112
- speed: {
7113
- selected: 1,
7114
- options: [0.5, 0.75, 1, 1.25, 1.5, 1.75, 2]
7115
- },
7116
- // Keyboard shortcut settings
7117
- keyboard: {
7118
- focused: true,
7119
- global: false
7120
- },
7121
- // Display tooltips
7122
- tooltips: {
7123
- controls: false,
7124
- seek: true
7125
- },
7126
- // Captions settings
7127
- captions: {
7128
- active: false,
7129
- language: 'auto',
7130
- // Listen to new tracks added after Plyr is initialized.
7131
- // This is needed for streaming captions, but may result in unselectable options
7132
- update: false
7133
- },
7134
- // Fullscreen settings
7135
- fullscreen: {
7136
- enabled: true,
7137
- // Allow fullscreen?
7138
- fallback: true,
7139
- // Fallback using full viewport/window
7140
- iosNative: false // Use the native fullscreen in iOS (disables custom controls)
7141
-
7142
- },
7143
- // Local storage
7144
- storage: {
7145
- enabled: true,
7146
- key: 'plyr'
7147
- },
7148
- // Default controls
7149
- controls: ['play-large', // 'restart',
7150
- // 'rewind',
7151
- 'play', // 'fast-forward',
7152
- 'progress', 'current-time', // 'duration',
7153
- 'mute', 'volume', 'captions', 'settings', 'pip', 'airplay', // 'download',
7154
- 'fullscreen'],
7155
- settings: ['captions', 'quality', 'speed'],
7156
- // Localisation
7157
- i18n: {
7158
- restart: 'Restart',
7159
- rewind: 'Rewind {seektime}s',
7160
- play: 'Play',
7161
- pause: 'Pause',
7162
- fastForward: 'Forward {seektime}s',
7163
- seek: 'Seek',
7164
- seekLabel: '{currentTime} of {duration}',
7165
- played: 'Played',
7166
- buffered: 'Buffered',
7167
- currentTime: 'Current time',
7168
- duration: 'Duration',
7169
- volume: 'Volume',
7170
- mute: 'Mute',
7171
- unmute: 'Unmute',
7172
- enableCaptions: 'Enable captions',
7173
- disableCaptions: 'Disable captions',
7174
- download: 'Download',
7175
- enterFullscreen: 'Enter fullscreen',
7176
- exitFullscreen: 'Exit fullscreen',
7177
- frameTitle: 'Player for {title}',
7178
- captions: 'Captions',
7179
- settings: 'Settings',
7180
- menuBack: 'Go back to previous menu',
7181
- speed: 'Speed',
7182
- normal: 'Normal',
7183
- quality: 'Quality',
7184
- loop: 'Loop',
7185
- start: 'Start',
7186
- end: 'End',
7187
- all: 'All',
7188
- reset: 'Reset',
7189
- disabled: 'Disabled',
7190
- enabled: 'Enabled',
7191
- advertisement: 'Ad',
7192
- qualityBadge: {
7193
- 2160: '4K',
7194
- 1440: 'HD',
7195
- 1080: 'HD',
7196
- 720: 'HD',
7197
- 576: 'SD',
7198
- 480: 'SD'
7199
- }
7200
- },
7201
- // URLs
7202
- urls: {
7203
- download: null,
7204
- vimeo: {
7205
- sdk: 'https://player.vimeo.com/api/player.js',
7206
- iframe: 'https://player.vimeo.com/video/{0}?{1}',
7207
- api: 'https://vimeo.com/api/v2/video/{0}.json'
7208
- },
7209
- youtube: {
7210
- sdk: 'https://www.youtube.com/iframe_api',
7211
- api: 'https://noembed.com/embed?url=https://www.youtube.com/watch?v={0}'
7212
- },
7213
- googleIMA: {
7214
- sdk: 'https://imasdk.googleapis.com/js/sdkloader/ima3.js'
7215
- }
7216
- },
7217
- // Custom control listeners
7218
- listeners: {
7219
- seek: null,
7220
- play: null,
7221
- pause: null,
7222
- restart: null,
7223
- rewind: null,
7224
- fastForward: null,
7225
- mute: null,
7226
- volume: null,
7227
- captions: null,
7228
- download: null,
7229
- fullscreen: null,
7230
- pip: null,
7231
- airplay: null,
7232
- speed: null,
7233
- quality: null,
7234
- loop: null,
7235
- language: null
7236
- },
7237
- // Events to watch and bubble
7238
- events: [// Events to watch on HTML5 media elements and bubble
7239
- // https://developer.mozilla.org/en/docs/Web/Guide/Events/Media_events
7240
- 'ended', 'progress', 'stalled', 'playing', 'waiting', 'canplay', 'canplaythrough', 'loadstart', 'loadeddata', 'loadedmetadata', 'timeupdate', 'volumechange', 'play', 'pause', 'error', 'seeking', 'seeked', 'emptied', 'ratechange', 'cuechange', // Custom events
7241
- 'download', 'enterfullscreen', 'exitfullscreen', 'captionsenabled', 'captionsdisabled', 'languagechange', 'controlshidden', 'controlsshown', 'ready', // YouTube
7242
- 'statechange', // Quality
7243
- 'qualitychange', // Ads
7244
- 'adsloaded', 'adscontentpause', 'adscontentresume', 'adstarted', 'adsmidpoint', 'adscomplete', 'adsallcomplete', 'adsimpression', 'adsclick'],
7245
- // Selectors
7246
- // Change these to match your template if using custom HTML
7247
- selectors: {
7248
- editable: 'input, textarea, select, [contenteditable]',
7249
- container: '.plyr',
7250
- controls: {
7251
- container: null,
7252
- wrapper: '.plyr__controls'
7253
- },
7254
- labels: '[data-plyr]',
7255
- buttons: {
7256
- play: '[data-plyr="play"]',
7257
- pause: '[data-plyr="pause"]',
7258
- restart: '[data-plyr="restart"]',
7259
- rewind: '[data-plyr="rewind"]',
7260
- fastForward: '[data-plyr="fast-forward"]',
7261
- mute: '[data-plyr="mute"]',
7262
- captions: '[data-plyr="captions"]',
7263
- download: '[data-plyr="download"]',
7264
- fullscreen: '[data-plyr="fullscreen"]',
7265
- pip: '[data-plyr="pip"]',
7266
- airplay: '[data-plyr="airplay"]',
7267
- settings: '[data-plyr="settings"]',
7268
- loop: '[data-plyr="loop"]'
7269
- },
7270
- inputs: {
7271
- seek: '[data-plyr="seek"]',
7272
- volume: '[data-plyr="volume"]',
7273
- speed: '[data-plyr="speed"]',
7274
- language: '[data-plyr="language"]',
7275
- quality: '[data-plyr="quality"]'
7276
- },
7277
- display: {
7278
- currentTime: '.plyr__time--current',
7279
- duration: '.plyr__time--duration',
7280
- buffer: '.plyr__progress__buffer',
7281
- loop: '.plyr__progress__loop',
7282
- // Used later
7283
- volume: '.plyr__volume--display'
7284
- },
7285
- progress: '.plyr__progress',
7286
- captions: '.plyr__captions',
7287
- caption: '.plyr__caption'
7288
- },
7289
- // Class hooks added to the player in different states
7290
- classNames: {
7291
- type: 'plyr--{0}',
7292
- provider: 'plyr--{0}',
7293
- video: 'plyr__video-wrapper',
7294
- embed: 'plyr__video-embed',
7295
- videoFixedRatio: 'plyr__video-wrapper--fixed-ratio',
7296
- embedContainer: 'plyr__video-embed__container',
7297
- poster: 'plyr__poster',
7298
- posterEnabled: 'plyr__poster-enabled',
7299
- ads: 'plyr__ads',
7300
- control: 'plyr__control',
7301
- controlPressed: 'plyr__control--pressed',
7302
- playing: 'plyr--playing',
7303
- paused: 'plyr--paused',
7304
- stopped: 'plyr--stopped',
7305
- loading: 'plyr--loading',
7306
- hover: 'plyr--hover',
7307
- tooltip: 'plyr__tooltip',
7308
- cues: 'plyr__cues',
7309
- hidden: 'plyr__sr-only',
7310
- hideControls: 'plyr--hide-controls',
7311
- isIos: 'plyr--is-ios',
7312
- isTouch: 'plyr--is-touch',
7313
- uiSupported: 'plyr--full-ui',
7314
- noTransition: 'plyr--no-transition',
7315
- display: {
7316
- time: 'plyr__time'
7317
- },
7318
- menu: {
7319
- value: 'plyr__menu__value',
7320
- badge: 'plyr__badge',
7321
- open: 'plyr--menu-open'
7322
- },
7323
- captions: {
7324
- enabled: 'plyr--captions-enabled',
7325
- active: 'plyr--captions-active'
7326
- },
7327
- fullscreen: {
7328
- enabled: 'plyr--fullscreen-enabled',
7329
- fallback: 'plyr--fullscreen-fallback'
7330
- },
7331
- pip: {
7332
- supported: 'plyr--pip-supported',
7333
- active: 'plyr--pip-active'
7334
- },
7335
- airplay: {
7336
- supported: 'plyr--airplay-supported',
7337
- active: 'plyr--airplay-active'
7338
- },
7339
- tabFocus: 'plyr__tab-focus',
7340
- previewThumbnails: {
7341
- // Tooltip thumbs
7342
- thumbContainer: 'plyr__preview-thumb',
7343
- thumbContainerShown: 'plyr__preview-thumb--is-shown',
7344
- imageContainer: 'plyr__preview-thumb__image-container',
7345
- timeContainer: 'plyr__preview-thumb__time-container',
7346
- // Scrubbing
7347
- scrubbingContainer: 'plyr__preview-scrubbing',
7348
- scrubbingContainerShown: 'plyr__preview-scrubbing--is-shown'
7349
- }
7350
- },
7351
- // Embed attributes
7352
- attributes: {
7353
- embed: {
7354
- provider: 'data-plyr-provider',
7355
- id: 'data-plyr-embed-id'
7356
- }
7357
- },
7358
- // Advertisements plugin
7359
- // Register for an account here: http://vi.ai/publisher-video-monetization/?aid=plyrio
7360
- ads: {
7361
- enabled: false,
7362
- publisherId: '',
7363
- tagUrl: ''
7364
- },
7365
- // Preview Thumbnails plugin
7366
- previewThumbnails: {
7367
- enabled: false,
7368
- src: ''
7369
- },
7370
- // Vimeo plugin
7371
- vimeo: {
7372
- byline: false,
7373
- portrait: false,
7374
- title: false,
7375
- speed: true,
7376
- transparent: false
7377
- },
7378
- // YouTube plugin
7379
- youtube: {
7380
- noCookie: false,
7381
- // Whether to use an alternative version of YouTube without cookies
7382
- rel: 0,
7383
- // No related vids
7384
- showinfo: 0,
7385
- // Hide info
7386
- iv_load_policy: 3,
7387
- // Hide annotations
7388
- modestbranding: 1 // Hide logos as much as possible (they still show one in the corner when paused)
7389
-
7390
- }
7391
- };
7392
-
7393
- // ==========================================================================
7394
- // Plyr states
7395
- // ==========================================================================
7396
- var pip = {
7397
- active: 'picture-in-picture',
7398
- inactive: 'inline'
7399
- };
7400
-
7401
- // ==========================================================================
7402
- // Plyr supported types and providers
7403
- // ==========================================================================
7404
- var providers = {
7405
- html5: 'html5',
7406
- youtube: 'youtube',
7407
- vimeo: 'vimeo'
7408
- };
7409
- var types = {
7410
- audio: 'audio',
7411
- video: 'video'
7412
- };
7413
- /**
7414
- * Get provider by URL
7415
- * @param {String} url
7416
- */
7417
-
7418
- function getProviderByUrl(url) {
7419
- // YouTube
7420
- if (/^(https?:\/\/)?(www\.)?(youtube\.com|youtube-nocookie\.com|youtu\.?be)\/.+$/.test(url)) {
7421
- return providers.youtube;
7422
- } // Vimeo
7423
-
7424
-
7425
- if (/^https?:\/\/player.vimeo.com\/video\/\d{0,9}(?=\b|\/)/.test(url)) {
7426
- return providers.vimeo;
7427
- }
7428
-
7429
- return null;
7430
- }
7431
-
7432
- // ==========================================================================
7433
- // Console wrapper
7434
- // ==========================================================================
7435
- var noop = function noop() {};
7436
-
7437
- var Console =
7438
- /*#__PURE__*/
7439
- function () {
7440
- function Console() {
7441
- var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
7442
-
7443
- _classCallCheck(this, Console);
7444
-
7445
- this.enabled = window.console && enabled;
7446
-
7447
- if (this.enabled) {
7448
- this.log('Debugging enabled');
7449
- }
7450
- }
7451
-
7452
- _createClass(Console, [{
7453
- key: "log",
7454
- get: function get() {
7455
- // eslint-disable-next-line no-console
7456
- return this.enabled ? Function.prototype.bind.call(console.log, console) : noop;
7457
- }
7458
- }, {
7459
- key: "warn",
7460
- get: function get() {
7461
- // eslint-disable-next-line no-console
7462
- return this.enabled ? Function.prototype.bind.call(console.warn, console) : noop;
7463
- }
7464
- }, {
7465
- key: "error",
7466
- get: function get() {
7467
- // eslint-disable-next-line no-console
7468
- return this.enabled ? Function.prototype.bind.call(console.error, console) : noop;
7469
- }
7470
- }]);
7471
-
7472
- return Console;
7473
- }();
7474
-
7475
- function onChange() {
7476
- if (!this.enabled) {
7477
- return;
7478
- } // Update toggle button
7479
-
7480
-
7481
- var button = this.player.elements.buttons.fullscreen;
7482
-
7483
- if (is$1.element(button)) {
7484
- button.pressed = this.active;
7485
- } // Trigger an event
7486
-
7487
-
7488
- triggerEvent.call(this.player, this.target, this.active ? 'enterfullscreen' : 'exitfullscreen', true); // Trap focus in container
7489
-
7490
- if (!browser.isIos) {
7491
- trapFocus.call(this.player, this.target, this.active);
7492
- }
7493
- }
7494
-
7495
- function toggleFallback() {
7496
- var toggle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
7497
-
7498
- // Store or restore scroll position
7499
- if (toggle) {
7500
- this.scrollPosition = {
7501
- x: window.scrollX || 0,
7502
- y: window.scrollY || 0
7503
- };
7504
- } else {
7505
- window.scrollTo(this.scrollPosition.x, this.scrollPosition.y);
7506
- } // Toggle scroll
7507
-
7508
-
7509
- document.body.style.overflow = toggle ? 'hidden' : ''; // Toggle class hook
7510
-
7511
- toggleClass(this.target, this.player.config.classNames.fullscreen.fallback, toggle); // Force full viewport on iPhone X+
7512
-
7513
- if (browser.isIos) {
7514
- var viewport = document.head.querySelector('meta[name="viewport"]');
7515
- var property = 'viewport-fit=cover'; // Inject the viewport meta if required
7516
-
7517
- if (!viewport) {
7518
- viewport = document.createElement('meta');
7519
- viewport.setAttribute('name', 'viewport');
7520
- } // Check if the property already exists
7521
-
7522
-
7523
- var hasProperty = is$1.string(viewport.content) && viewport.content.includes(property);
7524
-
7525
- if (toggle) {
7526
- this.cleanupViewport = !hasProperty;
7527
-
7528
- if (!hasProperty) {
7529
- viewport.content += ",".concat(property);
7530
- }
7531
- } else if (this.cleanupViewport) {
7532
- viewport.content = viewport.content.split(',').filter(function (part) {
7533
- return part.trim() !== property;
7534
- }).join(',');
7535
- }
7536
- } // Toggle button and fire events
7537
-
7538
-
7539
- onChange.call(this);
7540
- }
7541
-
7542
- var Fullscreen =
7543
- /*#__PURE__*/
7544
- function () {
7545
- function Fullscreen(player) {
7546
- var _this = this;
7547
-
7548
- _classCallCheck(this, Fullscreen);
7549
-
7550
- // Keep reference to parent
7551
- this.player = player; // Get prefix
7552
-
7553
- this.prefix = Fullscreen.prefix;
7554
- this.property = Fullscreen.property; // Scroll position
7555
-
7556
- this.scrollPosition = {
7557
- x: 0,
7558
- y: 0
7559
- }; // Force the use of 'full window/browser' rather than fullscreen
7560
-
7561
- this.forceFallback = player.config.fullscreen.fallback === 'force'; // Register event listeners
7562
- // Handle event (incase user presses escape etc)
7563
-
7564
- on.call(this.player, document, this.prefix === 'ms' ? 'MSFullscreenChange' : "".concat(this.prefix, "fullscreenchange"), function () {
7565
- // TODO: Filter for target??
7566
- onChange.call(_this);
7567
- }); // Fullscreen toggle on double click
7568
-
7569
- on.call(this.player, this.player.elements.container, 'dblclick', function (event) {
7570
- // Ignore double click in controls
7571
- if (is$1.element(_this.player.elements.controls) && _this.player.elements.controls.contains(event.target)) {
7572
- return;
7573
- }
7574
-
7575
- _this.toggle();
7576
- }); // Update the UI
7577
-
7578
- this.update();
7579
- } // Determine if native supported
7580
-
7581
-
7582
- _createClass(Fullscreen, [{
7583
- key: "update",
7584
- // Update UI
7585
- value: function update() {
7586
- if (this.enabled) {
7587
- var mode;
7588
-
7589
- if (this.forceFallback) {
7590
- mode = 'Fallback (forced)';
7591
- } else if (Fullscreen.native) {
7592
- mode = 'Native';
7593
- } else {
7594
- mode = 'Fallback';
7595
- }
7596
-
7597
- this.player.debug.log("".concat(mode, " fullscreen enabled"));
7598
- } else {
7599
- this.player.debug.log('Fullscreen not supported and fallback disabled');
7600
- } // Add styling hook to show button
7601
-
7602
-
7603
- toggleClass(this.player.elements.container, this.player.config.classNames.fullscreen.enabled, this.enabled);
7604
- } // Make an element fullscreen
7605
-
7606
- }, {
7607
- key: "enter",
7608
- value: function enter() {
7609
- if (!this.enabled) {
7610
- return;
7611
- } // iOS native fullscreen doesn't need the request step
7612
-
7613
-
7614
- if (browser.isIos && this.player.config.fullscreen.iosNative) {
7615
- this.target.webkitEnterFullscreen();
7616
- } else if (!Fullscreen.native || this.forceFallback) {
7617
- toggleFallback.call(this, true);
7618
- } else if (!this.prefix) {
7619
- this.target.requestFullscreen();
7620
- } else if (!is$1.empty(this.prefix)) {
7621
- this.target["".concat(this.prefix, "Request").concat(this.property)]();
7622
- }
7623
- } // Bail from fullscreen
7624
-
7625
- }, {
7626
- key: "exit",
7627
- value: function exit() {
7628
- if (!this.enabled) {
7629
- return;
7630
- } // iOS native fullscreen
7631
-
7632
-
7633
- if (browser.isIos && this.player.config.fullscreen.iosNative) {
7634
- this.target.webkitExitFullscreen();
7635
- this.player.play();
7636
- } else if (!Fullscreen.native || this.forceFallback) {
7637
- toggleFallback.call(this, false);
7638
- } else if (!this.prefix) {
7639
- (document.cancelFullScreen || document.exitFullscreen).call(document);
7640
- } else if (!is$1.empty(this.prefix)) {
7641
- var action = this.prefix === 'moz' ? 'Cancel' : 'Exit';
7642
- document["".concat(this.prefix).concat(action).concat(this.property)]();
7643
- }
7644
- } // Toggle state
7645
-
7646
- }, {
7647
- key: "toggle",
7648
- value: function toggle() {
7649
- if (!this.active) {
7650
- this.enter();
7651
- } else {
7652
- this.exit();
7653
- }
7654
- }
7655
- }, {
7656
- key: "usingNative",
7657
- // If we're actually using native
7658
- get: function get() {
7659
- return Fullscreen.native && !this.forceFallback;
7660
- } // Get the prefix for handlers
7661
-
7662
- }, {
7663
- key: "enabled",
7664
- // Determine if fullscreen is enabled
7665
- get: function get() {
7666
- return (Fullscreen.native || this.player.config.fullscreen.fallback) && this.player.config.fullscreen.enabled && this.player.supported.ui && this.player.isVideo;
7667
- } // Get active state
7668
-
7669
- }, {
7670
- key: "active",
7671
- get: function get() {
7672
- if (!this.enabled) {
7673
- return false;
7674
- } // Fallback using classname
7675
-
7676
-
7677
- if (!Fullscreen.native || this.forceFallback) {
7678
- return hasClass(this.target, this.player.config.classNames.fullscreen.fallback);
7679
- }
7680
-
7681
- var element = !this.prefix ? document.fullscreenElement : document["".concat(this.prefix).concat(this.property, "Element")];
7682
- return element === this.target;
7683
- } // Get target element
7684
-
7685
- }, {
7686
- key: "target",
7687
- get: function get() {
7688
- return browser.isIos && this.player.config.fullscreen.iosNative ? this.player.media : this.player.elements.container;
7689
- }
7690
- }], [{
7691
- key: "native",
7692
- get: function get() {
7693
- return !!(document.fullscreenEnabled || document.webkitFullscreenEnabled || document.mozFullScreenEnabled || document.msFullscreenEnabled);
7694
- }
7695
- }, {
7696
- key: "prefix",
7697
- get: function get() {
7698
- // No prefix
7699
- if (is$1.function(document.exitFullscreen)) {
7700
- return '';
7701
- } // Check for fullscreen support by vendor prefix
7702
-
7703
-
7704
- var value = '';
7705
- var prefixes = ['webkit', 'moz', 'ms'];
7706
- prefixes.some(function (pre) {
7707
- if (is$1.function(document["".concat(pre, "ExitFullscreen")]) || is$1.function(document["".concat(pre, "CancelFullScreen")])) {
7708
- value = pre;
7709
- return true;
7710
- }
7711
-
7712
- return false;
7713
- });
7714
- return value;
7715
- }
7716
- }, {
7717
- key: "property",
7718
- get: function get() {
7719
- return this.prefix === 'moz' ? 'FullScreen' : 'Fullscreen';
7720
- }
7721
- }]);
7722
-
7723
- return Fullscreen;
7724
- }();
7725
-
7726
- // ==========================================================================
7727
- // Load image avoiding xhr/fetch CORS issues
7728
- // Server status can't be obtained this way unfortunately, so this uses "naturalWidth" to determine if the image has loaded
7729
- // By default it checks if it is at least 1px, but you can add a second argument to change this
7730
- // ==========================================================================
7731
- function loadImage(src) {
7732
- var minWidth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
7733
- return new Promise(function (resolve, reject) {
7734
- var image = new Image();
7735
-
7736
- var handler = function handler() {
7737
- delete image.onload;
7738
- delete image.onerror;
7739
- (image.naturalWidth >= minWidth ? resolve : reject)(image);
7740
- };
7741
-
7742
- Object.assign(image, {
7743
- onload: handler,
7744
- onerror: handler,
7745
- src: src
7746
- });
7747
- });
7748
- }
7749
-
7750
- // ==========================================================================
7751
- var ui = {
7752
- addStyleHook: function addStyleHook() {
7753
- toggleClass(this.elements.container, this.config.selectors.container.replace('.', ''), true);
7754
- toggleClass(this.elements.container, this.config.classNames.uiSupported, this.supported.ui);
7755
- },
7756
- // Toggle native HTML5 media controls
7757
- toggleNativeControls: function toggleNativeControls() {
7758
- var toggle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
7759
-
7760
- if (toggle && this.isHTML5) {
7761
- this.media.setAttribute('controls', '');
7762
- } else {
7763
- this.media.removeAttribute('controls');
7764
- }
7765
- },
7766
- // Setup the UI
7767
- build: function build() {
7768
- var _this = this;
7769
-
7770
- // Re-attach media element listeners
7771
- // TODO: Use event bubbling?
7772
- this.listeners.media(); // Don't setup interface if no support
7773
-
7774
- if (!this.supported.ui) {
7775
- this.debug.warn("Basic support only for ".concat(this.provider, " ").concat(this.type)); // Restore native controls
7776
-
7777
- ui.toggleNativeControls.call(this, true); // Bail
7778
-
7779
- return;
7780
- } // Inject custom controls if not present
7781
-
7782
-
7783
- if (!is$1.element(this.elements.controls)) {
7784
- // Inject custom controls
7785
- controls.inject.call(this); // Re-attach control listeners
7786
-
7787
- this.listeners.controls();
7788
- } // Remove native controls
7789
-
7790
-
7791
- ui.toggleNativeControls.call(this); // Setup captions for HTML5
7792
-
7793
- if (this.isHTML5) {
7794
- captions.setup.call(this);
7795
- } // Reset volume
7796
-
7797
-
7798
- this.volume = null; // Reset mute state
7799
-
7800
- this.muted = null; // Reset loop state
7801
-
7802
- this.loop = null; // Reset quality setting
7803
-
7804
- this.quality = null; // Reset speed
7805
-
7806
- this.speed = null; // Reset volume display
7807
-
7808
- controls.updateVolume.call(this); // Reset time display
7809
-
7810
- controls.timeUpdate.call(this); // Update the UI
7811
-
7812
- ui.checkPlaying.call(this); // Check for picture-in-picture support
7813
-
7814
- toggleClass(this.elements.container, this.config.classNames.pip.supported, support.pip && this.isHTML5 && this.isVideo); // Check for airplay support
7815
-
7816
- toggleClass(this.elements.container, this.config.classNames.airplay.supported, support.airplay && this.isHTML5); // Add iOS class
7817
-
7818
- toggleClass(this.elements.container, this.config.classNames.isIos, browser.isIos); // Add touch class
7819
-
7820
- toggleClass(this.elements.container, this.config.classNames.isTouch, this.touch); // Ready for API calls
7821
-
7822
- this.ready = true; // Ready event at end of execution stack
7823
-
7824
- setTimeout(function () {
7825
- triggerEvent.call(_this, _this.media, 'ready');
7826
- }, 0); // Set the title
7827
-
7828
- ui.setTitle.call(this); // Assure the poster image is set, if the property was added before the element was created
7829
-
7830
- if (this.poster) {
7831
- ui.setPoster.call(this, this.poster, false).catch(function () {});
7832
- } // Manually set the duration if user has overridden it.
7833
- // The event listeners for it doesn't get called if preload is disabled (#701)
7834
-
7835
-
7836
- if (this.config.duration) {
7837
- controls.durationUpdate.call(this);
7838
- }
7839
- },
7840
- // Setup aria attribute for play and iframe title
7841
- setTitle: function setTitle() {
7842
- // Find the current text
7843
- var label = i18n.get('play', this.config); // If there's a media title set, use that for the label
7844
-
7845
- if (is$1.string(this.config.title) && !is$1.empty(this.config.title)) {
7846
- label += ", ".concat(this.config.title);
7847
- } // If there's a play button, set label
7848
-
7849
-
7850
- Array.from(this.elements.buttons.play || []).forEach(function (button) {
7851
- button.setAttribute('aria-label', label);
7852
- }); // Set iframe title
7853
- // https://github.com/sampotts/plyr/issues/124
7854
-
7855
- if (this.isEmbed) {
7856
- var iframe = getElement.call(this, 'iframe');
7857
-
7858
- if (!is$1.element(iframe)) {
7859
- return;
7860
- } // Default to media type
7861
-
7862
-
7863
- var title = !is$1.empty(this.config.title) ? this.config.title : 'video';
7864
- var format = i18n.get('frameTitle', this.config);
7865
- iframe.setAttribute('title', format.replace('{title}', title));
7866
- }
7867
- },
7868
- // Toggle poster
7869
- togglePoster: function togglePoster(enable) {
7870
- toggleClass(this.elements.container, this.config.classNames.posterEnabled, enable);
7871
- },
7872
- // Set the poster image (async)
7873
- // Used internally for the poster setter, with the passive option forced to false
7874
- setPoster: function setPoster(poster) {
7875
- var _this2 = this;
7876
-
7877
- var passive = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
7878
-
7879
- // Don't override if call is passive
7880
- if (passive && this.poster) {
7881
- return Promise.reject(new Error('Poster already set'));
7882
- } // Set property synchronously to respect the call order
7883
-
7884
-
7885
- this.media.setAttribute('poster', poster); // Wait until ui is ready
7886
-
7887
- return ready.call(this) // Load image
7888
- .then(function () {
7889
- return loadImage(poster);
7890
- }).catch(function (err) {
7891
- // Hide poster on error unless it's been set by another call
7892
- if (poster === _this2.poster) {
7893
- ui.togglePoster.call(_this2, false);
7894
- } // Rethrow
7895
-
7896
-
7897
- throw err;
7898
- }).then(function () {
7899
- // Prevent race conditions
7900
- if (poster !== _this2.poster) {
7901
- throw new Error('setPoster cancelled by later call to setPoster');
7902
- }
7903
- }).then(function () {
7904
- Object.assign(_this2.elements.poster.style, {
7905
- backgroundImage: "url('".concat(poster, "')"),
7906
- // Reset backgroundSize as well (since it can be set to "cover" for padded thumbnails for youtube)
7907
- backgroundSize: ''
7908
- });
7909
- ui.togglePoster.call(_this2, true);
7910
- return poster;
7911
- });
7912
- },
7913
- // Check playing state
7914
- checkPlaying: function checkPlaying(event) {
7915
- var _this3 = this;
7916
-
7917
- // Class hooks
7918
- toggleClass(this.elements.container, this.config.classNames.playing, this.playing);
7919
- toggleClass(this.elements.container, this.config.classNames.paused, this.paused);
7920
- toggleClass(this.elements.container, this.config.classNames.stopped, this.stopped); // Set state
7921
-
7922
- Array.from(this.elements.buttons.play || []).forEach(function (target) {
7923
- Object.assign(target, {
7924
- pressed: _this3.playing
7925
- });
7926
- }); // Only update controls on non timeupdate events
7927
-
7928
- if (is$1.event(event) && event.type === 'timeupdate') {
7929
- return;
7930
- } // Toggle controls
7931
-
7932
-
7933
- ui.toggleControls.call(this);
7934
- },
7935
- // Check if media is loading
7936
- checkLoading: function checkLoading(event) {
7937
- var _this4 = this;
7938
-
7939
- this.loading = ['stalled', 'waiting'].includes(event.type); // Clear timer
7940
-
7941
- clearTimeout(this.timers.loading); // Timer to prevent flicker when seeking
7942
-
7943
- this.timers.loading = setTimeout(function () {
7944
- // Update progress bar loading class state
7945
- toggleClass(_this4.elements.container, _this4.config.classNames.loading, _this4.loading); // Update controls visibility
7946
-
7947
- ui.toggleControls.call(_this4);
7948
- }, this.loading ? 250 : 0);
7949
- },
7950
- // Toggle controls based on state and `force` argument
7951
- toggleControls: function toggleControls(force) {
7952
- var controlsElement = this.elements.controls;
7953
-
7954
- if (controlsElement && this.config.hideControls) {
7955
- // Don't hide controls if a touch-device user recently seeked. (Must be limited to touch devices, or it occasionally prevents desktop controls from hiding.)
7956
- var recentTouchSeek = this.touch && this.lastSeekTime + 2000 > Date.now(); // Show controls if force, loading, paused, button interaction, or recent seek, otherwise hide
7957
-
7958
- this.toggleControls(Boolean(force || this.loading || this.paused || controlsElement.pressed || controlsElement.hover || recentTouchSeek));
7959
- }
7960
- }
7961
- };
7962
-
7963
- var Listeners =
7964
- /*#__PURE__*/
7965
- function () {
7966
- function Listeners(player) {
7967
- _classCallCheck(this, Listeners);
7968
-
7969
- this.player = player;
7970
- this.lastKey = null;
7971
- this.focusTimer = null;
7972
- this.lastKeyDown = null;
7973
- this.handleKey = this.handleKey.bind(this);
7974
- this.toggleMenu = this.toggleMenu.bind(this);
7975
- this.setTabFocus = this.setTabFocus.bind(this);
7976
- this.firstTouch = this.firstTouch.bind(this);
7977
- } // Handle key presses
7978
-
7979
-
7980
- _createClass(Listeners, [{
7981
- key: "handleKey",
7982
- value: function handleKey(event) {
7983
- var player = this.player;
7984
- var elements = player.elements;
7985
- var code = event.keyCode ? event.keyCode : event.which;
7986
- var pressed = event.type === 'keydown';
7987
- var repeat = pressed && code === this.lastKey; // Bail if a modifier key is set
7988
-
7989
- if (event.altKey || event.ctrlKey || event.metaKey || event.shiftKey) {
7990
- return;
7991
- } // If the event is bubbled from the media element
7992
- // Firefox doesn't get the keycode for whatever reason
7993
-
7994
-
7995
- if (!is$1.number(code)) {
7996
- return;
7997
- } // Seek by the number keys
7998
-
7999
-
8000
- var seekByKey = function seekByKey() {
8001
- // Divide the max duration into 10th's and times by the number value
8002
- player.currentTime = player.duration / 10 * (code - 48);
8003
- }; // Handle the key on keydown
8004
- // Reset on keyup
8005
-
8006
-
8007
- if (pressed) {
8008
- // Check focused element
8009
- // and if the focused element is not editable (e.g. text input)
8010
- // and any that accept key input http://webaim.org/techniques/keyboard/
8011
- var focused = document.activeElement;
8012
-
8013
- if (is$1.element(focused)) {
8014
- var editable = player.config.selectors.editable;
8015
- var seek = elements.inputs.seek;
8016
-
8017
- if (focused !== seek && matches$1(focused, editable)) {
8018
- return;
8019
- }
8020
-
8021
- if (event.which === 32 && matches$1(focused, 'button, [role^="menuitem"]')) {
8022
- return;
8023
- }
8024
- } // Which keycodes should we prevent default
8025
-
8026
-
8027
- var preventDefault = [32, 37, 38, 39, 40, 48, 49, 50, 51, 52, 53, 54, 56, 57, 67, 70, 73, 75, 76, 77, 79]; // If the code is found prevent default (e.g. prevent scrolling for arrows)
8028
-
8029
- if (preventDefault.includes(code)) {
8030
- event.preventDefault();
8031
- event.stopPropagation();
8032
- }
8033
-
8034
- switch (code) {
8035
- case 48:
8036
- case 49:
8037
- case 50:
8038
- case 51:
8039
- case 52:
8040
- case 53:
8041
- case 54:
8042
- case 55:
8043
- case 56:
8044
- case 57:
8045
- // 0-9
8046
- if (!repeat) {
8047
- seekByKey();
8048
- }
8049
-
8050
- break;
8051
-
8052
- case 32:
8053
- case 75:
8054
- // Space and K key
8055
- if (!repeat) {
8056
- player.togglePlay();
8057
- }
8058
-
8059
- break;
8060
-
8061
- case 38:
8062
- // Arrow up
8063
- player.increaseVolume(0.1);
8064
- break;
8065
-
8066
- case 40:
8067
- // Arrow down
8068
- player.decreaseVolume(0.1);
8069
- break;
8070
-
8071
- case 77:
8072
- // M key
8073
- if (!repeat) {
8074
- player.muted = !player.muted;
8075
- }
8076
-
8077
- break;
8078
-
8079
- case 39:
8080
- // Arrow forward
8081
- player.forward();
8082
- break;
8083
-
8084
- case 37:
8085
- // Arrow back
8086
- player.rewind();
8087
- break;
8088
-
8089
- case 70:
8090
- // F key
8091
- player.fullscreen.toggle();
8092
- break;
8093
-
8094
- case 67:
8095
- // C key
8096
- if (!repeat) {
8097
- player.toggleCaptions();
8098
- }
8099
-
8100
- break;
8101
-
8102
- case 76:
8103
- // L key
8104
- player.loop = !player.loop;
8105
- break;
8106
-
8107
- /* case 73:
8108
- this.setLoop('start');
8109
- break;
8110
- case 76:
8111
- this.setLoop();
8112
- break;
8113
- case 79:
8114
- this.setLoop('end');
8115
- break; */
8116
-
8117
- default:
8118
- break;
8119
- } // Escape is handle natively when in full screen
8120
- // So we only need to worry about non native
8121
-
8122
-
8123
- if (code === 27 && !player.fullscreen.usingNative && player.fullscreen.active) {
8124
- player.fullscreen.toggle();
8125
- } // Store last code for next cycle
8126
-
8127
-
8128
- this.lastKey = code;
8129
- } else {
8130
- this.lastKey = null;
8131
- }
8132
- } // Toggle menu
8133
-
8134
- }, {
8135
- key: "toggleMenu",
8136
- value: function toggleMenu(event) {
8137
- controls.toggleMenu.call(this.player, event);
8138
- } // Device is touch enabled
8139
-
8140
- }, {
8141
- key: "firstTouch",
8142
- value: function firstTouch() {
8143
- var player = this.player;
8144
- var elements = player.elements;
8145
- player.touch = true; // Add touch class
8146
-
8147
- toggleClass(elements.container, player.config.classNames.isTouch, true);
8148
- }
8149
- }, {
8150
- key: "setTabFocus",
8151
- value: function setTabFocus(event) {
8152
- var player = this.player;
8153
- var elements = player.elements;
8154
- clearTimeout(this.focusTimer); // Ignore any key other than tab
8155
-
8156
- if (event.type === 'keydown' && event.which !== 9) {
8157
- return;
8158
- } // Store reference to event timeStamp
8159
-
8160
-
8161
- if (event.type === 'keydown') {
8162
- this.lastKeyDown = event.timeStamp;
8163
- } // Remove current classes
8164
-
8165
-
8166
- var removeCurrent = function removeCurrent() {
8167
- var className = player.config.classNames.tabFocus;
8168
- var current = getElements.call(player, ".".concat(className));
8169
- toggleClass(current, className, false);
8170
- }; // Determine if a key was pressed to trigger this event
8171
-
8172
-
8173
- var wasKeyDown = event.timeStamp - this.lastKeyDown <= 20; // Ignore focus events if a key was pressed prior
8174
-
8175
- if (event.type === 'focus' && !wasKeyDown) {
8176
- return;
8177
- } // Remove all current
8178
-
8179
-
8180
- removeCurrent(); // Delay the adding of classname until the focus has changed
8181
- // This event fires before the focusin event
8182
-
8183
- this.focusTimer = setTimeout(function () {
8184
- var focused = document.activeElement; // Ignore if current focus element isn't inside the player
8185
-
8186
- if (!elements.container.contains(focused)) {
8187
- return;
8188
- }
8189
-
8190
- toggleClass(document.activeElement, player.config.classNames.tabFocus, true);
8191
- }, 10);
8192
- } // Global window & document listeners
8193
-
8194
- }, {
8195
- key: "global",
8196
- value: function global() {
8197
- var toggle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
8198
- var player = this.player; // Keyboard shortcuts
8199
-
8200
- if (player.config.keyboard.global) {
8201
- toggleListener.call(player, window, 'keydown keyup', this.handleKey, toggle, false);
8202
- } // Click anywhere closes menu
8203
-
8204
-
8205
- toggleListener.call(player, document.body, 'click', this.toggleMenu, toggle); // Detect touch by events
8206
-
8207
- once.call(player, document.body, 'touchstart', this.firstTouch); // Tab focus detection
8208
-
8209
- toggleListener.call(player, document.body, 'keydown focus blur', this.setTabFocus, toggle, false, true);
8210
- } // Container listeners
8211
-
8212
- }, {
8213
- key: "container",
8214
- value: function container() {
8215
- var player = this.player;
8216
- var config = player.config,
8217
- elements = player.elements,
8218
- timers = player.timers; // Keyboard shortcuts
8219
-
8220
- if (!config.keyboard.global && config.keyboard.focused) {
8221
- on.call(player, elements.container, 'keydown keyup', this.handleKey, false);
8222
- } // Toggle controls on mouse events and entering fullscreen
8223
-
8224
-
8225
- on.call(player, elements.container, 'mousemove mouseleave touchstart touchmove enterfullscreen exitfullscreen', function (event) {
8226
- var controlsElement = elements.controls; // Remove button states for fullscreen
8227
-
8228
- if (controlsElement && event.type === 'enterfullscreen') {
8229
- controlsElement.pressed = false;
8230
- controlsElement.hover = false;
8231
- } // Show, then hide after a timeout unless another control event occurs
8232
-
8233
-
8234
- var show = ['touchstart', 'touchmove', 'mousemove'].includes(event.type);
8235
- var delay = 0;
8236
-
8237
- if (show) {
8238
- ui.toggleControls.call(player, true); // Use longer timeout for touch devices
8239
-
8240
- delay = player.touch ? 3000 : 2000;
8241
- } // Clear timer
8242
-
8243
-
8244
- clearTimeout(timers.controls); // Set new timer to prevent flicker when seeking
8245
-
8246
- timers.controls = setTimeout(function () {
8247
- return ui.toggleControls.call(player, false);
8248
- }, delay);
8249
- }); // Set a gutter for Vimeo
8250
-
8251
- var setGutter = function setGutter(ratio, padding, toggle) {
8252
- if (!player.isVimeo) {
8253
- return;
8254
- }
8255
-
8256
- var target = player.elements.wrapper.firstChild;
8257
-
8258
- var _ratio = _slicedToArray(ratio, 2),
8259
- y = _ratio[1];
8260
-
8261
- var _getAspectRatio$call = getAspectRatio.call(player),
8262
- _getAspectRatio$call2 = _slicedToArray(_getAspectRatio$call, 2),
8263
- videoX = _getAspectRatio$call2[0],
8264
- videoY = _getAspectRatio$call2[1];
8265
-
8266
- target.style.maxWidth = toggle ? "".concat(y / videoY * videoX, "px") : null;
8267
- target.style.margin = toggle ? '0 auto' : null;
8268
- }; // Resize on fullscreen change
8269
-
8270
-
8271
- var setPlayerSize = function setPlayerSize(measure) {
8272
- // If we don't need to measure the viewport
8273
- if (!measure) {
8274
- return setAspectRatio.call(player);
8275
- }
8276
-
8277
- var rect = elements.container.getBoundingClientRect();
8278
- var width = rect.width,
8279
- height = rect.height;
8280
- return setAspectRatio.call(player, "".concat(width, ":").concat(height));
8281
- };
8282
-
8283
- var resized = function resized() {
8284
- clearTimeout(timers.resized);
8285
- timers.resized = setTimeout(setPlayerSize, 50);
8286
- };
8287
-
8288
- on.call(player, elements.container, 'enterfullscreen exitfullscreen', function (event) {
8289
- var _player$fullscreen = player.fullscreen,
8290
- target = _player$fullscreen.target,
8291
- usingNative = _player$fullscreen.usingNative; // Ignore events not from target
8292
-
8293
- if (target !== elements.container) {
8294
- return;
8295
- } // If it's not an embed and no ratio specified
8296
-
8297
-
8298
- if (!player.isEmbed && is$1.empty(player.config.ratio)) {
8299
- return;
8300
- }
8301
-
8302
- var isEnter = event.type === 'enterfullscreen'; // Set the player size when entering fullscreen to viewport size
8303
-
8304
- var _setPlayerSize = setPlayerSize(isEnter),
8305
- padding = _setPlayerSize.padding,
8306
- ratio = _setPlayerSize.ratio; // Set Vimeo gutter
8307
-
8308
-
8309
- setGutter(ratio, padding, isEnter); // If not using native fullscreen, we need to check for resizes of viewport
8310
-
8311
- if (!usingNative) {
8312
- if (isEnter) {
8313
- on.call(player, window, 'resize', resized);
8314
- } else {
8315
- off.call(player, window, 'resize', resized);
8316
- }
8317
- }
8318
- });
8319
- } // Listen for media events
8320
-
8321
- }, {
8322
- key: "media",
8323
- value: function media() {
8324
- var _this = this;
8325
-
8326
- var player = this.player;
8327
- var elements = player.elements; // Time change on media
8328
-
8329
- on.call(player, player.media, 'timeupdate seeking seeked', function (event) {
8330
- return controls.timeUpdate.call(player, event);
8331
- }); // Display duration
8332
-
8333
- on.call(player, player.media, 'durationchange loadeddata loadedmetadata', function (event) {
8334
- return controls.durationUpdate.call(player, event);
8335
- }); // Check for audio tracks on load
8336
- // We can't use `loadedmetadata` as it doesn't seem to have audio tracks at that point
8337
-
8338
- on.call(player, player.media, 'canplay loadeddata', function () {
8339
- toggleHidden(elements.volume, !player.hasAudio);
8340
- toggleHidden(elements.buttons.mute, !player.hasAudio);
8341
- }); // Handle the media finishing
8342
-
8343
- on.call(player, player.media, 'ended', function () {
8344
- // Show poster on end
8345
- if (player.isHTML5 && player.isVideo && player.config.resetOnEnd) {
8346
- // Restart
8347
- player.restart();
8348
- }
8349
- }); // Check for buffer progress
8350
-
8351
- on.call(player, player.media, 'progress playing seeking seeked', function (event) {
8352
- return controls.updateProgress.call(player, event);
8353
- }); // Handle volume changes
8354
-
8355
- on.call(player, player.media, 'volumechange', function (event) {
8356
- return controls.updateVolume.call(player, event);
8357
- }); // Handle play/pause
8358
-
8359
- on.call(player, player.media, 'playing play pause ended emptied timeupdate', function (event) {
8360
- return ui.checkPlaying.call(player, event);
8361
- }); // Loading state
8362
-
8363
- on.call(player, player.media, 'waiting canplay seeked playing', function (event) {
8364
- return ui.checkLoading.call(player, event);
8365
- }); // Click video
8366
-
8367
- if (player.supported.ui && player.config.clickToPlay && !player.isAudio) {
8368
- // Re-fetch the wrapper
8369
- var wrapper = getElement.call(player, ".".concat(player.config.classNames.video)); // Bail if there's no wrapper (this should never happen)
8370
-
8371
- if (!is$1.element(wrapper)) {
8372
- return;
8373
- } // On click play, pause or restart
8374
-
8375
-
8376
- on.call(player, elements.container, 'click', function (event) {
8377
- var targets = [elements.container, wrapper]; // Ignore if click if not container or in video wrapper
8378
-
8379
- if (!targets.includes(event.target) && !wrapper.contains(event.target)) {
8380
- return;
8381
- } // Touch devices will just show controls (if hidden)
8382
-
8383
-
8384
- if (player.touch && player.config.hideControls) {
8385
- return;
8386
- }
8387
-
8388
- if (player.ended) {
8389
- _this.proxy(event, player.restart, 'restart');
8390
-
8391
- _this.proxy(event, player.play, 'play');
8392
- } else {
8393
- _this.proxy(event, player.togglePlay, 'play');
8394
- }
8395
- });
8396
- } // Disable right click
8397
-
8398
-
8399
- if (player.supported.ui && player.config.disableContextMenu) {
8400
- on.call(player, elements.wrapper, 'contextmenu', function (event) {
8401
- event.preventDefault();
8402
- }, false);
8403
- } // Volume change
8404
-
8405
-
8406
- on.call(player, player.media, 'volumechange', function () {
8407
- // Save to storage
8408
- player.storage.set({
8409
- volume: player.volume,
8410
- muted: player.muted
8411
- });
8412
- }); // Speed change
8413
-
8414
- on.call(player, player.media, 'ratechange', function () {
8415
- // Update UI
8416
- controls.updateSetting.call(player, 'speed'); // Save to storage
8417
-
8418
-
8419
- player.storage.set({
8420
- speed: player.speed
8421
- });
8422
- }); // Quality change
8423
-
8424
- on.call(player, player.media, 'qualitychange', function (event) {
8425
- // Update UI
8426
- controls.updateSetting.call(player, 'quality', null, event.detail.quality);
8427
- }); // Update download link when ready and if quality changes
8428
-
8429
- on.call(player, player.media, 'ready qualitychange', function () {
8430
- controls.setDownloadUrl.call(player);
8431
- }); // Proxy events to container
8432
- // Bubble up key events for Edge
8433
-
8434
- var proxyEvents = player.config.events.concat(['keyup', 'keydown']).join(' ');
8435
- on.call(player, player.media, proxyEvents, function (event) {
8436
- var _event$detail = event.detail,
8437
- detail = _event$detail === void 0 ? {} : _event$detail; // Get error details from media
8438
-
8439
- if (event.type === 'error') {
8440
- detail = player.media.error;
8441
- }
8442
-
8443
- triggerEvent.call(player, elements.container, event.type, true, detail);
8444
- });
8445
- } // Run default and custom handlers
8446
-
8447
- }, {
8448
- key: "proxy",
8449
- value: function proxy(event, defaultHandler, customHandlerKey) {
8450
- var player = this.player;
8451
- var customHandler = player.config.listeners[customHandlerKey];
8452
- var hasCustomHandler = is$1.function(customHandler);
8453
- var returned = true; // Execute custom handler
8454
-
8455
- if (hasCustomHandler) {
8456
- returned = customHandler.call(player, event);
8457
- } // Only call default handler if not prevented in custom handler
8458
-
8459
-
8460
- if (returned && is$1.function(defaultHandler)) {
8461
- defaultHandler.call(player, event);
8462
- }
8463
- } // Trigger custom and default handlers
8464
-
8465
- }, {
8466
- key: "bind",
8467
- value: function bind(element, type, defaultHandler, customHandlerKey) {
8468
- var _this2 = this;
8469
-
8470
- var passive = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;
8471
- var player = this.player;
8472
- var customHandler = player.config.listeners[customHandlerKey];
8473
- var hasCustomHandler = is$1.function(customHandler);
8474
- on.call(player, element, type, function (event) {
8475
- return _this2.proxy(event, defaultHandler, customHandlerKey);
8476
- }, passive && !hasCustomHandler);
8477
- } // Listen for control events
8478
-
8479
- }, {
8480
- key: "controls",
8481
- value: function controls$1() {
8482
- var _this3 = this;
8483
-
8484
- var player = this.player;
8485
- var elements = player.elements; // IE doesn't support input event, so we fallback to change
8486
-
8487
- var inputEvent = browser.isIE ? 'change' : 'input'; // Play/pause toggle
8488
-
8489
- if (elements.buttons.play) {
8490
- Array.from(elements.buttons.play).forEach(function (button) {
8491
- _this3.bind(button, 'click', player.togglePlay, 'play');
8492
- });
8493
- } // Pause
8494
-
8495
-
8496
- this.bind(elements.buttons.restart, 'click', player.restart, 'restart'); // Rewind
8497
-
8498
- this.bind(elements.buttons.rewind, 'click', player.rewind, 'rewind'); // Rewind
8499
-
8500
- this.bind(elements.buttons.fastForward, 'click', player.forward, 'fastForward'); // Mute toggle
8501
-
8502
- this.bind(elements.buttons.mute, 'click', function () {
8503
- player.muted = !player.muted;
8504
- }, 'mute'); // Captions toggle
8505
-
8506
- this.bind(elements.buttons.captions, 'click', function () {
8507
- return player.toggleCaptions();
8508
- }); // Download
8509
-
8510
- this.bind(elements.buttons.download, 'click', function () {
8511
- triggerEvent.call(player, player.media, 'download');
8512
- }, 'download'); // Fullscreen toggle
8513
-
8514
- this.bind(elements.buttons.fullscreen, 'click', function () {
8515
- player.fullscreen.toggle();
8516
- }, 'fullscreen'); // Picture-in-Picture
8517
-
8518
- this.bind(elements.buttons.pip, 'click', function () {
8519
- player.pip = 'toggle';
8520
- }, 'pip'); // Airplay
8521
-
8522
- this.bind(elements.buttons.airplay, 'click', player.airplay, 'airplay'); // Settings menu - click toggle
8523
-
8524
- this.bind(elements.buttons.settings, 'click', function (event) {
8525
- // Prevent the document click listener closing the menu
8526
- event.stopPropagation();
8527
-
8528
- controls.toggleMenu.call(player, event);
8529
- }); // Settings menu - keyboard toggle
8530
- // We have to bind to keyup otherwise Firefox triggers a click when a keydown event handler shifts focus
8531
- // https://bugzilla.mozilla.org/show_bug.cgi?id=1220143
8532
-
8533
- this.bind(elements.buttons.settings, 'keyup', function (event) {
8534
- var code = event.which; // We only care about space and return
8535
-
8536
- if (![13, 32].includes(code)) {
8537
- return;
8538
- } // Because return triggers a click anyway, all we need to do is set focus
8539
-
8540
-
8541
- if (code === 13) {
8542
- controls.focusFirstMenuItem.call(player, null, true);
8543
-
8544
- return;
8545
- } // Prevent scroll
8546
-
8547
-
8548
- event.preventDefault(); // Prevent playing video (Firefox)
8549
-
8550
- event.stopPropagation(); // Toggle menu
8551
-
8552
- controls.toggleMenu.call(player, event);
8553
- }, null, false // Can't be passive as we're preventing default
8554
- ); // Escape closes menu
8555
-
8556
- this.bind(elements.settings.menu, 'keydown', function (event) {
8557
- if (event.which === 27) {
8558
- controls.toggleMenu.call(player, event);
8559
- }
8560
- }); // Set range input alternative "value", which matches the tooltip time (#954)
8561
-
8562
- this.bind(elements.inputs.seek, 'mousedown mousemove', function (event) {
8563
- var rect = elements.progress.getBoundingClientRect();
8564
- var percent = 100 / rect.width * (event.pageX - rect.left);
8565
- event.currentTarget.setAttribute('seek-value', percent);
8566
- }); // Pause while seeking
8567
-
8568
- this.bind(elements.inputs.seek, 'mousedown mouseup keydown keyup touchstart touchend', function (event) {
8569
- var seek = event.currentTarget;
8570
- var code = event.keyCode ? event.keyCode : event.which;
8571
- var attribute = 'play-on-seeked';
8572
-
8573
- if (is$1.keyboardEvent(event) && code !== 39 && code !== 37) {
8574
- return;
8575
- } // Record seek time so we can prevent hiding controls for a few seconds after seek
8576
-
8577
-
8578
- player.lastSeekTime = Date.now(); // Was playing before?
8579
-
8580
- var play = seek.hasAttribute(attribute); // Done seeking
8581
-
8582
- var done = ['mouseup', 'touchend', 'keyup'].includes(event.type); // If we're done seeking and it was playing, resume playback
8583
-
8584
- if (play && done) {
8585
- seek.removeAttribute(attribute);
8586
- player.play();
8587
- } else if (!done && player.playing) {
8588
- seek.setAttribute(attribute, '');
8589
- player.pause();
8590
- }
8591
- }); // Fix range inputs on iOS
8592
- // Super weird iOS bug where after you interact with an <input type="range">,
8593
- // it takes over further interactions on the page. This is a hack
8594
-
8595
- if (browser.isIos) {
8596
- var inputs = getElements.call(player, 'input[type="range"]');
8597
- Array.from(inputs).forEach(function (input) {
8598
- return _this3.bind(input, inputEvent, function (event) {
8599
- return repaint(event.target);
8600
- });
8601
- });
8602
- } // Seek
8603
-
8604
-
8605
- this.bind(elements.inputs.seek, inputEvent, function (event) {
8606
- var seek = event.currentTarget; // If it exists, use seek-value instead of "value" for consistency with tooltip time (#954)
8607
-
8608
- var seekTo = seek.getAttribute('seek-value');
8609
-
8610
- if (is$1.empty(seekTo)) {
8611
- seekTo = seek.value;
8612
- }
8613
-
8614
- seek.removeAttribute('seek-value');
8615
- player.currentTime = seekTo / seek.max * player.duration;
8616
- }, 'seek'); // Seek tooltip
8617
-
8618
- this.bind(elements.progress, 'mouseenter mouseleave mousemove', function (event) {
8619
- return controls.updateSeekTooltip.call(player, event);
8620
- }); // Preview thumbnails plugin
8621
- // TODO: Really need to work on some sort of plug-in wide event bus or pub-sub for this
8622
-
8623
- this.bind(elements.progress, 'mousemove touchmove', function (event) {
8624
- var previewThumbnails = player.previewThumbnails;
8625
-
8626
- if (previewThumbnails && previewThumbnails.loaded) {
8627
- previewThumbnails.startMove(event);
8628
- }
8629
- }); // Hide thumbnail preview - on mouse click, mouse leave, and video play/seek. All four are required, e.g., for buffering
8630
-
8631
- this.bind(elements.progress, 'mouseleave click', function () {
8632
- var previewThumbnails = player.previewThumbnails;
8633
-
8634
- if (previewThumbnails && previewThumbnails.loaded) {
8635
- previewThumbnails.endMove(false, true);
8636
- }
8637
- }); // Show scrubbing preview
8638
-
8639
- this.bind(elements.progress, 'mousedown touchstart', function (event) {
8640
- var previewThumbnails = player.previewThumbnails;
8641
-
8642
- if (previewThumbnails && previewThumbnails.loaded) {
8643
- previewThumbnails.startScrubbing(event);
8644
- }
8645
- });
8646
- this.bind(elements.progress, 'mouseup touchend', function (event) {
8647
- var previewThumbnails = player.previewThumbnails;
8648
-
8649
- if (previewThumbnails && previewThumbnails.loaded) {
8650
- previewThumbnails.endScrubbing(event);
8651
- }
8652
- }); // Polyfill for lower fill in <input type="range"> for webkit
8653
-
8654
- if (browser.isWebkit) {
8655
- Array.from(getElements.call(player, 'input[type="range"]')).forEach(function (element) {
8656
- _this3.bind(element, 'input', function (event) {
8657
- return controls.updateRangeFill.call(player, event.target);
8658
- });
8659
- });
8660
- } // Current time invert
8661
- // Only if one time element is used for both currentTime and duration
8662
-
8663
-
8664
- if (player.config.toggleInvert && !is$1.element(elements.display.duration)) {
8665
- this.bind(elements.display.currentTime, 'click', function () {
8666
- // Do nothing if we're at the start
8667
- if (player.currentTime === 0) {
8668
- return;
8669
- }
8670
-
8671
- player.config.invertTime = !player.config.invertTime;
8672
-
8673
- controls.timeUpdate.call(player);
8674
- });
8675
- } // Volume
8676
-
8677
-
8678
- this.bind(elements.inputs.volume, inputEvent, function (event) {
8679
- player.volume = event.target.value;
8680
- }, 'volume'); // Update controls.hover state (used for ui.toggleControls to avoid hiding when interacting)
8681
-
8682
- this.bind(elements.controls, 'mouseenter mouseleave', function (event) {
8683
- elements.controls.hover = !player.touch && event.type === 'mouseenter';
8684
- }); // Update controls.pressed state (used for ui.toggleControls to avoid hiding when interacting)
8685
-
8686
- this.bind(elements.controls, 'mousedown mouseup touchstart touchend touchcancel', function (event) {
8687
- elements.controls.pressed = ['mousedown', 'touchstart'].includes(event.type);
8688
- }); // Show controls when they receive focus (e.g., when using keyboard tab key)
8689
-
8690
- this.bind(elements.controls, 'focusin', function () {
8691
- var config = player.config,
8692
- timers = player.timers; // Skip transition to prevent focus from scrolling the parent element
8693
-
8694
- toggleClass(elements.controls, config.classNames.noTransition, true); // Toggle
8695
-
8696
- ui.toggleControls.call(player, true); // Restore transition
8697
-
8698
- setTimeout(function () {
8699
- toggleClass(elements.controls, config.classNames.noTransition, false);
8700
- }, 0); // Delay a little more for mouse users
8701
-
8702
- var delay = _this3.touch ? 3000 : 4000; // Clear timer
8703
-
8704
- clearTimeout(timers.controls); // Hide again after delay
8705
-
8706
- timers.controls = setTimeout(function () {
8707
- return ui.toggleControls.call(player, false);
8708
- }, delay);
8709
- }); // Mouse wheel for volume
8710
-
8711
- this.bind(elements.inputs.volume, 'wheel', function (event) {
8712
- // Detect "natural" scroll - suppored on OS X Safari only
8713
- // Other browsers on OS X will be inverted until support improves
8714
- var inverted = event.webkitDirectionInvertedFromDevice; // Get delta from event. Invert if `inverted` is true
8715
-
8716
- var _map = [event.deltaX, -event.deltaY].map(function (value) {
8717
- return inverted ? -value : value;
8718
- }),
8719
- _map2 = _slicedToArray(_map, 2),
8720
- x = _map2[0],
8721
- y = _map2[1]; // Using the biggest delta, normalize to 1 or -1 (or 0 if no delta)
8722
-
8723
-
8724
- var direction = Math.sign(Math.abs(x) > Math.abs(y) ? x : y); // Change the volume by 2%
8725
-
8726
- player.increaseVolume(direction / 50); // Don't break page scrolling at max and min
8727
-
8728
- var volume = player.media.volume;
8729
-
8730
- if (direction === 1 && volume < 1 || direction === -1 && volume > 0) {
8731
- event.preventDefault();
8732
- }
8733
- }, 'volume', false);
8734
- }
8735
- }]);
8736
-
8737
- return Listeners;
8738
- }();
8739
-
8740
- var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
8741
-
8742
- function createCommonjsModule(fn, module) {
8743
- return module = { exports: {} }, fn(module, module.exports), module.exports;
8744
- }
8745
-
8746
- var loadjs_umd = createCommonjsModule(function (module, exports) {
8747
- (function (root, factory) {
8748
- {
8749
- module.exports = factory();
8750
- }
8751
- })(commonjsGlobal, function () {
8752
- /**
8753
- * Global dependencies.
8754
- * @global {Object} document - DOM
8755
- */
8756
- var devnull = function devnull() {},
8757
- bundleIdCache = {},
8758
- bundleResultCache = {},
8759
- bundleCallbackQueue = {};
8760
- /**
8761
- * Subscribe to bundle load event.
8762
- * @param {string[]} bundleIds - Bundle ids
8763
- * @param {Function} callbackFn - The callback function
8764
- */
8765
-
8766
-
8767
- function subscribe(bundleIds, callbackFn) {
8768
- // listify
8769
- bundleIds = bundleIds.push ? bundleIds : [bundleIds];
8770
- var depsNotFound = [],
8771
- i = bundleIds.length,
8772
- numWaiting = i,
8773
- fn,
8774
- bundleId,
8775
- r,
8776
- q; // define callback function
8777
-
8778
- fn = function fn(bundleId, pathsNotFound) {
8779
- if (pathsNotFound.length) depsNotFound.push(bundleId);
8780
- numWaiting--;
8781
- if (!numWaiting) callbackFn(depsNotFound);
8782
- }; // register callback
8783
-
8784
-
8785
- while (i--) {
8786
- bundleId = bundleIds[i]; // execute callback if in result cache
8787
-
8788
- r = bundleResultCache[bundleId];
8789
-
8790
- if (r) {
8791
- fn(bundleId, r);
8792
- continue;
8793
- } // add to callback queue
8794
-
8795
-
8796
- q = bundleCallbackQueue[bundleId] = bundleCallbackQueue[bundleId] || [];
8797
- q.push(fn);
8798
- }
8799
- }
8800
- /**
8801
- * Publish bundle load event.
8802
- * @param {string} bundleId - Bundle id
8803
- * @param {string[]} pathsNotFound - List of files not found
8804
- */
8805
-
8806
-
8807
- function publish(bundleId, pathsNotFound) {
8808
- // exit if id isn't defined
8809
- if (!bundleId) return;
8810
- var q = bundleCallbackQueue[bundleId]; // cache result
8811
-
8812
- bundleResultCache[bundleId] = pathsNotFound; // exit if queue is empty
8813
-
8814
- if (!q) return; // empty callback queue
8815
-
8816
- while (q.length) {
8817
- q[0](bundleId, pathsNotFound);
8818
- q.splice(0, 1);
8819
- }
8820
- }
8821
- /**
8822
- * Execute callbacks.
8823
- * @param {Object or Function} args - The callback args
8824
- * @param {string[]} depsNotFound - List of dependencies not found
8825
- */
8826
-
8827
-
8828
- function executeCallbacks(args, depsNotFound) {
8829
- // accept function as argument
8830
- if (args.call) args = {
8831
- success: args
8832
- }; // success and error callbacks
8833
-
8834
- if (depsNotFound.length) (args.error || devnull)(depsNotFound);else (args.success || devnull)(args);
8835
- }
8836
- /**
8837
- * Load individual file.
8838
- * @param {string} path - The file path
8839
- * @param {Function} callbackFn - The callback function
8840
- */
8841
-
8842
-
8843
- function loadFile(path, callbackFn, args, numTries) {
8844
- var doc = document,
8845
- async = args.async,
8846
- maxTries = (args.numRetries || 0) + 1,
8847
- beforeCallbackFn = args.before || devnull,
8848
- pathStripped = path.replace(/^(css|img)!/, ''),
8849
- isLegacyIECss,
8850
- e;
8851
- numTries = numTries || 0;
8852
-
8853
- if (/(^css!|\.css$)/.test(path)) {
8854
- // css
8855
- e = doc.createElement('link');
8856
- e.rel = 'stylesheet';
8857
- e.href = pathStripped; // tag IE9+
8858
-
8859
- isLegacyIECss = 'hideFocus' in e; // use preload in IE Edge (to detect load errors)
8860
-
8861
- if (isLegacyIECss && e.relList) {
8862
- isLegacyIECss = 0;
8863
- e.rel = 'preload';
8864
- e.as = 'style';
8865
- }
8866
- } else if (/(^img!|\.(png|gif|jpg|svg)$)/.test(path)) {
8867
- // image
8868
- e = doc.createElement('img');
8869
- e.src = pathStripped;
8870
- } else {
8871
- // javascript
8872
- e = doc.createElement('script');
8873
- e.src = path;
8874
- e.async = async === undefined ? true : async;
8875
- }
8876
-
8877
- e.onload = e.onerror = e.onbeforeload = function (ev) {
8878
- var result = ev.type[0]; // treat empty stylesheets as failures to get around lack of onerror
8879
- // support in IE9-11
8880
-
8881
- if (isLegacyIECss) {
8882
- try {
8883
- if (!e.sheet.cssText.length) result = 'e';
8884
- } catch (x) {
8885
- // sheets objects created from load errors don't allow access to
8886
- // `cssText` (unless error is Code:18 SecurityError)
8887
- if (x.code != 18) result = 'e';
8888
- }
8889
- } // handle retries in case of load failure
8890
-
8891
-
8892
- if (result == 'e') {
8893
- // increment counter
8894
- numTries += 1; // exit function and try again
8895
-
8896
- if (numTries < maxTries) {
8897
- return loadFile(path, callbackFn, args, numTries);
8898
- }
8899
- } else if (e.rel == 'preload' && e.as == 'style') {
8900
- // activate preloaded stylesheets
8901
- return e.rel = 'stylesheet'; // jshint ignore:line
8902
- } // execute callback
8903
-
8904
-
8905
- callbackFn(path, result, ev.defaultPrevented);
8906
- }; // add to document (unless callback returns `false`)
8907
-
8908
-
8909
- if (beforeCallbackFn(path, e) !== false) doc.head.appendChild(e);
8910
- }
8911
- /**
8912
- * Load multiple files.
8913
- * @param {string[]} paths - The file paths
8914
- * @param {Function} callbackFn - The callback function
8915
- */
8916
-
8917
-
8918
- function loadFiles(paths, callbackFn, args) {
8919
- // listify paths
8920
- paths = paths.push ? paths : [paths];
8921
- var numWaiting = paths.length,
8922
- x = numWaiting,
8923
- pathsNotFound = [],
8924
- fn,
8925
- i; // define callback function
8926
-
8927
- fn = function fn(path, result, defaultPrevented) {
8928
- // handle error
8929
- if (result == 'e') pathsNotFound.push(path); // handle beforeload event. If defaultPrevented then that means the load
8930
- // will be blocked (ex. Ghostery/ABP on Safari)
8931
-
8932
- if (result == 'b') {
8933
- if (defaultPrevented) pathsNotFound.push(path);else return;
8934
- }
8935
-
8936
- numWaiting--;
8937
- if (!numWaiting) callbackFn(pathsNotFound);
8938
- }; // load scripts
8939
-
8940
-
8941
- for (i = 0; i < x; i++) {
8942
- loadFile(paths[i], fn, args);
8943
- }
8944
- }
8945
- /**
8946
- * Initiate script load and register bundle.
8947
- * @param {(string|string[])} paths - The file paths
8948
- * @param {(string|Function|Object)} [arg1] - The (1) bundleId or (2) success
8949
- * callback or (3) object literal with success/error arguments, numRetries,
8950
- * etc.
8951
- * @param {(Function|Object)} [arg2] - The (1) success callback or (2) object
8952
- * literal with success/error arguments, numRetries, etc.
8953
- */
8954
-
8955
-
8956
- function loadjs(paths, arg1, arg2) {
8957
- var bundleId, args; // bundleId (if string)
8958
-
8959
- if (arg1 && arg1.trim) bundleId = arg1; // args (default is {})
8960
-
8961
- args = (bundleId ? arg2 : arg1) || {}; // throw error if bundle is already defined
8962
-
8963
- if (bundleId) {
8964
- if (bundleId in bundleIdCache) {
8965
- throw "LoadJS";
8966
- } else {
8967
- bundleIdCache[bundleId] = true;
8968
- }
8969
- }
8970
-
8971
- function loadFn(resolve, reject) {
8972
- loadFiles(paths, function (pathsNotFound) {
8973
- // execute callbacks
8974
- executeCallbacks(args, pathsNotFound); // resolve Promise
8975
-
8976
- if (resolve) {
8977
- executeCallbacks({
8978
- success: resolve,
8979
- error: reject
8980
- }, pathsNotFound);
8981
- } // publish bundle load event
8982
-
8983
-
8984
- publish(bundleId, pathsNotFound);
8985
- }, args);
8986
- }
8987
-
8988
- if (args.returnPromise) return new Promise(loadFn);else loadFn();
8989
- }
8990
- /**
8991
- * Execute callbacks when dependencies have been satisfied.
8992
- * @param {(string|string[])} deps - List of bundle ids
8993
- * @param {Object} args - success/error arguments
8994
- */
8995
-
8996
-
8997
- loadjs.ready = function ready(deps, args) {
8998
- // subscribe to bundle load event
8999
- subscribe(deps, function (depsNotFound) {
9000
- // execute callbacks
9001
- executeCallbacks(args, depsNotFound);
9002
- });
9003
- return loadjs;
9004
- };
9005
- /**
9006
- * Manually satisfy bundle dependencies.
9007
- * @param {string} bundleId - The bundle id
9008
- */
9009
-
9010
-
9011
- loadjs.done = function done(bundleId) {
9012
- publish(bundleId, []);
9013
- };
9014
- /**
9015
- * Reset loadjs dependencies statuses
9016
- */
9017
-
9018
-
9019
- loadjs.reset = function reset() {
9020
- bundleIdCache = {};
9021
- bundleResultCache = {};
9022
- bundleCallbackQueue = {};
9023
- };
9024
- /**
9025
- * Determine if bundle has already been defined
9026
- * @param String} bundleId - The bundle id
9027
- */
9028
-
9029
-
9030
- loadjs.isDefined = function isDefined(bundleId) {
9031
- return bundleId in bundleIdCache;
9032
- }; // export
9033
-
9034
-
9035
- return loadjs;
9036
- });
9037
- });
9038
-
9039
- // ==========================================================================
9040
- function loadScript(url) {
9041
- return new Promise(function (resolve, reject) {
9042
- loadjs_umd(url, {
9043
- success: resolve,
9044
- error: reject
9045
- });
9046
- });
9047
- }
9048
-
9049
- function parseId(url) {
9050
- if (is$1.empty(url)) {
9051
- return null;
9052
- }
9053
-
9054
- if (is$1.number(Number(url))) {
9055
- return url;
9056
- }
9057
-
9058
- var regex = /^.*(vimeo.com\/|video\/)(\d+).*/;
9059
- return url.match(regex) ? RegExp.$2 : url;
9060
- } // Set playback state and trigger change (only on actual change)
9061
-
9062
-
9063
- function assurePlaybackState(play) {
9064
- if (play && !this.embed.hasPlayed) {
9065
- this.embed.hasPlayed = true;
9066
- }
9067
-
9068
- if (this.media.paused === play) {
9069
- this.media.paused = !play;
9070
- triggerEvent.call(this, this.media, play ? 'play' : 'pause');
9071
- }
9072
- }
9073
-
9074
- var vimeo = {
9075
- setup: function setup() {
9076
- var _this = this;
9077
-
9078
- // Add embed class for responsive
9079
- toggleClass(this.elements.wrapper, this.config.classNames.embed, true); // Set intial ratio
9080
-
9081
- setAspectRatio.call(this); // Load the SDK if not already
9082
-
9083
- if (!is$1.object(window.Vimeo)) {
9084
- loadScript(this.config.urls.vimeo.sdk).then(function () {
9085
- vimeo.ready.call(_this);
9086
- }).catch(function (error) {
9087
- _this.debug.warn('Vimeo SDK (player.js) failed to load', error);
9088
- });
9089
- } else {
9090
- vimeo.ready.call(this);
9091
- }
9092
- },
9093
- // API Ready
9094
- ready: function ready() {
9095
- var _this2 = this;
9096
-
9097
- var player = this;
9098
- var config = player.config.vimeo; // Get Vimeo params for the iframe
9099
-
9100
- var params = buildUrlParams(extend({}, {
9101
- loop: player.config.loop.active,
9102
- autoplay: player.autoplay,
9103
- muted: player.muted,
9104
- gesture: 'media',
9105
- playsinline: !this.config.fullscreen.iosNative
9106
- }, config)); // Get the source URL or ID
9107
-
9108
- var source = player.media.getAttribute('src'); // Get from <div> if needed
9109
-
9110
- if (is$1.empty(source)) {
9111
- source = player.media.getAttribute(player.config.attributes.embed.id);
9112
- }
9113
-
9114
- var id = parseId(source); // Build an iframe
9115
-
9116
- var iframe = createElement('iframe');
9117
- var src = format(player.config.urls.vimeo.iframe, id, params);
9118
- iframe.setAttribute('src', src);
9119
- iframe.setAttribute('allowfullscreen', '');
9120
- iframe.setAttribute('allowtransparency', '');
9121
- iframe.setAttribute('allow', 'autoplay'); // Get poster, if already set
9122
-
9123
- var poster = player.poster; // Inject the package
9124
-
9125
- var wrapper = createElement('div', {
9126
- poster: poster,
9127
- class: player.config.classNames.embedContainer
9128
- });
9129
- wrapper.appendChild(iframe);
9130
- player.media = replaceElement(wrapper, player.media); // Get poster image
9131
-
9132
- fetch(format(player.config.urls.vimeo.api, id), 'json').then(function (response) {
9133
- if (is$1.empty(response)) {
9134
- return;
9135
- } // Get the URL for thumbnail
9136
-
9137
-
9138
- var url = new URL(response[0].thumbnail_large); // Get original image
9139
-
9140
- url.pathname = "".concat(url.pathname.split('_')[0], ".jpg"); // Set and show poster
9141
-
9142
- ui.setPoster.call(player, url.href).catch(function () {});
9143
- }); // Setup instance
9144
- // https://github.com/vimeo/player.js
9145
-
9146
- player.embed = new window.Vimeo.Player(iframe, {
9147
- autopause: player.config.autopause,
9148
- muted: player.muted
9149
- });
9150
- player.media.paused = true;
9151
- player.media.currentTime = 0; // Disable native text track rendering
9152
-
9153
- if (player.supported.ui) {
9154
- player.embed.disableTextTrack();
9155
- } // Create a faux HTML5 API using the Vimeo API
9156
-
9157
-
9158
- player.media.play = function () {
9159
- assurePlaybackState.call(player, true);
9160
- return player.embed.play();
9161
- };
9162
-
9163
- player.media.pause = function () {
9164
- assurePlaybackState.call(player, false);
9165
- return player.embed.pause();
9166
- };
9167
-
9168
- player.media.stop = function () {
9169
- player.pause();
9170
- player.currentTime = 0;
9171
- }; // Seeking
9172
-
9173
-
9174
- var currentTime = player.media.currentTime;
9175
- Object.defineProperty(player.media, 'currentTime', {
9176
- get: function get() {
9177
- return currentTime;
9178
- },
9179
- set: function set(time) {
9180
- // Vimeo will automatically play on seek if the video hasn't been played before
9181
- // Get current paused state and volume etc
9182
- var embed = player.embed,
9183
- media = player.media,
9184
- paused = player.paused,
9185
- volume = player.volume;
9186
- var restorePause = paused && !embed.hasPlayed; // Set seeking state and trigger event
9187
-
9188
- media.seeking = true;
9189
- triggerEvent.call(player, media, 'seeking'); // If paused, mute until seek is complete
9190
-
9191
- Promise.resolve(restorePause && embed.setVolume(0)) // Seek
9192
- .then(function () {
9193
- return embed.setCurrentTime(time);
9194
- }) // Restore paused
9195
- .then(function () {
9196
- return restorePause && embed.pause();
9197
- }) // Restore volume
9198
- .then(function () {
9199
- return restorePause && embed.setVolume(volume);
9200
- }).catch(function () {// Do nothing
9201
- });
9202
- }
9203
- }); // Playback speed
9204
-
9205
- var speed = player.config.speed.selected;
9206
- Object.defineProperty(player.media, 'playbackRate', {
9207
- get: function get() {
9208
- return speed;
9209
- },
9210
- set: function set(input) {
9211
- player.embed.setPlaybackRate(input).then(function () {
9212
- speed = input;
9213
- triggerEvent.call(player, player.media, 'ratechange');
9214
- }).catch(function (error) {
9215
- // Hide menu item (and menu if empty)
9216
- if (error.name === 'Error') {
9217
- controls.setSpeedMenu.call(player, []);
9218
- }
9219
- });
9220
- }
9221
- }); // Volume
9222
-
9223
- var volume = player.config.volume;
9224
- Object.defineProperty(player.media, 'volume', {
9225
- get: function get() {
9226
- return volume;
9227
- },
9228
- set: function set(input) {
9229
- player.embed.setVolume(input).then(function () {
9230
- volume = input;
9231
- triggerEvent.call(player, player.media, 'volumechange');
9232
- });
9233
- }
9234
- }); // Muted
9235
-
9236
- var muted = player.config.muted;
9237
- Object.defineProperty(player.media, 'muted', {
9238
- get: function get() {
9239
- return muted;
9240
- },
9241
- set: function set(input) {
9242
- var toggle = is$1.boolean(input) ? input : false;
9243
- player.embed.setVolume(toggle ? 0 : player.config.volume).then(function () {
9244
- muted = toggle;
9245
- triggerEvent.call(player, player.media, 'volumechange');
9246
- });
9247
- }
9248
- }); // Loop
9249
-
9250
- var loop = player.config.loop;
9251
- Object.defineProperty(player.media, 'loop', {
9252
- get: function get() {
9253
- return loop;
9254
- },
9255
- set: function set(input) {
9256
- var toggle = is$1.boolean(input) ? input : player.config.loop.active;
9257
- player.embed.setLoop(toggle).then(function () {
9258
- loop = toggle;
9259
- });
9260
- }
9261
- }); // Source
9262
-
9263
- var currentSrc;
9264
- player.embed.getVideoUrl().then(function (value) {
9265
- currentSrc = value;
9266
- controls.setDownloadUrl.call(player);
9267
- }).catch(function (error) {
9268
- _this2.debug.warn(error);
9269
- });
9270
- Object.defineProperty(player.media, 'currentSrc', {
9271
- get: function get() {
9272
- return currentSrc;
9273
- }
9274
- }); // Ended
9275
-
9276
- Object.defineProperty(player.media, 'ended', {
9277
- get: function get() {
9278
- return player.currentTime === player.duration;
9279
- }
9280
- }); // Set aspect ratio based on video size
9281
-
9282
- Promise.all([player.embed.getVideoWidth(), player.embed.getVideoHeight()]).then(function (dimensions) {
9283
- var _dimensions = _slicedToArray(dimensions, 2),
9284
- width = _dimensions[0],
9285
- height = _dimensions[1];
9286
-
9287
- player.embed.ratio = [width, height];
9288
- setAspectRatio.call(_this2);
9289
- }); // Set autopause
9290
-
9291
- player.embed.setAutopause(player.config.autopause).then(function (state) {
9292
- player.config.autopause = state;
9293
- }); // Get title
9294
-
9295
- player.embed.getVideoTitle().then(function (title) {
9296
- player.config.title = title;
9297
- ui.setTitle.call(_this2);
9298
- }); // Get current time
9299
-
9300
- player.embed.getCurrentTime().then(function (value) {
9301
- currentTime = value;
9302
- triggerEvent.call(player, player.media, 'timeupdate');
9303
- }); // Get duration
9304
-
9305
- player.embed.getDuration().then(function (value) {
9306
- player.media.duration = value;
9307
- triggerEvent.call(player, player.media, 'durationchange');
9308
- }); // Get captions
9309
-
9310
- player.embed.getTextTracks().then(function (tracks) {
9311
- player.media.textTracks = tracks;
9312
- captions.setup.call(player);
9313
- });
9314
- player.embed.on('cuechange', function (_ref) {
9315
- var _ref$cues = _ref.cues,
9316
- cues = _ref$cues === void 0 ? [] : _ref$cues;
9317
- var strippedCues = cues.map(function (cue) {
9318
- return stripHTML(cue.text);
9319
- });
9320
- captions.updateCues.call(player, strippedCues);
9321
- });
9322
- player.embed.on('loaded', function () {
9323
- // Assure state and events are updated on autoplay
9324
- player.embed.getPaused().then(function (paused) {
9325
- assurePlaybackState.call(player, !paused);
9326
-
9327
- if (!paused) {
9328
- triggerEvent.call(player, player.media, 'playing');
9329
- }
9330
- });
9331
-
9332
- if (is$1.element(player.embed.element) && player.supported.ui) {
9333
- var frame = player.embed.element; // Fix keyboard focus issues
9334
- // https://github.com/sampotts/plyr/issues/317
9335
-
9336
- frame.setAttribute('tabindex', -1);
9337
- }
9338
- });
9339
- player.embed.on('play', function () {
9340
- assurePlaybackState.call(player, true);
9341
- triggerEvent.call(player, player.media, 'playing');
9342
- });
9343
- player.embed.on('pause', function () {
9344
- assurePlaybackState.call(player, false);
9345
- });
9346
- player.embed.on('timeupdate', function (data) {
9347
- player.media.seeking = false;
9348
- currentTime = data.seconds;
9349
- triggerEvent.call(player, player.media, 'timeupdate');
9350
- });
9351
- player.embed.on('progress', function (data) {
9352
- player.media.buffered = data.percent;
9353
- triggerEvent.call(player, player.media, 'progress'); // Check all loaded
9354
-
9355
- if (parseInt(data.percent, 10) === 1) {
9356
- triggerEvent.call(player, player.media, 'canplaythrough');
9357
- } // Get duration as if we do it before load, it gives an incorrect value
9358
- // https://github.com/sampotts/plyr/issues/891
9359
-
9360
-
9361
- player.embed.getDuration().then(function (value) {
9362
- if (value !== player.media.duration) {
9363
- player.media.duration = value;
9364
- triggerEvent.call(player, player.media, 'durationchange');
9365
- }
9366
- });
9367
- });
9368
- player.embed.on('seeked', function () {
9369
- player.media.seeking = false;
9370
- triggerEvent.call(player, player.media, 'seeked');
9371
- });
9372
- player.embed.on('ended', function () {
9373
- player.media.paused = true;
9374
- triggerEvent.call(player, player.media, 'ended');
9375
- });
9376
- player.embed.on('error', function (detail) {
9377
- player.media.error = detail;
9378
- triggerEvent.call(player, player.media, 'error');
9379
- }); // Rebuild UI
9380
-
9381
- setTimeout(function () {
9382
- return ui.build.call(player);
9383
- }, 0);
9384
- }
9385
- };
9386
-
9387
- // ==========================================================================
9388
-
9389
- function parseId$1(url) {
9390
- if (is$1.empty(url)) {
9391
- return null;
9392
- }
9393
-
9394
- var regex = /^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|&v=)([^#&?]*).*/;
9395
- return url.match(regex) ? RegExp.$2 : url;
9396
- } // Set playback state and trigger change (only on actual change)
9397
-
9398
-
9399
- function assurePlaybackState$1(play) {
9400
- if (play && !this.embed.hasPlayed) {
9401
- this.embed.hasPlayed = true;
9402
- }
9403
-
9404
- if (this.media.paused === play) {
9405
- this.media.paused = !play;
9406
- triggerEvent.call(this, this.media, play ? 'play' : 'pause');
9407
- }
9408
- }
9409
-
9410
- function getHost(config) {
9411
- if (config.noCookie) {
9412
- return 'https://www.youtube-nocookie.com';
9413
- }
9414
-
9415
- if (window.location.protocol === 'http:') {
9416
- return 'http://www.youtube.com';
9417
- } // Use YouTube's default
9418
-
9419
-
9420
- return undefined;
9421
- }
9422
-
9423
- var youtube = {
9424
- setup: function setup() {
9425
- var _this = this;
9426
-
9427
- // Add embed class for responsive
9428
- toggleClass(this.elements.wrapper, this.config.classNames.embed, true); // Setup API
9429
-
9430
- if (is$1.object(window.YT) && is$1.function(window.YT.Player)) {
9431
- youtube.ready.call(this);
9432
- } else {
9433
- // Reference current global callback
9434
- var callback = window.onYouTubeIframeAPIReady; // Set callback to process queue
9435
-
9436
- window.onYouTubeIframeAPIReady = function () {
9437
- // Call global callback if set
9438
- if (is$1.function(callback)) {
9439
- callback();
9440
- }
9441
-
9442
- youtube.ready.call(_this);
9443
- }; // Load the SDK
9444
-
9445
-
9446
- loadScript(this.config.urls.youtube.sdk).catch(function (error) {
9447
- _this.debug.warn('YouTube API failed to load', error);
9448
- });
9449
- }
9450
- },
9451
- // Get the media title
9452
- getTitle: function getTitle(videoId) {
9453
- var _this2 = this;
9454
-
9455
- var url = format(this.config.urls.youtube.api, videoId);
9456
- fetch(url).then(function (data) {
9457
- if (is$1.object(data)) {
9458
- var title = data.title,
9459
- height = data.height,
9460
- width = data.width; // Set title
9461
-
9462
- _this2.config.title = title;
9463
- ui.setTitle.call(_this2); // Set aspect ratio
9464
-
9465
- _this2.embed.ratio = [width, height];
9466
- }
9467
-
9468
- setAspectRatio.call(_this2);
9469
- }).catch(function () {
9470
- // Set aspect ratio
9471
- setAspectRatio.call(_this2);
9472
- });
9473
- },
9474
- // API ready
9475
- ready: function ready() {
9476
- var player = this; // Ignore already setup (race condition)
9477
-
9478
- var currentId = player.media && player.media.getAttribute('id');
9479
-
9480
- if (!is$1.empty(currentId) && currentId.startsWith('youtube-')) {
9481
- return;
9482
- } // Get the source URL or ID
9483
-
9484
-
9485
- var source = player.media.getAttribute('src'); // Get from <div> if needed
9486
-
9487
- if (is$1.empty(source)) {
9488
- source = player.media.getAttribute(this.config.attributes.embed.id);
9489
- } // Replace the <iframe> with a <div> due to YouTube API issues
9490
-
9491
-
9492
- var videoId = parseId$1(source);
9493
- var id = generateId(player.provider); // Get poster, if already set
9494
-
9495
- var poster = player.poster; // Replace media element
9496
-
9497
- var container = createElement('div', {
9498
- id: id,
9499
- poster: poster
9500
- });
9501
- player.media = replaceElement(container, player.media); // Id to poster wrapper
9502
-
9503
- var posterSrc = function posterSrc(s) {
9504
- return "https://i.ytimg.com/vi/".concat(videoId, "/").concat(s, "default.jpg");
9505
- }; // Check thumbnail images in order of quality, but reject fallback thumbnails (120px wide)
9506
-
9507
-
9508
- loadImage(posterSrc('maxres'), 121) // Higest quality and unpadded
9509
- .catch(function () {
9510
- return loadImage(posterSrc('sd'), 121);
9511
- }) // 480p padded 4:3
9512
- .catch(function () {
9513
- return loadImage(posterSrc('hq'));
9514
- }) // 360p padded 4:3. Always exists
9515
- .then(function (image) {
9516
- return ui.setPoster.call(player, image.src);
9517
- }).then(function (src) {
9518
- // If the image is padded, use background-size "cover" instead (like youtube does too with their posters)
9519
- if (!src.includes('maxres')) {
9520
- player.elements.poster.style.backgroundSize = 'cover';
9521
- }
9522
- }).catch(function () {});
9523
- var config = player.config.youtube; // Setup instance
9524
- // https://developers.google.com/youtube/iframe_api_reference
9525
-
9526
- player.embed = new window.YT.Player(id, {
9527
- videoId: videoId,
9528
- host: getHost(config),
9529
- playerVars: extend({}, {
9530
- autoplay: player.config.autoplay ? 1 : 0,
9531
- // Autoplay
9532
- hl: player.config.hl,
9533
- // iframe interface language
9534
- controls: player.supported.ui ? 0 : 1,
9535
- // Only show controls if not fully supported
9536
- disablekb: 1,
9537
- // Disable keyboard as we handle it
9538
- playsinline: !player.config.fullscreen.iosNative ? 1 : 0,
9539
- // Allow iOS inline playback
9540
- // Captions are flaky on YouTube
9541
- cc_load_policy: player.captions.active ? 1 : 0,
9542
- cc_lang_pref: player.config.captions.language,
9543
- // Tracking for stats
9544
- widget_referrer: window ? window.location.href : null
9545
- }, config),
9546
- events: {
9547
- onError: function onError(event) {
9548
- // YouTube may fire onError twice, so only handle it once
9549
- if (!player.media.error) {
9550
- var code = event.data; // Messages copied from https://developers.google.com/youtube/iframe_api_reference#onError
9551
-
9552
- var message = {
9553
- 2: 'The request contains an invalid parameter value. For example, this error occurs if you specify a video ID that does not have 11 characters, or if the video ID contains invalid characters, such as exclamation points or asterisks.',
9554
- 5: 'The requested content cannot be played in an HTML5 player or another error related to the HTML5 player has occurred.',
9555
- 100: 'The video requested was not found. This error occurs when a video has been removed (for any reason) or has been marked as private.',
9556
- 101: 'The owner of the requested video does not allow it to be played in embedded players.',
9557
- 150: 'The owner of the requested video does not allow it to be played in embedded players.'
9558
- }[code] || 'An unknown error occured';
9559
- player.media.error = {
9560
- code: code,
9561
- message: message
9562
- };
9563
- triggerEvent.call(player, player.media, 'error');
9564
- }
9565
- },
9566
- onPlaybackRateChange: function onPlaybackRateChange(event) {
9567
- // Get the instance
9568
- var instance = event.target; // Get current speed
9569
-
9570
- player.media.playbackRate = instance.getPlaybackRate();
9571
- triggerEvent.call(player, player.media, 'ratechange');
9572
- },
9573
- onReady: function onReady(event) {
9574
- // Bail if onReady has already been called. See issue #1108
9575
- if (is$1.function(player.media.play)) {
9576
- return;
9577
- } // Get the instance
9578
-
9579
-
9580
- var instance = event.target; // Get the title
9581
-
9582
- youtube.getTitle.call(player, videoId); // Create a faux HTML5 API using the YouTube API
9583
-
9584
- player.media.play = function () {
9585
- assurePlaybackState$1.call(player, true);
9586
- instance.playVideo();
9587
- };
9588
-
9589
- player.media.pause = function () {
9590
- assurePlaybackState$1.call(player, false);
9591
- instance.pauseVideo();
9592
- };
9593
-
9594
- player.media.stop = function () {
9595
- instance.stopVideo();
9596
- };
9597
-
9598
- player.media.duration = instance.getDuration();
9599
- player.media.paused = true; // Seeking
9600
-
9601
- player.media.currentTime = 0;
9602
- Object.defineProperty(player.media, 'currentTime', {
9603
- get: function get() {
9604
- return Number(instance.getCurrentTime());
9605
- },
9606
- set: function set(time) {
9607
- // If paused and never played, mute audio preventively (YouTube starts playing on seek if the video hasn't been played yet).
9608
- if (player.paused && !player.embed.hasPlayed) {
9609
- player.embed.mute();
9610
- } // Set seeking state and trigger event
9611
-
9612
-
9613
- player.media.seeking = true;
9614
- triggerEvent.call(player, player.media, 'seeking'); // Seek after events sent
9615
-
9616
- instance.seekTo(time);
9617
- }
9618
- }); // Playback speed
9619
-
9620
- Object.defineProperty(player.media, 'playbackRate', {
9621
- get: function get() {
9622
- return instance.getPlaybackRate();
9623
- },
9624
- set: function set(input) {
9625
- instance.setPlaybackRate(input);
9626
- }
9627
- }); // Volume
9628
-
9629
- var volume = player.config.volume;
9630
- Object.defineProperty(player.media, 'volume', {
9631
- get: function get() {
9632
- return volume;
9633
- },
9634
- set: function set(input) {
9635
- volume = input;
9636
- instance.setVolume(volume * 100);
9637
- triggerEvent.call(player, player.media, 'volumechange');
9638
- }
9639
- }); // Muted
9640
-
9641
- var muted = player.config.muted;
9642
- Object.defineProperty(player.media, 'muted', {
9643
- get: function get() {
9644
- return muted;
9645
- },
9646
- set: function set(input) {
9647
- var toggle = is$1.boolean(input) ? input : muted;
9648
- muted = toggle;
9649
- instance[toggle ? 'mute' : 'unMute']();
9650
- triggerEvent.call(player, player.media, 'volumechange');
9651
- }
9652
- }); // Source
9653
-
9654
- Object.defineProperty(player.media, 'currentSrc', {
9655
- get: function get() {
9656
- return instance.getVideoUrl();
9657
- }
9658
- }); // Ended
9659
-
9660
- Object.defineProperty(player.media, 'ended', {
9661
- get: function get() {
9662
- return player.currentTime === player.duration;
9663
- }
9664
- }); // Get available speeds
9665
-
9666
- player.options.speed = instance.getAvailablePlaybackRates(); // Set the tabindex to avoid focus entering iframe
9667
-
9668
- if (player.supported.ui) {
9669
- player.media.setAttribute('tabindex', -1);
9670
- }
9671
-
9672
- triggerEvent.call(player, player.media, 'timeupdate');
9673
- triggerEvent.call(player, player.media, 'durationchange'); // Reset timer
9674
-
9675
- clearInterval(player.timers.buffering); // Setup buffering
9676
-
9677
- player.timers.buffering = setInterval(function () {
9678
- // Get loaded % from YouTube
9679
- player.media.buffered = instance.getVideoLoadedFraction(); // Trigger progress only when we actually buffer something
9680
-
9681
- if (player.media.lastBuffered === null || player.media.lastBuffered < player.media.buffered) {
9682
- triggerEvent.call(player, player.media, 'progress');
9683
- } // Set last buffer point
9684
-
9685
-
9686
- player.media.lastBuffered = player.media.buffered; // Bail if we're at 100%
9687
-
9688
- if (player.media.buffered === 1) {
9689
- clearInterval(player.timers.buffering); // Trigger event
9690
-
9691
- triggerEvent.call(player, player.media, 'canplaythrough');
9692
- }
9693
- }, 200); // Rebuild UI
9694
-
9695
- setTimeout(function () {
9696
- return ui.build.call(player);
9697
- }, 50);
9698
- },
9699
- onStateChange: function onStateChange(event) {
9700
- // Get the instance
9701
- var instance = event.target; // Reset timer
9702
-
9703
- clearInterval(player.timers.playing);
9704
- var seeked = player.media.seeking && [1, 2].includes(event.data);
9705
-
9706
- if (seeked) {
9707
- // Unset seeking and fire seeked event
9708
- player.media.seeking = false;
9709
- triggerEvent.call(player, player.media, 'seeked');
9710
- } // Handle events
9711
- // -1 Unstarted
9712
- // 0 Ended
9713
- // 1 Playing
9714
- // 2 Paused
9715
- // 3 Buffering
9716
- // 5 Video cued
9717
-
9718
-
9719
- switch (event.data) {
9720
- case -1:
9721
- // Update scrubber
9722
- triggerEvent.call(player, player.media, 'timeupdate'); // Get loaded % from YouTube
9723
-
9724
- player.media.buffered = instance.getVideoLoadedFraction();
9725
- triggerEvent.call(player, player.media, 'progress');
9726
- break;
9727
-
9728
- case 0:
9729
- assurePlaybackState$1.call(player, false); // YouTube doesn't support loop for a single video, so mimick it.
9730
-
9731
- if (player.media.loop) {
9732
- // YouTube needs a call to `stopVideo` before playing again
9733
- instance.stopVideo();
9734
- instance.playVideo();
9735
- } else {
9736
- triggerEvent.call(player, player.media, 'ended');
9737
- }
9738
-
9739
- break;
9740
-
9741
- case 1:
9742
- // Restore paused state (YouTube starts playing on seek if the video hasn't been played yet)
9743
- if (!player.config.autoplay && player.media.paused && !player.embed.hasPlayed) {
9744
- player.media.pause();
9745
- } else {
9746
- assurePlaybackState$1.call(player, true);
9747
- triggerEvent.call(player, player.media, 'playing'); // Poll to get playback progress
9748
-
9749
- player.timers.playing = setInterval(function () {
9750
- triggerEvent.call(player, player.media, 'timeupdate');
9751
- }, 50); // Check duration again due to YouTube bug
9752
- // https://github.com/sampotts/plyr/issues/374
9753
- // https://code.google.com/p/gdata-issues/issues/detail?id=8690
9754
-
9755
- if (player.media.duration !== instance.getDuration()) {
9756
- player.media.duration = instance.getDuration();
9757
- triggerEvent.call(player, player.media, 'durationchange');
9758
- }
9759
- }
9760
-
9761
- break;
9762
-
9763
- case 2:
9764
- // Restore audio (YouTube starts playing on seek if the video hasn't been played yet)
9765
- if (!player.muted) {
9766
- player.embed.unMute();
9767
- }
9768
-
9769
- assurePlaybackState$1.call(player, false);
9770
- break;
9771
-
9772
- default:
9773
- break;
9774
- }
9775
-
9776
- triggerEvent.call(player, player.elements.container, 'statechange', false, {
9777
- code: event.data
9778
- });
9779
- }
9780
- }
9781
- });
9782
- }
9783
- };
9784
-
9785
- // ==========================================================================
9786
- var media = {
9787
- // Setup media
9788
- setup: function setup() {
9789
- // If there's no media, bail
9790
- if (!this.media) {
9791
- this.debug.warn('No media element found!');
9792
- return;
9793
- } // Add type class
9794
-
9795
-
9796
- toggleClass(this.elements.container, this.config.classNames.type.replace('{0}', this.type), true); // Add provider class
9797
-
9798
- toggleClass(this.elements.container, this.config.classNames.provider.replace('{0}', this.provider), true); // Add video class for embeds
9799
- // This will require changes if audio embeds are added
9800
-
9801
- if (this.isEmbed) {
9802
- toggleClass(this.elements.container, this.config.classNames.type.replace('{0}', 'video'), true);
9803
- } // Inject the player wrapper
9804
-
9805
-
9806
- if (this.isVideo) {
9807
- // Create the wrapper div
9808
- this.elements.wrapper = createElement('div', {
9809
- class: this.config.classNames.video
9810
- }); // Wrap the video in a container
9811
-
9812
- wrap(this.media, this.elements.wrapper); // Faux poster container
9813
-
9814
- this.elements.poster = createElement('div', {
9815
- class: this.config.classNames.poster
9816
- });
9817
- this.elements.wrapper.appendChild(this.elements.poster);
9818
- }
9819
-
9820
- if (this.isHTML5) {
9821
- html5.extend.call(this);
9822
- } else if (this.isYouTube) {
9823
- youtube.setup.call(this);
9824
- } else if (this.isVimeo) {
9825
- vimeo.setup.call(this);
9826
- }
9827
- }
9828
- };
9829
-
9830
- var destroy = function destroy(instance) {
9831
- // Destroy our adsManager
9832
- if (instance.manager) {
9833
- instance.manager.destroy();
9834
- } // Destroy our adsManager
9835
-
9836
-
9837
- if (instance.elements.displayContainer) {
9838
- instance.elements.displayContainer.destroy();
9839
- }
9840
-
9841
- instance.elements.container.remove();
9842
- };
9843
-
9844
- var Ads =
9845
- /*#__PURE__*/
9846
- function () {
9847
- /**
9848
- * Ads constructor.
9849
- * @param {Object} player
9850
- * @return {Ads}
9851
- */
9852
- function Ads(player) {
9853
- var _this = this;
9854
-
9855
- _classCallCheck(this, Ads);
9856
-
9857
- this.player = player;
9858
- this.config = player.config.ads;
9859
- this.playing = false;
9860
- this.initialized = false;
9861
- this.elements = {
9862
- container: null,
9863
- displayContainer: null
9864
- };
9865
- this.manager = null;
9866
- this.loader = null;
9867
- this.cuePoints = null;
9868
- this.events = {};
9869
- this.safetyTimer = null;
9870
- this.countdownTimer = null; // Setup a promise to resolve when the IMA manager is ready
9871
-
9872
- this.managerPromise = new Promise(function (resolve, reject) {
9873
- // The ad is loaded and ready
9874
- _this.on('loaded', resolve); // Ads failed
9875
-
9876
-
9877
- _this.on('error', reject);
9878
- });
9879
- this.load();
9880
- }
9881
-
9882
- _createClass(Ads, [{
9883
- key: "load",
9884
-
9885
- /**
9886
- * Load the IMA SDK
9887
- */
9888
- value: function load() {
9889
- var _this2 = this;
9890
-
9891
- if (!this.enabled) {
9892
- return;
9893
- } // Check if the Google IMA3 SDK is loaded or load it ourselves
9894
-
9895
-
9896
- if (!is$1.object(window.google) || !is$1.object(window.google.ima)) {
9897
- loadScript(this.player.config.urls.googleIMA.sdk).then(function () {
9898
- _this2.ready();
9899
- }).catch(function () {
9900
- // Script failed to load or is blocked
9901
- _this2.trigger('error', new Error('Google IMA SDK failed to load'));
9902
- });
9903
- } else {
9904
- this.ready();
9905
- }
9906
- }
9907
- /**
9908
- * Get the ads instance ready
9909
- */
9910
-
9911
- }, {
9912
- key: "ready",
9913
- value: function ready() {
9914
- var _this3 = this;
9915
-
9916
- // Double check we're enabled
9917
- if (!this.enabled) {
9918
- destroy(this);
9919
- } // Start ticking our safety timer. If the whole advertisement
9920
- // thing doesn't resolve within our set time; we bail
9921
-
9922
-
9923
- this.startSafetyTimer(12000, 'ready()'); // Clear the safety timer
9924
-
9925
- this.managerPromise.then(function () {
9926
- _this3.clearSafetyTimer('onAdsManagerLoaded()');
9927
- }); // Set listeners on the Plyr instance
9928
-
9929
- this.listeners(); // Setup the IMA SDK
9930
-
9931
- this.setupIMA();
9932
- } // Build the tag URL
9933
-
9934
- }, {
9935
- key: "setupIMA",
9936
-
9937
- /**
9938
- * In order for the SDK to display ads for our video, we need to tell it where to put them,
9939
- * so here we define our ad container. This div is set up to render on top of the video player.
9940
- * Using the code below, we tell the SDK to render ads within that div. We also provide a
9941
- * handle to the content video player - the SDK will poll the current time of our player to
9942
- * properly place mid-rolls. After we create the ad display container, we initialize it. On
9943
- * mobile devices, this initialization is done as the result of a user action.
9944
- */
9945
- value: function setupIMA() {
9946
- // Create the container for our advertisements
9947
- this.elements.container = createElement('div', {
9948
- class: this.player.config.classNames.ads
9949
- });
9950
- this.player.elements.container.appendChild(this.elements.container); // So we can run VPAID2
9951
-
9952
- google.ima.settings.setVpaidMode(google.ima.ImaSdkSettings.VpaidMode.ENABLED); // Set language
9953
-
9954
- google.ima.settings.setLocale(this.player.config.ads.language); // Set playback for iOS10+
9955
-
9956
- google.ima.settings.setDisableCustomPlaybackForIOS10Plus(this.player.config.playsinline); // We assume the adContainer is the video container of the plyr element that will house the ads
9957
-
9958
- this.elements.displayContainer = new google.ima.AdDisplayContainer(this.elements.container, this.player.media); // Request video ads to be pre-loaded
9959
-
9960
- this.requestAds();
9961
- }
9962
- /**
9963
- * Request advertisements
9964
- */
9965
-
9966
- }, {
9967
- key: "requestAds",
9968
- value: function requestAds() {
9969
- var _this4 = this;
9970
-
9971
- var container = this.player.elements.container;
9972
-
9973
- try {
9974
- // Create ads loader
9975
- this.loader = new google.ima.AdsLoader(this.elements.displayContainer); // Listen and respond to ads loaded and error events
9976
-
9977
- this.loader.addEventListener(google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED, function (event) {
9978
- return _this4.onAdsManagerLoaded(event);
9979
- }, false);
9980
- this.loader.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, function (error) {
9981
- return _this4.onAdError(error);
9982
- }, false); // Request video ads
9983
-
9984
- var request = new google.ima.AdsRequest();
9985
- request.adTagUrl = this.tagUrl; // Specify the linear and nonlinear slot sizes. This helps the SDK
9986
- // to select the correct creative if multiple are returned
9987
-
9988
- request.linearAdSlotWidth = container.offsetWidth;
9989
- request.linearAdSlotHeight = container.offsetHeight;
9990
- request.nonLinearAdSlotWidth = container.offsetWidth;
9991
- request.nonLinearAdSlotHeight = container.offsetHeight; // We only overlay ads as we only support video.
9992
-
9993
- request.forceNonLinearFullSlot = false; // Mute based on current state
9994
-
9995
- request.setAdWillPlayMuted(!this.player.muted);
9996
- this.loader.requestAds(request);
9997
- } catch (e) {
9998
- this.onAdError(e);
9999
- }
10000
- }
10001
- /**
10002
- * Update the ad countdown
10003
- * @param {Boolean} start
10004
- */
10005
-
10006
- }, {
10007
- key: "pollCountdown",
10008
- value: function pollCountdown() {
10009
- var _this5 = this;
10010
-
10011
- var start = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
10012
-
10013
- if (!start) {
10014
- clearInterval(this.countdownTimer);
10015
- this.elements.container.removeAttribute('data-badge-text');
10016
- return;
10017
- }
10018
-
10019
- var update = function update() {
10020
- var time = formatTime(Math.max(_this5.manager.getRemainingTime(), 0));
10021
- var label = "".concat(i18n.get('advertisement', _this5.player.config), " - ").concat(time);
10022
-
10023
- _this5.elements.container.setAttribute('data-badge-text', label);
10024
- };
10025
-
10026
- this.countdownTimer = setInterval(update, 100);
10027
- }
10028
- /**
10029
- * This method is called whenever the ads are ready inside the AdDisplayContainer
10030
- * @param {Event} adsManagerLoadedEvent
10031
- */
10032
-
10033
- }, {
10034
- key: "onAdsManagerLoaded",
10035
- value: function onAdsManagerLoaded(event) {
10036
- var _this6 = this;
10037
-
10038
- // Load could occur after a source change (race condition)
10039
- if (!this.enabled) {
10040
- return;
10041
- } // Get the ads manager
10042
-
10043
-
10044
- var settings = new google.ima.AdsRenderingSettings(); // Tell the SDK to save and restore content video state on our behalf
10045
-
10046
- settings.restoreCustomPlaybackStateOnAdBreakComplete = true;
10047
- settings.enablePreloading = true; // The SDK is polling currentTime on the contentPlayback. And needs a duration
10048
- // so it can determine when to start the mid- and post-roll
10049
-
10050
- this.manager = event.getAdsManager(this.player, settings); // Get the cue points for any mid-rolls by filtering out the pre- and post-roll
10051
-
10052
- this.cuePoints = this.manager.getCuePoints(); // Add listeners to the required events
10053
- // Advertisement error events
10054
-
10055
- this.manager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, function (error) {
10056
- return _this6.onAdError(error);
10057
- }); // Advertisement regular events
10058
-
10059
- Object.keys(google.ima.AdEvent.Type).forEach(function (type) {
10060
- _this6.manager.addEventListener(google.ima.AdEvent.Type[type], function (e) {
10061
- return _this6.onAdEvent(e);
10062
- });
10063
- }); // Resolve our adsManager
10064
-
10065
- this.trigger('loaded');
10066
- }
10067
- }, {
10068
- key: "addCuePoints",
10069
- value: function addCuePoints() {
10070
- var _this7 = this;
10071
-
10072
- // Add advertisement cue's within the time line if available
10073
- if (!is$1.empty(this.cuePoints)) {
10074
- this.cuePoints.forEach(function (cuePoint) {
10075
- if (cuePoint !== 0 && cuePoint !== -1 && cuePoint < _this7.player.duration) {
10076
- var seekElement = _this7.player.elements.progress;
10077
-
10078
- if (is$1.element(seekElement)) {
10079
- var cuePercentage = 100 / _this7.player.duration * cuePoint;
10080
- var cue = createElement('span', {
10081
- class: _this7.player.config.classNames.cues
10082
- });
10083
- cue.style.left = "".concat(cuePercentage.toString(), "%");
10084
- seekElement.appendChild(cue);
10085
- }
10086
- }
10087
- });
10088
- }
10089
- }
10090
- /**
10091
- * This is where all the event handling takes place. Retrieve the ad from the event. Some
10092
- * events (e.g. ALL_ADS_COMPLETED) don't have the ad object associated
10093
- * https://developers.google.com/interactive-media-ads/docs/sdks/html5/v3/apis#ima.AdEvent.Type
10094
- * @param {Event} event
10095
- */
10096
-
10097
- }, {
10098
- key: "onAdEvent",
10099
- value: function onAdEvent(event) {
10100
- var _this8 = this;
10101
-
10102
- var container = this.player.elements.container; // Retrieve the ad from the event. Some events (e.g. ALL_ADS_COMPLETED)
10103
- // don't have ad object associated
10104
-
10105
- var ad = event.getAd();
10106
- var adData = event.getAdData(); // Proxy event
10107
-
10108
- var dispatchEvent = function dispatchEvent(type) {
10109
- triggerEvent.call(_this8.player, _this8.player.media, "ads".concat(type.replace(/_/g, '').toLowerCase()));
10110
- }; // Bubble the event
10111
-
10112
-
10113
- dispatchEvent(event.type);
10114
-
10115
- switch (event.type) {
10116
- case google.ima.AdEvent.Type.LOADED:
10117
- // This is the first event sent for an ad - it is possible to determine whether the
10118
- // ad is a video ad or an overlay
10119
- this.trigger('loaded'); // Start countdown
10120
-
10121
- this.pollCountdown(true);
10122
-
10123
- if (!ad.isLinear()) {
10124
- // Position AdDisplayContainer correctly for overlay
10125
- ad.width = container.offsetWidth;
10126
- ad.height = container.offsetHeight;
10127
- } // console.info('Ad type: ' + event.getAd().getAdPodInfo().getPodIndex());
10128
- // console.info('Ad time: ' + event.getAd().getAdPodInfo().getTimeOffset());
10129
-
10130
-
10131
- break;
10132
-
10133
- case google.ima.AdEvent.Type.STARTED:
10134
- // Set volume to match player
10135
- this.manager.setVolume(this.player.volume);
10136
- break;
10137
-
10138
- case google.ima.AdEvent.Type.ALL_ADS_COMPLETED:
10139
- // All ads for the current videos are done. We can now request new advertisements
10140
- // in case the video is re-played
10141
- // TODO: Example for what happens when a next video in a playlist would be loaded.
10142
- // So here we load a new video when all ads are done.
10143
- // Then we load new ads within a new adsManager. When the video
10144
- // Is started - after - the ads are loaded, then we get ads.
10145
- // You can also easily test cancelling and reloading by running
10146
- // player.ads.cancel() and player.ads.play from the console I guess.
10147
- // this.player.source = {
10148
- // type: 'video',
10149
- // title: 'View From A Blue Moon',
10150
- // sources: [{
10151
- // src:
10152
- // 'https://cdn.plyr.io/static/demo/View_From_A_Blue_Moon_Trailer-HD.mp4', type:
10153
- // 'video/mp4', }], poster:
10154
- // 'https://cdn.plyr.io/static/demo/View_From_A_Blue_Moon_Trailer-HD.jpg', tracks:
10155
- // [ { kind: 'captions', label: 'English', srclang: 'en', src:
10156
- // 'https://cdn.plyr.io/static/demo/View_From_A_Blue_Moon_Trailer-HD.en.vtt',
10157
- // default: true, }, { kind: 'captions', label: 'French', srclang: 'fr', src:
10158
- // 'https://cdn.plyr.io/static/demo/View_From_A_Blue_Moon_Trailer-HD.fr.vtt', }, ],
10159
- // };
10160
- // TODO: So there is still this thing where a video should only be allowed to start
10161
- // playing when the IMA SDK is ready or has failed
10162
- this.loadAds();
10163
- break;
10164
-
10165
- case google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED:
10166
- // This event indicates the ad has started - the video player can adjust the UI,
10167
- // for example display a pause button and remaining time. Fired when content should
10168
- // be paused. This usually happens right before an ad is about to cover the content
10169
- this.pauseContent();
10170
- break;
10171
-
10172
- case google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED:
10173
- // This event indicates the ad has finished - the video player can perform
10174
- // appropriate UI actions, such as removing the timer for remaining time detection.
10175
- // Fired when content should be resumed. This usually happens when an ad finishes
10176
- // or collapses
10177
- this.pollCountdown();
10178
- this.resumeContent();
10179
- break;
10180
-
10181
- case google.ima.AdEvent.Type.LOG:
10182
- if (adData.adError) {
10183
- this.player.debug.warn("Non-fatal ad error: ".concat(adData.adError.getMessage()));
10184
- }
10185
-
10186
- break;
10187
-
10188
- default:
10189
- break;
10190
- }
10191
- }
10192
- /**
10193
- * Any ad error handling comes through here
10194
- * @param {Event} event
10195
- */
10196
-
10197
- }, {
10198
- key: "onAdError",
10199
- value: function onAdError(event) {
10200
- this.cancel();
10201
- this.player.debug.warn('Ads error', event);
10202
- }
10203
- /**
10204
- * Setup hooks for Plyr and window events. This ensures
10205
- * the mid- and post-roll launch at the correct time. And
10206
- * resize the advertisement when the player resizes
10207
- */
10208
-
10209
- }, {
10210
- key: "listeners",
10211
- value: function listeners() {
10212
- var _this9 = this;
10213
-
10214
- var container = this.player.elements.container;
10215
- var time;
10216
- this.player.on('canplay', function () {
10217
- _this9.addCuePoints();
10218
- });
10219
- this.player.on('ended', function () {
10220
- _this9.loader.contentComplete();
10221
- });
10222
- this.player.on('timeupdate', function () {
10223
- time = _this9.player.currentTime;
10224
- });
10225
- this.player.on('seeked', function () {
10226
- var seekedTime = _this9.player.currentTime;
10227
-
10228
- if (is$1.empty(_this9.cuePoints)) {
10229
- return;
10230
- }
10231
-
10232
- _this9.cuePoints.forEach(function (cuePoint, index) {
10233
- if (time < cuePoint && cuePoint < seekedTime) {
10234
- _this9.manager.discardAdBreak();
10235
-
10236
- _this9.cuePoints.splice(index, 1);
10237
- }
10238
- });
10239
- }); // Listen to the resizing of the window. And resize ad accordingly
10240
- // TODO: eventually implement ResizeObserver
10241
-
10242
- window.addEventListener('resize', function () {
10243
- if (_this9.manager) {
10244
- _this9.manager.resize(container.offsetWidth, container.offsetHeight, google.ima.ViewMode.NORMAL);
10245
- }
10246
- });
10247
- }
10248
- /**
10249
- * Initialize the adsManager and start playing advertisements
10250
- */
10251
-
10252
- }, {
10253
- key: "play",
10254
- value: function play() {
10255
- var _this10 = this;
10256
-
10257
- var container = this.player.elements.container;
10258
-
10259
- if (!this.managerPromise) {
10260
- this.resumeContent();
10261
- } // Play the requested advertisement whenever the adsManager is ready
10262
-
10263
-
10264
- this.managerPromise.then(function () {
10265
- // Set volume to match player
10266
- _this10.manager.setVolume(_this10.player.volume); // Initialize the container. Must be done via a user action on mobile devices
10267
-
10268
-
10269
- _this10.elements.displayContainer.initialize();
10270
-
10271
- try {
10272
- if (!_this10.initialized) {
10273
- // Initialize the ads manager. Ad rules playlist will start at this time
10274
- _this10.manager.init(container.offsetWidth, container.offsetHeight, google.ima.ViewMode.NORMAL); // Call play to start showing the ad. Single video and overlay ads will
10275
- // start at this time; the call will be ignored for ad rules
10276
-
10277
-
10278
- _this10.manager.start();
10279
- }
10280
-
10281
- _this10.initialized = true;
10282
- } catch (adError) {
10283
- // An error may be thrown if there was a problem with the
10284
- // VAST response
10285
- _this10.onAdError(adError);
10286
- }
10287
- }).catch(function () {});
10288
- }
10289
- /**
10290
- * Resume our video
10291
- */
10292
-
10293
- }, {
10294
- key: "resumeContent",
10295
- value: function resumeContent() {
10296
- // Hide the advertisement container
10297
- this.elements.container.style.zIndex = ''; // Ad is stopped
10298
-
10299
- this.playing = false; // Play video
10300
-
10301
- this.player.media.play();
10302
- }
10303
- /**
10304
- * Pause our video
10305
- */
10306
-
10307
- }, {
10308
- key: "pauseContent",
10309
- value: function pauseContent() {
10310
- // Show the advertisement container
10311
- this.elements.container.style.zIndex = 3; // Ad is playing
10312
-
10313
- this.playing = true; // Pause our video.
10314
-
10315
- this.player.media.pause();
10316
- }
10317
- /**
10318
- * Destroy the adsManager so we can grab new ads after this. If we don't then we're not
10319
- * allowed to call new ads based on google policies, as they interpret this as an accidental
10320
- * video requests. https://developers.google.com/interactive-
10321
- * media-ads/docs/sdks/android/faq#8
10322
- */
10323
-
10324
- }, {
10325
- key: "cancel",
10326
- value: function cancel() {
10327
- // Pause our video
10328
- if (this.initialized) {
10329
- this.resumeContent();
10330
- } // Tell our instance that we're done for now
10331
-
10332
-
10333
- this.trigger('error'); // Re-create our adsManager
10334
-
10335
- this.loadAds();
10336
- }
10337
- /**
10338
- * Re-create our adsManager
10339
- */
10340
-
10341
- }, {
10342
- key: "loadAds",
10343
- value: function loadAds() {
10344
- var _this11 = this;
10345
-
10346
- // Tell our adsManager to go bye bye
10347
- this.managerPromise.then(function () {
10348
- // Destroy our adsManager
10349
- if (_this11.manager) {
10350
- _this11.manager.destroy();
10351
- } // Re-set our adsManager promises
10352
-
10353
-
10354
- _this11.managerPromise = new Promise(function (resolve) {
10355
- _this11.on('loaded', resolve);
10356
-
10357
- _this11.player.debug.log(_this11.manager);
10358
- }); // Now request some new advertisements
10359
-
10360
- _this11.requestAds();
10361
- }).catch(function () {});
10362
- }
10363
- /**
10364
- * Handles callbacks after an ad event was invoked
10365
- * @param {String} event - Event type
10366
- */
10367
-
10368
- }, {
10369
- key: "trigger",
10370
- value: function trigger(event) {
10371
- var _this12 = this;
10372
-
10373
- for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
10374
- args[_key - 1] = arguments[_key];
10375
- }
10376
-
10377
- var handlers = this.events[event];
10378
-
10379
- if (is$1.array(handlers)) {
10380
- handlers.forEach(function (handler) {
10381
- if (is$1.function(handler)) {
10382
- handler.apply(_this12, args);
10383
- }
10384
- });
10385
- }
10386
- }
10387
- /**
10388
- * Add event listeners
10389
- * @param {String} event - Event type
10390
- * @param {Function} callback - Callback for when event occurs
10391
- * @return {Ads}
10392
- */
10393
-
10394
- }, {
10395
- key: "on",
10396
- value: function on(event, callback) {
10397
- if (!is$1.array(this.events[event])) {
10398
- this.events[event] = [];
10399
- }
10400
-
10401
- this.events[event].push(callback);
10402
- return this;
10403
- }
10404
- /**
10405
- * Setup a safety timer for when the ad network doesn't respond for whatever reason.
10406
- * The advertisement has 12 seconds to get its things together. We stop this timer when the
10407
- * advertisement is playing, or when a user action is required to start, then we clear the
10408
- * timer on ad ready
10409
- * @param {Number} time
10410
- * @param {String} from
10411
- */
10412
-
10413
- }, {
10414
- key: "startSafetyTimer",
10415
- value: function startSafetyTimer(time, from) {
10416
- var _this13 = this;
10417
-
10418
- this.player.debug.log("Safety timer invoked from: ".concat(from));
10419
- this.safetyTimer = setTimeout(function () {
10420
- _this13.cancel();
10421
-
10422
- _this13.clearSafetyTimer('startSafetyTimer()');
10423
- }, time);
10424
- }
10425
- /**
10426
- * Clear our safety timer(s)
10427
- * @param {String} from
10428
- */
10429
-
10430
- }, {
10431
- key: "clearSafetyTimer",
10432
- value: function clearSafetyTimer(from) {
10433
- if (!is$1.nullOrUndefined(this.safetyTimer)) {
10434
- this.player.debug.log("Safety timer cleared from: ".concat(from));
10435
- clearTimeout(this.safetyTimer);
10436
- this.safetyTimer = null;
10437
- }
10438
- }
10439
- }, {
10440
- key: "enabled",
10441
- get: function get() {
10442
- var config = this.config;
10443
- return this.player.isHTML5 && this.player.isVideo && config.enabled && (!is$1.empty(config.publisherId) || is$1.url(config.tagUrl));
10444
- }
10445
- }, {
10446
- key: "tagUrl",
10447
- get: function get() {
10448
- var config = this.config;
10449
-
10450
- if (is$1.url(config.tagUrl)) {
10451
- return config.tagUrl;
10452
- }
10453
-
10454
- var params = {
10455
- AV_PUBLISHERID: '58c25bb0073ef448b1087ad6',
10456
- AV_CHANNELID: '5a0458dc28a06145e4519d21',
10457
- AV_URL: window.location.hostname,
10458
- cb: Date.now(),
10459
- AV_WIDTH: 640,
10460
- AV_HEIGHT: 480,
10461
- AV_CDIM2: this.publisherId
10462
- };
10463
- var base = 'https://go.aniview.com/api/adserver6/vast/';
10464
- return "".concat(base, "?").concat(buildUrlParams(params));
10465
- }
10466
- }]);
10467
-
10468
- return Ads;
10469
- }();
10470
-
10471
- var parseVtt = function parseVtt(vttDataString) {
10472
- var processedList = [];
10473
- var frames = vttDataString.split(/\r\n\r\n|\n\n|\r\r/);
10474
- frames.forEach(function (frame) {
10475
- var result = {};
10476
- var lines = frame.split(/\r\n|\n|\r/);
10477
- lines.forEach(function (line) {
10478
- if (!is$1.number(result.startTime)) {
10479
- // The line with start and end times on it is the first line of interest
10480
- var matchTimes = line.match(/([0-9]{2})?:?([0-9]{2}):([0-9]{2}).([0-9]{2,3})( ?--> ?)([0-9]{2})?:?([0-9]{2}):([0-9]{2}).([0-9]{2,3})/); // Note that this currently ignores caption formatting directives that are optionally on the end of this line - fine for non-captions VTT
10481
-
10482
- if (matchTimes) {
10483
- result.startTime = Number(matchTimes[1] || 0) * 60 * 60 + Number(matchTimes[2]) * 60 + Number(matchTimes[3]) + Number("0.".concat(matchTimes[4]));
10484
- result.endTime = Number(matchTimes[6] || 0) * 60 * 60 + Number(matchTimes[7]) * 60 + Number(matchTimes[8]) + Number("0.".concat(matchTimes[9]));
10485
- }
10486
- } else if (!is$1.empty(line.trim()) && is$1.empty(result.text)) {
10487
- // If we already have the startTime, then we're definitely up to the text line(s)
10488
- var lineSplit = line.trim().split('#xywh=');
10489
-
10490
- var _lineSplit = _slicedToArray(lineSplit, 1);
10491
-
10492
- result.text = _lineSplit[0];
10493
-
10494
- // If there's content in lineSplit[1], then we have sprites. If not, then it's just one frame per image
10495
- if (lineSplit[1]) {
10496
- var _lineSplit$1$split = lineSplit[1].split(',');
10497
-
10498
- var _lineSplit$1$split2 = _slicedToArray(_lineSplit$1$split, 4);
10499
-
10500
- result.x = _lineSplit$1$split2[0];
10501
- result.y = _lineSplit$1$split2[1];
10502
- result.w = _lineSplit$1$split2[2];
10503
- result.h = _lineSplit$1$split2[3];
10504
- }
10505
- }
10506
- });
10507
-
10508
- if (result.text) {
10509
- processedList.push(result);
10510
- }
10511
- });
10512
- return processedList;
10513
- };
10514
- /**
10515
- * Preview thumbnails for seek hover and scrubbing
10516
- * Seeking: Hover over the seek bar (desktop only): shows a small preview container above the seek bar
10517
- * Scrubbing: Click and drag the seek bar (desktop and mobile): shows the preview image over the entire video, as if the video is scrubbing at very high speed
10518
- *
10519
- * Notes:
10520
- * - Thumbs are set via JS settings on Plyr init, not HTML5 'track' property. Using the track property would be a bit gross, because it doesn't support custom 'kinds'. kind=metadata might be used for something else, and we want to allow multiple thumbnails tracks. Tracks must have a unique combination of 'kind' and 'label'. We would have to do something like kind=metadata,label=thumbnails1 / kind=metadata,label=thumbnails2. Square peg, round hole
10521
- * - VTT info: the image URL is relative to the VTT, not the current document. But if the url starts with a slash, it will naturally be relative to the current domain. https://support.jwplayer.com/articles/how-to-add-preview-thumbnails
10522
- * - This implementation uses multiple separate img elements. Other implementations use background-image on one element. This would be nice and simple, but Firefox and Safari have flickering issues with replacing backgrounds of larger images. It seems that YouTube perhaps only avoids this because they don't have the option for high-res previews (even the fullscreen ones, when mousedown/seeking). Images appear over the top of each other, and previous ones are discarded once the new ones have been rendered
10523
- */
10524
-
10525
-
10526
- var PreviewThumbnails =
10527
- /*#__PURE__*/
10528
- function () {
10529
- /**
10530
- * PreviewThumbnails constructor.
10531
- * @param {Plyr} player
10532
- * @return {PreviewThumbnails}
10533
- */
10534
- function PreviewThumbnails(player) {
10535
- _classCallCheck(this, PreviewThumbnails);
10536
-
10537
- this.player = player;
10538
- this.thumbnails = [];
10539
- this.loaded = false;
10540
- this.lastMouseMoveTime = Date.now();
10541
- this.mouseDown = false;
10542
- this.loadedImages = [];
10543
- this.elements = {
10544
- thumb: {},
10545
- scrubbing: {}
10546
- };
10547
- this.load();
10548
- }
10549
-
10550
- _createClass(PreviewThumbnails, [{
10551
- key: "load",
10552
- value: function load() {
10553
- var _this = this;
10554
-
10555
- // Togglethe regular seek tooltip
10556
- if (this.player.elements.display.seekTooltip) {
10557
- this.player.elements.display.seekTooltip.hidden = this.enabled;
10558
- }
10559
-
10560
- if (!this.enabled) {
10561
- return;
10562
- }
10563
-
10564
- this.getThumbnails().then(function () {
10565
- if (!_this.enabled) {
10566
- return;
10567
- } // Render DOM elements
10568
-
10569
-
10570
- _this.render(); // Check to see if thumb container size was specified manually in CSS
10571
-
10572
-
10573
- _this.determineContainerAutoSizing();
10574
-
10575
- _this.loaded = true;
10576
- });
10577
- } // Download VTT files and parse them
10578
-
10579
- }, {
10580
- key: "getThumbnails",
10581
- value: function getThumbnails() {
10582
- var _this2 = this;
10583
-
10584
- return new Promise(function (resolve) {
10585
- var src = _this2.player.config.previewThumbnails.src;
10586
-
10587
- if (is$1.empty(src)) {
10588
- throw new Error('Missing previewThumbnails.src config attribute');
10589
- } // If string, convert into single-element list
10590
-
10591
-
10592
- var urls = is$1.string(src) ? [src] : src; // Loop through each src URL. Download and process the VTT file, storing the resulting data in this.thumbnails
10593
-
10594
- var promises = urls.map(function (u) {
10595
- return _this2.getThumbnail(u);
10596
- });
10597
- Promise.all(promises).then(function () {
10598
- // Sort smallest to biggest (e.g., [120p, 480p, 1080p])
10599
- _this2.thumbnails.sort(function (x, y) {
10600
- return x.height - y.height;
10601
- });
10602
-
10603
- _this2.player.debug.log('Preview thumbnails', _this2.thumbnails);
10604
-
10605
- resolve();
10606
- });
10607
- });
10608
- } // Process individual VTT file
10609
-
10610
- }, {
10611
- key: "getThumbnail",
10612
- value: function getThumbnail(url) {
10613
- var _this3 = this;
10614
-
10615
- return new Promise(function (resolve) {
10616
- fetch(url).then(function (response) {
10617
- var thumbnail = {
10618
- frames: parseVtt(response),
10619
- height: null,
10620
- urlPrefix: ''
10621
- }; // If the URLs don't start with '/', then we need to set their relative path to be the location of the VTT file
10622
- // If the URLs do start with '/', then they obviously don't need a prefix, so it will remain blank
10623
- // If the thumbnail URLs start with with none of '/', 'http://' or 'https://', then we need to set their relative path to be the location of the VTT file
10624
-
10625
- if (!thumbnail.frames[0].text.startsWith('/') && !thumbnail.frames[0].text.startsWith('http://') && !thumbnail.frames[0].text.startsWith('https://')) {
10626
- thumbnail.urlPrefix = url.substring(0, url.lastIndexOf('/') + 1);
10627
- } // Download the first frame, so that we can determine/set the height of this thumbnailsDef
10628
-
10629
-
10630
- var tempImage = new Image();
10631
-
10632
- tempImage.onload = function () {
10633
- thumbnail.height = tempImage.naturalHeight;
10634
- thumbnail.width = tempImage.naturalWidth;
10635
-
10636
- _this3.thumbnails.push(thumbnail);
10637
-
10638
- resolve();
10639
- };
10640
-
10641
- tempImage.src = thumbnail.urlPrefix + thumbnail.frames[0].text;
10642
- });
10643
- });
10644
- }
10645
- }, {
10646
- key: "startMove",
10647
- value: function startMove(event) {
10648
- if (!this.loaded) {
10649
- return;
10650
- }
10651
-
10652
- if (!is$1.event(event) || !['touchmove', 'mousemove'].includes(event.type)) {
10653
- return;
10654
- } // Wait until media has a duration
10655
-
10656
-
10657
- if (!this.player.media.duration) {
10658
- return;
10659
- }
10660
-
10661
- if (event.type === 'touchmove') {
10662
- // Calculate seek hover position as approx video seconds
10663
- this.seekTime = this.player.media.duration * (this.player.elements.inputs.seek.value / 100);
10664
- } else {
10665
- // Calculate seek hover position as approx video seconds
10666
- var clientRect = this.player.elements.progress.getBoundingClientRect();
10667
- var percentage = 100 / clientRect.width * (event.pageX - clientRect.left);
10668
- this.seekTime = this.player.media.duration * (percentage / 100);
10669
-
10670
- if (this.seekTime < 0) {
10671
- // The mousemove fires for 10+px out to the left
10672
- this.seekTime = 0;
10673
- }
10674
-
10675
- if (this.seekTime > this.player.media.duration - 1) {
10676
- // Took 1 second off the duration for safety, because different players can disagree on the real duration of a video
10677
- this.seekTime = this.player.media.duration - 1;
10678
- }
10679
-
10680
- this.mousePosX = event.pageX; // Set time text inside image container
10681
-
10682
- this.elements.thumb.time.innerText = formatTime(this.seekTime);
10683
- } // Download and show image
10684
-
10685
-
10686
- this.showImageAtCurrentTime();
10687
- }
10688
- }, {
10689
- key: "endMove",
10690
- value: function endMove() {
10691
- this.toggleThumbContainer(false, true);
10692
- }
10693
- }, {
10694
- key: "startScrubbing",
10695
- value: function startScrubbing(event) {
10696
- // Only act on left mouse button (0), or touch device (event.button is false)
10697
- if (event.button === false || event.button === 0) {
10698
- this.mouseDown = true; // Wait until media has a duration
10699
-
10700
- if (this.player.media.duration) {
10701
- this.toggleScrubbingContainer(true);
10702
- this.toggleThumbContainer(false, true); // Download and show image
10703
-
10704
- this.showImageAtCurrentTime();
10705
- }
10706
- }
10707
- }
10708
- }, {
10709
- key: "endScrubbing",
10710
- value: function endScrubbing() {
10711
- var _this4 = this;
10712
-
10713
- this.mouseDown = false; // Hide scrubbing preview. But wait until the video has successfully seeked before hiding the scrubbing preview
10714
-
10715
- if (Math.ceil(this.lastTime) === Math.ceil(this.player.media.currentTime)) {
10716
- // The video was already seeked/loaded at the chosen time - hide immediately
10717
- this.toggleScrubbingContainer(false);
10718
- } else {
10719
- // The video hasn't seeked yet. Wait for that
10720
- once.call(this.player, this.player.media, 'timeupdate', function () {
10721
- // Re-check mousedown - we might have already started scrubbing again
10722
- if (!_this4.mouseDown) {
10723
- _this4.toggleScrubbingContainer(false);
10724
- }
10725
- });
10726
- }
10727
- }
10728
- /**
10729
- * Setup hooks for Plyr and window events
10730
- */
10731
-
10732
- }, {
10733
- key: "listeners",
10734
- value: function listeners() {
10735
- var _this5 = this;
10736
-
10737
- // Hide thumbnail preview - on mouse click, mouse leave (in listeners.js for now), and video play/seek. All four are required, e.g., for buffering
10738
- this.player.on('play', function () {
10739
- _this5.toggleThumbContainer(false, true);
10740
- });
10741
- this.player.on('seeked', function () {
10742
- _this5.toggleThumbContainer(false);
10743
- });
10744
- this.player.on('timeupdate', function () {
10745
- _this5.lastTime = _this5.player.media.currentTime;
10746
- });
10747
- }
10748
- /**
10749
- * Create HTML elements for image containers
10750
- */
10751
-
10752
- }, {
10753
- key: "render",
10754
- value: function render() {
10755
- // Create HTML element: plyr__preview-thumbnail-container
10756
- this.elements.thumb.container = createElement('div', {
10757
- class: this.player.config.classNames.previewThumbnails.thumbContainer
10758
- }); // Wrapper for the image for styling
10759
-
10760
- this.elements.thumb.imageContainer = createElement('div', {
10761
- class: this.player.config.classNames.previewThumbnails.imageContainer
10762
- });
10763
- this.elements.thumb.container.appendChild(this.elements.thumb.imageContainer); // Create HTML element, parent+span: time text (e.g., 01:32:00)
10764
-
10765
- var timeContainer = createElement('div', {
10766
- class: this.player.config.classNames.previewThumbnails.timeContainer
10767
- });
10768
- this.elements.thumb.time = createElement('span', {}, '00:00');
10769
- timeContainer.appendChild(this.elements.thumb.time);
10770
- this.elements.thumb.container.appendChild(timeContainer); // Inject the whole thumb
10771
-
10772
- if (is$1.element(this.player.elements.progress)) {
10773
- this.player.elements.progress.appendChild(this.elements.thumb.container);
10774
- } // Create HTML element: plyr__preview-scrubbing-container
10775
-
10776
-
10777
- this.elements.scrubbing.container = createElement('div', {
10778
- class: this.player.config.classNames.previewThumbnails.scrubbingContainer
10779
- });
10780
- this.player.elements.wrapper.appendChild(this.elements.scrubbing.container);
10781
- }
10782
- }, {
10783
- key: "showImageAtCurrentTime",
10784
- value: function showImageAtCurrentTime() {
10785
- var _this6 = this;
10786
-
10787
- if (this.mouseDown) {
10788
- this.setScrubbingContainerSize();
10789
- } else {
10790
- this.setThumbContainerSizeAndPos();
10791
- } // Find the desired thumbnail index
10792
- // TODO: Handle a video longer than the thumbs where thumbNum is null
10793
-
10794
-
10795
- var thumbNum = this.thumbnails[0].frames.findIndex(function (frame) {
10796
- return _this6.seekTime >= frame.startTime && _this6.seekTime <= frame.endTime;
10797
- });
10798
- var hasThumb = thumbNum >= 0;
10799
- var qualityIndex = 0; // Show the thumb container if we're not scrubbing
10800
-
10801
- if (!this.mouseDown) {
10802
- this.toggleThumbContainer(hasThumb);
10803
- } // No matching thumb found
10804
-
10805
-
10806
- if (!hasThumb) {
10807
- return;
10808
- } // Check to see if we've already downloaded higher quality versions of this image
10809
-
10810
-
10811
- this.thumbnails.forEach(function (thumbnail, index) {
10812
- if (_this6.loadedImages.includes(thumbnail.frames[thumbNum].text)) {
10813
- qualityIndex = index;
10814
- }
10815
- }); // Only proceed if either thumbnum or thumbfilename has changed
10816
-
10817
- if (thumbNum !== this.showingThumb) {
10818
- this.showingThumb = thumbNum;
10819
- this.loadImage(qualityIndex);
10820
- }
10821
- } // Show the image that's currently specified in this.showingThumb
10822
-
10823
- }, {
10824
- key: "loadImage",
10825
- value: function loadImage() {
10826
- var _this7 = this;
10827
-
10828
- var qualityIndex = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
10829
- var thumbNum = this.showingThumb;
10830
- var thumbnail = this.thumbnails[qualityIndex];
10831
- var urlPrefix = thumbnail.urlPrefix;
10832
- var frame = thumbnail.frames[thumbNum];
10833
- var thumbFilename = thumbnail.frames[thumbNum].text;
10834
- var thumbUrl = urlPrefix + thumbFilename;
10835
-
10836
- if (!this.currentImageElement || this.currentImageElement.dataset.filename !== thumbFilename) {
10837
- // If we're already loading a previous image, remove its onload handler - we don't want it to load after this one
10838
- // Only do this if not using sprites. Without sprites we really want to show as many images as possible, as a best-effort
10839
- if (this.loadingImage && this.usingSprites) {
10840
- this.loadingImage.onload = null;
10841
- } // We're building and adding a new image. In other implementations of similar functionality (YouTube), background image
10842
- // is instead used. But this causes issues with larger images in Firefox and Safari - switching between background
10843
- // images causes a flicker. Putting a new image over the top does not
10844
-
10845
-
10846
- var previewImage = new Image();
10847
- previewImage.src = thumbUrl;
10848
- previewImage.dataset.index = thumbNum;
10849
- previewImage.dataset.filename = thumbFilename;
10850
- this.showingThumbFilename = thumbFilename;
10851
- this.player.debug.log("Loading image: ".concat(thumbUrl)); // For some reason, passing the named function directly causes it to execute immediately. So I've wrapped it in an anonymous function...
10852
-
10853
- previewImage.onload = function () {
10854
- return _this7.showImage(previewImage, frame, qualityIndex, thumbNum, thumbFilename, true);
10855
- };
10856
-
10857
- this.loadingImage = previewImage;
10858
- this.removeOldImages(previewImage);
10859
- } else {
10860
- // Update the existing image
10861
- this.showImage(this.currentImageElement, frame, qualityIndex, thumbNum, thumbFilename, false);
10862
- this.currentImageElement.dataset.index = thumbNum;
10863
- this.removeOldImages(this.currentImageElement);
10864
- }
10865
- }
10866
- }, {
10867
- key: "showImage",
10868
- value: function showImage(previewImage, frame, qualityIndex, thumbNum, thumbFilename) {
10869
- var newImage = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : true;
10870
- this.player.debug.log("Showing thumb: ".concat(thumbFilename, ". num: ").concat(thumbNum, ". qual: ").concat(qualityIndex, ". newimg: ").concat(newImage));
10871
- this.setImageSizeAndOffset(previewImage, frame);
10872
-
10873
- if (newImage) {
10874
- this.currentImageContainer.appendChild(previewImage);
10875
- this.currentImageElement = previewImage;
10876
-
10877
- if (!this.loadedImages.includes(thumbFilename)) {
10878
- this.loadedImages.push(thumbFilename);
10879
- }
10880
- } // Preload images before and after the current one
10881
- // Show higher quality of the same frame
10882
- // Each step here has a short time delay, and only continues if still hovering/seeking the same spot. This is to protect slow connections from overloading
10883
-
10884
-
10885
- this.preloadNearby(thumbNum, true).then(this.preloadNearby(thumbNum, false)).then(this.getHigherQuality(qualityIndex, previewImage, frame, thumbFilename));
10886
- } // Remove all preview images that aren't the designated current image
10887
-
10888
- }, {
10889
- key: "removeOldImages",
10890
- value: function removeOldImages(currentImage) {
10891
- var _this8 = this;
10892
-
10893
- // Get a list of all images, convert it from a DOM list to an array
10894
- Array.from(this.currentImageContainer.children).forEach(function (image) {
10895
- if (image.tagName.toLowerCase() !== 'img') {
10896
- return;
10897
- }
10898
-
10899
- var removeDelay = _this8.usingSprites ? 500 : 1000;
10900
-
10901
- if (image.dataset.index !== currentImage.dataset.index && !image.dataset.deleting) {
10902
- // Wait 200ms, as the new image can take some time to show on certain browsers (even though it was downloaded before showing). This will prevent flicker, and show some generosity towards slower clients
10903
- // First set attribute 'deleting' to prevent multi-handling of this on repeat firing of this function
10904
- // eslint-disable-next-line no-param-reassign
10905
- image.dataset.deleting = true; // This has to be set before the timeout - to prevent issues switching between hover and scrub
10906
-
10907
- var currentImageContainer = _this8.currentImageContainer;
10908
- setTimeout(function () {
10909
- currentImageContainer.removeChild(image);
10910
-
10911
- _this8.player.debug.log("Removing thumb: ".concat(image.dataset.filename));
10912
- }, removeDelay);
10913
- }
10914
- });
10915
- } // Preload images before and after the current one. Only if the user is still hovering/seeking the same frame
10916
- // This will only preload the lowest quality
10917
-
10918
- }, {
10919
- key: "preloadNearby",
10920
- value: function preloadNearby(thumbNum) {
10921
- var _this9 = this;
10922
-
10923
- var forward = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
10924
- return new Promise(function (resolve) {
10925
- setTimeout(function () {
10926
- var oldThumbFilename = _this9.thumbnails[0].frames[thumbNum].text;
10927
-
10928
- if (_this9.showingThumbFilename === oldThumbFilename) {
10929
- // Find the nearest thumbs with different filenames. Sometimes it'll be the next index, but in the case of sprites, it might be 100+ away
10930
- var thumbnailsClone;
10931
-
10932
- if (forward) {
10933
- thumbnailsClone = _this9.thumbnails[0].frames.slice(thumbNum);
10934
- } else {
10935
- thumbnailsClone = _this9.thumbnails[0].frames.slice(0, thumbNum).reverse();
10936
- }
10937
-
10938
- var foundOne = false;
10939
- thumbnailsClone.forEach(function (frame) {
10940
- var newThumbFilename = frame.text;
10941
-
10942
- if (newThumbFilename !== oldThumbFilename) {
10943
- // Found one with a different filename. Make sure it hasn't already been loaded on this page visit
10944
- if (!_this9.loadedImages.includes(newThumbFilename)) {
10945
- foundOne = true;
10946
-
10947
- _this9.player.debug.log("Preloading thumb filename: ".concat(newThumbFilename));
10948
-
10949
- var urlPrefix = _this9.thumbnails[0].urlPrefix;
10950
- var thumbURL = urlPrefix + newThumbFilename;
10951
- var previewImage = new Image();
10952
- previewImage.src = thumbURL;
10953
-
10954
- previewImage.onload = function () {
10955
- _this9.player.debug.log("Preloaded thumb filename: ".concat(newThumbFilename));
10956
-
10957
- if (!_this9.loadedImages.includes(newThumbFilename)) _this9.loadedImages.push(newThumbFilename); // We don't resolve until the thumb is loaded
10958
-
10959
- resolve();
10960
- };
10961
- }
10962
- }
10963
- }); // If there are none to preload then we want to resolve immediately
10964
-
10965
- if (!foundOne) {
10966
- resolve();
10967
- }
10968
- }
10969
- }, 300);
10970
- });
10971
- } // If user has been hovering current image for half a second, look for a higher quality one
10972
-
10973
- }, {
10974
- key: "getHigherQuality",
10975
- value: function getHigherQuality(currentQualityIndex, previewImage, frame, thumbFilename) {
10976
- var _this10 = this;
10977
-
10978
- if (currentQualityIndex < this.thumbnails.length - 1) {
10979
- // Only use the higher quality version if it's going to look any better - if the current thumb is of a lower pixel density than the thumbnail container
10980
- var previewImageHeight = previewImage.naturalHeight;
10981
-
10982
- if (this.usingSprites) {
10983
- previewImageHeight = frame.h;
10984
- }
10985
-
10986
- if (previewImageHeight < this.thumbContainerHeight) {
10987
- // Recurse back to the loadImage function - show a higher quality one, but only if the viewer is on this frame for a while
10988
- setTimeout(function () {
10989
- // Make sure the mouse hasn't already moved on and started hovering at another image
10990
- if (_this10.showingThumbFilename === thumbFilename) {
10991
- _this10.player.debug.log("Showing higher quality thumb for: ".concat(thumbFilename));
10992
-
10993
- _this10.loadImage(currentQualityIndex + 1);
10994
- }
10995
- }, 300);
10996
- }
10997
- }
10998
- }
10999
- }, {
11000
- key: "toggleThumbContainer",
11001
- value: function toggleThumbContainer() {
11002
- var toggle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
11003
- var clearShowing = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
11004
- var className = this.player.config.classNames.previewThumbnails.thumbContainerShown;
11005
- this.elements.thumb.container.classList.toggle(className, toggle);
11006
-
11007
- if (!toggle && clearShowing) {
11008
- this.showingThumb = null;
11009
- this.showingThumbFilename = null;
11010
- }
11011
- }
11012
- }, {
11013
- key: "toggleScrubbingContainer",
11014
- value: function toggleScrubbingContainer() {
11015
- var toggle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
11016
- var className = this.player.config.classNames.previewThumbnails.scrubbingContainerShown;
11017
- this.elements.scrubbing.container.classList.toggle(className, toggle);
11018
-
11019
- if (!toggle) {
11020
- this.showingThumb = null;
11021
- this.showingThumbFilename = null;
11022
- }
11023
- }
11024
- }, {
11025
- key: "determineContainerAutoSizing",
11026
- value: function determineContainerAutoSizing() {
11027
- if (this.elements.thumb.imageContainer.clientHeight > 20) {
11028
- // This will prevent auto sizing in this.setThumbContainerSizeAndPos()
11029
- this.sizeSpecifiedInCSS = true;
11030
- }
11031
- } // Set the size to be about a quarter of the size of video. Unless option dynamicSize === false, in which case it needs to be set in CSS
11032
-
11033
- }, {
11034
- key: "setThumbContainerSizeAndPos",
11035
- value: function setThumbContainerSizeAndPos() {
11036
- if (!this.sizeSpecifiedInCSS) {
11037
- var thumbWidth = Math.floor(this.thumbContainerHeight * this.thumbAspectRatio);
11038
- this.elements.thumb.imageContainer.style.height = "".concat(this.thumbContainerHeight, "px");
11039
- this.elements.thumb.imageContainer.style.width = "".concat(thumbWidth, "px");
11040
- }
11041
-
11042
- this.setThumbContainerPos();
11043
- }
11044
- }, {
11045
- key: "setThumbContainerPos",
11046
- value: function setThumbContainerPos() {
11047
- var seekbarRect = this.player.elements.progress.getBoundingClientRect();
11048
- var plyrRect = this.player.elements.container.getBoundingClientRect();
11049
- var container = this.elements.thumb.container; // Find the lowest and highest desired left-position, so we don't slide out the side of the video container
11050
-
11051
- var minVal = plyrRect.left - seekbarRect.left + 10;
11052
- var maxVal = plyrRect.right - seekbarRect.left - container.clientWidth - 10; // Set preview container position to: mousepos, minus seekbar.left, minus half of previewContainer.clientWidth
11053
-
11054
- var previewPos = this.mousePosX - seekbarRect.left - container.clientWidth / 2;
11055
-
11056
- if (previewPos < minVal) {
11057
- previewPos = minVal;
11058
- }
11059
-
11060
- if (previewPos > maxVal) {
11061
- previewPos = maxVal;
11062
- }
11063
-
11064
- container.style.left = "".concat(previewPos, "px");
11065
- } // Can't use 100% width, in case the video is a different aspect ratio to the video container
11066
-
11067
- }, {
11068
- key: "setScrubbingContainerSize",
11069
- value: function setScrubbingContainerSize() {
11070
- this.elements.scrubbing.container.style.width = "".concat(this.player.media.clientWidth, "px"); // Can't use media.clientHeight - html5 video goes big and does black bars above and below
11071
-
11072
- this.elements.scrubbing.container.style.height = "".concat(this.player.media.clientWidth / this.thumbAspectRatio, "px");
11073
- } // Sprites need to be offset to the correct location
11074
-
11075
- }, {
11076
- key: "setImageSizeAndOffset",
11077
- value: function setImageSizeAndOffset(previewImage, frame) {
11078
- if (!this.usingSprites) {
11079
- return;
11080
- } // Find difference between height and preview container height
11081
-
11082
-
11083
- var multiplier = this.thumbContainerHeight / frame.h; // eslint-disable-next-line no-param-reassign
11084
-
11085
- previewImage.style.height = "".concat(Math.floor(previewImage.naturalHeight * multiplier), "px"); // eslint-disable-next-line no-param-reassign
11086
-
11087
- previewImage.style.width = "".concat(Math.floor(previewImage.naturalWidth * multiplier), "px"); // eslint-disable-next-line no-param-reassign
11088
-
11089
- previewImage.style.left = "-".concat(frame.x * multiplier, "px"); // eslint-disable-next-line no-param-reassign
11090
-
11091
- previewImage.style.top = "-".concat(frame.y * multiplier, "px");
11092
- }
11093
- }, {
11094
- key: "enabled",
11095
- get: function get() {
11096
- return this.player.isHTML5 && this.player.isVideo && this.player.config.previewThumbnails.enabled;
11097
- }
11098
- }, {
11099
- key: "currentImageContainer",
11100
- get: function get() {
11101
- if (this.mouseDown) {
11102
- return this.elements.scrubbing.container;
11103
- }
11104
-
11105
- return this.elements.thumb.imageContainer;
11106
- }
11107
- }, {
11108
- key: "usingSprites",
11109
- get: function get() {
11110
- return Object.keys(this.thumbnails[0].frames[0]).includes('w');
11111
- }
11112
- }, {
11113
- key: "thumbAspectRatio",
11114
- get: function get() {
11115
- if (this.usingSprites) {
11116
- return this.thumbnails[0].frames[0].w / this.thumbnails[0].frames[0].h;
11117
- }
11118
-
11119
- return this.thumbnails[0].width / this.thumbnails[0].height;
11120
- }
11121
- }, {
11122
- key: "thumbContainerHeight",
11123
- get: function get() {
11124
- if (this.mouseDown) {
11125
- // Can't use media.clientHeight - HTML5 video goes big and does black bars above and below
11126
- return Math.floor(this.player.media.clientWidth / this.thumbAspectRatio);
11127
- }
11128
-
11129
- return Math.floor(this.player.media.clientWidth / this.thumbAspectRatio / 4);
11130
- }
11131
- }, {
11132
- key: "currentImageElement",
11133
- get: function get() {
11134
- if (this.mouseDown) {
11135
- return this.currentScrubbingImageElement;
11136
- }
11137
-
11138
- return this.currentThumbnailImageElement;
11139
- },
11140
- set: function set(element) {
11141
- if (this.mouseDown) {
11142
- this.currentScrubbingImageElement = element;
11143
- } else {
11144
- this.currentThumbnailImageElement = element;
11145
- }
11146
- }
11147
- }]);
11148
-
11149
- return PreviewThumbnails;
11150
- }();
11151
-
11152
- var source = {
11153
- // Add elements to HTML5 media (source, tracks, etc)
11154
- insertElements: function insertElements(type, attributes) {
11155
- var _this = this;
11156
-
11157
- if (is$1.string(attributes)) {
11158
- insertElement(type, this.media, {
11159
- src: attributes
11160
- });
11161
- } else if (is$1.array(attributes)) {
11162
- attributes.forEach(function (attribute) {
11163
- insertElement(type, _this.media, attribute);
11164
- });
11165
- }
11166
- },
11167
- // Update source
11168
- // Sources are not checked for support so be careful
11169
- change: function change(input) {
11170
- var _this2 = this;
11171
-
11172
- if (!getDeep(input, 'sources.length')) {
11173
- this.debug.warn('Invalid source format');
11174
- return;
11175
- } // Cancel current network requests
11176
-
11177
-
11178
- html5.cancelRequests.call(this); // Destroy instance and re-setup
11179
-
11180
- this.destroy.call(this, function () {
11181
- // Reset quality options
11182
- _this2.options.quality = []; // Remove elements
11183
-
11184
- removeElement(_this2.media);
11185
- _this2.media = null; // Reset class name
11186
-
11187
- if (is$1.element(_this2.elements.container)) {
11188
- _this2.elements.container.removeAttribute('class');
11189
- } // Set the type and provider
11190
-
11191
-
11192
- var sources = input.sources,
11193
- type = input.type;
11194
-
11195
- var _sources = _slicedToArray(sources, 1),
11196
- _sources$ = _sources[0],
11197
- _sources$$provider = _sources$.provider,
11198
- provider = _sources$$provider === void 0 ? providers.html5 : _sources$$provider,
11199
- src = _sources$.src;
11200
-
11201
- var tagName = provider === 'html5' ? type : 'div';
11202
- var attributes = provider === 'html5' ? {} : {
11203
- src: src
11204
- };
11205
- Object.assign(_this2, {
11206
- provider: provider,
11207
- type: type,
11208
- // Check for support
11209
- supported: support.check(type, provider, _this2.config.playsinline),
11210
- // Create new element
11211
- media: createElement(tagName, attributes)
11212
- }); // Inject the new element
11213
-
11214
- _this2.elements.container.appendChild(_this2.media); // Autoplay the new source?
11215
-
11216
-
11217
- if (is$1.boolean(input.autoplay)) {
11218
- _this2.config.autoplay = input.autoplay;
11219
- } // Set attributes for audio and video
11220
-
11221
-
11222
- if (_this2.isHTML5) {
11223
- if (_this2.config.crossorigin) {
11224
- _this2.media.setAttribute('crossorigin', '');
11225
- }
11226
-
11227
- if (_this2.config.autoplay) {
11228
- _this2.media.setAttribute('autoplay', '');
11229
- }
11230
-
11231
- if (!is$1.empty(input.poster)) {
11232
- _this2.poster = input.poster;
11233
- }
11234
-
11235
- if (_this2.config.loop.active) {
11236
- _this2.media.setAttribute('loop', '');
11237
- }
11238
-
11239
- if (_this2.config.muted) {
11240
- _this2.media.setAttribute('muted', '');
11241
- }
11242
-
11243
- if (_this2.config.playsinline) {
11244
- _this2.media.setAttribute('playsinline', '');
11245
- }
11246
- } // Restore class hook
11247
-
11248
-
11249
- ui.addStyleHook.call(_this2); // Set new sources for html5
11250
-
11251
- if (_this2.isHTML5) {
11252
- source.insertElements.call(_this2, 'source', sources);
11253
- } // Set video title
11254
-
11255
-
11256
- _this2.config.title = input.title; // Set up from scratch
11257
-
11258
- media.setup.call(_this2); // HTML5 stuff
11259
-
11260
- if (_this2.isHTML5) {
11261
- // Setup captions
11262
- if (Object.keys(input).includes('tracks')) {
11263
- source.insertElements.call(_this2, 'track', input.tracks);
11264
- }
11265
- } // If HTML5 or embed but not fully supported, setupInterface and call ready now
11266
-
11267
-
11268
- if (_this2.isHTML5 || _this2.isEmbed && !_this2.supported.ui) {
11269
- // Setup interface
11270
- ui.build.call(_this2);
11271
- } // Load HTML5 sources
11272
-
11273
-
11274
- if (_this2.isHTML5) {
11275
- _this2.media.load();
11276
- } // Reload thumbnails
11277
-
11278
-
11279
- if (_this2.previewThumbnails) {
11280
- _this2.previewThumbnails.load();
11281
- } // Update the fullscreen support
11282
-
11283
-
11284
- _this2.fullscreen.update();
11285
- }, true);
11286
- }
11287
- };
11288
-
11289
- /**
11290
- * Returns a number whose value is limited to the given range.
11291
- *
11292
- * Example: limit the output of this computation to between 0 and 255
11293
- * (x * 255).clamp(0, 255)
11294
- *
11295
- * @param {Number} input
11296
- * @param {Number} min The lower boundary of the output range
11297
- * @param {Number} max The upper boundary of the output range
11298
- * @returns A number in the range [min, max]
11299
- * @type Number
11300
- */
11301
- function clamp() {
11302
- var input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
11303
- var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
11304
- var max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 255;
11305
- return Math.min(Math.max(input, min), max);
11306
- }
11307
-
11308
- // TODO: Use a WeakMap for private globals
11309
- // const globals = new WeakMap();
11310
- // Plyr instance
11311
-
11312
- var Plyr =
11313
- /*#__PURE__*/
11314
- function () {
11315
- function Plyr(target, options) {
11316
- var _this = this;
11317
-
11318
- _classCallCheck(this, Plyr);
11319
-
11320
- this.timers = {}; // State
11321
-
11322
- this.ready = false;
11323
- this.loading = false;
11324
- this.failed = false; // Touch device
11325
-
11326
- this.touch = support.touch; // Set the media element
11327
-
11328
- this.media = target; // String selector passed
11329
-
11330
- if (is$1.string(this.media)) {
11331
- this.media = document.querySelectorAll(this.media);
11332
- } // jQuery, NodeList or Array passed, use first element
11333
-
11334
-
11335
- if (window.jQuery && this.media instanceof jQuery || is$1.nodeList(this.media) || is$1.array(this.media)) {
11336
- // eslint-disable-next-line
11337
- this.media = this.media[0];
11338
- } // Set config
11339
-
11340
-
11341
- this.config = extend({}, defaults$1, Plyr.defaults, options || {}, function () {
11342
- try {
11343
- return JSON.parse(_this.media.getAttribute('data-plyr-config'));
11344
- } catch (e) {
11345
- return {};
11346
- }
11347
- }()); // Elements cache
11348
-
11349
- this.elements = {
11350
- container: null,
11351
- captions: null,
11352
- buttons: {},
11353
- display: {},
11354
- progress: {},
11355
- inputs: {},
11356
- settings: {
11357
- popup: null,
11358
- menu: null,
11359
- panels: {},
11360
- buttons: {}
11361
- }
11362
- }; // Captions
11363
-
11364
- this.captions = {
11365
- active: null,
11366
- currentTrack: -1,
11367
- meta: new WeakMap()
11368
- }; // Fullscreen
11369
-
11370
- this.fullscreen = {
11371
- active: false
11372
- }; // Options
11373
-
11374
- this.options = {
11375
- speed: [],
11376
- quality: []
11377
- }; // Debugging
11378
- // TODO: move to globals
11379
-
11380
- this.debug = new Console(this.config.debug); // Log config options and support
11381
-
11382
- this.debug.log('Config', this.config);
11383
- this.debug.log('Support', support); // We need an element to setup
11384
-
11385
- if (is$1.nullOrUndefined(this.media) || !is$1.element(this.media)) {
11386
- this.debug.error('Setup failed: no suitable element passed');
11387
- return;
11388
- } // Bail if the element is initialized
11389
-
11390
-
11391
- if (this.media.plyr) {
11392
- this.debug.warn('Target already setup');
11393
- return;
11394
- } // Bail if not enabled
11395
-
11396
-
11397
- if (!this.config.enabled) {
11398
- this.debug.error('Setup failed: disabled by config');
11399
- return;
11400
- } // Bail if disabled or no basic support
11401
- // You may want to disable certain UAs etc
11402
-
11403
-
11404
- if (!support.check().api) {
11405
- this.debug.error('Setup failed: no support');
11406
- return;
11407
- } // Cache original element state for .destroy()
11408
-
11409
-
11410
- var clone = this.media.cloneNode(true);
11411
- clone.autoplay = false;
11412
- this.elements.original = clone; // Set media type based on tag or data attribute
11413
- // Supported: video, audio, vimeo, youtube
11414
-
11415
- var type = this.media.tagName.toLowerCase(); // Embed properties
11416
-
11417
- var iframe = null;
11418
- var url = null; // Different setup based on type
11419
-
11420
- switch (type) {
11421
- case 'div':
11422
- // Find the frame
11423
- iframe = this.media.querySelector('iframe'); // <iframe> type
11424
-
11425
- if (is$1.element(iframe)) {
11426
- // Detect provider
11427
- url = parseUrl(iframe.getAttribute('src'));
11428
- this.provider = getProviderByUrl(url.toString()); // Rework elements
11429
-
11430
- this.elements.container = this.media;
11431
- this.media = iframe; // Reset classname
11432
-
11433
- this.elements.container.className = ''; // Get attributes from URL and set config
11434
-
11435
- if (url.search.length) {
11436
- var truthy = ['1', 'true'];
11437
-
11438
- if (truthy.includes(url.searchParams.get('autoplay'))) {
11439
- this.config.autoplay = true;
11440
- }
11441
-
11442
- if (truthy.includes(url.searchParams.get('loop'))) {
11443
- this.config.loop.active = true;
11444
- } // TODO: replace fullscreen.iosNative with this playsinline config option
11445
- // YouTube requires the playsinline in the URL
11446
-
11447
-
11448
- if (this.isYouTube) {
11449
- this.config.playsinline = truthy.includes(url.searchParams.get('playsinline'));
11450
- this.config.youtube.hl = url.searchParams.get('hl'); // TODO: Should this be setting language?
11451
- } else {
11452
- this.config.playsinline = true;
11453
- }
11454
- }
11455
- } else {
11456
- // <div> with attributes
11457
- this.provider = this.media.getAttribute(this.config.attributes.embed.provider); // Remove attribute
11458
-
11459
- this.media.removeAttribute(this.config.attributes.embed.provider);
11460
- } // Unsupported or missing provider
11461
-
11462
-
11463
- if (is$1.empty(this.provider) || !Object.keys(providers).includes(this.provider)) {
11464
- this.debug.error('Setup failed: Invalid provider');
11465
- return;
11466
- } // Audio will come later for external providers
11467
-
11468
-
11469
- this.type = types.video;
11470
- break;
11471
-
11472
- case 'video':
11473
- case 'audio':
11474
- this.type = type;
11475
- this.provider = providers.html5; // Get config from attributes
11476
-
11477
- if (this.media.hasAttribute('crossorigin')) {
11478
- this.config.crossorigin = true;
11479
- }
11480
-
11481
- if (this.media.hasAttribute('autoplay')) {
11482
- this.config.autoplay = true;
11483
- }
11484
-
11485
- if (this.media.hasAttribute('playsinline') || this.media.hasAttribute('webkit-playsinline')) {
11486
- this.config.playsinline = true;
11487
- }
11488
-
11489
- if (this.media.hasAttribute('muted')) {
11490
- this.config.muted = true;
11491
- }
11492
-
11493
- if (this.media.hasAttribute('loop')) {
11494
- this.config.loop.active = true;
11495
- }
11496
-
11497
- break;
11498
-
11499
- default:
11500
- this.debug.error('Setup failed: unsupported type');
11501
- return;
11502
- } // Check for support again but with type
11503
-
11504
-
11505
- this.supported = support.check(this.type, this.provider, this.config.playsinline); // If no support for even API, bail
11506
-
11507
- if (!this.supported.api) {
11508
- this.debug.error('Setup failed: no support');
11509
- return;
11510
- }
11511
-
11512
- this.eventListeners = []; // Create listeners
11513
-
11514
- this.listeners = new Listeners(this); // Setup local storage for user settings
11515
-
11516
- this.storage = new Storage(this); // Store reference
11517
-
11518
- this.media.plyr = this; // Wrap media
11519
-
11520
- if (!is$1.element(this.elements.container)) {
11521
- this.elements.container = createElement('div', {
11522
- tabindex: 0
11523
- });
11524
- wrap(this.media, this.elements.container);
11525
- } // Add style hook
11526
-
11527
-
11528
- ui.addStyleHook.call(this); // Setup media
11529
-
11530
- media.setup.call(this); // Listen for events if debugging
11531
-
11532
- if (this.config.debug) {
11533
- on.call(this, this.elements.container, this.config.events.join(' '), function (event) {
11534
- _this.debug.log("event: ".concat(event.type));
11535
- });
11536
- } // Setup interface
11537
- // If embed but not fully supported, build interface now to avoid flash of controls
11538
-
11539
-
11540
- if (this.isHTML5 || this.isEmbed && !this.supported.ui) {
11541
- ui.build.call(this);
11542
- } // Container listeners
11543
-
11544
-
11545
- this.listeners.container(); // Global listeners
11546
-
11547
- this.listeners.global(); // Setup fullscreen
11548
-
11549
- this.fullscreen = new Fullscreen(this); // Setup ads if provided
11550
-
11551
- if (this.config.ads.enabled) {
11552
- this.ads = new Ads(this);
11553
- } // Autoplay if required
11554
-
11555
-
11556
- if (this.isHTML5 && this.config.autoplay) {
11557
- setTimeout(function () {
11558
- return _this.play();
11559
- }, 10);
11560
- } // Seek time will be recorded (in listeners.js) so we can prevent hiding controls for a few seconds after seek
11561
-
11562
-
11563
- this.lastSeekTime = 0; // Setup preview thumbnails if enabled
11564
-
11565
- if (this.config.previewThumbnails.enabled) {
11566
- this.previewThumbnails = new PreviewThumbnails(this);
11567
- }
11568
- } // ---------------------------------------
11569
- // API
11570
- // ---------------------------------------
11571
-
11572
- /**
11573
- * Types and provider helpers
11574
- */
11575
-
11576
-
11577
- _createClass(Plyr, [{
11578
- key: "play",
11579
-
11580
- /**
11581
- * Play the media, or play the advertisement (if they are not blocked)
11582
- */
11583
- value: function play() {
11584
- var _this2 = this;
11585
-
11586
- if (!is$1.function(this.media.play)) {
11587
- return null;
11588
- } // Intecept play with ads
11589
-
11590
-
11591
- if (this.ads && this.ads.enabled) {
11592
- this.ads.managerPromise.then(function () {
11593
- return _this2.ads.play();
11594
- }).catch(function () {
11595
- return _this2.media.play();
11596
- });
11597
- } // Return the promise (for HTML5)
11598
-
11599
-
11600
- return this.media.play();
11601
- }
11602
- /**
11603
- * Pause the media
11604
- */
11605
-
11606
- }, {
11607
- key: "pause",
11608
- value: function pause() {
11609
- if (!this.playing || !is$1.function(this.media.pause)) {
11610
- return;
11611
- }
11612
-
11613
- this.media.pause();
11614
- }
11615
- /**
11616
- * Get playing state
11617
- */
11618
-
11619
- }, {
11620
- key: "togglePlay",
11621
-
11622
- /**
11623
- * Toggle playback based on current status
11624
- * @param {Boolean} input
11625
- */
11626
- value: function togglePlay(input) {
11627
- // Toggle based on current state if nothing passed
11628
- var toggle = is$1.boolean(input) ? input : !this.playing;
11629
-
11630
- if (toggle) {
11631
- this.play();
11632
- } else {
11633
- this.pause();
11634
- }
11635
- }
11636
- /**
11637
- * Stop playback
11638
- */
11639
-
11640
- }, {
11641
- key: "stop",
11642
- value: function stop() {
11643
- if (this.isHTML5) {
11644
- this.pause();
11645
- this.restart();
11646
- } else if (is$1.function(this.media.stop)) {
11647
- this.media.stop();
11648
- }
11649
- }
11650
- /**
11651
- * Restart playback
11652
- */
11653
-
11654
- }, {
11655
- key: "restart",
11656
- value: function restart() {
11657
- this.currentTime = 0;
11658
- }
11659
- /**
11660
- * Rewind
11661
- * @param {Number} seekTime - how far to rewind in seconds. Defaults to the config.seekTime
11662
- */
11663
-
11664
- }, {
11665
- key: "rewind",
11666
- value: function rewind(seekTime) {
11667
- this.currentTime = this.currentTime - (is$1.number(seekTime) ? seekTime : this.config.seekTime);
11668
- }
11669
- /**
11670
- * Fast forward
11671
- * @param {Number} seekTime - how far to fast forward in seconds. Defaults to the config.seekTime
11672
- */
11673
-
11674
- }, {
11675
- key: "forward",
11676
- value: function forward(seekTime) {
11677
- this.currentTime = this.currentTime + (is$1.number(seekTime) ? seekTime : this.config.seekTime);
11678
- }
11679
- /**
11680
- * Seek to a time
11681
-
 
 
 
1
  /*!
2
+ * Countdown v0.1.0
3
+ * https://github.com/fengyuanchen/countdown
 
 
 
4
  *
5
+ * Copyright 2014 Fengyuan Chen
6
  * Released under the MIT license
 
7
  */
8
 
9
+ (function (factory) {
10
+ if (typeof define === "function" && define.amd) {
11
+ // AMD. Register as anonymous module.
12
+ define(["jquery"], factory);
13
+ } else {
14
+ // Browser globals.
15
+ factory(jQuery);
16
+ }
17
+ })(function ($) {
18
 
 
19
  "use strict";
20
 
21
+ var Countdown = function (element, options) {
22
+ this.$element = $(element);
23
+ this.defaults = $.extend({}, Countdown.defaults, this.$element.data(), $.isPlainObject(options) ? options : {});
24
+ this.init();
 
 
25
  };
26
 
27
+ Countdown.prototype = {
28
+ constructor: Countdown,
29
 
30
+ init: function () {
31
+ var content = this.$element.html(),
32
+ date = new Date(this.defaults.date || content);
 
33
 
34
+ if (date.getTime()) {
35
+ this.content = content;
36
+ this.date = date;
37
+ this.find();
38
 
39
+ if (this.defaults.autoStart) {
40
+ this.start();
41
+ }
42
+ }
43
+ },
44
 
45
+ find: function () {
46
+ var $element = this.$element;
 
47
 
48
+ this.$days = $element.find("[data-days]");
49
+ this.$hours = $element.find("[data-hours]");
50
+ this.$minutes = $element.find("[data-minutes]");
51
+ this.$seconds = $element.find("[data-seconds]");
52
+
53
+ if ((this.$days.length + this.$hours.length + this.$minutes.length + this.$seconds.length) > 0) {
54
+ this.found = true;
55
+ }
56
  },
 
 
 
57
 
58
+ reset: function () {
59
+ if (this.found) {
60
+ this.output("days");
61
+ this.output("hours");
62
+ this.output("minutes");
63
+ this.output("seconds");
64
+ } else {
65
+ this.output();
66
+ }
67
+ },
68
+
69
+ ready: function () {
70
+ var date = this.date,
71
+ decisecond = 100,
72
+ second = 1000,
73
+ minute = 60000,
74
+ hour = 3600000,
75
+ day = 86400000,
76
+ remainder = {},
77
+ diff;
78
+
79
+ if (!date) {
80
+ return false;
81
+ }
82
+
83
+ diff = date.getTime() - (new Date()).getTime();
84
+
85
+ if (diff <= 0) {
86
+ this.end();
87
+ return false;
88
  }
89
+
90
+ remainder.days = diff;
91
+ remainder.hours = remainder.days % day;
92
+ remainder.minutes = remainder.hours % hour;
93
+ remainder.seconds = remainder.minutes % minute;
94
+ remainder.milliseconds = remainder.seconds % second;
95
+
96
+ this.days = Math.floor(remainder.days / day);
97
+ this.hours = Math.floor(remainder.hours / hour);
98
+ this.minutes = Math.floor(remainder.minutes / minute);
99
+ this.seconds = Math.floor(remainder.seconds / second);
100
+ this.deciseconds = Math.floor(remainder.milliseconds / decisecond);
101
+
102
+ return true;
103
  },
104
+
105
  start: function () {
106
+ if (!this.active && this.ready()) {
107
+ this.active = true;
108
+ this.reset();
109
+ this.autoUpdate = this.defaults.fast ?
110
+ setInterval($.proxy(this.fastUpdate, this), 100) :
111
+ setInterval($.proxy(this.update, this), 1000);
112
+ }
113
  },
114
+
115
  stop: function () {
116
+ if (this.active) {
117
+ this.active = false;
118
+ clearInterval(this.autoUpdate);
119
+ }
120
+ },
121
 
122
+ end: function () {
123
+ if (!this.date) {
124
+ return;
 
125
  }
 
 
 
126
 
127
+ this.stop();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
128