diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..de862ff --- /dev/null +++ b/.dockerignore @@ -0,0 +1,7 @@ +bin\ +obj\ +*/node_modules +.git +*Dockerfile +**docker-compose +*node_modules \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..632d009 --- /dev/null +++ b/.gitignore @@ -0,0 +1,49 @@ +# See http://help.github.com/ignore-files/ for more about ignoring files. + +# compiled output +/dist +/tmp +/out-tsc +# Only exists if Bazel was run +/bazel-out + +# dependencies +/node_modules + +# profiling files +chrome-profiler-events*.json +speed-measure-plugin*.json + +# IDEs and editors +/.idea +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# IDE - VSCode +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +.history/* + +# misc +/.sass-cache +/connect.lock +/coverage +/libpeerconnection.log +npm-debug.log +yarn-error.log +testem.log +/typings + +# System Files +.DS_Store +Thumbs.db + +# workspace +PR-PENSO-004-FRONTEND.code-workspace \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..4d2372b --- /dev/null +++ b/Dockerfile @@ -0,0 +1,13 @@ +FROM node:alpine AS builder +COPY . ./frontend2 +WORKDIR /frontend2 + +RUN apk update && \ + apk upgrade && \ + apk add git + +RUN npm i +RUN $(npm bin)/ng build --prod --build-optimizer=false --aot=false + +FROM nginx:alpine +COPY --from=builder /frontend2/dist/frontend2/ /usr/share/nginx/html/ \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..667c898 --- /dev/null +++ b/README.md @@ -0,0 +1,31 @@ +Ref_ + +https://developer.mozilla.org/es/docs/Learn/Server-side/Express_Nodejs/skeleton_website +https://blog.nubecolectiva.com/como-crear-una-pagina-web-con-node-js-10-express-js-4-y-bootstrap-4-parte-1/ +https://www.sitepoint.com/build-simple-beginner-app-node-bootstrap-mongodb/ + +Estructura del proyecto + + /express-locallibrary-tutorial + app.js + /bin + www + package.json + /node_modules + [about 4,500 subdirectories and files] + /public + /images + /javascripts + /stylesheets + style.css + /routes + index.js + users.js + /views + error.pug + index.pug + layout.pug + +Start + +npm run devstart \ No newline at end of file diff --git a/app.js b/app.js new file mode 100644 index 0000000..95b490a --- /dev/null +++ b/app.js @@ -0,0 +1,49 @@ +var createError = require('http-errors'); +var express = require('express'); +var path = require('path'); +var cookieParser = require('cookie-parser'); +var logger = require('morgan'); + +var indexRouter = require('./routes/index'); +var usersRouter = require('./routes/users'); + +var app = express(); + +// view engine setup +app.set('views', path.join(__dirname, 'views')); +app.set('view engine', 'pug'); + +app.use(logger('dev')); +app.use(express.json()); +app.use(express.urlencoded({ extended: false })); +app.use(cookieParser()); +app.use(express.static(path.join(__dirname, 'public'))); + +// Bootstrap 4 y librerías necesarias +app.use('/css', express.static(__dirname + '/node_modules/bootstrap/dist/css')); +app.use('/js', express.static(__dirname + '/node_modules/jquery/dist')); +app.use('/js', express.static(__dirname + '/node_modules/popper.js/dist')); +app.use('/js', express.static(__dirname + '/node_modules/bootstrap/dist/js')); + +app.use('/', indexRouter); +app.use('/users', usersRouter); + +// catch 404 and forward to error handler +app.use(function(req, res, next) { + next(createError(404)); +}); + +// error handler +app.use(function(err, req, res, next) { + // set locals, only providing error in development + res.locals.message = err.message; + res.locals.error = req.app.get('env') === 'development' ? err : {}; + + // render the error page + res.status(err.status || 500); + res.render('error'); +}); + + + +module.exports = app; diff --git a/bin/www b/bin/www new file mode 100644 index 0000000..86adf59 --- /dev/null +++ b/bin/www @@ -0,0 +1,90 @@ +#!/usr/bin/env node + +/** + * Module dependencies. + */ + +var app = require('../app'); +var debug = require('debug')('geokids-web:server'); +var http = require('http'); + +/** + * Get port from environment and store in Express. + */ + +var port = normalizePort(process.env.PORT || '3000'); +app.set('port', port); + +/** + * Create HTTP server. + */ + +var server = http.createServer(app); + +/** + * Listen on provided port, on all network interfaces. + */ + +server.listen(port); +server.on('error', onError); +server.on('listening', onListening); + +/** + * Normalize a port into a number, string, or false. + */ + +function normalizePort(val) { + var port = parseInt(val, 10); + + if (isNaN(port)) { + // named pipe + return val; + } + + if (port >= 0) { + // port number + return port; + } + + return false; +} + +/** + * Event listener for HTTP server "error" event. + */ + +function onError(error) { + if (error.syscall !== 'listen') { + throw error; + } + + var bind = typeof port === 'string' + ? 'Pipe ' + port + : 'Port ' + port; + + // handle specific listen errors with friendly messages + switch (error.code) { + case 'EACCES': + console.error(bind + ' requires elevated privileges'); + process.exit(1); + break; + case 'EADDRINUSE': + console.error(bind + ' is already in use'); + process.exit(1); + break; + default: + throw error; + } +} + +/** + * Event listener for HTTP server "listening" event. + */ + +function onListening() { + var addr = server.address(); + var bind = typeof addr === 'string' + ? 'pipe ' + addr + : 'port ' + addr.port; + debug('Listening on ' + bind); +} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..7521562 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1880 @@ +{ + "name": "geokids-web", + "version": "0.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@fortawesome/fontawesome-free": { + "version": "5.13.1", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.13.1.tgz", + "integrity": "sha512-D819f34FLHeBN/4xvw0HR0u7U2G7RqjPSggXqf7LktsxWQ48VAfGwvMrhcVuaZV2fF069c/619RdgCCms0DHhw==" + }, + "@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", + "dev": true + }, + "@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "dev": true, + "requires": { + "defer-to-connect": "^1.0.1" + } + }, + "@types/babel-types": { + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/@types/babel-types/-/babel-types-7.0.8.tgz", + "integrity": "sha512-jvu8g4LR7+p6ao30RhTREnEhHxmP4/R9D9/rOR/Kq14FztORty9SKgtOZUNZNMB9CXLxZ54EWu4dArUE8WdTsw==" + }, + "@types/babylon": { + "version": "6.16.5", + "resolved": "https://registry.npmjs.org/@types/babylon/-/babylon-6.16.5.tgz", + "integrity": "sha512-xH2e58elpj1X4ynnKp9qSnWlsRTIs6n3tgLGNfwAGHwePw0mulHQllV34n0T25uYSu1k0hRKkWXF890B1yS47w==", + "requires": { + "@types/babel-types": "*" + } + }, + "@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", + "dev": true + }, + "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 + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=" + }, + "acorn-globals": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz", + "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=", + "requires": { + "acorn": "^4.0.4" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" + } + } + }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "requires": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + } + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" + }, + "ansi-align": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", + "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", + "dev": true, + "requires": { + "string-width": "^3.0.0" + }, + "dependencies": { + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + } + } + }, + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "binary-extensions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", + "dev": true + }, + "body-parser": { + "version": "1.18.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", + "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", + "requires": { + "bytes": "3.0.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "~1.6.3", + "iconv-lite": "0.4.23", + "on-finished": "~2.3.0", + "qs": "6.5.2", + "raw-body": "2.3.3", + "type-is": "~1.6.16" + } + }, + "bootstrap": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.5.0.tgz", + "integrity": "sha512-Z93QoXvodoVslA+PWNdk23Hze4RBYIkpb5h8I2HY2Tu2h7A0LpAgLcyrhrSUyo2/Oxm2l1fRZPs1e5hnxnliXA==" + }, + "boxen": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz", + "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==", + "dev": true, + "requires": { + "ansi-align": "^3.0.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "cli-boxes": "^2.2.0", + "string-width": "^4.1.0", + "term-size": "^2.1.0", + "type-fest": "^0.8.1", + "widest-line": "^3.1.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + } + } + }, + "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" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" + }, + "cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "dev": true, + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "dependencies": { + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true + } + } + }, + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" + }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "requires": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "character-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz", + "integrity": "sha1-x84o821LzZdE5f/CxfzeHHMmH8A=", + "requires": { + "is-regex": "^1.0.3" + } + }, + "chokidar": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz", + "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==", + "dev": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.4.0" + } + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "clean-css": { + "version": "3.4.28", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.28.tgz", + "integrity": "sha1-vxlF6C/ICPVWlebd6uwBQA79A/8=", + "requires": { + "commander": "2.8.x", + "source-map": "0.4.x" + } + }, + "cli-boxes": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.0.tgz", + "integrity": "sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w==", + "dev": true + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "requires": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "commander": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", + "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", + "requires": { + "graceful-readlink": ">= 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 + }, + "configstore": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", + "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "graceful-fs": "^4.1.2", + "make-dir": "^3.0.0", + "unique-string": "^2.0.0", + "write-file-atomic": "^3.0.0", + "xdg-basedir": "^4.0.0" + } + }, + "constantinople": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-3.1.2.tgz", + "integrity": "sha512-yePcBqEFhLOqSBtwYOGGS1exHo/s1xjekXiinh4itpNQGCu4KA1euPh1fg07N2wMITZXQkBz75Ntdt1ctGZouw==", + "requires": { + "@types/babel-types": "^7.0.0", + "@types/babylon": "^6.16.2", + "babel-types": "^6.26.0", + "babylon": "^6.18.0" + } + }, + "content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=" + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" + }, + "cookie-parser": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.5.tgz", + "integrity": "sha512-f13bPUj/gG/5mDr+xLmSxxDsB9DQiTIfhJS/sqjrmfAWiAN+x2O4i/XguTL9yDZ+/IFDanJ+5x7hC4CXT9Tdzw==", + "requires": { + "cookie": "0.4.0", + "cookie-signature": "1.0.6" + } + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "core-js": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" + }, + "crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true + }, + "defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", + "dev": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "doctypes": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz", + "integrity": "sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=" + }, + "dot-prop": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz", + "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==", + "dev": true, + "requires": { + "is-obj": "^2.0.0" + } + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "escape-goat": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", + "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "express": { + "version": "4.16.4", + "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", + "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==", + "requires": { + "accepts": "~1.3.5", + "array-flatten": "1.1.1", + "body-parser": "1.18.3", + "content-disposition": "0.5.2", + "content-type": "~1.0.4", + "cookie": "0.3.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.1.1", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.4", + "qs": "6.5.2", + "range-parser": "~1.2.0", + "safe-buffer": "5.1.2", + "send": "0.16.2", + "serve-static": "1.13.2", + "setprototypeof": "1.1.0", + "statuses": "~1.4.0", + "type-is": "~1.6.16", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" + } + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", + "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.4.0", + "unpipe": "~1.0.0" + } + }, + "font-awesome": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/font-awesome/-/font-awesome-4.7.0.tgz", + "integrity": "sha1-j6jPBBGhoxr9B7BtKQK7n8gVoTM=", + "dev": true + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "global-dirs": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-2.0.1.tgz", + "integrity": "sha512-5HqUqdhkEovj2Of/ms3IeS/EekcO54ytHRLV4PEY2rhRwrHXLQjeVEES0Lhka0xwNDtGYn58wyC4s5+MHsOO6A==", + "dev": true, + "requires": { + "ini": "^1.3.5" + } + }, + "got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "dev": true, + "requires": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + } + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" + }, + "has-yarn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", + "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", + "dev": true + }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "dev": true + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "iconv-lite": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", + "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=", + "dev": true + }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "requires": { + "ci-info": "^2.0.0" + } + }, + "is-expression": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-3.0.0.tgz", + "integrity": "sha1-Oayqa+f9HzRx3ELHQW5hwkMXrJ8=", + "requires": { + "acorn": "~4.0.2", + "object-assign": "^4.0.1" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" + } + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-installed-globally": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz", + "integrity": "sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==", + "dev": true, + "requires": { + "global-dirs": "^2.0.1", + "is-path-inside": "^3.0.1" + } + }, + "is-npm": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz", + "integrity": "sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true + }, + "is-path-inside": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz", + "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==", + "dev": true + }, + "is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==" + }, + "is-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", + "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", + "requires": { + "has-symbols": "^1.0.1" + } + }, + "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-yarn-global": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", + "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", + "dev": true + }, + "jquery": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz", + "integrity": "sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg==" + }, + "js-stringify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz", + "integrity": "sha1-Fzb939lyTyijaCrcYjCufk6Weds=" + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", + "dev": true + }, + "jstransformer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", + "integrity": "sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM=", + "requires": { + "is-promise": "^2.0.0", + "promise": "^7.0.1" + } + }, + "keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "dev": true, + "requires": { + "json-buffer": "3.0.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + }, + "latest-version": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", + "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", + "dev": true, + "requires": { + "package-json": "^6.3.0" + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" + }, + "lodash": { + "version": "4.17.19", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", + "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==" + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" + }, + "mime-db": { + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" + }, + "mime-types": { + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "requires": { + "mime-db": "1.44.0" + } + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true + }, + "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.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "morgan": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz", + "integrity": "sha512-HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA==", + "requires": { + "basic-auth": "~2.0.0", + "debug": "2.6.9", + "depd": "~1.1.2", + "on-finished": "~2.3.0", + "on-headers": "~1.0.1" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "nodemon": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.4.tgz", + "integrity": "sha512-Ltced+hIfTmaS28Zjv1BM552oQ3dbwPqI4+zI0SLgq+wpJhSyqgYude/aZa/3i31VCQWMfXJVxvu86abcam3uQ==", + "dev": true, + "requires": { + "chokidar": "^3.2.2", + "debug": "^3.2.6", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.0.4", + "pstree.remy": "^1.1.7", + "semver": "^5.7.1", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.2", + "update-notifier": "^4.0.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "normalize-url": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", + "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==", + "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=" + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "dev": true + }, + "package-json": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", + "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", + "dev": true, + "requires": { + "got": "^9.6.0", + "registry-auth-token": "^4.0.0", + "registry-url": "^5.0.0", + "semver": "^6.2.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "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==" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true + }, + "popper.js": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", + "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==" + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "requires": { + "asap": "~2.0.3" + } + }, + "proxy-addr": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", + "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.1" + } + }, + "pstree.remy": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", + "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", + "dev": true + }, + "pug": { + "version": "2.0.0-beta11", + "resolved": "https://registry.npmjs.org/pug/-/pug-2.0.0-beta11.tgz", + "integrity": "sha1-Favmr1AEx+LPRhPksnRlyVRrXwE=", + "requires": { + "pug-code-gen": "^1.1.1", + "pug-filters": "^2.1.1", + "pug-lexer": "^3.0.0", + "pug-linker": "^2.0.2", + "pug-load": "^2.0.5", + "pug-parser": "^2.0.2", + "pug-runtime": "^2.0.3", + "pug-strip-comments": "^1.0.2" + } + }, + "pug-attrs": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-2.0.4.tgz", + "integrity": "sha512-TaZ4Z2TWUPDJcV3wjU3RtUXMrd3kM4Wzjbe3EWnSsZPsJ3LDI0F3yCnf2/W7PPFF+edUFQ0HgDL1IoxSz5K8EQ==", + "requires": { + "constantinople": "^3.0.1", + "js-stringify": "^1.0.1", + "pug-runtime": "^2.0.5" + } + }, + "pug-code-gen": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-1.1.1.tgz", + "integrity": "sha1-HPcnRO8qA56uajNAyqoRBYcSWOg=", + "requires": { + "constantinople": "^3.0.1", + "doctypes": "^1.1.0", + "js-stringify": "^1.0.1", + "pug-attrs": "^2.0.2", + "pug-error": "^1.3.2", + "pug-runtime": "^2.0.3", + "void-elements": "^2.0.1", + "with": "^5.0.0" + } + }, + "pug-error": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-1.3.3.tgz", + "integrity": "sha512-qE3YhESP2mRAWMFJgKdtT5D7ckThRScXRwkfo+Erqga7dyJdY3ZquspprMCj/9sJ2ijm5hXFWQE/A3l4poMWiQ==" + }, + "pug-filters": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-2.1.5.tgz", + "integrity": "sha512-xkw71KtrC4sxleKiq+cUlQzsiLn8pM5+vCgkChW2E6oNOzaqTSIBKIQ5cl4oheuDzvJYCTSYzRaVinMUrV4YLQ==", + "requires": { + "clean-css": "^3.3.0", + "constantinople": "^3.0.1", + "jstransformer": "1.0.0", + "pug-error": "^1.3.2", + "pug-walk": "^1.1.5", + "resolve": "^1.1.6", + "uglify-js": "^2.6.1" + } + }, + "pug-lexer": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-3.1.0.tgz", + "integrity": "sha1-/QhzdtSmdbT1n4/vQiiDQ06VgaI=", + "requires": { + "character-parser": "^2.1.1", + "is-expression": "^3.0.0", + "pug-error": "^1.3.2" + } + }, + "pug-linker": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-2.0.3.tgz", + "integrity": "sha1-szH/olc33eacEntWwQ/xf652bco=", + "requires": { + "pug-error": "^1.3.2", + "pug-walk": "^1.1.2" + } + }, + "pug-load": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/pug-load/-/pug-load-2.0.12.tgz", + "integrity": "sha512-UqpgGpyyXRYgJs/X60sE6SIf8UBsmcHYKNaOccyVLEuT6OPBIMo6xMPhoJnqtB3Q3BbO4Z3Bjz5qDsUWh4rXsg==", + "requires": { + "object-assign": "^4.1.0", + "pug-walk": "^1.1.8" + } + }, + "pug-parser": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-2.0.2.tgz", + "integrity": "sha1-U6aAz9BQOdywwn0CkJS8SnkmibA=", + "requires": { + "pug-error": "^1.3.2", + "token-stream": "0.0.1" + } + }, + "pug-runtime": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-2.0.5.tgz", + "integrity": "sha512-P+rXKn9un4fQY77wtpcuFyvFaBww7/91f3jHa154qU26qFAnOe6SW1CbIDcxiG5lLK9HazYrMCCuDvNgDQNptw==" + }, + "pug-strip-comments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-1.0.4.tgz", + "integrity": "sha512-i5j/9CS4yFhSxHp5iKPHwigaig/VV9g+FgReLJWWHEHbvKsbqL0oP/K5ubuLco6Wu3Kan5p7u7qk8A4oLLh6vw==", + "requires": { + "pug-error": "^1.3.3" + } + }, + "pug-walk": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-1.1.8.tgz", + "integrity": "sha512-GMu3M5nUL3fju4/egXwZO0XLi6fW/K3T3VTgFQ14GxNi8btlxgT5qZL//JwZFm/2Fa64J/PNS8AZeys3wiMkVA==" + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pupa": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.0.1.tgz", + "integrity": "sha512-hEJH0s8PXLY/cdXh66tNEQGndDrIKNqNC5xmrysZy3i5C3oEoLna7YAOad+7u125+zH1HNXUmGEkrhb3c2VriA==", + "dev": true, + "requires": { + "escape-goat": "^2.0.0" + } + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "raw-body": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", + "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", + "requires": { + "bytes": "3.0.0", + "http-errors": "1.6.3", + "iconv-lite": "0.4.23", + "unpipe": "1.0.0" + } + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + } + }, + "readdirp": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", + "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + }, + "registry-auth-token": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.1.1.tgz", + "integrity": "sha512-9bKS7nTl9+/A1s7tnPeGrUpRcVY+LUh7bfFgzpndALdPfXQBfQV77rQVtqgUV3ti4vc/Ik81Ex8UJDWDQ12zQA==", + "dev": true, + "requires": { + "rc": "^1.2.8" + } + }, + "registry-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", + "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", + "dev": true, + "requires": { + "rc": "^1.2.8" + } + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "requires": { + "path-parse": "^1.0.6" + } + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "dev": true, + "requires": { + "lowercase-keys": "^1.0.0" + } + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "requires": { + "align-text": "^0.1.1" + } + }, + "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==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "semver-diff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", + "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", + "dev": true, + "requires": { + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "send": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", + "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.6.2", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.4.0" + } + }, + "serve-static": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", + "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.2", + "send": "0.16.2" + } + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "requires": { + "amdefine": ">=0.0.4" + } + }, + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "term-size": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.0.tgz", + "integrity": "sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw==", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" + }, + "to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "token-stream": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/token-stream/-/token-stream-0.0.1.tgz", + "integrity": "sha1-zu78cXp2xDFvEm0LnbqlXX598Bo=" + }, + "touch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", + "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", + "dev": true, + "requires": { + "nopt": "~1.0.10" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "requires": { + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "optional": true + }, + "undefsafe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.3.tgz", + "integrity": "sha512-nrXZwwXrD/T/JXeygJqdCO6NZZ1L66HrxM/Z7mIq2oPanoN0F1nLx3lwJMu6AwJY69hdixaFQOuoYsMjE5/C2A==", + "dev": true, + "requires": { + "debug": "^2.2.0" + } + }, + "unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dev": true, + "requires": { + "crypto-random-string": "^2.0.0" + } + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "update-notifier": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.0.tgz", + "integrity": "sha512-w3doE1qtI0/ZmgeoDoARmI5fjDoT93IfKgEGqm26dGUOh8oNpaSTsGNdYRN/SjOuo10jcJGwkEL3mroKzktkew==", + "dev": true, + "requires": { + "boxen": "^4.2.0", + "chalk": "^3.0.0", + "configstore": "^5.0.1", + "has-yarn": "^2.1.0", + "import-lazy": "^2.1.0", + "is-ci": "^2.0.0", + "is-installed-globally": "^0.3.1", + "is-npm": "^4.0.0", + "is-yarn-global": "^0.3.0", + "latest-version": "^5.0.0", + "pupa": "^2.0.1", + "semver-diff": "^3.1.1", + "xdg-basedir": "^4.0.0" + } + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "dev": true, + "requires": { + "prepend-http": "^2.0.0" + } + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=" + }, + "widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "dev": true, + "requires": { + "string-width": "^4.0.0" + } + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" + }, + "with": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/with/-/with-5.1.1.tgz", + "integrity": "sha1-+k2qktrzLE6pTtRTyB8EaGtXXf4=", + "requires": { + "acorn": "^3.1.0", + "acorn-globals": "^3.0.0" + } + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "xdg-basedir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", + "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", + "dev": true + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "requires": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..eea2d70 --- /dev/null +++ b/package.json @@ -0,0 +1,23 @@ +{ + "name": "geokids-web", + "version": "0.0.0", + "private": true, + "scripts": { + "start": "node ./bin/www", + "devstart": "nodemon ./bin/www" + }, + "dependencies": { + "bootstrap": "^4.5.0", + "cookie-parser": "~1.4.4", + "debug": "~2.6.9", + "express": "~4.16.1", + "http-errors": "~1.6.3", + "jquery": "^3.5.1", + "morgan": "~1.9.1", + "popper.js": "^1.16.1", + "pug": "2.0.0-beta11" + }, + "devDependencies": { + "nodemon": "^2.0.4" + } +} diff --git a/public/images/logo.jpg b/public/images/logo.jpg new file mode 100644 index 0000000..812c1d6 Binary files /dev/null and b/public/images/logo.jpg differ diff --git a/public/javascripts/map.js b/public/javascripts/map.js new file mode 100644 index 0000000..daf94a4 --- /dev/null +++ b/public/javascripts/map.js @@ -0,0 +1,726 @@ +am4core.ready(function() { + + // Themes begin + am4core.useTheme(am4themes_animated); + // Themes end + + /** + * Define SVG path for target icon + */ + var targetSVG = "M9,0C4.029,0,0,4.029,0,9s4.029,9,9,9s9-4.029,9-9S13.971,0,9,0z M9,15.93 c-3.83,0-6.93-3.1-6.93-6.93S5.17,2.07,9,2.07s6.93,3.1,6.93,6.93S12.83,15.93,9,15.93 M12.5,9c0,1.933-1.567,3.5-3.5,3.5S5.5,10.933,5.5,9S7.067,5.5,9,5.5 S12.5,7.067,12.5,9z"; + + // Create map instance + var chart = am4core.create("chartdiv", am4maps.MapChart); + + // Set map definition + chart.geodata = am4geodata_worldLow; + + // Set projection + chart.projection = new am4maps.projections.Miller(); + + // Create map polygon series + var polygonSeries = chart.series.push(new am4maps.MapPolygonSeries()); + + // Exclude Antartica + polygonSeries.exclude = ["AQ"]; + + // Make map load polygon (like country names) data from GeoJSON + polygonSeries.useGeodata = true; + + // Configure series + var polygonTemplate = polygonSeries.mapPolygons.template; + polygonTemplate.strokeOpacity = 0.5; + polygonTemplate.nonScalingStroke = true; + + // create capital markers + var imageSeries = chart.series.push(new am4maps.MapImageSeries()); + + // define template + var imageSeriesTemplate = imageSeries.mapImages.template; + var circle = imageSeriesTemplate.createChild(am4core.Sprite); + circle.scale = 0.4; + circle.fill = new am4core.InterfaceColorSet().getFor("alternativeBackground"); + circle.path = targetSVG; + // what about scale... + + // set propertyfields + imageSeriesTemplate.propertyFields.latitude = "latitude"; + imageSeriesTemplate.propertyFields.longitude = "longitude"; + + imageSeriesTemplate.horizontalCenter = "middle"; + imageSeriesTemplate.verticalCenter = "middle"; + imageSeriesTemplate.align = "center"; + imageSeriesTemplate.valign = "middle"; + imageSeriesTemplate.width = 8; + imageSeriesTemplate.height = 8; + imageSeriesTemplate.nonScaling = true; + imageSeriesTemplate.tooltipText = "{title}"; + imageSeriesTemplate.fill = am4core.color("#000"); + imageSeriesTemplate.background.fillOpacity = 0; + imageSeriesTemplate.background.fill = am4core.color("#ffffff"); + imageSeriesTemplate.setStateOnChildren = true; + imageSeriesTemplate.states.create("hover"); + + imageSeries.data = [{ + "title": "Vienna", + "latitude": 48.2092, + "longitude": 16.3728 + }, { + "title": "Minsk", + "latitude": 53.9678, + "longitude": 27.5766 + }, { + "title": "Brussels", + "latitude": 50.8371, + "longitude": 4.3676 + }, { + "title": "Sarajevo", + "latitude": 43.8608, + "longitude": 18.4214 + }, { + "title": "Sofia", + "latitude": 42.7105, + "longitude": 23.3238 + }, { + "title": "Zagreb", + "latitude": 45.815, + "longitude": 15.9785 + }, { + "title": "Pristina", + "latitude": 42.666667, + "longitude": 21.166667 + }, { + "title": "Prague", + "latitude": 50.0878, + "longitude": 14.4205 + }, { + "title": "Copenhagen", + "latitude": 55.6763, + "longitude": 12.5681 + }, { + "title": "Tallinn", + "latitude": 59.4389, + "longitude": 24.7545 + }, { + "title": "Helsinki", + "latitude": 60.1699, + "longitude": 24.9384 + }, { + "title": "Paris", + "latitude": 48.8567, + "longitude": 2.351 + }, { + "title": "Berlin", + "latitude": 52.5235, + "longitude": 13.4115 + }, { + "title": "Athens", + "latitude": 37.9792, + "longitude": 23.7166 + }, { + "title": "Budapest", + "latitude": 47.4984, + "longitude": 19.0408 + }, { + "title": "Reykjavik", + "latitude": 64.1353, + "longitude": -21.8952 + }, { + "title": "Dublin", + "latitude": 53.3441, + "longitude": -6.2675 + }, { + "title": "Rome", + "latitude": 41.8955, + "longitude": 12.4823 + }, { + "title": "Riga", + "latitude": 56.9465, + "longitude": 24.1049 + }, { + "title": "Vaduz", + "latitude": 47.1411, + "longitude": 9.5215 + }, { + "title": "Vilnius", + "latitude": 54.6896, + "longitude": 25.2799 + }, { + "title": "Luxembourg", + "latitude": 49.61, + "longitude": 6.1296 + }, { + "title": "Skopje", + "latitude": 42.0024, + "longitude": 21.4361 + }, { + "title": "Valletta", + "latitude": 35.9042, + "longitude": 14.5189 + }, { + "title": "Chisinau", + "latitude": 47.0167, + "longitude": 28.8497 + }, { + "title": "Monaco", + "latitude": 43.7325, + "longitude": 7.4189 + }, { + "title": "Podgorica", + "latitude": 42.4602, + "longitude": 19.2595 + }, { + "title": "Amsterdam", + "latitude": 52.3738, + "longitude": 4.891 + }, { + "title": "Oslo", + "latitude": 59.9138, + "longitude": 10.7387 + }, { + "title": "Warsaw", + "latitude": 52.2297, + "longitude": 21.0122 + }, { + "title": "Lisbon", + "latitude": 38.7072, + "longitude": -9.1355 + }, { + "title": "Bucharest", + "latitude": 44.4479, + "longitude": 26.0979 + }, { + "title": "Moscow", + "latitude": 55.7558, + "longitude": 37.6176 + }, { + "title": "San Marino", + "latitude": 43.9424, + "longitude": 12.4578 + }, { + "title": "Belgrade", + "latitude": 44.8048, + "longitude": 20.4781 + }, { + "title": "Bratislava", + "latitude": 48.2116, + "longitude": 17.1547 + }, { + "title": "Ljubljana", + "latitude": 46.0514, + "longitude": 14.506 + }, { + "title": "Madrid", + "latitude": 40.4167, + "longitude": -3.7033 + }, { + "title": "Stockholm", + "latitude": 59.3328, + "longitude": 18.0645 + }, { + "title": "Bern", + "latitude": 46.948, + "longitude": 7.4481 + }, { + "title": "Kiev", + "latitude": 50.4422, + "longitude": 30.5367 + }, { + "title": "London", + "latitude": 51.5002, + "longitude": -0.1262 + }, { + "title": "Gibraltar", + "latitude": 36.1377, + "longitude": -5.3453 + }, { + "title": "Saint Peter Port", + "latitude": 49.466, + "longitude": -2.5522 + }, { + "title": "Douglas", + "latitude": 54.167, + "longitude": -4.4821 + }, { + "title": "Saint Helier", + "latitude": 49.1919, + "longitude": -2.1071 + }, { + "title": "Longyearbyen", + "latitude": 78.2186, + "longitude": 15.6488 + }, { + "title": "Kabul", + "latitude": 34.5155, + "longitude": 69.1952 + }, { + "title": "Yerevan", + "latitude": 40.1596, + "longitude": 44.509 + }, { + "title": "Baku", + "latitude": 40.3834, + "longitude": 49.8932 + }, { + "title": "Manama", + "latitude": 26.1921, + "longitude": 50.5354 + }, { + "title": "Dhaka", + "latitude": 23.7106, + "longitude": 90.3978 + }, { + "title": "Thimphu", + "latitude": 27.4405, + "longitude": 89.673 + }, { + "title": "Bandar Seri Begawan", + "latitude": 4.9431, + "longitude": 114.9425 + }, { + "title": "Phnom Penh", + "latitude": 11.5434, + "longitude": 104.8984 + }, { + "title": "Peking", + "latitude": 39.9056, + "longitude": 116.3958 + }, { + "title": "Nicosia", + "latitude": 35.1676, + "longitude": 33.3736 + }, { + "title": "T'bilisi", + "latitude": 41.701, + "longitude": 44.793 + }, { + "title": "New Delhi", + "latitude": 28.6353, + "longitude": 77.225 + }, { + "title": "Jakarta", + "latitude": -6.1862, + "longitude": 106.8063 + }, { + "title": "Teheran", + "latitude": 35.7061, + "longitude": 51.4358 + }, { + "title": "Baghdad", + "latitude": 33.3157, + "longitude": 44.3922 + }, { + "title": "Jerusalem", + "latitude": 31.76, + "longitude": 35.17 + }, { + "title": "Tokyo", + "latitude": 35.6785, + "longitude": 139.6823 + }, { + "title": "Amman", + "latitude": 31.9394, + "longitude": 35.9349 + }, { + "title": "Astana", + "latitude": 51.1796, + "longitude": 71.4475 + }, { + "title": "Kuwait", + "latitude": 29.3721, + "longitude": 47.9824 + }, { + "title": "Bishkek", + "latitude": 42.8679, + "longitude": 74.5984 + }, { + "title": "Vientiane", + "latitude": 17.9689, + "longitude": 102.6137 + }, { + "title": "Beyrouth / Beirut", + "latitude": 33.8872, + "longitude": 35.5134 + }, { + "title": "Kuala Lumpur", + "latitude": 3.1502, + "longitude": 101.7077 + }, { + "title": "Ulan Bator", + "latitude": 47.9138, + "longitude": 106.922 + }, { + "title": "Pyinmana", + "latitude": 19.7378, + "longitude": 96.2083 + }, { + "title": "Kathmandu", + "latitude": 27.7058, + "longitude": 85.3157 + }, { + "title": "Muscat", + "latitude": 23.6086, + "longitude": 58.5922 + }, { + "title": "Islamabad", + "latitude": 33.6751, + "longitude": 73.0946 + }, { + "title": "Manila", + "latitude": 14.579, + "longitude": 120.9726 + }, { + "title": "Doha", + "latitude": 25.2948, + "longitude": 51.5082 + }, { + "title": "Riyadh", + "latitude": 24.6748, + "longitude": 46.6977 + }, { + "title": "Singapore", + "latitude": 1.2894, + "longitude": 103.85 + }, { + "title": "Seoul", + "latitude": 37.5139, + "longitude": 126.9828 + }, { + "title": "Colombo", + "latitude": 6.9155, + "longitude": 79.8572 + }, { + "title": "Damascus", + "latitude": 33.5158, + "longitude": 36.2939 + }, { + "title": "Taipei", + "latitude": 25.0338, + "longitude": 121.5645 + }, { + "title": "Dushanbe", + "latitude": 38.5737, + "longitude": 68.7738 + }, { + "title": "Bangkok", + "latitude": 13.7573, + "longitude": 100.502 + }, { + "title": "Dili", + "latitude": -8.5662, + "longitude": 125.588 + }, { + "title": "Ankara", + "latitude": 39.9439, + "longitude": 32.856 + }, { + "title": "Ashgabat", + "latitude": 37.9509, + "longitude": 58.3794 + }, { + "title": "Abu Dhabi", + "latitude": 24.4764, + "longitude": 54.3705 + }, { + "title": "Tashkent", + "latitude": 41.3193, + "longitude": 69.2481 + }, { + "title": "Hanoi", + "latitude": 21.0341, + "longitude": 105.8372 + }, { + "title": "Sanaa", + "latitude": 15.3556, + "longitude": 44.2081 + }, { + "title": "Buenos Aires", + "latitude": -34.6118, + "longitude": -58.4173 + }, { + "title": "Bridgetown", + "latitude": 13.0935, + "longitude": -59.6105 + }, { + "title": "Belmopan", + "latitude": 17.2534, + "longitude": -88.7713 + }, { + "title": "Sucre", + "latitude": -19.0421, + "longitude": -65.2559 + }, { + "title": "Brasilia", + "latitude": -15.7801, + "longitude": -47.9292 + }, { + "title": "Ottawa", + "latitude": 45.4235, + "longitude": -75.6979 + }, { + "title": "Santiago", + "latitude": -33.4691, + "longitude": -70.642 + }, { + "title": "Bogota", + "latitude": 4.6473, + "longitude": -74.0962 + }, { + "title": "San Jose", + "latitude": 9.9402, + "longitude": -84.1002 + }, { + "title": "Havana", + "latitude": 23.1333, + "longitude": -82.3667 + }, { + "title": "Roseau", + "latitude": 15.2976, + "longitude": -61.39 + }, { + "title": "Santo Domingo", + "latitude": 18.479, + "longitude": -69.8908 + }, { + "title": "Quito", + "latitude": -0.2295, + "longitude": -78.5243 + }, { + "title": "San Salvador", + "latitude": 13.7034, + "longitude": -89.2073 + }, { + "title": "Guatemala", + "latitude": 14.6248, + "longitude": -90.5328 + }, { + "title": "Ciudad de Mexico", + "latitude": 19.4271, + "longitude": -99.1276 + }, { + "title": "Managua", + "latitude": 12.1475, + "longitude": -86.2734 + }, { + "title": "Panama", + "latitude": 8.9943, + "longitude": -79.5188 + }, { + "title": "Asuncion", + "latitude": -25.3005, + "longitude": -57.6362 + }, { + "title": "Lima", + "latitude": -12.0931, + "longitude": -77.0465 + }, { + "title": "Castries", + "latitude": 13.9972, + "longitude": -60.0018 + }, { + "title": "Paramaribo", + "latitude": 5.8232, + "longitude": -55.1679 + }, { + "title": "Washington D.C.", + "latitude": 38.8921, + "longitude": -77.0241 + }, { + "title": "Montevideo", + "latitude": -34.8941, + "longitude": -56.0675 + }, { + "title": "Caracas", + "latitude": 10.4961, + "longitude": -66.8983 + }, { + "title": "Oranjestad", + "latitude": 12.5246, + "longitude": -70.0265 + }, { + "title": "Cayenne", + "latitude": 4.9346, + "longitude": -52.3303 + }, { + "title": "Plymouth", + "latitude": 16.6802, + "longitude": -62.2014 + }, { + "title": "San Juan", + "latitude": 18.45, + "longitude": -66.0667 + }, { + "title": "Algiers", + "latitude": 36.7755, + "longitude": 3.0597 + }, { + "title": "Luanda", + "latitude": -8.8159, + "longitude": 13.2306 + }, { + "title": "Porto-Novo", + "latitude": 6.4779, + "longitude": 2.6323 + }, { + "title": "Gaborone", + "latitude": -24.657, + "longitude": 25.9089 + }, { + "title": "Ouagadougou", + "latitude": 12.3569, + "longitude": -1.5352 + }, { + "title": "Bujumbura", + "latitude": -3.3818, + "longitude": 29.3622 + }, { + "title": "Yaounde", + "latitude": 3.8612, + "longitude": 11.5217 + }, { + "title": "Bangui", + "latitude": 4.3621, + "longitude": 18.5873 + }, { + "title": "Brazzaville", + "latitude": -4.2767, + "longitude": 15.2662 + }, { + "title": "Kinshasa", + "latitude": -4.3369, + "longitude": 15.3271 + }, { + "title": "Yamoussoukro", + "latitude": 6.8067, + "longitude": -5.2728 + }, { + "title": "Djibouti", + "latitude": 11.5806, + "longitude": 43.1425 + }, { + "title": "Cairo", + "latitude": 30.0571, + "longitude": 31.2272 + }, { + "title": "Asmara", + "latitude": 15.3315, + "longitude": 38.9183 + }, { + "title": "Addis Abeba", + "latitude": 9.0084, + "longitude": 38.7575 + }, { + "title": "Libreville", + "latitude": 0.3858, + "longitude": 9.4496 + }, { + "title": "Banjul", + "latitude": 13.4399, + "longitude": -16.6775 + }, { + "title": "Accra", + "latitude": 5.5401, + "longitude": -0.2074 + }, { + "title": "Conakry", + "latitude": 9.537, + "longitude": -13.6785 + }, { + "title": "Bissau", + "latitude": 11.8598, + "longitude": -15.5875 + }, { + "title": "Nairobi", + "latitude": -1.2762, + "longitude": 36.7965 + }, { + "title": "Maseru", + "latitude": -29.2976, + "longitude": 27.4854 + }, { + "title": "Monrovia", + "latitude": 6.3106, + "longitude": -10.8047 + }, { + "title": "Tripoli", + "latitude": 32.883, + "longitude": 13.1897 + }, { + "title": "Antananarivo", + "latitude": -18.9201, + "longitude": 47.5237 + }, { + "title": "Lilongwe", + "latitude": -13.9899, + "longitude": 33.7703 + }, { + "title": "Bamako", + "latitude": 12.653, + "longitude": -7.9864 + }, { + "title": "Nouakchott", + "latitude": 18.0669, + "longitude": -15.99 + }, { + "title": "Port Louis", + "latitude": -20.1654, + "longitude": 57.4896 + }, { + "title": "Rabat", + "latitude": 33.9905, + "longitude": -6.8704 + }, { + "title": "Maputo", + "latitude": -25.9686, + "longitude": 32.5804 + }, { + "title": "Windhoek", + "latitude": -22.5749, + "longitude": 17.0805 + }, { + "title": "Niamey", + "latitude": 13.5164, + "longitude": 2.1157 + }, { + "title": "Abuja", + "latitude": 9.058, + "longitude": 7.4891 + }, { + "title": "Kigali", + "latitude": -1.9441, + "longitude": 30.0619 + }, { + "title": "Dakar", + "latitude": 14.6953, + "longitude": -17.4439 + }, { + "title": "Freetown", + "latitude": 8.4697, + "longitude": -13.2659 + }, { + "title": "Mogadishu", + "latitude": 2.0411, + "longitude": 45.3426 + }, { + "title": "Pretoria", + "latitude": -25.7463, + "longitude": 28.1876 + }, { + "title": "Mbabane", + "latitude": -26.3186, + "longitude": 31.141 + }, { + "title": "Dodoma", + "latitude": -6.167, + "longitude": 35.7497 + }, { + "title": "Lome", + "latitude": 6.1228, + "longitude": 1.2255 + }, { + "title": "Tunis", + "latitude": 36.8117, + "longitude": 10.1761 + }]; + + }); // end am4core.ready() \ No newline at end of file diff --git a/public/stylesheets/style.css b/public/stylesheets/style.css new file mode 100644 index 0000000..5282935 --- /dev/null +++ b/public/stylesheets/style.css @@ -0,0 +1,1813 @@ +/* +Author URI: http://webthemez.com/ +-------------------------------------------------------*/ + +@import url('http://fonts.googleapis.com/css?family=Noto+Serif:400,400italic,700|Open+Sans:400,600,700'); + +body { + font-family:'Open Sans', Arial, sans-serif; + font-size:14px; + font-weight:300; + line-height:1.6em; + color:#656565; +} + +a:active { + outline:0; +} + +.clear { + clear:both; +} + +h1,h2, h3, h4, h5, h6 { + font-family:'Open Sans', Arial, sans-serif; + font-weight: 600; + line-height:1.1em; + color: #3C3C3C; + margin-bottom: 20px; +} + +.container { + padding:0 20px 0 20px; + position:relative; +} + +#wrapper{ + width:100%; + margin:0; + padding:0; +} + +.row,.row-fluid { + margin-bottom:30px; +} + +.row .row,.row-fluid .row-fluid{ + margin-bottom:30px; +} + +.row.nomargin,.row-fluid.nomargin, .container .row { + margin-bottom:0; +} + +img.img-polaroid { + margin:0 0 20px 0; +} +.img-box { + max-width:100%; +} +.hero-text h1{ + color:#fff; +} +/* Header +==================================== */ + +header .navbar { + margin-bottom: 0; +} + +.navbar-default { + border: none; +} + +.navbar-brand { + color: #222; + text-transform: uppercase; + font-size: 24px; + font-weight: 700; + line-height: 1em; + letter-spacing: -1px; + margin-top: 13px; + padding: 0 0 0 15px; +} +.navbar-default .navbar-brand{color: #61B331;margin-top: 23px;} + +header .navbar-collapse ul.navbar-nav { + float: right; + margin-right: 0; +} + +header .navbar-default{ + background-color: #FEFEFE; +} + +header .nav li a:hover, +header .nav li a:focus, +header .nav li.active a, +header .nav li.active a:hover, +header .nav li a.dropdown-toggle:hover, +header .nav li a.dropdown-toggle:focus, +header .nav li.active ul.dropdown-menu li a:hover, +header .nav li.active ul.dropdown-menu li.active a{ + -webkit-transition: all .3s ease; + -moz-transition: all .3s ease; + -ms-transition: all .3s ease; + -o-transition: all .3s ease; + transition: all .3s ease; +} + + +header .navbar-default .navbar-nav > .open > a, +header .navbar-default .navbar-nav > .open > a:hover, +header .navbar-default .navbar-nav > .open > a:focus { + -webkit-transition: all .3s ease; + -moz-transition: all .3s ease; + -ms-transition: all .3s ease; + -o-transition: all .3s ease; + transition: all .3s ease; +} + +header .navbar-nav > li.active { + background: #DE3B69; + color: #fff; +} +header .navbar { + min-height: 70px; + padding: 0; +} + +header .navbar-nav > li { + /* padding-bottom: 12px; */ + /* padding-top: 12px; */ +} + +header .navbar-nav > li > a { + padding-bottom: 6px; + padding-top: 5px; + margin-left: 2px; + line-height: 30px; + font-weight: 700; + -webkit-transition: all .3s ease; + -moz-transition: all .3s ease; + -ms-transition: all .3s ease; + -o-transition: all .3s ease; + transition: all .3s ease; +} + + +.dropdown-menu li a:hover { + color: #fff !important; +} + +header .nav .caret { + border-bottom-color: #f5f5f5; + border-top-color: #f5f5f5; +} +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + background-color: #fff; +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + background-color: #fff; +} + + +.dropdown-menu { + box-shadow: none; + border-radius: 0; + border: none; +} + +.dropdown-menu li:last-child { + padding-bottom: 0 !important; + margin-bottom: 0; +} + +header .nav li .dropdown-menu { + padding: 0; +} + +header .nav li .dropdown-menu li a { + line-height: 28px; + padding: 3px 12px; +} +.item-thumbs img { + margin-bottom: 15px; +} +.flex-control-paging li a.flex-active { + background: #000; + background: rgb(255, 255, 255); + cursor: default; +} +.flex-control-paging li a { + width: 30px; + height: 11px; + display: block; + background: #666; + background: rgba(0,0,0,0.5); + cursor: pointer; + text-indent: -9999px; + -webkit-border-radius: 20px; + -moz-border-radius: 20px; + -o-border-radius: 20px; + border-radius: 20px; + box-shadow: inset 0 0 3px rgba(0,0,0,0.3); + + } + .panel-title>a { + color: inherit; + color: #FFF; +} +.panel-group .panel-heading+.panel-collapse .panel-body { + border-top: 1px solid #ddd; + color: #fff; + background-color: #9C9C9C; +} +/* --- menu --- */ + +header .navigation { + float:right; +} + +header ul.nav li { + border:none; + margin:0; +} + +header ul.nav li a { + font-size:12px; + border:none; + font-weight:700; + text-transform:uppercase; +} + +header ul.nav li ul li a { + font-size:12px; + border:none; + font-weight:300; + text-transform:uppercase; +} + + +.navbar .nav > li > a { + color: #848484; + text-shadow: none; + border: 1px solid rgba(255, 255, 255, 0) !important; + padding: 30px 16px; +} + +.navbar .nav a:hover { + background:none; + color: #FF9F16 !important; +} + +.navbar .nav > .active > a,.navbar .nav > .active > a:hover { + background:none; + font-weight:700; + color: #fff !important; +} + +.navbar .nav > .active > a:active,.navbar .nav > .active > a:focus { + background:none; + outline:0; + font-weight:700; +} + +.navbar .nav li .dropdown-menu { + z-index:2000; +} + +header ul.nav li ul { + margin-top:1px; +} +header ul.nav li ul li ul { + margin:1px 0 0 1px; +} +.dropdown-menu .dropdown i { + position:absolute; + right:0; + margin-top:3px; + padding-left:20px; +} + +.navbar .nav > li > .dropdown-menu:before { + display: inline-block; + border-right: none; + border-bottom: none; + border-left: none; + border-bottom-color: none; + content:none; +} +.navbar-default .navbar-nav>.active>a, .navbar-default .navbar-nav>.active>a:hover, .navbar-default .navbar-nav>.active>a:focus {color: #fff;} + + +ul.nav li.dropdown a { + z-index:1000; + display:block; +} + + select.selectmenu { + display:none; +} +.pageTitle{color: #3C3C3C;margin: 30px 0 3px;display: inline-block;} + +#featured{ + width: 100%; + background:#000; + position:relative; + margin:0; + padding:0; +} + +/* Sliders +==================================== */ +/* --- flexslider --- */ + +#featured .flexslider { + padding:0; + background: #fff; + position: relative; + zoom: 1; +} +.flex-direction-nav .flex-prev{ +left:0px; +} +.flex-direction-nav .flex-next{ +right:0px; +} +.flex-caption { + zoom:0; + color: #fff; + margin: 0 auto; + padding: 1px; + position: absolute; + vertical-align: bottom; + text-align: center; + background-color: rgba(0, 0, 0, 0.06); + bottom: 9%; + display: block; + left: 0; + right: 0; + } +.flex-caption h3 {color: #fff; letter-spacing: 1px; margin-bottom: 8px; text-transform: uppercase;} +.flex-caption p {margin: 0 0 15px;} +.skill-home{ +margin-bottom:50px; +} +.c1{/* border: #ed5441 1px solid; */color: #ed5441;} +.c2{/* border: #D867B2 1px solid; */color: #D867B2;} +.c3{/* border: #61B331 1px solid; */color: #4BC567;} +.c4{/* border: #609cec 1px solid; */color: #26AFF0;} +.skill-home .icons {padding: 33px 0 0 0;width: 100%;height: 178px;/* color: rgb(255, 255, 255); */font-size: 42px;font-size: 76px;text-align: center;-ms-border-radius: 50%;-moz-border-radius: 50%;-webkit-border-radius: 50%;border-radius: 0;display: inline-table;} +.skill-home h2 { +padding-top: 20px; +font-size: 36px; +font-weight: 700; +} +.testimonial-solid { +padding: 50px 0 60px 0; +margin: 0 0 0 0; +background: #EFEFEF; +text-align: center; +} +.testi-icon-area { +text-align: center; +position: absolute; +top: -84px; +margin: 0 auto; +width: 100%; +color: #000;} +.testi-icon-area .quote { +padding: 15px 0 0 0; +margin: 0 0 0 0; +background: #ffffff; +text-align: center; +color: #26AFF0; +display: inline-table; +width: 70px; +height: 70px; +-ms-border-radius: 50%; +-moz-border-radius: 50%; +-webkit-border-radius: 50%; +border-radius: 0; +font-size: 42px; +border: 1px solid #26AFF0; +display: none;} + +.testi-icon-area .carousel-inner { +margin: 20px 0; +} +.carousel-indicators { +bottom: -30px; +} +.team-member { + text-align: center; + background-color: #F9F9F9; + padding-bottom: 15px; +} +.fancybox-title-inside-wrap { + padding: 3px 30px 6px; + background: #292929; +} + +.item_introtext { + background-color: rgba(0, 0, 0, 0.43); + margin: 0 auto; + display: inline-block; + padding: 25px; + border-radius: 10px; +} +.item_introtext span { + font-size: 20px; + display: block; + font-weight: bold; +} +.item_introtext strong { + font-size: 50px; + display: block; + padding: 14px 0 30px; +} +.item_introtext p { + font-size: 19px !important; + color: #fff; + font-weight: 600; +} + +.form-control{ +border-radius:0; +} + + +/* Testimonial +----------------------------------*/ +.testimonial-area { +padding: 0 0 0 0; +margin:0; +background: url(../img/low-poly01.jpg) fixed center center; +background-size: cover; +-webkit-background-size: cover; +-moz-background-size: cover; +-ms-background-size: cover; +color: red;} +.testimonial-solid p { +color: #1F1F1F; +font-size: 16px; +line-height: 30px; +font-style: italic; +} +section.hero-text { + background: #DE3B69; + padding: 50px 0; + color: #fff; +} + + + +/* Content +==================================== */ + +#content { + position:relative; + background:#fff; + padding:50px 0 0px 0; +} + +#content img { + max-width:100%; + height:auto; +} + +.cta-text { + text-align: center; + margin-top:10px; +} + + +.big-cta .cta { + margin-top:10px; +} + +.box { + width: 100%; +} +.box-gray { + background: #f8f8f8; + padding: 20px 20px 30px; +} +.box-gray h4,.box-gray i { + margin-bottom: 20px; +} +.box-bottom { + padding: 20px 0; + text-align: center; +} +.box-bottom a { + color: #fff; + font-weight: 700; +} +.box-bottom a:hover { + color: #eee; + text-decoration: none; +} + + +/* Bottom +==================================== */ + +#bottom { + background:#fcfcfc; + padding:50px 0 0; + +} +/* twitter */ +#twitter-wrapper { + text-align: center; + width: 70%; + margin: 0 auto; +} +#twitter em { + font-style: normal; + font-size: 13px; +} + +#twitter em.twitterTime a { + font-weight:600; +} + +#twitter ul { + padding: 0; + list-style:none; +} +#twitter ul li { + font-size: 20px; + line-height: 1.6em; + font-weight: 300; + margin-bottom: 20px; + position: relative; + word-break: break-word; +} + + +/* page headline +==================================== */ + +#inner-headline{ + background: #FF9F16; + position:relative; + margin:0; + padding:0; + color:#fefefe; + border-top: 10px solid #FED8A1; + text-align: center; +} + + +#inner-headline .inner-heading h2 { + color:#fff; + margin:20px 0 0 0; +} + +/* --- breadcrumbs --- */ +#inner-headline ul.breadcrumb { + margin:30px 0 0; + float:left; +} + +#inner-headline ul.breadcrumb li { + margin-bottom:0; + padding-bottom:0; +} +#inner-headline ul.breadcrumb li { + font-size:13px; + color:#fff; +} + +#inner-headline ul.breadcrumb li i{ + color:#dedede; +} + +#inner-headline ul.breadcrumb li a { + color:#fff; +} + +ul.breadcrumb li a:hover { + text-decoration:none; +} + +/* Forms +============================= */ + +/* --- contact form ---- */ +form#contactform input[type="text"] { + width: 100%; + border: 1px solid #f5f5f5; + min-height: 40px; + padding-left:20px; + font-size:13px; + padding-right:20px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + +} + +form#contactform textarea { +border: 1px solid #f5f5f5; + width: 100%; + padding-left:20px; + padding-top:10px; + font-size:13px; + padding-right:20px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + +} + +form#contactform .validation { + font-size:11px; +} + +#sendmessage { + border:1px solid #e6e6e6; + background:#f6f6f6; + display:none; + text-align:center; + padding:15px 12px 15px 65px; + margin:10px 0; + font-weight:600; + margin-bottom:30px; + +} + +#sendmessage.show,.show { + display:block; +} + +form#commentform input[type="text"] { + width: 100%; + min-height: 40px; + padding-left:20px; + font-size:13px; + padding-right:20px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -webkit-border-radius: 2px 2px 2px 2px; + -moz-border-radius: 2px 2px 2px 2px; + border-radius: 2px 2px 2px 2px; + +} + +form#commentform textarea { + width: 100%; + padding-left:20px; + padding-top:10px; + font-size:13px; + padding-right:20px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -webkit-border-radius: 2px 2px 2px 2px; + -moz-border-radius: 2px 2px 2px 2px; + border-radius: 2px 2px 2px 2px; +} + + +/* --- search form --- */ +.search{ + float:right; + margin:35px 0 0; + padding-bottom:0; +} + +#inner-headline form.input-append { + margin:0; + padding:0; +} + + + +/* Gallery +================================ */ + +.work-nav #filters { + margin: 0; + padding: 0; + list-style: none; +} + +.work-nav #filters li { + margin: 0 10px 30px 0; + padding: 0; + float:left; +} + +.work-nav #filters li a { + color: #7F8289; + font-size: 16px; + display: block; +} + +.work-nav #filters li a:hover { + +} + +.work-nav #filters li a.selected { + color: #DE5E60; +} + +#thumbs { + margin: 0; + padding: 0; +} + +#thumbs li { + list-style-type: none; +} + +.item-thumbs { + position: relative; + overflow: hidden; + margin-bottom: 0; + cursor: pointer; +} + +.item-thumbs a + img { + width: 100%; +} + +.item-thumbs .hover-wrap { + position: absolute; + display: block; + width: 100%; + height: 100%; + + opacity: 0; + filter: alpha(opacity=0); + + -webkit-transition: all 450ms ease-out 0s; + -moz-transition: all 450ms ease-out 0s; + -o-transition: all 450ms ease-out 0s; + transition: all 450ms ease-out 0s; + + -webkit-transform: rotateY(180deg) scale(0.5,0.5); + -moz-transform: rotateY(180deg) scale(0.5,0.5); + -ms-transform: rotateY(180deg) scale(0.5,0.5); + -o-transform: rotateY(180deg) scale(0.5,0.5); + transform: rotateY(180deg) scale(0.5,0.5); +} + +.item-thumbs:hover .hover-wrap, +.item-thumbs.active .hover-wrap { + opacity: 1; + filter: alpha(opacity=100); + + -webkit-transform: rotateY(0deg) scale(1,1); + -moz-transform: rotateY(0deg) scale(1,1); + -ms-transform: rotateY(0deg) scale(1,1); + -o-transform: rotateY(0deg) scale(1,1); + transform: rotateY(0deg) scale(1,1); +} + +.item-thumbs .hover-wrap .overlay-img { + position: absolute; + width: 90%; + height: 91%; + opacity: 0.80; + filter: alpha(opacity=80); + background: rgba(222, 59, 105, 0.85); +} + +.item-thumbs .hover-wrap .overlay-img-thumb { + position: absolute; + border-radius: 60px; + top: 50%; + left: 45%; + margin: -16px 0 0 -16px; + color: #fff; + font-size: 32px; + line-height: 1em; + opacity: 1; + filter: alpha(opacity=100); +} + +ul.Gallery-categ{ + margin:10px 0 30px 0; + padding:0; + float:left; + list-style:none; +} + +ul.Gallery-categ li{margin: 0;float: left;list-style: none;font-size: 13px;font-weight: 600;border: 1px solid #D4D4D4;margin-right: 15px;} + +ul.Gallery-categ li a{ + display:block; + padding: 8px 20px; + color: #DE3B69; +} +ul.Gallery-categ li.active{ + +border: 1px solid #DE3B69; + +background-color: #FFFFFF; +} +ul.Gallery-categ li.active a:hover, ul.Gallery-categ li a:hover,ul.Gallery-categ li a:focus,ul.Gallery-categ li a:active { + text-decoration:none; + outline:0; +} + #accordion-alt3 .panel-heading h4 { +font-size: 13px; +line-height: 28px; +color: #6B6B6B;} +.panel .panel-heading h4 { +font-weight: 400; +} +.panel-title { +margin-top: 0; +margin-bottom: 0; +font-size: 15px; +color: inherit; +} +.panel-group .panel { +margin-bottom: 0; +border-radius: 2px; +} +.panel { +margin-bottom: 18px; +background-color: #B9B9B9; +border: 1px solid transparent; +border-radius: 2px; +-webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.05); +box-shadow: 0 1px 1px rgba(0,0,0,0.05); +} +#accordion-alt3 .panel-heading h4 a i { +font-size: 13px; +line-height: 18px; +width: 18px; +height: 18px; +margin-right: 5px; +color: #fff; +text-align: center; +border-radius: 50%; +margin-left: 6px; +} +.progress.pb-sm { +height: 6px!important; +} +.progress { +box-shadow: inset 0 0 2px rgba(0,0,0,.1); +} +.progress { +overflow: hidden; +height: 18px; +margin-bottom: 18px; +background-color: #f5f5f5; +border-radius: 2px; +-webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1); +box-shadow: inset 0 1px 2px rgba(0,0,0,0.1); +} +.progress .progress-bar.progress-bar-red { +background: #ed5441; +} +.progress .progress-bar.progress-bar-green { +background: #51d466; +} +.progress .progress-bar.progress-bar-lblue { +background: #32c8de; +} +/* --- Gallery detail --- */ +.top-wrapper { + margin-bottom:20px; +} +.info-blocks { +margin-bottom: 15px; +} +.info-blocks i.icon-info-blocks { +float: left; +color: #318FCF; +font-size: 30px; +min-width: 50px; +margin-top: 6px; +text-align: center; +background-color: #EFEFEF; +padding: 15px; +} +.info-blocks .info-blocks-in { +padding: 0 10px; +overflow: hidden; +} +.info-blocks .info-blocks-in h3 { +color: #555; +font-size: 20px; +line-height: 28px; +margin:0px; +} +.info-blocks .info-blocks-in p { +font-size: 12px; +} + +blockquote { + font-size:16px; + font-weight:400; + font-family:'Noto Serif', serif; + font-style:italic; + padding-left:0; + color:#a2a2a2; + line-height:1.6em; + border:none; +} + +blockquote cite { display:block; font-size:12px; color:#666; margin-top:10px; } +blockquote cite:before { content:"\2014 \0020"; } +blockquote cite a, +blockquote cite a:visited, +blockquote cite a:visited { color:#555; } + +/* --- pullquotes --- */ + +.pullquote-left { + display:block; + color:#a2a2a2; + font-family:'Noto Serif', serif; + font-size:14px; + line-height:1.6em; + padding-left:20px; +} + +.pullquote-right { + display:block; + color:#a2a2a2; + font-family:'Noto Serif', serif; + font-size:14px; + line-height:1.6em; + padding-right:20px; +} + +/* --- button --- */ +.btn{text-align: center;background: #DE3B69;color: #fff;border-radius: 0;padding: 10px 30px;border: none;} +.btn-theme { + color: #fff; +} +.btn-theme:hover { + color: #eee; +} + +/* --- list style --- */ + +ul.general { + list-style:none; + margin-left:0; +} + +ul.link-list{ + margin:0; + padding:0; + list-style:none; +} + +ul.link-list li{ + margin:0; + padding:2px 0 2px 0; + list-style:none; +} +footer{background: #242A32;} +footer ul.link-list li a{ + color: #FFFFFF; +} +footer ul.link-list li a:hover { + color: #E2E2E2; +} +/* --- Heading style --- */ + +h4.heading { + font-weight:700; +} + +.heading { margin-bottom: 30px; } + +.heading { + position: relative; + +} + + +.widgetheading { + width:100%; + + padding:0; +} + +#bottom .widgetheading { + position: relative; + border-bottom: #e6e6e6 1px solid; + padding-bottom: 9px; +} + +aside .widgetheading { + position: relative; + border-bottom: #e9e9e9 1px solid; + padding-bottom: 9px; +} + +footer .widgetheading { + position: relative; +} + +footer .widget .social-network { + position:relative; +} + + +#bottom .widget .widgetheading span, aside .widget .widgetheading span, footer .widget .widgetheading span { + position: absolute; + width: 60px; + height: 1px; + bottom: -1px; + right:0; + +} +.box-area{border: 1px solid #F3F3F3;padding: 0 15px 12px;padding-top: 70px;margin-top: -42px;background-color: #F9F9F9;position: relative;text-align: center;} +/* --- Map --- */ +.map{ + position:relative; + margin-top:-50px; + margin-bottom:40px; +} + +.map iframe{ + width:100%; + height:450px; + border:none; +} + +.map-grid iframe{ + width:100%; + height:350px; + border:none; + margin:0 0 -5px 0; + padding:0; +} + + +ul.team-detail{ + margin:-10px 0 0 0; + padding:0; + list-style:none; +} + +ul.team-detail li{ + border-bottom:1px dotted #e9e9e9; + margin:0 0 15px 0; + padding:0 0 15px 0; + list-style:none; +} + +ul.team-detail li label { + font-size:13px; +} + +ul.team-detail li h4, ul.team-detail li label{ + margin-bottom:0; +} + +ul.team-detail li ul.social-network { + border:none; + margin:0; + padding:0; +} + +ul.team-detail li ul.social-network li { + border:none; + margin:0; +} +ul.team-detail li ul.social-network li i { + margin:0; +} + + +.pricing-title{ + background:#fff; + text-align:center; + padding:10px 0 10px 0; +} + +.pricing-title h3{ + font-weight:600; + margin-bottom:0; +} + +.pricing-offer{ + background: #fcfcfc; + text-align: center; + padding:40px 0 40px 0; + font-size:18px; + border-top:1px solid #e6e6e6; + border-bottom:1px solid #e6e6e6; +} + +.pricing-box.activeItem .pricing-offer{ + color:#fff; +} + +.pricing-offer strong{ + font-size:78px; + line-height:89px; +} + +.pricing-offer sup{ + font-size:28px; +} + +.pricing-container{ + background: #fff; + text-align:center; + font-size:14px; +} + +.pricing-container strong{ +color:#353535; +} + +.pricing-container ul{ + list-style:none; + padding:0; + margin:0; +} + +.pricing-container ul li{ + border-bottom: 1px solid #F5F5F5; +list-style: none; +padding: 15px 0 15px 0; +margin: 0 0 0 0; +color: #222; +} + +.pricing-action{ + margin:0; + background: #fcfcfc; + text-align:center; + padding:20px 0 30px 0; +} + +.pricing-wrapp{ + margin:0 auto; + width:100%; + background:#fd0000; +} + .pricing-box-item {border: 1px solid #DE3B69;background: #FFFFFF;position:relative;margin:0 0 20px 0;padding:0;-webkit-box-shadow: 0 2px 0 rgba(0,0,0,0.03);-moz-box-shadow: 0 2px 0 rgba(0,0,0,0.03);box-shadow: 0 2px 0 rgba(0,0,0,0.03);-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;} + +.pricing-box-item .pricing-heading { + text-align: center; + padding:0px 0 0px 0; + display:block; +} +.pricing-box-item.activeItem .pricing-heading { + text-align: center; + padding:0px 0 1px 0; + border-bottom:none; + display:block; + color:#fff; +} +.pricing-box-item.activeItem .pricing-heading h3 { + +} + +.pricing-box-item .pricing-heading h3 strong { + font-size: 20px; + font-weight:700; + letter-spacing:-1px; +} +.pricing-box-item .pricing-heading h3 { + font-size: 35px; + font-weight:300; + letter-spacing:-1px; +} + +.pricing-box-item .pricing-terms { + text-align: center; + display: block; + overflow: hidden; + padding: 11px 0 5px; +} + +.pricing-box-item .pricing-terms h6 { + margin-top:10px; + color: #DE3B69; + font-size: 22px; +} + +.pricing-box-item .icon .price-circled { + margin: 10px 10px 10px 0; + display: inline-block !important; + text-align: center !important; + color: #fff; + width: 68px; + height: 68px; + padding:12px; + font-size: 16px; + font-weight:700; + line-height: 68px; + text-shadow:none; + cursor: pointer; + background-color: #888; + border-radius: 64px; + -moz-border-radius: 64px; + -webkit-border-radius: 64px; +} + +.pricing-box-item .pricing-action{ + margin:0; + text-align:center; + padding:30px 0 30px 0; +} + +/* ===== Widgets ===== */ + +/* --- flickr --- */ +.widget .flickr_badge { + width:100%; +} +.widget .flickr_badge img { margin: 0 9px 20px 0; } + +footer .widget .flickr_badge { + width: 100%; +} +footer .widget .flickr_badge img { + margin: 0 9px 20px 0; +} + +.flickr_badge img { + width: 50px; + height: 50px; + float: left; + margin: 0 9px 20px 0; +} + +/* --- Recent post widget --- */ + +.recent-post{ + margin:20px 0 0 0; + padding:0; + line-height:18px; +} + +.recent-post h5 a:hover { + text-decoration:none; +} + +.recent-post .text h5 a { + color:#353535; +} + + +footer{ + padding:50px 0 0 0; + color:#f8f8f8; +} + +footer a { + color:#fff; +} + +footer a:hover { + color:#eee; +} + +footer h1, footer h2, footer h3, footer h4, footer h5, footer h6{ + color:#fff; +} + +footer address { + line-height:1.6em; + color: #FFFFFF; +} + +footer h5 a:hover, footer a:hover { + text-decoration:none; +} + +ul.social-network { + list-style:none; + margin:0; +} + +ul.social-network li { + display:inline; + margin: 0 5px; +} + +#sub-footer{ + text-shadow:none; + color:#f5f5f5; + padding:0; + padding-top:30px; + margin:20px 0 0 0; + background: #1C2128; +} + +#sub-footer p{ + margin:0; + padding:0; +} + +#sub-footer span{ + color:#f5f5f5; +} + +.copyright { + text-align:left; + font-size:12px; +} + +#sub-footer ul.social-network { + float:right; +} + + + +/* scroll to top */ +.scrollup{ + position:fixed; + width:32px; + height:32px; + bottom:0px; + right:20px; + background: #222; + +} + +a.scrollup { + outline:0; + text-align: center; +} + +a.scrollup:hover,a.scrollup:active,a.scrollup:focus { + opacity:1; + text-decoration:none; +} +a.scrollup i { + margin-top: 10px; + color: #fff; +} +a.scrollup i:hover { + text-decoration:none; +} + + + + +.absolute{ + position:absolute; +} + +.relative{ + position:relative; +} + +.aligncenter{ + text-align:center; +} + +.aligncenter span{ + margin-left:0; +} + +.floatright { + float:right; +} + +.floatleft { + float:left; +} + +.floatnone { + float:none; +} + +.aligncenter { + text-align:center; +} + +img.pull-left, .align-left{ + float:left; + margin:0 15px 15px 0; +} + +.widget img.pull-left { + float:left; + margin:0 15px 15px 0; +} + +img.pull-right, .align-right { + float:right; + margin:0 0 15px 15px; +} + +article img.pull-left, article .align-left{ + float:left; + margin:5px 15px 15px 0; +} + +article img.pull-right, article .align-right{ + float:right; + margin:5px 0 15px 15px; +} + +.clear-marginbot{ + margin-bottom:0; +} + +.marginbot10{ + margin-bottom:10px; +} +.marginbot20{ + margin-bottom:20px; +} +.marginbot30{ + margin-bottom:30px; +} +.marginbot40{ + margin-bottom:40px; +} + +.clear-margintop{ + margin-top:0; +} + +.margintop10{ + margin-top:10px; +} + +.margintop20{ + margin-top:20px; +} + +.margintop30{ + margin-top:30px; +} + +.margintop40{ + margin-top:40px; +} +/* ------------------------------------------------------------------------------ + Works +-------------------------------------------------------------------------------*/ +.no-gutter{ + margin:0px; +} +.no-gutter [class*=col-] { + padding-right: 0; + padding-left: 0; +} +.work { + -moz-box-shadow: 0 0 0 1px #fff; + -webkit-box-shadow: 0 0 0 1px #fff; + box-shadow: 0 0 0 1px #fff; + overflow: hidden; + position: relative; +} +.work img { + width: 100%; + height: 100%; +} +.work .overlay { + background: rgba(222, 59, 105, 0.8); + height: 100%; + left: 0; + opacity: 0; + position: absolute; + top: 0; + width: 100%; + -moz-transition: opacity, 0.3s; + -o-transition: opacity, 0.3s; + -webkit-transition: opacity, 0.3s; + transition: opacity, 0.3s; +} +.work .overlay-caption { + position: absolute; + text-align: center; + top: 50%; + width: 100%; + -moz-transform: translateY(-50%); + -ms-transform: translateY(-50%); + -webkit-transform: translateY(-50%); + transform: translateY(-50%); +} +.work h5, .work p, .work img { + -moz-transition: all, 0.5s; + -o-transition: all, 0.5s; + -webkit-transition: all, 0.5s; + transition: all, 0.5s; +} +.work h5, .work p { + color: #fff; + margin: 0; + opacity: 0; +} +.work span { + font-size: 45px; +} +.work h5 { + margin-bottom: 5px; + -moz-transform: translate3d(0, -200%, 0); + -ms-transform: translate3d(0, -200%, 0); + -webkit-transform: translate3d(0, -200%, 0); + transform: translate3d(0, -200%, 0); +} +.work p { + -moz-transform: translate3d(0, 200%, 0); + -ms-transform: translate3d(0, 200%, 0); + -webkit-transform: translate3d(0, 200%, 0); + transform: translate3d(0, 200%, 0); +} +.work-box:hover img { + -moz-transform: scale(1.2); + -ms-transform: scale(1.2); + -webkit-transform: scale(1.2); + transform: scale(1.2); +} +.work-box:hover .overlay { + opacity: 1; +} +.work-box:hover .overlay h5, .work-box:hover .overlay p { + opacity: 1; + -moz-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} + + +/* Media queries +============================= */ + +@media (min-width: 768px) and (max-width: 979px) { + + a.detail{ + background:none; + width:100%; + } + + + + footer .widget form input#appendedInputButton { + display: block; + width: 91%; + -webkit-border-radius: 4px 4px 4px 4px; + -moz-border-radius: 4px 4px 4px 4px; + border-radius: 4px 4px 4px 4px; + } + + footer .widget form .input-append .btn { + display: block; + width: 100%; + padding-right: 0; + padding-left: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + margin-top:10px; + } + + ul.related-folio li{ + width:156px; + margin:0 20px 0 0; + } +} + +@media (max-width: 767px) { + + body { + padding-right: 0; + padding-left: 0; + } + .navbar-default .navbar-brand { + margin-top: -6px; +} +.navbar-default .navbar-toggle { + border-color: #ddd; + margin-top: 0; +} + .navbar-header { + margin-top: 20px; + border-bottom: none; + } + + .navbar-nav { + border-top: none; + float: none; + width: 100%; + } +.navbar .nav > li > a { + color: #848484; + text-shadow: none; + border: 1px solid rgba(255, 255, 255, 0) !important; + padding: 3px 16px; +} + + header .nav li .dropdown-menu { + margin-top: 0; + } + + .dropdown-menu { + position: absolute; + top: 0; + left: 40px; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + font-size: 13px; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #f5f5f5; + border: 1px solid rgba(0, 0, 0, .15); + border-radius: 0; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175); + box-shadow: 0 6px 12px rgba(0, 0, 0, .175); + } + + + + .navbar-collapse.collapse { + border: none; + overflow: hidden; + } + + + .box { + border-bottom:1px solid #e9e9e9; + padding-bottom:20px; + } + + #featured .flexslider .slide-caption { + width: 90%; + padding: 2%; + position: absolute; + left: 0; + bottom: -40px; + } + + + #inner-headline .breadcrumb { + float:left; + clear:both; + width:100%; + } + + .breadcrumb > li { + font-size:13px; + } + + + ul.Gallery li article a i.icon-48{ + width:20px; + height:20px; + font-size:16px; + line-height:20px; + } + + + .left-sidebar{ + border-right:none; + padding:0 0 0 0; + border-bottom: 1px dotted #e6e6e6; + padding-bottom:10px; + margin-bottom:40px; + } + + .right-sidebar{ + margin-top:30px; + border-left:none; + padding:0 0 0 0; + } + + + footer .col-lg-1, footer .col-lg-2, footer .col-lg-3, footer .col-lg-4, footer .col-lg-5, footer .col-lg-6, + footer .col-lg-7, footer .col-lg-8, footer .col-lg-9, footer .col-lg-10, footer .col-lg-11, footer .col-lg-12{ + margin-bottom:20px; + } + + #sub-footer ul.social-network { + float:left; + } + + + + [class*="span"] { + margin-bottom:20px; + } + +} + +@media (max-width: 480px) { + .bottom-article a.pull-right { + float:left; + margin-top:20px; + } + + + .search{ + float:left; + } + + .flexslider .flex-caption { + display:none; + } + + + .cta-text { + margin:0 auto; + text-align:center; + } + + ul.Gallery li article a i{ + width:20px; + height:20px; + font-size:14px; + } + + +} + + +.box-area:before { + position: absolute; + width: 100%; + height: 100%; + z-index: 0; + background-color: red; + content: ''; + position: absolute; + top: 7px; + left: 0px; + width: 100%; + height: 19px; + background: #EBEBEB; + -moz-transform: skewY(-3deg); + -o-transform: skewY(-3deg); + -ms-transform: skewY(-3deg); + -webkit-transform: skewY(-3deg); + transform: skewY(-6deg); + background-size: cover; +} +.box-area:after { + position: absolute; + width: 100%; + height: 100%; + z-index: 0; + content: ''; + position: absolute; + top: -24px; + left: -1px; + width: 100%; + height: 31px; + -moz-transform: skewY(-3deg); + -o-transform: skewY(-3deg); + -ms-transform: skewY(-3deg); + -webkit-transform: skewY(-3deg); + transform: skewY(-6deg); + background-size: cover; + background: #fff; +} +.box-area h3 { + margin-top: -16px; + z-index: 12; + position: relative; +} +.courses{ +padding:50px 0 +} +.carousel-indicators li { + display: inline-block; + border: 1px solid #929292; + } +.textbox { + padding: 4px 25px; +} +.clour1 { + background: #84D7FF; +} +.clour2 { + background: #94F9AB; +} +.clour3{ + background: #FFC3E6; +} +.clour4 { + background: #D1C8FF; +} +.clour5 { + background: #FFF684; +} +.clour6 { + background: #FFCEB0; +} +.textbox h3 { + margin: 0; + padding: 22px 0 14px; + font-size: 18px; +} + +#chartdiv { + width: 100%; + height: 500px; +} \ No newline at end of file diff --git a/routes/index.js b/routes/index.js new file mode 100644 index 0000000..a0c2bc9 --- /dev/null +++ b/routes/index.js @@ -0,0 +1,24 @@ +var express = require('express'); +var router = express.Router(); + +/* GET home page. */ +router.get('/', function(req, res, next) { + res.render('index', { title: 'Home' }); +}); + +/* Nosotros. */ +router.get('/nosotros', function(req, res, next) { + res.render('nosotros', { title: 'Nosotros' }); +}); + +/* Servicios. */ +router.get('/servicios', function(req, res, next) { + res.render('servicios', { title: 'Servicios' }); +}); + +/* Contacto. */ +router.get('/contacto', function(req, res, next) { + res.render('contacto', { title: 'Contacto' }); +}); + +module.exports = router; diff --git a/routes/users.js b/routes/users.js new file mode 100644 index 0000000..623e430 --- /dev/null +++ b/routes/users.js @@ -0,0 +1,9 @@ +var express = require('express'); +var router = express.Router(); + +/* GET users listing. */ +router.get('/', function(req, res, next) { + res.send('respond with a resource'); +}); + +module.exports = router; diff --git a/views/error.pug b/views/error.pug new file mode 100644 index 0000000..51ec12c --- /dev/null +++ b/views/error.pug @@ -0,0 +1,6 @@ +extends layout + +block content + h1= message + h2= error.status + pre #{error.stack} diff --git a/views/index.pug b/views/index.pug new file mode 100644 index 0000000..f0436a4 --- /dev/null +++ b/views/index.pug @@ -0,0 +1,56 @@ +extends layout + +block content + section.hero-text + .container + .row + .col-lg-12 + .aligncenter + h1.aligncenter + SmartKids + span.clear.spacer_responsive_hide_mobile + Lorem ipsum dolor sit amet + + #chartdiv + + section.content + .container + .row + .skill-home + .skill-home-solid.clearfix + .col-md-3.text-center + span.icons.c1 + i.fa.fa-trophy + .box-area + h3 Play Group + p + | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolores quae porro consequatur aliquam, incidunt eius magni provident + + main.container(role='main') + .jumbotron + h1 Home + p.lead + | Estás en la página Home + a.btn.btn-lg.btn-primary(href='#' role='button') Botón » + .container + + .row + .col-md-4 + h2 Contenido + p + | Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. + p + a.btn.btn-secondary(href='#' role='button') Ver más » + .col-md-4 + h2 Contenido + p + | Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. + p + a.btn.btn-secondary(href='#' role='button') Ver más » + .col-md-4 + h2 Contenido + p + | Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. + p + a.btn.btn-secondary(href='#' role='button') Ver más » + hr \ No newline at end of file diff --git a/views/layout.pug b/views/layout.pug new file mode 100644 index 0000000..a663797 --- /dev/null +++ b/views/layout.pug @@ -0,0 +1,54 @@ +doctype html +html + head + meta(name='viewport' content='width=device-width, initial-scale=1, shrink-to-fit=no') + meta(charset='utf-8') + title= title + link(rel='stylesheet', href='/css/bootstrap.min.css') + link(rel="stylesheet", href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.1/css/all.min.css") + link(rel='stylesheet', href='/stylesheets/style.css') + script(type='text/javascript', src='https://www.amcharts.com/lib/4/core.js') + script(type='text/javascript', src='https://www.amcharts.com/lib/4/maps.js') + script(type='text/javascript', src='https://www.amcharts.com/lib/4/geodata/worldLow.js') + script(type='text/javascript', src='https://www.amcharts.com/lib/4/themes/animated.js') + script(type='text/javascript', src='/javascripts/map.js') + body + header + nav.navbar.navbar-expand-md + div.container + div.navbar-header + button.navbar-toggler(type='button' data-toggle='collapse' data-target='#navbarCollapse' aria-controls='navbarCollapse' aria-expanded='false' aria-label='Toggle navigation') + span.navbar-toggler-icon + #navbarCollapse.collapse.navbar-collapse + a.navbar-brand(href='/') + img(src='/images/logo.jpg' height='75') + div.navbar-collapse.collapse + ul.nav.navbar-nav + li.nav-item.active + a.nav-link(href='/') + | Home + span.sr-only (current) + li + a.nav-link(href='nosotros') Nosotros + li + a.nav-link(href='servicios') Servicios + li + a.nav-link(href='contacto') Contacto + + block content + + footer + .sub-footer + .container + .row + .col-lg-6 + .copyright + p + span + | © GeoKids - Test - + a(href='https://www.dbamastery.com' target='_blank') DBA Mastery + + script(type='text/javascript', src='/js/jquery.min.js') + script(type='text/javascript', src='/js/popper.js') + script(type='text/javascript', src='/js/bootstrap.min.js') + script(type='text/javascript', src='https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.1/js/all.min.js') \ No newline at end of file