jekyll-theme-satellite 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,86 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ {%- assign page_tree = page.path | remove_first: "_pages/" | split: "/" -%}
4
+ {%- assign page_level = page_tree.size -%}
5
+ {% if page_tree.last == "index.md" %}
6
+ {%- assign page_type = "category" -%}
7
+ {% else %}
8
+ {%- assign page_type = "post" -%}
9
+ {% endif %}
10
+ <head>
11
+ {% include head.html %}
12
+ <link rel="preload" href="{{ site.profile_img }}" as="image">
13
+ <link rel="stylesheet" href="{{ '/assets/css/style.css' }}">
14
+ {% if page_type == "post" %}
15
+ {% if site.goatcounter_code %}
16
+ <script data-goatcounter="https://{{ site.goatcounter_code }}.goatcounter.com/count"
17
+ async src="//gc.zgo.at/count.js"></script>
18
+ {% endif %}
19
+
20
+ <meta name="giscus_repo" content="{{ site.giscus_repo }}">
21
+ <meta name="giscus_repoId" content="{{ site.giscus_repoId }}">
22
+ <meta name="giscus_category" content="{{ site.giscus_category }}">
23
+ <meta name="giscus_categoryId" content="{{ site.giscus_categoryId }}">
24
+
25
+ {% if page.thumbnail %}
26
+ <style>
27
+ .thumbnail {
28
+ background-image: url("{{ page.thumbnail }}");
29
+ }
30
+ </style>
31
+ {% else %}
32
+ <style>
33
+ .thumbnail {
34
+ aspect-ratio: auto !important;
35
+ }
36
+ .transbox {
37
+ transform: none;
38
+ position: relative;
39
+ margin: auto;
40
+ left: 0;
41
+ top: 0;
42
+ }
43
+ </style>
44
+ {% endif %}
45
+ {% endif %}
46
+ </head>
47
+ <body>
48
+ <script type="text/javascript">
49
+ let currentTheme = localStorage.getItem('theme');
50
+
51
+ document.body.classList[currentTheme === 'dark' ? 'add' : 'remove']('dark-theme');
52
+ </script>
53
+ <canvas id="stars" width="100%" height="100%"></canvas>
54
+ {% include sidebar.html %}
55
+ <div id="post">
56
+ <div class="inner-header">
57
+ <span class="dot" style="background-color: #F86158;"></span>
58
+ <span class="dot" style="background-color: #FBBF2D;"></span>
59
+ <span class="dot" style="background-color: #2ACB45;"></span>
60
+ </div>
61
+ <div class="inner-content">
62
+ {% include category.html %}
63
+ {% if page_type == "category" %}
64
+ {% include loading.html %}
65
+ {% include pagination.html %}
66
+ {% else %}
67
+ {% include post.html %}
68
+ {% endif %}
69
+ </div>
70
+ </div>
71
+ {% include search.html %}
72
+ </body>
73
+ {% include footer.html %}
74
+ {% if page_type == "category" %}
75
+ <script src="{{ '/assets/js/subject.js' }}"></script>
76
+ {% else %}
77
+ <script src="{{ '/assets/js/tocbot.min.js' }}"></script>
78
+ <script src="{{ '/assets/js/sweet-scroll.min.js' }}"></script>
79
+ <script src="{{ '/assets/js/highlight.min.js' }}"></script>
80
+ <link id="highlight-default" rel="stylesheet" href="{{ '/assets/css/highlight-default.min.css' }}">
81
+ <link id="highlight-dark" rel="stylesheet" href="{{ '/assets/css/highlight-dark.min.css' }}">
82
+ <script src="{{ '/assets/js/post.js' }}"></script>
83
+ {% endif %}
84
+ {% include search_event.html %}
85
+ <script src="{{ '/assets/js/common.js' }}"></script>
86
+ </html>
@@ -12,7 +12,6 @@
12
12
  .nav-list {
13
13
  padding: 0;
14
14
  margin: 0 auto;
15
- font-family: 'Lato', sans-serif;
16
15
 
17
16
  li {
18
17
  font-size: 1rem;
@@ -31,7 +31,6 @@
31
31
  margin: 0 0.5rem;
32
32
  margin-bottom: 1.5rem;
33
33
  font-weight: 600;
34
- font-family: 'Lato', sans-serif;
35
34
  border-bottom: 1px solid lightgrey;
36
35
  text-decoration: underline dimgrey;
37
36
  text-underline-offset: 12px;
@@ -72,8 +71,7 @@
72
71
 
73
72
  a { text-decoration: none; }
74
73
 
75
- .title_post{
76
- font-family: 'Lato', sans-serif;
74
+ .title_post {
77
75
  font-weight: 600;
78
76
  font-size: 1rem;
79
77
  line-height: 2rem;
@@ -112,7 +110,7 @@
112
110
  text-align: center;
113
111
 
114
112
  img {
115
- width: 50%;
113
+ width: 50% !important;
116
114
  aspect-ratio: 2/1;
117
115
  }
118
116
 
data/_sass/post.scss CHANGED
@@ -64,11 +64,11 @@
64
64
  }
65
65
 
66
66
  .post-title {
67
- font-family: 'Lato', sans-serif;
68
67
  font-size: 1.25rem;
69
68
  word-spacing: 4px;
70
69
  font-weight: 600;
71
70
  word-wrap: break-word;
71
+ font-family: Cambria, sans-serif;
72
72
  }
73
73
 
74
74
  .post-info {
@@ -181,7 +181,6 @@ main {
181
181
  padding: 1rem;
182
182
  margin: auto;
183
183
  font-size: 1rem;
184
- font-family: 'Nunito Sans', sans-serif;
185
184
  line-height: 200%;
186
185
  position: relative;
187
186
  overflow-wrap: break-word;
@@ -190,7 +189,6 @@ main {
190
189
  * { margin: auto; }
191
190
 
192
191
  h1, h2, h3 {
193
- font-family: "Helvetica";
194
192
  margin-bottom: -1.5rem;
195
193
  padding-top: 2rem;
196
194
  }
data/_sass/search.scss CHANGED
@@ -82,13 +82,13 @@
82
82
  margin: auto;
83
83
  margin-top: 2rem;
84
84
 
85
- h1 {
85
+ mark {
86
86
  margin-bottom: 1rem;
87
87
  color: #fff;
88
88
  opacity: 0.8;
89
89
  font-size: 1.5rem;
90
90
  font-weight: 200;
91
- font-family: 'Righteous', sans-serif;
91
+ display: block;
92
92
  }
93
93
 
94
94
  input {
@@ -211,7 +211,7 @@
211
211
  .search-box {
212
212
  margin-top: 4rem;
213
213
 
214
- h1 {
214
+ mark {
215
215
  font-size: 2.5rem;
216
216
  margin-bottom: 2rem;
217
217
  }
data/_sass/sidebar.scss CHANGED
@@ -150,6 +150,8 @@
150
150
  border: none;
151
151
  border-radius: 50%;
152
152
  margin-left: 1rem;
153
+ position: relative;
154
+ vertical-align: top;
153
155
  cursor: pointer;
154
156
 
155
157
  &:hover {
@@ -173,18 +175,26 @@
173
175
  fill: #3A241A !important;
174
176
  width: 24px;
175
177
  position: relative;
178
+ transition: all .3s;
179
+ }
180
+
181
+ .ico-dark, .ico-light {
182
+ position: absolute;
183
+ top: 50%;
184
+ left: 50%;
185
+ transform: translate(-50%, -50%);
176
186
  }
177
187
 
178
188
  .ico-dark {
179
- display: block;
189
+ transform: translate(-50%, -50%) scale(1);
180
190
 
181
- &.active{ display: none; }
191
+ &.active{ transform: translate(-50%, -50%) scale(0); }
182
192
  }
183
193
 
184
194
  .ico-light {
185
- display: none;
195
+ transform: translate(-50%, -50%) scale(0);
186
196
 
187
- &.active{ display: block; }
197
+ &.active{ transform: translate(-50%, -50%) scale(1); }
188
198
  }
189
199
  }
190
200
 
@@ -243,7 +253,6 @@
243
253
 
244
254
  .highlight {
245
255
  font-weight: 600;
246
- font-family: 'Righteous', sans-serif;
247
256
  background-image: -webkit-linear-gradient(left, #a95770 25%, #ff4d7c 32.5%, #97d0ec 50%, #ff4d7c 67.5%, #a95770 75%);
248
257
  background-image: linear-gradient(90deg, #a95770 25%, #ff4d7c 32.5%, #97d0ec 50%, #ff4d7c 67.5%, #a95770 75%);
249
258
  background-position: right center;
@@ -254,10 +263,10 @@
254
263
 
255
264
  &:hover {
256
265
  color: #ef9671;
257
- animation: slide 2s ease-in infinite;
266
+ animation: slidetext 2s ease-in infinite;
258
267
  }
259
268
 
260
- @keyframes slide {
269
+ @keyframes slidetext {
261
270
  100% {
262
271
  background-position: left center;
263
272
  }
data/_sass/toc.scss CHANGED
@@ -43,6 +43,12 @@
43
43
  word-break: normal;
44
44
  display: block;
45
45
  line-height: 150%;
46
+ animation: .5s ease-out 0s 1 slide;
47
+
48
+ @keyframes slide {
49
+ 0% { transform: scaleY(0); }
50
+ 100% { transform: scaleY(1); }
51
+ }
46
52
  }
47
53
 
48
54
  .is-active-link{
@@ -0,0 +1,47 @@
1
+ ---
2
+ ---
3
+
4
+ body {
5
+ margin: 0;
6
+ background:
7
+ repeating-linear-gradient(
8
+ to right, transparent,
9
+ transparent 100px,
10
+ white 100px,
11
+ white 112px
12
+ ),
13
+ repeating-linear-gradient(
14
+ to bottom, transparent,
15
+ transparent 100px,
16
+ white 100px,
17
+ white 112px
18
+ ),
19
+ linear-gradient(45deg, pink, skyblue);
20
+ }
21
+
22
+ .blank-page {
23
+ display: table-cell;
24
+ z-index: 0;
25
+ background: #fff;
26
+ margin: 1rem auto;
27
+ width: 100vw;
28
+ height: 45vh;
29
+ vertical-align: middle;
30
+
31
+ .go-home {
32
+ text-decoration: none;
33
+ margin-left: 5vw;
34
+ font-size: 1.25rem;
35
+ }
36
+
37
+ .not-found-msg { text-align: center; }
38
+
39
+ .sour-face {
40
+ margin: 3rem auto;
41
+ font-size: 5rem;
42
+ line-height: 1;
43
+ letter-spacing: -1px;
44
+ }
45
+ }
46
+
47
+ .container { display: none; }
@@ -0,0 +1,29 @@
1
+ ---
2
+ ---
3
+
4
+ @font-face {
5
+ font-family: 'Nunito Sans';
6
+ font-style: normal;
7
+ font-weight: 400;
8
+ font-display: optional;
9
+ src: local('Nunito Sans'),
10
+ url(/assets/fonts/NunitoSans-Regular.ttf) format("truetype");
11
+ }
12
+
13
+ @font-face {
14
+ font-family: 'Righteous';
15
+ font-style: normal;
16
+ font-weight: 600;
17
+ font-display: optional;
18
+ src: local('Righteous'),
19
+ url(/assets/fonts/Righteous-Regular.ttf) format("truetype");
20
+ }
21
+
22
+ @font-face {
23
+ font-family: 'Lato';
24
+ font-style: normal;
25
+ font-weight: 400;
26
+ font-display: optional;
27
+ src: local('Lato'),
28
+ url(/assets/fonts/Lato-Regular.ttf) format("truetype");
29
+ }
@@ -1,33 +1,23 @@
1
1
  ---
2
2
  ---
3
3
 
4
- @font-face {
5
- font-family: 'Nunito Sans';
6
- font-style: normal;
7
- font-weight: 400;
8
- font-display: swap;
9
- src: url(/assets/fonts/NunitoSans-Regular.ttf);
4
+ html, body {
5
+ margin: 0;
6
+ padding: 0;
10
7
  }
11
8
 
12
- @font-face {
13
- font-family: 'Righteous';
14
- font-style: normal;
15
- font-weight: 600;
16
- font-display: swap;
17
- src: url(/assets/fonts/Righteous-Regular.ttf);
18
- }
9
+ .fonts-loaded {
10
+ a, span, p {
11
+ font-family: "Nunito Sans", 'Lucida Sans', sans-serif;
12
+ }
19
13
 
20
- @font-face {
21
- font-family: 'Lato';
22
- font-style: normal;
23
- font-weight: 400;
24
- font-display: swap;
25
- src: url(/assets/fonts/Lato-Regular.ttf);
26
- }
14
+ h1, h2, h3 {
15
+ font-family: "Lato", Helvetica, sans-serif;
16
+ }
27
17
 
28
- html, body {
29
- margin: 0;
30
- padding: 0;
18
+ mark {
19
+ font-family: 'Righteous', sans-serif;
20
+ }
31
21
  }
32
22
 
33
23
  a {
@@ -36,11 +26,19 @@ a {
36
26
 
37
27
  a, span, p, h1, h2, h3, i {
38
28
  color: #3A241A;
39
- font-family: "Nunito Sans", sans-serif;
40
29
  }
41
30
 
42
- h1, h2, h3 {
31
+ a, span, p {
32
+ font-family: 'Lucida Sans', sans-serif;
33
+ }
34
+
35
+ h1, h2, h3, mark {
43
36
  margin: 0;
37
+ font-family: Helvetica, sans-serif;
38
+ }
39
+
40
+ mark {
41
+ background-color: transparent;
44
42
  }
45
43
 
46
44
  svg {
@@ -324,7 +324,7 @@ function init() {
324
324
 
325
325
  // Motion mode
326
326
  if ('ontouchstart' in document.documentElement && window.DeviceOrientationEvent) {
327
- console.log('Using device orientation');
327
+ // console.log('Using device orientation');
328
328
  window.addEventListener('deviceorientation', function(e) {
329
329
  mouse.x = (canvas.clientWidth / 2) - ((e.gamma / 90) * (canvas.clientWidth / 2) * 2);
330
330
  mouse.y = (canvas.clientHeight / 2) - ((e.beta / 90) * (canvas.clientHeight / 2) * 2);
@@ -332,7 +332,7 @@ function init() {
332
332
  }
333
333
  else {
334
334
  // Mouse move listener
335
- console.log('Using mouse movement');
335
+ // console.log('Using mouse movement');
336
336
  document.body.addEventListener('mousemove', function(e) {
337
337
  mouse.x = e.clientX;
338
338
  mouse.y = e.clientY;
@@ -0,0 +1,179 @@
1
+ document.addEventListener('DOMContentLoaded', function(){
2
+ // Init theme
3
+ let currentTheme = localStorage.getItem('theme');
4
+ let isDarkMode = false;
5
+
6
+ if (currentTheme === 'dark'){
7
+ isDarkMode = true;
8
+ const themeIcons = document.querySelectorAll(".ico-dark, .ico-light");
9
+
10
+ themeIcons.forEach((ico) => {
11
+ ico.classList.add('active');
12
+ });
13
+ /*
14
+ const moonIcons = document.querySelectorAll(".ico-dark");
15
+ const sunIcons = document.querySelectorAll(".ico-light");
16
+
17
+ moonIcons.forEach((ico) => {
18
+ ico.classList.add('active');
19
+ });
20
+
21
+ sunIcons.forEach((ico) => {
22
+ ico.classList.add('active');
23
+ });
24
+ */
25
+ }
26
+ else {
27
+ isDarkMode = false;
28
+ }
29
+
30
+ // navigation (mobile)
31
+ var siteNav = document.querySelector('#navigation');
32
+ var siteContact = document.querySelector('#contact');
33
+ var menuButton = document.querySelector("#btn-nav");
34
+
35
+ menuButton.addEventListener('click', function() {
36
+ if (menuButton.classList.toggle('nav-open')) {
37
+ siteNav.classList.add('nav-open');
38
+ siteContact.classList.add('contact-open');
39
+ } else {
40
+ siteNav.classList.remove('nav-open');
41
+ siteContact.classList.remove('contact-open');
42
+ }
43
+ });
44
+
45
+ // kept nav opened
46
+ var firstNavs = document.querySelectorAll('#nav-first');
47
+ var page_path = window.location.pathname.replace(/%20/g, " ");
48
+ var page_tree = page_path.split('/');
49
+
50
+ Array.prototype.forEach.call(firstNavs, function (nav_first) {
51
+ if (page_tree[1] === nav_first.ariaLabel){
52
+ nav_first.classList.add('active');
53
+
54
+ var secondNavs = nav_first.querySelectorAll('#nav-second');
55
+
56
+ Array.prototype.forEach.call(secondNavs, function (nav_second) {
57
+ if (page_tree[2] === nav_second.ariaLabel){
58
+ nav_second.classList.toggle('active');
59
+
60
+ var thirdNavs = nav_second.querySelectorAll('#nav-third');
61
+
62
+ Array.prototype.forEach.call(thirdNavs, function (nav_third) {
63
+ if (page_tree[3] === nav_third.ariaLabel){
64
+ nav_third.classList.toggle('active');
65
+ }
66
+ });
67
+ }
68
+ });
69
+ }
70
+ });
71
+
72
+ // navigation (toogle sub-category)
73
+ document.addEventListener('click', function(e){
74
+ var target = e.target;
75
+
76
+ while (target && !(target.classList && target.classList.contains('nav-list-expander'))) {
77
+ target = target.parentNode;
78
+ }
79
+
80
+ if (target) {
81
+ e.preventDefault();
82
+ var nav_item = target.parentNode;
83
+ target.ariaPressed = nav_item.parentNode.classList.toggle('active');
84
+ }
85
+ });
86
+
87
+ document.querySelectorAll('.nav-item').forEach((nav_item) => {
88
+ if (nav_item.parentNode.classList.contains('active')){
89
+ nav_item.classList.add('selected');
90
+ }
91
+ else {
92
+ nav_item.classList.remove('selected');
93
+ }
94
+ });
95
+
96
+ // Change Datk/Light Theme
97
+ const themeButton = document.querySelectorAll("#btn-brightness");
98
+
99
+ themeButton.forEach((btn) => {
100
+ btn.addEventListener('click', function() {
101
+ const moonIcons = document.querySelectorAll(".ico-dark");
102
+ const sunIcons = document.querySelectorAll(".ico-light");
103
+
104
+ moonIcons.forEach((ico) => {
105
+ ico.classList.toggle('active');
106
+ });
107
+
108
+ sunIcons.forEach((ico) => {
109
+ ico.classList.toggle('active');
110
+ });
111
+
112
+ document.body.classList.toggle('dark-theme');
113
+
114
+ if (isDarkMode){
115
+ localStorage.setItem('theme', 'default');
116
+ // Disable highlighter dark color theme
117
+ document.getElementById("highlight-default").disabled=false;
118
+ document.getElementById("highlight-dark").disabled=true;
119
+ changeGiscusTheme('light');
120
+ isDarkMode = false;
121
+ }
122
+ else {
123
+ localStorage.setItem('theme', 'dark');
124
+ // Disable highlighter default color theme
125
+ document.getElementById("highlight-default").disabled=true;
126
+ document.getElementById("highlight-dark").disabled=false;
127
+ changeGiscusTheme('noborder_gray');
128
+ isDarkMode = true;
129
+ }
130
+ });
131
+ });
132
+
133
+ function changeGiscusTheme(theme) {
134
+ const iframe = document.querySelector('iframe.giscus-frame');
135
+ if (!iframe) return;
136
+
137
+ const message = {
138
+ setConfig: {
139
+ theme: theme
140
+ }
141
+ };
142
+
143
+ iframe.contentWindow.postMessage({ giscus: message }, 'https://giscus.app');
144
+ }
145
+
146
+ // search box
147
+ const searchButton = document.querySelectorAll("#btn-search");
148
+ const cancelButton = document.querySelector('#btn-clear');
149
+ const searchPage = document.querySelector("#search");
150
+
151
+ if (searchButton) {
152
+ searchButton.forEach((btn) => {
153
+ btn.addEventListener('click', function() {
154
+ searchPage.classList.add('active');
155
+ $('#search-input').focus();
156
+ });
157
+ });
158
+ }
159
+
160
+ if (searchPage) {
161
+ searchPage.addEventListener('click', function(event) {
162
+ const searchBar = document.querySelector(".search-box");
163
+ var target = event.target;
164
+
165
+ if (searchBar.contains(target))
166
+ return;
167
+
168
+ searchPage.classList.remove('active');
169
+ });
170
+ }
171
+
172
+ if (cancelButton) {
173
+ cancelButton.addEventListener('click', function() {
174
+ $('.result-item').remove();
175
+ $('#search-input').val("");
176
+ $('#btn-clear').hide();
177
+ });
178
+ }
179
+ });
@@ -0,0 +1,12 @@
1
+ /* Font Face Observer v2.3.0 - © Bram Stein. License: BSD-3-Clause */(function(){'use strict';var f,g=[];function l(a){g.push(a);1==g.length&&f()}function m(){for(;g.length;)g[0](),g.shift()}f=function(){setTimeout(m)};function n(a){this.a=p;this.b=void 0;this.f=[];var b=this;try{a(function(a){q(b,a)},function(a){r(b,a)})}catch(c){r(b,c)}}var p=2;function t(a){return new n(function(b,c){c(a)})}function u(a){return new n(function(b){b(a)})}function q(a,b){if(a.a==p){if(b==a)throw new TypeError;var c=!1;try{var d=b&&b.then;if(null!=b&&"object"==typeof b&&"function"==typeof d){d.call(b,function(b){c||q(a,b);c=!0},function(b){c||r(a,b);c=!0});return}}catch(e){c||r(a,e);return}a.a=0;a.b=b;v(a)}}
2
+ function r(a,b){if(a.a==p){if(b==a)throw new TypeError;a.a=1;a.b=b;v(a)}}function v(a){l(function(){if(a.a!=p)for(;a.f.length;){var b=a.f.shift(),c=b[0],d=b[1],e=b[2],b=b[3];try{0==a.a?"function"==typeof c?e(c.call(void 0,a.b)):e(a.b):1==a.a&&("function"==typeof d?e(d.call(void 0,a.b)):b(a.b))}catch(h){b(h)}}})}n.prototype.g=function(a){return this.c(void 0,a)};n.prototype.c=function(a,b){var c=this;return new n(function(d,e){c.f.push([a,b,d,e]);v(c)})};
3
+ function w(a){return new n(function(b,c){function d(c){return function(d){h[c]=d;e+=1;e==a.length&&b(h)}}var e=0,h=[];0==a.length&&b(h);for(var k=0;k<a.length;k+=1)u(a[k]).c(d(k),c)})}function x(a){return new n(function(b,c){for(var d=0;d<a.length;d+=1)u(a[d]).c(b,c)})};window.Promise||(window.Promise=n,window.Promise.resolve=u,window.Promise.reject=t,window.Promise.race=x,window.Promise.all=w,window.Promise.prototype.then=n.prototype.c,window.Promise.prototype["catch"]=n.prototype.g);}());
4
+
5
+ (function(){function p(a,c){document.addEventListener?a.addEventListener("scroll",c,!1):a.attachEvent("scroll",c)}function u(a){document.body?a():document.addEventListener?document.addEventListener("DOMContentLoaded",function b(){document.removeEventListener("DOMContentLoaded",b);a()}):document.attachEvent("onreadystatechange",function g(){if("interactive"==document.readyState||"complete"==document.readyState)document.detachEvent("onreadystatechange",g),a()})};function w(a){this.g=document.createElement("div");this.g.setAttribute("aria-hidden","true");this.g.appendChild(document.createTextNode(a));this.h=document.createElement("span");this.i=document.createElement("span");this.m=document.createElement("span");this.j=document.createElement("span");this.l=-1;this.h.style.cssText="max-width:none;display:inline-block;position:absolute;height:100%;width:100%;overflow:scroll;font-size:16px;";this.i.style.cssText="max-width:none;display:inline-block;position:absolute;height:100%;width:100%;overflow:scroll;font-size:16px;";
6
+ this.j.style.cssText="max-width:none;display:inline-block;position:absolute;height:100%;width:100%;overflow:scroll;font-size:16px;";this.m.style.cssText="display:inline-block;width:200%;height:200%;font-size:16px;max-width:none;";this.h.appendChild(this.m);this.i.appendChild(this.j);this.g.appendChild(this.h);this.g.appendChild(this.i)}
7
+ function x(a,c){a.g.style.cssText="max-width:none;min-width:20px;min-height:20px;display:inline-block;overflow:hidden;position:absolute;width:auto;margin:0;padding:0;top:-999px;white-space:nowrap;font-synthesis:none;font:"+c+";"}function B(a){var c=a.g.offsetWidth,b=c+100;a.j.style.width=b+"px";a.i.scrollLeft=b;a.h.scrollLeft=a.h.scrollWidth+100;return a.l!==c?(a.l=c,!0):!1}function C(a,c){function b(){var e=g;B(e)&&null!==e.g.parentNode&&c(e.l)}var g=a;p(a.h,b);p(a.i,b);B(a)};function D(a,c,b){c=c||{};b=b||window;this.family=a;this.style=c.style||"normal";this.weight=c.weight||"normal";this.stretch=c.stretch||"normal";this.context=b}var E=null,F=null,G=null,H=null;function I(a){null===F&&(M(a)&&/Apple/.test(window.navigator.vendor)?(a=/AppleWebKit\/([0-9]+)(?:\.([0-9]+))(?:\.([0-9]+))/.exec(window.navigator.userAgent),F=!!a&&603>parseInt(a[1],10)):F=!1);return F}function M(a){null===H&&(H=!!a.document.fonts);return H}
8
+ function N(a,c){var b=a.style,g=a.weight;if(null===G){var e=document.createElement("div");try{e.style.font="condensed 100px sans-serif"}catch(q){}G=""!==e.style.font}return[b,g,G?a.stretch:"","100px",c].join(" ")}
9
+ D.prototype.load=function(a,c){var b=this,g=a||"BESbswy",e=0,q=c||3E3,J=(new Date).getTime();return new Promise(function(K,L){if(M(b.context)&&!I(b.context)){var O=new Promise(function(r,t){function h(){(new Date).getTime()-J>=q?t(Error(""+q+"ms timeout exceeded")):b.context.document.fonts.load(N(b,'"'+b.family+'"'),g).then(function(n){1<=n.length?r():setTimeout(h,25)},t)}h()}),P=new Promise(function(r,t){e=setTimeout(function(){t(Error(""+q+"ms timeout exceeded"))},q)});Promise.race([P,O]).then(function(){clearTimeout(e);
10
+ K(b)},L)}else u(function(){function r(){var d;if(d=-1!=k&&-1!=l||-1!=k&&-1!=m||-1!=l&&-1!=m)(d=k!=l&&k!=m&&l!=m)||(null===E&&(d=/AppleWebKit\/([0-9]+)(?:\.([0-9]+))/.exec(window.navigator.userAgent),E=!!d&&(536>parseInt(d[1],10)||536===parseInt(d[1],10)&&11>=parseInt(d[2],10))),d=E&&(k==y&&l==y&&m==y||k==z&&l==z&&m==z||k==A&&l==A&&m==A)),d=!d;d&&(null!==f.parentNode&&f.parentNode.removeChild(f),clearTimeout(e),K(b))}function t(){if((new Date).getTime()-J>=q)null!==f.parentNode&&f.parentNode.removeChild(f),
11
+ L(Error(""+q+"ms timeout exceeded"));else{var d=b.context.document.hidden;if(!0===d||void 0===d)k=h.g.offsetWidth,l=n.g.offsetWidth,m=v.g.offsetWidth,r();e=setTimeout(t,50)}}var h=new w(g),n=new w(g),v=new w(g),k=-1,l=-1,m=-1,y=-1,z=-1,A=-1,f=document.createElement("div");f.dir="ltr";x(h,N(b,"sans-serif"));x(n,N(b,"serif"));x(v,N(b,"monospace"));f.appendChild(h.g);f.appendChild(n.g);f.appendChild(v.g);b.context.document.body.appendChild(f);y=h.g.offsetWidth;z=n.g.offsetWidth;A=v.g.offsetWidth;t();
12
+ C(h,function(d){k=d;r()});x(h,N(b,'"'+b.family+'",sans-serif'));C(n,function(d){l=d;r()});x(n,N(b,'"'+b.family+'",serif'));C(v,function(d){m=d;r()});x(v,N(b,'"'+b.family+'",monospace'))})})};"object"===typeof module?module.exports=D:(window.FontFaceObserver=D,window.FontFaceObserver.prototype.load=D.prototype.load);}());