").addClass(k("overlay")+" "+k("is",u.CLOSED)).hide(),e.append(f.$overlay)),f.$bg=b("."+k("bg")).addClass(k("is",u.CLOSED)),f.$modal=a.addClass(q+" "+k("is-initialized")+" "+f.settings.modifier+" "+k("is",u.CLOSED)).attr("tabindex","-1"),f.$wrapper=b("").addClass(k("wrapper")+" "+f.settings.modifier+" "+k("is",u.CLOSED)).hide().append(f.$modal),e.append(f.$wrapper),f.$wrapper.on("click."+q,'[data-remodal-action="close"]',function(a){a.preventDefault(),f.close()}),f.$wrapper.on("click."+q,'[data-remodal-action="cancel"]',function(a){a.preventDefault(),f.$modal.trigger(v.CANCELLATION),f.settings.closeOnCancel&&f.close(v.CANCELLATION)}),f.$wrapper.on("click."+q,'[data-remodal-action="confirm"]',function(a){a.preventDefault(),f.$modal.trigger(v.CONFIRMATION),f.settings.closeOnConfirm&&f.close(v.CONFIRMATION)}),f.$wrapper.on("click."+q,function(a){var c=b(a.target);c.hasClass(k("wrapper"))&&f.settings.closeOnOutsideClick&&f.close()})}var n,o,p="remodal",q=a.REMODAL_GLOBALS&&a.REMODAL_GLOBALS.NAMESPACE||p,r=b.map(["animationstart","webkitAnimationStart","MSAnimationStart","oAnimationStart"],function(a){return a+"."+q}).join(" "),s=b.map(["animationend","webkitAnimationEnd","MSAnimationEnd","oAnimationEnd"],function(a){return a+"."+q}).join(" "),t=b.extend({hashTracking:!0,closeOnConfirm:!0,closeOnCancel:!0,closeOnEscape:!0,closeOnOutsideClick:!0,modifier:"",appendTo:null},a.REMODAL_GLOBALS&&a.REMODAL_GLOBALS.DEFAULTS),u={CLOSING:"closing",CLOSED:"closed",OPENING:"opening",OPENED:"opened"},v={CONFIRMATION:"confirmation",CANCELLATION:"cancellation"},w=function(){var a=document.createElement("div").style;return void 0!==a.animationName||void 0!==a.WebkitAnimationName||void 0!==a.MozAnimationName||void 0!==a.msAnimationName||void 0!==a.OAnimationName}(),x=/iPad|iPhone|iPod/.test(navigator.platform);m.prototype.open=function(){var a,c=this;c.state!==u.OPENING&&c.state!==u.CLOSING&&(a=c.$modal.attr("data-remodal-id"),a&&c.settings.hashTracking&&(o=b(window).scrollTop(),location.hash=a),n&&n!==c&&i(n),n=c,e(),c.$bg.addClass(c.settings.modifier),c.$overlay.addClass(c.settings.modifier).show(),c.$wrapper.show().scrollTop(0),c.$modal.focus(),h(function(){g(c,u.OPENING)},function(){g(c,u.OPENED)},c))},m.prototype.close=function(a){var c=this;c.state!==u.OPENING&&c.state!==u.CLOSING&&(c.settings.hashTracking&&c.$modal.attr("data-remodal-id")===location.hash.substr(1)&&(location.hash="",b(window).scrollTop(o)),h(function(){g(c,u.CLOSING,!1,a)},function(){c.$bg.removeClass(c.settings.modifier),c.$overlay.removeClass(c.settings.modifier).hide(),c.$wrapper.hide(),f(),g(c,u.CLOSED,!1,a)},c))},m.prototype.getState=function(){return this.state},m.prototype.destroy=function(){var a,c=b[p].lookup;i(this),this.$wrapper.remove(),delete c[this.index],a=b.grep(c,function(a){return!!a}).length,0===a&&(this.$overlay.remove(),this.$bg.removeClass(k("is",u.CLOSING)+" "+k("is",u.OPENING)+" "+k("is",u.CLOSED)+" "+k("is",u.OPENED)))},b[p]={lookup:[]},b.fn[p]=function(a){var c,d;return this.each(function(e,f){d=b(f),null==d.data(p)?(c=new m(d,a),d.data(p,c.index),c.settings.hashTracking&&d.attr("data-remodal-id")===location.hash.substr(1)&&c.open()):c=b[p].lookup[d.data(p)]}),c},b(document).ready(function(){b(document).on("click","[data-remodal-target]",function(a){a.preventDefault();var c=a.currentTarget,d=c.getAttribute("data-remodal-target"),e=b('[data-remodal-id="'+d+'"]');b[p].lookup[e.data(p)].open()}),b(document).find("."+q).each(function(a,c){var d=b(c),e=d.data("remodal-options");e?("string"==typeof e||e instanceof String)&&(e=j(e)):e={},d[p](e)}),b(document).on("keydown."+q,function(a){n&&n.settings.closeOnEscape&&n.state===u.OPENED&&27===a.keyCode&&n.close()}),b(window).on("hashchange."+q,l)})});
--------------------------------------------------------------------------------
/remodal/style/remodal-default-theme.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Remodal - v1.1.0
3 | * Responsive, lightweight, fast, synchronized with CSS animations, fully customizable modal window plugin with declarative configuration and hash tracking.
4 | * http://vodkabears.github.io/remodal/
5 | *
6 | * Made by Ilya Makarov
7 | * Under MIT License
8 | */
9 |
10 | /* ==========================================================================
11 | Remodal's default mobile first theme
12 | ========================================================================== */
13 |
14 | /* Default theme styles for the background */
15 |
16 | .remodal-bg.remodal-is-opening,
17 | .remodal-bg.remodal-is-opened {
18 | -webkit-filter: blur(3px);
19 | filter: blur(3px);
20 | }
21 |
22 | /* Default theme styles of the overlay */
23 |
24 | .remodal-overlay {
25 | background: rgba(43, 46, 56, 0.9);
26 | }
27 |
28 | .remodal-overlay.remodal-is-opening,
29 | .remodal-overlay.remodal-is-closing {
30 | -webkit-animation-duration: 0.3s;
31 | animation-duration: 0.3s;
32 | -webkit-animation-fill-mode: forwards;
33 | animation-fill-mode: forwards;
34 | }
35 |
36 | .remodal-overlay.remodal-is-opening {
37 | -webkit-animation-name: remodal-overlay-opening-keyframes;
38 | animation-name: remodal-overlay-opening-keyframes;
39 | }
40 |
41 | .remodal-overlay.remodal-is-closing {
42 | -webkit-animation-name: remodal-overlay-closing-keyframes;
43 | animation-name: remodal-overlay-closing-keyframes;
44 | }
45 |
46 | /* Default theme styles of the wrapper */
47 |
48 | .remodal-wrapper {
49 | padding: 10px 10px 0;
50 | }
51 |
52 | /* Default theme styles of the modal dialog */
53 |
54 | .remodal {
55 | box-sizing: border-box;
56 | width: 100%;
57 | margin-bottom: 10px;
58 | padding: 35px;
59 |
60 | -webkit-transform: translate3d(0, 0, 0);
61 | transform: translate3d(0, 0, 0);
62 |
63 | color: #2b2e38;
64 | background: #fff;
65 | }
66 |
67 | .remodal.remodal-is-opening,
68 | .remodal.remodal-is-closing {
69 | -webkit-animation-duration: 0.3s;
70 | animation-duration: 0.3s;
71 | -webkit-animation-fill-mode: forwards;
72 | animation-fill-mode: forwards;
73 | }
74 |
75 | .remodal.remodal-is-opening {
76 | -webkit-animation-name: remodal-opening-keyframes;
77 | animation-name: remodal-opening-keyframes;
78 | }
79 |
80 | .remodal.remodal-is-closing {
81 | -webkit-animation-name: remodal-closing-keyframes;
82 | animation-name: remodal-closing-keyframes;
83 | }
84 |
85 | /* Vertical align of the modal dialog */
86 |
87 | .remodal,
88 | .remodal-wrapper:after {
89 | vertical-align: middle;
90 | }
91 |
92 | /* Close button */
93 |
94 | .remodal-close {
95 | position: absolute;
96 | top: 0;
97 | left: 0;
98 |
99 | display: block;
100 | overflow: visible;
101 |
102 | width: 35px;
103 | height: 35px;
104 | margin: 0;
105 | padding: 0;
106 |
107 | cursor: pointer;
108 | -webkit-transition: color 0.2s;
109 | transition: color 0.2s;
110 | text-decoration: none;
111 |
112 | color: #95979c;
113 | border: 0;
114 | outline: 0;
115 | background: transparent;
116 | }
117 |
118 | .remodal-close:hover,
119 | .remodal-close:focus {
120 | color: #2b2e38;
121 | }
122 |
123 | .remodal-close:before {
124 | font-family: Arial, "Helvetica CY", "Nimbus Sans L", sans-serif !important;
125 | font-size: 25px;
126 | line-height: 35px;
127 |
128 | position: absolute;
129 | top: 0;
130 | left: 0;
131 |
132 | display: block;
133 |
134 | width: 35px;
135 |
136 | content: "\00d7";
137 | text-align: center;
138 | }
139 |
140 | /* Dialog buttons */
141 |
142 | .remodal-confirm,
143 | .remodal-cancel {
144 | font: inherit;
145 |
146 | display: inline-block;
147 | overflow: visible;
148 |
149 | min-width: 110px;
150 | margin: 0;
151 | padding: 12px 0;
152 |
153 | cursor: pointer;
154 | -webkit-transition: background 0.2s;
155 | transition: background 0.2s;
156 | text-align: center;
157 | vertical-align: middle;
158 | text-decoration: none;
159 |
160 | border: 0;
161 | outline: 0;
162 | }
163 |
164 | .remodal-confirm {
165 | color: #fff;
166 | background: #81c784;
167 | }
168 |
169 | .remodal-confirm:hover,
170 | .remodal-confirm:focus {
171 | background: #66bb6a;
172 | }
173 |
174 | .remodal-cancel {
175 | color: #fff;
176 | background: #e57373;
177 | }
178 |
179 | .remodal-cancel:hover,
180 | .remodal-cancel:focus {
181 | background: #ef5350;
182 | }
183 |
184 | /* Remove inner padding and border in Firefox 4+ for the button tag. */
185 |
186 | .remodal-confirm::-moz-focus-inner,
187 | .remodal-cancel::-moz-focus-inner,
188 | .remodal-close::-moz-focus-inner {
189 | padding: 0;
190 |
191 | border: 0;
192 | }
193 |
194 | /* Keyframes
195 | ========================================================================== */
196 |
197 | @-webkit-keyframes remodal-opening-keyframes {
198 | from {
199 | -webkit-transform: scale(1.05);
200 | transform: scale(1.05);
201 |
202 | opacity: 0;
203 | }
204 | to {
205 | -webkit-transform: none;
206 | transform: none;
207 |
208 | opacity: 1;
209 | }
210 | }
211 |
212 | @keyframes remodal-opening-keyframes {
213 | from {
214 | -webkit-transform: scale(1.05);
215 | transform: scale(1.05);
216 |
217 | opacity: 0;
218 | }
219 | to {
220 | -webkit-transform: none;
221 | transform: none;
222 |
223 | opacity: 1;
224 | }
225 | }
226 |
227 | @-webkit-keyframes remodal-closing-keyframes {
228 | from {
229 | -webkit-transform: scale(1);
230 | transform: scale(1);
231 |
232 | opacity: 1;
233 | }
234 | to {
235 | -webkit-transform: scale(0.95);
236 | transform: scale(0.95);
237 |
238 | opacity: 0;
239 | }
240 | }
241 |
242 | @keyframes remodal-closing-keyframes {
243 | from {
244 | -webkit-transform: scale(1);
245 | transform: scale(1);
246 |
247 | opacity: 1;
248 | }
249 | to {
250 | -webkit-transform: scale(0.95);
251 | transform: scale(0.95);
252 |
253 | opacity: 0;
254 | }
255 | }
256 |
257 | @-webkit-keyframes remodal-overlay-opening-keyframes {
258 | from {
259 | opacity: 0;
260 | }
261 | to {
262 | opacity: 1;
263 | }
264 | }
265 |
266 | @keyframes remodal-overlay-opening-keyframes {
267 | from {
268 | opacity: 0;
269 | }
270 | to {
271 | opacity: 1;
272 | }
273 | }
274 |
275 | @-webkit-keyframes remodal-overlay-closing-keyframes {
276 | from {
277 | opacity: 1;
278 | }
279 | to {
280 | opacity: 0;
281 | }
282 | }
283 |
284 | @keyframes remodal-overlay-closing-keyframes {
285 | from {
286 | opacity: 1;
287 | }
288 | to {
289 | opacity: 0;
290 | }
291 | }
292 |
293 | /* Media queries
294 | ========================================================================== */
295 |
296 | @media only screen and (min-width: 641px) {
297 | .remodal {
298 | max-width: 700px;
299 | }
300 | }
301 |
302 | /* IE8
303 | ========================================================================== */
304 |
305 | .lt-ie9 .remodal-overlay {
306 | background: #2b2e38;
307 | }
308 |
309 | .lt-ie9 .remodal {
310 | width: 700px;
311 | }
312 |
--------------------------------------------------------------------------------
/remodal/style/remodal.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Remodal - v1.1.0
3 | * Responsive, lightweight, fast, synchronized with CSS animations, fully customizable modal window plugin with declarative configuration and hash tracking.
4 | * http://vodkabears.github.io/remodal/
5 | *
6 | * Made by Ilya Makarov
7 | * Under MIT License
8 | */
9 |
10 | /* ==========================================================================
11 | Remodal's necessary styles
12 | ========================================================================== */
13 |
14 | /* Hide scroll bar */
15 |
16 | html.remodal-is-locked {
17 | overflow: hidden;
18 |
19 | -ms-touch-action: none;
20 | touch-action: none;
21 | }
22 |
23 | /* Anti FOUC */
24 |
25 | .remodal,
26 | [data-remodal-id] {
27 | display: none;
28 | }
29 |
30 | /* Necessary styles of the overlay */
31 |
32 | .remodal-overlay {
33 | position: fixed;
34 | z-index: 9999;
35 | top: -5000px;
36 | right: -5000px;
37 | bottom: -5000px;
38 | left: -5000px;
39 |
40 | display: none;
41 | }
42 |
43 | /* Necessary styles of the wrapper */
44 |
45 | .remodal-wrapper {
46 | position: fixed;
47 | z-index: 10000;
48 | top: 0;
49 | right: 0;
50 | bottom: 0;
51 | left: 0;
52 |
53 | display: none;
54 | overflow: auto;
55 |
56 | text-align: center;
57 |
58 | -webkit-overflow-scrolling: touch;
59 | }
60 |
61 | .remodal-wrapper:after {
62 | display: inline-block;
63 |
64 | height: 100%;
65 | margin-left: -0.05em;
66 |
67 | content: "";
68 | }
69 |
70 | /* Fix iPad, iPhone glitches */
71 |
72 | .remodal-overlay,
73 | .remodal-wrapper {
74 | -webkit-backface-visibility: hidden;
75 | backface-visibility: hidden;
76 | }
77 |
78 | /* Necessary styles of the modal dialog */
79 |
80 | .remodal {
81 | position: relative;
82 |
83 | outline: none;
84 |
85 | -webkit-text-size-adjust: 100%;
86 | -ms-text-size-adjust: 100%;
87 | text-size-adjust: 100%;
88 | }
89 |
90 | .remodal-is-initialized {
91 | /* Disable Anti-FOUC */
92 | display: inline-block;
93 | }
94 |
--------------------------------------------------------------------------------
/style/material_icons.css:
--------------------------------------------------------------------------------
1 | /* fallback */
2 | @font-face {
3 | font-family: 'Material Icons';
4 | font-style: normal;
5 | font-weight: 400;
6 | src: local('Material Icons'), local('MaterialIcons-Regular'), url(https://fonts.gstatic.com/s/materialicons/v17/2fcrYFNaTjcS6g4U3t-Y5UEw0lE80llgEseQY3FEmqw.woff2) format('woff2');
7 | }
8 |
9 | .material-icons {
10 | font-family: 'Material Icons';
11 | font-weight: normal;
12 | font-style: normal;
13 | font-size: 24px;
14 | line-height: 1;
15 | letter-spacing: normal;
16 | text-transform: none;
17 | display: inline-block;
18 | white-space: nowrap;
19 | word-wrap: normal;
20 | direction: ltr;
21 | -webkit-font-feature-settings: 'liga';
22 | -webkit-font-smoothing: antialiased;
23 | }
--------------------------------------------------------------------------------
/style/modal.css:
--------------------------------------------------------------------------------
1 | body {
2 | /*padding-top: 20px;*/
3 | /*padding-left: 20px;*/
4 | box-sizing: border-box;
5 | }
6 |
7 | .mdl-dialog {
8 | border: none;
9 | box-shadow: 0 9px 46px 8px rgba(0, 0, 0, 0.14), 0 11px 15px -7px rgba(0, 0, 0, 0.12), 0 24px 38px 3px rgba(0, 0, 0, 0.2);
10 | width: 280px; }
11 | .mdl-dialog__title {
12 | padding: 24px 24px 0;
13 | margin: 0;
14 | font-size: 2.5rem; }
15 | .mdl-dialog__actions {
16 | padding: 8px 8px 8px 24px;
17 | display: -webkit-flex;
18 | display: -ms-flexbox;
19 | display: flex;
20 | -webkit-flex-direction: row-reverse;
21 | -ms-flex-direction: row-reverse;
22 | flex-direction: row-reverse;
23 | -webkit-flex-wrap: wrap;
24 | -ms-flex-wrap: wrap;
25 | flex-wrap: wrap; }
26 | .mdl-dialog__actions > * {
27 | margin-right: 8px;
28 | height: 36px; }
29 | .mdl-dialog__actions > *:first-child {
30 | margin-right: 0; }
31 | .mdl-dialog__actions--full-width {
32 | padding: 0 0 8px 0; }
33 | .mdl-dialog__actions--full-width > * {
34 | height: 48px;
35 | -webkit-flex: 0 0 100%;
36 | -ms-flex: 0 0 100%;
37 | flex: 0 0 100%;
38 | padding-right: 16px;
39 | margin-right: 0;
40 | text-align: right; }
41 | .mdl-dialog__content {
42 | padding: 20px 24px 24px 24px;
43 | color: rgba(0,0,0, 0.54); }
--------------------------------------------------------------------------------
/style/roboto_etc.css:
--------------------------------------------------------------------------------
1 | /* cyrillic-ext */
2 | @font-face {
3 | font-family: 'Roboto';
4 | font-style: normal;
5 | font-weight: 100;
6 | src: local('Roboto Thin'), local('Roboto-Thin'), url(https://fonts.gstatic.com/s/roboto/v15/ty9dfvLAziwdqQ2dHoyjphkAz4rYn47Zy2rvigWQf6w.woff2) format('woff2');
7 | unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
8 | }
9 | /* cyrillic */
10 | @font-face {
11 | font-family: 'Roboto';
12 | font-style: normal;
13 | font-weight: 100;
14 | src: local('Roboto Thin'), local('Roboto-Thin'), url(https://fonts.gstatic.com/s/roboto/v15/frNV30OaYdlFRtH2VnZZdhkAz4rYn47Zy2rvigWQf6w.woff2) format('woff2');
15 | unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
16 | }
17 | /* greek-ext */
18 | @font-face {
19 | font-family: 'Roboto';
20 | font-style: normal;
21 | font-weight: 100;
22 | src: local('Roboto Thin'), local('Roboto-Thin'), url(https://fonts.gstatic.com/s/roboto/v15/gwVJDERN2Amz39wrSoZ7FxkAz4rYn47Zy2rvigWQf6w.woff2) format('woff2');
23 | unicode-range: U+1F00-1FFF;
24 | }
25 | /* greek */
26 | @font-face {
27 | font-family: 'Roboto';
28 | font-style: normal;
29 | font-weight: 100;
30 | src: local('Roboto Thin'), local('Roboto-Thin'), url(https://fonts.gstatic.com/s/roboto/v15/aZMswpodYeVhtRvuABJWvBkAz4rYn47Zy2rvigWQf6w.woff2) format('woff2');
31 | unicode-range: U+0370-03FF;
32 | }
33 | /* vietnamese */
34 | @font-face {
35 | font-family: 'Roboto';
36 | font-style: normal;
37 | font-weight: 100;
38 | src: local('Roboto Thin'), local('Roboto-Thin'), url(https://fonts.gstatic.com/s/roboto/v15/VvXUGKZXbHtX_S_VCTLpGhkAz4rYn47Zy2rvigWQf6w.woff2) format('woff2');
39 | unicode-range: U+0102-0103, U+1EA0-1EF9, U+20AB;
40 | }
41 | /* latin-ext */
42 | @font-face {
43 | font-family: 'Roboto';
44 | font-style: normal;
45 | font-weight: 100;
46 | src: local('Roboto Thin'), local('Roboto-Thin'), url(https://fonts.gstatic.com/s/roboto/v15/e7MeVAyvogMqFwwl61PKhBkAz4rYn47Zy2rvigWQf6w.woff2) format('woff2');
47 | unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
48 | }
49 | /* latin */
50 | @font-face {
51 | font-family: 'Roboto';
52 | font-style: normal;
53 | font-weight: 100;
54 | src: local('Roboto Thin'), local('Roboto-Thin'), url(https://fonts.gstatic.com/s/roboto/v15/2tsd397wLxj96qwHyNIkxHYhjbSpvc47ee6xR_80Hnw.woff2) format('woff2');
55 | unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
56 | }
57 | /* cyrillic-ext */
58 | @font-face {
59 | font-family: 'Roboto';
60 | font-style: normal;
61 | font-weight: 300;
62 | src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v15/0eC6fl06luXEYWpBSJvXCIX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');
63 | unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
64 | }
65 | /* cyrillic */
66 | @font-face {
67 | font-family: 'Roboto';
68 | font-style: normal;
69 | font-weight: 300;
70 | src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v15/Fl4y0QdOxyyTHEGMXX8kcYX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');
71 | unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
72 | }
73 | /* greek-ext */
74 | @font-face {
75 | font-family: 'Roboto';
76 | font-style: normal;
77 | font-weight: 300;
78 | src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v15/-L14Jk06m6pUHB-5mXQQnYX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');
79 | unicode-range: U+1F00-1FFF;
80 | }
81 | /* greek */
82 | @font-face {
83 | font-family: 'Roboto';
84 | font-style: normal;
85 | font-weight: 300;
86 | src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v15/I3S1wsgSg9YCurV6PUkTOYX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');
87 | unicode-range: U+0370-03FF;
88 | }
89 | /* vietnamese */
90 | @font-face {
91 | font-family: 'Roboto';
92 | font-style: normal;
93 | font-weight: 300;
94 | src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v15/NYDWBdD4gIq26G5XYbHsFIX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');
95 | unicode-range: U+0102-0103, U+1EA0-1EF9, U+20AB;
96 | }
97 | /* latin-ext */
98 | @font-face {
99 | font-family: 'Roboto';
100 | font-style: normal;
101 | font-weight: 300;
102 | src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v15/Pru33qjShpZSmG3z6VYwnYX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');
103 | unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
104 | }
105 | /* latin */
106 | @font-face {
107 | font-family: 'Roboto';
108 | font-style: normal;
109 | font-weight: 300;
110 | src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v15/Hgo13k-tfSpn0qi1SFdUfZBw1xU1rKptJj_0jans920.woff2) format('woff2');
111 | unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
112 | }
113 | /* cyrillic-ext */
114 | @font-face {
115 | font-family: 'Roboto';
116 | font-style: normal;
117 | font-weight: 400;
118 | src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v15/sTdaA6j0Psb920Vjv-mrzH-_kf6ByYO6CLYdB4HQE-Y.woff2) format('woff2');
119 | unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
120 | }
121 | /* cyrillic */
122 | @font-face {
123 | font-family: 'Roboto';
124 | font-style: normal;
125 | font-weight: 400;
126 | src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v15/uYECMKoHcO9x1wdmbyHIm3-_kf6ByYO6CLYdB4HQE-Y.woff2) format('woff2');
127 | unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
128 | }
129 | /* greek-ext */
130 | @font-face {
131 | font-family: 'Roboto';
132 | font-style: normal;
133 | font-weight: 400;
134 | src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v15/tnj4SB6DNbdaQnsM8CFqBX-_kf6ByYO6CLYdB4HQE-Y.woff2) format('woff2');
135 | unicode-range: U+1F00-1FFF;
136 | }
137 | /* greek */
138 | @font-face {
139 | font-family: 'Roboto';
140 | font-style: normal;
141 | font-weight: 400;
142 | src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v15/_VYFx-s824kXq_Ul2BHqYH-_kf6ByYO6CLYdB4HQE-Y.woff2) format('woff2');
143 | unicode-range: U+0370-03FF;
144 | }
145 | /* vietnamese */
146 | @font-face {
147 | font-family: 'Roboto';
148 | font-style: normal;
149 | font-weight: 400;
150 | src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v15/NJ4vxlgWwWbEsv18dAhqnn-_kf6ByYO6CLYdB4HQE-Y.woff2) format('woff2');
151 | unicode-range: U+0102-0103, U+1EA0-1EF9, U+20AB;
152 | }
153 | /* latin-ext */
154 | @font-face {
155 | font-family: 'Roboto';
156 | font-style: normal;
157 | font-weight: 400;
158 | src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v15/Ks_cVxiCiwUWVsFWFA3Bjn-_kf6ByYO6CLYdB4HQE-Y.woff2) format('woff2');
159 | unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
160 | }
161 | /* latin */
162 | @font-face {
163 | font-family: 'Roboto';
164 | font-style: normal;
165 | font-weight: 400;
166 | src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v15/oMMgfZMQthOryQo9n22dcuvvDin1pK8aKteLpeZ5c0A.woff2) format('woff2');
167 | unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
168 | }
169 | /* cyrillic-ext */
170 | @font-face {
171 | font-family: 'Roboto';
172 | font-style: normal;
173 | font-weight: 500;
174 | src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v15/ZLqKeelYbATG60EpZBSDy4X0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');
175 | unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
176 | }
177 | /* cyrillic */
178 | @font-face {
179 | font-family: 'Roboto';
180 | font-style: normal;
181 | font-weight: 500;
182 | src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v15/oHi30kwQWvpCWqAhzHcCSIX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');
183 | unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
184 | }
185 | /* greek-ext */
186 | @font-face {
187 | font-family: 'Roboto';
188 | font-style: normal;
189 | font-weight: 500;
190 | src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v15/rGvHdJnr2l75qb0YND9NyIX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');
191 | unicode-range: U+1F00-1FFF;
192 | }
193 | /* greek */
194 | @font-face {
195 | font-family: 'Roboto';
196 | font-style: normal;
197 | font-weight: 500;
198 | src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v15/mx9Uck6uB63VIKFYnEMXrYX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');
199 | unicode-range: U+0370-03FF;
200 | }
201 | /* vietnamese */
202 | @font-face {
203 | font-family: 'Roboto';
204 | font-style: normal;
205 | font-weight: 500;
206 | src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v15/mbmhprMH69Zi6eEPBYVFhYX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');
207 | unicode-range: U+0102-0103, U+1EA0-1EF9, U+20AB;
208 | }
209 | /* latin-ext */
210 | @font-face {
211 | font-family: 'Roboto';
212 | font-style: normal;
213 | font-weight: 500;
214 | src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v15/oOeFwZNlrTefzLYmlVV1UIX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');
215 | unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
216 | }
217 | /* latin */
218 | @font-face {
219 | font-family: 'Roboto';
220 | font-style: normal;
221 | font-weight: 500;
222 | src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v15/RxZJdnzeo3R5zSexge8UUZBw1xU1rKptJj_0jans920.woff2) format('woff2');
223 | unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
224 | }
225 | /* cyrillic-ext */
226 | @font-face {
227 | font-family: 'Roboto';
228 | font-style: normal;
229 | font-weight: 700;
230 | src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v15/77FXFjRbGzN4aCrSFhlh3oX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');
231 | unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
232 | }
233 | /* cyrillic */
234 | @font-face {
235 | font-family: 'Roboto';
236 | font-style: normal;
237 | font-weight: 700;
238 | src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v15/isZ-wbCXNKAbnjo6_TwHToX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');
239 | unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
240 | }
241 | /* greek-ext */
242 | @font-face {
243 | font-family: 'Roboto';
244 | font-style: normal;
245 | font-weight: 700;
246 | src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v15/UX6i4JxQDm3fVTc1CPuwqoX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');
247 | unicode-range: U+1F00-1FFF;
248 | }
249 | /* greek */
250 | @font-face {
251 | font-family: 'Roboto';
252 | font-style: normal;
253 | font-weight: 700;
254 | src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v15/jSN2CGVDbcVyCnfJfjSdfIX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');
255 | unicode-range: U+0370-03FF;
256 | }
257 | /* vietnamese */
258 | @font-face {
259 | font-family: 'Roboto';
260 | font-style: normal;
261 | font-weight: 700;
262 | src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v15/PwZc-YbIL414wB9rB1IAPYX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');
263 | unicode-range: U+0102-0103, U+1EA0-1EF9, U+20AB;
264 | }
265 | /* latin-ext */
266 | @font-face {
267 | font-family: 'Roboto';
268 | font-style: normal;
269 | font-weight: 700;
270 | src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v15/97uahxiqZRoncBaCEI3aW4X0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');
271 | unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
272 | }
273 | /* latin */
274 | @font-face {
275 | font-family: 'Roboto';
276 | font-style: normal;
277 | font-weight: 700;
278 | src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v15/d-6IYplOFocCacKzxwXSOJBw1xU1rKptJj_0jans920.woff2) format('woff2');
279 | unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
280 | }
281 | /* cyrillic-ext */
282 | @font-face {
283 | font-family: 'Roboto';
284 | font-style: normal;
285 | font-weight: 900;
286 | src: local('Roboto Black'), local('Roboto-Black'), url(https://fonts.gstatic.com/s/roboto/v15/s7gftie1JANC-QmDJvMWZoX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');
287 | unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
288 | }
289 | /* cyrillic */
290 | @font-face {
291 | font-family: 'Roboto';
292 | font-style: normal;
293 | font-weight: 900;
294 | src: local('Roboto Black'), local('Roboto-Black'), url(https://fonts.gstatic.com/s/roboto/v15/3Y_xCyt7TNunMGg0Et2pnoX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');
295 | unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
296 | }
297 | /* greek-ext */
298 | @font-face {
299 | font-family: 'Roboto';
300 | font-style: normal;
301 | font-weight: 900;
302 | src: local('Roboto Black'), local('Roboto-Black'), url(https://fonts.gstatic.com/s/roboto/v15/WeQRRE07FDkIrr29oHQgHIX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');
303 | unicode-range: U+1F00-1FFF;
304 | }
305 | /* greek */
306 | @font-face {
307 | font-family: 'Roboto';
308 | font-style: normal;
309 | font-weight: 900;
310 | src: local('Roboto Black'), local('Roboto-Black'), url(https://fonts.gstatic.com/s/roboto/v15/jyIYROCkJM3gZ4KV00YXOIX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');
311 | unicode-range: U+0370-03FF;
312 | }
313 | /* vietnamese */
314 | @font-face {
315 | font-family: 'Roboto';
316 | font-style: normal;
317 | font-weight: 900;
318 | src: local('Roboto Black'), local('Roboto-Black'), url(https://fonts.gstatic.com/s/roboto/v15/phsu-QZXz1JBv0PbFoPmEIX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');
319 | unicode-range: U+0102-0103, U+1EA0-1EF9, U+20AB;
320 | }
321 | /* latin-ext */
322 | @font-face {
323 | font-family: 'Roboto';
324 | font-style: normal;
325 | font-weight: 900;
326 | src: local('Roboto Black'), local('Roboto-Black'), url(https://fonts.gstatic.com/s/roboto/v15/9_7S_tWeGDh5Pq3u05RVkoX0hVgzZQUfRDuZrPvH3D8.woff2) format('woff2');
327 | unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
328 | }
329 | /* latin */
330 | @font-face {
331 | font-family: 'Roboto';
332 | font-style: normal;
333 | font-weight: 900;
334 | src: local('Roboto Black'), local('Roboto-Black'), url(https://fonts.gstatic.com/s/roboto/v15/mnpfi9pxYH-Go5UiibESIpBw1xU1rKptJj_0jans920.woff2) format('woff2');
335 | unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
336 | }
337 | /* cyrillic-ext */
338 | @font-face {
339 | font-family: 'Roboto';
340 | font-style: italic;
341 | font-weight: 400;
342 | src: local('Roboto Italic'), local('Roboto-Italic'), url(https://fonts.gstatic.com/s/roboto/v15/WxrXJa0C3KdtC7lMafG4dRkAz4rYn47Zy2rvigWQf6w.woff2) format('woff2');
343 | unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
344 | }
345 | /* cyrillic */
346 | @font-face {
347 | font-family: 'Roboto';
348 | font-style: italic;
349 | font-weight: 400;
350 | src: local('Roboto Italic'), local('Roboto-Italic'), url(https://fonts.gstatic.com/s/roboto/v15/OpXUqTo0UgQQhGj_SFdLWBkAz4rYn47Zy2rvigWQf6w.woff2) format('woff2');
351 | unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
352 | }
353 | /* greek-ext */
354 | @font-face {
355 | font-family: 'Roboto';
356 | font-style: italic;
357 | font-weight: 400;
358 | src: local('Roboto Italic'), local('Roboto-Italic'), url(https://fonts.gstatic.com/s/roboto/v15/1hZf02POANh32k2VkgEoUBkAz4rYn47Zy2rvigWQf6w.woff2) format('woff2');
359 | unicode-range: U+1F00-1FFF;
360 | }
361 | /* greek */
362 | @font-face {
363 | font-family: 'Roboto';
364 | font-style: italic;
365 | font-weight: 400;
366 | src: local('Roboto Italic'), local('Roboto-Italic'), url(https://fonts.gstatic.com/s/roboto/v15/cDKhRaXnQTOVbaoxwdOr9xkAz4rYn47Zy2rvigWQf6w.woff2) format('woff2');
367 | unicode-range: U+0370-03FF;
368 | }
369 | /* vietnamese */
370 | @font-face {
371 | font-family: 'Roboto';
372 | font-style: italic;
373 | font-weight: 400;
374 | src: local('Roboto Italic'), local('Roboto-Italic'), url(https://fonts.gstatic.com/s/roboto/v15/K23cxWVTrIFD6DJsEVi07RkAz4rYn47Zy2rvigWQf6w.woff2) format('woff2');
375 | unicode-range: U+0102-0103, U+1EA0-1EF9, U+20AB;
376 | }
377 | /* latin-ext */
378 | @font-face {
379 | font-family: 'Roboto';
380 | font-style: italic;
381 | font-weight: 400;
382 | src: local('Roboto Italic'), local('Roboto-Italic'), url(https://fonts.gstatic.com/s/roboto/v15/vSzulfKSK0LLjjfeaxcREhkAz4rYn47Zy2rvigWQf6w.woff2) format('woff2');
383 | unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
384 | }
385 | /* latin */
386 | @font-face {
387 | font-family: 'Roboto';
388 | font-style: italic;
389 | font-weight: 400;
390 | src: local('Roboto Italic'), local('Roboto-Italic'), url(https://fonts.gstatic.com/s/roboto/v15/vPcynSL0qHq_6dX7lKVByXYhjbSpvc47ee6xR_80Hnw.woff2) format('woff2');
391 | unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
392 | }
393 | /* cyrillic-ext */
394 | @font-face {
395 | font-family: 'Roboto';
396 | font-style: italic;
397 | font-weight: 700;
398 | src: local('Roboto Bold Italic'), local('Roboto-BoldItalic'), url(https://fonts.gstatic.com/s/roboto/v15/t6Nd4cfPRhZP44Q5QAjcC_ZraR2Tg8w2lzm7kLNL0-w.woff2) format('woff2');
399 | unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
400 | }
401 | /* cyrillic */
402 | @font-face {
403 | font-family: 'Roboto';
404 | font-style: italic;
405 | font-weight: 700;
406 | src: local('Roboto Bold Italic'), local('Roboto-BoldItalic'), url(https://fonts.gstatic.com/s/roboto/v15/t6Nd4cfPRhZP44Q5QAjcC14sYYdJg5dU2qzJEVSuta0.woff2) format('woff2');
407 | unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
408 | }
409 | /* greek-ext */
410 | @font-face {
411 | font-family: 'Roboto';
412 | font-style: italic;
413 | font-weight: 700;
414 | src: local('Roboto Bold Italic'), local('Roboto-BoldItalic'), url(https://fonts.gstatic.com/s/roboto/v15/t6Nd4cfPRhZP44Q5QAjcC1BW26QxpSj-_ZKm_xT4hWw.woff2) format('woff2');
415 | unicode-range: U+1F00-1FFF;
416 | }
417 | /* greek */
418 | @font-face {
419 | font-family: 'Roboto';
420 | font-style: italic;
421 | font-weight: 700;
422 | src: local('Roboto Bold Italic'), local('Roboto-BoldItalic'), url(https://fonts.gstatic.com/s/roboto/v15/t6Nd4cfPRhZP44Q5QAjcCwt_Rm691LTebKfY2ZkKSmI.woff2) format('woff2');
423 | unicode-range: U+0370-03FF;
424 | }
425 | /* vietnamese */
426 | @font-face {
427 | font-family: 'Roboto';
428 | font-style: italic;
429 | font-weight: 700;
430 | src: local('Roboto Bold Italic'), local('Roboto-BoldItalic'), url(https://fonts.gstatic.com/s/roboto/v15/t6Nd4cfPRhZP44Q5QAjcC9DiNsR5a-9Oe_Ivpu8XWlY.woff2) format('woff2');
431 | unicode-range: U+0102-0103, U+1EA0-1EF9, U+20AB;
432 | }
433 | /* latin-ext */
434 | @font-face {
435 | font-family: 'Roboto';
436 | font-style: italic;
437 | font-weight: 700;
438 | src: local('Roboto Bold Italic'), local('Roboto-BoldItalic'), url(https://fonts.gstatic.com/s/roboto/v15/t6Nd4cfPRhZP44Q5QAjcC6E8kM4xWR1_1bYURRojRGc.woff2) format('woff2');
439 | unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
440 | }
441 | /* latin */
442 | @font-face {
443 | font-family: 'Roboto';
444 | font-style: italic;
445 | font-weight: 700;
446 | src: local('Roboto Bold Italic'), local('Roboto-BoldItalic'), url(https://fonts.gstatic.com/s/roboto/v15/t6Nd4cfPRhZP44Q5QAjcC4gp9Q8gbYrhqGlRav_IXfk.woff2) format('woff2');
447 | unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
448 | }
--------------------------------------------------------------------------------
/style/styles.css:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2015 Google Inc. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | html, body {
18 | font-family: 'Roboto', 'Helvetica', sans-serif;
19 | }
20 |
21 | table {
22 |
23 | border-spacing: 0px !important;
24 | }
25 |
26 | table.qr-code td {
27 | border-width: 0;
28 | border-style: solid;
29 | border-color: #00f;
30 | border-collapse: collapse;
31 | margin: 0 !important;
32 | padding: 0 !important;
33 | }
34 |
35 | table.qr-code td.black {
36 | border-top-color: #000;
37 | background: #000;
38 | border-top-width:0 !important;
39 | width:5px !important;
40 | height:5px !important;
41 | padding: 0px 0px 0px 0px !important;
42 | }
43 |
44 | table.qr-code td.white {
45 | border-top-color: #fff;
46 | background: #fff;
47 | border-top-width:0 !important;
48 | width:5px !important;
49 | height:5px !important;
50 | padding: 0px 0px 0px 0px !important;
51 | }
52 |
53 | .demo-avatar {
54 | width: 48px;
55 | height: 48px;
56 | border-radius: 24px;
57 | }
58 | .demo-layout .demo-header .mdl-textfield {
59 | padding: 0px;
60 | margin-top: 41px;
61 | }
62 | .demo-layout .demo-header .mdl-textfield .mdl-textfield__expandable-holder {
63 | bottom: 19px;
64 | }
65 | .demo-layout .mdl-layout__header .mdl-layout__drawer-button {
66 | color: rgba(0, 0, 0, 0.54);
67 | }
68 | .mdl-layout__drawer .avatar {
69 | margin-bottom: 16px;
70 | }
71 | .demo-drawer {
72 | border: none;
73 | }
74 | /* iOS Safari specific workaround */
75 | .demo-drawer .mdl-menu__container {
76 | z-index: -1;
77 | }
78 | .demo-drawer .demo-navigation {
79 | z-index: -2;
80 | }
81 | /* END iOS Safari specific workaround */
82 | .demo-drawer .mdl-menu .mdl-menu__item {
83 | display: -webkit-flex;
84 | display: -ms-flexbox;
85 | display: flex;
86 | -webkit-align-items: center;
87 | -ms-flex-align: center;
88 | align-items: center;
89 | }
90 | .demo-drawer-header {
91 | box-sizing: border-box;
92 | display: -webkit-flex;
93 | display: -ms-flexbox;
94 | display: flex;
95 | -webkit-flex-direction: column;
96 | -ms-flex-direction: column;
97 | flex-direction: column;
98 | -webkit-justify-content: flex-end;
99 | -ms-flex-pack: end;
100 | justify-content: flex-end;
101 | padding: 16px;
102 | height: 151px;
103 | }
104 | .demo-avatar-dropdown {
105 | display: -webkit-flex;
106 | display: -ms-flexbox;
107 | display: flex;
108 | position: relative;
109 | -webkit-flex-direction: row;
110 | -ms-flex-direction: row;
111 | flex-direction: row;
112 | -webkit-align-items: center;
113 | -ms-flex-align: center;
114 | align-items: center;
115 | width: 100%;
116 | }
117 |
118 | .annotation-background {
119 | background-image: url("../images/LabelD-Placeholder.png");
120 | background-repeat: no-repeat;
121 | /*background-attachment: fixed;*/
122 | background-position: center;
123 |
124 | }
125 |
126 | .about-modal {
127 | text-align: left !important;
128 | }
129 |
130 | .next-button {
131 | /*margin-right: 27px ! important;*/
132 | position: absolute;
133 | margin-bottom: 26px !important;
134 | right: -1% !important;
135 |
136 | }
137 |
138 | .previous-button {
139 | margin-right: unset ! important;
140 | right: unset ! important;
141 | margin-left: 3px ! important;
142 | position: absolute;
143 | margin-bottom: 26px ! important;
144 | left: 3% !important;
145 |
146 | }
147 |
148 |
149 |
150 | .annotation_window {
151 | left: 2.5%;
152 | top: 2.5%;
153 | height:95%;
154 | width: 95%;
155 | }
156 |
157 | .logo {
158 | margin-top: 15px;
159 | height: 150px;
160 | width: 240px;
161 | }
162 |
163 | .user_header{
164 | height: 100px ! important;
165 | }
166 |
167 | /*.export-button {*/
168 | /*margin-right: 5px ! important;*/
169 | /*position: absolute;*/
170 | /*min-width: 27px ! important;*/
171 | /*max-width: 27px ! important;*/
172 | /*}*/
173 |
174 | .demo-navigation {
175 | -webkit-flex-grow: 1;
176 | -ms-flex-positive: 1;
177 | flex-grow: 1;
178 | }
179 | .demo-layout .demo-navigation .mdl-navigation__link {
180 | display: -webkit-flex !important;
181 | display: -ms-flexbox !important;
182 | display: flex !important;
183 | -webkit-flex-direction: row;
184 | -ms-flex-direction: row;
185 | flex-direction: row;
186 | -webkit-align-items: center;
187 | -ms-flex-align: center;
188 | align-items: center;
189 | color: rgba(255, 255, 255, 0.56);
190 | font-weight: 500;
191 | }
192 | .demo-layout .demo-navigation .mdl-navigation__link:hover {
193 | background-color: #00BCD4;
194 | color: #37474F;
195 | }
196 |
197 | .selected-page {
198 | background-color: #00BCD4 !important;
199 | color: #37474F !important;
200 | }
201 |
202 | .demo-navigation .mdl-navigation__link .material-icons {
203 | font-size: 24px;
204 | color: rgba(255, 255, 255, 0.56);
205 | margin-right: 32px;
206 | }
207 |
208 | .demo-content {
209 | max-width: 1080px;
210 | }
211 |
212 | .demo-charts {
213 | -webkit-align-items: center;
214 | -ms-flex-align: center;
215 | -ms-grid-row-align: center;
216 | align-items: center;
217 | }
218 | .demo-chart:nth-child(1) {
219 | color: #ACEC00;
220 | }
221 | .demo-chart:nth-child(2) {
222 | color: #00BBD6;
223 | }
224 | .demo-chart:nth-child(3) {
225 | color: #BA65C9;
226 | }
227 | .demo-chart:nth-child(4) {
228 | color: #EF3C79;
229 | }
230 | .demo-graphs {
231 | padding: 16px 32px;
232 | display: -webkit-flex;
233 | display: -ms-flexbox;
234 | display: flex;
235 | -webkit-flex-direction: column;
236 | -ms-flex-direction: column;
237 | flex-direction: column;
238 | -webkit-align-items: stretch;
239 | -ms-flex-align: stretch;
240 | align-items: stretch;
241 | }
242 | /* TODO: Find a proper solution to have the graphs
243 | * not float around outside their container in IE10/11.
244 | * Using a browserhacks.com solution for now.
245 | */
246 | _:-ms-input-placeholder, :root .demo-graphs {
247 | min-height: 664px;
248 | }
249 | _:-ms-input-placeholder, :root .demo-graph {
250 | max-height: 300px;
251 | }
252 | /* TODO end */
253 | .demo-graph:nth-child(1) {
254 | color: #00b9d8;
255 | }
256 | .demo-graph:nth-child(2) {
257 | color: #d9006e;
258 | }
259 |
260 | .annotation-image {
261 | width: 100%;
262 | height: 85vh;
263 | }
264 |
265 | .annotorious-annotationlayer {
266 | width: 100%;
267 | height: 85vh;
268 | }
269 |
270 | .demo-cards {
271 | -webkit-align-items: flex-start;
272 | -ms-flex-align: start;
273 | -ms-grid-row-align: flex-start;
274 | align-items: flex-start;
275 | -webkit-align-content: flex-start;
276 | -ms-flex-line-pack: start;
277 | align-content: flex-start;
278 | }
279 | .demo-cards .demo-separator {
280 | height: 32px;
281 | }
282 | .demo-cards .mdl-card__title.mdl-card__title {
283 | color: white;
284 | font-size: 24px;
285 | font-weight: 400;
286 | }
287 | .demo-cards ul {
288 | padding: 0;
289 | }
290 | .demo-cards h3 {
291 | font-size: 1em;
292 | }
293 | .demo-updates .mdl-card__title {
294 | min-height: 200px;
295 | background-image: url('../images/dog.png');
296 | background-position: 90% 100%;
297 | background-repeat: no-repeat;
298 | }
299 | .demo-cards .mdl-card__actions a {
300 | color: #00BCD4;
301 | text-decoration: none;
302 | }
303 |
304 | .demo-options h3 {
305 | margin: 0;
306 | }
307 | .demo-options .mdl-checkbox__box-outline {
308 | border-color: rgba(255, 255, 255, 0.89);
309 | }
310 | .demo-options ul {
311 | margin: 0;
312 | list-style-type: none;
313 | }
314 | .demo-options li {
315 | margin: 4px 0;
316 | }
317 | .demo-options .material-icons {
318 | color: rgba(255, 255, 255, 0.89);
319 | }
320 | .demo-options .mdl-card__actions {
321 | height: 64px;
322 | display: -webkit-flex;
323 | display: -ms-flexbox;
324 | display: flex;
325 | box-sizing: border-box;
326 | -webkit-align-items: center;
327 | -ms-flex-align: center;
328 | align-items: center;
329 | }
330 |
--------------------------------------------------------------------------------
/web_server.js:
--------------------------------------------------------------------------------
1 | var http = require("http"),
2 | url = require("url"),
3 | path = require("path"),
4 | fs = require("fs");
5 | port = process.argv[2] || 8888;
6 |
7 | http.createServer(function(request, response) {
8 |
9 | var uri = url.parse(request.url).pathname
10 | , filename = path.join(process.cwd(), uri);
11 |
12 | fs.exists(filename, function(exists) {
13 | if(!exists) {
14 | response.writeHead(404, {"Content-Type": "text/plain"});
15 | response.write("404 Not Found\n");
16 | response.end();
17 | return;
18 | }
19 |
20 | if (fs.statSync(filename).isDirectory()) filename += '/index.html';
21 |
22 | fs.readFile(filename, "binary", function(err, file) {
23 | if(err) {
24 | response.writeHead(500, {"Content-Type": "text/plain"});
25 | response.write(err + "\n");
26 | response.end();
27 | return;
28 | }
29 |
30 | response.writeHead(200);
31 | response.write(file, "binary");
32 | response.end();
33 | });
34 | });
35 | }).listen(parseInt(port, 10));
36 |
37 | console.log("Static file server running at\n => http://localhost:" + port + "/\nCTRL + C to shutdown");/**
38 | * Created by seanweppner on 8/5/16.
39 | */
40 |
--------------------------------------------------------------------------------