diff --git a/dronebridge_esp32_flasher.js b/dronebridge_esp32_flasher.js index dc52aac..c383a69 100644 --- a/dronebridge_esp32_flasher.js +++ b/dronebridge_esp32_flasher.js @@ -81,8 +81,6 @@ let transport; let chip = null; let esploader; -browser_comp_check(); - function browser_comp_check() { if (!navigator.serial && !navigator.usb) { // the browser is not supporting the required technology for this flasher to run @@ -329,4 +327,6 @@ function clean_up() { device = null; transport = null; chip = null; -} \ No newline at end of file +} + +browser_comp_check(); \ No newline at end of file diff --git a/images/DB_ESP32_Docs_Trans_1.png b/images/DB_ESP32_Docs_Trans_1.png new file mode 100644 index 0000000..1115eee Binary files /dev/null and b/images/DB_ESP32_Docs_Trans_1.png differ diff --git a/images/DB_ESP32_Docs_Trans_2.png b/images/DB_ESP32_Docs_Trans_2.png new file mode 100644 index 0000000..92e0a91 Binary files /dev/null and b/images/DB_ESP32_Docs_Trans_2.png differ diff --git a/images/DB_ESP32_Docs_Trans_3.png b/images/DB_ESP32_Docs_Trans_3.png new file mode 100644 index 0000000..f525a5e Binary files /dev/null and b/images/DB_ESP32_Docs_Trans_3.png differ diff --git a/images/DB_ESP32_Docs_Trans_4.png b/images/DB_ESP32_Docs_Trans_4.png new file mode 100644 index 0000000..76c1d03 Binary files /dev/null and b/images/DB_ESP32_Docs_Trans_4.png differ diff --git a/images/DB_ESP32_Docs_Trans_5.png b/images/DB_ESP32_Docs_Trans_5.png new file mode 100644 index 0000000..9ffaee8 Binary files /dev/null and b/images/DB_ESP32_Docs_Trans_5.png differ diff --git a/images/DB_ESP32_Docs_Trans_6.png b/images/DB_ESP32_Docs_Trans_6.png new file mode 100644 index 0000000..ee5ab50 Binary files /dev/null and b/images/DB_ESP32_Docs_Trans_6.png differ diff --git a/index.html b/index.html index 5e3028a..8b63f98 100644 --- a/index.html +++ b/index.html @@ -33,9 +33,25 @@
A secure & transparent telemetry link with support for WiFi and ESP-NOW.
-
ESP-NOW enables ranges of up to 1km
- +
+
+
WiFi Data Link
+
+ DroneBridge for ESP32 WiFi connection to GCS +
+

DroneBridge for ESP32 supports traditional WiFi. Run the access point directly on the drones ESP32 or connect to a central access point on the ground.

+
+
+
+
+
Long Range ESP-NOW Data Link
+
+ DroneBridge for ESP32 ESP-NOW connection to GCS +
+

DroneBridge for ESP32 supports ESP-NOW as a protocol. While similar to WiFi it offers far more range at the cost of some data rate (still 250kbit brutto rate). In contrast to a WiFi setup you will need two ESP32`s running DroneBridge for ESP32. On one the ground and one on every drone.

+
+
Features
- -
- -
-

A firmware for the popular ESP32 modules from Espressif Systems. Probably the cheapest way to communicate with your drone, UAV, UAS, ground-based vehicle. -
It also allows for a fully transparent serial to WiFi pass-through link with variable packet size.

+
It also allows for a fully transparent serial to WiFi pass-through link with variable packet size.
It is ideal for connecting many drones in one single network.

DroneBridge for ESP32 is a telemetry/low data rate-only solution. There is no support for cameras connected to the ESP32 since it does not support video encoding.

@@ -74,9 +85,23 @@
Features
-
-
- This page is under construction. More to come in the future! +
+ +
+
+
+ Buy Me A Coffee +
+
+
+
+ + Donate via PayPal + +
+
diff --git a/package-lock.json b/package-lock.json index 62c6740..ca9b9e7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,7 +5,20 @@ "packages": { "": { "dependencies": { - "esptool-js": "^0.4.5" + "esptool-js": "^0.4.5", + "sass": "^1.77.8" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" } }, "node_modules/atob-lite": { @@ -13,6 +26,51 @@ "resolved": "https://registry.npmjs.org/atob-lite/-/atob-lite-2.0.0.tgz", "integrity": "sha512-LEeSAWeh2Gfa2FtlQE1shxQ8zi5F9GHarrGKz08TMdODD5T4eH6BMsvtnhbWZ+XQn+Gb6om/917ucvRu7l7ukw==" }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, "node_modules/esptool-js": { "version": "0.4.5", "resolved": "https://registry.npmjs.org/esptool-js/-/esptool-js-0.4.5.tgz", @@ -23,11 +81,154 @@ "tslib": "^2.4.1" } }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/immutable": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", + "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==" + }, + "node_modules/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==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/pako": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/sass": { + "version": "1.77.8", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.8.tgz", + "integrity": "sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ==", + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, "node_modules/tslib": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", diff --git a/package.json b/package.json index 133f4e4..3656a29 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,6 @@ { "dependencies": { - "esptool-js": "^0.4.5" + "esptool-js": "^0.4.5", + "sass": "^1.77.8" } } diff --git a/scss/base/_typography.scss b/scss/base/_typography.scss index e5edc70..03dffae 100644 --- a/scss/base/_typography.scss +++ b/scss/base/_typography.scss @@ -8,7 +8,7 @@ h1, h2, h3, h4, h5, h6 { } h1 { font-size: 4.0rem; line-height: 1.2; letter-spacing: -.1rem; } -h2 { font-size: 3.6rem; line-height: 1.25; letter-spacing: -.1rem; } +h2 { font-size: 3.0rem; line-height: 1.25; letter-spacing: -.1rem; } h3 { font-size: 3.0rem; line-height: 1.3; letter-spacing: -.1rem; } h4 { font-size: 2.4rem; line-height: 1.35; letter-spacing: -.08rem; } h5 { font-size: 1.8rem; line-height: 1.5; letter-spacing: -.05rem; } diff --git a/scss/dronebridge.css b/scss/dronebridge.css new file mode 100644 index 0000000..fc5c817 --- /dev/null +++ b/scss/dronebridge.css @@ -0,0 +1,192 @@ +.logo { + width: 200px; +} + +.center-all { + max-width: fit-content; + margin-left: auto; + margin-right: auto; +} + +.center-text { + text-align: center; +} + +.hero { + text-align: center; + padding-left: 6rem; + padding-right: 6rem; + margin-top: 3rem; + margin-bottom: 4rem; +} + +.header { + position: relative; + margin-top: 5rem; + margin-bottom: 3rem; +} + +.h5 { + text-align: center; + margin: 0; +} + +.nav { + transform: translateY(50%); + font-weight: bold; +} + +.nav a { + margin: 1rem; + color: white; + text-decoration: none; +} + +.nav a:hover { + text-decoration: underline; +} + +.footer { + margin-top: 3vh; + padding: 10px; + text-align: center; +} + +.footer a { + color: white; +} + +.footer a:hover { + text-decoration: underline; +} + +.dot_green, .dot_red { + height: 0.8rem; + width: 0.8rem; + border-radius: 50%; + display: inline-block; +} + +html { + min-height: 100%; +} + +body { + height: 100%; + background-image: linear-gradient(127deg, #001f3f 5%, #0074D9 100%); + /*background-image: linear-gradient(-60deg, #ff5858 0%, #f09819 100%);*/ +} + +button.button-primary { + background-color: rgba(0, 49, 102, 0); + color: #ff9734; + border-color: #ff9734; +} + +button.button-primary:hover { + background-color: #ff9734; + color: #fff; + border-color: #ff9734; +} + +button.button-primary:focus { + background-color: #003166; + color: #fff; + border-color: #9a4e0b; +} + +input { + color: #000; +} + +.custom-select select { + padding: 0.675em 6em 0.675em 1em; + background-color: white; + border-radius: 0.25rem; + color: black; + cursor: pointer; + height: max-content; +} + +.custom-select::before, +.custom-select::after { + --size: 0.3rem; + content: ""; + position: absolute; + right: 1rem; + pointer-events: none; +} + +.custom-select::before { + top: 40%; +} + +.custom-select::after { + top: 55%; +} + +.dot_green { + background-color: #68b838; +} + +.dot_red { + background-color: #f63e3e; +} + +.image-fullwidth { + margin-top: 1rem; + margin-bottom: 1rem; + width: 100%; +} + +li { + margin: auto; +} + +.loader { + width: 48px; + height: 48px; + display: inline-block; + position: relative; +} + +.loader::after, +.loader::before { + content: ""; + box-sizing: border-box; + width: 48px; + height: 48px; + border-radius: 50%; + border: 2px solid #FFF; + position: absolute; + left: 0; + top: 0; + animation: animloader 2s linear infinite; +} + +.loader::after { + animation-delay: 1s; +} + +@keyframes animloader { + 0% { + transform: scale(0); + opacity: 1; + } + 100% { + transform: scale(1); + opacity: 0; + } +} +.donate_div { + margin: 1rem; +} + +.paypal_button { + background-color: #fff; + width: 217px; + padding: 0.4em 2em; + border-radius: 0.6em; +} + +/*# sourceMappingURL=dronebridge.css.map */ diff --git a/scss/dronebridge.css.map b/scss/dronebridge.css.map new file mode 100644 index 0000000..faca168 --- /dev/null +++ b/scss/dronebridge.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["dronebridge.scss"],"names":[],"mappings":"AAEA;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;AACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAMF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAEF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;;;AAGF;EACE;IACE;IACA;;EAEF;IACE;IACA;;;AAIJ;EACE;;;AAGF;EACE;EACA;EACA;EACA","file":"dronebridge.css"} \ No newline at end of file diff --git a/scss/dronebridge.scss b/scss/dronebridge.scss index 0e56b67..bde0c92 100644 --- a/scss/dronebridge.scss +++ b/scss/dronebridge.scss @@ -1,7 +1,7 @@ @import "base/variables"; .logo { - width: 200px; + width:200px; } .center-all { diff --git a/scss/skeleton.css b/scss/skeleton.css new file mode 100644 index 0000000..aa82a10 --- /dev/null +++ b/scss/skeleton.css @@ -0,0 +1,772 @@ +/* +* Skeleton V2.0.4 +* Copyright 2014, Dave Gamache +* www.getskeleton.com +* Free to use under the MIT license. +* http://www.opensource.org/licenses/mit-license.php +* 12/9/2014 +* Sass Version by Seth Coelen https://github.com/whatsnewsaes +*/ +/* Base files. */ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ +html { + font-family: sans-serif; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; +} + +body { + margin: 0; +} + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} + +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline; +} + +audio:not([controls]) { + display: none; + height: 0; +} + +[hidden], +template { + display: none; +} + +a { + background-color: transparent; +} + +a:active { + outline: 0; +} +a:hover { + outline: 0; +} + +abbr[title] { + border-bottom: 1px dotted; +} + +b, +strong { + font-weight: bold; +} + +dfn { + font-style: italic; +} + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +mark { + background: #ff0; + color: #000; +} + +small { + font-size: 80%; +} + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +img { + border: 0; +} + +svg:not(:root) { + overflow: hidden; +} + +figure { + margin: 1em 40px; +} + +hr { + box-sizing: content-box; + height: 0; +} + +pre { + overflow: auto; +} + +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +button, +input, +optgroup, +select, +textarea { + color: inherit; + font: inherit; + margin: 0; +} + +button { + overflow: visible; +} + +button, +select { + text-transform: none; +} + +button, +html input[type=button], +input[type=reset], +input[type=submit] { + -webkit-appearance: button; + cursor: pointer; +} + +button[disabled], +html input[disabled] { + cursor: default; +} + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +input { + line-height: normal; +} + +input[type=checkbox], +input[type=radio] { + box-sizing: border-box; + padding: 0; +} + +input[type=number]::-webkit-inner-spin-button, +input[type=number]::-webkit-outer-spin-button { + height: auto; +} + +input[type=search] { + -webkit-appearance: textfield; + box-sizing: content-box; +} + +input[type=search]::-webkit-search-cancel-button, +input[type=search]::-webkit-search-decoration { + -webkit-appearance: none; +} + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +legend { + border: 0; + padding: 0; +} + +textarea { + overflow: auto; +} + +optgroup { + font-weight: bold; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +td, +th { + padding: 0; +} + +/* +* Skeleton V2.0.4 +* Copyright 2014, Dave Gamache +* www.getskeleton.com +* Free to use under the MIT license. +* http://www.opensource.org/licenses/mit-license.php +* 12/9/2014 +* Sass Version by Seth Coelen https://github.com/whatsnewsaes +*/ +html { + font-size: 62.5%; +} + +body { + font-size: 1.5rem; + line-height: 1.6; + font-weight: 400; + font-family: "Raleway", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif; + color: #ffffff; +} + +a { + color: #ffffff; +} +a:hover { + color: #f2f2f2; +} + +hr { + margin-top: 3rem; + margin-bottom: 3.5rem; + border-width: 0; + border-top: 1px solid #e1e1e1; +} + +.u-full-width { + width: 100%; + box-sizing: border-box; +} + +.u-max-full-width { + max-width: 100%; + box-sizing: border-box; +} + +.u-pull-right { + float: right; +} + +.u-pull-left { + float: left; +} + +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: 2rem; + font-weight: 300; +} + +h1 { + font-size: 4rem; + line-height: 1.2; + letter-spacing: -0.1rem; +} + +h2 { + font-size: 3rem; + line-height: 1.25; + letter-spacing: -0.1rem; +} + +h3 { + font-size: 3rem; + line-height: 1.3; + letter-spacing: -0.1rem; +} + +h4 { + font-size: 2.4rem; + line-height: 1.35; + letter-spacing: -0.08rem; +} + +h5 { + font-size: 1.8rem; + line-height: 1.5; + letter-spacing: -0.05rem; +} + +h6 { + font-size: 1.5rem; + line-height: 1.6; + letter-spacing: 0; +} + +@media (min-width: 550px) { + h1 { + font-size: 5rem; + } + h2 { + font-size: 4.2rem; + } + h3 { + font-size: 3.6rem; + } + h4 { + font-size: 3rem; + } + h5 { + font-size: 2.4rem; + } + h6 { + font-size: 1.5rem; + } +} +p { + margin-top: 0; +} + +/* Modules */ +/* +* Skeleton V2.0.4 +* Copyright 2014, Dave Gamache +* www.getskeleton.com +* Free to use under the MIT license. +* http://www.opensource.org/licenses/mit-license.php +* 12/9/2014 +* Sass Version by Seth Coelen https://github.com/whatsnewsaes +*/ +.container { + position: relative; + width: 100%; + max-width: 960px; + margin: 0 auto; + padding: 0 20px; + box-sizing: border-box; +} + +.column, +.columns { + width: 100%; + float: left; + box-sizing: border-box; +} + +@media (min-width: 400px) { + .container { + width: 85%; + padding: 0; + } +} +@media (min-width: 550px) { + .container { + width: 80%; + } + .column, + .columns { + margin-left: 4%; + } + .column:first-child, + .columns:first-child { + margin-left: 0; + } + .one.column, + .one.columns { + width: 4.6666666667%; + } + .two.columns { + width: 13.3333333333%; + } + .three.columns { + width: 22%; + } + .four.columns { + width: 30.6666666667%; + } + .five.columns { + width: 39.3333333333%; + } + .six.columns { + width: 48%; + } + .seven.columns { + width: 56.6666666667%; + } + .eight.columns { + width: 65.3333333333%; + } + .nine.columns { + width: 74%; + } + .ten.columns { + width: 82.6666666667%; + } + .eleven.columns { + width: 91.3333333333%; + } + .twelve.columns { + width: 100%; + margin-left: 0; + } + .one-third.column { + width: 30.6666666667%; + } + .two-thirds.column { + width: 65.3333333333%; + } + .one-half.column { + width: 48%; + } + .offset-by-one.column, + .offset-by-one.columns { + margin-left: 8.6666666667%; + } + .offset-by-two.column, + .offset-by-two.columns { + margin-left: 17.3333333333%; + } + .offset-by-three.column, + .offset-by-three.columns { + margin-left: 26%; + } + .offset-by-four.column, + .offset-by-four.columns { + margin-left: 34.6666666667%; + } + .offset-by-five.column, + .offset-by-five.columns { + margin-left: 43.3333333333%; + } + .offset-by-six.column, + .offset-by-six.columns { + margin-left: 52%; + } + .offset-by-seven.column, + .offset-by-seven.columns { + margin-left: 60.6666666667%; + } + .offset-by-eight.column, + .offset-by-eight.columns { + margin-left: 69.3333333333%; + } + .offset-by-nine.column, + .offset-by-nine.columns { + margin-left: 78%; + } + .offset-by-ten.column, + .offset-by-ten.columns { + margin-left: 86.6666666667%; + } + .offset-by-eleven.column, + .offset-by-eleven.columns { + margin-left: 95.3333333333%; + } + .offset-by-one-third.column, + .offset-by-one-third.columns { + margin-left: 34.6666666667%; + } + .offset-by-two-thirds.column, + .offset-by-two-thirds.columns { + margin-left: 69.3333333333%; + } + .offset-by-one-half.column, + .offset-by-one-half.column { + margin-left: 52%; + } +} +.container:after, +.row:after, +.u-cf { + content: ""; + display: table; + clear: both; +} + +.button, +button { + display: inline-block; + height: 38px; + padding: 0 30px; + color: #003166; + text-align: center; + font-size: 11px; + font-weight: 600; + line-height: 38px; + letter-spacing: 0.1rem; + text-transform: uppercase; + text-decoration: none; + white-space: nowrap; + background-color: transparent; + border-radius: 4px; + border: 1px solid #ff9734; + cursor: pointer; + box-sizing: border-box; +} + +input[type=submit], input[type=reset], input[type=button] { + display: inline-block; + height: 38px; + padding: 0 30px; + color: #003166; + text-align: center; + font-size: 11px; + font-weight: 600; + line-height: 38px; + letter-spacing: 0.1rem; + text-transform: uppercase; + text-decoration: none; + white-space: nowrap; + background-color: transparent; + border-radius: 4px; + border: 1px solid #ff9734; + cursor: pointer; + box-sizing: border-box; +} + +.button:hover, +button:hover { + color: #333; + border-color: #888888; + outline: 0; +} + +input[type=submit]:hover, input[type=reset]:hover, input[type=button]:hover { + color: #333; + border-color: #888888; + outline: 0; +} + +.button:focus, +button:focus { + color: #333; + border-color: #888888; + outline: 0; +} + +input[type=submit]:focus, input[type=reset]:focus, input[type=button]:focus { + color: #333; + border-color: #888888; + outline: 0; +} + +.button.button-primary, +button.button-primary { + color: #fff; + background-color: #ff9734; + border-color: #ff9734; +} + +input[type=submit].button-primary, input[type=reset].button-primary, input[type=button].button-primary { + color: #fff; + background-color: #ff9734; + border-color: #ff9734; +} + +.button.button-primary:hover, +button.button-primary:hover { + color: #fff; + background-color: #ffffff; + border-color: #ffffff; +} + +input[type=submit].button-primary:hover, input[type=reset].button-primary:hover, input[type=button].button-primary:hover { + color: #fff; + background-color: #ffffff; + border-color: #ffffff; +} + +.button.button-primary:focus, +button.button-primary:focus { + color: #fff; + background-color: #ffffff; + border-color: #ffffff; +} + +input[type=submit].button-primary:focus, input[type=reset].button-primary:focus, input[type=button].button-primary:focus { + color: #fff; + background-color: #ffffff; + border-color: #ffffff; +} +input[type=email], input[type=number], input[type=search], input[type=text], input[type=tel], input[type=url], input[type=password] { + height: 38px; + padding: 6px 10px; + background-color: #fff; + border: 1px solid #ffae61; + border-radius: 4px; + box-shadow: none; + box-sizing: border-box; +} + +input[type=email], +input[type=number], +input[type=search], +input[type=text], +input[type=tel], +input[type=url], +input[type=password], +textarea, +select { + height: 38px; + padding: 6px 10px; + background-color: #fff; + border: 1px solid #ffae61; + border-radius: 4px; + box-shadow: none; + box-sizing: border-box; +} + +input[type=email], input[type=number], input[type=search], input[type=text], input[type=tel], input[type=url], input[type=password] { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +textarea { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + min-height: 65px; + padding-top: 6px; + padding-bottom: 6px; +} + +input[type=email]:focus, input[type=number]:focus, input[type=search]:focus, input[type=text]:focus, input[type=tel]:focus, input[type=url]:focus, input[type=password]:focus { + border: 1px solid #ff9734; + outline: 0; +} + +textarea:focus, +select:focus { + border: 1px solid #ff9734; + outline: 0; +} + +label, +legend { + display: block; + margin-bottom: 0.5rem; + font-weight: 600; +} + +fieldset { + padding: 0; + border-width: 0; +} + +input[type=checkbox], input[type=radio] { + display: inline; +} + +label > .label-body { + display: inline-block; + margin-left: 0.5rem; + font-weight: normal; +} + +ul { + list-style: circle inside; +} + +ol { + list-style: decimal inside; + padding-left: 0; + margin-top: 0; +} + +ul { + padding-left: 0; + margin-top: 0; +} +ul ul, ul ol { + margin: 1.5rem 0 1.5rem 3rem; + font-size: 90%; +} + +ol ol, ol ul { + margin: 1.5rem 0 1.5rem 3rem; + font-size: 90%; +} + +li { + margin-bottom: 1rem; +} + +code { + padding: 0.2rem 0.5rem; + margin: 0 0.2rem; + font-size: 90%; + white-space: nowrap; + background: #f1f1f1; + border: 1px solid #e1e1e1; + border-radius: 4px; +} + +pre > code { + display: block; + padding: 1rem 1.5rem; + white-space: pre; +} + +th, +td { + padding: 12px 15px; + text-align: left; + border-bottom: 1px solid #e1e1e1; +} + +th:first-child, +td:first-child { + padding-left: 0; +} + +th:last-child, +td:last-child { + padding-right: 0; +} + +button, +.button { + margin-bottom: 1rem; +} + +input, +textarea, +select, +fieldset { + margin-bottom: 1.5rem; +} + +pre, +blockquote, +dl, +figure, +table, +p, +ul, +ol, +form { + margin-bottom: 2.5rem; +} + +/*# sourceMappingURL=skeleton.css.map */ diff --git a/scss/skeleton.css.map b/scss/skeleton.css.map new file mode 100644 index 0000000..fb3b16e --- /dev/null +++ b/scss/skeleton.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["skeleton.scss","base/_normalize.scss","base/_functions.scss","base/_base-styles.scss","base/_variables.scss","base/_utils.scss","base/_typography.scss","modules/_grid.scss","modules/_buttons.scss","modules/_forms.scss","modules/_lists.scss","modules/_code.scss","modules/_tables.scss","modules/_spacing.scss"],"names":[],"mappings":"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","file":"skeleton.css"} \ No newline at end of file