diff --git a/.gitignore b/.gitignore index c8ded2a..d344ba6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ -.idea/ -style/node_modules/ +config.json diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 5811582..0000000 --- a/Dockerfile +++ /dev/null @@ -1,41 +0,0 @@ -FROM golang AS build -RUN apt-get update && \ - apt-get upgrade -y && \ - apt-get install -y curl && \ - curl -sL https://deb.nodesource.com/setup_14.x -o nodesource_setup.sh && bash nodesource_setup.sh && \ - apt-get install -y nodejs -WORKDIR /go/src/github.com/Kugelschieber/schnittfest -COPY . . - -# build server -RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -ldflags "-s -w" /go/src/github.com/Kugelschieber/schnittfest/main.go && \ - mkdir /app && mv /go/src/github.com/Kugelschieber/schnittfest/main /app/server - -# compile CSS -RUN cd /go/src/github.com/Kugelschieber/schnittfest/style && bash -c "npm i" && bash -c "npm rebuild node-sass" && bash -c "npm run build" - -# copy resources -RUN mv /go/src/github.com/Kugelschieber/schnittfest/template /app/template && \ - mv /go/src/github.com/Kugelschieber/schnittfest/static /app/static - -FROM alpine -RUN apk update && \ - apk upgrade && \ - apk add --no-cache && \ - apk add ca-certificates && \ - rm -rf /var/cache/apk/* -COPY --from=build /app /app -WORKDIR /app - -# default config -ENV SCHNITTFEST_HOST=0.0.0.0:80 -ENV SCHNITTFEST_LOGLEVEL=info -ENV SCHNITTFEST_ALLOWED_ORIGINS=* -ENV SCHNITTFEST_HTTP_WRITE_TIMEOUT=5 -ENV SCHNITTFEST_HTTP_READ_TIMEOUT=5 -ENV SCHNITTFEST_DOMAIN_NAME=schnittfest.gmbh,www.schnittfest.gmbh - -# run -EXPOSE 80 -EXPOSE 443 -ENTRYPOINT ["/app/server"] diff --git a/README.md b/README.md index 96fb65a..4bce881 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,7 @@ -# schnittfest -https://schnittfest.gmbh/ +# schnittfest.gmbh + +Schnittfest [website](https://schnittfest.gmbh) built with [Shifu](https://github.com/emvi/shifu). + +## Running Locally + +Copy `dev_config.json` to `config.json` and start Shifu using `shifu` inside the project directory. diff --git a/assets/js/main.js b/assets/js/main.js new file mode 100644 index 0000000..812286e --- /dev/null +++ b/assets/js/main.js @@ -0,0 +1 @@ +console.log("Hi!"); diff --git a/style/sass/_grid.scss b/assets/scss/_grid.scss similarity index 100% rename from style/sass/_grid.scss rename to assets/scss/_grid.scss diff --git a/style/sass/_reset.scss b/assets/scss/_reset.scss similarity index 100% rename from style/sass/_reset.scss rename to assets/scss/_reset.scss diff --git a/style/sass/main.scss b/assets/scss/main.scss similarity index 100% rename from style/sass/main.scss rename to assets/scss/main.scss diff --git a/content/agb.json b/content/agb.json new file mode 100644 index 0000000..03d5637 --- /dev/null +++ b/content/agb.json @@ -0,0 +1,17 @@ +{ + "path": { + "de": "/agb" + }, + "sitemap": { + "priority": "0.1" + }, + "content": { + "content": [ + {"ref": "head"}, + {"ref": "nav"}, + {"tpl": "terms"}, + {"ref": "footer"}, + {"ref": "end"} + ] + } +} diff --git a/content/home.json b/content/home.json new file mode 100644 index 0000000..44459ce --- /dev/null +++ b/content/home.json @@ -0,0 +1,133 @@ +{ + "path": { + "de": "/" + }, + "sitemap": { + "priority": "1.0" + }, + "content": { + "content": [ + {"ref": "head"}, + { + "ref": "nav", + "data": { + "full": true + } + }, + { + "tpl": "intro" + }, + { + "tpl": "service" + }, + { + "tpl": "work", + "content": { + "content": [ + { + "tpl": "work_entry", + "data": { + "video": "https://www.youtube.com/embed/6z9AUO9lqBs" + }, + "copy": { + "de": { + "h2": "Imagefilm", + "text": "Schüco Stories auf den schwedischen Inseln in der Nähe von Stockholm. Bei diesem Bauprojekt wurde das komplette vorhaben von der Entstehung bis zum fertigen Objekt filmisch begleitet." + } + } + }, + { + "tpl": "work_entry", + "data": { + "video": "https://www.youtube.com/embed/AnKUnt_qr0I" + }, + "copy": { + "de": { + "h2": "Artwork Film", + "text": "Seit 25 Jahren bringt DansArt Tanz und Kultur nach Bielefeld. In vier Tanzstudios und einem eigenen Theater finden regelmäßig Tanzkurse, Ausbildungen für angehende Profitänzer *innen, Festivals, Workshops, Performances und Konzerte statt." + } + } + }, + { + "tpl": "work_entry", + "data": { + "video": "https://www.youtube.com/embed/ZlRCoYe9G20" + }, + "copy": { + "de": { + "h2": "Imagefilm", + "text": "Neubau, Erweiterung und Renovation – das sind die Geschäftsfelder von H.O. Schlüter. Die H.O. Schlüter GmbH arbeitet als Partner zusammen mit Schüco International KG. Der Metallbau Lübz stellt sich in diesem Unternehmensfilm vor." + } + } + }, + { + "tpl": "work_entry", + "data": { + "video": "https://www.youtube.com/embed/nCNS4veOjBY" + }, + "copy": { + "de": { + "h2": "Commercial", + "text": "Umbauten von Verbrennern zu Elektrofahrzeugen. ESDI EV Technologies ist eine Firma, die sich auf dem Schwerpunkt Elektroumbauten fokussiert hat. Mit Tesla-Technik, Nissan Leaf oder vielen weiteren baut ESDI EV VW Käfer, Porsche, Mini Cooper und mehr zu Elektrofahrzeugen." + } + } + }, + { + "tpl": "work_entry", + "data": { + "video": "https://www.youtube.com/embed/sFjOfG-5cIE" + }, + "copy": { + "de": { + "h2": "Imagefilm", + "text": "GOLDBECK und Schüco, das Fenstersystem AWE80 in der Entwicklung und Produktion in Bielefeld." + } + } + }, + { + "tpl": "work_entry", + "data": { + "video": "https://www.youtube.com/embed/ktjlpv6j-Fw" + }, + "copy": { + "de": { + "h2": "Porträtfilm", + "text": "Digitalisierung im Metallbau - Die berühmt-berüchtigte Industrie 4.0." + } + } + }, + { + "tpl": "work_entry", + "data": { + "video": "https://www.youtube.com/embed/ji1ux1Y4Y_U" + }, + "copy": { + "de": { + "h2": "Kampagne", + "text": "Azubi Recruiting Film für die Berufe Metallbauer, Metalltechnik, Technischer Systemplaner, Büromanagement." + } + } + }, + { + "tpl": "work_entry", + "data": { + "video": "https://www.youtube.com/embed/b8ASQboLCO8" + }, + "copy": { + "de": { + "h2": "Eventfilm", + "text": "50 führende Familienunternehmen aus ganz Deutschland zum Karrieretag Familienunternehmen in Bielefeld bei Schüco - Miele, Hilti, Haribo und viele mehr." + } + } + } + ] + } + }, + { + "tpl": "insta" + }, + {"ref": "footer"}, + {"ref": "end"} + ] + } +} diff --git a/content/legal.json b/content/legal.json new file mode 100644 index 0000000..0e8cc88 --- /dev/null +++ b/content/legal.json @@ -0,0 +1,17 @@ +{ + "path": { + "de": "/impressum" + }, + "sitemap": { + "priority": "0.1" + }, + "content": { + "content": [ + {"ref": "head"}, + {"ref": "nav"}, + {"tpl": "legal"}, + {"ref": "footer"}, + {"ref": "end"} + ] + } +} diff --git a/content/refs/end.json b/content/refs/end.json new file mode 100644 index 0000000..7d73a72 --- /dev/null +++ b/content/refs/end.json @@ -0,0 +1,3 @@ +{ + "tpl": "end" +} diff --git a/content/refs/footer.json b/content/refs/footer.json new file mode 100644 index 0000000..4cfcd82 --- /dev/null +++ b/content/refs/footer.json @@ -0,0 +1,3 @@ +{ + "tpl": "footer" +} diff --git a/content/refs/head.json b/content/refs/head.json new file mode 100644 index 0000000..0d71861 --- /dev/null +++ b/content/refs/head.json @@ -0,0 +1,3 @@ +{ + "tpl": "head" +} diff --git a/content/refs/nav.json b/content/refs/nav.json new file mode 100644 index 0000000..23ee7ef --- /dev/null +++ b/content/refs/nav.json @@ -0,0 +1,3 @@ +{ + "tpl": "nav" +} diff --git a/dev_config.json b/dev_config.json new file mode 100644 index 0000000..c400418 --- /dev/null +++ b/dev_config.json @@ -0,0 +1,39 @@ +{ + "dev": true, + "server": { + "host": "localhost", + "port": 8080, + "shutdown_time": 30, + "write_timeout": 5, + "read_timeout": 5, + "hostname": "schnittfest.gmbh", + "secure_cookies": false, + "cookie_domain_name": "schnittfest.gmbh" + }, + "content": { + "provider": "git", + "update_seconds": 30, + "repository": "https://github.com/Kugelschieber/schnittfest.git" + }, + "cors": { + "origins": "*", + "loglevel": "info" + }, + "sass": { + "entrypoint": "main.scss", + "dir": "assets/scss", + "watch": true, + "out": "static/web/main.css", + "out_source_map": "static/web/main.css.map" + }, + "js": { + "entrypoint": "main.js", + "dir": "assets/js", + "watch": true, + "out": "static/web/main.min.js" + }, + "analytics": { + "provider": "pirsch", + "client_secret": "" + } +} diff --git a/docker-compose.yml b/docker-compose.yml deleted file mode 100644 index 6a96f22..0000000 --- a/docker-compose.yml +++ /dev/null @@ -1,49 +0,0 @@ -version: "3" - -services: - traefik: - image: "traefik:v2.2" - container_name: traefik - restart: always - command: - - "--providers.docker=true" - - "--providers.docker.exposedbydefault=false" - - "--entrypoints.web.address=:80" - - "--entrypoints.websecure.address=:443" - - "--certificatesresolvers.tls-resolver.acme.httpchallenge=true" - - "--certificatesresolvers.tls-resolver.acme.httpchallenge.entrypoint=web" - - "--certificatesresolvers.tls-resolver.acme.email=contact@schnittfest.gmbh" - - "--certificatesresolvers.tls-resolver.acme.storage=/letsencrypt/acme.json" - ports: - - "80:80" - - "443:443" - volumes: - - /var/run/docker.sock:/var/run/docker.sock:ro - - /root/schnittfest/letsencrypt:/letsencrypt - labels: - - "traefik.enable=true" - # Global redirection: http to https - - 'traefik.http.routers.http-catchall.rule=HostRegexp(`{host:(www\.)?.+}`)' - - "traefik.http.routers.http-catchall.entrypoints=web" - - "traefik.http.routers.http-catchall.middlewares=wwwtohttps" - # Global redirection: https (www.) to https - - 'traefik.http.routers.wwwsecure-catchall.rule=HostRegexp(`{host:(www\.).+}`)' - - "traefik.http.routers.wwwsecure-catchall.entrypoints=websecure" - - "traefik.http.routers.wwwsecure-catchall.tls=true" - - "traefik.http.routers.wwwsecure-catchall.middlewares=wwwtohttps" - # middleware: http(s)://(www.) to https:// - - 'traefik.http.middlewares.wwwtohttps.redirectregex.regex=^https?://(?:www\.)?(.+)' - - 'traefik.http.middlewares.wwwtohttps.redirectregex.replacement=https://$${1}' - - 'traefik.http.middlewares.wwwtohttps.redirectregex.permanent=true' - schnittfest: - image: kugel/schnittfest - container_name: schnittfest - restart: always - depends_on: - - traefik - labels: - - "traefik.enable=true" - - "traefik.http.routers.schnittfest.rule=Host(`schnittfest.gmbh`) || Host(`www.schnittfest.gmbh`)" - - "traefik.http.routers.schnittfest.entrypoints=websecure" - - "traefik.http.routers.schnittfest.tls=true" - - "traefik.http.routers.schnittfest.tls.certresolver=tls-resolver" diff --git a/go.mod b/go.mod deleted file mode 100644 index 1a39232..0000000 --- a/go.mod +++ /dev/null @@ -1,11 +0,0 @@ -module github.com/Kugelschieber/schnittfest - -go 1.13 - -require ( - github.com/emvi/iso-639-1 v0.0.0-20190602002026-5ad2c26993cd - github.com/emvi/logbuch v0.0.0-20191002134629-fd76a46de20c - github.com/gorilla/mux v1.7.3 - github.com/mholt/certmagic v0.9.0 - github.com/rs/cors v1.7.0 -) diff --git a/go.sum b/go.sum deleted file mode 100644 index ec88406..0000000 --- a/go.sum +++ /dev/null @@ -1,301 +0,0 @@ -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -contrib.go.opencensus.io/exporter/ocagent v0.4.12/go.mod h1:450APlNTSR6FrvC3CTRqYosuDstRB9un7SOx2k/9ckA= -github.com/Azure/azure-sdk-for-go v32.4.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= -github.com/Azure/go-autorest/autorest v0.1.0/go.mod h1:AKyIcETwSUFxIcs/Wnq/C+kwCtlEYGUVd7FPNb2slmg= -github.com/Azure/go-autorest/autorest v0.5.0/go.mod h1:9HLKlQjVBH6U3oDfsXOeVc56THsLPw1L03yban4xThw= -github.com/Azure/go-autorest/autorest/adal v0.1.0/go.mod h1:MeS4XhScH55IST095THyTxElntu7WqB7pNbZo8Q5G3E= -github.com/Azure/go-autorest/autorest/adal v0.2.0/go.mod h1:MeS4XhScH55IST095THyTxElntu7WqB7pNbZo8Q5G3E= -github.com/Azure/go-autorest/autorest/azure/auth v0.1.0/go.mod h1:Gf7/i2FUpyb/sGBLIFxTBzrNzBo7aPXXE3ZVeDRwdpM= -github.com/Azure/go-autorest/autorest/azure/cli v0.1.0/go.mod h1:Dk8CUAt/b/PzkfeRsWzVG9Yj3ps8mS8ECztu43rdU8U= -github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA= -github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= -github.com/Azure/go-autorest/autorest/to v0.2.0/go.mod h1:GunWKJp1AEqgMaGLV+iocmRAJWqST1wQYhyyjXJ3SJc= -github.com/Azure/go-autorest/autorest/validation v0.1.0/go.mod h1:Ha3z/SqBeaalWQvokg3NZAlQTalVMtOIAs1aGK7G6u8= -github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= -github.com/Azure/go-autorest/tracing v0.1.0/go.mod h1:ROEEAFwXycQw7Sn3DXNtEedEvdeRAgDr0izn4z5Ij88= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/OpenDNS/vegadns2client v0.0.0-20180418235048-a3fa4a771d87/go.mod h1:iGLljf5n9GjT6kc0HBvyI1nOKnGQbNB66VzSNbK5iks= -github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= -github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= -github.com/akamai/AkamaiOPEN-edgegrid-golang v0.9.0/go.mod h1:zpDJeKyp9ScW4NNrbdr+Eyxvry3ilGPewKoXw3XGN1k= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/aliyun/alibaba-cloud-sdk-go v0.0.0-20190808125512-07798873deee/go.mod h1:myCDvQSzCW+wB1WAlocEru4wMGJxy+vlxHdhegi1CDQ= -github.com/aliyun/aliyun-oss-go-sdk v0.0.0-20190307165228-86c17b95fcd5/go.mod h1:T/Aws4fEfogEE9v+HPhhw+CntffsBHJ8nXQCwKr0/g8= -github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= -github.com/aws/aws-sdk-go v1.23.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f/go.mod h1:AuiFmCCPBSrqvVMvuqFuk0qogytodnVFVSN5CeJB8Gc= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/cenkalti/backoff/v3 v3.0.0 h1:ske+9nBpD9qZsTBoF41nW5L+AIuFBKMeze18XQ3eG1c= -github.com/cenkalti/backoff/v3 v3.0.0/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs= -github.com/census-instrumentation/opencensus-proto v0.2.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudflare/cloudflare-go v0.10.2/go.mod h1:qhVI5MKwBGhdNU89ZRz2plgYutcJ5PCekLxXn56w6SY= -github.com/cpu/goacmedns v0.0.1/go.mod h1:sesf/pNnCYwUevQEQfEwY0Y3DydlQWSGZbaMElOWxok= -github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/decker502/dnspod-go v0.2.0/go.mod h1:qsurYu1FgxcDwfSwXJdLt4kRsBLZeosEb9uq4Sy+08g= -github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= -github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8= -github.com/dnaeon/go-vcr v0.0.0-20180814043457-aafff18a5cc2/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E= -github.com/dnsimple/dnsimple-go v0.30.0/go.mod h1:O5TJ0/U6r7AfT8niYNlmohpLbCSG+c71tQlGr9SeGrg= -github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= -github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= -github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= -github.com/emvi/iso-639-1 v0.0.0-20190602002026-5ad2c26993cd h1:x5d+Ikfu2nrNXdC8WThAdCcdajxG4JKqCkLpqAFqmpc= -github.com/emvi/iso-639-1 v0.0.0-20190602002026-5ad2c26993cd/go.mod h1:mghC4MDFyszxzH98ujf/K5whvB6B0nV4qCa5u94dP84= -github.com/emvi/logbuch v0.0.0-20191002134629-fd76a46de20c h1:LsG8/aichRG7oGqTz77PQJuArY1id0kQttxNBuC/C3Q= -github.com/emvi/logbuch v0.0.0-20191002134629-fd76a46de20c/go.mod h1:J2Wgbr3BuSc1JO+D2MBVh6q3WPVSK5GzktwWz8pvkKw= -github.com/exoscale/egoscale v0.18.1/go.mod h1:Z7OOdzzTOz1Q1PjQXumlz9Wn/CddH0zSYdCF3rnBKXE= -github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/go-acme/lego/v3 v3.1.0 h1:yanYFoYW8azFkCvJfIk7edWWfjkYkhDxe45ZsxoW4Xk= -github.com/go-acme/lego/v3 v3.1.0/go.mod h1:074uqt+JS6plx+c9Xaiz6+L+GBb+7itGtzfcDM2AhEE= -github.com/go-cmd/cmd v1.0.5/go.mod h1:y8q8qlK5wQibcw63djSl/ntiHUHXHGdCkPk0j4QeW4s= -github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= -github.com/go-ini/ini v1.44.0/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= -github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/goji/httpauth v0.0.0-20160601135302-2da839ab0f4d/go.mod h1:nnjvkQ9ptGaCkuDUx6wNykzzlUixGxvkme+H/lnzb+A= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= -github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/gophercloud/gophercloud v0.3.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= -github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= -github.com/gorilla/mux v1.7.3 h1:gnP5JzjVOuiZD07fKKToCAOjS0yOpj/qPETTXCCS6hw= -github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= -github.com/grpc-ecosystem/grpc-gateway v1.8.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/h2non/parth v0.0.0-20190131123155-b4df798d6542/go.mod h1:Ow0tF8D4Kplbc8s8sSb3V2oUCygFHVp8gC3Dn6U4MNI= -github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.3/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/iij/doapi v0.0.0-20190504054126-0bbf12d6d7df/go.mod h1:QMZY7/J/KSQEhKWFeDesPjMj+wCHReeknARU3wqlyN4= -github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= -github.com/json-iterator/go v1.1.5/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/cpuid v1.2.0 h1:NMpwD2G9JSFOE1/TJjGSo5zG7Yb2bTe7eq1jH+irmeE= -github.com/klauspost/cpuid v1.2.0/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= -github.com/kolo/xmlrpc v0.0.0-20190717152603-07c4ee3fd181/go.mod h1:o03bZfuBwAXHetKXuInt4S7omeXUu62/A845kiycsSQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/labbsr0x/bindman-dns-webhook v1.0.2/go.mod h1:p6b+VCXIR8NYKpDr8/dg1HKfQoRHCdcsROXKvmoehKA= -github.com/labbsr0x/goh v1.0.1/go.mod h1:8K2UhVoaWXcCU7Lxoa2omWnC8gyW8px7/lmO61c027w= -github.com/linode/linodego v0.10.0/go.mod h1:cziNP7pbvE3mXIPneHj0oRY8L1WtGEIKlZ8LANE4eXA= -github.com/liquidweb/liquidweb-go v1.6.0/go.mod h1:UDcVnAMDkZxpw4Y7NOHkqoeiGacVLEIG/i5J9cyixzQ= -github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/mattn/go-tty v0.0.0-20180219170247-931426f7535a/go.mod h1:XPvLUNfbS4fJH25nqRHfWLMa1ONC8Amw+mIA639KxkE= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/mholt/certmagic v0.9.0 h1:dYh9sZPDBTcIiPhYM/Qtv3V623/zFH34FmpbrQTpMAc= -github.com/mholt/certmagic v0.9.0/go.mod h1:91uJzK5K8IWtYQqTi5R2tsxV1pCde+wdGfaRaOZi6aQ= -github.com/miekg/dns v1.1.15 h1:CSSIDtllwGLMoA6zjdKnaE6Tx6eVUxQ29LUgGetiDCI= -github.com/miekg/dns v1.1.15/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= -github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-vnc v0.0.0-20150629162542-723ed9867aed/go.mod h1:3rdaFaCv4AyBgu5ALFM0+tSuHrBh6v692nyQe3ikrq0= -github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/namedotcom/go v0.0.0-20180403034216-08470befbe04/go.mod h1:5sN+Lt1CaY4wsPvgQH/jsuJi4XO2ssZbdsIizr4CVC8= -github.com/nbio/st v0.0.0-20140626010706-e9e8d9816f32/go.mod h1:9wM+0iRr9ahx58uYLpLIr5fm8diHn0JbqRycJi6w0Ms= -github.com/nrdcg/auroradns v1.0.0/go.mod h1:6JPXKzIRzZzMqtTDgueIhTi6rFf1QvYE/HzqidhOhjw= -github.com/nrdcg/goinwx v0.6.1/go.mod h1:XPiut7enlbEdntAqalBIqcYcTEVhpv/dKWgDCX2SwKQ= -github.com/nrdcg/namesilo v0.2.1/go.mod h1:lwMvfQTyYq+BbjJd30ylEG4GPSS6PII0Tia4rRpRiyw= -github.com/olekukonko/tablewriter v0.0.1/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= -github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= -github.com/oracle/oci-go-sdk v7.0.0+incompatible/go.mod h1:VQb79nF8Z2cwLkLS35ukwStZIg5F66tcBccjip/j888= -github.com/ovh/go-ovh v0.0.0-20181109152953-ba5adb4cf014/go.mod h1:joRatxRJaZBsY3JAOEMcoOp05CnZzsx4scTxi95DHyQ= -github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.1.0/go.mod h1:I1FGZT9+L76gKKOs5djB6ezCbFQP1xR9D75/vuwEF3g= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= -github.com/rainycape/memcache v0.0.0-20150622160815-1031fa0ce2f2/go.mod h1:7tZKcyumwBO6qip7RNQ5r77yrssm9bfCowcLEBcU5IA= -github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= -github.com/rs/cors v1.7.0 h1:+88SsELBHx5r+hZ8TCkggzSstaWNbDvThkVK8H6f9ik= -github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= -github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/sacloud/libsacloud v1.26.1/go.mod h1:79ZwATmHLIFZIMd7sxA3LwzVy/B77uj3LDoToVTxDoQ= -github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= -github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/skratchdot/open-golang v0.0.0-20160302144031-75fb7ed4208c/go.mod h1:sUM3LWHvSMaG192sy56D9F7CNvL7jUJVXoqM1QKLnog= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/timewasted/linode v0.0.0-20160829202747-37e84520dcf7/go.mod h1:imsgLplxEC/etjIhdr3dNzV3JeT27LbVu5pYWm0JCBY= -github.com/transip/gotransip v0.0.0-20190812104329-6d8d9179b66f/go.mod h1:i0f4R4o2HM0m3DZYQWsj6/MEowD57VzoH0v3d7igeFY= -github.com/uber-go/atomic v1.3.2/go.mod h1:/Ct5t2lcmbJ4OSe/waGBoaVvVqtO0bmtfVNex1PFV8g= -github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= -github.com/vultr/govultr v0.1.4/go.mod h1:9H008Uxr/C4vFNGLqKx232C206GL0PBHzOP0809bGNA= -github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= -github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= -github.com/xeipuuv/gojsonschema v1.1.0/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs= -go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= -go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= -go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= -go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/ratelimit v0.0.0-20180316092928-c15da0234277/go.mod h1:2X8KaoNd1J0lZV+PxJk/5+DGbO/tpwLR1m++a7FnB/Y= -golang.org/x/crypto v0.0.0-20180621125126-a49355c7e3f8/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190418165655-df01cb2cc480/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= -golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190911031432-227b76d455e7 h1:0hQKqeLdqlt5iIwVOBErRisrHJAN57yOiPRQItI20fU= -golang.org/x/crypto v0.0.0-20190911031432-227b76d455e7/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/net v0.0.0-20180611182652-db08ff08e862/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190930134127-c5a3c61f89f3 h1:6KET3Sqa7fkVfD63QnAM81ZeYg5n4HwApOJkufONnHA= -golang.org/x/net v0.0.0-20190930134127-c5a3c61f89f3/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180622082034-63fc586f45fe/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190209173611-3b5209105503/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3 h1:4y9KwBHBgBNwDbtu44R5o1fdOCQUEXhbk/P4A9WmJq0= -golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20190921001708-c4c64cad1fd0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= -google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.19.1/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/h2non/gock.v1 v1.0.15/go.mod h1:sX4zAkdYX1TRGJ2JY156cFspQn4yRWn6p9EMdODlynE= -gopkg.in/ini.v1 v1.42.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.44.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ns1/ns1-go.v2 v2.0.0-20190730140822-b51389932cbc/go.mod h1:VV+3haRsgDiVLxyifmMBrBIuCWFBPYKbRssXB9z67Hw= -gopkg.in/resty.v1 v1.9.1/go.mod h1:vo52Hzryw9PnPHcJfPsBiFW62XhNx5OczbV9y+IMpgc= -gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= -gopkg.in/square/go-jose.v2 v2.3.1 h1:SK5KegNXmKmqE342YYN2qPHEnUYeoMiXXl1poUlI+o4= -gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/main.go b/main.go deleted file mode 100644 index c3412cf..0000000 --- a/main.go +++ /dev/null @@ -1,146 +0,0 @@ -package main - -import ( - "github.com/Kugelschieber/schnittfest/pages" - "github.com/emvi/logbuch" - "github.com/gorilla/mux" - "github.com/mholt/certmagic" - "github.com/rs/cors" - "net/http" - "os" - "strconv" - "strings" - "time" -) - -const ( - staticDir = "static" - staticDirPrefix = "/static/" - jsDir = "js" - jsDirPrefix = "/js/" - envPrefix = "SCHNITTFEST_" - pwdString = "PASSWORD" // do not log passwords! - - defaultHttpWriteTimeout = 20 - defaultHttpReadTimeout = 20 -) - -var ( - disableCache = strings.ToLower(os.Getenv("SCHNITTFEST_DISABLE_CACHE")) == "true" -) - -func configureLog() { - logbuch.Info("Configure logging...") - logbuch.SetFormatter(logbuch.NewFieldFormatter("", "\t")) - level := strings.ToLower(os.Getenv("SCHNITTFEST_LOGLEVEL")) - - if level == "debug" { - logbuch.SetLevel(logbuch.LevelDebug) - } else if level == "info" { - logbuch.SetLevel(logbuch.LevelInfo) - } else { - logbuch.SetLevel(logbuch.LevelWarning) - } -} - -func logEnvConfig() { - for _, e := range os.Environ() { - if strings.HasPrefix(e, envPrefix) && !strings.Contains(e, pwdString) { - pair := strings.Split(e, "=") - logbuch.Info(pair[0] + "=" + pair[1]) - } - } -} - -func setupRouter() *mux.Router { - router := mux.NewRouter() - - // static content - fs := http.StripPrefix(staticDirPrefix, http.FileServer(http.Dir(staticDir))) - router.PathPrefix(staticDirPrefix).HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - if !disableCache { - w.Header().Add("Cache-Control", "max-age=3600") - } - - fs.ServeHTTP(w, r) - }).Methods("GET") - - // js - js := http.StripPrefix(jsDirPrefix, http.FileServer(http.Dir(jsDir))) - router.PathPrefix(jsDirPrefix).HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - if !disableCache { - w.Header().Add("Cache-Control", "max-age=3600") - } - - js.ServeHTTP(w, r) - }).Methods("GET") - - // pages - router.HandleFunc("/", pages.LandingPageHandler).Methods("GET") - router.HandleFunc("/agb", pages.TermsPageHandler).Methods("GET") - router.HandleFunc("/impressum", pages.LegalPageHandler).Methods("GET") - - return router -} - -func configureCors(router *mux.Router) http.Handler { - logbuch.Info("Configuring CORS...") - - origins := strings.Split(os.Getenv("SCHNITTFEST_ALLOWED_ORIGINS"), ",") - c := cors.New(cors.Options{ - AllowedOrigins: origins, - AllowedMethods: []string{"GET", "POST", "PUT", "DELETE"}, - AllowedHeaders: []string{"*"}, - AllowCredentials: true, - Debug: strings.ToLower(os.Getenv("SCHNITTFEST_CORS_LOGLEVEL")) == "debug", - }) - return c.Handler(router) -} - -func start(handler http.Handler) { - logbuch.Info("Starting server...") - writeTimeout := defaultHttpWriteTimeout - readTimeout := defaultHttpReadTimeout - var err error - - if os.Getenv("SCHNITTFEST_HTTP_WRITE_TIMEOUT") != "" { - writeTimeout, err = strconv.Atoi(os.Getenv("SCHNITTFEST_HTTP_WRITE_TIMEOUT")) - - if err != nil { - logbuch.Fatal(err.Error()) - } - } - - if os.Getenv("SCHNITTFEST_HTTP_READ_TIMEOUT") != "" { - readTimeout, err = strconv.Atoi(os.Getenv("SCHNITTFEST_HTTP_READ_TIMEOUT")) - - if err != nil { - logbuch.Fatal(err.Error()) - } - } - - logbuch.Info("Using HTTP read/write timeouts", logbuch.Fields{"write_timeout": writeTimeout, "read_timeout": readTimeout}) - - server := &http.Server{ - Handler: handler, - Addr: os.Getenv("SCHNITTFEST_HOST"), - WriteTimeout: time.Duration(writeTimeout) * time.Second, - ReadTimeout: time.Duration(readTimeout) * time.Second, - } - - if strings.ToLower(os.Getenv("SCHNITTFEST_TLS_ENABLE")) == "true" { - logbuch.Info("TLS enabled") - logbuch.Fatal("Error starting server", certmagic.HTTPS(strings.Split(os.Getenv("SCHNITTFEST_DOMAIN_NAME"), ","), handler)) - } else { - logbuch.Fatal("Error starting server", server.ListenAndServe()) - } -} - -func main() { - configureLog() - logEnvConfig() - pages.LoadTemplates() - router := setupRouter() - corsConfig := configureCors(router) - start(corsConfig) -} diff --git a/pages/footer.go b/pages/footer.go deleted file mode 100644 index 8929c4b..0000000 --- a/pages/footer.go +++ /dev/null @@ -1,5 +0,0 @@ -package pages - -var footerComponentI18n = map[string]map[string]string{ - "de": {}, -} diff --git a/pages/landing_page.go b/pages/landing_page.go deleted file mode 100644 index b5d54a4..0000000 --- a/pages/landing_page.go +++ /dev/null @@ -1,34 +0,0 @@ -package pages - -import ( - "github.com/Kugelschieber/schnittfest/util" - "github.com/emvi/logbuch" - "net/http" -) - -var landingPageI18n = map[string]map[string]string{ - "de": {}, -} - -func LandingPageHandler(w http.ResponseWriter, r *http.Request) { - tpl := tplCache.GetTemplate(landingPageTemplate) - - if tpl == nil { - w.WriteHeader(http.StatusNotFound) - return - } - - langCode := util.GetLangCode(r) - data := struct { - Vars map[string]string - FooterVars map[string]string - }{ - landingPageI18n[langCode], - footerComponentI18n[langCode], - } - - if err := tpl.Execute(w, &data); err != nil { - logbuch.Error("Error rendering landing page", logbuch.Fields{"err": err}) - w.WriteHeader(http.StatusInternalServerError) - } -} diff --git a/pages/legal_page.go b/pages/legal_page.go deleted file mode 100644 index 07ee087..0000000 --- a/pages/legal_page.go +++ /dev/null @@ -1,34 +0,0 @@ -package pages - -import ( - "github.com/Kugelschieber/schnittfest/util" - "github.com/emvi/logbuch" - "net/http" -) - -var legalPageI18n = map[string]map[string]string{ - "de": {}, -} - -func LegalPageHandler(w http.ResponseWriter, r *http.Request) { - tpl := tplCache.GetTemplate(legalPageTemplate) - - if tpl == nil { - w.WriteHeader(http.StatusNotFound) - return - } - - langCode := util.GetLangCode(r) - data := struct { - Vars map[string]string - FooterVars map[string]string - }{ - legalPageI18n[langCode], - footerComponentI18n[langCode], - } - - if err := tpl.Execute(w, &data); err != nil { - logbuch.Error("Error rendering legal page", logbuch.Fields{"err": err}) - w.WriteHeader(http.StatusInternalServerError) - } -} diff --git a/pages/template.go b/pages/template.go deleted file mode 100644 index 19d9d27..0000000 --- a/pages/template.go +++ /dev/null @@ -1,50 +0,0 @@ -package pages - -import ( - "github.com/Kugelschieber/schnittfest/util" - "github.com/emvi/logbuch" - "os" - "path/filepath" - "strings" -) - -const ( - defaultTemplateBase = "template" - landingPageTemplate = "landing_page" - termsPageTemplate = "terms_page" - legalPageTemplate = "legal_page" - notfoundPageTemplate = "notfound_page" -) - -var ( - tplCache *util.TemplateCache -) - -func LoadTemplates() { - tplCache = util.NewTemplateCache(strings.ToLower(os.Getenv("SCHNITTFEST_HOT_RELOAD")) == "true") - templateBase := os.Getenv("SCHNITTFEST_TEMPLATE_BASE") - - if templateBase == "" { - templateBase = defaultTemplateBase - } - - if _, err := tplCache.ParseFiles(landingPageTemplate, filepath.Join(templateBase, "landing_page.html"), - filepath.Join(templateBase, "footer.html")); err != nil { - logbuch.Fatal("Error loading landing page template", logbuch.Fields{"err": err}) - } - - if _, err := tplCache.ParseFiles(termsPageTemplate, filepath.Join(templateBase, "terms_page.html"), - filepath.Join(templateBase, "footer.html")); err != nil { - logbuch.Fatal("Error loading terms page template", logbuch.Fields{"err": err}) - } - - if _, err := tplCache.ParseFiles(legalPageTemplate, filepath.Join(templateBase, "legal_page.html"), - filepath.Join(templateBase, "footer.html")); err != nil { - logbuch.Fatal("Error loading legal page template", logbuch.Fields{"err": err}) - } - - if _, err := tplCache.ParseFiles(notfoundPageTemplate, filepath.Join(templateBase, "404_page.html"), - filepath.Join(templateBase, "footer.html")); err != nil { - logbuch.Fatal("Error loading 404 page template", logbuch.Fields{"err": err}) - } -} diff --git a/pages/terms_page.go b/pages/terms_page.go deleted file mode 100644 index 9477258..0000000 --- a/pages/terms_page.go +++ /dev/null @@ -1,34 +0,0 @@ -package pages - -import ( - "github.com/Kugelschieber/schnittfest/util" - "github.com/emvi/logbuch" - "net/http" -) - -var termsPageI18n = map[string]map[string]string{ - "de": {}, -} - -func TermsPageHandler(w http.ResponseWriter, r *http.Request) { - tpl := tplCache.GetTemplate(termsPageTemplate) - - if tpl == nil { - w.WriteHeader(http.StatusNotFound) - return - } - - langCode := util.GetLangCode(r) - data := struct { - Vars map[string]string - FooterVars map[string]string - }{ - termsPageI18n[langCode], - footerComponentI18n[langCode], - } - - if err := tpl.Execute(w, &data); err != nil { - logbuch.Error("Error rendering terms page", logbuch.Fields{"err": err}) - w.WriteHeader(http.StatusInternalServerError) - } -} diff --git a/run_dev.cmd b/run_dev.cmd deleted file mode 100644 index efb3f43..0000000 --- a/run_dev.cmd +++ /dev/null @@ -1,8 +0,0 @@ -set SCHNITTFEST_HOST=localhost:8080 -set SCHNITTFEST_LOGLEVEL=debug -set SCHNITTFEST_ALLOWED_ORIGINS=* -set SCHNITTFEST_TLS_ENABLE=false -set SCHNITTFEST_DISABLE_CACHE=true -set SCHNITTFEST_HOT_RELOAD=true - -go run main.go diff --git a/run_dev.sh b/run_dev.sh deleted file mode 100755 index 052cddd..0000000 --- a/run_dev.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -export SCHNITTFEST_HOST=localhost:8080 -export SCHNITTFEST_LOGLEVEL=debug -export SCHNITTFEST_ALLOWED_ORIGINS=* -export SCHNITTFEST_TLS_ENABLE=false -export SCHNITTFEST_DISABLE_CACHE=true -export SCHNITTFEST_HOT_RELOAD=true - -go run main.go diff --git a/static/blank.png b/static/blank.png deleted file mode 100644 index 5287762..0000000 Binary files a/static/blank.png and /dev/null differ diff --git a/static/android-chrome-192x192.png b/static/favicon/android-chrome-192x192.png similarity index 100% rename from static/android-chrome-192x192.png rename to static/favicon/android-chrome-192x192.png diff --git a/static/android-chrome-512x512.png b/static/favicon/android-chrome-512x512.png similarity index 100% rename from static/android-chrome-512x512.png rename to static/favicon/android-chrome-512x512.png diff --git a/static/apple-touch-icon.png b/static/favicon/apple-touch-icon.png similarity index 100% rename from static/apple-touch-icon.png rename to static/favicon/apple-touch-icon.png diff --git a/static/favicon-16x16.png b/static/favicon/favicon-16x16.png similarity index 100% rename from static/favicon-16x16.png rename to static/favicon/favicon-16x16.png diff --git a/static/favicon-32x32.png b/static/favicon/favicon-32x32.png similarity index 100% rename from static/favicon-32x32.png rename to static/favicon/favicon-32x32.png diff --git a/static/favicon.ico b/static/favicon/favicon.ico similarity index 100% rename from static/favicon.ico rename to static/favicon/favicon.ico diff --git a/static/favicon512x512.png b/static/favicon/favicon512x512.png similarity index 100% rename from static/favicon512x512.png rename to static/favicon/favicon512x512.png diff --git a/static/mstile-150x150.png b/static/favicon/mstile-150x150.png similarity index 100% rename from static/mstile-150x150.png rename to static/favicon/mstile-150x150.png diff --git a/static/safari-pinned-tab.svg b/static/favicon/safari-pinned-tab.svg similarity index 100% rename from static/safari-pinned-tab.svg rename to static/favicon/safari-pinned-tab.svg diff --git a/static/Manrope-Bold.woff2 b/static/fonts/Manrope-Bold.woff2 similarity index 100% rename from static/Manrope-Bold.woff2 rename to static/fonts/Manrope-Bold.woff2 diff --git a/static/Manrope-ExtraBold.woff2 b/static/fonts/Manrope-ExtraBold.woff2 similarity index 100% rename from static/Manrope-ExtraBold.woff2 rename to static/fonts/Manrope-ExtraBold.woff2 diff --git a/static/Manrope-ExtraLight.woff2 b/static/fonts/Manrope-ExtraLight.woff2 similarity index 100% rename from static/Manrope-ExtraLight.woff2 rename to static/fonts/Manrope-ExtraLight.woff2 diff --git a/static/Manrope-Light.woff2 b/static/fonts/Manrope-Light.woff2 similarity index 100% rename from static/Manrope-Light.woff2 rename to static/fonts/Manrope-Light.woff2 diff --git a/static/Manrope-Medium.woff2 b/static/fonts/Manrope-Medium.woff2 similarity index 100% rename from static/Manrope-Medium.woff2 rename to static/fonts/Manrope-Medium.woff2 diff --git a/static/Manrope-Regular.woff2 b/static/fonts/Manrope-Regular.woff2 similarity index 100% rename from static/Manrope-Regular.woff2 rename to static/fonts/Manrope-Regular.woff2 diff --git a/static/Manrope-SemiBold.woff2 b/static/fonts/Manrope-SemiBold.woff2 similarity index 100% rename from static/Manrope-SemiBold.woff2 rename to static/fonts/Manrope-SemiBold.woff2 diff --git a/static/part1.png b/static/part1.png deleted file mode 100644 index 4571c95..0000000 Binary files a/static/part1.png and /dev/null differ diff --git a/static/part10.png b/static/part10.png deleted file mode 100644 index 7df24d9..0000000 Binary files a/static/part10.png and /dev/null differ diff --git a/static/part11.png b/static/part11.png deleted file mode 100644 index 481eff7..0000000 Binary files a/static/part11.png and /dev/null differ diff --git a/static/part12.png b/static/part12.png deleted file mode 100644 index 42b8182..0000000 Binary files a/static/part12.png and /dev/null differ diff --git a/static/part13.png b/static/part13.png deleted file mode 100644 index fd7cbac..0000000 Binary files a/static/part13.png and /dev/null differ diff --git a/static/part14.png b/static/part14.png deleted file mode 100644 index 49c4ab1..0000000 Binary files a/static/part14.png and /dev/null differ diff --git a/static/part15.png b/static/part15.png deleted file mode 100644 index 7546f52..0000000 Binary files a/static/part15.png and /dev/null differ diff --git a/static/part16.png b/static/part16.png deleted file mode 100644 index e7c2373..0000000 Binary files a/static/part16.png and /dev/null differ diff --git a/static/part17.png b/static/part17.png deleted file mode 100644 index ccf661f..0000000 Binary files a/static/part17.png and /dev/null differ diff --git a/static/part18.png b/static/part18.png deleted file mode 100644 index 055b12c..0000000 Binary files a/static/part18.png and /dev/null differ diff --git a/static/part19.png b/static/part19.png deleted file mode 100644 index 9ffee42..0000000 Binary files a/static/part19.png and /dev/null differ diff --git a/static/part2.png b/static/part2.png deleted file mode 100644 index 9df1eb7..0000000 Binary files a/static/part2.png and /dev/null differ diff --git a/static/part20.png b/static/part20.png deleted file mode 100644 index 18b2282..0000000 Binary files a/static/part20.png and /dev/null differ diff --git a/static/part21.png b/static/part21.png deleted file mode 100644 index 1a94b30..0000000 Binary files a/static/part21.png and /dev/null differ diff --git a/static/part22.png b/static/part22.png deleted file mode 100644 index b946c65..0000000 Binary files a/static/part22.png and /dev/null differ diff --git a/static/part23.png b/static/part23.png deleted file mode 100644 index d650d7f..0000000 Binary files a/static/part23.png and /dev/null differ diff --git a/static/part24.png b/static/part24.png deleted file mode 100644 index 8e0a07a..0000000 Binary files a/static/part24.png and /dev/null differ diff --git a/static/part25.png b/static/part25.png deleted file mode 100644 index 98958b0..0000000 Binary files a/static/part25.png and /dev/null differ diff --git a/static/part26.png b/static/part26.png deleted file mode 100644 index a5dc5f6..0000000 Binary files a/static/part26.png and /dev/null differ diff --git a/static/part27.png b/static/part27.png deleted file mode 100644 index 4bf3161..0000000 Binary files a/static/part27.png and /dev/null differ diff --git a/static/part28.png b/static/part28.png deleted file mode 100644 index 6c91c11..0000000 Binary files a/static/part28.png and /dev/null differ diff --git a/static/part29.png b/static/part29.png deleted file mode 100644 index fb4118d..0000000 Binary files a/static/part29.png and /dev/null differ diff --git a/static/part3.png b/static/part3.png deleted file mode 100644 index 82084d3..0000000 Binary files a/static/part3.png and /dev/null differ diff --git a/static/part30.png b/static/part30.png deleted file mode 100644 index 49e2de4..0000000 Binary files a/static/part30.png and /dev/null differ diff --git a/static/part31.png b/static/part31.png deleted file mode 100644 index 65a5bf8..0000000 Binary files a/static/part31.png and /dev/null differ diff --git a/static/part32.png b/static/part32.png deleted file mode 100644 index 7d69679..0000000 Binary files a/static/part32.png and /dev/null differ diff --git a/static/part4.png b/static/part4.png deleted file mode 100644 index fca28ea..0000000 Binary files a/static/part4.png and /dev/null differ diff --git a/static/part5.png b/static/part5.png deleted file mode 100644 index af9070a..0000000 Binary files a/static/part5.png and /dev/null differ diff --git a/static/part6.png b/static/part6.png deleted file mode 100644 index db713ca..0000000 Binary files a/static/part6.png and /dev/null differ diff --git a/static/part7.png b/static/part7.png deleted file mode 100644 index 6a55e56..0000000 Binary files a/static/part7.png and /dev/null differ diff --git a/static/part8.png b/static/part8.png deleted file mode 100644 index 93902b9..0000000 Binary files a/static/part8.png and /dev/null differ diff --git a/static/part9.png b/static/part9.png deleted file mode 100644 index 809438e..0000000 Binary files a/static/part9.png and /dev/null differ diff --git a/static/js/color.js b/static/web/color.js similarity index 100% rename from static/js/color.js rename to static/web/color.js diff --git a/static/main.css b/static/web/main.css similarity index 58% rename from static/main.css rename to static/web/main.css index 990047c..b506aa9 100644 --- a/static/main.css +++ b/static/web/main.css @@ -1 +1 @@ -html,body,div,span,applet,object,iframe,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,input,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,button,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:none;font:inherit;text-decoration:none;vertical-align:baseline;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}textarea:focus,input:focus,button:focus{outline:none}.container{max-width:1600px;width:100%;margin-right:auto;margin-left:auto;position:relative;box-sizing:border-box}.row{box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap}.row.reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.col.reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.col-xs,.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-offset-0,.col-xs-offset-1,.col-xs-offset-2,.col-xs-offset-3,.col-xs-offset-4,.col-xs-offset-5,.col-xs-offset-6,.col-xs-offset-7,.col-xs-offset-8,.col-xs-offset-9,.col-xs-offset-10,.col-xs-offset-11,.col-xs-offset-12{box-sizing:border-box;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.col-xs{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-preferred-size:0;flex-basis:0;max-width:100%}.col-xs-1{-ms-flex-preferred-size:8.33333333%;flex-basis:8.33333333%;max-width:8.33333333%}.col-xs-2{-ms-flex-preferred-size:16.66666667%;flex-basis:16.66666667%;max-width:16.66666667%}.col-xs-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.col-xs-4{-ms-flex-preferred-size:33.33333333%;flex-basis:33.33333333%;max-width:33.33333333%}.col-xs-5{-ms-flex-preferred-size:41.66666667%;flex-basis:41.66666667%;max-width:41.66666667%}.col-xs-6{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.col-xs-7{-ms-flex-preferred-size:58.33333333%;flex-basis:58.33333333%;max-width:58.33333333%}.col-xs-8{-ms-flex-preferred-size:66.66666667%;flex-basis:66.66666667%;max-width:66.66666667%}.col-xs-9{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.col-xs-10{-ms-flex-preferred-size:83.33333333%;flex-basis:83.33333333%;max-width:83.33333333%}.col-xs-11{-ms-flex-preferred-size:91.66666667%;flex-basis:91.66666667%;max-width:91.66666667%}.col-xs-12{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.col-xs-offset-0{margin-left:0}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-11{margin-left:91.66666667%}.start-xs{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:start}.center-xs{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center}.end-xs{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:end}.top-xs{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.middle-xs{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.bottom-xs{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.around-xs{-ms-flex-pack:distribute;justify-content:space-around}.between-xs{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.first-xs{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.last-xs{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}@media only screen and (max-width: 511px){.hide-xs{display:none !important}}@media only screen and (min-width: 512px){.col-sm,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-offset-0,.col-sm-offset-1,.col-sm-offset-2,.col-sm-offset-3,.col-sm-offset-4,.col-sm-offset-5,.col-sm-offset-6,.col-sm-offset-7,.col-sm-offset-8,.col-sm-offset-9,.col-sm-offset-10,.col-sm-offset-11,.col-sm-offset-12{box-sizing:border-box;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.col-sm{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-preferred-size:0;flex-basis:0;max-width:100%}.col-sm-1{-ms-flex-preferred-size:8.33333333%;flex-basis:8.33333333%;max-width:8.33333333%}.col-sm-2{-ms-flex-preferred-size:16.66666667%;flex-basis:16.66666667%;max-width:16.66666667%}.col-sm-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.col-sm-4{-ms-flex-preferred-size:33.33333333%;flex-basis:33.33333333%;max-width:33.33333333%}.col-sm-5{-ms-flex-preferred-size:41.66666667%;flex-basis:41.66666667%;max-width:41.66666667%}.col-sm-6{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.col-sm-7{-ms-flex-preferred-size:58.33333333%;flex-basis:58.33333333%;max-width:58.33333333%}.col-sm-8{-ms-flex-preferred-size:66.66666667%;flex-basis:66.66666667%;max-width:66.66666667%}.col-sm-9{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.col-sm-10{-ms-flex-preferred-size:83.33333333%;flex-basis:83.33333333%;max-width:83.33333333%}.col-sm-11{-ms-flex-preferred-size:91.66666667%;flex-basis:91.66666667%;max-width:91.66666667%}.col-sm-12{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.col-sm-offset-0{margin-left:0}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-11{margin-left:91.66666667%}.start-sm{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:start}.center-sm{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center}.end-sm{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:end}.top-sm{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.middle-sm{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.bottom-sm{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.around-sm{-ms-flex-pack:distribute;justify-content:space-around}.between-sm{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.first-sm{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.last-sm{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.show-xs{display:none !important}}@media only screen and (max-width: 767px){.hide-sm{display:none !important}}@media only screen and (min-width: 768px){.col-md,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-md-offset-0,.col-md-offset-1,.col-md-offset-2,.col-md-offset-3,.col-md-offset-4,.col-md-offset-5,.col-md-offset-6,.col-md-offset-7,.col-md-offset-8,.col-md-offset-9,.col-md-offset-10,.col-md-offset-11,.col-md-offset-12{box-sizing:border-box;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.col-md{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-preferred-size:0;flex-basis:0;max-width:100%}.col-md-1{-ms-flex-preferred-size:8.33333333%;flex-basis:8.33333333%;max-width:8.33333333%}.col-md-2{-ms-flex-preferred-size:16.66666667%;flex-basis:16.66666667%;max-width:16.66666667%}.col-md-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.col-md-4{-ms-flex-preferred-size:33.33333333%;flex-basis:33.33333333%;max-width:33.33333333%}.col-md-5{-ms-flex-preferred-size:41.66666667%;flex-basis:41.66666667%;max-width:41.66666667%}.col-md-6{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.col-md-7{-ms-flex-preferred-size:58.33333333%;flex-basis:58.33333333%;max-width:58.33333333%}.col-md-8{-ms-flex-preferred-size:66.66666667%;flex-basis:66.66666667%;max-width:66.66666667%}.col-md-9{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.col-md-10{-ms-flex-preferred-size:83.33333333%;flex-basis:83.33333333%;max-width:83.33333333%}.col-md-11{-ms-flex-preferred-size:91.66666667%;flex-basis:91.66666667%;max-width:91.66666667%}.col-md-12{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.col-md-offset-0{margin-left:0}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-11{margin-left:91.66666667%}.start-md{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:start}.center-md{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center}.end-md{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:end}.top-md{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.middle-md{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.bottom-md{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.around-md{-ms-flex-pack:distribute;justify-content:space-around}.between-md{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.first-md{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.last-md{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.show-sm{display:none !important}}@media only screen and (max-width: 1023px){.hide-md{display:none !important}}@media only screen and (min-width: 1024px){.col-lg,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-offset-0,.col-lg-offset-1,.col-lg-offset-2,.col-lg-offset-3,.col-lg-offset-4,.col-lg-offset-5,.col-lg-offset-6,.col-lg-offset-7,.col-lg-offset-8,.col-lg-offset-9,.col-lg-offset-10,.col-lg-offset-11,.col-lg-offset-12{box-sizing:border-box;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.col-lg{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-preferred-size:0;flex-basis:0;max-width:100%}.col-lg-1{-ms-flex-preferred-size:8.33333333%;flex-basis:8.33333333%;max-width:8.33333333%}.col-lg-2{-ms-flex-preferred-size:16.66666667%;flex-basis:16.66666667%;max-width:16.66666667%}.col-lg-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.col-lg-4{-ms-flex-preferred-size:33.33333333%;flex-basis:33.33333333%;max-width:33.33333333%}.col-lg-5{-ms-flex-preferred-size:41.66666667%;flex-basis:41.66666667%;max-width:41.66666667%}.col-lg-6{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.col-lg-7{-ms-flex-preferred-size:58.33333333%;flex-basis:58.33333333%;max-width:58.33333333%}.col-lg-8{-ms-flex-preferred-size:66.66666667%;flex-basis:66.66666667%;max-width:66.66666667%}.col-lg-9{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.col-lg-10{-ms-flex-preferred-size:83.33333333%;flex-basis:83.33333333%;max-width:83.33333333%}.col-lg-11{-ms-flex-preferred-size:91.66666667%;flex-basis:91.66666667%;max-width:91.66666667%}.col-lg-12{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.col-lg-offset-0{margin-left:0}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-11{margin-left:91.66666667%}.start-lg{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:start}.center-lg{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center}.end-lg{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:end}.top-lg{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.middle-lg{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.bottom-lg{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.around-lg{-ms-flex-pack:distribute;justify-content:space-around}.between-lg{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.first-lg{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.last-lg{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.show-md{display:none !important}}*{color:var(--black);box-sizing:border-box}html{color:var(--black);font-family:"Manrope", -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";--white: #fff;--beige: #f7eee0;--yellow: #febb28;--orange: #fe6732;--red: #f5303c;--pink: #ce2867;--purple: #571b47;--grey: #3d3d3d;--black: #000}body{background-color:var(--beige);padding:0 16px;overflow-x:hidden}section{width:100%}h1,h2,h3,h4,p{margin-block-start:0;margin-block-end:0;line-height:1.5}h1,h2,h3{font-weight:500}h1{font-size:96px}h2{font-size:48px}h3{font-size:32px}h4{font-size:20px;font-weight:600}p{font-size:18px;font-weight:500}p a{color:var(--red)}p a:hover{text-decoration:underline}button,a.button{font-size:18px;font-weight:600;padding:16px 24px;cursor:pointer}[data-aos="fade-in"]{opacity:0;transition-property:opacity}[data-aos="fade-in"].aos-animate{opacity:1}.header{position:sticky;top:0;left:0;height:64px;width:100%;background-color:var(--beige);z-index:100;-webkit-backface-visibility:hidden}.header .container{height:100%;display:flex;align-items:center}.header .container .wordmark{font-size:24px;font-weight:700;cursor:pointer}.header .container ul{display:flex;flex:1;justify-content:flex-end;text-align:right}.header .container ul li{position:relative;display:inline-flex;margin-left:48px;font-size:18px;line-height:1.5;font-weight:500;color:inherit;cursor:pointer}.header .container ul li:nth-of-type(1):hover::before{background-color:var(--pink)}.header .container ul li:nth-of-type(2):hover::before{background-color:var(--red)}.header .container ul li:nth-of-type(3):hover::before{background-color:var(--orange)}.header .container ul li:nth-of-type(4):hover::before{background-color:var(--yellow)}.header .container ul li::before{content:"";position:absolute;right:0;bottom:0;left:0;height:2px;z-index:-1}.mobile-menu{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:center;background-color:rgba(0,0,0,0.8);z-index:1000;animation:fade-in 0.2s ease-in-out;-webkit-backface-visibility:hidden}@keyframes fade-in{from{opacity:0}to{opacity:1}}.mobile-menu li{color:white;font-size:24px;line-height:64px;font-weight:600;text-align:center;cursor:pointer}.section-start{padding:128px 0}.section-start .headline{display:flex;margin-bottom:96px}.section-start .headline h1{flex:1}.section-start .headline h1 a{color:var(--red)}.section-start .headline img{cursor:pointer}.section-start .hero{width:100%;max-width:100%;overflow:hidden;z-index:1}.section-start .hero video{height:100%;min-height:512px;width:100%;object-fit:cover;transform:scale(1.004)}.section-service{padding:128px 0}.section-service h2{margin:0 64px 24px 0;padding-bottom:12px;border-bottom:8px solid}.section-service h2:nth-of-type(1){border-color:var(--red)}.section-service h2:nth-of-type(2){border-color:var(--orange)}.section-service h2:nth-of-type(3){border-color:var(--yellow)}.section-service p{margin:0 64px 64px 0}.section-service p:last-of-type{margin-bottom:16px}.section-service .img{min-height:512px;background-image:url("1.jpg");background-position:center 33%;background-size:cover;overflow:hidden}.section-work{padding:128px 0}.section-work .video{margin-bottom:128px}.section-work .video:nth-of-type(4n+1) h2{border-color:var(--pink)}.section-work .video:nth-of-type(4n+2) h2{border-color:var(--red)}.section-work .video:nth-of-type(4n+3) h2{border-color:var(--orange)}.section-work .video:nth-of-type(4n+4) h2{border-color:var(--yellow)}.section-work .video:last-of-type{margin-bottom:0}.section-work h2{margin:0 0 24px 64px;padding-bottom:12px;border-bottom:8px solid}.section-work p{margin-left:64px}.section-rental{padding:128px 0}.section-rental .square{position:sticky;top:128px;padding:32px 0}.section-rental .square h2{margin-bottom:24px;padding-bottom:12px;border-bottom:8px solid var(--red)}.section-rental .square button,.section-rental .square a.button{display:inline-flex;color:var(--black);margin:48px 12px 0 0}.section-rental .square button:hover,.section-rental .square a.button:hover{box-shadow:inset 0 0 0 2px var(--black)}.section-rental .square button.primary,.section-rental .square a.button.primary{background-color:var(--yellow)}.section-rental .square button.secondary,.section-rental .square a.button.secondary{background-color:var(--orange)}.section-rental .parts{position:relative;max-width:720px;min-height:256px;margin:0 auto}.section-rental .parts img:not(#part0){position:absolute;filter:contrast(1.3) saturate(0.6)}.section-rental .parts #part0{width:100%}.section-rental .parts #part1{width:29%;left:34%}.section-rental .parts #part2{width:8.5%;left:24%;margin-top:2%}.section-rental .parts #part3{width:19%;left:0;margin-top:2%}.section-rental .parts #part4{width:17%;left:2%;margin-top:15%}.section-rental .parts #part5{width:5.5%;left:70%;margin-top:9%}.section-rental .parts #part6{width:22%;left:64%;margin-top:1%}.section-rental .parts #part7{width:12.5%;left:87.5%;margin-top:1%}.section-rental .parts #part8{width:37%;left:30%;margin-top:28%}.section-rental .parts #part9{width:22.5%;left:0;margin-top:28%}.section-rental .parts #part10{width:49%;left:20%;margin-top:40%}.section-rental .parts #part11{width:14%;left:2%;margin-top:36%}.section-rental .parts #part12{width:27%;left:72%;margin-top:31%}.section-rental .parts #part13{width:24%;left:48%;margin-top:48%}.section-rental .parts #part14{width:19%;left:24%;margin-top:48%}.section-rental .parts #part15{width:4.5%;left:15%;margin-top:47%}.section-rental .parts #part16{width:24%;left:75%;margin-top:48%}.section-rental .parts #part17{width:7.5%;left:2%;margin-top:44%}.section-rental .parts #part18-1{width:14%;left:46%;margin-top:72%}.section-rental .parts #part18-2{width:14%;left:46%;margin-top:86%}.section-rental .parts #part19-1{width:17%;left:22%;margin-top:70%}.section-rental .parts #part19-2{width:17%;left:22%;margin-top:84%}.section-rental .parts #part20{width:13.5%;left:66%;margin-top:73%}.section-rental .parts #part21{width:11.5%;left:6%;margin-top:73%}.section-rental .parts #part22{width:13.5%;left:84%;margin-top:73%}.section-rental .parts #part23{width:28%;left:22%;margin-top:102%}.section-rental .parts #part24{width:37.5%;left:60%;margin-top:100%}.section-rental .parts #part25{width:20%;left:14%;margin-top:105%}.section-rental .parts #part26{width:40%;left:43%;margin-top:106%}.section-rental .parts #part27{width:22.5%;left:20%;margin-top:115%}.section-rental .parts #part28{width:22%;left:47%;margin-top:130%}.section-rental .parts #part29-1{width:3%;left:4%;margin-top:106%}.section-rental .parts #part29-2{width:3%;left:8%;margin-top:106%}.section-rental .parts #part30{width:19%;left:70%;margin-top:116%}.section-rental .parts #part31-1{width:2.5%;left:13%;margin-top:125.5%}.section-rental .parts #part31-2{width:2.5%;left:16%;margin-top:125.5%}.section-rental .parts #part32-1{width:2.75%;left:20%;margin-top:126%}.section-rental .parts #part32-2{width:2.75%;left:24%;margin-top:126%}.section-instagram{padding:128px 0}.section-text{padding:128px 0}.section-text h3{margin-bottom:32px}.section-text h4{margin:16px 0 12px}.section-text p{margin-bottom:12px}footer{padding:128px 0}footer ul{display:flex;justify-content:space-between}footer ul li{font-size:18px;line-height:1.5;font-weight:500}footer ul li:first-of-type{flex:1}footer ul li:not(:first-of-type){margin-left:48px}footer ul li:nth-of-type(4n+1):hover a::before{background-color:var(--pink)}footer ul li:nth-of-type(4n+2):hover a::before{background-color:var(--red)}footer ul li:nth-of-type(4n+3):hover a::before{background-color:var(--orange)}footer ul li:nth-of-type(4n+4):hover a::before{background-color:var(--yellow)}footer ul li a{position:relative}footer ul li a::before{content:"";position:absolute;right:0;bottom:0;left:0;height:2px;z-index:-1}@media only screen and (max-width: 1023px){h1{font-size:64px}h2{font-size:36px}h3{font-size:24px}h4{font-size:20px}.section-start{padding:64px 0}.section-start .headline{margin-bottom:64px}.section-service{padding:64px 0}.section-service h2{margin:0 32px 24px 0}.section-service p{margin:0 32px 32px 0}.section-service .img{margin-top:64px}.section-work{padding:64px 0}.section-work h2{margin:0 0 24px 0}.section-work p{margin:0 0 32px 0}.section-work .video{margin-bottom:64px}.section-rental{padding:64px 0;overflow-x:hidden}.section-rental .square{padding:0}.section-rental .square h2{margin:0 0 24px 0}.section-rental .parts{margin:64px 0 0;overflow:hidden}.section-instagram{padding:64px 0}.section-text{padding:64px 0}footer{padding:64px 0}footer ul{display:block}footer ul li{margin:12px 0 !important}}@media only screen and (max-width: 767px){.section-service h2{margin:0 0 16px 0;padding-bottom:8px}.section-service p{margin:0 0 24px 0}.section-work h2{margin:0 0 16px 0;padding-bottom:8px}.section-work p{margin:0 0 24px 0}.section-rental .square h2{margin:0 0 16px 0;padding-bottom:8px}}@media only screen and (max-width: 511px){h1{font-size:40px}h2{font-size:32px}.section-start{padding:32px 0 0}.section-start .headline{margin-bottom:32px}.section-service{padding:64px 0 0}.section-service h2{border-bottom:4px solid}.section-service .img{margin-top:32px}.section-work{padding:64px 0 0}.section-work .video{margin-bottom:32px}.section-work h2{border-bottom:4px solid}.section-rental{padding:64px 0 0}.section-rental .square h2{border-bottom:4px solid var(--red)}.section-instagram{padding:32px 0}.section-text{padding:32px 0}footer{padding:32px 0}} +html,body,div,span,applet,object,iframe,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,input,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,button,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:none;font:inherit;text-decoration:none;vertical-align:baseline;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}textarea:focus,input:focus,button:focus{outline:none}.container{max-width:1600px;width:100%;margin-right:auto;margin-left:auto;position:relative;box-sizing:border-box}.row{box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap}.row.reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.col.reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.col-xs,.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-offset-0,.col-xs-offset-1,.col-xs-offset-2,.col-xs-offset-3,.col-xs-offset-4,.col-xs-offset-5,.col-xs-offset-6,.col-xs-offset-7,.col-xs-offset-8,.col-xs-offset-9,.col-xs-offset-10,.col-xs-offset-11,.col-xs-offset-12{box-sizing:border-box;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.col-xs{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-preferred-size:0;flex-basis:0;max-width:100%}.col-xs-1{-ms-flex-preferred-size:8.33333333%;flex-basis:8.33333333%;max-width:8.33333333%}.col-xs-2{-ms-flex-preferred-size:16.66666667%;flex-basis:16.66666667%;max-width:16.66666667%}.col-xs-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.col-xs-4{-ms-flex-preferred-size:33.33333333%;flex-basis:33.33333333%;max-width:33.33333333%}.col-xs-5{-ms-flex-preferred-size:41.66666667%;flex-basis:41.66666667%;max-width:41.66666667%}.col-xs-6{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.col-xs-7{-ms-flex-preferred-size:58.33333333%;flex-basis:58.33333333%;max-width:58.33333333%}.col-xs-8{-ms-flex-preferred-size:66.66666667%;flex-basis:66.66666667%;max-width:66.66666667%}.col-xs-9{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.col-xs-10{-ms-flex-preferred-size:83.33333333%;flex-basis:83.33333333%;max-width:83.33333333%}.col-xs-11{-ms-flex-preferred-size:91.66666667%;flex-basis:91.66666667%;max-width:91.66666667%}.col-xs-12{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.col-xs-offset-0{margin-left:0}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-11{margin-left:91.66666667%}.start-xs{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:start}.center-xs{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center}.end-xs{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:end}.top-xs{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.middle-xs{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.bottom-xs{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.around-xs{-ms-flex-pack:distribute;justify-content:space-around}.between-xs{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.first-xs{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.last-xs{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}@media only screen and (max-width: 511px){.hide-xs{display:none !important}}@media only screen and (min-width: 512px){.col-sm,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-offset-0,.col-sm-offset-1,.col-sm-offset-2,.col-sm-offset-3,.col-sm-offset-4,.col-sm-offset-5,.col-sm-offset-6,.col-sm-offset-7,.col-sm-offset-8,.col-sm-offset-9,.col-sm-offset-10,.col-sm-offset-11,.col-sm-offset-12{box-sizing:border-box;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.col-sm{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-preferred-size:0;flex-basis:0;max-width:100%}.col-sm-1{-ms-flex-preferred-size:8.33333333%;flex-basis:8.33333333%;max-width:8.33333333%}.col-sm-2{-ms-flex-preferred-size:16.66666667%;flex-basis:16.66666667%;max-width:16.66666667%}.col-sm-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.col-sm-4{-ms-flex-preferred-size:33.33333333%;flex-basis:33.33333333%;max-width:33.33333333%}.col-sm-5{-ms-flex-preferred-size:41.66666667%;flex-basis:41.66666667%;max-width:41.66666667%}.col-sm-6{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.col-sm-7{-ms-flex-preferred-size:58.33333333%;flex-basis:58.33333333%;max-width:58.33333333%}.col-sm-8{-ms-flex-preferred-size:66.66666667%;flex-basis:66.66666667%;max-width:66.66666667%}.col-sm-9{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.col-sm-10{-ms-flex-preferred-size:83.33333333%;flex-basis:83.33333333%;max-width:83.33333333%}.col-sm-11{-ms-flex-preferred-size:91.66666667%;flex-basis:91.66666667%;max-width:91.66666667%}.col-sm-12{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.col-sm-offset-0{margin-left:0}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-11{margin-left:91.66666667%}.start-sm{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:start}.center-sm{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center}.end-sm{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:end}.top-sm{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.middle-sm{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.bottom-sm{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.around-sm{-ms-flex-pack:distribute;justify-content:space-around}.between-sm{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.first-sm{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.last-sm{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.show-xs{display:none !important}}@media only screen and (max-width: 767px){.hide-sm{display:none !important}}@media only screen and (min-width: 768px){.col-md,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-md-offset-0,.col-md-offset-1,.col-md-offset-2,.col-md-offset-3,.col-md-offset-4,.col-md-offset-5,.col-md-offset-6,.col-md-offset-7,.col-md-offset-8,.col-md-offset-9,.col-md-offset-10,.col-md-offset-11,.col-md-offset-12{box-sizing:border-box;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.col-md{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-preferred-size:0;flex-basis:0;max-width:100%}.col-md-1{-ms-flex-preferred-size:8.33333333%;flex-basis:8.33333333%;max-width:8.33333333%}.col-md-2{-ms-flex-preferred-size:16.66666667%;flex-basis:16.66666667%;max-width:16.66666667%}.col-md-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.col-md-4{-ms-flex-preferred-size:33.33333333%;flex-basis:33.33333333%;max-width:33.33333333%}.col-md-5{-ms-flex-preferred-size:41.66666667%;flex-basis:41.66666667%;max-width:41.66666667%}.col-md-6{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.col-md-7{-ms-flex-preferred-size:58.33333333%;flex-basis:58.33333333%;max-width:58.33333333%}.col-md-8{-ms-flex-preferred-size:66.66666667%;flex-basis:66.66666667%;max-width:66.66666667%}.col-md-9{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.col-md-10{-ms-flex-preferred-size:83.33333333%;flex-basis:83.33333333%;max-width:83.33333333%}.col-md-11{-ms-flex-preferred-size:91.66666667%;flex-basis:91.66666667%;max-width:91.66666667%}.col-md-12{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.col-md-offset-0{margin-left:0}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-11{margin-left:91.66666667%}.start-md{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:start}.center-md{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center}.end-md{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:end}.top-md{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.middle-md{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.bottom-md{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.around-md{-ms-flex-pack:distribute;justify-content:space-around}.between-md{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.first-md{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.last-md{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.show-sm{display:none !important}}@media only screen and (max-width: 1023px){.hide-md{display:none !important}}@media only screen and (min-width: 1024px){.col-lg,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-offset-0,.col-lg-offset-1,.col-lg-offset-2,.col-lg-offset-3,.col-lg-offset-4,.col-lg-offset-5,.col-lg-offset-6,.col-lg-offset-7,.col-lg-offset-8,.col-lg-offset-9,.col-lg-offset-10,.col-lg-offset-11,.col-lg-offset-12{box-sizing:border-box;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.col-lg{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-preferred-size:0;flex-basis:0;max-width:100%}.col-lg-1{-ms-flex-preferred-size:8.33333333%;flex-basis:8.33333333%;max-width:8.33333333%}.col-lg-2{-ms-flex-preferred-size:16.66666667%;flex-basis:16.66666667%;max-width:16.66666667%}.col-lg-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.col-lg-4{-ms-flex-preferred-size:33.33333333%;flex-basis:33.33333333%;max-width:33.33333333%}.col-lg-5{-ms-flex-preferred-size:41.66666667%;flex-basis:41.66666667%;max-width:41.66666667%}.col-lg-6{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.col-lg-7{-ms-flex-preferred-size:58.33333333%;flex-basis:58.33333333%;max-width:58.33333333%}.col-lg-8{-ms-flex-preferred-size:66.66666667%;flex-basis:66.66666667%;max-width:66.66666667%}.col-lg-9{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.col-lg-10{-ms-flex-preferred-size:83.33333333%;flex-basis:83.33333333%;max-width:83.33333333%}.col-lg-11{-ms-flex-preferred-size:91.66666667%;flex-basis:91.66666667%;max-width:91.66666667%}.col-lg-12{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.col-lg-offset-0{margin-left:0}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-11{margin-left:91.66666667%}.start-lg{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:start}.center-lg{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center}.end-lg{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:end}.top-lg{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.middle-lg{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.bottom-lg{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.around-lg{-ms-flex-pack:distribute;justify-content:space-around}.between-lg{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.first-lg{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.last-lg{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.show-md{display:none !important}}*{color:var(--black);box-sizing:border-box}html{color:var(--black);font-family:"Manrope",-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--white: #fff;--beige: #f7eee0;--yellow: #febb28;--orange: #fe6732;--red: #f5303c;--pink: #ce2867;--purple: #571b47;--grey: #3d3d3d;--black: #000}body{background-color:var(--beige);padding:0 16px;overflow-x:hidden}section{width:100%}h1,h2,h3,h4,p{margin-block-start:0;margin-block-end:0;line-height:1.5}h1,h2,h3{font-weight:500}h1{font-size:96px}h2{font-size:48px}h3{font-size:32px}h4{font-size:20px;font-weight:600}p{font-size:18px;font-weight:500}p a{color:var(--red)}p a:hover{text-decoration:underline}button,a.button{font-size:18px;font-weight:600;padding:16px 24px;cursor:pointer}[data-aos=fade-in]{opacity:0;transition-property:opacity}[data-aos=fade-in].aos-animate{opacity:1}.header{position:sticky;top:0;left:0;height:64px;width:100%;background-color:var(--beige);z-index:100;-webkit-backface-visibility:hidden}.header .container{height:100%;display:flex;align-items:center}.header .container .wordmark{font-size:24px;font-weight:700;cursor:pointer}.header .container ul{display:flex;flex:1;justify-content:flex-end;text-align:right}.header .container ul li{position:relative;display:inline-flex;margin-left:48px;font-size:18px;line-height:1.5;font-weight:500;color:inherit;cursor:pointer}.header .container ul li:nth-of-type(1):hover::before{background-color:var(--pink)}.header .container ul li:nth-of-type(2):hover::before{background-color:var(--red)}.header .container ul li:nth-of-type(3):hover::before{background-color:var(--orange)}.header .container ul li:nth-of-type(4):hover::before{background-color:var(--yellow)}.header .container ul li::before{content:"";position:absolute;right:0;bottom:0;left:0;height:2px;z-index:-1}.mobile-menu{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:center;background-color:rgba(0,0,0,.8);z-index:1000;animation:fade-in .2s ease-in-out;-webkit-backface-visibility:hidden}@keyframes fade-in{from{opacity:0}to{opacity:1}}.mobile-menu li{color:#fff;font-size:24px;line-height:64px;font-weight:600;text-align:center;cursor:pointer}.section-start{padding:128px 0}.section-start .headline{display:flex;margin-bottom:96px}.section-start .headline h1{flex:1}.section-start .headline h1 a{color:var(--red)}.section-start .headline img{cursor:pointer}.section-start .hero{width:100%;max-width:100%;overflow:hidden;z-index:1}.section-start .hero video{height:100%;min-height:512px;width:100%;object-fit:cover;transform:scale(1.004)}.section-service{padding:128px 0}.section-service h2{margin:0 64px 24px 0;padding-bottom:12px;border-bottom:8px solid}.section-service h2:nth-of-type(1){border-color:var(--red)}.section-service h2:nth-of-type(2){border-color:var(--orange)}.section-service h2:nth-of-type(3){border-color:var(--yellow)}.section-service p{margin:0 64px 64px 0}.section-service p:last-of-type{margin-bottom:16px}.section-service .img{min-height:512px;background-image:url("1.jpg");background-position:center 33%;background-size:cover;overflow:hidden}.section-work{padding:128px 0}.section-work .video{margin-bottom:128px}.section-work .video:nth-of-type(4n+1) h2{border-color:var(--pink)}.section-work .video:nth-of-type(4n+2) h2{border-color:var(--red)}.section-work .video:nth-of-type(4n+3) h2{border-color:var(--orange)}.section-work .video:nth-of-type(4n+4) h2{border-color:var(--yellow)}.section-work .video:last-of-type{margin-bottom:0}.section-work h2{margin:0 0 24px 64px;padding-bottom:12px;border-bottom:8px solid}.section-work p{margin-left:64px}.section-rental{padding:128px 0}.section-rental .square{position:sticky;top:128px;padding:32px 0}.section-rental .square h2{margin-bottom:24px;padding-bottom:12px;border-bottom:8px solid var(--red)}.section-rental .square button,.section-rental .square a.button{display:inline-flex;color:var(--black);margin:48px 12px 0 0}.section-rental .square button:hover,.section-rental .square a.button:hover{box-shadow:inset 0 0 0 2px var(--black)}.section-rental .square button.primary,.section-rental .square a.button.primary{background-color:var(--yellow)}.section-rental .square button.secondary,.section-rental .square a.button.secondary{background-color:var(--orange)}.section-rental .parts{position:relative;max-width:720px;min-height:256px;margin:0 auto}.section-rental .parts img:not(#part0){position:absolute;filter:contrast(1.3) saturate(0.6)}.section-rental .parts #part0{width:100%}.section-rental .parts #part1{width:29%;left:34%}.section-rental .parts #part2{width:8.5%;left:24%;margin-top:2%}.section-rental .parts #part3{width:19%;left:0;margin-top:2%}.section-rental .parts #part4{width:17%;left:2%;margin-top:15%}.section-rental .parts #part5{width:5.5%;left:70%;margin-top:9%}.section-rental .parts #part6{width:22%;left:64%;margin-top:1%}.section-rental .parts #part7{width:12.5%;left:87.5%;margin-top:1%}.section-rental .parts #part8{width:37%;left:30%;margin-top:28%}.section-rental .parts #part9{width:22.5%;left:0;margin-top:28%}.section-rental .parts #part10{width:49%;left:20%;margin-top:40%}.section-rental .parts #part11{width:14%;left:2%;margin-top:36%}.section-rental .parts #part12{width:27%;left:72%;margin-top:31%}.section-rental .parts #part13{width:24%;left:48%;margin-top:48%}.section-rental .parts #part14{width:19%;left:24%;margin-top:48%}.section-rental .parts #part15{width:4.5%;left:15%;margin-top:47%}.section-rental .parts #part16{width:24%;left:75%;margin-top:48%}.section-rental .parts #part17{width:7.5%;left:2%;margin-top:44%}.section-rental .parts #part18-1{width:14%;left:46%;margin-top:72%}.section-rental .parts #part18-2{width:14%;left:46%;margin-top:86%}.section-rental .parts #part19-1{width:17%;left:22%;margin-top:70%}.section-rental .parts #part19-2{width:17%;left:22%;margin-top:84%}.section-rental .parts #part20{width:13.5%;left:66%;margin-top:73%}.section-rental .parts #part21{width:11.5%;left:6%;margin-top:73%}.section-rental .parts #part22{width:13.5%;left:84%;margin-top:73%}.section-rental .parts #part23{width:28%;left:22%;margin-top:102%}.section-rental .parts #part24{width:37.5%;left:60%;margin-top:100%}.section-rental .parts #part25{width:20%;left:14%;margin-top:105%}.section-rental .parts #part26{width:40%;left:43%;margin-top:106%}.section-rental .parts #part27{width:22.5%;left:20%;margin-top:115%}.section-rental .parts #part28{width:22%;left:47%;margin-top:130%}.section-rental .parts #part29-1{width:3%;left:4%;margin-top:106%}.section-rental .parts #part29-2{width:3%;left:8%;margin-top:106%}.section-rental .parts #part30{width:19%;left:70%;margin-top:116%}.section-rental .parts #part31-1{width:2.5%;left:13%;margin-top:125.5%}.section-rental .parts #part31-2{width:2.5%;left:16%;margin-top:125.5%}.section-rental .parts #part32-1{width:2.75%;left:20%;margin-top:126%}.section-rental .parts #part32-2{width:2.75%;left:24%;margin-top:126%}.section-instagram{padding:128px 0}.section-text{padding:128px 0}.section-text h3{margin-bottom:32px}.section-text h4{margin:16px 0 12px}.section-text p{margin-bottom:12px}footer{padding:128px 0}footer ul{display:flex;justify-content:space-between}footer ul li{font-size:18px;line-height:1.5;font-weight:500}footer ul li:first-of-type{flex:1}footer ul li:not(:first-of-type){margin-left:48px}footer ul li:nth-of-type(4n+1):hover a::before{background-color:var(--pink)}footer ul li:nth-of-type(4n+2):hover a::before{background-color:var(--red)}footer ul li:nth-of-type(4n+3):hover a::before{background-color:var(--orange)}footer ul li:nth-of-type(4n+4):hover a::before{background-color:var(--yellow)}footer ul li a{position:relative}footer ul li a::before{content:"";position:absolute;right:0;bottom:0;left:0;height:2px;z-index:-1}@media only screen and (max-width: 1023px){h1{font-size:64px}h2{font-size:36px}h3{font-size:24px}h4{font-size:20px}.section-start{padding:64px 0}.section-start .headline{margin-bottom:64px}.section-service{padding:64px 0}.section-service h2{margin:0 32px 24px 0}.section-service p{margin:0 32px 32px 0}.section-service .img{margin-top:64px}.section-work{padding:64px 0}.section-work h2{margin:0 0 24px 0}.section-work p{margin:0 0 32px 0}.section-work .video{margin-bottom:64px}.section-rental{padding:64px 0;overflow-x:hidden}.section-rental .square{padding:0}.section-rental .square h2{margin:0 0 24px 0}.section-rental .parts{margin:64px 0 0;overflow:hidden}.section-instagram{padding:64px 0}.section-text{padding:64px 0}footer{padding:64px 0}footer ul{display:block}footer ul li{margin:12px 0 !important}}@media only screen and (max-width: 767px){.section-service h2{margin:0 0 16px 0;padding-bottom:8px}.section-service p{margin:0 0 24px 0}.section-work h2{margin:0 0 16px 0;padding-bottom:8px}.section-work p{margin:0 0 24px 0}.section-rental .square h2{margin:0 0 16px 0;padding-bottom:8px}}@media only screen and (max-width: 511px){h1{font-size:40px}h2{font-size:32px}.section-start{padding:32px 0 0}.section-start .headline{margin-bottom:32px}.section-service{padding:64px 0 0}.section-service h2{border-bottom:4px solid}.section-service .img{margin-top:32px}.section-work{padding:64px 0 0}.section-work .video{margin-bottom:32px}.section-work h2{border-bottom:4px solid}.section-rental{padding:64px 0 0}.section-rental .square h2{border-bottom:4px solid var(--red)}.section-instagram{padding:32px 0}.section-text{padding:32px 0}footer{padding:32px 0}}/*# sourceMappingURL=main.css.map */ diff --git a/static/web/main.css.map b/static/web/main.css.map new file mode 100644 index 0000000..4cb2463 --- /dev/null +++ b/static/web/main.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["../../assets/scss/_reset.scss","../../assets/scss/_grid.scss","../../assets/scss/main.scss"],"names":[],"mappings":"AAAA,+YAaC,SACA,UACA,SACA,aACA,aACA,qBACA,wBACA,kCACA,mCACA,kCAKD,8EAEC,cAGD,KACC,cAGD,MACE,gBAGF,aACE,YAGF,oDAEE,WACA,aAGF,MACE,yBACA,iBAGF,wCACE,aCxDF,WACE,iBACA,WACA,kBACA,iBACA,kBACA,sBAGF,KACE,sBACA,oBACA,oBACA,aACA,mBACA,kBACA,cACA,8BACA,6BACA,uBACA,mBACA,mBACA,eAGF,aACE,8BACA,8BACA,+BACA,2BAGF,aACE,4BACA,8BACA,kCACA,8BAGF,mWA0BE,sBACA,mBACA,kBACA,cAGF,QACE,mBACA,oBACA,YACA,0BACA,aACA,eAGF,UACE,oCACA,uBACA,sBAGF,UACE,qCACA,wBACA,uBAGF,UACE,4BACA,eACA,cAGF,UACE,qCACA,wBACA,uBAGF,UACE,qCACA,wBACA,uBAGF,UACE,4BACA,eACA,cAGF,UACE,qCACA,wBACA,uBAGF,UACE,qCACA,wBACA,uBAGF,UACE,4BACA,eACA,cAGF,WACE,qCACA,wBACA,uBAGF,WACE,qCACA,wBACA,uBAGF,WACE,6BACA,gBACA,eAGF,iBACE,cAGF,iBACE,wBAGF,iBACE,yBAGF,iBACE,gBAGF,iBACE,yBAGF,iBACE,yBAGF,iBACE,gBAGF,iBACE,yBAGF,iBACE,yBAGF,iBACE,gBAGF,kBACE,yBAGF,kBACE,yBAGF,UACE,uBACA,oBACA,2BACA,iBAGF,WACE,wBACA,qBACA,uBACA,kBAGF,QACE,qBACA,kBACA,yBACA,eAGF,QACE,wBACA,qBACA,uBAGF,WACE,yBACA,sBACA,mBAGF,WACE,sBACA,mBACA,qBAGF,WACE,yBACA,6BAGF,YACE,yBACA,sBACA,8BAGF,UACE,4BACA,kBACA,SAGF,SACE,4BACA,iBACA,QAGF,0CACE,SACE,yBAIJ,0CACE,mWA0BE,sBACA,mBACA,kBACA,cAGF,QACE,mBACA,oBACA,YACA,0BACA,aACA,eAGF,UACE,oCACA,uBACA,sBAGF,UACE,qCACA,wBACA,uBAGF,UACE,4BACA,eACA,cAGF,UACE,qCACA,wBACA,uBAGF,UACE,qCACA,wBACA,uBAGF,UACE,4BACA,eACA,cAGF,UACE,qCACA,wBACA,uBAGF,UACE,qCACA,wBACA,uBAGF,UACE,4BACA,eACA,cAGF,WACE,qCACA,wBACA,uBAGF,WACE,qCACA,wBACA,uBAGF,WACE,6BACA,gBACA,eAGF,iBACE,cAGF,iBACE,wBAGF,iBACE,yBAGF,iBACE,gBAGF,iBACE,yBAGF,iBACE,yBAGF,iBACE,gBAGF,iBACE,yBAGF,iBACE,yBAGF,iBACE,gBAGF,kBACE,yBAGF,kBACE,yBAGF,UACE,uBACA,oBACA,2BACA,iBAGF,WACE,wBACA,qBACA,uBACA,kBAGF,QACE,qBACA,kBACA,yBACA,eAGF,QACE,wBACA,qBACA,uBAGF,WACE,yBACA,sBACA,mBAGF,WACE,sBACA,mBACA,qBAGF,WACE,yBACA,6BAGF,YACE,yBACA,sBACA,8BAGF,UACE,4BACA,kBACA,SAGF,SACE,4BACA,iBACA,QAGF,SACE,yBAIJ,0CACE,SACE,yBAIJ,0CACE,mWA0BE,sBACA,mBACA,kBACA,cAGF,QACE,mBACA,oBACA,YACA,0BACA,aACA,eAGF,UACE,oCACA,uBACA,sBAGF,UACE,qCACA,wBACA,uBAGF,UACE,4BACA,eACA,cAGF,UACE,qCACA,wBACA,uBAGF,UACE,qCACA,wBACA,uBAGF,UACE,4BACA,eACA,cAGF,UACE,qCACA,wBACA,uBAGF,UACE,qCACA,wBACA,uBAGF,UACE,4BACA,eACA,cAGF,WACE,qCACA,wBACA,uBAGF,WACE,qCACA,wBACA,uBAGF,WACE,6BACA,gBACA,eAGF,iBACE,cAGF,iBACE,wBAGF,iBACE,yBAGF,iBACE,gBAGF,iBACE,yBAGF,iBACE,yBAGF,iBACE,gBAGF,iBACE,yBAGF,iBACE,yBAGF,iBACE,gBAGF,kBACE,yBAGF,kBACE,yBAGF,UACE,uBACA,oBACA,2BACA,iBAGF,WACE,wBACA,qBACA,uBACA,kBAGF,QACE,qBACA,kBACA,yBACA,eAGF,QACE,wBACA,qBACA,uBAGF,WACE,yBACA,sBACA,mBAGF,WACE,sBACA,mBACA,qBAGF,WACE,yBACA,6BAGF,YACE,yBACA,sBACA,8BAGF,UACE,4BACA,kBACA,SAGF,SACE,4BACA,iBACA,QAGF,SACE,yBAIJ,2CACE,SACE,yBAIJ,2CACE,mWA0BE,sBACA,mBACA,kBACA,cAGF,QACE,mBACA,oBACA,YACA,0BACA,aACA,eAGF,UACE,oCACA,uBACA,sBAGF,UACE,qCACA,wBACA,uBAGF,UACE,4BACA,eACA,cAGF,UACE,qCACA,wBACA,uBAGF,UACE,qCACA,wBACA,uBAGF,UACE,4BACA,eACA,cAGF,UACE,qCACA,wBACA,uBAGF,UACE,qCACA,wBACA,uBAGF,UACE,4BACA,eACA,cAGF,WACE,qCACA,wBACA,uBAGF,WACE,qCACA,wBACA,uBAGF,WACE,6BACA,gBACA,eAGF,iBACE,cAGF,iBACE,wBAGF,iBACE,yBAGF,iBACE,gBAGF,iBACE,yBAGF,iBACE,yBAGF,iBACE,gBAGF,iBACE,yBAGF,iBACE,yBAGF,iBACE,gBAGF,kBACE,yBAGF,kBACE,yBAGF,UACE,uBACA,oBACA,2BACA,iBAGF,WACE,wBACA,qBACA,uBACA,kBAGF,QACE,qBACA,kBACA,yBACA,eAGF,QACE,wBACA,qBACA,uBAGF,WACE,yBACA,sBACA,mBAGF,WACE,sBACA,mBACA,qBAGF,WACE,yBACA,6BAGF,YACE,yBACA,sBACA,8BAGF,UACE,4BACA,kBACA,SAGF,SACE,4BACA,iBACA,QAGF,SACE,yBCh8BJ,EACI,mBACA,sBAGJ,KACI,mBACA,8JAEA,cACA,iBACA,kBACA,kBACA,eACA,gBACA,kBACA,gBACA,cAGJ,KACI,8BACA,eACA,kBAGJ,QACI,WAGJ,cACI,qBACA,mBACA,gBAGJ,SACI,gBAGJ,GACI,eAGJ,GACI,eAGJ,GACI,eAGJ,GACI,eACA,gBAGJ,EACI,eACA,gBAEA,IACI,iBAEA,UACI,0BAKZ,gBACI,eACA,gBACA,kBACA,eAGJ,mBACI,UACH,4BAEA,+BACC,UAIF,QACI,gBACA,MACA,OACA,YACA,WACA,8BACA,YACA,mCAEA,mBACI,YACA,aACA,mBAEA,6BACI,eACA,gBACA,eAGJ,sBACI,aACA,OACA,yBACA,iBAEA,yBACI,kBACA,oBACA,iBACA,eACA,gBACA,gBACA,cACA,eAEA,sDACI,6BAGJ,sDACI,4BAGJ,sDACI,+BAGJ,sDACI,+BAGJ,iCACI,WACA,kBACA,QACA,SACA,OACA,WACA,WAOpB,aACI,eACA,MACA,QACA,SACA,OACA,aACA,uBACA,mBACA,gCACA,aACA,kCACA,mCAEA,mBACI,KACI,UAEJ,GACI,WAIR,gBACI,WACA,eACA,iBACA,gBACA,kBACA,eAIR,eACI,gBAEA,yBACI,aACA,mBAEA,4BACI,OAEA,8BACI,iBAIR,6BACI,eAIR,qBACI,WACA,eACA,gBACA,UAEA,2BACI,YACA,iBACA,WACA,iBACA,uBAKZ,iBACI,gBAEA,oBACI,qBACA,oBACA,wBAEA,mCACI,wBAGJ,mCACI,2BAGJ,mCACI,2BAIR,mBACI,qBAEA,gCACI,mBAIR,sBACI,iBACA,8BACA,+BACA,sBACA,gBAIR,cACI,gBAEA,qBACI,oBAEA,0CACI,yBAGJ,0CACI,wBAGJ,0CACI,2BAGJ,0CACI,2BAGJ,kCACI,gBAIR,iBACI,qBACA,oBACA,wBAGJ,gBACI,iBAIR,gBACI,gBAEA,wBACI,gBACA,UACA,eAEA,2BACI,mBACA,oBACA,mCAGJ,gEACI,oBACA,mBACA,qBAEA,4EACI,wCAGJ,gFACI,+BAGJ,oFACI,+BAKZ,uBACI,kBACA,gBACA,iBACA,cAEA,uCACI,kBACA,mCAGJ,8BACI,WAGJ,8BACI,UACA,SAGJ,8BACI,WACA,SACA,cAGJ,8BACI,UACA,OACA,cAGJ,8BACI,UACA,QACA,eAGJ,8BACI,WACA,SACA,cAGJ,8BACI,UACA,SACA,cAGJ,8BACI,YACA,WACA,cAGJ,8BACI,UACA,SACA,eAGJ,8BACI,YACA,OACA,eAGJ,+BACI,UACA,SACA,eAGJ,+BACI,UACA,QACA,eAGJ,+BACI,UACA,SACA,eAGJ,+BACI,UACA,SACA,eAGJ,+BACI,UACA,SACA,eAGJ,+BACI,WACA,SACA,eAGJ,+BACI,UACA,SACA,eAGJ,+BACI,WACA,QACA,eAGJ,iCACI,UACA,SACA,eAGJ,iCACI,UACA,SACA,eAGJ,iCACI,UACA,SACA,eAGJ,iCACI,UACA,SACA,eAGJ,+BACI,YACA,SACA,eAGJ,+BACI,YACA,QACA,eAGJ,+BACI,YACA,SACA,eAGJ,+BACI,UACA,SACA,gBAGJ,+BACI,YACA,SACA,gBAGJ,+BACI,UACA,SACA,gBAGJ,+BACI,UACA,SACA,gBAGJ,+BACI,YACA,SACA,gBAGJ,+BACI,UACA,SACA,gBAGJ,iCACI,SACA,QACA,gBAGJ,iCACI,SACA,QACA,gBAGJ,+BACI,UACA,SACA,gBAGJ,iCACI,WACA,SACA,kBAGJ,iCACI,WACA,SACA,kBAGJ,iCACI,YACA,SACA,gBAGJ,iCACI,YACA,SACA,gBAKZ,mBACI,gBAGJ,cACI,gBAEA,iBACI,mBAGJ,iBACI,mBAGJ,gBACI,mBAIR,OACI,gBAEA,UACI,aACA,8BAEA,aACI,eACA,gBACA,gBAEA,2BACI,OAGJ,iCACI,iBAGJ,+CACI,6BAGJ,+CACI,4BAGJ,+CACI,+BAGJ,+CACI,+BAGJ,eACI,kBAEA,uBACI,WACA,kBACA,QACA,SACA,OACA,WACA,WAOpB,2CACI,GACI,eAGJ,GACI,eAGJ,GACI,eAGJ,GACI,eAGJ,eACI,eAEA,yBACI,mBAIR,iBACI,eAEA,oBACI,qBAGJ,mBACI,qBAGJ,sBACI,gBAIR,cACI,eAEA,iBACI,kBAGJ,gBACI,kBAGJ,qBACI,mBAIR,gBACI,eACA,kBAEA,wBACI,UAEA,2BACI,kBAIR,uBACI,gBACA,gBAIR,mBACI,eAGJ,cACI,eAGJ,OACI,eAEA,UACI,cAEA,aACI,0BAMhB,0CAEQ,oBACI,kBACA,mBAGJ,mBACI,kBAKJ,iBACI,kBACA,mBAGJ,gBACI,kBAKJ,2BACI,kBACA,oBAKZ,0CACI,GACI,eAGJ,GACI,eAGJ,eACI,iBAEA,yBACI,mBAIR,iBACI,iBAEA,oBACI,wBAGJ,sBACI,gBAIR,cACI,iBAEA,qBACI,mBAGJ,iBACI,wBAIR,gBACI,iBAEA,2BACI,mCAIR,mBACI,eAGJ,cACI,eAGJ,OACI","file":"main.css"} \ No newline at end of file diff --git a/static/web/main.min.js b/static/web/main.min.js new file mode 100644 index 0000000..8aa99d1 --- /dev/null +++ b/static/web/main.min.js @@ -0,0 +1 @@ +(()=>{console.log("Hi!");})(); diff --git a/static/manrope.css b/static/web/manrope.css similarity index 56% rename from static/manrope.css rename to static/web/manrope.css index ea6fb14..cbf6ea9 100644 --- a/static/manrope.css +++ b/static/web/manrope.css @@ -1,46 +1,46 @@ @font-face { font-family: "Manrope"; - src: url("Manrope-ExtraBold.woff2") format("woff2"); + src: url("/static/fonts/Manrope-ExtraBold.woff2") format("woff2"); font-style: normal; font-weight: 800; } @font-face { font-family: "Manrope"; - src: url("Manrope-Bold.woff2") format("woff2"); + src: url("/static/fonts/Manrope-Bold.woff2") format("woff2"); font-style: normal; font-weight: 700; } @font-face { font-family: "Manrope"; - src: url("Manrope-SemiBold.woff2") format("woff2"); + src: url("/static/fonts/Manrope-SemiBold.woff2") format("woff2"); font-style: normal; font-weight: 600; } @font-face { font-family: "Manrope"; - src: url("Manrope-Medium.woff2") format("woff2"); + src: url("/static/fonts/Manrope-Medium.woff2") format("woff2"); font-style: normal; font-weight: 500; } @font-face { font-family: "Manrope"; - src: url("Manrope-Regular.woff2") format("woff2"); + src: url("/static/fonts/Manrope-Regular.woff2") format("woff2"); font-style: normal; font-weight: 400; } @font-face { font-family: "Manrope"; - src: url("Manrope-Light.woff2") format("woff2"); + src: url("/static/fonts/Manrope-Light.woff2") format("woff2"); font-style: normal; font-weight: 300; } @font-face { font-family: "Manrope"; - src: url("Manrope-ExtraLight.woff2") format("woff2"); + src: url("/static/fonts/Manrope-ExtraLight.woff2") format("woff2"); font-style: normal; font-weight: 200; } \ No newline at end of file diff --git a/static/js/parts.js b/static/web/parts.js similarity index 100% rename from static/js/parts.js rename to static/web/parts.js diff --git a/style/package-lock.json b/style/package-lock.json deleted file mode 100644 index 0821817..0000000 --- a/style/package-lock.json +++ /dev/null @@ -1,1467 +0,0 @@ -{ - "name": "schnittfest", - "version": "1.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true - }, - "ajv": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", - "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "dev": true - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dev": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - }, - "async-foreach": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", - "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true - }, - "aws4": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.0.tgz", - "integrity": "sha512-Uvq6hVe90D0B2WEnUqtdgY1bATGz3mw33nH9Y+dmA+w5DHvUmBgkr5rM/KCHpCsiFNRUfokW/szpPPgMK2hm4A==", - "dev": true - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "block-stream": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", - "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", - "dev": true, - "requires": { - "inherits": "~2.0.0" - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true - }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", - "dev": true, - "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" - } - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "cross-spawn": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", - "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" - } - }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "dev": true, - "requires": { - "array-find-index": "^1.0.1" - } - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "dev": true - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", - "dev": true - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fstream": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", - "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" - } - }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "gaze": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", - "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", - "dev": true, - "requires": { - "globule": "^1.0.0" - } - }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true - }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "globule": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz", - "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==", - "dev": true, - "requires": { - "glob": "~7.1.1", - "lodash": "~4.17.10", - "minimatch": "~3.0.2" - } - }, - "graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", - "dev": true - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", - "dev": true, - "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "dev": true - }, - "hosted-git-info": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz", - "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==", - "dev": true - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "in-publish": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", - "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=", - "dev": true - }, - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "dev": true, - "requires": { - "repeating": "^2.0.0" - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", - "dev": true - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "js-base64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz", - "integrity": "sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==", - "dev": true - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "dev": true, - "requires": { - "invert-kv": "^1.0.0" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, - "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", - "dev": true - }, - "loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", - "dev": true, - "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" - } - }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true - }, - "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "dev": true, - "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" - } - }, - "mime-db": { - "version": "1.42.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.42.0.tgz", - "integrity": "sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ==", - "dev": true - }, - "mime-types": { - "version": "2.1.25", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.25.tgz", - "integrity": "sha512-5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg==", - "dev": true, - "requires": { - "mime-db": "1.42.0" - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, - "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - } - } - }, - "nan": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", - "dev": true - }, - "node-gyp": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", - "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", - "dev": true, - "requires": { - "fstream": "^1.0.0", - "glob": "^7.0.3", - "graceful-fs": "^4.1.2", - "mkdirp": "^0.5.0", - "nopt": "2 || 3", - "npmlog": "0 || 1 || 2 || 3 || 4", - "osenv": "0", - "request": "^2.87.0", - "rimraf": "2", - "semver": "~5.3.0", - "tar": "^2.0.0", - "which": "1" - }, - "dependencies": { - "semver": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", - "dev": true - } - } - }, - "node-sass": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.13.0.tgz", - "integrity": "sha512-W1XBrvoJ1dy7VsvTAS5q1V45lREbTlZQqFbiHb3R3OTTCma0XBtuG6xZ6Z4506nR4lmHPTqVRwxT6KgtWC97CA==", - "dev": true, - "requires": { - "async-foreach": "^0.1.3", - "chalk": "^1.1.1", - "cross-spawn": "^3.0.0", - "gaze": "^1.0.0", - "get-stdin": "^4.0.1", - "glob": "^7.0.3", - "in-publish": "^2.0.0", - "lodash": "^4.17.15", - "meow": "^3.7.0", - "mkdirp": "^0.5.1", - "nan": "^2.13.2", - "node-gyp": "^3.8.0", - "npmlog": "^4.0.0", - "request": "^2.88.0", - "sass-graph": "^2.2.4", - "stdout-stream": "^1.4.0", - "true-case-path": "^1.0.2" - } - }, - "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true, - "requires": { - "abbrev": "1" - } - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "dev": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "dev": true, - "requires": { - "lcid": "^1.0.0" - } - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "dev": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "^2.0.0" - } - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "psl": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.6.0.tgz", - "integrity": "sha512-SYKKmVel98NCOYXpkwUqZqh0ahZeeKfmisiLIcEZdsb+WbLv02g/dI5BUmZnIyOe7RzZtLax81nnb2HbvC2tzA==", - "dev": true - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "dev": true, - "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" - } - }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, - "requires": { - "is-finite": "^1.0.0" - } - }, - "request": { - "version": "2.88.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", - "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.0", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.4.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true - }, - "resolve": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.13.1.tgz", - "integrity": "sha512-CxqObCX8K8YtAhOBRg+lrcdn+LK+WYOS8tSjqSFbjtrI5PnS63QPhZl4+yKfrU9tdsbMu9Anr/amegT87M9Z6w==", - "dev": true, - "requires": { - "path-parse": "^1.0.6" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "sass-graph": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", - "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", - "dev": true, - "requires": { - "glob": "^7.0.0", - "lodash": "^4.0.0", - "scss-tokenizer": "^0.2.3", - "yargs": "^7.0.0" - } - }, - "scss-tokenizer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", - "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", - "dev": true, - "requires": { - "js-base64": "^2.1.8", - "source-map": "^0.4.2" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true - }, - "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "dev": true, - "requires": { - "amdefine": ">=0.0.4" - } - }, - "spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", - "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", - "dev": true - }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "stdout-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", - "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", - "dev": true, - "requires": { - "readable-stream": "^2.0.1" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "dev": true, - "requires": { - "get-stdin": "^4.0.1" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - }, - "tar": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", - "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", - "dev": true, - "requires": { - "block-stream": "*", - "fstream": "^1.0.12", - "inherits": "2" - } - }, - "tough-cookie": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", - "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", - "dev": true, - "requires": { - "psl": "^1.1.24", - "punycode": "^1.4.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - } - } - }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", - "dev": true - }, - "true-case-path": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", - "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", - "dev": true, - "requires": { - "glob": "^7.1.2" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "uuid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", - "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==", - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", - "dev": true - }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dev": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", - "dev": true - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - }, - "yargs": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", - "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", - "dev": true, - "requires": { - "camelcase": "^3.0.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.2", - "which-module": "^1.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^5.0.0" - }, - "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - } - } - }, - "yargs-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", - "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", - "dev": true, - "requires": { - "camelcase": "^3.0.0" - }, - "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - } - } - } - } -} diff --git a/style/package.json b/style/package.json deleted file mode 100644 index 5d308a8..0000000 --- a/style/package.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "schnittfest", - "version": "1.0.0", - "description": "Schnittfest GmbH website styling.", - "main": "index.js", - "scripts": { - "build": "node-sass sass/ -o ../static/ --output-style compressed", - "style": "node-sass -w sass/ -o ../static/ --output-style compressed" - }, - "author": "Marvin Blum, Daniel Schramm", - "license": "ISC", - "devDependencies": { - "node-sass": "^4.14.1" - } -} diff --git a/template/404_page.html b/template/404_page.html deleted file mode 100644 index e69de29..0000000 diff --git a/template/footer.html b/template/footer.html deleted file mode 100644 index 6a74659..0000000 --- a/template/footer.html +++ /dev/null @@ -1,25 +0,0 @@ - \ No newline at end of file diff --git a/template/landing_page.html b/template/landing_page.html deleted file mode 100644 index 50241e3..0000000 --- a/template/landing_page.html +++ /dev/null @@ -1,354 +0,0 @@ - - -
-sleep.shoot.eat.repeat.
-Herausstechen und Welten erschaffen.
-Keine Musik wäre wie Butter ohne Brot.
-Schüco Stories auf den schwedischen Inseln in der Nähe von Stockholm. Bei diesem Bauprojekt wurde das komplette vorhaben von der Entstehung bis zum fertigen Objekt filmisch begleitet.
-Seit 25 Jahren bringt DansArt Tanz und Kultur nach Bielefeld. In vier Tanzstudios und einem eigenen Theater finden regelmäßig Tanzkurse, Ausbildungen für angehende Profitänzer *innen, Festivals, Workshops, Performances und Konzerte statt.
-Neubau, Erweiterung und Renovation – das sind die Geschäftsfelder von H.O. Schlüter. Die H.O. Schlüter GmbH arbeitet als Partner zusammen mit Schüco International KG. Der Metallbau Lübz stellt sich in diesem Unternehmensfilm vor.
-Umbauten von Verbrennern zu Elektrofahrzeugen. ESDI EV Technologies ist eine Firma, die sich auf dem Schwerpunkt Elektroumbauten fokussiert hat. Mit Tesla-Technik, Nissan Leaf oder vielen weiteren baut ESDI EV VW Käfer, Porsche, Mini Cooper und mehr zu Elektrofahrzeugen.
-GOLDBECK und Schüco, das Fenstersystem AWE80 in der Entwicklung und Produktion in Bielefeld.
-Digitalisierung im Metallbau - Die berühmt-berüchtigte Industrie 4.0.
-Azubi Recruiting Film für die Berufe Metallbauer, Metalltechnik, Technischer Systemplaner, Büromanagement.
-Internationaler Reitsport – 140 Reiter aus mehr als 30 Nationen die an den German Friendships auf den Bexterhof in Herford teilnehmen.
-50 führende Familienunternehmen aus ganz Deutschland zum Karrieretag Familienunternehmen in Bielefeld bei Schüco - Miele, Hilti, Haribo und viele mehr.
-- Ready to Shoot Set mit ARRI Alexa Mini LF inkl. Zubehör. Weitere Details entnehmen Sie bitte der Preisliste. Es gelten die allgemeinen Geschäftsbedinungen. -
- Preisliste - Jetzt buchen -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Schnittfest GmbH
- Schulbusch 29
- 33378 Rheda-Wiedenbrück
- NRW, GERMANY
-
- Telefon: +49 5242 90 79 902
- Mobil: +49 176 931 249 84
- E-Mail: malteblum@schnittfest.gmbh
-
- Verantwortlich für den Inhalt nach § 55 Abs. 2 RStV ist:
- Geschäftsführer: Malte Blum
-
- Die Betreiber dieser Seiten nehmen den Schutz Ihrer persönlichen Daten sehr ernst. Wir behandeln Ihre personenbezogenen Daten vertraulich und entsprechend der gesetzlichen Datenschutzvorschriften sowie dieser Datenschutzerklärung.Die Nutzung un serer Webseite ist in der Regel ohne Angabe personenbezogener Daten möglich. Soweit auf unseren Seiten personenbezogene Daten (beispielsweise Name, Anschrift oder E-Mail-Adressen) erhoben werden, erfolgt dies, soweit möglich, stets auf freiwilliger Basis. Diese Daten werden ohne Ihre ausdrückliche Zustimmung nicht an Dritte weitergegeben.Wir weisen darauf hin, dass die Datenübertragung im Internet (z.B. bei der Kommunikation per E-Mail) Sicherheitslücken aufweisen kann. Ein lückenloser Schutz der Daten vor dem Zugriff durch Dritte ist nicht möglich. -
-- Die Internetseiten verwenden teilweise so genannte Cookies. Cookies richten auf Ihrem Rechner keinen Schaden an und enthalten keine Viren. Cookies dienen dazu, unser Angebot nutzerfreundlicher, effektiver und sicherer zu machen. Cookies sind kleine Textdateien, die auf Ihrem Rechner abgelegt werden und die Ihr Browser speichert. Die meisten der von uns verwendeten Cookies sind so genannte „Session-Cookies“. Sie werden nach Ende Ihres Besuchs automatisch ge löscht. Andere Cookies bleiben auf Ihrem Endgerät gespeichert, bis Sie diese löschen. Diese Cookies ermöglichen es uns, Ihren Browser beim nächsten Besuch wiederzuerkennen.Sie können Ihren Browser so einstellen, dass Sie über das Setzen von Cookies informiert werden und Cookies nur im Einzelfall erlauben, die Annahme von Cookies für bestimmte Fälle oder generell ausschließen sowie das automatische Löschen der Cookies beim Schließen des Browser aktivieren. Bei der Deaktivierung von Cookies kann die Funktionalität dieser Website eingeschränkt sein. -
-- Wenn Sie uns per Kontaktformular Anfragen zukommen lassen, werden Ihre Angaben aus dem Anfrageformular inklusive der von Ihnen dort angegebenen Kontaktdaten zwecks Bearbeitung der Anfrage und für den Fall von Anschlussfragen bei uns gespeichert. Diese Daten geben wir nicht ohne Ihre Einwilligung weiter. -
-- Diese Seite nutzt aus Gründen der Sicherheit und zum Schutz der Übertragung vertraulicher Inhalte, wie zum Beispiel der Anfragen, die Sie an uns als Seitenbetreiber senden, eine SSL-Verschlüsselung. Eine verschlüsselte Verbindung erkennen Sie daran, dass die Adresszeile des Browsers von "http://" auf "https://" wechselt und an dem Schloss-Symbol in Ihrer Browserzeile. Wenn die SSL-Verschlüsselung aktiviert ist, können die Daten, die Sie an uns übermitteln, nicht von Dritten mitgelesen werden. -
-- Alle Preise verstehen sich zzgl. 3% Versicherungsgebühr und 19% MwSt. -
-- Rentalfest ist ein Ableger von der Schnittfest GmbH (Schulbusch 29, 33378 Rheda-Wiedenbrück, Tel.: 0176 931 249 84) -
-- Alle Lieferungen und Leistungen der Schnittfest GmbH erfolgen ausschließlich zu den nachstehenden Bedingungen. Dies gilt insbesondere auch im Falle entgegenstehender Bedingungen des Auftraggebers. Abweichungen sind nur gültig, wenn sie von uns schriftlich bestätigt werden. -
-- Unsere Angebote sind grundsätzlich freibleibend, sofern nicht eine bestimmte Bindungsdauer zugesichert wird. Der Vertrag kommt erst zustande, wenn er durch uns schriftlich bestätigt oder mit der Erfüllung des Auftrags begonnen wurde. Es bleibt ausdrücklich vorbehalten, den Vertragsgegenstand durch einen solchen zu ersetzen, der Mietsache weitestgehend gleichwertig ist. Geringfügige Abweichungen bleiben vorbehalten -
-- Der Mietzins für die Mietsache neben Zubehör richtet sich nach der bei Vertragsabschluss gültigen Preisliste zuzüglich Umsatzsteuer und Versicherungsentgelt für die film- und/oder lichttechnische Ausrüstung in der jeweils geltenden Höhe. Einzel- und Pauschalpreise gelten pro Tag. Bei Gerätschaften mit Zubehör gilt der vollständige Listenpreis oder Pauschalpreis auch dann, wenn auf Wunsch des Mieters einzelne Zubehörstücke nicht mitgeliefert wurden. -
-- Die Nutzungsbefugnis des Mieters erstreckt sich nur auf den vertraglich vereinbarten Zeitraum. Der Mietzins wird für den vollständigen Zeitraum der Mietzeit einschließlich An- und Ablieferung berechnet, spätestens aber ab dem Zeitpunkt der Bereitstellung im Lager Bielefeld oder der Versendung der Waren an den Mieter bis zur Rückgabe. Der Mietzins wird nach vollen Tagessätzen berechnet. Samstage, Sonntage und Feiertage werden voll berechnet. Eine Rückgabe der Geräte an diesen Tagen ist nach Vereinbarung möglich. -
-- Wird die Mietsache nicht bis 10.00 Uhr am Rückgabetag an uns ausgehändigt, wird für den Tag der volle Mietzins berechnet, es sei denn, es ist eine spätere Rückgabe vereinbar oder der Mieter weist nach, dass kein oder ein geringerer Schaden entstanden ist. Nimmt der Mieter die Mietsache nicht ab, und teilt er uns dies nicht mindestens 2 Tage vor dem vereinbarten Vertragsbeginn mit, so hat er 50 % des auf die vertragliche Laufzeit entfallenden Mietzinses als Schadenersatz an uns zu zahlen, es sei denn, der Mieter weist nach, dass kein oder ein geringerer Schaden entstanden ist. Sollte uns die vertragsgemäße Übergabe der Geräte an den Kunden dadurch unmöglich werden, dass wir die Geräte ohne unser Verschulden von einem anderen Kunden verspätet oder beschädigt zurückerhalten, so werden wir von unserer Leistung frei und haften für Folgeschäden nur, soweit wir bei dem anderen Kunden deswegen evtl. Schadensersatzansprüche tatsächlich realisieren. -
-- Der Mieter ist berechtigt, die Mietsache im Gebiet der Bundesrepublik Deutschland zu nutzen. Will er die Mietsache an einen außerhalb der Bundesr epublik Deutschland gelegenen Ort verbringen, so ist hierzu unsere schriftliche Einwilligung erforderlich. In Ländern, in denen Krieg, Bürgerkrieg, Unruhen oder dergleichen herrschen, oder bei sorgfältiger Prüfung zu erwarten ist, dass innerhalb der Mietze it derartiges auftritt, ist eine Verbringung nur dann möglich, wenn dies von uns schriftlich gestattet und von dem Mieter für den Fall eines Totalverlustes der Mietsache zuvor ausreichend Sicherheit bereitgestellt wird. In jedem sonstigen Falle haftet der Mieter in diesen Ländern für entstandene Schäden in voller Höhe. -
-- Der Mieter trägt grundsätzlich die Transportgefahr. Das gilt auch dann, wenn die Versendung durch uns oder von uns beauftragten Dritten vorgenommen wird. Die Kosten der Ve rsendung und der Rücksendung an unsere gewerbliche Niederlassung einschließlich der Kosten einer ordnungsgemäßen Verpackung trägt der Mieter. Wird die Mietsache vom Mieter ins Ausland verbracht oder auf dessen Wunsch von uns dorthin versandt, verpflichtet sich der Mieter zur ordnungsgemäßen Abwicklung des Zollverfahrens. Die daraus resultierenden Kosten trägt der Mieter. -
-- Der Mieter hat uns darüber zu informieren, für welchen Zweck er die Mietsache verwendet. Über Umstände, die unsere Interessen berühren, hat uns der Mieter unaufgefordert zu unterrichten. Der Mieter verpflichtet sich, die Mietsachen pfleglich und sachkundig zu behandeln. Vorbehaltlich des sachgerechten Austauschs von Leuchtmitteln ist der Mieter nicht berechtigt, an den Mietsachen Instandsetzungsarbeiten vorzunehmen. Der Mieter verpflichtet sich, unverzüglich nach Erhalt der Mietsachen zu prüfen, ob diese funktionstüchtig sind und der Bestellung entsprechen. Abweichungen hinsichtlich der Zahl, Art und Güte von der Bestellung, dem Lieferschein und / oder der Rechnung sind unverzüglich zu rügen. Transportschäden sind uns sofort, spätestens aber am 1. Werktag nach der Ablieferung an den Mieter anzuzeigen, da andernfalls der Verlust des Versicherungsschutzes droht. -
-- Die Übernahme der Mietsachen gilt als Bestätigung des einwandfreien und zum vertragsgemäßen Gebrauch geeigneten Zustandes. Treten Mängel an den Mietsache n oder Zubehörteilen während der Vertragslaufzeit auf oder kommen derartige Gegenstände abhanden, so ist der Mieter verpflichtet, uns unverzüglich, spätestens jedoch am folgenden Werktage nach dem Vorfall darüber in Kenntnis zu setzen. Der Mieter ist bei M ängeln an der Mietsache nicht von der Zahlung des Mietzinses befreit oder zu dessen Minderung berechtigt, wenn der Mangel nicht unverzüglich nach Empfang angezeigt wird.Der Kunde ist spätestens bei der Rückgabe der Geräte verpflichtet, uns auf evtl. Schäde n an den Geräten aufmerksam zu machen. Dies gilt auch dann, wenn der Kunde Schäden nur für möglich hält (z.B. nach Wasserkontakt, Anstoß, außergewöhnlichen oder gefahrenträchtigen Einsatz). Unterlässt dies der Kunde, so gilt dies als arglistige Täuschung m it allen sich daraus ergebenden Rechtsfolgen. Den Mangel der Vollständigkeit sowie offenkundig sichtbare Schäden der Geräte haben wir unverzüglich bei Rückgabe nach einer ersten Sichtprüfung gegenüber dem Kunden zu rügen. Der Kunde ist daher zur Anwesenhei t während der Rückgabe sowie zur Beantwortung evtl. Rückfragen zur Ausrüstung verpflichtet. Bei Mängeln und Schäden, die bei der Übergabe festgestellt und gerügt werden, wird vermutet, dass diese während der Mietzeit entstanden sind. Nach der Rückgabe unte rziehen wir die Geräte einer eingehenden Sichtprüfung und einer Funktionsprüfung. Für dabei festgestellte Schäden haftet der Kunde, wenn wir nachweisen, dass diese nicht während der Zeit zwischen Rückgabe und unserer Überprüfung eingetreten sind. In jedem Falle bleibt dem Kunden jedoch der Nachweis vorbehalten, ein bereits bei der Übergabe schadhaftes Gerät erhalten zu haben.Der Kunde haftet für alle Vermögensnachteile, die uns durch eine verspätete Rückgabe der Geräte entstehen und zwar unabhängig davon, o b der Kunde dies verschuldet hat oder nicht. Gleiches gilt für die Rückgabe beschädigter oder defekter Geräte. Insbesondere kommen neben Reparaturkosten folgende Schäden in Betracht: Die Unmöglichkeit der anderweitigen Vermietung, Leistung von berechtigtem Schadensersatz an einen nachfolgenden Mieter, Kosten der Ersatzanmietung oder Ersatzbeschaffung. Die Verjährungsfrist des § 548 BGB wird auf 1 Jahr verlängert.Bei verspäteter Rückgabe der Geräte schuldet der Kunde für die betreffende Zeit den aktuellen Li stenpreis als Nutzungsentschädigung, auch wenn für die Mietzeit ein geringerer Preis vereinbart ist. Gibt der Kunde Geräte zurück, die während der Mietzeit einen Schaden erlitten haben, für den der Kunde nach diesen Bedingungen haftet, so schuldet der Kund e, neben dem Ersatz des Schadens, den Mietpreis gem. Preisliste bis zur endgültigen Instandsetzung bzw. Geräteneuanschaffung. -
-- Zusätzlich zum Mietpreis trägt der Kunde gemäß unserer Preisliste anteilig die Kosten der obligatorischen Sachversicherung für die Geräte. Der Mietpreis einschl. Versicherungspauschale erhöht sich um den jeweils gültigen Mehrwertsteuersatz. Erteilte Rechnungen sind ohne Abzug sofort fällig. Der Kunde gerät auch ohne weitere Mahnung spätestens 14 Tage nach dem Rechnungsdatum in Verzug . Wir sind berechtigt, die Übergabe der Geräte oder Waren von einer vollständigen Vorauszahlung abhängig zu machen. -
-- Die Mietsache steht in unserem Alleineigentum. Es ist dem Mieter grundsätzlich untersagt, die Mietsachen entgeltlich oder unentgeltlich an Dritte zum Gebrauch zu überlassen, wenn nicht unsere schriftliche Einwilligung erteilt wurde. Wir sind berechtigt, den Vertrag sofort zu kündigen, wenn der Mieter die Mietsache unbefugt einem Drit ten überlässt. Gleichzeitig sind wir in diesem Fall zur sofortigen Inbesitznahme der Mietsache berechtigt. Unbeschadet der vorstehenden Regelung ist der Mieter im Falle der entgeltlichen Weitervermietung verpflichtet, die gesamten davon betroffenen Geräte seinem eigenen Versicherungsschutz zu unterstellen und die Schadensregulierung über seine eigene Versicherung vorzunehmen. In derartigen Fällen ist eine Inanspruchnahme unserer Versicherung ausgeschlossen. -
-- Der Mieter ist verpflichtet, bei Vollstreckungsmaß nahmen in die Mietsachen und bei Pfändungen auf die Eigentumsverhältnisse hinzuweisen. Er hat uns in diesen Fällen unverzüglich zu unterrichten. Hält der Mieter das vereinbarte Zahlungsziel nicht ein, sind wir berechtigt, den Vertrag fristlos zu kündigen u nd die sofortige Herausgabe der Mietsache zu verlangen. Für den Fall der Durchsetzung des Herausgabeanspruchs ermächtigt der Mieter unwiderruflich uns oder von uns beauftragte Dritte, jeden Raum zu betreten, in dem sich die Mietsache oder Teile davon dann befinden. Der Mieter verzichtet auf die Geltendmachung eines Zurückbehaltungsrechts, gleich aus welchem Rechtsgrunde. -
-- Für entstandene Schäden – gleich aus welchem Rechtsgrund – haften wir grundsätzlich nur bei Vorsatz oder grober Fahrlässigkeit. Bei der Verletzung von wesentlichen Vertragspflichten, bei Fehlen zugesicherter Eigenschaften sowie bei der Verletzung von Leben, Körper oder Gesundheit haften wir auch dann, wenn der Schaden leicht fahrlässig verursacht wurde. -
-- Die Haftung wird in Fällen der leicht fahrlässigen Verletzung wesentlicher Vertragspflichten auf den vertragstypischen und voraussehbaren Schaden beschränkt. In diesen Fällen haften wir nicht für mittelbare Schäden, Mangelfolgeschäden oder entgangenen Gewinn. Insbeson dere ausgeschlossen ist eine Haftung für unmittelbar oder mittelbar entstandene Schäden, die durch Funktionsstörungen oder Ausfälle der Mietsache nebst Zubehör am Produktionsort entstehen. -
-- Soweit die Haftung nach den vorbezeichneten Bestimmungen beschränkt oder ausgeschlossen ist, gilt dies auch für unsere Vertreter, Arbeitnehmer, Mitarbeiter und Erfüllungsgehilfen. Eine etwaige Haftung nach dem Produkthaftungsgesetz bleibt unberührt. -
-- Die Mietsachen sind nach den allgemeinen Bedingungen für die Elektronikversicherung (AEB) versichert. Der Versicherungsvertrag beinhaltet einen verschuldensunabhängigen Selbstbehalt in Höhe von 500,00 € pro Schadenfall. Die Versicherungsbedingungen liegen bei uns zur Einsicht bereit. Es wird ausdrücklich darauf hingewiesen, dass der Versicherungsvertrag nur in Europa gilt. Will der Mieter die Gerätschaften an einen außereuropäischen Ort verbringen, so hat er dies vor Vertragsschluss mitzuteilen, damit für uns ausreichend Zeit zur Verfügung steht, die Mietsache g egen die Gefahrenerhöhung zu versichern. Bei gefährlichen Einsätzen, wie sie z.B. bei Fahr - , Hubschrauber - , Unterwasser - , Hochsee - (außerhalb der 3 Meilenzone), Hochgebirgsaufnahmen und dergleichen vorliegen, sind zwecks Abschluss einer Zusatzversicherung entsprechende Hinweise an uns bei Vertragschluss zu machen. Die Kosten für eine erforderliche Zusatzversicherung trägt in jedem Falle der Mieter. -
-- Der Mieter ist bei Diebstahl, Unterschlagung, Raub oder Veruntreuung durch Dritte oder sonstigem Abhandenkomme n der Mietsache verpflichtet, dieses Ereignis unverzüglich polizeilich anzuzeigen und einen ausführlichen Schadensbericht anzufertigen. Das Nichtbefolgen dieser Pflicht führt zur vollständigen Haftung des Mieters. Nach den Versicherungsbedingungen sind Sch äden an Leuchtmitteln und Kathodenstrahlröhren nicht versichert. -
-- Während der gesamten Mietdauer übernimmt der Mieter für die gemieteten Gegenstände samt Zubehör die Haftung, auch für Zufall. Entstehen beim Mieter od er Dritten beim Gebrauch der Mietsache Schäden, die auf eine unqualifizierte oder unsachgemäße Ingebrauchnahme der Mietsache oder des Zubehörs zurückzuführen sind, so haftet der Mieter hierfür uneingeschränkt und hat uns auf Verlangen von der Haftung gegen über Dritten freizustellen. Besteht eine Versicherung für eine Gefahr und wird ein Schaden nicht in der entstandenen Höhe von dieser Versicherung getragen, so haftet der Mieter für den Differenzbetrag. Kathodenstrahlröhren nicht versichert. -
-- Gibt der Mieter die Mietsache mangelhaft oder nicht zu rück, so hat er während der Reparatur oder Wiederbeschaffungszeit Nutzungsausfall in Höhe des Mietzinses zu zahlen, es sei denn, der Mieter weist nach, dass kein oder ein geringerer Schaden entstanden ist -
-- Es ist grundsätzlich Zahlu ng bei Auslieferung bzw. Übergabe vereinbart. Abweichende Zahlungsziele müssen schriftlich vereinbart werden. Eine Aufrechnung gegen unsere Forderungen ist ausgeschlossen, es sei denn, dass die Gegenforderung unbestritten oder rechtskräftig festgestellt is t. Gleiches gilt für die Geltendmachung eines Zurückbehaltungsrechts. -
-- Kommt der Mieter mit der Zahlung des Mietzinses oder eines anderen Betrages in Verzug, so sind wir berechtigt, Verzugszinsen in Höhe von 8 % über dem jeweiligen Basiszinssatz zu berechne n. Bei einer verzugsbedingten Mahnung sind wir zudem berechtigt, eine Pauschale von 5,00 € zu berechnen. Die Geltendmachung eines weitergehenden Schadens bleibt unberührt. -
-- Vereinbarte Preisnachlässe geraten bei Zahlungsverzug des Mieters sowie bei einer ge richtlichen Geltendmachung unserer Forderungen in Wegfall. -
-- Erfüllungsort für Lieferung und Leistungen aus diesem Vertrag ist Bielefeld . Für die auf Grundlage dieser Bedingungen abgeschlossenen Verträge und der aus Ihnen folgenden Ansprüche gilt deutsches Recht. Für sämtliche gegenwärtigen und zukünftigen Ansprüche aus der Geschäftsbeziehung einschließlich Wechsel- und Scheckforderungen ist, wenn der Vertragspartner Unternehmer, eine juristische Person des öffentlichen Rechts oder ein öffentlich-rechtliches Sondervermögen ist, ausschließlicher Gerichtsstand Bielefeld . -
-- Mündliche Nebenabreden sind zu diesem Vertrag nicht getroffen worden. Änderungen und Ergänzungen sowie die teilweise oder gesamte Aufhebung des Vertrages bedürfen der Schriftform. Dies gilt auch für die Aufhebung oder Änderung des Schriftformerfordernisses. -
-- Sollte eine Bestimmung oder mehrere Bestimmungen dieser Vereinbarung unwirksam sein oder werden, so bl eiben die übrigen Bestimmungen wirksam. Die Parteien verpflichten sich, die unwirksame Bestimmung durch eine wirksame Bestimmung zu ersetzen, die dem ursprünglichen wirtschaftlichen Inhalt der unwirksamen Bestimmung weitestgehend entspricht . -
-