Clean repository
94
static/fonts/LatoLatin/LICENSE.txt
Executable file
|
@ -0,0 +1,94 @@
|
|||
Copyright (c) 2010-2015, Łukasz Dziedzic (dziedzic@typoland.com),
|
||||
with Reserved Font Name Lato.
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
http://scripts.sil.org/OFL
|
||||
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
185
static/fonts/LatoLatin/LatoLatin.css
Normal file
|
@ -0,0 +1,185 @@
|
|||
/*
|
||||
* LatoLatin by Łukasz Dziedzic - http://www.latofonts.com/lato-free-fonts/
|
||||
* License: OFL-1.1
|
||||
*/
|
||||
|
||||
@font-face {
|
||||
font-family: 'LatoLatin';
|
||||
font-style: normal;
|
||||
font-weight: 100;
|
||||
font-display: swap;
|
||||
src: local('LatoLatin'),
|
||||
url('woff2/LatoLatin Hairline.woff2') format('woff2'),
|
||||
url('woff/LatoLatin Hairline.woff') format('woff');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'LatoLatin';
|
||||
font-style: italic;
|
||||
font-weight: 100;
|
||||
font-display: swap;
|
||||
src: local('LatoLatin'),
|
||||
url('woff2/LatoLatin Hairline Italic.woff2') format('woff2'),
|
||||
url('woff/LatoLatin Hairline Italic.woff') format('woff');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'LatoLatin';
|
||||
font-style: normal;
|
||||
font-weight: 200;
|
||||
font-display: swap;
|
||||
src: local('LatoLatin'),
|
||||
url('woff2/LatoLatin Thin.woff2') format('woff2'),
|
||||
url('woff/LatoLatin Thin.woff') format('woff');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'LatoLatin';
|
||||
font-style: italic;
|
||||
font-weight: 200;
|
||||
font-display: swap;
|
||||
src: local('LatoLatin'),
|
||||
url('woff2/LatoLatin Thin Italic.woff2') format('woff2'),
|
||||
url('woff/LatoLatin Thin Italic.woff') format('woff');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'LatoLatin';
|
||||
font-style: normal;
|
||||
font-weight: 300;
|
||||
font-display: swap;
|
||||
src: local('LatoLatin'),
|
||||
url('woff2/LatoLatin Light.woff2') format('woff2'),
|
||||
url('woff/LatoLatin Light.woff') format('woff');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'LatoLatin';
|
||||
font-style: italic;
|
||||
font-weight: 300;
|
||||
font-display: swap;
|
||||
src: local('LatoLatin'),
|
||||
url('woff2/LatoLatin Light Italic.woff2') format('woff2'),
|
||||
url('woff/LatoLatin Light Italic.woff') format('woff');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'LatoLatin';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: local('LatoLatin'),
|
||||
url('woff2/LatoLatin Regular.woff2') format('woff2'),
|
||||
url('woff/LatoLatin Regular.woff') format('woff');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'LatoLatin';
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: local('LatoLatin'),
|
||||
url('woff2/LatoLatin Italic.woff2') format('woff2'),
|
||||
url('woff/LatoLatin Italic.woff') format('woff');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'LatoLatin';
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-display: swap;
|
||||
src: local('LatoLatin'),
|
||||
url('woff2/LatoLatin Medium.woff2') format('woff2'),
|
||||
url('woff/LatoLatin Medium.woff') format('woff');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'LatoLatin';
|
||||
font-style: italic;
|
||||
font-weight: 500;
|
||||
font-display: swap;
|
||||
src: local('LatoLatin'),
|
||||
url('woff2/LatoLatin Medium Italic.woff2') format('woff2'),
|
||||
url('woff/LatoLatin Medium Italic.woff') format('woff');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'LatoLatin';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: local('LatoLatin'),
|
||||
url('woff2/LatoLatin Semibold.woff2') format('woff2'),
|
||||
url('woff/LatoLatin Semibold.woff') format('woff');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'LatoLatin';
|
||||
font-style: italic;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: local('LatoLatin'),
|
||||
url('woff2/LatoLatin Semibold Italic.woff2') format('woff2'),
|
||||
url('woff/LatoLatin Semibold Italic.woff') format('woff');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'LatoLatin';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: local('LatoLatin'),
|
||||
url('woff2/LatoLatin Bold.woff2') format('woff2'),
|
||||
url('woff/LatoLatin Bold.woff') format('woff');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'LatoLatin';
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: local('LatoLatin'),
|
||||
url('woff2/LatoLatin Bold Italic.woff2') format('woff2'),
|
||||
url('woff/LatoLatin Bold Italic.woff') format('woff');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'LatoLatin';
|
||||
font-style: normal;
|
||||
font-weight: 800;
|
||||
font-display: swap;
|
||||
src: local('LatoLatin'),
|
||||
url('woff2/LatoLatin Heavy.woff2') format('woff2'),
|
||||
url('woff/LatoLatin Heavy.woff') format('woff');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'LatoLatin';
|
||||
font-style: italic;
|
||||
font-weight: 800;
|
||||
font-display: swap;
|
||||
src: local('LatoLatin'),
|
||||
url('woff2/LatoLatin Heavy Italic.woff2') format('woff2'),
|
||||
url('woff/LatoLatin Heavy Italic.woff') format('woff');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'LatoLatin';
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
font-display: swap;
|
||||
src: local('LatoLatin'),
|
||||
url('woff2/LatoLatin Black.woff2') format('woff2'),
|
||||
url('woff/LatoLatin Black.woff') format('woff');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'LatoLatin';
|
||||
font-style: italic;
|
||||
font-weight: 900;
|
||||
font-display: swap;
|
||||
src: local('LatoLatin'),
|
||||
url('woff2/LatoLatin Black Italic.woff2') format('woff2'),
|
||||
url('woff/LatoLatin Black Italic.woff') format('woff');
|
||||
}
|
||||
|
BIN
static/fonts/LatoLatin/ttf/LatoLatin Black Italic.ttf
Normal file
BIN
static/fonts/LatoLatin/ttf/LatoLatin Black.ttf
Normal file
BIN
static/fonts/LatoLatin/ttf/LatoLatin Bold Italic.ttf
Normal file
BIN
static/fonts/LatoLatin/ttf/LatoLatin Bold.ttf
Normal file
BIN
static/fonts/LatoLatin/ttf/LatoLatin Hairline Italic.ttf
Normal file
BIN
static/fonts/LatoLatin/ttf/LatoLatin Hairline.ttf
Normal file
BIN
static/fonts/LatoLatin/ttf/LatoLatin Heavy Italic.ttf
Normal file
BIN
static/fonts/LatoLatin/ttf/LatoLatin Heavy.ttf
Normal file
BIN
static/fonts/LatoLatin/ttf/LatoLatin Italic.ttf
Normal file
BIN
static/fonts/LatoLatin/ttf/LatoLatin Light Italic.ttf
Normal file
BIN
static/fonts/LatoLatin/ttf/LatoLatin Light.ttf
Normal file
BIN
static/fonts/LatoLatin/ttf/LatoLatin Medium Italic.ttf
Normal file
BIN
static/fonts/LatoLatin/ttf/LatoLatin Medium.ttf
Normal file
BIN
static/fonts/LatoLatin/ttf/LatoLatin Regular.ttf
Normal file
BIN
static/fonts/LatoLatin/ttf/LatoLatin Semibold Italic.ttf
Normal file
BIN
static/fonts/LatoLatin/ttf/LatoLatin Semibold.ttf
Normal file
BIN
static/fonts/LatoLatin/ttf/LatoLatin Thin Italic.ttf
Normal file
BIN
static/fonts/LatoLatin/ttf/LatoLatin Thin.ttf
Normal file
BIN
static/fonts/LatoLatin/woff/LatoLatin Black Italic.woff
Normal file
BIN
static/fonts/LatoLatin/woff/LatoLatin Black.woff
Normal file
BIN
static/fonts/LatoLatin/woff/LatoLatin Bold Italic.woff
Normal file
BIN
static/fonts/LatoLatin/woff/LatoLatin Bold.woff
Normal file
BIN
static/fonts/LatoLatin/woff/LatoLatin Hairline Italic.woff
Normal file
BIN
static/fonts/LatoLatin/woff/LatoLatin Hairline.woff
Normal file
BIN
static/fonts/LatoLatin/woff/LatoLatin Heavy Italic.woff
Normal file
BIN
static/fonts/LatoLatin/woff/LatoLatin Heavy.woff
Normal file
BIN
static/fonts/LatoLatin/woff/LatoLatin Italic.woff
Normal file
BIN
static/fonts/LatoLatin/woff/LatoLatin Light Italic.woff
Normal file
BIN
static/fonts/LatoLatin/woff/LatoLatin Light.woff
Normal file
BIN
static/fonts/LatoLatin/woff/LatoLatin Medium Italic.woff
Normal file
BIN
static/fonts/LatoLatin/woff/LatoLatin Medium.woff
Normal file
BIN
static/fonts/LatoLatin/woff/LatoLatin Regular.woff
Normal file
BIN
static/fonts/LatoLatin/woff/LatoLatin Semibold Italic.woff
Normal file
BIN
static/fonts/LatoLatin/woff/LatoLatin Semibold.woff
Normal file
BIN
static/fonts/LatoLatin/woff/LatoLatin Thin Italic.woff
Normal file
BIN
static/fonts/LatoLatin/woff/LatoLatin Thin.woff
Normal file
BIN
static/fonts/LatoLatin/woff2/LatoLatin Black Italic.woff2
Normal file
BIN
static/fonts/LatoLatin/woff2/LatoLatin Black.woff2
Normal file
BIN
static/fonts/LatoLatin/woff2/LatoLatin Bold Italic.woff2
Normal file
BIN
static/fonts/LatoLatin/woff2/LatoLatin Bold.woff2
Normal file
BIN
static/fonts/LatoLatin/woff2/LatoLatin Hairline Italic.woff2
Normal file
BIN
static/fonts/LatoLatin/woff2/LatoLatin Hairline.woff2
Normal file
BIN
static/fonts/LatoLatin/woff2/LatoLatin Heavy Italic.woff2
Normal file
BIN
static/fonts/LatoLatin/woff2/LatoLatin Heavy.woff2
Normal file
BIN
static/fonts/LatoLatin/woff2/LatoLatin Italic.woff2
Normal file
BIN
static/fonts/LatoLatin/woff2/LatoLatin Light Italic.woff2
Normal file
BIN
static/fonts/LatoLatin/woff2/LatoLatin Light.woff2
Normal file
BIN
static/fonts/LatoLatin/woff2/LatoLatin Medium Italic.woff2
Normal file
BIN
static/fonts/LatoLatin/woff2/LatoLatin Medium.woff2
Normal file
BIN
static/fonts/LatoLatin/woff2/LatoLatin Regular.woff2
Normal file
BIN
static/fonts/LatoLatin/woff2/LatoLatin Semibold Italic.woff2
Normal file
BIN
static/fonts/LatoLatin/woff2/LatoLatin Semibold.woff2
Normal file
BIN
static/fonts/LatoLatin/woff2/LatoLatin Thin Italic.woff2
Normal file
BIN
static/fonts/LatoLatin/woff2/LatoLatin Thin.woff2
Normal file
BIN
static/img/favicon.ico
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
static/img/fotos/datentraeger.jpeg
Normal file
After Width: | Height: | Size: 5.6 MiB |
BIN
static/img/fotos/datentraeger_240.webp
Normal file
After Width: | Height: | Size: 58 KiB |
BIN
static/img/fotos/datentraeger_360.webp
Normal file
After Width: | Height: | Size: 73 KiB |
BIN
static/img/fotos/datentraeger_480.webp
Normal file
After Width: | Height: | Size: 93 KiB |
BIN
static/img/fotos/laptop_matte.jpeg
Normal file
After Width: | Height: | Size: 6.1 MiB |
BIN
static/img/fotos/laptop_matte_240.webp
Normal file
After Width: | Height: | Size: 70 KiB |
BIN
static/img/fotos/laptop_matte_360.webp
Normal file
After Width: | Height: | Size: 97 KiB |
BIN
static/img/fotos/laptop_matte_480.webp
Normal file
After Width: | Height: | Size: 130 KiB |
12
static/img/fotos/thumbnail.py
Executable file
|
@ -0,0 +1,12 @@
|
|||
#!/usr/bin/python3
|
||||
import sys
|
||||
import pathlib
|
||||
import subprocess
|
||||
|
||||
SIZES = [(320, 240), (480, 360), (640, 480)]
|
||||
|
||||
image_path = pathlib.Path(sys.argv[1])
|
||||
for width, height in SIZES:
|
||||
thumb_name = image_path.with_name(f"{image_path.stem}_{height}.webp")
|
||||
print(f"Generating {width}x{height} at {thumb_name}")
|
||||
subprocess.run(["convert", str(image_path), "-resize", f"{width}x{height}", thumb_name])
|
19
static/img/icons/computer.svg
Normal file
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 25.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 52.7 52.7" style="enable-background:new 0 0 52.7 52.7;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#65bb50;}
|
||||
.st1{fill:#FFFFFF;}
|
||||
.st2{fill:none;stroke:#FFFFFF;stroke-miterlimit:10;}
|
||||
</style>
|
||||
<circle class="st0" cx="172" cy="144" r="26.4"/>
|
||||
<rect x="161" y="125.1" style="fill:none;" width="22.3" height="45.3"/>
|
||||
<text transform="matrix(1 0 0 1 160.9521 160.4482)" class="st1" style="font-family:'Roboto-Regular'; font-size:47.1027px;">?</text>
|
||||
<circle class="st0" cx="26.4" cy="26.4" r="26.4"/>
|
||||
<path class="st1" d="M40.8,38.6h-29c-2.7,0-4.8-2.2-4.8-4.8v0h38.7v0C45.6,36.5,43.4,38.6,40.8,38.6z"/>
|
||||
<path class="st2" d="M42.2,34.4H10.3V14.9c0-1.2,1-2.2,2.2-2.2H40c1.2,0,2.2,1,2.2,2.2V34.4z"/>
|
||||
<circle class="st1" cx="26.7" cy="15.7" r="1"/>
|
||||
<path class="st0" d="M31.5,36.7h-9.8c-0.4,0-0.7-0.3-0.7-0.7l0,0c0-0.4,0.3-0.7,0.7-0.7h9.8c0.4,0,0.7,0.3,0.7,0.7l0,0
|
||||
C32.1,36.4,31.8,36.7,31.5,36.7z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.2 KiB |
17
static/img/icons/facebook.svg
Normal file
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 24.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<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"
|
||||
viewBox="0 0 40 40" style="enable-background:new 0 0 40 40;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:url(#SVGID_1_);}
|
||||
.st1{fill:#FFFFFF;}
|
||||
</style>
|
||||
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-277.375" y1="406.6018" x2="-277.375" y2="407.5726" gradientTransform="matrix(40 0 0 -39.7778 11115.001 16212.334)">
|
||||
<stop offset="0" style="stop-color:#0062E0"/>
|
||||
<stop offset="1" style="stop-color:#19AFFF"/>
|
||||
</linearGradient>
|
||||
<path class="st0" d="M16.7,39.8C7.2,38.1,0,29.9,0,20C0,9,9,0,20,0s20,9,20,20c0,9.9-7.2,18.1-16.7,19.8l-1.1-0.9h-4.4L16.7,39.8z"
|
||||
/>
|
||||
<path class="st1" d="M27.8,25.6l0.9-5.6h-5.3v-3.9c0-1.6,0.6-2.8,3-2.8h2.6V8.2c-1.4-0.2-3-0.4-4.4-0.4c-4.6,0-7.8,2.8-7.8,7.8V20
|
||||
h-5v5.6h5v14.1c1.1,0.2,2.2,0.3,3.3,0.3c1.1,0,2.2-0.1,3.3-0.3V25.6H27.8z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.1 KiB |
37
static/img/icons/harddrive.svg
Normal file
|
@ -0,0 +1,37 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 25.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 52.7 52.7" style="enable-background:new 0 0 52.7 52.7;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#65bb50;}
|
||||
.st1{fill:#FFFFFF;}
|
||||
.st2{fill:none;stroke:#FFFFFF;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
|
||||
.st3{fill:none;stroke:#FFFFFF;stroke-width:0.9886;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
|
||||
.st4{fill:none;stroke:#FFFFFF;stroke-miterlimit:10;}
|
||||
</style>
|
||||
<circle class="st0" cx="26.4" cy="26.4" r="26.4"/>
|
||||
<g>
|
||||
<path class="st1" d="M35.8,10.6c1.3,0,2.4,1.1,2.4,2.4v26.7c0,1.3-1.1,2.4-2.4,2.4H15.5c-1.3,0-2.4-1.1-2.4-2.4V13
|
||||
c0-1.3,1.1-2.4,2.4-2.4H35.8 M35.8,9.6H15.5c-1.9,0-3.4,1.5-3.4,3.4v26.7c0,1.9,1.5,3.4,3.4,3.4h20.3c1.9,0,3.4-1.5,3.4-3.4V13
|
||||
C39.3,11.1,37.7,9.6,35.8,9.6L35.8,9.6z"/>
|
||||
</g>
|
||||
<g>
|
||||
<circle class="st1" cx="35.2" cy="39.1" r="1.3"/>
|
||||
</g>
|
||||
<g>
|
||||
<circle class="st1" cx="16.2" cy="13.6" r="1.3"/>
|
||||
</g>
|
||||
<g>
|
||||
<circle class="st1" cx="35.2" cy="13.6" r="1.3"/>
|
||||
</g>
|
||||
<path class="st2" d="M23.3,36.9L23.3,36.9l5.1-9.3L18.8,32l0,0c-0.3,0.2-0.7,0.4-0.9,0.6c-1.4,1.3-1.5,3.6-0.2,5
|
||||
c1.3,1.4,3.6,1.5,5,0.2C22.9,37.5,23.2,37.2,23.3,36.9z"/>
|
||||
<g>
|
||||
<circle class="st1" cx="20.3" cy="35.1" r="1.8"/>
|
||||
</g>
|
||||
<path class="st3" d="M17.5,32.6L15,30.2v6.8c0,1.8,1.5,3.3,3.3,3.3h7.4L23,37.8"/>
|
||||
<path class="st4" d="M20.3,31.1c-2.4-1.6-4-4.2-4.3-7.2c-0.5-5.4,3.5-10.1,8.8-10.6s10.1,3.5,10.6,8.8c0.5,5.4-3.5,10.1-8.8,10.6
|
||||
c-0.3,0-0.7,0-1,0"/>
|
||||
<circle class="st1" cx="25.7" cy="23" r="3.7"/>
|
||||
<polygon class="st1" points="15.1,30.9 17.3,32.5 16.9,34.4 17.6,37.4 19.6,38.6 22.9,37.7 25.7,40.4 16.9,40.4 15,37.1 "/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.8 KiB |
1
static/img/icons/instagram.svg
Normal file
After Width: | Height: | Size: 8.7 KiB |
16
static/img/icons/mail.svg
Normal file
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 25.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 7.4 7.4" style="enable-background:new 0 0 7.4 7.4;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#85BE32;}
|
||||
.st1{fill:none;stroke:#000000;stroke-width:0.3;stroke-miterlimit:10;}
|
||||
</style>
|
||||
<circle class="st0" cx="170.5" cy="142.5" r="26.4"/>
|
||||
<rect x="159.4" y="123.6" style="fill:none;" width="22.3" height="45.3"/>
|
||||
<text transform="matrix(1 0 0 1 159.4305 158.9266)" style="fill:#FFFFFF; font-family:'Roboto-Regular'; font-size:47.1027px;">?</text>
|
||||
<path class="st1" d="M6.7,6H0.8C0.5,6,0.2,5.8,0.2,5.5V2c0-0.3,0.3-0.6,0.6-0.6h5.9C7,1.4,7.2,1.6,7.2,2v3.5C7.2,5.8,7,6,6.7,6z"/>
|
||||
<path class="st1" d="M0.3,1.6l2.9,2.7c0.3,0.3,0.8,0.3,1.1,0l2.9-2.7"/>
|
||||
<line class="st1" x1="0.3" y1="5.8" x2="2.7" y2="3.9"/>
|
||||
<line class="st1" x1="4.7" y1="3.9" x2="7.2" y2="5.7"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1 KiB |
20
static/img/icons/questionmark.svg
Normal file
|
@ -0,0 +1,20 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 25.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 52.7 52.7" style="enable-background:new 0 0 52.7 52.7;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#65bb50;}
|
||||
.st1{fill:#FFFFFF;}
|
||||
</style>
|
||||
<circle class="st0" cx="172" cy="144" r="26.4"/>
|
||||
<rect x="161" y="125.1" style="fill:none;" width="22.3" height="45.3"/>
|
||||
<text transform="matrix(1 0 0 1 160.9521 160.4482)" class="st1" style="font-family:'Roboto-Regular'; font-size:47.1027px;">?</text>
|
||||
<circle class="st0" cx="26.4" cy="26.4" r="26.4"/>
|
||||
<g>
|
||||
<path class="st1" d="M23.5,33.3c0-1.8,0.2-3.3,0.6-4.3c0.4-1.1,1.2-2.2,2.3-3.5l3-3.1c1.3-1.5,1.9-3,1.9-4.7c0-1.6-0.4-2.9-1.3-3.8
|
||||
c-0.8-0.9-2.1-1.4-3.7-1.4c-1.6,0-2.8,0.4-3.8,1.2c-1,0.8-1.4,1.9-1.4,3.3h-4.3c0-2.5,0.9-4.5,2.7-6c1.7-1.5,4-2.3,6.8-2.3
|
||||
c2.9,0,5.2,0.8,6.8,2.3c1.6,1.6,2.4,3.7,2.4,6.4c0,2.7-1.2,5.3-3.7,7.9L29.5,28c-1.1,1.2-1.7,3-1.7,5.4H23.5z M23.4,40.6
|
||||
c0-0.7,0.2-1.3,0.6-1.8c0.4-0.5,1-0.7,1.9-0.7c0.8,0,1.5,0.2,1.9,0.7c0.4,0.5,0.6,1.1,0.6,1.8c0,0.7-0.2,1.3-0.6,1.7
|
||||
c-0.4,0.5-1.1,0.7-1.9,0.7c-0.8,0-1.5-0.2-1.9-0.7C23.6,41.9,23.4,41.3,23.4,40.6z"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.3 KiB |
19
static/img/icons/screwdriver.svg
Normal file
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 25.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 52.7 52.7" style="enable-background:new 0 0 52.7 52.7;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#65bb50;}
|
||||
.st1{fill:none;stroke:#FFFFFF;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
|
||||
.st2{fill:none;stroke:#FFFFFF;stroke-miterlimit:10;}
|
||||
.st3{fill:#FFFFFF;}
|
||||
</style>
|
||||
<circle class="st0" cx="26.4" cy="26.4" r="26.4"/>
|
||||
<path class="st1" d="M28.6,30.1l-6.8-4.6l1.3-1.9h0c1.3-0.4,2.2-1.6,2.3-2.9l0.1-0.6l6.2-9.4c1.3-1.9,3.8-2.4,5.7-1.1l0,0
|
||||
c1.9,1.3,2.4,3.8,1.1,5.7l-6.3,9.4L31.6,25c-1.1,0.6-1.8,1.8-1.8,3.1l0,0.1L28.6,30.1z"/>
|
||||
<polygon class="st2" points="16,43.8 13.6,42.2 15.1,37.9 16.8,37.5 23.8,26.9 26.2,28.5 19.2,39 19.5,40.8 "/>
|
||||
<path class="st3" d="M29,22.2L29,22.2c-0.5-0.4-0.7-1.1-0.3-1.6l5.1-7.6c0.4-0.5,1.1-0.7,1.6-0.3v0c0.5,0.4,0.7,1.1,0.3,1.6
|
||||
l-5.1,7.6C30.3,22.4,29.5,22.6,29,22.2z"/>
|
||||
<path class="st3" d="M31.9,10.3L31.9,10.3c0.5,0.4,0.7,1.1,0.3,1.6l-5.1,7.6c-0.4,0.5-1.1,0.7-1.6,0.3h0"/>
|
||||
<path class="st3" d="M32.3,24.4c-0.5-0.4-0.7-1.1-0.3-1.6l5.1-7.6c0.4-0.5,1.1-0.7,1.6-0.3"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.3 KiB |
16
static/img/icons/telephone.svg
Normal file
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 25.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 7.4 7.4" style="enable-background:new 0 0 7.4 7.4;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#85BE32;}
|
||||
.st1{fill:none;stroke:#000000;stroke-width:0.3;stroke-miterlimit:10;}
|
||||
</style>
|
||||
<circle class="st0" cx="170.5" cy="142.5" r="26.4"/>
|
||||
<rect x="159.4" y="123.6" style="fill:none;" width="22.3" height="45.3"/>
|
||||
<text transform="matrix(1 0 0 1 159.4305 158.9266)" style="fill:#FFFFFF; font-family:'Roboto-Regular'; font-size:47.1027px;">?</text>
|
||||
<path class="st1" d="M6.9,5.3c0-0.1,0-0.2,0-0.3c0-0.1,0-0.2-0.1-0.3l-0.1,0C6.3,4.4,5.8,4.3,5.3,4.3c-0.1,0-0.2,0.1-0.3,0.2l0,0.2
|
||||
C5,4.8,4.8,4.9,4.6,4.8L4.5,4.8C4.3,4.7,4.1,4.6,4,4.5C3.8,4.3,3.4,3.9,3.2,3.6C3.1,3.5,3,3.4,2.9,3.2L2.8,3.1
|
||||
C2.7,2.9,2.8,2.7,3,2.6l0.2,0c0.1,0,0.2-0.1,0.2-0.3c0-0.5-0.2-1-0.5-1.4l0-0.1C2.8,0.7,2.7,0.7,2.6,0.7c-0.1,0-0.2,0-0.3,0
|
||||
C2.1,0.8,1.2,1,1.2,2.2c0,1.1,1.1,2.3,1.5,2.7c0.4,0.4,1.6,1.5,2.7,1.5C6.7,6.4,6.9,5.5,6.9,5.3z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.2 KiB |
5
static/img/icons/youtube.svg
Normal file
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="300" height="300">
|
||||
<rect width="300" height="300" fill="red" ry="150"/>
|
||||
<path fill="#fff" d="M149.93750587 79.22267364s-63.21885.000059-79.08593926 4.12304707c-8.49578714 2.37380204-15.49140825 9.36950015-17.86523429 17.99023729-4.12295306 15.86710025-4.12304706 48.72656078-4.12304706 48.72656078s.000094 32.98420052 4.12304706 48.60156077c2.37382604 8.62062014 9.24450615 15.49138025 17.86523429 17.86524029 15.99203025 4.24788007 79.08593926 4.24804007 79.08593926 4.24804007s63.34418101-.00005 79.21094127-4.12304007c8.62079014-2.37381004 15.49133025-9.11966015 17.74023028-17.86524029 4.24793007-15.74232025 4.24805007-48.60156077 4.24805007-48.60156077s.12484-32.98446053-4.24805007-48.85156078c-2.24890003-8.62073714-9.11944014-15.49133425-17.74023028-17.74023729-15.86676026-4.37284707-79.21094127-4.37304707-79.21094127-4.37304707zm-20.11523032 40.48046465 52.59961084 30.35938049-52.59961084 30.23438048v-60.59376097z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1 KiB |
120
static/img/logo.svg
Normal file
|
@ -0,0 +1,120 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Generator: Adobe Illustrator 25.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
|
||||
<svg
|
||||
version="1.1"
|
||||
id="Ebene_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
viewBox="0 0 110 110"
|
||||
style="enable-background:new 0 0 110 110;"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="schaf7.svg"
|
||||
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs62">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</defs><sodipodi:namedview
|
||||
id="namedview60"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
showgrid="false"
|
||||
inkscape:zoom="5.6568543"
|
||||
inkscape:cx="65.495765"
|
||||
inkscape:cy="40.923805"
|
||||
inkscape:window-width="1444"
|
||||
inkscape:window-height="1236"
|
||||
inkscape:window-x="899"
|
||||
inkscape:window-y="47"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="Ebene_1" />
|
||||
<style
|
||||
type="text/css"
|
||||
id="style2">
|
||||
.st0{fill:#828487;}
|
||||
.st1{fill:none;}
|
||||
.st2{display:none;}
|
||||
|
||||
.st3{display:inline;fill:#FFFFFF;stroke:#E67200;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
|
||||
.st4{display:inline;fill:#E67200;}
|
||||
.st5{display:inline;fill:none;stroke:#E67200;stroke-width:1.6783;stroke-miterlimit:10;}
|
||||
</style>
|
||||
|
||||
<path
|
||||
d="m 103.5,80.1 c 3.4,0 6.1,-2.7 6.1,-6.1 V 6.6 c 0,-3.4 -2.7,-6.1 -6.1,-6.1 H 6.6 C 3.2,0.5 0.5,3.2 0.5,6.6 V 74 c 0,3.4 2.7,6.1 6.1,6.1 h 6.9 V 85 H 6.6 c -3.4,0 -6.1,2.7 -6.1,6.1 v 12.4 c 0,3.4 2.7,6.1 6.1,6.1 h 96.9 c 3.4,0 6.1,-2.7 6.1,-6.1 V 91.1 c 0,-3.4 -2.7,-6.1 -6.1,-6.1 H 95.9 V 80.1 Z M 4.4,74 V 6.6 c 0,-1.2 1,-2.1 2.1,-2.1 h 96.9 c 1.2,0 2.1,1 2.1,2.1 V 74 c 0,1.2 -1,2.1 -2.1,2.1 H 6.6 c -1.2,0 -2.2,-1 -2.2,-2.1 z m 101.2,17.1 v 12.4 c 0,1.2 -1,2.1 -2.1,2.1 H 6.6 c -1.2,0 -2.1,-1 -2.1,-2.1 V 91.1 c 0,-1.2 1,-2.1 2.1,-2.1 h 96.9 c 1.2,-0.1 2.1,0.9 2.1,2.1 z M 91.9,84.9 H 17.5 V 80 h 74.4 z"
|
||||
id="path25" /><path
|
||||
d="M 33.9,99.4 H 15.6 c -1.2,0 -2.2,-1 -2.2,-2.2 0,-1.2 1,-2.2 2.2,-2.2 h 18.3 c 1.2,0 2.2,1 2.2,2.2 0,1.2 -1,2.2 -2.2,2.2"
|
||||
id="path27" /><path
|
||||
d="m 82,97.2 c 0,2.1 -1.7,3.8 -3.8,3.8 -2.1,0 -3.8,-1.7 -3.8,-3.8 0,-2.1 1.7,-3.8 3.8,-3.8 2.1,0 3.8,1.7 3.8,3.8"
|
||||
id="path29" /><path
|
||||
d="m 97.7,97.2 c 0,2.1 -1.7,3.8 -3.8,3.8 -2.1,0 -3.8,-1.7 -3.8,-3.8 0,-2.1 1.7,-3.8 3.8,-3.8 2.1,0 3.8,1.7 3.8,3.8"
|
||||
id="path31" />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:3.154;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 54.375376,12.761786 c 0,0 5.905197,-5.2367814 9.191887,-4.3863116 3.002087,0.7768274 5.398824,7.5760546 5.398824,7.5760546 0,0 8.554185,-2.084954 11.034813,0.639303 1.990427,2.185909 -0.316348,8.863403 -0.316348,8.863403 0,0 5.857429,0.09949 7.03375,2.263402 1.097333,2.018616 -1.796145,6.654644 -1.796145,6.654644 0,0 3.626503,3.456227 3.444725,5.656282 -0.215796,2.611878 -5.136194,5.952786 -5.136194,5.952786 0,0 4.619639,4.38657 3.880522,6.190718 -1.233903,3.011888 -7.7713,4.4562 -7.7713,4.4562 0,0 3.927723,3.946056 2.904865,5.877185 -1.567666,2.95972 -9.952863,1.377747 -9.952863,1.377747 0,0 -0.183131,6.13382 -2.468984,7.318355 -3.173638,1.644584 -10.277975,-3.058261 -10.277975,-3.058261 0,0 -5.426228,4.755225 -8.595962,4.294623 -2.834869,-0.411938 -6.276717,-5.870132 -6.276717,-5.870132 0,0 -7.723215,1.629879 -10.320727,-0.635761 -1.962579,-1.711832 -1.535265,-7.660406 -1.535265,-7.660406 0,0 -5.60217,-1.169284 -6.824021,-3.397187 -1.30007,-2.370527 0.855025,-8.065671 0.855025,-8.065671 0,0 -5.548291,-5.068544 -5.203875,-8.322086 0.286415,-2.70562 5.680554,-5.861139 5.680554,-5.861139 0,0 -2.435709,-6.269343 -0.898395,-8.776189 1.398129,-2.279883 7.484481,-2.890727 7.484481,-2.890727 0,0 -0.303729,-4.990609 1.396983,-6.316143 2.398276,-1.869213 9.118176,0.26468 9.118176,0.26468 0,0 0.922024,-5.2375105 3.031544,-5.8893665 2.505345,-0.7741695 6.918622,3.7439975 6.918622,3.7439975 z"
|
||||
id="path1106" /><ellipse
|
||||
style="fill:none;stroke:#000000;stroke-width:3.154;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path4112"
|
||||
cx="55.060249"
|
||||
cy="40.926701"
|
||||
rx="17.884829"
|
||||
ry="16.795828" /><path
|
||||
style="fill:none;stroke:#000000;stroke-width:3.154;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 54.973441,57.040335 0.08325,-7.247891 4.100529,-3.557329 -4.107607,3.568346 -4.196703,-3.60199"
|
||||
id="path4116"
|
||||
sodipodi:nodetypes="ccccc" /><path
|
||||
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:3.154;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path4120"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:cx="48.661461"
|
||||
sodipodi:cy="36.788879"
|
||||
sodipodi:rx="0.5609104"
|
||||
sodipodi:ry="1.2656273"
|
||||
sodipodi:start="0"
|
||||
sodipodi:end="6.2830302"
|
||||
sodipodi:open="true"
|
||||
sodipodi:arc-type="arc"
|
||||
d="m 49.222371,36.788879 a 0.5609104,1.2656273 0 0 1 -0.560888,1.265628 0.5609104,1.2656273 0 0 1 -0.560933,-1.265529 0.5609104,1.2656273 0 0 1 0.560846,-1.265726 0.5609104,1.2656273 0 0 1 0.560975,1.265431" /><path
|
||||
style="fill:none;stroke:#000000;stroke-width:3.154;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 68.186133,29.71635 c 0,0 7.351256,1.742707 8.906187,2.824988 3.464515,2.411416 4.666354,7.003755 4.666354,7.003755 0,0 -3.393577,-0.261574 -4.999636,-0.776256 -1.520109,-0.487141 -4.277703,-2.152584 -4.277703,-2.152584"
|
||||
id="path4122" /><path
|
||||
style="fill:none;stroke:#000000;stroke-width:3.154;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 41.814289,29.71635 c 0,0 -7.351258,1.742707 -8.906189,2.824988 -3.464515,2.411416 -4.666352,7.003755 -4.666352,7.003755 0,0 3.393575,-0.261574 4.999634,-0.776256 1.520108,-0.487141 4.277703,-2.152584 4.277703,-2.152584"
|
||||
id="path6304" /><path
|
||||
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:3.154;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="ellipse305"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:cx="61.338943"
|
||||
sodipodi:cy="36.689148"
|
||||
sodipodi:rx="0.5609104"
|
||||
sodipodi:ry="1.2656273"
|
||||
sodipodi:start="0"
|
||||
sodipodi:end="6.2823413"
|
||||
sodipodi:arc-type="arc"
|
||||
d="m 61.899854,36.689148 a 0.5609104,1.2656273 0 0 1 -0.560792,1.265627 0.5609104,1.2656273 0 0 1 -0.561029,-1.265093 0.5609104,1.2656273 0 0 1 0.560555,-1.266161 0.5609104,1.2656273 0 0 1 0.561266,1.264559"
|
||||
sodipodi:open="true" /></svg>
|
After Width: | Height: | Size: 6.7 KiB |
BIN
static/leaflet/images/layers-2x.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
static/leaflet/images/layers.png
Normal file
After Width: | Height: | Size: 696 B |
BIN
static/leaflet/images/marker-icon-2x.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
static/leaflet/images/marker-icon.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
static/leaflet/images/marker-shadow.png
Normal file
After Width: | Height: | Size: 618 B |
656
static/leaflet/leaflet.css
Normal file
|
@ -0,0 +1,656 @@
|
|||
/* required styles */
|
||||
|
||||
.leaflet-pane,
|
||||
.leaflet-tile,
|
||||
.leaflet-marker-icon,
|
||||
.leaflet-marker-shadow,
|
||||
.leaflet-tile-container,
|
||||
.leaflet-pane > svg,
|
||||
.leaflet-pane > canvas,
|
||||
.leaflet-zoom-box,
|
||||
.leaflet-image-layer,
|
||||
.leaflet-layer {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
}
|
||||
.leaflet-container {
|
||||
overflow: hidden;
|
||||
}
|
||||
.leaflet-tile,
|
||||
.leaflet-marker-icon,
|
||||
.leaflet-marker-shadow {
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
-webkit-user-drag: none;
|
||||
}
|
||||
/* Prevents IE11 from highlighting tiles in blue */
|
||||
.leaflet-tile::selection {
|
||||
background: transparent;
|
||||
}
|
||||
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
|
||||
.leaflet-safari .leaflet-tile {
|
||||
image-rendering: -webkit-optimize-contrast;
|
||||
}
|
||||
/* hack that prevents hw layers "stretching" when loading new tiles */
|
||||
.leaflet-safari .leaflet-tile-container {
|
||||
width: 1600px;
|
||||
height: 1600px;
|
||||
-webkit-transform-origin: 0 0;
|
||||
}
|
||||
.leaflet-marker-icon,
|
||||
.leaflet-marker-shadow {
|
||||
display: block;
|
||||
}
|
||||
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
|
||||
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
|
||||
.leaflet-container .leaflet-overlay-pane svg {
|
||||
max-width: none !important;
|
||||
max-height: none !important;
|
||||
}
|
||||
.leaflet-container .leaflet-marker-pane img,
|
||||
.leaflet-container .leaflet-shadow-pane img,
|
||||
.leaflet-container .leaflet-tile-pane img,
|
||||
.leaflet-container img.leaflet-image-layer,
|
||||
.leaflet-container .leaflet-tile {
|
||||
max-width: none !important;
|
||||
max-height: none !important;
|
||||
width: auto;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.leaflet-container.leaflet-touch-zoom {
|
||||
-ms-touch-action: pan-x pan-y;
|
||||
touch-action: pan-x pan-y;
|
||||
}
|
||||
.leaflet-container.leaflet-touch-drag {
|
||||
-ms-touch-action: pinch-zoom;
|
||||
/* Fallback for FF which doesn't support pinch-zoom */
|
||||
touch-action: none;
|
||||
touch-action: pinch-zoom;
|
||||
}
|
||||
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
|
||||
-ms-touch-action: none;
|
||||
touch-action: none;
|
||||
}
|
||||
.leaflet-container {
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
}
|
||||
.leaflet-container a {
|
||||
-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
|
||||
}
|
||||
.leaflet-tile {
|
||||
filter: inherit;
|
||||
visibility: hidden;
|
||||
}
|
||||
.leaflet-tile-loaded {
|
||||
visibility: inherit;
|
||||
}
|
||||
.leaflet-zoom-box {
|
||||
width: 0;
|
||||
height: 0;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
z-index: 800;
|
||||
}
|
||||
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
|
||||
.leaflet-overlay-pane svg {
|
||||
-moz-user-select: none;
|
||||
}
|
||||
|
||||
.leaflet-pane { z-index: 400; }
|
||||
|
||||
.leaflet-tile-pane { z-index: 200; }
|
||||
.leaflet-overlay-pane { z-index: 400; }
|
||||
.leaflet-shadow-pane { z-index: 500; }
|
||||
.leaflet-marker-pane { z-index: 600; }
|
||||
.leaflet-tooltip-pane { z-index: 650; }
|
||||
.leaflet-popup-pane { z-index: 700; }
|
||||
|
||||
.leaflet-map-pane canvas { z-index: 100; }
|
||||
.leaflet-map-pane svg { z-index: 200; }
|
||||
|
||||
.leaflet-vml-shape {
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
}
|
||||
.lvml {
|
||||
behavior: url(#default#VML);
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
|
||||
/* control positioning */
|
||||
|
||||
.leaflet-control {
|
||||
position: relative;
|
||||
z-index: 800;
|
||||
pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
|
||||
pointer-events: auto;
|
||||
}
|
||||
.leaflet-top,
|
||||
.leaflet-bottom {
|
||||
position: absolute;
|
||||
z-index: 1000;
|
||||
pointer-events: none;
|
||||
}
|
||||
.leaflet-top {
|
||||
top: 0;
|
||||
}
|
||||
.leaflet-right {
|
||||
right: 0;
|
||||
}
|
||||
.leaflet-bottom {
|
||||
bottom: 0;
|
||||
}
|
||||
.leaflet-left {
|
||||
left: 0;
|
||||
}
|
||||
.leaflet-control {
|
||||
float: left;
|
||||
clear: both;
|
||||
}
|
||||
.leaflet-right .leaflet-control {
|
||||
float: right;
|
||||
}
|
||||
.leaflet-top .leaflet-control {
|
||||
margin-top: 10px;
|
||||
}
|
||||
.leaflet-bottom .leaflet-control {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.leaflet-left .leaflet-control {
|
||||
margin-left: 10px;
|
||||
}
|
||||
.leaflet-right .leaflet-control {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
|
||||
/* zoom and fade animations */
|
||||
|
||||
.leaflet-fade-anim .leaflet-popup {
|
||||
opacity: 0;
|
||||
-webkit-transition: opacity 0.2s linear;
|
||||
-moz-transition: opacity 0.2s linear;
|
||||
transition: opacity 0.2s linear;
|
||||
}
|
||||
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
|
||||
opacity: 1;
|
||||
}
|
||||
.leaflet-zoom-animated {
|
||||
-webkit-transform-origin: 0 0;
|
||||
-ms-transform-origin: 0 0;
|
||||
transform-origin: 0 0;
|
||||
}
|
||||
svg.leaflet-zoom-animated {
|
||||
will-change: transform;
|
||||
}
|
||||
|
||||
.leaflet-zoom-anim .leaflet-zoom-animated {
|
||||
-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
|
||||
-moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
|
||||
transition: transform 0.25s cubic-bezier(0,0,0.25,1);
|
||||
}
|
||||
.leaflet-zoom-anim .leaflet-tile,
|
||||
.leaflet-pan-anim .leaflet-tile {
|
||||
-webkit-transition: none;
|
||||
-moz-transition: none;
|
||||
transition: none;
|
||||
}
|
||||
|
||||
.leaflet-zoom-anim .leaflet-zoom-hide {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
|
||||
/* cursors */
|
||||
|
||||
.leaflet-interactive {
|
||||
cursor: pointer;
|
||||
}
|
||||
.leaflet-grab {
|
||||
cursor: -webkit-grab;
|
||||
cursor: -moz-grab;
|
||||
cursor: grab;
|
||||
}
|
||||
.leaflet-crosshair,
|
||||
.leaflet-crosshair .leaflet-interactive {
|
||||
cursor: crosshair;
|
||||
}
|
||||
.leaflet-popup-pane,
|
||||
.leaflet-control {
|
||||
cursor: auto;
|
||||
}
|
||||
.leaflet-dragging .leaflet-grab,
|
||||
.leaflet-dragging .leaflet-grab .leaflet-interactive,
|
||||
.leaflet-dragging .leaflet-marker-draggable {
|
||||
cursor: move;
|
||||
cursor: -webkit-grabbing;
|
||||
cursor: -moz-grabbing;
|
||||
cursor: grabbing;
|
||||
}
|
||||
|
||||
/* marker & overlays interactivity */
|
||||
.leaflet-marker-icon,
|
||||
.leaflet-marker-shadow,
|
||||
.leaflet-image-layer,
|
||||
.leaflet-pane > svg path,
|
||||
.leaflet-tile-container {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.leaflet-marker-icon.leaflet-interactive,
|
||||
.leaflet-image-layer.leaflet-interactive,
|
||||
.leaflet-pane > svg path.leaflet-interactive,
|
||||
svg.leaflet-image-layer.leaflet-interactive path {
|
||||
pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
|
||||
pointer-events: auto;
|
||||
}
|
||||
|
||||
/* visual tweaks */
|
||||
|
||||
.leaflet-container {
|
||||
background: #ddd;
|
||||
outline-offset: 1px;
|
||||
}
|
||||
.leaflet-container a {
|
||||
color: #0078A8;
|
||||
}
|
||||
.leaflet-zoom-box {
|
||||
border: 2px dotted #38f;
|
||||
background: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
|
||||
/* general typography */
|
||||
.leaflet-container {
|
||||
font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
|
||||
font-size: 12px;
|
||||
font-size: 0.75rem;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
|
||||
/* general toolbar styles */
|
||||
|
||||
.leaflet-bar {
|
||||
box-shadow: 0 1px 5px rgba(0,0,0,0.65);
|
||||
border-radius: 4px;
|
||||
}
|
||||
.leaflet-bar a {
|
||||
background-color: #fff;
|
||||
border-bottom: 1px solid #ccc;
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
line-height: 26px;
|
||||
display: block;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
color: black;
|
||||
}
|
||||
.leaflet-bar a,
|
||||
.leaflet-control-layers-toggle {
|
||||
background-position: 50% 50%;
|
||||
background-repeat: no-repeat;
|
||||
display: block;
|
||||
}
|
||||
.leaflet-bar a:hover,
|
||||
.leaflet-bar a:focus {
|
||||
background-color: #f4f4f4;
|
||||
}
|
||||
.leaflet-bar a:first-child {
|
||||
border-top-left-radius: 4px;
|
||||
border-top-right-radius: 4px;
|
||||
}
|
||||
.leaflet-bar a:last-child {
|
||||
border-bottom-left-radius: 4px;
|
||||
border-bottom-right-radius: 4px;
|
||||
border-bottom: none;
|
||||
}
|
||||
.leaflet-bar a.leaflet-disabled {
|
||||
cursor: default;
|
||||
background-color: #f4f4f4;
|
||||
color: #bbb;
|
||||
}
|
||||
|
||||
.leaflet-touch .leaflet-bar a {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
}
|
||||
.leaflet-touch .leaflet-bar a:first-child {
|
||||
border-top-left-radius: 2px;
|
||||
border-top-right-radius: 2px;
|
||||
}
|
||||
.leaflet-touch .leaflet-bar a:last-child {
|
||||
border-bottom-left-radius: 2px;
|
||||
border-bottom-right-radius: 2px;
|
||||
}
|
||||
|
||||
/* zoom control */
|
||||
|
||||
.leaflet-control-zoom-in,
|
||||
.leaflet-control-zoom-out {
|
||||
font: bold 18px 'Lucida Console', Monaco, monospace;
|
||||
text-indent: 1px;
|
||||
}
|
||||
|
||||
.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out {
|
||||
font-size: 22px;
|
||||
}
|
||||
|
||||
|
||||
/* layers control */
|
||||
|
||||
.leaflet-control-layers {
|
||||
box-shadow: 0 1px 5px rgba(0,0,0,0.4);
|
||||
background: #fff;
|
||||
border-radius: 5px;
|
||||
}
|
||||
.leaflet-control-layers-toggle {
|
||||
background-image: url(images/layers.png);
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
.leaflet-retina .leaflet-control-layers-toggle {
|
||||
background-image: url(images/layers-2x.png);
|
||||
background-size: 26px 26px;
|
||||
}
|
||||
.leaflet-touch .leaflet-control-layers-toggle {
|
||||
width: 44px;
|
||||
height: 44px;
|
||||
}
|
||||
.leaflet-control-layers .leaflet-control-layers-list,
|
||||
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
|
||||
display: none;
|
||||
}
|
||||
.leaflet-control-layers-expanded .leaflet-control-layers-list {
|
||||
display: block;
|
||||
position: relative;
|
||||
}
|
||||
.leaflet-control-layers-expanded {
|
||||
padding: 6px 10px 6px 6px;
|
||||
color: #333;
|
||||
background: #fff;
|
||||
}
|
||||
.leaflet-control-layers-scrollbar {
|
||||
overflow-y: scroll;
|
||||
overflow-x: hidden;
|
||||
padding-right: 5px;
|
||||
}
|
||||
.leaflet-control-layers-selector {
|
||||
margin-top: 2px;
|
||||
position: relative;
|
||||
top: 1px;
|
||||
}
|
||||
.leaflet-control-layers label {
|
||||
display: block;
|
||||
font-size: 13px;
|
||||
font-size: 1.08333em;
|
||||
}
|
||||
.leaflet-control-layers-separator {
|
||||
height: 0;
|
||||
border-top: 1px solid #ddd;
|
||||
margin: 5px -10px 5px -6px;
|
||||
}
|
||||
|
||||
/* Default icon URLs */
|
||||
.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */
|
||||
background-image: url(images/marker-icon.png);
|
||||
}
|
||||
|
||||
|
||||
/* attribution and scale controls */
|
||||
|
||||
.leaflet-container .leaflet-control-attribution {
|
||||
background: #fff;
|
||||
background: rgba(255, 255, 255, 0.8);
|
||||
margin: 0;
|
||||
}
|
||||
.leaflet-control-attribution,
|
||||
.leaflet-control-scale-line {
|
||||
padding: 0 5px;
|
||||
color: #333;
|
||||
line-height: 1.4;
|
||||
}
|
||||
.leaflet-control-attribution a {
|
||||
text-decoration: none;
|
||||
}
|
||||
.leaflet-control-attribution a:hover,
|
||||
.leaflet-control-attribution a:focus {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.leaflet-attribution-flag {
|
||||
display: inline !important;
|
||||
vertical-align: baseline !important;
|
||||
width: 1em;
|
||||
height: 0.6669em;
|
||||
}
|
||||
.leaflet-left .leaflet-control-scale {
|
||||
margin-left: 5px;
|
||||
}
|
||||
.leaflet-bottom .leaflet-control-scale {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
.leaflet-control-scale-line {
|
||||
border: 2px solid #777;
|
||||
border-top: none;
|
||||
line-height: 1.1;
|
||||
padding: 2px 5px 1px;
|
||||
white-space: nowrap;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
background: rgba(255, 255, 255, 0.8);
|
||||
text-shadow: 1px 1px #fff;
|
||||
}
|
||||
.leaflet-control-scale-line:not(:first-child) {
|
||||
border-top: 2px solid #777;
|
||||
border-bottom: none;
|
||||
margin-top: -2px;
|
||||
}
|
||||
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
|
||||
border-bottom: 2px solid #777;
|
||||
}
|
||||
|
||||
.leaflet-touch .leaflet-control-attribution,
|
||||
.leaflet-touch .leaflet-control-layers,
|
||||
.leaflet-touch .leaflet-bar {
|
||||
box-shadow: none;
|
||||
}
|
||||
.leaflet-touch .leaflet-control-layers,
|
||||
.leaflet-touch .leaflet-bar {
|
||||
border: 2px solid rgba(0,0,0,0.2);
|
||||
background-clip: padding-box;
|
||||
}
|
||||
|
||||
|
||||
/* popup */
|
||||
|
||||
.leaflet-popup {
|
||||
position: absolute;
|
||||
text-align: center;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.leaflet-popup-content-wrapper {
|
||||
padding: 1px;
|
||||
text-align: left;
|
||||
border-radius: 12px;
|
||||
}
|
||||
.leaflet-popup-content {
|
||||
margin: 13px 24px 13px 20px;
|
||||
line-height: 1.3;
|
||||
font-size: 13px;
|
||||
font-size: 1.08333em;
|
||||
min-height: 1px;
|
||||
}
|
||||
.leaflet-popup-content p {
|
||||
margin: 17px 0;
|
||||
margin: 1.3em 0;
|
||||
}
|
||||
.leaflet-popup-tip-container {
|
||||
width: 40px;
|
||||
height: 20px;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
margin-top: -1px;
|
||||
margin-left: -20px;
|
||||
overflow: hidden;
|
||||
pointer-events: none;
|
||||
}
|
||||
.leaflet-popup-tip {
|
||||
width: 17px;
|
||||
height: 17px;
|
||||
padding: 1px;
|
||||
|
||||
margin: -10px auto 0;
|
||||
pointer-events: auto;
|
||||
|
||||
-webkit-transform: rotate(45deg);
|
||||
-moz-transform: rotate(45deg);
|
||||
-ms-transform: rotate(45deg);
|
||||
transform: rotate(45deg);
|
||||
}
|
||||
.leaflet-popup-content-wrapper,
|
||||
.leaflet-popup-tip {
|
||||
background: white;
|
||||
color: #333;
|
||||
box-shadow: 0 3px 14px rgba(0,0,0,0.4);
|
||||
}
|
||||
.leaflet-container a.leaflet-popup-close-button {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
border: none;
|
||||
text-align: center;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
font: 16px/24px Tahoma, Verdana, sans-serif;
|
||||
color: #757575;
|
||||
text-decoration: none;
|
||||
background: transparent;
|
||||
}
|
||||
.leaflet-container a.leaflet-popup-close-button:hover,
|
||||
.leaflet-container a.leaflet-popup-close-button:focus {
|
||||
color: #585858;
|
||||
}
|
||||
.leaflet-popup-scrolled {
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.leaflet-oldie .leaflet-popup-content-wrapper {
|
||||
-ms-zoom: 1;
|
||||
}
|
||||
.leaflet-oldie .leaflet-popup-tip {
|
||||
width: 24px;
|
||||
margin: 0 auto;
|
||||
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
|
||||
filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
|
||||
}
|
||||
|
||||
.leaflet-oldie .leaflet-control-zoom,
|
||||
.leaflet-oldie .leaflet-control-layers,
|
||||
.leaflet-oldie .leaflet-popup-content-wrapper,
|
||||
.leaflet-oldie .leaflet-popup-tip {
|
||||
border: 1px solid #999;
|
||||
}
|
||||
|
||||
|
||||
/* div icon */
|
||||
|
||||
.leaflet-div-icon {
|
||||
background: #fff;
|
||||
border: 1px solid #666;
|
||||
}
|
||||
|
||||
|
||||
/* Tooltip */
|
||||
/* Base styles for the element that has a tooltip */
|
||||
.leaflet-tooltip {
|
||||
position: absolute;
|
||||
padding: 6px;
|
||||
background-color: #fff;
|
||||
border: 1px solid #fff;
|
||||
border-radius: 3px;
|
||||
color: #222;
|
||||
white-space: nowrap;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
pointer-events: none;
|
||||
box-shadow: 0 1px 3px rgba(0,0,0,0.4);
|
||||
}
|
||||
.leaflet-tooltip.leaflet-interactive {
|
||||
cursor: pointer;
|
||||
pointer-events: auto;
|
||||
}
|
||||
.leaflet-tooltip-top:before,
|
||||
.leaflet-tooltip-bottom:before,
|
||||
.leaflet-tooltip-left:before,
|
||||
.leaflet-tooltip-right:before {
|
||||
position: absolute;
|
||||
pointer-events: none;
|
||||
border: 6px solid transparent;
|
||||
background: transparent;
|
||||
content: "";
|
||||
}
|
||||
|
||||
/* Directions */
|
||||
|
||||
.leaflet-tooltip-bottom {
|
||||
margin-top: 6px;
|
||||
}
|
||||
.leaflet-tooltip-top {
|
||||
margin-top: -6px;
|
||||
}
|
||||
.leaflet-tooltip-bottom:before,
|
||||
.leaflet-tooltip-top:before {
|
||||
left: 50%;
|
||||
margin-left: -6px;
|
||||
}
|
||||
.leaflet-tooltip-top:before {
|
||||
bottom: 0;
|
||||
margin-bottom: -12px;
|
||||
border-top-color: #fff;
|
||||
}
|
||||
.leaflet-tooltip-bottom:before {
|
||||
top: 0;
|
||||
margin-top: -12px;
|
||||
margin-left: -6px;
|
||||
border-bottom-color: #fff;
|
||||
}
|
||||
.leaflet-tooltip-left {
|
||||
margin-left: -6px;
|
||||
}
|
||||
.leaflet-tooltip-right {
|
||||
margin-left: 6px;
|
||||
}
|
||||
.leaflet-tooltip-left:before,
|
||||
.leaflet-tooltip-right:before {
|
||||
top: 50%;
|
||||
margin-top: -6px;
|
||||
}
|
||||
.leaflet-tooltip-left:before {
|
||||
right: 0;
|
||||
margin-right: -12px;
|
||||
border-left-color: #fff;
|
||||
}
|
||||
.leaflet-tooltip-right:before {
|
||||
left: 0;
|
||||
margin-left: -12px;
|
||||
border-right-color: #fff;
|
||||
}
|
||||
|
||||
/* Printing */
|
||||
|
||||
@media print {
|
||||
/* Prevent printers from removing background-images of controls. */
|
||||
.leaflet-control {
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
}
|
6
static/leaflet/leaflet.js
Normal file
274
static/map.js
Normal file
|
@ -0,0 +1,274 @@
|
|||
var zone_a = L.polygon([
|
||||
[47.2999, 11.4829],
|
||||
[47.2943, 11.4872],
|
||||
[47.2799, 11.4779],
|
||||
[47.2801, 11.4726],
|
||||
[47.2710, 11.4726],
|
||||
[47.2671, 11.4513],
|
||||
[47.2680, 11.4472],
|
||||
[47.2696, 11.4419],
|
||||
[47.2773, 11.4222],
|
||||
[47.2803, 11.4086],
|
||||
[47.2802, 11.4049],
|
||||
[47.2794, 11.4015],
|
||||
[47.2816, 11.4004],
|
||||
[47.2851, 11.4048],
|
||||
[47.2859, 11.4104],
|
||||
[47.2888, 11.4115],
|
||||
[47.2902, 11.4136],
|
||||
[47.2905, 11.4169],
|
||||
[47.2883, 11.4218],
|
||||
[47.2887, 11.4253],
|
||||
[47.2954, 11.4251],
|
||||
[47.2959, 11.4310],
|
||||
[47.2963, 11.4363],
|
||||
[47.2949, 11.4398],
|
||||
[47.2908, 11.4445],
|
||||
[47.2915, 11.4513],
|
||||
[47.2940, 11.4549],
|
||||
[47.2951, 11.4605],
|
||||
[47.2967, 11.4668],
|
||||
[47.3000, 11.4692],
|
||||
[47.3010, 11.4716],
|
||||
[47.3021, 11.4782]
|
||||
], {
|
||||
color: "green",
|
||||
fillColor: "#3ef06e",
|
||||
fillOpacity: 0.3
|
||||
});
|
||||
|
||||
var zone_b_1 = L.polygon([
|
||||
[47.3021, 11.4782],
|
||||
[47.2999, 11.4829],
|
||||
[47.2943, 11.4872],
|
||||
[47.2799, 11.4779],
|
||||
[47.2801, 11.4726],
|
||||
[47.2710, 11.4726],
|
||||
[47.2731, 11.4837],
|
||||
[47.2725, 11.4955],
|
||||
[47.2731, 11.4986],
|
||||
[47.2763, 11.5063],
|
||||
[47.2769, 11.5103],
|
||||
[47.2770, 11.5219],
|
||||
[47.2781, 11.5288],
|
||||
[47.2823, 11.5261],
|
||||
[47.2861, 11.5257],
|
||||
[47.2926, 11.5234],
|
||||
[47.2962, 11.5246],
|
||||
[47.2999, 11.5246],
|
||||
[47.3039, 11.5227],
|
||||
[47.3072, 11.5213],
|
||||
[47.3095, 11.5196],
|
||||
[47.3067, 11.5167],
|
||||
[47.3064, 11.5078]
|
||||
]);
|
||||
|
||||
var zone_b_2 = L.polygon([
|
||||
[47.2794, 11.4015],
|
||||
[47.2774, 11.3984],
|
||||
[47.2782, 11.3970],
|
||||
[47.2781, 11.3962],
|
||||
[47.2778, 11.3960],
|
||||
[47.2774, 11.3953],
|
||||
[47.2769, 11.3947],
|
||||
[47.2764, 11.3940],
|
||||
[47.2755, 11.3930],
|
||||
[47.2760, 11.3935],
|
||||
[47.2758, 11.3934],
|
||||
[47.2755, 11.3930],
|
||||
[47.2753, 11.3927],
|
||||
[47.2751, 11.3919],
|
||||
[47.2749, 11.3918],
|
||||
[47.2746, 11.3919],
|
||||
[47.2740, 11.3918],
|
||||
[47.2739, 11.3916],
|
||||
[47.2734, 11.3906],
|
||||
[47.2729, 11.3900],
|
||||
[47.2727, 11.3908],
|
||||
[47.2715, 11.3898],
|
||||
[47.2700, 11.3883],
|
||||
[47.2699, 11.3885],
|
||||
[47.2698, 11.3882],
|
||||
[47.2697, 11.3879],
|
||||
[47.2700, 11.3876],
|
||||
[47.2696, 11.3866],
|
||||
[47.2694, 11.3866],
|
||||
[47.2688, 11.3871],
|
||||
[47.2684, 11.3860],
|
||||
[47.2677, 11.3848],
|
||||
[47.2673, 11.3855],
|
||||
[47.2672, 11.3855],
|
||||
[47.2662, 11.3861],
|
||||
[47.2640, 11.3830],
|
||||
[47.2617, 11.3811],
|
||||
[47.2608, 11.3829],
|
||||
[47.2617, 11.3840],
|
||||
[47.2616, 11.3844],
|
||||
[47.2622, 11.3893],
|
||||
[47.2627, 11.3949],
|
||||
[47.2629, 11.3964],
|
||||
[47.2631, 11.3998],
|
||||
[47.2618, 11.3993],
|
||||
[47.2573, 11.4007],
|
||||
[47.2576, 11.4037],
|
||||
[47.2666, 11.4052],
|
||||
[47.2683, 11.4061],
|
||||
[47.2695, 11.4077],
|
||||
[47.2703, 11.4084],
|
||||
[47.2707, 11.4085],
|
||||
[47.2717, 11.4086],
|
||||
[47.2720, 11.4089],
|
||||
[47.2734, 11.4123],
|
||||
[47.2719, 11.4154],
|
||||
[47.2714, 11.4149],
|
||||
[47.2713, 11.4143],
|
||||
[47.2700, 11.4151],
|
||||
[47.2690, 11.4155],
|
||||
[47.2650, 11.4239],
|
||||
[47.2660, 11.4247],
|
||||
[47.2650, 11.4262],
|
||||
[47.2632, 11.4277],
|
||||
[47.2638, 11.4320],
|
||||
[47.2638, 11.4370],
|
||||
[47.2642, 11.4372],
|
||||
[47.2647, 11.4420],
|
||||
[47.2662, 11.4452],
|
||||
[47.2680, 11.4472],
|
||||
[47.2696, 11.4419],
|
||||
[47.2773, 11.4222],
|
||||
[47.2803, 11.4086],
|
||||
[47.2802, 11.4049],
|
||||
[47.2794, 11.4015]
|
||||
]);
|
||||
|
||||
var zone_c = L.polygon([
|
||||
[47.2617, 11.3811],
|
||||
[47.2608, 11.3829],
|
||||
[47.2617, 11.3840],
|
||||
[47.2616, 11.3844],
|
||||
[47.2622, 11.3893],
|
||||
[47.2627, 11.3949],
|
||||
[47.2629, 11.3964],
|
||||
[47.2631, 11.3998],
|
||||
[47.2618, 11.3993],
|
||||
[47.2573, 11.4007],
|
||||
[47.2576, 11.4037],
|
||||
[47.2666, 11.4052],
|
||||
[47.2683, 11.4061],
|
||||
[47.2695, 11.4077],
|
||||
[47.2703, 11.4084],
|
||||
[47.2707, 11.4085],
|
||||
[47.2717, 11.4086],
|
||||
[47.2720, 11.4089],
|
||||
[47.2734, 11.4123],
|
||||
[47.2719, 11.4154],
|
||||
[47.2714, 11.4149],
|
||||
[47.2713, 11.4143],
|
||||
[47.2700, 11.4151],
|
||||
[47.2690, 11.4155],
|
||||
[47.2650, 11.4239],
|
||||
[47.2660, 11.4247],
|
||||
[47.2650, 11.4262],
|
||||
[47.2632, 11.4277],
|
||||
[47.2638, 11.4320],
|
||||
[47.2638, 11.4370],
|
||||
[47.2642, 11.4372],
|
||||
[47.2647, 11.4420],
|
||||
[47.2662, 11.4452],
|
||||
[47.2680, 11.4472],
|
||||
[47.2671, 11.4513],
|
||||
[47.2624, 11.4510],
|
||||
[47.2612, 11.4386],
|
||||
[47.2574, 11.4307],
|
||||
[47.2555, 11.4246],
|
||||
[47.2541, 11.4172],
|
||||
[47.2516, 11.4021],
|
||||
[47.2491, 11.4025],
|
||||
[47.2473, 11.3949],
|
||||
[47.2522, 11.3917],
|
||||
[47.2533, 11.3888],
|
||||
[47.2528, 11.3842],
|
||||
[47.2537, 11.3730],
|
||||
[47.2570, 11.3767],
|
||||
[47.2581, 11.3752],
|
||||
[47.2644, 11.3725],
|
||||
[47.2662, 11.3726],
|
||||
[47.2669, 11.3733],
|
||||
[47.2678, 11.3730],
|
||||
[47.2682, 11.3721],
|
||||
[47.2691, 11.3714],
|
||||
[47.2702, 11.3700],
|
||||
[47.2721, 11.3697],
|
||||
[47.2735, 11.3702],
|
||||
[47.2813, 11.3858],
|
||||
[47.2805, 11.3926],
|
||||
[47.2805, 11.3975],
|
||||
[47.2816, 11.4004],
|
||||
[47.2794, 11.4015],
|
||||
[47.2774, 11.3984],
|
||||
[47.2782, 11.3970],
|
||||
[47.2781, 11.3962],
|
||||
[47.2778, 11.3960],
|
||||
[47.2774, 11.3953],
|
||||
[47.2769, 11.3947],
|
||||
[47.2764, 11.3940],
|
||||
[47.2755, 11.3930],
|
||||
[47.2760, 11.3935],
|
||||
[47.2758, 11.3934],
|
||||
[47.2755, 11.3930],
|
||||
[47.2753, 11.3927],
|
||||
[47.2751, 11.3919],
|
||||
[47.2749, 11.3918],
|
||||
[47.2746, 11.3919],
|
||||
[47.2740, 11.3918],
|
||||
[47.2739, 11.3916],
|
||||
[47.2734, 11.3906],
|
||||
[47.2729, 11.3900],
|
||||
[47.2727, 11.3908],
|
||||
[47.2715, 11.3898],
|
||||
[47.2700, 11.3883],
|
||||
[47.2699, 11.3885],
|
||||
[47.2698, 11.3882],
|
||||
[47.2697, 11.3879],
|
||||
[47.2700, 11.3876],
|
||||
[47.2696, 11.3866],
|
||||
[47.2694, 11.3866],
|
||||
[47.2688, 11.3871],
|
||||
[47.2684, 11.3860],
|
||||
[47.2677, 11.3848],
|
||||
[47.2673, 11.3855],
|
||||
[47.2672, 11.3855],
|
||||
[47.2662, 11.3861],
|
||||
[47.2640, 11.3830],
|
||||
[47.2617, 11.3811]
|
||||
], {
|
||||
color: "orange",
|
||||
fillColor: "#ffeb0a",
|
||||
fillOpacity: 0.3
|
||||
});
|
||||
|
||||
function initMap(event) {
|
||||
var map = L.map('map', {
|
||||
maxZoom: 18,
|
||||
minZoom: 10,
|
||||
maxBounds: L.latLngBounds(L.latLng(47.3770, 11.2025), L.latLng(47.1770, 11.7025)),
|
||||
maxBoundsViscosity: 1,
|
||||
scrollWheelZoom: false
|
||||
}).setView([47.2770, 11.4525], 12);
|
||||
|
||||
L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
|
||||
attribution: '© <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'
|
||||
}).addTo(map);
|
||||
|
||||
//Adding Zones in prefered order, to ensure correct coloring of borders
|
||||
zone_c.addTo(map);
|
||||
zone_a.addTo(map);
|
||||
zone_b_1.addTo(map);
|
||||
zone_b_2.addTo(map);
|
||||
}
|
||||
|
||||
if (document.getElementById("map") != null) {
|
||||
initMap(null);
|
||||
} else {
|
||||
window.addEventListener("DOMContentLoaded", initMap);
|
||||
}
|
391
static/styles.css
Normal file
|
@ -0,0 +1,391 @@
|
|||
*, *:before, *:after {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
html {
|
||||
scroll-behavior: smooth;
|
||||
scroll-padding-top: 7em;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
margin: 0;
|
||||
min-height: 100%;
|
||||
font-size: 1.25em;
|
||||
font-family: LatoLatin, Lato, Roboto, Noto, sans-serif;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
header, main, footer {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
main {
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
||||
.header-contact {
|
||||
background: #DD8033;
|
||||
}
|
||||
|
||||
.header-nav, footer {
|
||||
background: #65bb50;
|
||||
}
|
||||
|
||||
.header-contact {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.header-content, .main-content, .footer-content {
|
||||
max-width: 1000px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.header-content {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
margin: 0 auto;
|
||||
padding: 0.2em 0.3em;
|
||||
}
|
||||
|
||||
.header-nav .header-content {
|
||||
gap: 0.8em;
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
.header-contact .header-content {
|
||||
gap: 1.2em;
|
||||
line-height: 1.6em;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.header-right {
|
||||
flex-grow: 1;
|
||||
text-align: right;
|
||||
margin-right: 10px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: right;
|
||||
}
|
||||
|
||||
.header-spacer {
|
||||
flex-grow: 1;
|
||||
min-width: 1em;
|
||||
}
|
||||
|
||||
.header-title {
|
||||
font-size: 1.3em;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
font-weight: 600;
|
||||
margin: 0.2em 0;
|
||||
}
|
||||
|
||||
.header-nav {
|
||||
width: 100%;
|
||||
position: sticky;
|
||||
z-index: 100;
|
||||
top: 0;
|
||||
box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
|
||||
.header-contact {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.text-icon {
|
||||
height: 1em;
|
||||
width: auto;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a, a:visited, a:hover, a:focus {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.header-title:hover, .service-link:hover, .social-media:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.service-icon:hover {
|
||||
filter: drop-shadow( 0px 0px 3px rgba(0, 0, 0, .7));
|
||||
}
|
||||
|
||||
.logo-img {
|
||||
height: 2em;
|
||||
width: auto;
|
||||
margin-right: 0.3em;
|
||||
}
|
||||
|
||||
.lang-item {
|
||||
margin: 0 0.2em;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.intro-text {
|
||||
margin-bottom: 2em;
|
||||
text-align: center;
|
||||
font-size: 1.2em;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.overview {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
width: 100%;
|
||||
justify-content: space-between;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.overview > * {
|
||||
width: 22%;
|
||||
}
|
||||
|
||||
.service-link {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.service-icon {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.service-name {
|
||||
font-weight: bold;
|
||||
font-size: 1.2em;
|
||||
margin-bottom: 0.4em;
|
||||
margin-top: 0.9em;
|
||||
}
|
||||
|
||||
.service:hover > .service-inner {
|
||||
height: 2.5em;
|
||||
}
|
||||
|
||||
section {
|
||||
background-color: #FFFFFF;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
section:nth-child(even) {
|
||||
background-color: #F5F5F5;
|
||||
}
|
||||
|
||||
.section-inner {
|
||||
max-width: 1000px;
|
||||
width: 100%;
|
||||
margin: auto;
|
||||
padding: 2.5em 0.5em;
|
||||
}
|
||||
|
||||
.section-inner > *:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.split-section {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
gap: 1.5em;
|
||||
}
|
||||
|
||||
.split-section-reverse {
|
||||
flex-direction: row-reverse;
|
||||
}
|
||||
|
||||
.split-section-text {
|
||||
width: 70%;
|
||||
}
|
||||
|
||||
.split-section-text > *:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.split-section-text > *:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.split-section-img {
|
||||
width: 30%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.split-section-img a {
|
||||
max-height: 100%;
|
||||
}
|
||||
|
||||
.split-section-img img {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
display: block;
|
||||
}
|
||||
|
||||
footer {
|
||||
padding: 2em 0.5em;
|
||||
box-shadow: 0px -3px 3px rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
|
||||
.footer-content {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.footer-content > * {
|
||||
width: 30%;
|
||||
flex-grow: 1;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
footer h2 {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.footer-sep {
|
||||
width: 0;
|
||||
flex-grow: 0;
|
||||
border-left: 0.2em solid #F5F5F5;
|
||||
}
|
||||
|
||||
.social-media {
|
||||
display: inline-flex;
|
||||
margin: 0 0.2em;
|
||||
}
|
||||
|
||||
.social-icon {
|
||||
height: 3em;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.credits {
|
||||
font-size: 0.85em;
|
||||
}
|
||||
|
||||
.privacy h2, .privacy h3, .privacy h3 {
|
||||
text-align: initial;
|
||||
}
|
||||
|
||||
#map {
|
||||
height: 400px;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.zone-heading {
|
||||
text-align: left;
|
||||
margin-top: 1em;
|
||||
margin-bottom: 0.3em;
|
||||
}
|
||||
|
||||
.legend {
|
||||
width: fit-content;
|
||||
margin: 0.3em auto;
|
||||
}
|
||||
|
||||
.legend-item {
|
||||
display: inline-flex;
|
||||
margin: 0 0.3em;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.legend-square {
|
||||
display: inline-block;
|
||||
height: 1em;
|
||||
width: 1em;
|
||||
margin-right: 0.2em;
|
||||
border-radius: 0.2em;
|
||||
border: 1px solid #868686;
|
||||
}
|
||||
|
||||
.green {
|
||||
background-color: #3ef06e;
|
||||
}
|
||||
|
||||
.blue {
|
||||
background-color: #3388ff;
|
||||
}
|
||||
|
||||
.orange {
|
||||
background-color: #ffeb0a;
|
||||
}
|
||||
|
||||
@media only screen and (max-width:768px) {
|
||||
.header-content {
|
||||
flex-direction: column;
|
||||
align-items: start;
|
||||
}
|
||||
|
||||
.header-nav .header-content {
|
||||
gap: 0.15em;
|
||||
}
|
||||
|
||||
.header-contact .header-content {
|
||||
gap: initial;
|
||||
}
|
||||
|
||||
.nav-img {
|
||||
height: 1.5em;
|
||||
}
|
||||
|
||||
.overview {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
gap: 1em;
|
||||
}
|
||||
|
||||
.split-section {
|
||||
flex-direction: column;
|
||||
gap: 2em;
|
||||
}
|
||||
|
||||
.split-section-text {
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.split-section-reverse {
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.split-section-img {
|
||||
height: 11em;
|
||||
width: auto;
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
.split-section-img a {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.split-section-img img {
|
||||
height: 100%;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.footer-content {
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.footer-content > * {
|
||||
width: initial;
|
||||
}
|
||||
|
||||
.overview > * {
|
||||
width: initial;
|
||||
}
|
||||
}
|