Migration

This commit is contained in:
7u83 2024-01-12 14:54:37 +01:00
commit 02278de654
143 changed files with 14828 additions and 0 deletions

4
.htaccess Normal file
View File

@ -0,0 +1,4 @@
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

8
assets/css/base.css Normal file

File diff suppressed because one or more lines are too long

1
assets/css/normalize.css vendored Normal file
View File

@ -0,0 +1 @@
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}

1
assets/css/pannellum.css Normal file

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

0
assets/doc/empty Normal file
View File

0
assets/font/empty Normal file
View File

BIN
assets/ico/app.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="29" height="69" viewBox="0 0 29 69">
<polyline fill="none" stroke="#1B1B1B" points="66.016 3086.5 100.258 3059.984 134.5 3086.5" transform="rotate(-90 -1462.242 1596.742)"/>
</svg>

After

Width:  |  Height:  |  Size: 230 B

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="29" height="69" viewBox="0 0 29 69">
<polyline fill="none" stroke="#1B1B1B" points="1143.016 3086.5 1177.258 3059.984 1211.5 3086.5" transform="rotate(90 2115.258 972.242)"/>
</svg>

After

Width:  |  Height:  |  Size: 231 B

View File

@ -0,0 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 30 30">
<g fill="none" fill-rule="evenodd">
<circle cx="15" cy="15" r="15" fill="#009EE0"/>
<g stroke="#FFFFFF" transform="translate(9 11)">
<path d="M0.161764706,0.5 L10.8431361,0.5" transform="translate(0 4)" stroke-linecap="square"/>
<polyline points="5.714 6.511 9.714 2.511 13.714 6.511" transform="rotate(90 9.714 4.51)"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 450 B

View File

@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="52" height="99" viewBox="0 0 52 99">
<g fill="none" fill-rule="evenodd" stroke="#FFFFFF" transform="rotate(180 25.5 49)" stroke-linecap="round">
<path d="M39.3649316,43.9775 C39.3568789,43.9865 39.3506158,43.9975 39.3416684,44.0065 L2.32014211,85.3825 C2.31119474,85.3925 2.30224737,85.4005 2.29419474,85.4095 C-0.168121053,88.1615 -0.168121053,92.6215 2.2933,95.3735 C4.75472105,98.1235 8.74614211,98.1235 11.2084579,95.3725 L11.2093526,95.3725 L48.2783,53.9415 L48.2791947,53.9405 C50.7406158,51.1895 50.7397211,46.7295 48.2783,43.9785 C45.8159842,41.2265 41.8263526,41.2265 39.3649316,43.9775 Z"/>
<path d="M2.29365789,12.5254 C2.30171053,12.5354 2.31065789,12.5424 2.31960526,12.5514 L39.3411316,53.9284 C39.3500789,53.9384 39.3563421,53.9494 39.3643947,53.9584 C41.8267105,56.7104 45.8172368,56.7104 48.2795526,53.9584 C50.7400789,51.2074 50.7400789,46.7474 48.2786579,43.9954 L48.2777632,43.9944 L11.2088158,2.5634 L11.2079211,2.5624 C8.7465,-0.1886 4.75507895,-0.1876 2.29365789,2.5634 C-0.167763158,5.3154 -0.167763158,9.7744 2.29365789,12.5254 Z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="52" height="99" viewBox="0 0 52 99">
<g fill="none" fill-rule="evenodd" stroke="#FFFFFF" transform="translate(1 1)" stroke-linecap="round">
<path d="M39.3649316,43.9775 C39.3568789,43.9865 39.3506158,43.9975 39.3416684,44.0065 L2.32014211,85.3825 C2.31119474,85.3925 2.30224737,85.4005 2.29419474,85.4095 C-0.168121053,88.1615 -0.168121053,92.6215 2.2933,95.3735 C4.75472105,98.1235 8.74614211,98.1235 11.2084579,95.3725 L11.2093526,95.3725 L48.2783,53.9415 L48.2791947,53.9405 C50.7406158,51.1895 50.7397211,46.7295 48.2783,43.9785 C45.8159842,41.2265 41.8263526,41.2265 39.3649316,43.9775 Z"/>
<path d="M2.29365789,12.5254 C2.30171053,12.5354 2.31065789,12.5424 2.31960526,12.5514 L39.3411316,53.9284 C39.3500789,53.9384 39.3563421,53.9494 39.3643947,53.9584 C41.8267105,56.7104 45.8172368,56.7104 48.2795526,53.9584 C50.7400789,51.2074 50.7400789,46.7474 48.2786579,43.9954 L48.2777632,43.9944 L11.2088158,2.5634 L11.2079211,2.5624 C8.7465,-0.1886 4.75507895,-0.1876 2.29365789,2.5634 C-0.167763158,5.3154 -0.167763158,9.7744 2.29365789,12.5254 Z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

2727
assets/ico/by.eps Normal file

File diff suppressed because one or more lines are too long

81
assets/ico/by.svg Normal file
View File

@ -0,0 +1,81 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="120px" height="42px" viewBox="0 0 120 42" enable-background="new 0 0 120 42" xml:space="preserve"> <image id="image0" width="120" height="42" x="0" y="0"
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAAqEAIAAACn0NQ6AAAABGdBTUEAALGPC/xhBQAAACBjSFJN
AAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0T///////8JWPfcAAAA
CXBIWXMAAABIAAAASABGyWs+AAAAB3RJTUUH4QULDCYmFuSVSwAADfRJREFUeNrtXHtYU8cSX1t5
lQK2RTCiUlsuEpWXBbVYH1gJovioCEh9BEWEi6KIgIqoKIoW8AFY6xPBQgERqRJF0FKk8lCivCpg
GpubosYAFSFSDWC9fwz2W75DQkISTon5/ZHvfHN2T87OzpmdmZ3ZQafiElcnrg64tKF0Q2u7lvC1
UBOpoMKAgvoLjUEaow/Pj50c+2jQ+0Z64/XcLCiTdtkw1gXuMNyQRvbrqaCCdPh2ZIQgjle5qzS4
7PE77ROEr4WaKlFWYeBibf12nfWUdi3hayFnMNkvo4J0aNn3tOJZVZ55VkPuXj7rkeWTQY8WcOl/
fA93P2Dp0z/qeK9We6b2qmnhThb20yxabfkWfmS/df9BgQJ9MyJP7ZemCu3Sh3fXPThY+5yl2Rzd
GNXoLKq99iOdNJ2pxuNMj32qY77cNskq2W7TzP12k/W2fmg1xIJsRpGJKt0yw6qjqeXHrJO8eR9z
jetZSIAQckUUlIkQuo2M0UVoyUPcgnqEKKgALWYeL0RFSI2qvlfdzDJ/8itbq+XCdTx6qHLzc5D6
PM1xmisSPa4fP7dY9sdlME7npbvnjcickF3ZUdu+rX2P7M+04U3bPeX82zAZRBw5uJsfu4RJKdxR
1MPsjDYwGWwSbmZsFknlAqUloHV+S17148pllW6C4BZmyyG8vRpVfa96GD07gOJz84vttI6p+mSP
T57wTJ3l43ZeDgINmjhV67v3El+1GQmWCH6RpBdMxiPt+jH1t9s5wnvCK+Lbw2TYLaGV2ruvrAtw
9tpFNgMVBTAqwr9dq7PtIL6m6UTr2eht9MxbuWJVfIz/vpmRp8U/h/lTuXe5t+85vylrz1bzKmLK
l+B35+p4uLhkuDp70dzTyR6xfCAHgT5jdphxeueNnYzsXHPiXfXRGuM05nyp70CnGU5mTqqetH3L
xaDNm0SKO8M3J+dq9CmjhNcJtndmMx2ZexoinljyjIgtR+uYrTOdFFC9+1VQs/Lp7F2MddVh9RxB
3RHWLaDYpUyrm2b0s05uZ24ksX1Q/Nb8UC/2M/ZL9vIwu9CsrSk2X1qftD6Jtzkdn+Sd5L2Ztrlj
81pcc7v7+3I9nzo1Lb46Zw3Z45YVINDv9K1zVM7m1Mi/iKIMQuxk6xw1b+X9cbW2tfU/bs+Yc26G
eFEGOB9zcpodDO3rbTnv/n7d3yEgbuNg0Ex4S5hs0GGgz8hmpnwABgYuykvT6R/R/ydKlEFM468d
Xn+oM6eMEZJ9ZvYIpw6ntcSWXv70k/STVTfKx5dfN9g+rJLyCOgXrick/3CQy2Uf5nqQPXr5QGqB
Biu55tmdgopuRgKwKVWY6pn2Bwjl8DWUIEqQLC8HC2vTmCeJT6xAS+F3YTne7xa8JYJKNhtlBXyW
lTNL3y2rAAqYZAlax24cuyGqVy2q87j/N04RHn354uV9Ue1hRr47fTTvqCOoHvBz0mtOGqb0YsAM
FEgh0OBrXxakZma64nQQ5VvlxYeKZoOWVcSLgpYCnY3Tebe5xvUXQbeRwUD54HuNI5SkSNyNTvY4
a3s2Unwv+ODhU4cP4LBJrG7sdfG9YI7AFAQKqCfl0NNSCPQZ3YPFx2/jFDAGQJRl18eSAKYQTBqc
DnGAgTsltX+Xm1bFwjWMjmgH41gY4XrFrcBstbmVOYe38fH4x95Aj66MKYsJBTr4JKKecNQwriaW
CXoaKLerb4wt/RsNcEgk0GBmEKPIiYfOuCde6x9RxgEmDW4LAgbi0gnrHh4dmjfEOWtuivheYDFz
Gtid7HBRv+Bei3oCzNqYl1SnsSuAUoPKKdUxZPNDVkgk0AV1DNe8OJwCWkRxBoYkCC8N9905GqfA
0gkiQtZbSYvW4OanLW44BRy4/vn3ESNGGIzIheuX1BfBL4aRzQ9Z0YtAE/UHLFKwYInvCz44/Ipf
/vrWCyYebEecfmd40ekyPtmMlRSwkwrXxLEoGvhqAN4I2fyQFb1sfReG51T9XIgoCKGuKLXNnkmZ
kyqH61DSKT24LKte+E73nZ6xJW1Yml87R3hP2P7PrRL0q859vXS9CjBUcO3et14AZ0vng/P2xF87
vP7NpljV81vUu1yEEPIim7sq9Dt60dB44gvAcZnDXloPEWUQyhT3pD+TPha18wchfQ8Nj8Qlo0D7
StsLNDd+N1Bj/V3/bmE78Rkj/zZYtU0eMeEIXIPt25//nv2M8dXlpXBNmWjMHbmAbH7Iil4EuknA
S+Z32zpZMXfpu1/3MGzQrzhl16CI5Xt+F1568euLpMzhF6KzxoO5Ajp+mOuwC4YsaXtZjrVA3bcF
wbkhLtYDxZIeueKT6FH+OIX40RIB/CFGe/C74DqLf87Dhw8bHjrCtWatVrTWE7L5ISt6EWhighEx
pgETgOtXiD/gu4NgKsDeIUSUn2Q8WcQ3lbaX+GAWDqKz9e+EsbFJgHEqZBoCBdeaisPjE7wYXsx9
zdqcmrNAGYuseeb9Gq1SBPq49S0eJmamGv+ZSKTjHwN/XMMFPgu/+9lVm1ybMPG9lBXUd6xZFhvg
GkJykrvRfYMff/3YDTa4QploPr1mskLkoT+hkAHgoX7JUcetC601Jpsh5ACSY9UWqWepd33SQZ0h
W4PlkNBLBHwqPzVdS8rrigWNHfLZDKs5sFaQzQlZIQeBdtKgjaGNwSng3OA6Bha4kWWjX30yy17g
ONgxlGgNS9ILUiLJZpr8ATmDdpa0BHt3nBswann9C/DWc+PKdE8H0M3wCflUbKb6scnmgXzQi0AT
Pd/9C2K+OTAVp4BJQEwegrgEbMOOuUcto46EdNDipYVmhY+ux/1kkl9HdGvwXhbTrX+1nkXsRXxP
yKvGKQMxgR3yvEFfAgVGDdwgfswQRQYe4r/EJ0OKKfAWTx+lRwU0+9xUphTcXuLQRheNk0Yt51G4
O+q7lr9Sm1vmtyKILVNSE/cnfjifskjf5QCkk4MO4CA2Yl9BCN170xISjLb4B83c9Avo4PmUh0EP
03roFYyYPfXC/xc+sPbXwnvCT4Dyj4PVQjZz+4YQp288Qt+LytmMIufA3meXtr5k32o/58tihyu0
Ash7hq0lL0RH9B6eA846ZHdwGtid7E6EEEJX1LapZ2mk0OJckp3Vv9hO65iqEMOGLPSS4J+jf372
lRPp8ceMEz8ECiQkQUqnqIfiqfpAMRliomnyPcSMRTl5fesFizJoMqBAyZZy1LGLL8GCuTAfbpls
eU7vsO4lPRqE4Yj1KQBtN12uTrDPB1vLNwQrX/GsFBUr3hVzmpaZ4SE8WNokiXQqDrAET4m1K7Fr
x+mBPvt+DGtQpgmDLEJIvSJmoouHtpsuV/fCjJy5gQ6vlKngiggQaImqvqFmmEkpRG/0BPjIj0/w
angxZIXVoFoOIVSCurQRWPwWrbZ8C7X+fx/FAeIPIcbfoFDUsu8p9Zlp8YH8LcWlD0Jrkn7L/4va
lt+W0GzalPSnGpiI2id0y94f89njKV62hhattnyLH9CA2TmVFVLUFK6N+UrPi48nKsH+XN2p6orq
0b3/lfwALg6UHuH01eyQBP8ZA9EdVEF2SF1T6Lx/6ecu3bKxFBFaEg9RogxlsypRVqHL5BBVwoSf
vgO1wQ94NfzfurkpXaElA3Mrc07+xLxleZmKMEKgRiOnjBGS3U2UPwgeGjKUEbB2tyDIFDkjhEZC
fR4UNZHNXhX6ERSE0OIuk0Nkm4nG3JEL9n16+uqBblYpVH0THRRpz44QD0LgKRy/Cyd1+E/bNS5k
Pe4Cio8MqKDc6EWgAaICYaLEGgDJRg7jHWfSOvyKfUx9TMWnFkFM+uzllFc/XMxNvrYtbyoejMPR
pZWLIrJDhPiGLRx5c8okalV8AdmMVYEcSCTQAFFn7Uh+/Bfob/3ooRVD9XB6m8/zO23eoo6VwSHq
WDBIFo0v3HkvKk5eR5D9eyCKbwBYu/A2xPOo8PTa/s+67k9IIdCwxC+atWrZ14HEs3Zwy1W+yz2Y
PR7WvuX0k8ToMojy8R2RL2NdJD+IbGABjpsRdUYHbEj918uP5pcLB/SAqeZ3zbfEt92cYhVkncY8
XuJZLMTLKcgek6IghUDjEH8yGmwE5DsyTK6bsi5XH6kJk7xeDcyJTwOp75u+FH8grHJrZRy4QENe
B2hZKIaADHKN+Vrjteh4SxufzxPtNI65HS36tmt+7S/Zt9rPkuQkwYGLPgo0ANJoIFdLkgQXEEFR
qfeSB93eNrcPF1PQx5BNDnmOB4VxE+JrIZQJ1T1QEoHHmkC4RW2JKxNkOh8a3MFQNS/fTVNnMJwz
aO7iN1e7dO32vvwXOHyZx8/UpQU1UxqjGt8KUSaiYFyhRmHd09XNrKdsw40GiwxNAyesv+tPTYw+
Y5MwCzLplu7xzPQ0+hnlBuV2RYqqeRUlyi7KADkceA6W62VBKsp0LYhhuObxof5insvXqQsH9S1t
HDdaoIq72aQxqtEZRSP09mzj9gRGJSMwO4zjzu5kh1dRKvlVYcw1JUHFQv3VQ62GcgSoBbW8KbA4
hRBCRatLWCUsdA0h9DHZ794fkPMJ/iDcTFSIihYziwtREdLO0NHT4RuYGd2ktH/EMjAY2nUIAVQ7
/5ZSk8WKb1vTavv8PuQkcO+xfB8I2owEtQIXVIxqEUIIZSNzGV5KqRAzOGpf9Hm+Q8MFvrqXP92T
LoRwZ1Nwo1XjLDzh9u2ETDa0Cv0DCLrZxU/Rm+KJ0zmdnCLOFGbYLZdblrirByG8+aMWchZuKPYv
ailKVO5QHQ6VQKugVBjwVb4qqIDj//SZ1jx0um2eAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE3LTA1
LTExVDEyOjM4OjM4KzAyOjAwaOtFIAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNy0wNS0xMVQxMjoz
ODozOCswMjowMBm2/ZwAAAAmdEVYdHBzOkhpUmVzQm91bmRpbmdCb3gAMTIweDQyKzM0MC41KzI3
OC41DjHjzgAAABx0RVh0cHM6TGV2ZWwAQWRvYmUtMy4wIEVQU0YtMy4wDQUULkAAAAAxdEVYdHBz
OlNwb3RDb2xvci0wAHByb2NzZXQgQWRvYmVfQ29sb3JJbWFnZV9BSTYgMS4zIDCV6EqJAAAAMnRF
WHRwczpTcG90Q29sb3ItMQBwcm9jc2V0IEFkb2JlX0lsbHVzdHJhdG9yX0FJNSAxLjMgMG1NxWkA
AAAodEVYdHBzOlNwb3RDb2xvci0yAHByb2NzZXQgQWRvYmVfY3Nob3cgMi4wIDhn1+OfAAAALnRF
WHRwczpTcG90Q29sb3ItMwBwcm9jc2V0IEFkb2JlX3NoYWRpbmdfQUk4IDEuMCAwgxNUQQAAAHF0
RVh0cHM6U3BvdENvbG9yLTQAT3B0aW9uczogMSAxNiAwIDEgMSAxIDAgMCAwIDAgMSAxIDEgMTgg
MCAwIDAgMCAwIDAgMCAwIC0xIC0xIDAgMCAwIDAgMSAwIDAgMCAwIDEgMCAwIDAgMCAwIDEgMiAz
IDTNILt8AAAARHRFWHRwczpTcG90Q29sb3ItNQBQUEQ6IDEgMjEgMCAwIDYwIDQ1IDIgMiAxIDAg
MCAxIDAgMCAwIDAgMCAwIDAgMCAtMSAtMVx0Fj0AAAAASUVORK5CYII=" />
</svg>

After

Width:  |  Height:  |  Size: 6.3 KiB

5
assets/ico/close.svg Normal file
View File

@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" width="31" height="30" viewBox="0 0 31 30">
<g fill="none" fill-rule="evenodd" stroke="#FFFFFF" transform="translate(1)" stroke-linecap="square">
<path d="M0 29.2842712L28.2842712 1M1 0L29.2842712 28.2842712"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 271 B

View File

@ -0,0 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 30 30">
<g fill="none" fill-rule="evenodd">
<circle cx="15" cy="15" r="15" fill="#009EE0"/>
<g stroke="#FFFFFF" transform="translate(4 4)">
<path d="M11.2706564,19.2706564 C15.6889344,19.2706564 19.2706564,15.6889344 19.2706564,11.2706564 C19.2706564,6.85237842 15.6889344,3.27065642 11.2706564,3.27065642 C6.85237842,3.27065642 3.27065642,6.85237842 3.27065642,11.2706564 C3.27065642,13.9434531 4.58139973,16.3101093 6.59516111,17.7628998" transform="rotate(140 11.27 11.27)"/>
<polyline points="2.983 7.013 5.483 4.513 7.983 7.013" transform="rotate(43 5.483 5.763)"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 692 B

BIN
assets/img/18.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 382 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 360 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 380 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 360 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 284 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 72 KiB

View File

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="200px" height="230.75px" viewBox="0 0 200 230.75" enable-background="new 0 0 200 230.75" xml:space="preserve">
<g>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="51.0928" y1="723.5449" x2="115.9932" y2="654.6506" gradientTransform="matrix(1 0 0 1 -16.7197 -562.1406)">
<stop offset="0" style="stop-color:#009EE0"/>
<stop offset="0.9985" style="stop-color:#44C3FF"/>
</linearGradient>
<polygon fill="url(#SVGID_1_)" points="100.589,115.777 100.265,230.693 0.257,172.953 0.582,58.037 "/>
</g>
<g opacity="0.8">
<g enable-background="new ">
<g>
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="166.8281" y1="777.0361" x2="166.8281" y2="617.282" gradientTransform="matrix(1 0 0 1 -16.7197 -562.1406)">
<stop offset="0" style="stop-color:#009EE0"/>
<stop offset="1" style="stop-color:#44C3FF"/>
</linearGradient>
<polygon fill="url(#SVGID_2_)" points="199.95,58.025 199.624,172.941 100.266,230.684 100.59,115.766 "/>
</g>
</g>
</g>
<g>
<g>
<polygon fill="#44C3FF" points="199.949,58.036 100.589,115.777 0.582,58.037 99.94,0.297 "/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="200px" height="230.75px" viewBox="0 0 200 230.75" enable-background="new 0 0 200 230.75" xml:space="preserve">
<g>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="46.7153" y1="727.0791" x2="148.0488" y2="623.7461" gradientTransform="matrix(1 0 0 1 -16.7197 -562.1406)">
<stop offset="0" style="stop-color:#009EE0"/>
<stop offset="1" style="stop-color:#622181"/>
</linearGradient>
<polygon fill="url(#SVGID_1_)" points="100.486,115.657 100.16,230.75 0,172.922 0.325,57.829 "/>
</g>
<g opacity="0.8">
<g enable-background="new ">
<g>
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="171.7998" y1="771.4092" x2="163.1329" y2="658.7429" gradientTransform="matrix(1 0 0 1 -16.7197 -562.1406)">
<stop offset="0" style="stop-color:#009EE0"/>
<stop offset="0.999" style="stop-color:#622181"/>
</linearGradient>
<polygon fill="url(#SVGID_2_)" points="200,57.817 199.674,172.909 100.162,230.741 100.487,115.646 "/>
</g>
</g>
</g>
<g>
<g>
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="42.751" y1="587.8438" x2="594.251" y2="826.8438" gradientTransform="matrix(1 0 0 1 -16.7197 -562.1406)">
<stop offset="4.982462e-04" style="stop-color:#622181"/>
<stop offset="0.999" style="stop-color:#FFFFFF"/>
</linearGradient>
<polygon fill="url(#SVGID_3_)" points="199.998,57.828 100.486,115.657 0.325,57.829 99.836,0 "/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1,119 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="433.514px" height="365.585px" viewBox="0 0 433.514 365.585" enable-background="new 0 0 433.514 365.585"
xml:space="preserve">
<g>
<line fill="none" stroke="#339966" stroke-miterlimit="10" x1="216.001" y1="115.657" x2="215.675" y2="230.75"/>
<g>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="182.4768" y1="738.8813" x2="182.4767" y2="543.4406" gradientTransform="matrix(1 0 0 1 -16.7197 -562.1406)">
<stop offset="0" style="stop-color:#009EE0"/>
<stop offset="1" style="stop-color:#44C3FF"/>
</linearGradient>
<polygon fill="url(#SVGID_1_)" points="216.001,115.657 215.675,230.75 115.514,172.922 115.84,57.829 "/>
</g>
<g>
<g enable-background="new ">
<g>
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="282.3152" y1="752.0698" x2="282.3152" y2="603.9677" gradientTransform="matrix(1 0 0 1 -16.7197 -562.1406)">
<stop offset="0" style="stop-color:#009EE0"/>
<stop offset="1" style="stop-color:#44C3FF"/>
</linearGradient>
<polygon fill="url(#SVGID_2_)" points="315.514,57.816 315.188,172.909 215.677,230.742 216.002,115.646 "/>
</g>
</g>
</g>
<g>
<g>
<polygon fill="#44C3FF" points="315.512,57.828 216.001,115.657 115.84,57.829 215.35,0 "/>
</g>
</g>
</g>
<g>
<line fill="none" stroke="#339966" stroke-miterlimit="10" x1="333.999" y1="183.908" x2="333.674" y2="299"/>
<g>
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="300.4763" y1="807.1313" x2="300.4762" y2="611.6884" gradientTransform="matrix(1 0 0 1 -16.7197 -562.1406)">
<stop offset="0" style="stop-color:#009EE0"/>
<stop offset="1" style="stop-color:#44C3FF"/>
</linearGradient>
<polygon fill="url(#SVGID_3_)" points="333.999,183.908 333.674,299 233.513,241.171 233.839,126.079 "/>
</g>
<g>
<g enable-background="new ">
<g>
<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="401.8318" y1="786.6187" x2="393.8319" y2="723.619" gradientTransform="matrix(1 0 0 1 -16.7197 -562.1406)">
<stop offset="0" style="stop-color:#009EE0"/>
<stop offset="1" style="stop-color:#44C3FF"/>
</linearGradient>
<polygon fill="url(#SVGID_4_)" points="433.513,126.066 433.188,241.16 333.676,298.992 334.001,183.896 "/>
</g>
</g>
</g>
<g>
<g>
<polygon fill="#44C3FF" points="433.511,126.078 333.999,183.908 233.839,126.079 333.349,68.25 "/>
</g>
</g>
</g>
<g>
<line fill="none" stroke="#339966" stroke-miterlimit="10" x1="100.486" y1="183.908" x2="100.161" y2="299"/>
<g>
<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="66.9631" y1="807.1313" x2="66.9631" y2="611.6884" gradientTransform="matrix(1 0 0 1 -16.7197 -562.1406)">
<stop offset="0" style="stop-color:#009EE0"/>
<stop offset="1" style="stop-color:#44C3FF"/>
</linearGradient>
<polygon fill="url(#SVGID_5_)" points="100.486,183.908 100.161,299 0.001,241.171 0.326,126.079 "/>
</g>
<g>
<g enable-background="new ">
<g>
<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="166.8015" y1="797.5698" x2="166.8015" y2="615.7946" gradientTransform="matrix(1 0 0 1 -16.7197 -562.1406)">
<stop offset="0" style="stop-color:#009EE0"/>
<stop offset="1" style="stop-color:#44C3FF"/>
</linearGradient>
<polygon fill="url(#SVGID_6_)" points="200.001,126.066 199.675,241.16 100.163,298.992 100.488,183.896 "/>
</g>
</g>
</g>
<g>
<g>
<polygon fill="#44C3FF" points="199.999,126.078 100.486,183.908 0.326,126.079 99.837,68.25 "/>
</g>
</g>
</g>
<g>
<line fill="none" stroke="#339966" stroke-miterlimit="10" x1="216.16" y1="250.492" x2="215.835" y2="365.583"/>
<g>
<linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="182.637" y1="873.7153" x2="182.6369" y2="678.2723" gradientTransform="matrix(1 0 0 1 -16.7197 -562.1406)">
<stop offset="0" style="stop-color:#009EE0"/>
<stop offset="1" style="stop-color:#44C3FF"/>
</linearGradient>
<polygon fill="url(#SVGID_7_)" points="216.16,250.492 215.835,365.583 115.675,307.755 116,192.664 "/>
</g>
<g>
<g enable-background="new ">
<g>
<linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="283.9919" y1="853.2017" x2="275.992" y2="790.2017" gradientTransform="matrix(1 0 0 1 -16.7197 -562.1406)">
<stop offset="0" style="stop-color:#009EE0"/>
<stop offset="1" style="stop-color:#44C3FF"/>
</linearGradient>
<polygon fill="url(#SVGID_8_)" points="315.675,192.65 315.348,307.744 215.837,365.576 216.161,250.48 "/>
</g>
</g>
</g>
<g>
<g>
<polygon fill="#44C3FF" points="315.673,192.662 216.16,250.492 116,192.664 215.51,134.834 "/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.1 KiB

BIN
assets/img/dummy.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 343 KiB

BIN
assets/img/finanzen_bg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" height="50" width="50">
<path d="m24.5078 6-3.2578 18h7.5l-3.25781-18h-0.984376zm-3.2578 20 3.2578 18h0.9844l3.2578-18h-7.5zm1.19531 0.9941h5.10938l-2.5547 14.1075-2.5547-14.1075z"/>
</svg>

After

Width:  |  Height:  |  Size: 230 B

3
assets/img/pannellum/grab.svg Executable file
View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" height="26" width="26">
<path stroke="#000" stroke-width="1px" fill="#fff" d="m15.3 20.5s6.38-6.73 4.64-8.24-3.47 1.01-3.47 1.01 3.61-5.72 1.41-6.49c-2.2-0.769-3.33 4.36-3.33 4.36s0.873-5.76-1.06-5.76-1.58 5.39-1.58 5.39-0.574-4.59-2.18-4.12c-1.61 0.468-0.572 5.51-0.572 5.51s-1.58-4.89-2.93-3.79c-1.35 1.11 0.258 5.25 0.572 6.62 0.836 2.43 2.03 2.94 2.17 5.55"/>
</svg>

After

Width:  |  Height:  |  Size: 411 B

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" height="26" width="26">
<path stroke="#000" stroke-width="1px" fill="#fff" d="m15.3 20.5s5.07-5.29 3.77-6.74c-1.31-1.45-2.53 0.14-2.53 0.14s2.74-3.29 0.535-4.06c-2.2-0.769-2.52 1.3-2.52 1.3s0.81-2.13-1.12-2.13-1.52 1.77-1.52 1.77-0.261-1.59-1.87-1.12c-1.61 0.468-0.874 2.17-0.874 2.17s-0.651-1.55-2-0.445c-1.35 1.11-0.68 2.25-0.365 3.62 0.836 2.43 2.03 2.94 2.17 5.55"/>
</svg>

After

Width:  |  Height:  |  Size: 418 B

View File

@ -0,0 +1,14 @@
<svg xmlns="http://www.w3.org/2000/svg" width="26" height="208">
<circle fill-opacity=".78" cy="117" cx="13" r="11" fill="#fff"/>
<circle fill-opacity=".78" cy="143" cx="13" r="11" fill="#fff"/>
<circle cy="169" cx="13" r="7" fill="none" stroke="#000" stroke-width="2"/>
<circle cy="195" cx="13" r="7" fill="none" stroke="#000" stroke-width="2"/>
<circle cx="13" cy="195" r="2.5"/>
<path d="m5 83v6h2v-4h4v-2zm10 0v2h4v4h2v-6zm-5 5v6h6v-6zm-5 5v6h6v-2h-4v-4zm14 0v4h-4v2h6v-6z"/>
<path d="m13 110a7 7 0 0 0 -7 7 7 7 0 0 0 7 7 7 7 0 0 0 7 -7 7 7 0 0 0 -7 -7zm-1 3h2v2h-2zm0 3h2v5h-2z"/>
<path d="m5 57v6h2v-4h4v-2zm10 0v2h4v4h2v-6zm-10 10v6h6v-2h-4v-4zm14 0v4h-4v2h6v-6z"/>
<path d="m17 38v2h-8v-2z"/>
<path d="m12 9v3h-3v2h3v3h2v-3h3v-2h-3v-3z"/>
<path d="m13 136-6.125 6.125h4.375v7.875h3.5v-7.875h4.375z"/>
<path d="m10.428 173.33v-5.77l5-2.89v5.77zm1-1.73 3-1.73-3.001-1.74z"/>
</svg>

After

Width:  |  Height:  |  Size: 888 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 286 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 516 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 229 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 225 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 698 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 250 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 289 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 290 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 501 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 556 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 278 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 301 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 290 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 254 KiB

View File

@ -0,0 +1,33 @@
<svg xmlns="http://www.w3.org/2000/svg" width="200" height="45" viewBox="0 0 200 45" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<polygon id="a" points="44.624 39.05 0 39.05 0 19.618 0 .185 44.624 .185"/>
</defs>
<g fill="none" fill-rule="evenodd">
<polyline fill="#000106" points="59.822 18.723 62.961 8.548 67.087 8.548 70.201 18.723 73.719 8.548 77.997 8.548 71.821 26.239 68.884 26.239 65.011 13.939 61.163 26.239 58.227 26.239 52.05 8.548 56.328 8.548 59.822 18.723"/>
<polygon fill="#000106" points="80.098 26.239 84.048 26.239 84.048 8.548 80.098 8.548"/>
<path fill="#000106" d="M88.4013023,8.54830448 L92.3505116,8.54830448 L92.3505116,15.8120475 L99.0334884,8.54830448 L103.919256,8.54830448 L96.8818605,16.3687652 C97.4893023,17.2128631 98.6115349,18.7859207 100.248558,21.0890542 C101.885395,23.3921877 103.109209,25.1092145 103.919256,26.2393905 L99.312,26.2393905 L94.1224186,19.2540993 L92.3505116,21.2281872 L92.3505116,26.2393905 L88.4013023,26.2393905 L88.4013023,8.54830448"/>
<polygon fill="#000106" points="106.375 26.239 110.324 26.239 110.324 8.548 106.375 8.548"/>
<polyline fill="#000106" points="130.524 15.103 125.74 24.771 123.386 24.771 118.626 15.103 118.626 26.239 114.678 26.239 114.678 8.548 120.019 8.548 124.575 18.267 129.157 8.548 134.473 8.548 134.473 26.239 130.524 26.239 130.524 15.103"/>
<polyline fill="#000106" points="151.586 8.548 151.586 12.066 142.777 12.066 142.777 15.711 150.7 15.711 150.7 19.077 142.777 19.077 142.777 22.747 151.865 22.747 151.865 26.239 138.828 26.239 138.828 8.548 151.586 8.548"/>
<path fill="#000106" d="M166.002605,21.3801545 C166.972837,20.4689083 167.458233,19.1445414 167.458233,17.4064959 C167.458233,15.6688224 166.972837,14.3314351 166.002605,13.395078 C165.032,12.4585348 163.542698,11.9903563 161.534512,11.9903563 L159.332093,11.9903563 L159.332093,22.7467449 L161.838326,22.7467449 C163.643907,22.7467449 165.032,22.2912148 166.002605,21.3801545 Z M168.901209,10.8640864 C170.588465,12.4079411 171.432558,14.555201 171.432558,17.3053083 C171.432558,20.0557877 170.60986,22.2322507 168.964465,23.8350694 C167.31907,25.4382601 164.808558,26.2393905 161.433302,26.2393905 L155.383256,26.2393905 L155.383256,8.54830448 L161.635907,8.54830448 C164.791442,8.54830448 167.213209,9.32023179 168.901209,10.8640864 L168.901209,10.8640864 Z"/>
<polygon fill="#000106" points="174.85 26.239 178.799 26.239 178.799 8.548 174.85 8.548"/>
<path fill="#000106" d="M190.418605 13.8126628L188.189767 18.9503506 192.621395 18.9503506 190.418605 13.8126628zM195.76 26.2393905L194.113488 22.4176992 186.697674 22.4176992 185.051349 26.2393905 180.849116 26.2393905 188.494884 8.54830448 192.316279 8.54830448 199.96093 26.2393905 195.76 26.2393905 195.76 26.2393905zM63.6057674 36.9064959C63.6057674 35.1349692 62.5905116 34.2490199 60.560186 34.2490199L59.2532093 34.2490199 59.2532093 39.5529976 60.704186 39.5529976C61.6416744 39.5529976 62.359814 39.3296037 62.8582326 38.8830019 63.3566512 38.4364001 63.6057674 37.7775647 63.6057674 36.9064959zM63.8052093 34.055201C64.5506977 34.7307769 64.9237209 35.6701102 64.9237209 36.8732007 64.9237209 38.0764773 64.5618605 39.028831 63.8383256 39.7300758 63.1146047 40.4313206 62.0072558 40.7819431 60.5157209 40.7819431L57.9464186 40.7819431 57.9464186 33.0422092 60.6044651 33.0422092C61.9923721 33.0422092 63.0593488 33.3798111 63.8052093 34.055201L63.8052093 34.055201z"/>
<polyline fill="#000106" points="77.106 33.042 77.106 34.271 72.975 34.271 72.975 36.32 76.686 36.32 76.686 37.482 72.975 37.482 72.975 39.553 77.239 39.553 77.239 40.782 71.668 40.782 71.668 33.042 77.106 33.042"/>
<path fill="#000106" d="M85.711814,39.0104164 C86.0662326,39.423723 86.5460465,39.6303763 87.1516279,39.6303763 C87.7568372,39.6303763 88.2368372,39.423723 88.5914419,39.0104164 C88.9456744,38.5969237 89.1229767,38.0357419 89.1229767,37.3272428 L89.1229767,33.0422092 L90.4299535,33.0422092 L90.4299535,37.3826728 C90.4299535,38.4974102 90.1233488,39.3554586 89.5106977,39.9570039 C88.8976744,40.5587352 88.1112558,40.8595078 87.1516279,40.8595078 C86.1916279,40.8595078 85.4053953,40.5587352 84.7925581,39.9570039 C84.1795349,39.3554586 83.8733023,38.4974102 83.8733023,37.3826728 L83.8733023,33.0422092 L85.1802791,33.0422092 L85.1802791,37.3272428 C85.1802791,38.0357419 85.3573953,38.5969237 85.711814,39.0104164"/>
<polyline fill="#000106" points="100.464 34.238 100.464 40.782 99.157 40.782 99.157 34.238 96.809 34.238 96.809 33.042 102.812 33.042 102.812 34.238 100.464 34.238"/>
<path fill="#000106" d="M111.63293 34.0607812C111.252651 34.0607812 110.941023 34.13816 110.697302 34.2932895 110.453581 34.4482329 110.331721 34.6827872 110.331721 34.9963943 110.331721 35.3101874 110.453581 35.5499499 110.697302 35.7162398 110.941023 35.8821577 111.459535 36.061282 112.253209 36.2530548 113.046884 36.4453856 113.645023 36.7147231 114.047442 37.0614394 114.44986 37.4085277 114.650977 37.9194878 114.650977 38.5950637 114.650977 39.2704536 114.396279 39.818615 113.886884 40.2393619 113.377302 40.6601087 112.709209 40.8706682 111.882233 40.8706682 110.671256 40.8706682 109.597023 40.4534554 108.659349 39.6192159L109.478884 38.633753C110.261395 39.3132351 111.073674 39.6525111 111.915535 39.6525111 112.336372 39.6525111 112.670512 39.5621119 112.917953 39.3813135 113.165209 39.2005151 113.28893 38.9603806 113.28893 38.661654 113.28893 38.3625554 113.172651 38.1300472 112.939907 37.9639433 112.707349 37.7978395 112.306605 37.6466161 111.738419 37.5099013 111.169674 37.3733724 110.737674 37.248004 110.442605 37.133424 110.147163 37.0192159 109.885023 36.8696666 109.656186 36.6851481 109.19814 36.3380598 108.969488 35.806639 108.969488 35.0905137 108.969488 34.3745743 109.229767 33.8226928 109.750326 33.4352411 110.270884 33.0476034 110.914977 32.8537845 111.682977 32.8537845 112.177488 32.8537845 112.668651 32.9350694 113.155907 33.0974531 113.643163 33.2600229 114.064186 33.488811 114.418419 33.7840034L113.720744 34.7694663C113.491907 34.562813 113.181767 34.392803 112.790512 34.2599943 112.39907 34.1271856 112.013209 34.0607812 111.63293 34.0607812M124.86214 39.5972671C125.312558 39.5972671 125.700093 39.5215625 126.025116 39.3701531 126.349953 39.2189297 126.689488 38.9771212 127.043907 38.6449134L127.885767 39.508542C127.066047 40.4164401 126.07107 40.8706682 124.901023 40.8706682 123.730605 40.8706682 122.759628 40.4940049 121.988279 39.7410502 121.216558 38.9880956 120.830884 38.0357419 120.830884 36.8843611 120.830884 35.7326084 121.224 34.7731864 122.010419 34.0053513 122.796651 33.2377021 123.789581 32.8537845 124.989395 32.8537845 126.189395 32.8537845 127.191628 33.2968522 127.996279 34.1826155L127.165953 35.0905137C126.796465 34.7361711 126.447628 34.4889684 126.119256 34.3487194 125.790512 34.2084705 125.404837 34.13816 124.96186 34.13816 124.179163 34.13816 123.522233 34.3913149 122.990512 34.8966948 122.458977 35.4024467 122.193116 36.0484476 122.193116 36.8345114 122.193116 37.6207612 122.45693 38.2777364 122.98493 38.8054371 123.512744 39.3333238 124.138419 39.5972671 124.86214 39.5972671"/>
<polyline fill="#000106" points="134.542 40.782 134.542 33.042 135.849 33.042 135.849 36.397 139.692 36.397 139.692 33.042 140.999 33.042 140.999 40.782 139.692 40.782 139.692 37.615 135.849 37.615 135.849 40.782 134.542 40.782"/>
<polyline fill="#000106" points="148.209 40.782 148.209 33.042 149.516 33.042 149.516 39.542 153.048 39.542 153.048 40.782 148.209 40.782"/>
<path fill="#000106" d="M163.979535,37.814394 L162.572837,34.6254972 L161.166512,37.814394 L163.979535,37.814394 Z M160.634791,39.0213908 L159.859535,40.7819431 L158.464,40.7819431 L161.875163,33.0422092 L163.270698,33.0422092 L166.68186,40.7819431 L165.286326,40.7819431 L164.51107,39.0213908 L160.634791,39.0213908 L160.634791,39.0213908 Z"/>
<polyline fill="#000106" points="178.621 33.042 179.928 33.042 179.928 40.782 178.51 40.782 174.124 35.135 174.124 40.782 172.817 40.782 172.817 33.042 174.124 33.042 178.621 38.822 178.621 33.042"/>
<path fill="#000106" d="M192.796279 36.9064959C192.796279 35.1349692 191.782326 34.2490199 189.750698 34.2490199L188.444651 34.2490199 188.444651 39.5529976 189.895814 39.5529976C190.833488 39.5529976 191.551628 39.3296037 192.050233 38.8830019 192.548837 38.4364001 192.796279 37.7775647 192.796279 36.9064959zM192.997209 34.055201C193.741395 34.7307769 194.115349 35.6701102 194.115349 36.8732007 194.115349 38.0764773 193.752558 39.028831 193.028837 39.7300758 192.305116 40.4313206 191.19814 40.7819431 189.707907 40.7819431L187.138605 40.7819431 187.138605 33.0422092 189.795349 33.0422092C191.183256 33.0422092 192.251163 33.3798111 192.997209 34.055201L192.997209 34.055201zM24.2498605 36.1079697C30.9136744 35.1664043 36.0396279 29.4422378 36.0396279 22.5201889 36.0396279 18.3149521 34.1473488 14.5522249 31.168186 12.0346258L24.2498605 18.9514666 24.2498605 36.1079697"/>
<g transform="translate(0 5.766)">
<mask id="b" fill="white">
<use xlink:href="#a"/>
</mask>
<path fill="#000106" d="M20.3743256,30.3417656 L20.3743256,13.1852626 L13.456186,6.26842181 C10.4770233,8.78602089 8.58474419,12.548748 8.58474419,16.7539848 C8.58474419,23.6760338 13.7106977,29.4002003 20.3743256,30.3417656" mask="url(#b)"/>
<path fill="#000106" d="M34.2418605,4.82668479 C37.4284651,8.01260552 39.1834419,12.2485334 39.1834419,16.7539848 C39.1834419,21.2594363 37.4284651,25.4953641 34.2418605,28.6812849 C31.0554419,31.8670196 26.8186047,33.6216197 22.312186,33.6216197 C17.8055814,33.6216197 13.5689302,31.8670196 10.3823256,28.6812849 C7.19572093,25.4953641 5.44093023,21.2594363 5.44093023,16.7539848 C5.44093023,12.2485334 7.19572093,8.01260552 10.3823256,4.82668479 C10.655814,4.55325512 10.9376744,4.29117184 11.2262326,4.03894692 L7.37190698,0.185448562 C7.08706977,0.442695665 6.808,0.70738303 6.53506977,0.980254686 C4.48688372,3.02800114 2.87851163,5.41353556 1.75460465,8.07008156 C0.590325581,10.8220489 0,13.7436543 0,16.7539848 C0,19.7643154 0.590325581,22.6859207 1.75460465,25.4378881 C2.87851163,28.0944341 4.48688372,30.4797825 6.53506977,32.527715 C8.58325581,34.5754614 10.9691163,36.1834883 13.6264186,37.3071541 C16.3789767,38.4711833 19.3012093,39.0613822 22.312186,39.0613822 C25.3231628,39.0613822 28.2453953,38.4711833 30.9979535,37.3071541 C33.6550698,36.1834883 36.0411163,34.5754614 38.0893023,32.527715 C40.1374884,30.4797825 41.7458605,28.0944341 42.8697674,25.4378881 C44.0340465,22.6859207 44.6243721,19.7643154 44.6243721,16.7539848 C44.6243721,13.7436543 44.0340465,10.8220489 42.8697674,8.07008156 C41.7458605,5.41353556 40.1374884,3.02800114 38.0893023,0.980254686 C37.8163721,0.70738303 37.5371163,0.442695665 37.2524651,0.185448562 L33.3981395,4.03894692 C33.6866977,4.29117184 33.9683721,4.55325512 34.2418605,4.82668479" mask="url(#b)"/>
</g>
<path fill="#000106" d="M22.312186,0.0894691658 C26.1527442,0.0894691658 29.2660465,3.20210331 29.2660465,7.04183717 C29.2660465,10.881571 26.1527442,13.9942052 22.312186,13.9942052 C18.4716279,13.9942052 15.3583256,10.881571 15.3583256,7.04183717 C15.3583256,3.20210331 18.4716279,0.0894691658 22.312186,0.0894691658"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -0,0 +1,33 @@
<svg xmlns="http://www.w3.org/2000/svg" width="200" height="45" viewBox="0 0 200 45" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<polygon id="a" points="44.624 39.02 0 39.02 0 19.603 0 .185 44.624 .185"/>
</defs>
<g fill="none" fill-rule="evenodd">
<polyline fill="#FFFFFF" points="59.822 18.708 62.961 8.542 67.087 8.542 70.201 18.708 73.719 8.542 77.997 8.542 71.821 26.219 68.884 26.219 65.011 13.928 61.163 26.219 58.227 26.219 52.05 8.542 56.328 8.542 59.822 18.708"/>
<polygon fill="#FFFFFF" points="80.098 26.219 84.048 26.219 84.048 8.542 80.098 8.542"/>
<path fill="#FFFFFF" d="M88.4013023,8.54175071 L92.3505116,8.54175071 L92.3505116,15.7999248 L99.0334884,8.54175071 L103.919256,8.54175071 L96.8818605,16.3562157 C97.4893023,17.1996664 98.6115349,18.771518 100.248558,21.0728858 C101.885395,23.3742535 103.109209,25.0899639 103.919256,26.2192734 L99.312,26.2192734 L94.1224186,19.2393377 L92.3505116,21.211912 L92.3505116,26.2192734 L88.4013023,26.2192734 L88.4013023,8.54175071"/>
<polygon fill="#FFFFFF" points="106.375 26.219 110.324 26.219 110.324 8.542 106.375 8.542"/>
<polyline fill="#FFFFFF" points="130.524 15.092 125.74 24.752 123.386 24.752 118.626 15.092 118.626 26.219 114.678 26.219 114.678 8.542 120.019 8.542 124.575 18.253 129.157 8.542 134.473 8.542 134.473 26.219 130.524 26.219 130.524 15.092"/>
<polyline fill="#FFFFFF" points="151.586 8.542 151.586 12.057 142.777 12.057 142.777 15.699 150.7 15.699 150.7 19.062 142.777 19.062 142.777 22.729 151.865 22.729 151.865 26.219 138.828 26.219 138.828 8.542 151.586 8.542"/>
<path fill="#FFFFFF" d="M166.002605,21.3637629 C166.972837,20.4532153 167.458233,19.1298638 167.458233,17.3931508 C167.458233,15.6568095 166.972837,14.3204476 166.002605,13.3848083 C165.032,12.4489832 163.542698,11.9811636 161.534512,11.9811636 L159.332093,11.9811636 L159.332093,22.7293055 L161.838326,22.7293055 C163.643907,22.7293055 165.032,22.2741246 166.002605,21.3637629 Z M168.901209,10.8557572 C170.588465,12.3984282 171.432558,14.5440419 171.432558,17.2920408 C171.432558,20.0404114 170.60986,22.2152058 168.964465,23.8167956 C167.31907,25.4187572 164.808558,26.2192734 161.433302,26.2192734 L155.383256,26.2192734 L155.383256,8.54175071 L161.635907,8.54175071 C164.791442,8.54175071 167.213209,9.3130862 168.901209,10.8557572 L168.901209,10.8557572 Z"/>
<polygon fill="#FFFFFF" points="174.85 26.219 178.799 26.219 178.799 8.542 174.85 8.542"/>
<path fill="#FFFFFF" d="M190.418605 13.8020729L188.189767 18.9358218 192.621395 18.9358218 190.418605 13.8020729zM195.76 26.2192734L194.113488 22.4005121 186.697674 22.4005121 185.051349 26.2192734 180.849116 26.2192734 188.494884 8.54175071 192.316279 8.54175071 199.96093 26.2192734 195.76 26.2192734 195.76 26.2192734zM63.6057674 36.8782006C63.6057674 35.1080321 62.5905116 34.222762 60.560186 34.222762L59.2532093 34.222762 59.2532093 39.5226733 60.704186 39.5226733C61.6416744 39.5226733 62.359814 39.2994506 62.8582326 38.8531912 63.3566512 38.4069318 63.6057674 37.7486016 63.6057674 36.8782006zM63.8052093 34.0290918C64.5506977 34.7041497 64.9237209 35.6427628 64.9237209 36.844931 64.9237209 38.047285 64.5618605 38.9989086 63.8383256 39.6996158 63.1146047 40.400323 62.0072558 40.7506765 60.5157209 40.7506765L57.9464186 40.7506765 57.9464186 33.0168765 60.6044651 33.0168765C61.9923721 33.0168765 63.0593488 33.3542197 63.8052093 34.0290918L63.8052093 34.0290918z"/>
<polyline fill="#FFFFFF" points="77.106 33.017 77.106 34.245 72.975 34.245 72.975 36.292 76.686 36.292 76.686 37.454 72.975 37.454 72.975 39.523 77.239 39.523 77.239 40.751 71.668 40.751 71.668 33.017 77.106 33.017"/>
<path fill="#FFFFFF" d="M85.711814,38.9805081 C86.0662326,39.3934978 86.5460465,39.5999927 87.1516279,39.5999927 C87.7568372,39.5999927 88.2368372,39.3934978 88.5914419,38.9805081 C88.9456744,38.5673324 89.1229767,38.0065808 89.1229767,37.2986249 L89.1229767,33.0168765 L90.4299535,33.0168765 L90.4299535,37.3540124 C90.4299535,38.4678952 90.1233488,39.3252857 89.5106977,39.9263698 C88.8976744,40.5276398 88.1112558,40.8281818 87.1516279,40.8281818 C86.1916279,40.8281818 85.4053953,40.5276398 84.7925581,39.9263698 C84.1795349,39.3252857 83.8733023,38.4678952 83.8733023,37.3540124 L83.8733023,33.0168765 L85.1802791,33.0168765 L85.1802791,37.2986249 C85.1802791,38.0065808 85.3573953,38.5673324 85.711814,38.9805081"/>
<polyline fill="#FFFFFF" points="100.464 34.212 100.464 40.751 99.157 40.751 99.157 34.212 96.809 34.212 96.809 33.017 102.812 33.017 102.812 34.212 100.464 34.212"/>
<path fill="#FFFFFF" d="M111.63293 34.0346677C111.252651 34.0346677 110.941023 34.1119871 110.697302 34.2669976 110.453581 34.4218223 110.331721 34.6561968 110.331721 34.9695635 110.331721 35.283116 110.453581 35.5226947 110.697302 35.6888571 110.941023 35.8546477 111.459535 36.0336347 112.253209 36.2252605 113.046884 36.4174438 113.645023 36.6865749 114.047442 37.0330253 114.44986 37.3798475 114.650977 37.8904158 114.650977 38.5654738 114.650977 39.2403459 114.396279 39.788087 113.886884 40.2085113 113.377302 40.6289356 112.709209 40.8393337 111.882233 40.8393337 110.671256 40.8393337 109.597023 40.4224408 108.659349 39.5888408L109.478884 38.6041335C110.261395 39.2830946 111.073674 39.6221105 111.915535 39.6221105 112.336372 39.6221105 112.670512 39.5317806 112.917953 39.3511208 113.165209 39.170461 113.28893 38.9305106 113.28893 38.6320131 113.28893 38.3331438 113.172651 38.1008139 112.939907 37.9348373 112.707349 37.7688608 112.306605 37.6177534 111.738419 37.4811434 111.169674 37.3447192 110.737674 37.2194469 110.442605 37.1049547 110.147163 36.9908342 109.885023 36.8413996 109.656186 36.6570225 109.19814 36.3102003 108.969488 35.7791869 108.969488 35.0636106 108.969488 34.3482202 109.229767 33.7967618 109.750326 33.4096071 110.270884 33.0222666 110.914977 32.8285963 111.682977 32.8285963 112.177488 32.8285963 112.668651 32.9098189 113.155907 33.0720781 113.643163 33.2345233 114.064186 33.4631359 114.418419 33.7581021L113.720744 34.7428094C113.491907 34.5363145 113.181767 34.3664349 112.790512 34.233728 112.39907 34.1010211 112.013209 34.0346677 111.63293 34.0346677M124.86214 39.5669089C125.312558 39.5669089 125.700093 39.4912623 126.025116 39.339969 126.349953 39.1888616 126.689488 38.9472384 127.043907 38.6152853L127.885767 39.4782518C127.066047 40.3854538 126.07107 40.8393337 124.901023 40.8393337 123.730605 40.8393337 122.759628 40.4629591 121.988279 39.7105817 121.216558 38.9582044 120.830884 38.0065808 120.830884 36.8560828 120.830884 35.7052131 121.224 34.7465267 122.010419 33.9792802 122.796651 33.2122196 123.789581 32.8285963 124.989395 32.8285963 126.189395 32.8285963 127.191628 33.2713243 127.996279 34.1564086L127.165953 35.0636106C126.796465 34.7095398 126.447628 34.4625265 126.119256 34.3223851 125.790512 34.1822437 125.404837 34.1119871 124.96186 34.1119871 124.179163 34.1119871 123.522233 34.364948 122.990512 34.8699404 122.458977 35.3753045 122.193116 36.0208101 122.193116 36.8062713 122.193116 37.5919183 122.45693 38.2483899 122.98493 38.7756859 123.512744 39.3031679 124.138419 39.5669089 124.86214 39.5669089"/>
<polyline fill="#FFFFFF" points="134.542 40.751 134.542 33.017 135.849 33.017 135.849 36.369 139.692 36.369 139.692 33.017 140.999 33.017 140.999 40.751 139.692 40.751 139.692 37.586 135.849 37.586 135.849 40.751 134.542 40.751"/>
<polyline fill="#FFFFFF" points="148.209 40.751 148.209 33.017 149.516 33.017 149.516 39.512 153.048 39.512 153.048 40.751 148.209 40.751"/>
<path fill="#FFFFFF" d="M163.979535,37.7854027 L162.572837,34.5989507 L161.166512,37.7854027 L163.979535,37.7854027 Z M160.634791,38.991474 L159.859535,40.7506765 L158.464,40.7506765 L161.875163,33.0168765 L163.270698,33.0168765 L166.68186,40.7506765 L165.286326,40.7506765 L164.51107,38.991474 L160.634791,38.991474 L160.634791,38.991474 Z"/>
<polyline fill="#FFFFFF" points="178.621 33.017 179.928 33.017 179.928 40.751 178.51 40.751 174.124 35.108 174.124 40.751 172.817 40.751 172.817 33.017 174.124 33.017 178.621 38.792 178.621 33.017"/>
<path fill="#FFFFFF" d="M192.796279 36.8782006C192.796279 35.1080321 191.782326 34.222762 189.750698 34.222762L188.444651 34.222762 188.444651 39.5226733 189.895814 39.5226733C190.833488 39.5226733 191.551628 39.2994506 192.050233 38.8531912 192.548837 38.4069318 192.796279 37.7486016 192.796279 36.8782006zM192.997209 34.0290918C193.741395 34.7041497 194.115349 35.6427628 194.115349 36.844931 194.115349 38.047285 193.752558 38.9989086 193.028837 39.6996158 192.305116 40.400323 191.19814 40.7506765 189.707907 40.7506765L187.138605 40.7506765 187.138605 33.0168765 189.795349 33.0168765C191.183256 33.0168765 192.251163 33.3542197 192.997209 34.0290918L192.997209 34.0290918zM24.2498605 36.0802866C30.9136744 35.1394431 36.0396279 29.4196652 36.0396279 22.5029232 36.0396279 18.3009104 34.1473488 14.5410681 31.168186 12.0253992L24.2498605 18.936937 24.2498605 36.0802866"/>
<g transform="translate(0 5.762)">
<mask id="b" fill="white">
<use xlink:href="#a"/>
</mask>
<path fill="#FFFFFF" d="M20.3743256,30.3185034 L20.3743256,13.1751537 L13.456186,6.26361596 C10.4770233,8.77928487 8.58474419,12.5391272 8.58474419,16.74114 C8.58474419,23.6578819 13.7106977,29.3776599 20.3743256,30.3185034" mask="url(#b)"/>
<path fill="#FFFFFF" d="M34.2418605,4.82298429 C37.4284651,8.00646246 39.1834419,12.2391428 39.1834419,16.74114 C39.1834419,21.2431372 37.4284651,25.4758175 34.2418605,28.6592956 C31.0554419,31.8425879 26.8186047,33.5958428 22.312186,33.5958428 C17.8055814,33.5958428 13.5689302,31.8425879 10.3823256,28.6592956 C7.19572093,25.4758175 5.44093023,21.2431372 5.44093023,16.74114 C5.44093023,12.2391428 7.19572093,8.00646246 10.3823256,4.82298429 C10.655814,4.54976425 10.9376744,4.28788191 11.2262326,4.03585036 L7.37190698,0.185306383 C7.08706977,0.442356261 6.808,0.706840697 6.53506977,0.979503149 C4.48688372,3.02567965 2.87851163,5.40938513 1.75460465,8.06389443 C0.590325581,10.8137519 0,13.7331174 0,16.74114 C0,19.7491625 0.590325581,22.668528 1.75460465,25.4183855 C2.87851163,28.0728948 4.48688372,30.4564144 6.53506977,32.5027768 C8.58325581,34.5489533 10.9691163,36.1557474 13.6264186,37.2785516 C16.3789767,38.4416884 19.3012093,39.0314348 22.312186,39.0314348 C25.3231628,39.0314348 28.2453953,38.4416884 30.9979535,37.2785516 C33.6550698,36.1557474 36.0411163,34.5489533 38.0893023,32.5027768 C40.1374884,30.4564144 41.7458605,28.0728948 42.8697674,25.4183855 C44.0340465,22.668528 44.6243721,19.7491625 44.6243721,16.74114 C44.6243721,13.7331174 44.0340465,10.8137519 42.8697674,8.06389443 C41.7458605,5.40938513 40.1374884,3.02567965 38.0893023,0.979503149 C37.8163721,0.706840697 37.5371163,0.442356261 37.2524651,0.185306383 L33.3981395,4.03585036 C33.6866977,4.28788191 33.9683721,4.54976425 34.2418605,4.82298429" mask="url(#b)"/>
</g>
<path fill="#FFFFFF" d="M22.312186,0.089400572 C26.1527442,0.089400572 29.2660465,3.19964833 29.2660465,7.03643837 C29.2660465,10.8732284 26.1527442,13.9834762 22.312186,13.9834762 C18.4716279,13.9834762 15.3583256,10.8732284 15.3583256,7.03643837 C15.3583256,3.19964833 18.4716279,0.089400572 22.312186,0.089400572"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

1
assets/js/base.js Normal file
View File

@ -0,0 +1 @@
"use strict";requirejs.config({baseUrl:"".concat(App.assets.base,"/js"),waitSeconds:60,paths:{},shim:{waypoints:{exports:"Waypoint",deps:["require/domReady!"]},"compat/modernizr":{exports:"Modernizr",deps:["require/domReady!"]},"compat/scrollBehavior":{exports:"smoothscroll"},pannellum:{exports:"pannellum",deps:["libpannellum"]}}});

1
assets/js/compat/core.js Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
"use strict";function polyfill(){var o=window,t=document;if(!("scrollBehavior"in t.documentElement.style&&!0!==o.__forceSmoothScrollPolyfill__)){var l,e=o.HTMLElement||o.Element,r=468,i={scroll:o.scroll||o.scrollTo,scrollBy:o.scrollBy,elementScroll:e.prototype.scroll||n,scrollIntoView:e.prototype.scrollIntoView},s=o.performance&&o.performance.now?o.performance.now.bind(o.performance):Date.now,c=(l=o.navigator.userAgent,new RegExp(["MSIE ","Trident/","Edge/"].join("|")).test(l)?1:0);o.scroll=o.scrollTo=function(){void 0!==arguments[0]&&(!0!==f(arguments[0])?h.call(o,t.body,void 0!==arguments[0].left?~~arguments[0].left:o.scrollX||o.pageXOffset,void 0!==arguments[0].top?~~arguments[0].top:o.scrollY||o.pageYOffset):i.scroll.call(o,void 0!==arguments[0].left?arguments[0].left:"object"!=typeof arguments[0]?arguments[0]:o.scrollX||o.pageXOffset,void 0!==arguments[0].top?arguments[0].top:void 0!==arguments[1]?arguments[1]:o.scrollY||o.pageYOffset))},o.scrollBy=function(){void 0!==arguments[0]&&(f(arguments[0])?i.scrollBy.call(o,void 0!==arguments[0].left?arguments[0].left:"object"!=typeof arguments[0]?arguments[0]:0,void 0!==arguments[0].top?arguments[0].top:void 0!==arguments[1]?arguments[1]:0):h.call(o,t.body,~~arguments[0].left+(o.scrollX||o.pageXOffset),~~arguments[0].top+(o.scrollY||o.pageYOffset)))},e.prototype.scroll=e.prototype.scrollTo=function(){if(void 0!==arguments[0])if(!0!==f(arguments[0])){var o=arguments[0].left,t=arguments[0].top;h.call(this,this,void 0===o?this.scrollLeft:~~o,void 0===t?this.scrollTop:~~t)}else{if("number"==typeof arguments[0]&&void 0===arguments[1])throw new SyntaxError("Value could not be converted");i.elementScroll.call(this,void 0!==arguments[0].left?~~arguments[0].left:"object"!=typeof arguments[0]?~~arguments[0]:this.scrollLeft,void 0!==arguments[0].top?~~arguments[0].top:void 0!==arguments[1]?~~arguments[1]:this.scrollTop)}},e.prototype.scrollBy=function(){void 0!==arguments[0]&&(!0!==f(arguments[0])?this.scroll({left:~~arguments[0].left+this.scrollLeft,top:~~arguments[0].top+this.scrollTop,behavior:arguments[0].behavior}):i.elementScroll.call(this,void 0!==arguments[0].left?~~arguments[0].left+this.scrollLeft:~~arguments[0]+this.scrollLeft,void 0!==arguments[0].top?~~arguments[0].top+this.scrollTop:~~arguments[1]+this.scrollTop))},e.prototype.scrollIntoView=function(){if(!0!==f(arguments[0])){var l=function(o){var l;do{l=(o=o.parentNode)===t.body}while(!1===l&&!1===d(o));return l=null,o}(this),e=l.getBoundingClientRect(),r=this.getBoundingClientRect();l!==t.body?(h.call(this,l,l.scrollLeft+r.left-e.left,l.scrollTop+r.top-e.top),"fixed"!==o.getComputedStyle(l).position&&o.scrollBy({left:e.left,top:e.top,behavior:"smooth"})):o.scrollBy({left:r.left,top:r.top,behavior:"smooth"})}else i.scrollIntoView.call(this,void 0===arguments[0]||arguments[0])}}function n(o,t){this.scrollLeft=o,this.scrollTop=t}function f(o){if(null===o||"object"!=typeof o||void 0===o.behavior||"auto"===o.behavior||"instant"===o.behavior)return!0;if("object"==typeof o&&"smooth"===o.behavior)return!1;throw new TypeError("behavior member of ScrollOptions "+o.behavior+" is not a valid value for enumeration ScrollBehavior.")}function p(o,t){return"Y"===t?o.clientHeight+c<o.scrollHeight:"X"===t?o.clientWidth+c<o.scrollWidth:void 0}function a(t,l){var e=o.getComputedStyle(t,null)["overflow"+l];return"auto"===e||"scroll"===e}function d(o){var t=p(o,"Y")&&a(o,"Y"),l=p(o,"X")&&a(o,"X");return t||l}function v(t){var l,e,i,c,n=(s()-t.startTime)/r;c=n=n>1?1:n,l=.5*(1-Math.cos(Math.PI*c)),e=t.startX+(t.x-t.startX)*l,i=t.startY+(t.y-t.startY)*l,t.method.call(t.scrollable,e,i),e===t.x&&i===t.y||o.requestAnimationFrame(v.bind(o,t))}function h(l,e,r){var c,f,p,a,d=s();l===t.body?(c=o,f=o.scrollX||o.pageXOffset,p=o.scrollY||o.pageYOffset,a=i.scroll):(c=l,f=l.scrollLeft,p=l.scrollTop,a=n),v({scrollable:c,method:a,startTime:d,startX:f,startY:p,x:e,y:r})}}"object"==typeof exports&&"undefined"!=typeof module?module.exports={polyfill:polyfill}:polyfill();

View File

@ -0,0 +1 @@
"use strict";function polyfill(){var o=window,t=document;if(!("scrollBehavior"in t.documentElement.style&&!0!==o.__forceSmoothScrollPolyfill__)){var l,e=o.HTMLElement||o.Element,r=468,i={scroll:o.scroll||o.scrollTo,scrollBy:o.scrollBy,elementScroll:e.prototype.scroll||n,scrollIntoView:e.prototype.scrollIntoView},s=o.performance&&o.performance.now?o.performance.now.bind(o.performance):Date.now,c=(l=o.navigator.userAgent,new RegExp(["MSIE ","Trident/","Edge/"].join("|")).test(l)?1:0);o.scroll=o.scrollTo=function(){void 0!==arguments[0]&&(!0!==f(arguments[0])?h.call(o,t.body,void 0!==arguments[0].left?~~arguments[0].left:o.scrollX||o.pageXOffset,void 0!==arguments[0].top?~~arguments[0].top:o.scrollY||o.pageYOffset):i.scroll.call(o,void 0!==arguments[0].left?arguments[0].left:"object"!=typeof arguments[0]?arguments[0]:o.scrollX||o.pageXOffset,void 0!==arguments[0].top?arguments[0].top:void 0!==arguments[1]?arguments[1]:o.scrollY||o.pageYOffset))},o.scrollBy=function(){void 0!==arguments[0]&&(f(arguments[0])?i.scrollBy.call(o,void 0!==arguments[0].left?arguments[0].left:"object"!=typeof arguments[0]?arguments[0]:0,void 0!==arguments[0].top?arguments[0].top:void 0!==arguments[1]?arguments[1]:0):h.call(o,t.body,~~arguments[0].left+(o.scrollX||o.pageXOffset),~~arguments[0].top+(o.scrollY||o.pageYOffset)))},e.prototype.scroll=e.prototype.scrollTo=function(){if(void 0!==arguments[0])if(!0!==f(arguments[0])){var o=arguments[0].left,t=arguments[0].top;h.call(this,this,void 0===o?this.scrollLeft:~~o,void 0===t?this.scrollTop:~~t)}else{if("number"==typeof arguments[0]&&void 0===arguments[1])throw new SyntaxError("Value could not be converted");i.elementScroll.call(this,void 0!==arguments[0].left?~~arguments[0].left:"object"!=typeof arguments[0]?~~arguments[0]:this.scrollLeft,void 0!==arguments[0].top?~~arguments[0].top:void 0!==arguments[1]?~~arguments[1]:this.scrollTop)}},e.prototype.scrollBy=function(){void 0!==arguments[0]&&(!0!==f(arguments[0])?this.scroll({left:~~arguments[0].left+this.scrollLeft,top:~~arguments[0].top+this.scrollTop,behavior:arguments[0].behavior}):i.elementScroll.call(this,void 0!==arguments[0].left?~~arguments[0].left+this.scrollLeft:~~arguments[0]+this.scrollLeft,void 0!==arguments[0].top?~~arguments[0].top+this.scrollTop:~~arguments[1]+this.scrollTop))},e.prototype.scrollIntoView=function(){if(!0!==f(arguments[0])){var l=function(o){var l;do{l=(o=o.parentNode)===t.body}while(!1===l&&!1===d(o));return l=null,o}(this),e=l.getBoundingClientRect(),r=this.getBoundingClientRect();l!==t.body?(h.call(this,l,l.scrollLeft+r.left-e.left,l.scrollTop+r.top-e.top),"fixed"!==o.getComputedStyle(l).position&&o.scrollBy({left:e.left,top:e.top,behavior:"smooth"})):o.scrollBy({left:r.left,top:r.top,behavior:"smooth"})}else i.scrollIntoView.call(this,void 0===arguments[0]||arguments[0])}}function n(o,t){this.scrollLeft=o,this.scrollTop=t}function f(o){if(null===o||"object"!=typeof o||void 0===o.behavior||"auto"===o.behavior||"instant"===o.behavior)return!0;if("object"==typeof o&&"smooth"===o.behavior)return!1;throw new TypeError("behavior member of ScrollOptions "+o.behavior+" is not a valid value for enumeration ScrollBehavior.")}function p(o,t){return"Y"===t?o.clientHeight+c<o.scrollHeight:"X"===t?o.clientWidth+c<o.scrollWidth:void 0}function a(t,l){var e=o.getComputedStyle(t,null)["overflow"+l];return"auto"===e||"scroll"===e}function d(o){var t=p(o,"Y")&&a(o,"Y"),l=p(o,"X")&&a(o,"X");return t||l}function v(t){var l,e,i,c,n=(s()-t.startTime)/r;c=n=n>1?1:n,l=.5*(1-Math.cos(Math.PI*c)),e=t.startX+(t.x-t.startX)*l,i=t.startY+(t.y-t.startY)*l,t.method.call(t.scrollable,e,i),e===t.x&&i===t.y||o.requestAnimationFrame(v.bind(o,t))}function h(l,e,r){var c,f,p,a,d=s();l===t.body?(c=o,f=o.scrollX||o.pageXOffset,p=o.scrollY||o.pageYOffset,a=i.scroll):(c=l,f=l.scrollLeft,p=l.scrollTop,a=n),v({scrollable:c,method:a,startTime:d,startX:f,startY:p,x:e,y:r})}}"object"==typeof exports&&"undefined"!=typeof module?module.exports={polyfill:polyfill}:polyfill();

View File

@ -0,0 +1 @@
"use strict";define("components/achievements",[],function(){return class{constructor(e){this.element=e,this.state={alreadyVisible:!1,runningTasks:0,loading:!0,store:this.element.querySelectorAll(".achievement--store"),unseen:[],lastStoreIndexes:[]},this.element.querySelector(".achievements__button").addEventListener("click",()=>{0==this.state.runningTasks&&this.toggleAnimation()}),this.element.querySelectorAll(".achievements__cube").forEach(e=>{e.addEventListener("click",()=>{0==this.state.runningTasks&&this.toggleAnimation()})})}init(){if(!this.state.alreadyVisible){this.state.alreadyVisible=!0,this.element.querySelectorAll(".achievement").forEach(e=>{this.loadNextUnseen(e)}),this.toggleAnimation(),this.element.querySelector(".achievements__button").classList.remove("invis")}}loadNextUnseen(e){0==this.state.unseen.length&&(this.state.store.forEach((e,t)=>{this.state.unseen.push(t)}),this.state.lastStoreIndexes.forEach(e=>{this.state.unseen=this.state.unseen.filter(t=>t!==e)}));let t=this.state.unseen[Math.floor(Math.random()*this.state.unseen.length)];this.state.lastStoreIndexes.push(t),this.state.lastStoreIndexes.length>2&&this.state.lastStoreIndexes.shift(),this.state.unseen=this.state.unseen.filter(e=>e!==t);let s=this.state.store[t];e.querySelector(".achievement__number").dataset.number=s.dataset.number,e.querySelector(".achievement__number-placeholder").innerHTML=s.dataset.number,e.querySelector(".achievement__number-postfix").innerHTML=s.dataset.postfix,e.querySelector(".achievement__category").innerHTML=s.dataset.category,e.querySelector(".achievement__teaser").innerHTML=s.innerHTML,e.querySelector(".achievement__link").href=s.dataset.url}toggleAnimation(){let e=this.element,t=e.querySelectorAll(".achievement");this.state.loading?(t.forEach(e=>{this.state.runningTasks++,this.countUp(e.querySelector(".achievement__number"),()=>{this.state.runningTasks--})}),e.classList.remove("loading"),this.state.loading=!1):(e.classList.add("loading"),this.state.loading=!0,this.state.runningTasks++,setTimeout(()=>{this.state.runningTasks--,t.forEach(e=>{this.loadNextUnseen(e)}),this.toggleAnimation()},800))}countUp(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:700,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:13,a=parseInt(e.dataset.number,10),i=document.documentElement.getAttribute("lang"),r=0;n=Math.min(n,a);let l=Math.abs(Math.floor(s/n)),o=Math.floor(a/n),h=e.querySelector(".achievement__number-placeholder");h.style.width="auto",h.innerHTML=a.toLocaleString(i),h.style.width=h.offsetWidth+"px";let c=setInterval(()=>{o>1&&r+o>=a&&(o=Math.floor(o/4)),r=(r+=o=o<1?1:o)>a?a:r,h.innerHTML=r.toLocaleString(i),r==a&&(clearInterval(c),t())},l)}}});

View File

@ -0,0 +1 @@
"use strict";define("components/chart",[],function(){return class{constructor(t){this.element=t}init(){setTimeout(()=>{document.querySelector(".chart-bars").classList.remove("loading")},800)}}});

View File

@ -0,0 +1 @@
"use strict";define("components/reports",[],function(){return class{constructor(e){this.element=e,this.state={runningTransitions:0,animationState:1,store:this.element.querySelectorAll(".reports--store"),unseen:[],lastStoreIndexes:[],loading:!0,backgroundImage:"none"};let t=this.element.querySelector(".reports__background");this.element.querySelectorAll(".reports__link").forEach(e=>{e.addEventListener("mouseenter",()=>{this.state.backgroundImage=e.dataset.cover?"url("+e.dataset.cover+")":"none",t.style.backgroundImage=this.state.backgroundImage,t.classList.remove("hidden")}),e.addEventListener("mouseleave",()=>{this.state.backgroundImage="none",t.classList.add("hidden"),setTimeout(()=>{t.style.backgroundimage=this.state.backgroundImage},300)})});let s=this.element.querySelector(".reports__cube--1"),i=this.element.querySelector(".reports__cube--2"),n=this.element.querySelector(".reports__cube--3"),l=s.offsetWidth/2,o=s.offsetHeight/4;this.shuffleLoop=[[{el:s,styles:{left:1*l,top:2*o},pixelSpeed:80},{el:i,styles:{left:0*l,top:1*o},pixelSpeed:80},{el:n,styles:{left:2*l,top:1*o},pixelSpeed:80}],[{el:s,styles:{left:1*l,top:0*o},pixelSpeed:80}],[{el:s,styles:{left:1*l,top:4*o},pixelSpeed:80}],[{el:i,styles:{left:0*l,top:3*o},pixelSpeed:80}],[{el:s,styles:{left:1*l,top:2*o},pixelSpeed:80},{el:n,styles:{left:1*l,top:0*o},pixelSpeed:80}],[{el:s,styles:{left:0*l,top:1*o},pixelSpeed:80}],[{el:s,styles:{left:1*l,top:2*o},pixelSpeed:80},{el:n,styles:{left:2*l,top:1*o},pixelSpeed:80}]],this.element.querySelector(".reports__button--reload").addEventListener("click",()=>{0==this.state.runningTransitions&&this.loadNewReports()}),this.element.querySelectorAll(".reports__link").forEach(e=>{this.loadNextUnseen(e)}),this.loadNewReports(),this.element.querySelectorAll(".reports__button").forEach(e=>{e.classList.remove("invis")})}loadNextUnseen(e){0==this.state.unseen.length&&(this.state.store.forEach((e,t)=>{this.state.unseen.push(t)}),this.state.lastStoreIndexes.forEach(e=>{this.state.unseen=this.state.unseen.filter(t=>t!==e)}));let t=this.state.unseen[Math.floor(Math.random()*this.state.unseen.length)];this.state.lastStoreIndexes.push(t),this.state.lastStoreIndexes.length>3&&this.state.lastStoreIndexes.shift(),this.state.unseen=this.state.unseen.filter(e=>e!==t);let s=this.state.store[t];e.href=s.dataset.url,e.querySelector(".reports__link-title").innerHTML=s.innerHTML,e.dataset.cover=s.dataset.cover}delayedDropClass(e,t,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:void 0,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:void 0;void 0===n&&(n=0),n<e.length?(e[n].classList.remove(s),setTimeout(()=>{this.delayedDropClass(e,t,s,i,n+1)},t+30*Math.random())):i&&i()}loadNewReports(){let e=this.element.querySelectorAll(".reports__link");this.state.loading?this.delayedDropClass(e,50,"loading",()=>{this.state.loading=!1}):(this.toggleAnimationState(this.shuffleLoop),e.forEach(e=>{e.classList.add("loading")}),this.state.loading=!0,this.state.runningTasks++,setTimeout(()=>{this.state.runningTasks--,e.forEach(e=>{this.loadNextUnseen(e)}),this.loadNewReports()},300))}toggleAnimationState(e){this.performAnimationState(e[this.state.animationState],()=>{}),this.state.animationState=this.state.animationState+1<e.length?this.state.animationState+1:0}performAnimationState(e,t){let s;Object.entries(e).forEach(e=>{s=e[1],this.performTransition(s,t)})}performAnimation(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;e[s]?this.performAnimationState(e[s],()=>{this.performAnimation(e,t,s+1)}):t&&t()}performTransition(e,t){e.onStart&&e.onStart();let s=[];if(Object.entries(e.styles).forEach(t=>{let i=(e.el.style[t[0]]||window.getComputedStyle(e.el,null)[t[0]]).match(/(-?\d*\.?\d*)(.*)/);i[1]=parseInt(i[1]),s[t[0]]=i}),e.pixelSpeed){let t=void 0===s.left[1]?0:s.left[1],i=void 0===s.top[1]?0:s.top[1],n=(void 0===e.styles.left?0:e.styles.left)-t,l=(void 0===e.styles.top?0:e.styles.top)-i,o=Math.sqrt(n*n+l*l);o>0&&(e.duration=o/e.pixelSpeed*1e3)}e.el.style.transitionDuration=e.duration/1e3+"s",Object.entries(e.styles).forEach(i=>{let n=e.styles[i[0]];e.el.style[i[0]]=n+s[i[0]][2],this.state.runningTransitions++,setTimeout(()=>{this.state.runningTransitions--,0==this.state.runningTransitions&&t&&t(),e.onEnd&&e.onEnd()},e.duration)})}}});

File diff suppressed because one or more lines are too long

1
assets/js/notify.js Normal file
View File

@ -0,0 +1 @@
"use strict";define("notify",[],function(){return class{constructor(e){this.queue=new Promise((e,t)=>{e()});let t=document.createElement("div");t.classList.add("notify");let s=document.createElement("div");s.classList.add("notify__messages"),t.appendChild(s),e.appendChild(t),this.container=s}queueMessage(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=t.timeout||1100,i=t.level||null,n=t.sticky||!1,a=this.renderMessage(e,n,i);if(this.container.appendChild(a),n)return void(this.queue=this.queue.then(()=>this.showMessage(a)));this.queue=this.queue.then(()=>this.showMessage(a)).then(()=>new Promise(e=>{setTimeout(()=>{e()},this.calculateTimeout(a,s))})).then(()=>this.hideMessage(a)).then(()=>this.removeMessage(a))}showMessage(e){return new Promise((t,s)=>{"0s"!==window.getComputedStyle(e).getPropertyValue("transition-duration")?e.addEventListener("transitionend",()=>{t()}):t(),e.classList.remove("invisible")})}hideMessage(e){return new Promise((t,s)=>{"0s"!==window.getComputedStyle(e).getPropertyValue("transition-duration")?e.addEventListener("transitionend",()=>{t()}):t(),e.classList.add("invisible")})}removeMessage(e){return new Promise(t=>{e.parentNode.removeChild(e),t()})}renderMessage(e,t,s){let i=document.createElement("div");return i.innerHTML=e,i.classList.add("notify__message"),i.classList.add("invisible"),t?i.classList.add("sticky"):i.addEventListener("click",e=>{e.preventDefault(),this.hideMessage(i),this.removeMessage(i)}),s&&i.classList.add(s),i}calculateTimeout(e,t){let s=e.innerText.length-25/30;return t+Math.max(0,1e3*s)}}});

1
assets/js/pannellum.js Normal file

File diff suppressed because one or more lines are too long

1
assets/js/react.js vendored Normal file

File diff suppressed because one or more lines are too long

1
assets/js/react/dom.js Normal file

File diff suppressed because one or more lines are too long

1
assets/js/require.js Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
define(function(){"use strict";var n,e,t,o="undefined"!=typeof window&&window.document,d=!o,i=o?document:null,c=[];function a(){var n=c;d&&n.length&&(c=[],function(n){var e;for(e=0;e<n.length;e+=1)n[e](i)}(n))}function l(){d||(d=!0,t&&clearInterval(t),a())}if(o){if(document.addEventListener)document.addEventListener("DOMContentLoaded",l,!1),window.addEventListener("load",l,!1);else if(window.attachEvent){window.attachEvent("onload",l),e=document.createElement("div");try{n=null===window.frameElement}catch(n){}e.doScroll&&n&&window.external&&(t=setInterval(function(){try{e.doScroll(),l()}catch(n){}},30))}"complete"===document.readyState&&l()}function r(n){return d?n(i):c.push(n),r}return r.version="2.0.1",r.load=function(n,e,t,o){o.isBuild?t(null):r(t)},r});

1
assets/js/router.js Normal file
View File

@ -0,0 +1 @@
"use strict";define("router",[],function(){return void 0!==window.console&&(void 0===window.App?console.error("Global App object not defined."):void 0===window.App.routes&&console.error("Global App object hast no routes key.")),window.router=new class{constructor(e){this.routes=e}match(e,o){let r=this.routes[e];return Object.keys(o||{}).forEach(e=>{r=r.replace("__"+this._underscore(e).toUpperCase()+"__",o[e])}),new Promise((e,o)=>{e(r)})}_underscore(e){let o=""+e;return o=(o=(o=o.replace(/([A-Z\d]+)([A-Z][a-z])/g,"$1_$2")).replace(/([a-z\d])([A-Z])/g,"$1_$2")).replace(/-/g,"_")}}(App.routes)});

1
assets/js/skrollr.js Normal file

File diff suppressed because one or more lines are too long

1
assets/js/swiper.js Normal file

File diff suppressed because one or more lines are too long

1
assets/js/underscore.js Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
"use strict";require(["require/domReady!"],function(){let e=document.querySelector(".imprint-toggle"),t=document.querySelector(".imprint-close"),o=document.querySelector(".imprint");e.addEventListener("click",function(e){if(e.preventDefault(),o.classList.toggle("invis"),t.classList.toggle("invis"),!o.classList.contains("invis")){let e=o.getBoundingClientRect();"scrollBehavior"in document.documentElement.style?window.scrollTo({top:window.pageYOffset+e.top-40,behavior:"smooth"}):require(["smoothscroll"],function(){window.scrollTo({top:window.pageYOffset+e.top-40,behavior:"smooth"})})}}),t.addEventListener("click",function(e){e.preventDefault(),t.classList.add("invis"),o.classList.add("invis")});let i=document.querySelector(".mn-container"),n=document.querySelector(".real-logo"),s=document.querySelector(".mn-trigger"),c=document.querySelector(".mn-close");s.addEventListener("click",()=>{i.classList.add("mn-inframe"),document.body.classList.add("no-scroll"),n.classList.add("no-filter")}),c.addEventListener("click",()=>{i.classList.remove("mn-inframe"),document.body.classList.remove("no-scroll"),n.classList.remove("no-filter")})});

View File

View File

View File

@ -0,0 +1 @@
"use strict";require(["compat/modernizr","waypoints","require/domReady!"],function(e,t){let r=document.querySelectorAll(".bagel");r.length&&!e.touchevents&&r.forEach(e=>{new t({element:e,handler:()=>{e.querySelector(".bagel__image img").classList.add("turn-in")},offset:"70%"})})});

View File

@ -0,0 +1 @@
"use strict";require(["skrollr","compat/modernizr","waypoints","components/achievements","components/reports","components/chart","require/domReady!"],function(e,n,t,o,r,s){let c=document.querySelector.bind(document);document.querySelectorAll.bind(document);n.touchevents||e.init({forceHeight:!1});let i=new o(c(".achievements"));new t({element:c(".achievements"),handler:e=>{"down"===e&&i.init()},offset:"70%"});new r(c(".reports"));new t({element:c(".reports"),handler:e=>{"down"===e&&c(".reports").classList.remove("loading")},offset:"60%"});let m=new s(c(".chart"));new t({element:c(".chart"),handler:e=>{"down"===e&&m.init()},offset:"100%"}),new t({element:c(".home__box"),handler:e=>{"down"===e&&c(".home__box").classList.add("comes-in")},offset:"80%"})});

View File

@ -0,0 +1 @@
"use strict";require(["compat/modernizr","waypoints","require/domReady!"],function(e,t){document.querySelector.bind(document);let n=document.querySelectorAll.bind(document),o=n(".jb-hsplit");o.length&&(e.touchevents?o.forEach(e=>e.classList.add("come-in")):o.forEach(e=>{new t({element:e,handler:()=>{e.classList.add("come-in")},offset:"90%"})}));let r=n(".slider");r.length&&require(["swiper"],function(e){r.forEach(t=>{t.querySelectorAll(".swiper-slide").length<=1?t.classList.remove("loading"):new e(t,{nextButton:".swiper-button-next",prevButton:".swiper-button-prev",centeredSlides:!0,loop:!0,slidesPerView:1,onImagesReady:function(){t.classList.remove("loading")}})})}),document.querySelector(".report-detail__panorama")&&require(["pannellum"],function(){pannellum.viewer("panorama",{type:"equirectangular",autoLoad:!0,panorama:"https://upload.wikimedia.org/wikipedia/commons/c/c6/2018-09-22-Jagdschloss_Grunewald_360-0010765.jpg"})})});

1
assets/js/waypoints.js Normal file

File diff suppressed because one or more lines are too long

134
data/achievements.php Normal file
View File

@ -0,0 +1,134 @@
<?php return [
[
'category' => [
'de' => 'Rahmenbedingungen',
'en' => 'Conditions'
],
'number' => '146',
'teaser' => [
'de' => 'Kulturinstitutionen haben seit der ersten Veranstaltung 2014 im Rahmen von Coding da Vinci insgesamt 218 Datensets unter einer freien Lizenz zur Verfügung gestellt.',
'en' => 'cultural institutions have provided a total of 218 data sets under a free license since the first Coding da Vinci event in 2014.'
],
'url' => '/report/da-vinci'
],
[
'category' => [
'de' => 'Rahmenbedingungen',
'en' => 'Conditions'
],
'number' => '1',
'teaser' => [
'de' => 'neue Daten-Metapher sorgt für mehr Sichtbarkeit von Gemeinwohlorientierung in der Datenpolitik.',
'en' => 'new data metaphor increases visibility of the common good in data policy.'
],
'url' => '/report/data-new-water'
],
[
'category' => [
'de' => 'Technologie',
'en' => 'technology'
],
'number' => '40442',
'teaser' => [
'de' => 'Lexeme wurden 2018 in Wikidata angelegt (statt der erwarteten 5000).',
'en' => 'lexemes were created in Wikidata in 2018 (instead of the expected 5,000).'
],
'url' => '/report/data'
],
[
'category' => [
'de' => 'Wikimedia',
'en' => 'Wikimedia'
],
'number' => '850',
'teaser' => [
'de' => 'Besuchende kamen zum Wikipedia-Aktionstag in 11 lokale Community-Räume im deutschsprachigen Raum, um hinter die Kulissen der Wikipedia zu schauen.',
'en' => 'visitors came to the Wikipedia day in 11 local community rooms in the German-speaking area to take a look behind the scenes of Wikipedia.'
],
'url' => '/report/day-of-action'
],
[
'category' => [
'de' => 'Rahmenbedingungen',
'en' => 'Conditions'
],
'number' => '15',
'teaser' => [
'de' => 'Kulturinstitutionen von Berlin bis Zürich haben 2018 ihre Türen im Rahmen von GLAM on Tour-Stationen und anderen Formaten geöffnet.',
'en' => 'Cultural institutions from Berlin to Zurich opened their doors in 2018 as part of GLAM on Tour events and other formats.'
],
'url' => '/report/glam'
],
[
'category' => [
'de' => 'Wikimedia',
'en' => 'Wikimedia'
],
'number' => '70000',
'teaser' => [
'de' => 'Mitglieder engagieren sich gemeinsam mit uns für Freies Wissen.',
'en' => 'members are supporting us in our advocacy of Free Knowledge.'
],
'url' => '/report/members'
],
[
'category' => [
'de' => 'Wikimedia',
'en' => 'Wikimedia'
],
'number' => '117',
'teaser' => [
'de' => 'Ehren- und Hauptamtliche in 9 thematischen Arbeitsgruppen erarbeiten seit 2018 Empfehlungen für die Zukunft Wikimedias.',
'en' => 'volunteers and staff members of 9 thematic working groups have been working out recommendations in 2018 for Wikimedias future.'
],
'url' => '/report/prospects'
],
[
'category' => [
'de' => 'Technologie',
'en' => 'technology'
],
'number' => '496',
'teaser' => [
'de' => 'Wikis nutzen die Vorteile der neuen Suchfunktion, mit der sich Inhalte leichter finden lassen.',
'en' => 'Wikis use the advantages of the new search feature making it easier to find content.'
],
'url' => '/report/search'
],
[
'category' => [
'de' => 'Rahmenbedingungen',
'en' => 'Conditions'
],
'number' => '15',
'teaser' => [
'de' => 'Organisationen aus Internetwirtschaft und Zivilgesellschaft haben wir Anfang 2018 in einem Offenen Brief gegen die umstrittenen Upload-Filter vereint.',
'en' => 'organizations from the Internet industry and civil society united in 2018 in an open letter against the controversial upload filters.'
],
'url' => '/report/upload'
],
[
'category' => [
'de' => 'Freiwillige',
'en' => 'Volunteers'
],
'number' => '25000',
'teaser' => [
'de' => 'Bilder wurden allein in Deutschland im Rahmen des Fotowettbewerbs Wiki Loves Monuments ins freie Medienarchiv Wikimedia Commons hochgeladen.',
'en' => 'pictures were uploaded to the free media archive Wikimedia Commons in Germany alone as part of the photo competition Wiki Loves Monuments.'
],
'url' => '/report/wiki-loves-monuments'
],
[
'category' => [
'de' => 'Technologie',
'en' => 'technology'
],
'number' => '100000',
'teaser' => [
'de' => 'Audiodateien in 46 Sprachen wurden mit der Wikibase-Installation Lingua Libre 2018 aufgenommen.',
'en' => 'audio files in 46 languages were recorded with the Wikibase installation Lingua Libre in 2018.'
],
'url' => '/report/wikibase'
],
] ?>

46
data/report_filters.php Normal file
View File

@ -0,0 +1,46 @@
<?php return [
[
'name' => 'wikimedia',
'title' => [
'de' => 'Wikimedia',
'en' => 'Wikimedia'
],
'teaser' => [
'de' => 'Als Gesellschaft zur Förderung Freien Wissens arbeitet Wikimedia Deutschland daran, dass Projekte wie die Wikipedia auch in Zukunft existieren können und dass Freies Wissen in unserer Gesellschaft zur Selbstverständlichkeit wird. ',
'en' => 'As the Association for the Promotion of Free Knowledge, Wikimedia Deutschland works to ensure that projects such as Wikipedia can continue to exist in the future and that Free Knowledge becomes part of our everyday lives.'
]
],
[
'name' => 'volunteers',
'title' => [
'de' => 'Freiwillige',
'en' => 'Volunteers'
],
'teaser' => [
'de' => 'Wir unterstützen die vielen Tausend Ehrenamtlichen, die in den Wikimedia-Projekten wie Wikipedia tagtäglich ihr Wissen mit allen Menschen teilen. Und wir versuchen neue Freiwillige für die Beteiligung an diesen Projekten zu begeistern.',
'en' => 'We support the many thousands of volunteers who share their knowledge every day in Wikimedia projects like Wikipedia. And we try to inspire new volunteers to participate in these projects.'
]
],
[
'name' => 'technology',
'title' => [
'de' => 'Technolgie',
'en' => 'Technology'
],
'teaser' => [
'de' => 'Mit freier und offener Software schaffen wir innovative Produkte und verbessern die nötigen technischen Infrastrukturen, um den Austausch von Freiem Wissen bestmöglich zu gestalten.',
'en' => 'With free and open software, we create innovative products and improve the necessary technical infrastructures in order to best facilitate the exchange of Free Knowledge.'
]
],
[
'name' => 'framework',
'title' => [
'de' => 'Rahmenbe&shy;dingungen',
'en' => 'Conditions'
],
'teaser' => [
'de' => 'Wir überzeugen Wissenschafts-, Kultur- und Bildungsinstitutionen von den Vorteilen Freien Wissens und stärken die politischen und gesellschaftlichen Rahmenbedingungen dafür auf nationaler und europäischer Ebene.',
'en' => 'We convince scientific, cultural and educational institutions of the advantages of Free Knowledge and strengthen the political and social conditions at the national and European levels.'
]
],
] ?>

143
data/reports.php Normal file
View File

@ -0,0 +1,143 @@
<?php return [
[
'name' => 'da-vinci',
'title' => [
'de' => 'Coding da Vinci',
'en' => 'Coding da Vinci'
],
'category' => 'framework',
'cover' => '/assets/img/reports/da_vinci_cover.jpg',
'hero' => '/assets/img/reports/da_vinci_hero.jpg',
],
[
'name' => 'data-new-water',
'title' => [
'de' => 'Daten sind das neue Grundwasser',
'en' => 'Data is the new Groundwater'
],
'category' => 'framework',
'cover' => '/assets/img/reports/data_new_water_cover.jpg',
'hero' => '/assets/img/reports/data_new_water_hero.jpg',
],
[
'name' => 'data',
'title' => [
'de' => 'Lexeme in Wikidata',
'en' => 'Lexicographical Data on Wikidata'
],
'category' => 'technology',
'cover' => '/assets/img/reports/data_cover.jpg',
'hero' => '/assets/img/reports/data_hero.jpg',
],
[
'name' => 'day-of-action',
'title' => [
'de' => 'Wikipedia Aktionstag',
'en' => 'Visiting Wikipedia'
],
'category' => 'volunteers',
'cover' => '/assets/img/reports/day_of_action_cover.jpg',
'hero' => '/assets/img/reports/day_of_action_hero.jpg',
],
[
'name' => 'explanation',
'title' => [
'de' => 'Wikimedia kurz erklärt',
'en' => 'Wikimedia briefly explained'
],
'category' => 'wikimedia',
'cover' => '/assets/img/reports/explanation_cover.jpg',
'hero' => '/assets/img/reports/explanation_hero.jpg',
],
[
'name' => 'future',
'title' => [
'de' => 'Ausblick 2019',
'en' => 'Outlook 2019'
],
'category' => 'wikimedia',
'cover' => '/assets/img/reports/future_cover.jpg',
'hero' => '/assets/img/reports/future_hero.jpg',
],
[
'name' => 'glam',
'title' => [
'de' => 'GLAM on Tour Grunewald',
'en' => 'GLAM on Tour'
],
'category' => 'framework',
'cover' => '/assets/img/reports/glam_cover.jpg',
'hero' => '/assets/img/reports/glam_hero.jpg',
],
[
'name' => 'members',
'title' => [
'de' => 'Mitglieder',
'en' => 'Members'
],
'category' => 'wikimedia',
'cover' => '/assets/img/reports/members_cover.jpg',
'hero' => '/assets/img/reports/members_hero.jpg',
],
[
'name' => 'prospects',
'title' => [
'de' => 'Internationales: Wikimedia 2030',
'en' => 'International: Wikimedia 2030'
],
'category' => 'wikimedia',
'cover' => '/assets/img/reports/prospects_cover.jpg',
'hero' => '/assets/img/reports/prospects_hero.jpg',
],
[
'name' => 'search',
'title' => [
'de' => 'Technische Wünsche',
'en' => 'Technical Wishes'
],
'category' => 'technology',
'cover' => '/assets/img/reports/search_cover.jpg',
'hero' => '/assets/img/reports/search_hero.jpg',
],
[
'name' => 'upload',
'title' => [
'de' => 'No Upload-Filter',
'en' => 'No Upload-Filter'
],
'category' => 'framework',
'cover' => '/assets/img/reports/upload_cover.jpg',
'hero' => '/assets/img/reports/upload_hero.jpg',
],
[
'name' => 'wiki-loves-monuments',
'title' => [
'de' => 'Wiki Loves Monuments',
'en' => 'Wiki Loves Monuments'
],
'category' => 'volunteers',
'cover' => '/assets/img/reports/wiki_loves_monuments_cover.jpg',
'hero' => '/assets/img/reports/wiki_loves_monuments_hero.jpg',
],
[
'name' => 'wikibase',
'title' => [
'de' => 'Wikibase',
'en' => 'Wikibase'
],
'category' => 'technology',
'cover' => '/assets/img/reports/wikibase_cover.jpg',
'hero' => '/assets/img/reports/wikibase_hero.jpg',
],
[
'name' => 'year-review',
'title' => [
'de' => 'Rückblick: Das Jahr 2018',
'en' => 'Looking back at 2018'
],
'category' => 'wikimedia',
'cover' => '/assets/img/reports/year_review_cover.jpg',
'hero' => '/assets/img/reports/year_review_hero.jpg',
],
] ?>

220
index.php Normal file
View File

@ -0,0 +1,220 @@
<?php
/**
* Wikimedia Jahresbericht 2018
*
* Copyright (c) 2017 Atelier Disko - All rights reserved.
*
* Use of this source code is governed by the AGPL v3
* license that can be found in the LICENSE file.
*/
define('PROJECT_CONTEXT', 'dev');
define('PROJECT_APP_PATH', __DIR__);
define('PROJECT_DOMAIN', 'wmde-bericht2018.test');
if (PROJECT_CONTEXT === 'dev') {
error_reporting(E_ALL);
ini_set('display_errors', true);
} else {
ini_set('display_errors', false);
}
$routes = [];
$helpers = [];
$viewVars = [];
$scripts = [];
$lang = 'de';
$path = $_SERVER['REQUEST_URI'];
$isCanonical = false;
// Configure g11n stack early and strip locale from URL.
if (preg_match('#^/(de|en)(/.*)?#', $path, $matches)) {
$isCanonical = true;
$lang = $matches[1];
if (isset($matches[2])) {
$path = '/' . ltrim($matches[2], '/');
} else {
$path = '/';
}
}
//
// Helpers
//
// Used to construct URLs in the view.
$helpers['url'] = function($goal, $lang) {
$path = $lang . '/' . trim($goal, '/');
return '/' . trim($path, '/');
};
// Used to construct a URL for switching the language, but
// staying on the same page.
$helpers['switchLanguageFromUrl'] = function($lang) use ($path) {
return rtrim('/' . ($lang === 'de' ? 'en' : 'de') . '' . $path, '/');
};
$helpers['formatNumber'] = function($number, $lang) {
if ($lang !== 'de') {
return number_format($number);
}
return number_format($number, 0, ',', '.');
};
//
// Scripts
//
$scripts[] = 'views/layouts/default';
// Constructs a script path for the current page path. And will check if a script under
// that name is present in the filesystem. If not simply returns `null` otherwise
// it returns the script path, good for constructing the full script URL.
//
// Does not support pages with underscores.
$fragment = null;
if (!ltrim($path, '/')) {
$fragment = 'pages/home';
} elseif (strpos($path, '/report') === 0) {
// Sub-pages all use the same JS file, so we don't need to duplicate logic.
$fragment = 'pages/report';
} elseif (strpos($path, '/finance') === 0) {
// Sub-pages all use the same JS file, so we don't need to duplicate logic.
$fragment = 'pages/finance';
} else {
$fragment = 'pages/' . ltrim($path, '/');
}
if (file_exists(PROJECT_APP_PATH . '/assets/js/views/' . $fragment . '.js')) {
$scripts[] = "views/{$fragment}";
}
//
// Routes
//
$routes['#^/$#'] = function() {
$reports = require PROJECT_APP_PATH .'/data/reports.php';
$achievements = require PROJECT_APP_PATH .'/data/achievements.php';
return compact('reports', 'achievements') + [
'hasBlackHeader' => false
];
};
$routes['#^/finance#'] = function($path) {
return ['hasBlackHeader' => $path !== '/finance'];
};
$routes['#^/report$#'] = function($path, $query, $matches) {
$filter = isset($query['filter']) ? $query['filter'] : null;
$reports = require PROJECT_APP_PATH .'/data/reports.php';
$filters = require PROJECT_APP_PATH .'/data/report_filters.php';
if ($filter) {
$reports = array_filter($reports, function($v) use ($filter) {
return $v['category'] === $filter;
});
foreach ($filters as $f) {
if ($f['name'] === $filter) {
$filter = $f;
break;
}
}
}
return compact('reports', 'filter', 'filters') + [
'hasBlackHeader' => false
];
};
$routes['#^/report/(.*)$#'] = function($path, $query, $matches) {
$achievements = require PROJECT_APP_PATH .'/data/achievements.php';
$achievements = array_values(array_filter($achievements, function($v) use ($path) {
return $v['url'] === $path;
}));
$reports = require PROJECT_APP_PATH .'/data/reports.php';
$report = null;
foreach ($reports as $_report) {
if ($_report['name'] === $matches[1]) {
$report = $_report;
break;
}
}
return compact('report', 'achievements') + [
'hasBlackHeader' => true
];
};
//
// Functions
//
// Matches current request against registered routes and
// returns view variables.
$matchRoute = function($path, $routes) {
$query = parse_url($path, PHP_URL_QUERY);
parse_str($query, $query);
$path = parse_url($path, PHP_URL_PATH);
foreach ($routes as $regex => $handler) {
if (preg_match($regex, $path, $matches)) {
return $handler($path, $query, $matches);
}
}
return false;
};
$renderView = function($viewVars, $scripts, $helpers, $_path, $_lang) {
$_viewFileFromURI = function($path, $lang) {
// $path may contain query string
$path = parse_url($path, PHP_URL_PATH);
$viewBase = PROJECT_APP_PATH . '/views/pages/' . $lang;
$viewName = str_replace('/', '_', trim($path, '/'));
$viewFile = $viewBase . '/' . $viewName . '.php';
$viewFile = realpath($viewFile);
if ($viewName === '') {
return $viewBase . '/home.php';
}
// Prevent directory traversal attack
// see http://stackoverflow.com/a/4205278
if ($viewFile === false || strpos($viewFile, $viewBase) !== 0) {
return false;
}
return $viewFile;
};
$_viewFile = $_viewFileFromURI($_path, $_lang);
if ($_viewFile === false || trim($_path, '/') === 'home') {
return false;
}
extract($helpers, EXTR_SKIP);
extract($viewVars, EXTR_SKIP);
require PROJECT_APP_PATH . '/views/elements/' . $_lang . '/header.php';
require $_viewFile;
require PROJECT_APP_PATH . '/views/elements/' . $_lang . '/footer.php';
};
//
// Handle the request
//
$viewVars += compact('lang', 'isCanonical', 'path');
if (($viewVars += $matchRoute($path, $routes)) === false) {
header('HTTP/1.1 404 Not Found');
exit();
}
if ($renderView($viewVars, $scripts, $helpers, $path, $lang) === false) {
header('HTTP/1.1 404 Not Found');
exit();
}
?>

View File

@ -0,0 +1,95 @@
<footer class="main-footer">
<div class="main-footer__upper clearfix cp">
<div class="main-footer__upper-wrapper limit--l">
<a class="logo main-footer__logo image-replace" href="<?= $url('/', $lang) ?>">Wikimedia Deutschland</a>
<div class="main-footer__info">
<div class="main-footer__info-1 t--delta-serif">
<p>
Wikimedia Deutschland Gesellschaft zur Förderung Freien Wissens e. V.
</p>
<p>
Postfach 61 03 49, 10925 Berlin
</p>
<p>
Tempelhofer Ufer 23-24, 10963 Berlin</br>
Telefon: <a href="tel:004930219158260">030 219 158 26-0</a></br>
Fax: 030 219 158 26-9
</p>
</div>
<div class="main-footer__info-2 t--delta-serif">
<p>
<a href="mailto:info@wikimedia.de">info@wikimedia.de</a><br>
<a href="https://wikimedia.de" target="new">www.wikimedia.de</a>
</p>
<p>
Blog: <a href="https://blog.wikimedia.de" target="new">blog.wikimedia.de</a><br>
Twitter: <a href="https://twitter.com/WikimediaDE" target="new">twitter.com/WikimediaDE</a><br>
Facebook: <a href="https://facebook.com/WMDEeV" target="new">facebook.com/WMDEeV</a>
</p>
</div>
</div>
</div>
</div>
<div class="main-footer__bottom clearfix">
<div class="limit--l">
<a class="imprint-toggle nav__link" href="#imprint-toggle">Impressum und Datenschutz</a>
<a class="imprint-close image-replace invis" href="#imprint-close">Schließen</a>
<article id="imprint" class="imprint invis cp--2x-bottom">
<h1 class="h--delta">
Dieses Impressum gilt für die Domain
<a href="http://2018.wikimedia.de">2018.wikimedia.de</a>.
</h1>
<section>
<h1 class="h--delta">Diensteanbieter</h1>
<p class="t--delta-serif">
Wikimedia Deutschland Gesellschaft zur Förderung Freien Wissens e. V.<br>
Tempelhofer Ufer 23/24<br>
10963 Berlin
</p>
<p class="t--delta-serif">
E-Mail: info@wikimedia.de<br>
Telefon: +49 (0)30-219 15 826-0<br>
Fax: +49 (0)30-219 158 26-9
</p>
<p class="t--delta-serif">
Geschäftsführender Vorstand: Abraham Taherivand
</p>
<p class="t--delta-serif">
Eingetragen im Vereinsregister des Amtsgerichts Charlottenburg, VR 23855. Inhaltlich Verantwortlicher gemäß § 55 Abs. 2 RStV: Abraham Taherivand (Anschrift wie oben).
</p>
</section>
<section>
<h1 class="h--delta">Datenschutzerklärung</h1>
<p class="t--delta-serif">
Auf <a href="https://wikimedia.de/de/impressum" target="new">https://wikimedia.de/de/impressum</a> finden Sie alle Hinweise darüber, was mit Ihren personenbezogenen Daten passiert, wenn Sie diese oder andere Websites von Wikimedia Deutschland besuchen.
</p>
</section>
<section>
<h1 class="h--delta">Lizenzhinweise</h1>
<span class="h--delta">Konzeption:</span>
<span class="t--delta-serif"> Tjane Hartenstein, Atelier Disko</span><br>
<span class="h--delta">Redaktion:</span>
<span class="t--delta-serif"> Tjane Hartenstein</span><br>
<span class="h--delta">Inhaltlich verantwortlich:</span>
<span class="t--delta-serif"> Abraham Taherivand</span><br>
<span class="h--delta">Design:</span>
<span class="t--delta-serif">Atelier Disko, <a href="https://atelierdisko.de" target="new">atelierdisko.de</a><br><br>
<p class="t--delta-serif">
Soweit nicht anders angegeben, stehen die Texte, Bilder, das Layout und der Code dieser Webseite unter der <a href="https://creativecommons.org/licenses/by/4.0/" target="new">Creative Commons Attribution-Lizenz (CC BY-SA) in der Version 4.0</a>.
</p>
<a href="https://creativecommons.org/licenses/by/4.0/" target="new" class="imprint__cc-logo">
<img src="/assets/ico/by.svg" alt="Creative Commons Logo" width="120" height="42" />
</a>
</section>
</article>
</div>
</div>
</footer>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More