Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5c4f0c2e69 |
@@ -1,8 +0,0 @@
|
|||||||
title: Cachet-monitor
|
|
||||||
description: Distributed monitoring plugin for CachetHQ
|
|
||||||
google_analytics:
|
|
||||||
show_downloads: true
|
|
||||||
theme: jekyll-theme-minimal
|
|
||||||
|
|
||||||
gems:
|
|
||||||
- jekyll-mentions
|
|
||||||
16
cli/main.go
16
cli/main.go
@@ -53,6 +53,22 @@ func main() {
|
|||||||
|
|
||||||
wg := &sync.WaitGroup{}
|
wg := &sync.WaitGroup{}
|
||||||
for _, mon := range cfg.Monitors {
|
for _, mon := range cfg.Monitors {
|
||||||
|
cfg.Logger.Printf(" Starting %s: %d seconds check interval\n - %v %s", mon.Name, mon.CheckInterval, mon.Method, mon.URL)
|
||||||
|
|
||||||
|
// print features
|
||||||
|
if mon.ExpectedStatusCode > 0 {
|
||||||
|
cfg.Logger.Printf(" - Expect HTTP %d", mon.ExpectedStatusCode)
|
||||||
|
}
|
||||||
|
if len(mon.ExpectedBody) > 0 {
|
||||||
|
cfg.Logger.Printf(" - Expect Body to match \"%v\"", mon.ExpectedBody)
|
||||||
|
}
|
||||||
|
if mon.MetricID > 0 {
|
||||||
|
cfg.Logger.Printf(" - Log lag to metric id %d\n", mon.MetricID)
|
||||||
|
}
|
||||||
|
if mon.ComponentID > 0 {
|
||||||
|
cfg.Logger.Printf(" - Update component id %d\n\n", mon.ComponentID)
|
||||||
|
}
|
||||||
|
|
||||||
go mon.Start(cfg, wg)
|
go mon.Start(cfg, wg)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
187
index.md
187
index.md
@@ -1,187 +0,0 @@
|
|||||||

|
|
||||||
|
|
||||||
## Features
|
|
||||||
|
|
||||||
- [x] Creates & Resolves Incidents
|
|
||||||
- [x] Posts monitor lag to cachet graphs
|
|
||||||
- [x] HTTP Checks (body/status code)
|
|
||||||
- [x] DNS Checks
|
|
||||||
- [x] Updates Component to Partial Outage
|
|
||||||
- [x] Updates Component to Major Outage if already in Partial Outage (works with distributed monitors)
|
|
||||||
- [x] Can be run on multiple servers and geo regions
|
|
||||||
|
|
||||||
## Example Configuration
|
|
||||||
|
|
||||||
**Note:** configuration can be in json or yaml format. [`example.config.json`](https://github.com/CastawayLabs/cachet-monitor/blob/master/example.config.json), [`example.config.yaml`](https://github.com/CastawayLabs/cachet-monitor/blob/master/example.config.yml) files.
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
api:
|
|
||||||
# cachet url
|
|
||||||
url: https://demo.cachethq.io/api/v1
|
|
||||||
# cachet api token
|
|
||||||
token: 9yMHsdioQosnyVK4iCVR
|
|
||||||
insecure: false
|
|
||||||
# https://golang.org/src/time/format.go#L57
|
|
||||||
date_format: 02/01/2006 15:04:05 MST
|
|
||||||
monitors:
|
|
||||||
# http monitor example
|
|
||||||
- name: google
|
|
||||||
# test url
|
|
||||||
target: https://google.com
|
|
||||||
# strict certificate checking for https
|
|
||||||
strict: true
|
|
||||||
# HTTP method
|
|
||||||
method: POST
|
|
||||||
|
|
||||||
# set to update component (either component_id or metric_id are required)
|
|
||||||
component_id: 1
|
|
||||||
# set to post lag to cachet metric (graph)
|
|
||||||
metric_id: 4
|
|
||||||
|
|
||||||
# custom templates (see readme for details)
|
|
||||||
template:
|
|
||||||
investigating:
|
|
||||||
subject: "{{ .Monitor.Name }} - {{ .SystemName }}"
|
|
||||||
message: "{{ .Monitor.Name }} check **failed** (server time: {{ .now }})\n\n{{ .FailReason }}"
|
|
||||||
fixed:
|
|
||||||
subject: "I HAVE BEEN FIXED"
|
|
||||||
|
|
||||||
# seconds between checks
|
|
||||||
interval: 1
|
|
||||||
# seconds for timeout
|
|
||||||
timeout: 1
|
|
||||||
# If % of downtime is over this threshold, open an incident
|
|
||||||
threshold: 80
|
|
||||||
|
|
||||||
# custom HTTP headers
|
|
||||||
headers:
|
|
||||||
Authorization: Basic <hash>
|
|
||||||
# expected status code (either status code or body must be supplied)
|
|
||||||
expected_status_code: 200
|
|
||||||
# regex to match body
|
|
||||||
expected_body: "P.*NG"
|
|
||||||
# dns monitor example
|
|
||||||
- name: dns
|
|
||||||
# fqdn
|
|
||||||
target: matej.me.
|
|
||||||
# question type (A/AAAA/CNAME/...)
|
|
||||||
question: mx
|
|
||||||
type: dns
|
|
||||||
# set component_id/metric_id
|
|
||||||
component_id: 2
|
|
||||||
# poll every 1s
|
|
||||||
interval: 1
|
|
||||||
timeout: 1
|
|
||||||
# custom DNS server (defaults to system)
|
|
||||||
dns: 8.8.4.4:53
|
|
||||||
answers:
|
|
||||||
# exact/regex check
|
|
||||||
- regex: [1-9] alt[1-9].aspmx.l.google.com.
|
|
||||||
- exact: 10 aspmx2.googlemail.com.
|
|
||||||
- exact: 1 aspmx.l.google.com.
|
|
||||||
- exact: 10 aspmx3.googlemail.com.
|
|
||||||
```
|
|
||||||
|
|
||||||
## Installation
|
|
||||||
|
|
||||||
1. Download binary from [release page](https://github.com/CastawayLabs/cachet-monitor/releases)
|
|
||||||
2. Create a configuration
|
|
||||||
3. `cachet-monitor -c /etc/cachet-monitor.yaml`
|
|
||||||
|
|
||||||
pro tip: run in background using `nohup cachet-monitor 2>&1 > /var/log/cachet-monitor.log &`
|
|
||||||
|
|
||||||
```
|
|
||||||
Usage:
|
|
||||||
cachet-monitor (-c PATH | --config PATH) [--log=LOGPATH] [--name=NAME] [--immediate]
|
|
||||||
cachet-monitor -h | --help | --version
|
|
||||||
|
|
||||||
Arguments:
|
|
||||||
PATH path to config.json
|
|
||||||
LOGPATH path to log output (defaults to STDOUT)
|
|
||||||
NAME name of this logger
|
|
||||||
|
|
||||||
Examples:
|
|
||||||
cachet-monitor -c /root/cachet-monitor.json
|
|
||||||
cachet-monitor -c /root/cachet-monitor.json --log=/var/log/cachet-monitor.log --name="development machine"
|
|
||||||
|
|
||||||
Options:
|
|
||||||
-c PATH.json --config PATH Path to configuration file
|
|
||||||
-h --help Show this screen.
|
|
||||||
--version Show version
|
|
||||||
--immediate Tick immediately (by default waits for first defined interval)
|
|
||||||
|
|
||||||
Environment varaibles:
|
|
||||||
CACHET_API override API url from configuration
|
|
||||||
CACHET_TOKEN override API token from configuration
|
|
||||||
CACHET_DEV set to enable dev logging
|
|
||||||
```
|
|
||||||
|
|
||||||
## Templates
|
|
||||||
|
|
||||||
This package makes use of [`text/template`](https://godoc.org/text/template). [Default HTTP template](https://github.com/CastawayLabs/cachet-monitor/blob/master/http.go#L14)
|
|
||||||
|
|
||||||
The following variables are available:
|
|
||||||
|
|
||||||
| Root objects |
|
|
||||||
| ------------- | -----------------
|
|
||||||
| `.SystemName` | system name
|
|
||||||
| `.API` | `api` object from configuration
|
|
||||||
| `.Monitor` | `monitor` object from configuration
|
|
||||||
| `.now` | formatted date string
|
|
||||||
|
|
||||||
| Monitor variables |
|
|
||||||
| ------------------ |
|
|
||||||
| `.Name` |
|
|
||||||
| `.Target` |
|
|
||||||
| `.Type` |
|
|
||||||
| `.Strict` |
|
|
||||||
| `.MetricID` |
|
|
||||||
| ... |
|
|
||||||
|
|
||||||
All monitor variables are available from `monitor.go`
|
|
||||||
|
|
||||||
## Vision and goals
|
|
||||||
|
|
||||||
We made this tool because we felt the need to have our own monitoring software (leveraging on Cachet).
|
|
||||||
The idea is a stateless program which collects data and pushes it to a central cachet instance.
|
|
||||||
|
|
||||||
This gives us power to have an army of geographically distributed loggers and reveal issues in both latency & downtime on client websites.
|
|
||||||
|
|
||||||
## Package usage
|
|
||||||
|
|
||||||
When using `cachet-monitor` as a package in another program, you should follow what `cli/main.go` does. It is important to call `Validate` on `CachetMonitor` and all the monitors inside.
|
|
||||||
|
|
||||||
[API Documentation](https://godoc.org/github.com/CastawayLabs/cachet-monitor)
|
|
||||||
|
|
||||||
# Contributions welcome
|
|
||||||
|
|
||||||
We'll happily accept contributions for the following (non exhaustive list).
|
|
||||||
|
|
||||||
- Implement ICMP check
|
|
||||||
- Implement TCP check
|
|
||||||
- Any bug fixes / code improvements
|
|
||||||
- Test cases
|
|
||||||
|
|
||||||
## License
|
|
||||||
|
|
||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2016 Castaway Labs LLC
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
17
monitor.go
17
monitor.go
@@ -48,23 +48,6 @@ func (mon *Monitor) Start(cfg *CachetMonitor, wg *sync.WaitGroup) {
|
|||||||
wg.Add(1)
|
wg.Add(1)
|
||||||
mon.config = cfg
|
mon.config = cfg
|
||||||
mon.stopC = make(chan bool)
|
mon.stopC = make(chan bool)
|
||||||
|
|
||||||
mon.config.Logger.Printf(" Starting %s: %d seconds check interval\n - %v %s", mon.Name, mon.CheckInterval, mon.Method, mon.URL)
|
|
||||||
|
|
||||||
// print features
|
|
||||||
if mon.ExpectedStatusCode > 0 {
|
|
||||||
mon.config.Logger.Printf(" - Expect HTTP %d", mon.ExpectedStatusCode)
|
|
||||||
}
|
|
||||||
if len(mon.ExpectedBody) > 0 {
|
|
||||||
mon.config.Logger.Printf(" - Expect Body to match \"%v\"", mon.ExpectedBody)
|
|
||||||
}
|
|
||||||
if mon.MetricID > 0 {
|
|
||||||
mon.config.Logger.Printf(" - Log lag to metric id %d\n", mon.MetricID)
|
|
||||||
}
|
|
||||||
if mon.ComponentID > 0 {
|
|
||||||
mon.config.Logger.Printf(" - Update component id %d\n\n", mon.ComponentID)
|
|
||||||
}
|
|
||||||
|
|
||||||
mon.Tick()
|
mon.Tick()
|
||||||
|
|
||||||
ticker := time.NewTicker(mon.CheckInterval * time.Second)
|
ticker := time.NewTicker(mon.CheckInterval * time.Second)
|
||||||
|
|||||||
BIN
screenshot.png
BIN
screenshot.png
Binary file not shown.
|
Before Width: | Height: | Size: 97 KiB |
@@ -1,124 +0,0 @@
|
|||||||
/*
|
|
||||||
The MIT License (MIT)
|
|
||||||
|
|
||||||
Copyright (c) 2015 GitHub, Inc.
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
.pl-c /* comment */ {
|
|
||||||
color: #969896;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pl-c1 /* constant, markup.raw, meta.diff.header, meta.module-reference, meta.property-name, support, support.constant, support.variable, variable.other.constant */,
|
|
||||||
.pl-s .pl-v /* string variable */ {
|
|
||||||
color: #0086b3;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pl-e /* entity */,
|
|
||||||
.pl-en /* entity.name */ {
|
|
||||||
color: #795da3;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pl-s .pl-s1 /* string source */,
|
|
||||||
.pl-smi /* storage.modifier.import, storage.modifier.package, storage.type.java, variable.other, variable.parameter.function */ {
|
|
||||||
color: #333;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pl-ent /* entity.name.tag */ {
|
|
||||||
color: #63a35c;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pl-k /* keyword, storage, storage.type */ {
|
|
||||||
color: #a71d5d;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pl-pds /* punctuation.definition.string, string.regexp.character-class */,
|
|
||||||
.pl-s /* string */,
|
|
||||||
.pl-s .pl-pse .pl-s1 /* string punctuation.section.embedded source */,
|
|
||||||
.pl-sr /* string.regexp */,
|
|
||||||
.pl-sr .pl-cce /* string.regexp constant.character.escape */,
|
|
||||||
.pl-sr .pl-sra /* string.regexp string.regexp.arbitrary-repitition */,
|
|
||||||
.pl-sr .pl-sre /* string.regexp source.ruby.embedded */ {
|
|
||||||
color: #183691;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pl-v /* variable */ {
|
|
||||||
color: #ed6a43;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pl-id /* invalid.deprecated */ {
|
|
||||||
color: #b52a1d;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pl-ii /* invalid.illegal */ {
|
|
||||||
background-color: #b52a1d;
|
|
||||||
color: #f8f8f8;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pl-sr .pl-cce /* string.regexp constant.character.escape */ {
|
|
||||||
color: #63a35c;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pl-ml /* markup.list */ {
|
|
||||||
color: #693a17;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pl-mh /* markup.heading */,
|
|
||||||
.pl-mh .pl-en /* markup.heading entity.name */,
|
|
||||||
.pl-ms /* meta.separator */ {
|
|
||||||
color: #1d3e81;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pl-mq /* markup.quote */ {
|
|
||||||
color: #008080;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pl-mi /* markup.italic */ {
|
|
||||||
color: #333;
|
|
||||||
font-style: italic;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pl-mb /* markup.bold */ {
|
|
||||||
color: #333;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pl-md /* markup.deleted, meta.diff.header.from-file */ {
|
|
||||||
background-color: #ffecec;
|
|
||||||
color: #bd2c00;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pl-mi1 /* markup.inserted, meta.diff.header.to-file */ {
|
|
||||||
background-color: #eaffea;
|
|
||||||
color: #55a532;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pl-mdr /* meta.diff.range */ {
|
|
||||||
color: #795da3;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pl-mo /* meta.output */ {
|
|
||||||
color: #1d3e81;
|
|
||||||
}
|
|
||||||
|
|
||||||
424
stylesheets/normalize.css
vendored
424
stylesheets/normalize.css
vendored
@@ -1,424 +0,0 @@
|
|||||||
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Set default font family to sans-serif.
|
|
||||||
* 2. Prevent iOS text size adjust after orientation change, without disabling
|
|
||||||
* user zoom.
|
|
||||||
*/
|
|
||||||
|
|
||||||
html {
|
|
||||||
font-family: sans-serif; /* 1 */
|
|
||||||
-ms-text-size-adjust: 100%; /* 2 */
|
|
||||||
-webkit-text-size-adjust: 100%; /* 2 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove default margin.
|
|
||||||
*/
|
|
||||||
|
|
||||||
body {
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* HTML5 display definitions
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Correct `block` display not defined for any HTML5 element in IE 8/9.
|
|
||||||
* Correct `block` display not defined for `details` or `summary` in IE 10/11
|
|
||||||
* and Firefox.
|
|
||||||
* Correct `block` display not defined for `main` in IE 11.
|
|
||||||
*/
|
|
||||||
|
|
||||||
article,
|
|
||||||
aside,
|
|
||||||
details,
|
|
||||||
figcaption,
|
|
||||||
figure,
|
|
||||||
footer,
|
|
||||||
header,
|
|
||||||
hgroup,
|
|
||||||
main,
|
|
||||||
menu,
|
|
||||||
nav,
|
|
||||||
section,
|
|
||||||
summary {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Correct `inline-block` display not defined in IE 8/9.
|
|
||||||
* 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
|
|
||||||
*/
|
|
||||||
|
|
||||||
audio,
|
|
||||||
canvas,
|
|
||||||
progress,
|
|
||||||
video {
|
|
||||||
display: inline-block; /* 1 */
|
|
||||||
vertical-align: baseline; /* 2 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Prevent modern browsers from displaying `audio` without controls.
|
|
||||||
* Remove excess height in iOS 5 devices.
|
|
||||||
*/
|
|
||||||
|
|
||||||
audio:not([controls]) {
|
|
||||||
display: none;
|
|
||||||
height: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Address `[hidden]` styling not present in IE 8/9/10.
|
|
||||||
* Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
|
|
||||||
*/
|
|
||||||
|
|
||||||
[hidden],
|
|
||||||
template {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Links
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove the gray background color from active links in IE 10.
|
|
||||||
*/
|
|
||||||
|
|
||||||
a {
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Improve readability when focused and also mouse hovered in all browsers.
|
|
||||||
*/
|
|
||||||
|
|
||||||
a:active,
|
|
||||||
a:hover {
|
|
||||||
outline: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Text-level semantics
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Address styling not present in IE 8/9/10/11, Safari, and Chrome.
|
|
||||||
*/
|
|
||||||
|
|
||||||
abbr[title] {
|
|
||||||
border-bottom: 1px dotted;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
|
|
||||||
*/
|
|
||||||
|
|
||||||
b,
|
|
||||||
strong {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Address styling not present in Safari and Chrome.
|
|
||||||
*/
|
|
||||||
|
|
||||||
dfn {
|
|
||||||
font-style: italic;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Address variable `h1` font-size and margin within `section` and `article`
|
|
||||||
* contexts in Firefox 4+, Safari, and Chrome.
|
|
||||||
*/
|
|
||||||
|
|
||||||
h1 {
|
|
||||||
font-size: 2em;
|
|
||||||
margin: 0.67em 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Address styling not present in IE 8/9.
|
|
||||||
*/
|
|
||||||
|
|
||||||
mark {
|
|
||||||
background: #ff0;
|
|
||||||
color: #000;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Address inconsistent and variable font size in all browsers.
|
|
||||||
*/
|
|
||||||
|
|
||||||
small {
|
|
||||||
font-size: 80%;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Prevent `sub` and `sup` affecting `line-height` in all browsers.
|
|
||||||
*/
|
|
||||||
|
|
||||||
sub,
|
|
||||||
sup {
|
|
||||||
font-size: 75%;
|
|
||||||
line-height: 0;
|
|
||||||
position: relative;
|
|
||||||
vertical-align: baseline;
|
|
||||||
}
|
|
||||||
|
|
||||||
sup {
|
|
||||||
top: -0.5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
sub {
|
|
||||||
bottom: -0.25em;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Embedded content
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove border when inside `a` element in IE 8/9/10.
|
|
||||||
*/
|
|
||||||
|
|
||||||
img {
|
|
||||||
border: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Correct overflow not hidden in IE 9/10/11.
|
|
||||||
*/
|
|
||||||
|
|
||||||
svg:not(:root) {
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Grouping content
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Address margin not present in IE 8/9 and Safari.
|
|
||||||
*/
|
|
||||||
|
|
||||||
figure {
|
|
||||||
margin: 1em 40px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Address differences between Firefox and other browsers.
|
|
||||||
*/
|
|
||||||
|
|
||||||
hr {
|
|
||||||
box-sizing: content-box;
|
|
||||||
height: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Contain overflow in all browsers.
|
|
||||||
*/
|
|
||||||
|
|
||||||
pre {
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Address odd `em`-unit font size rendering in all browsers.
|
|
||||||
*/
|
|
||||||
|
|
||||||
code,
|
|
||||||
kbd,
|
|
||||||
pre,
|
|
||||||
samp {
|
|
||||||
font-family: monospace, monospace;
|
|
||||||
font-size: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Forms
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Known limitation: by default, Chrome and Safari on OS X allow very limited
|
|
||||||
* styling of `select`, unless a `border` property is set.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Correct color not being inherited.
|
|
||||||
* Known issue: affects color of disabled elements.
|
|
||||||
* 2. Correct font properties not being inherited.
|
|
||||||
* 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
|
|
||||||
*/
|
|
||||||
|
|
||||||
button,
|
|
||||||
input,
|
|
||||||
optgroup,
|
|
||||||
select,
|
|
||||||
textarea {
|
|
||||||
color: inherit; /* 1 */
|
|
||||||
font: inherit; /* 2 */
|
|
||||||
margin: 0; /* 3 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Address `overflow` set to `hidden` in IE 8/9/10/11.
|
|
||||||
*/
|
|
||||||
|
|
||||||
button {
|
|
||||||
overflow: visible;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Address inconsistent `text-transform` inheritance for `button` and `select`.
|
|
||||||
* All other form control elements do not inherit `text-transform` values.
|
|
||||||
* Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
|
|
||||||
* Correct `select` style inheritance in Firefox.
|
|
||||||
*/
|
|
||||||
|
|
||||||
button,
|
|
||||||
select {
|
|
||||||
text-transform: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
|
|
||||||
* and `video` controls.
|
|
||||||
* 2. Correct inability to style clickable `input` types in iOS.
|
|
||||||
* 3. Improve usability and consistency of cursor style between image-type
|
|
||||||
* `input` and others.
|
|
||||||
*/
|
|
||||||
|
|
||||||
button,
|
|
||||||
html input[type="button"], /* 1 */
|
|
||||||
input[type="reset"],
|
|
||||||
input[type="submit"] {
|
|
||||||
-webkit-appearance: button; /* 2 */
|
|
||||||
cursor: pointer; /* 3 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Re-set default cursor for disabled elements.
|
|
||||||
*/
|
|
||||||
|
|
||||||
button[disabled],
|
|
||||||
html input[disabled] {
|
|
||||||
cursor: default;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove inner padding and border in Firefox 4+.
|
|
||||||
*/
|
|
||||||
|
|
||||||
button::-moz-focus-inner,
|
|
||||||
input::-moz-focus-inner {
|
|
||||||
border: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Address Firefox 4+ setting `line-height` on `input` using `!important` in
|
|
||||||
* the UA stylesheet.
|
|
||||||
*/
|
|
||||||
|
|
||||||
input {
|
|
||||||
line-height: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* It's recommended that you don't attempt to style these elements.
|
|
||||||
* Firefox's implementation doesn't respect box-sizing, padding, or width.
|
|
||||||
*
|
|
||||||
* 1. Address box sizing set to `content-box` in IE 8/9/10.
|
|
||||||
* 2. Remove excess padding in IE 8/9/10.
|
|
||||||
*/
|
|
||||||
|
|
||||||
input[type="checkbox"],
|
|
||||||
input[type="radio"] {
|
|
||||||
box-sizing: border-box; /* 1 */
|
|
||||||
padding: 0; /* 2 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Fix the cursor style for Chrome's increment/decrement buttons. For certain
|
|
||||||
* `font-size` values of the `input`, it causes the cursor style of the
|
|
||||||
* decrement button to change from `default` to `text`.
|
|
||||||
*/
|
|
||||||
|
|
||||||
input[type="number"]::-webkit-inner-spin-button,
|
|
||||||
input[type="number"]::-webkit-outer-spin-button {
|
|
||||||
height: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Address `appearance` set to `searchfield` in Safari and Chrome.
|
|
||||||
* 2. Address `box-sizing` set to `border-box` in Safari and Chrome
|
|
||||||
* (include `-moz` to future-proof).
|
|
||||||
*/
|
|
||||||
|
|
||||||
input[type="search"] {
|
|
||||||
-webkit-appearance: textfield; /* 1 */ /* 2 */
|
|
||||||
box-sizing: content-box;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove inner padding and search cancel button in Safari and Chrome on OS X.
|
|
||||||
* Safari (but not Chrome) clips the cancel button when the search input has
|
|
||||||
* padding (and `textfield` appearance).
|
|
||||||
*/
|
|
||||||
|
|
||||||
input[type="search"]::-webkit-search-cancel-button,
|
|
||||||
input[type="search"]::-webkit-search-decoration {
|
|
||||||
-webkit-appearance: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Define consistent border, margin, and padding.
|
|
||||||
*/
|
|
||||||
|
|
||||||
fieldset {
|
|
||||||
border: 1px solid #c0c0c0;
|
|
||||||
margin: 0 2px;
|
|
||||||
padding: 0.35em 0.625em 0.75em;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Correct `color` not being inherited in IE 8/9/10/11.
|
|
||||||
* 2. Remove padding so people aren't caught out if they zero out fieldsets.
|
|
||||||
*/
|
|
||||||
|
|
||||||
legend {
|
|
||||||
border: 0; /* 1 */
|
|
||||||
padding: 0; /* 2 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove default vertical scrollbar in IE 8/9/10/11.
|
|
||||||
*/
|
|
||||||
|
|
||||||
textarea {
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Don't inherit the `font-weight` (applied by a rule above).
|
|
||||||
* NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
|
|
||||||
*/
|
|
||||||
|
|
||||||
optgroup {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Tables
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove most spacing between table cells.
|
|
||||||
*/
|
|
||||||
|
|
||||||
table {
|
|
||||||
border-collapse: collapse;
|
|
||||||
border-spacing: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
td,
|
|
||||||
th {
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
@@ -1,228 +0,0 @@
|
|||||||
html, body, div, span, applet, object, iframe,
|
|
||||||
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
|
||||||
a, abbr, acronym, address, big, cite, code,
|
|
||||||
del, dfn, em, img, ins, kbd, q, s, samp,
|
|
||||||
small, strike, strong, sub, sup, tt, var,
|
|
||||||
b, u, i, center,
|
|
||||||
dl, dt, dd, ol, ul, li,
|
|
||||||
fieldset, form, label, legend,
|
|
||||||
table, caption, tbody, tfoot, thead, tr, th, td,
|
|
||||||
article, aside, canvas, details, embed,
|
|
||||||
figure, figcaption, footer, header, hgroup,
|
|
||||||
menu, nav, output, ruby, section, summary,
|
|
||||||
time, mark, audio, video {
|
|
||||||
padding: 0;
|
|
||||||
margin: 0;
|
|
||||||
font: inherit;
|
|
||||||
font-size: 100%;
|
|
||||||
vertical-align: baseline;
|
|
||||||
border: 0;
|
|
||||||
}
|
|
||||||
/* HTML5 display-role reset for older browsers */
|
|
||||||
article, aside, details, figcaption, figure,
|
|
||||||
footer, header, hgroup, menu, nav, section {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
body {
|
|
||||||
line-height: 1;
|
|
||||||
}
|
|
||||||
ol, ul {
|
|
||||||
list-style: none;
|
|
||||||
}
|
|
||||||
blockquote, q {
|
|
||||||
quotes: none;
|
|
||||||
}
|
|
||||||
blockquote:before, blockquote:after,
|
|
||||||
q:before, q:after {
|
|
||||||
content: '';
|
|
||||||
content: none;
|
|
||||||
}
|
|
||||||
table {
|
|
||||||
border-spacing: 0;
|
|
||||||
border-collapse: collapse;
|
|
||||||
}
|
|
||||||
body {
|
|
||||||
font-family: 'Helvetica Neue', Helvetica, Arial, serif;
|
|
||||||
font-size: 13px;
|
|
||||||
line-height: 1.5;
|
|
||||||
color: #000;
|
|
||||||
}
|
|
||||||
|
|
||||||
a {
|
|
||||||
font-weight: bold;
|
|
||||||
color: #d5000d;
|
|
||||||
}
|
|
||||||
|
|
||||||
header {
|
|
||||||
padding-top: 35px;
|
|
||||||
padding-bottom: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
header h1 {
|
|
||||||
font-size: 48px;
|
|
||||||
font-weight: bold;
|
|
||||||
line-height: 1.2;
|
|
||||||
color: #303030;
|
|
||||||
letter-spacing: -1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
header h2 {
|
|
||||||
font-size: 24px;
|
|
||||||
font-weight: normal;
|
|
||||||
line-height: 1.3;
|
|
||||||
color: #aaa;
|
|
||||||
letter-spacing: -1px;
|
|
||||||
}
|
|
||||||
#downloads {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
#main_content {
|
|
||||||
padding-top: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
code, pre {
|
|
||||||
margin-bottom: 30px;
|
|
||||||
font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal;
|
|
||||||
font-size: 12px;
|
|
||||||
color: #222;
|
|
||||||
}
|
|
||||||
|
|
||||||
code {
|
|
||||||
padding: 0 3px;
|
|
||||||
}
|
|
||||||
|
|
||||||
pre {
|
|
||||||
padding: 20px;
|
|
||||||
overflow: auto;
|
|
||||||
border: solid 1px #ddd;
|
|
||||||
}
|
|
||||||
pre code {
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul, ol, dl {
|
|
||||||
margin-bottom: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* COMMON STYLES */
|
|
||||||
|
|
||||||
table {
|
|
||||||
width: 100%;
|
|
||||||
border: 1px solid #ebebeb;
|
|
||||||
}
|
|
||||||
|
|
||||||
th {
|
|
||||||
font-weight: 500;
|
|
||||||
}
|
|
||||||
|
|
||||||
td {
|
|
||||||
font-weight: 300;
|
|
||||||
text-align: center;
|
|
||||||
border: 1px solid #ebebeb;
|
|
||||||
}
|
|
||||||
|
|
||||||
form {
|
|
||||||
padding: 20px;
|
|
||||||
background: #f2f2f2;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* GENERAL ELEMENT TYPE STYLES */
|
|
||||||
|
|
||||||
h1 {
|
|
||||||
font-size: 2.8em;
|
|
||||||
}
|
|
||||||
|
|
||||||
h2 {
|
|
||||||
margin-bottom: 8px;
|
|
||||||
font-size: 22px;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #303030;
|
|
||||||
}
|
|
||||||
|
|
||||||
h3 {
|
|
||||||
margin-bottom: 8px;
|
|
||||||
font-size: 18px;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #d5000d;
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
font-size: 16px;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #303030;
|
|
||||||
}
|
|
||||||
|
|
||||||
h5 {
|
|
||||||
font-size: 1em;
|
|
||||||
color: #303030;
|
|
||||||
}
|
|
||||||
|
|
||||||
h6 {
|
|
||||||
font-size: .8em;
|
|
||||||
color: #303030;
|
|
||||||
}
|
|
||||||
|
|
||||||
p {
|
|
||||||
margin-bottom: 20px;
|
|
||||||
font-weight: 300;
|
|
||||||
}
|
|
||||||
|
|
||||||
a {
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
p a {
|
|
||||||
font-weight: 400;
|
|
||||||
}
|
|
||||||
|
|
||||||
blockquote {
|
|
||||||
padding: 0 0 0 30px;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
font-size: 1.6em;
|
|
||||||
border-left: 10px solid #e9e9e9;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul li {
|
|
||||||
padding-left: 20px;
|
|
||||||
list-style-position: inside;
|
|
||||||
list-style: disc;
|
|
||||||
}
|
|
||||||
|
|
||||||
ol li {
|
|
||||||
padding-left: 3px;
|
|
||||||
list-style-position: inside;
|
|
||||||
list-style: decimal;
|
|
||||||
}
|
|
||||||
|
|
||||||
dl dd {
|
|
||||||
font-style: italic;
|
|
||||||
font-weight: 100;
|
|
||||||
}
|
|
||||||
|
|
||||||
footer {
|
|
||||||
padding-top: 20px;
|
|
||||||
padding-bottom: 30px;
|
|
||||||
margin-top: 40px;
|
|
||||||
font-size: 13px;
|
|
||||||
color: #aaa;
|
|
||||||
}
|
|
||||||
|
|
||||||
footer a {
|
|
||||||
color: #666;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* MISC */
|
|
||||||
.clearfix:after {
|
|
||||||
display: block;
|
|
||||||
height: 0;
|
|
||||||
clear: both;
|
|
||||||
visibility: hidden;
|
|
||||||
content: '.';
|
|
||||||
}
|
|
||||||
|
|
||||||
.clearfix {display: inline-block;}
|
|
||||||
* html .clearfix {height: 1%;}
|
|
||||||
.clearfix {display: block;}
|
|
||||||
@@ -1,881 +0,0 @@
|
|||||||
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Set default font family to sans-serif.
|
|
||||||
* 2. Prevent iOS text size adjust after orientation change, without disabling
|
|
||||||
* user zoom.
|
|
||||||
*/
|
|
||||||
|
|
||||||
html {
|
|
||||||
font-family: sans-serif; /* 1 */
|
|
||||||
-webkit-text-size-adjust: 100%; /* 2 */
|
|
||||||
-ms-text-size-adjust: 100%; /* 2 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove default margin.
|
|
||||||
*/
|
|
||||||
|
|
||||||
body {
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* HTML5 display definitions
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Correct `block` display not defined for any HTML5 element in IE 8/9.
|
|
||||||
* Correct `block` display not defined for `details` or `summary` in IE 10/11
|
|
||||||
* and Firefox.
|
|
||||||
* Correct `block` display not defined for `main` in IE 11.
|
|
||||||
*/
|
|
||||||
|
|
||||||
article,
|
|
||||||
aside,
|
|
||||||
details,
|
|
||||||
figcaption,
|
|
||||||
figure,
|
|
||||||
footer,
|
|
||||||
header,
|
|
||||||
hgroup,
|
|
||||||
main,
|
|
||||||
menu,
|
|
||||||
nav,
|
|
||||||
section,
|
|
||||||
summary {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Correct `inline-block` display not defined in IE 8/9.
|
|
||||||
* 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
|
|
||||||
*/
|
|
||||||
|
|
||||||
audio,
|
|
||||||
canvas,
|
|
||||||
progress,
|
|
||||||
video {
|
|
||||||
display: inline-block; /* 1 */
|
|
||||||
vertical-align: baseline; /* 2 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Prevent modern browsers from displaying `audio` without controls.
|
|
||||||
* Remove excess height in iOS 5 devices.
|
|
||||||
*/
|
|
||||||
|
|
||||||
audio:not([controls]) {
|
|
||||||
display: none;
|
|
||||||
height: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Address `[hidden]` styling not present in IE 8/9/10.
|
|
||||||
* Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
|
|
||||||
*/
|
|
||||||
|
|
||||||
[hidden],
|
|
||||||
template {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Links
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove the gray background color from active links in IE 10.
|
|
||||||
*/
|
|
||||||
|
|
||||||
a {
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Improve readability when focused and also mouse hovered in all browsers.
|
|
||||||
*/
|
|
||||||
|
|
||||||
a:active,
|
|
||||||
a:hover {
|
|
||||||
outline: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Text-level semantics
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Address styling not present in IE 8/9/10/11, Safari, and Chrome.
|
|
||||||
*/
|
|
||||||
|
|
||||||
abbr[title] {
|
|
||||||
border-bottom: 1px dotted;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
|
|
||||||
*/
|
|
||||||
|
|
||||||
b,
|
|
||||||
strong {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Address styling not present in Safari and Chrome.
|
|
||||||
*/
|
|
||||||
|
|
||||||
dfn {
|
|
||||||
font-style: italic;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Address variable `h1` font-size and margin within `section` and `article`
|
|
||||||
* contexts in Firefox 4+, Safari, and Chrome.
|
|
||||||
*/
|
|
||||||
|
|
||||||
h1 {
|
|
||||||
margin: 0.67em 0;
|
|
||||||
font-size: 2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Address styling not present in IE 8/9.
|
|
||||||
*/
|
|
||||||
|
|
||||||
mark {
|
|
||||||
color: #000;
|
|
||||||
background: #ff0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Address inconsistent and variable font size in all browsers.
|
|
||||||
*/
|
|
||||||
|
|
||||||
small {
|
|
||||||
font-size: 80%;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Prevent `sub` and `sup` affecting `line-height` in all browsers.
|
|
||||||
*/
|
|
||||||
|
|
||||||
sub,
|
|
||||||
sup {
|
|
||||||
position: relative;
|
|
||||||
font-size: 75%;
|
|
||||||
line-height: 0;
|
|
||||||
vertical-align: baseline;
|
|
||||||
}
|
|
||||||
|
|
||||||
sup {
|
|
||||||
top: -0.5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
sub {
|
|
||||||
bottom: -0.25em;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Embedded content
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove border when inside `a` element in IE 8/9/10.
|
|
||||||
*/
|
|
||||||
|
|
||||||
img {
|
|
||||||
border: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Correct overflow not hidden in IE 9/10/11.
|
|
||||||
*/
|
|
||||||
|
|
||||||
svg:not(:root) {
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Grouping content
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Address margin not present in IE 8/9 and Safari.
|
|
||||||
*/
|
|
||||||
|
|
||||||
figure {
|
|
||||||
margin: 1em 40px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Address differences between Firefox and other browsers.
|
|
||||||
*/
|
|
||||||
|
|
||||||
hr {
|
|
||||||
height: 0;
|
|
||||||
-moz-box-sizing: content-box;
|
|
||||||
box-sizing: content-box;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Contain overflow in all browsers.
|
|
||||||
*/
|
|
||||||
|
|
||||||
pre {
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Address odd `em`-unit font size rendering in all browsers.
|
|
||||||
*/
|
|
||||||
|
|
||||||
code,
|
|
||||||
kbd,
|
|
||||||
pre,
|
|
||||||
samp {
|
|
||||||
font-family: monospace, monospace;
|
|
||||||
font-size: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Forms
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Known limitation: by default, Chrome and Safari on OS X allow very limited
|
|
||||||
* styling of `select`, unless a `border` property is set.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Correct color not being inherited.
|
|
||||||
* Known issue: affects color of disabled elements.
|
|
||||||
* 2. Correct font properties not being inherited.
|
|
||||||
* 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
|
|
||||||
*/
|
|
||||||
|
|
||||||
button,
|
|
||||||
input,
|
|
||||||
optgroup,
|
|
||||||
select,
|
|
||||||
textarea {
|
|
||||||
margin: 0; /* 3 */
|
|
||||||
font: inherit; /* 2 */
|
|
||||||
color: inherit; /* 1 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Address `overflow` set to `hidden` in IE 8/9/10/11.
|
|
||||||
*/
|
|
||||||
|
|
||||||
button {
|
|
||||||
overflow: visible;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Address inconsistent `text-transform` inheritance for `button` and `select`.
|
|
||||||
* All other form control elements do not inherit `text-transform` values.
|
|
||||||
* Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
|
|
||||||
* Correct `select` style inheritance in Firefox.
|
|
||||||
*/
|
|
||||||
|
|
||||||
button,
|
|
||||||
select {
|
|
||||||
text-transform: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
|
|
||||||
* and `video` controls.
|
|
||||||
* 2. Correct inability to style clickable `input` types in iOS.
|
|
||||||
* 3. Improve usability and consistency of cursor style between image-type
|
|
||||||
* `input` and others.
|
|
||||||
*/
|
|
||||||
|
|
||||||
button,
|
|
||||||
html input[type="button"], /* 1 */
|
|
||||||
input[type="reset"],
|
|
||||||
input[type="submit"] {
|
|
||||||
-webkit-appearance: button; /* 2 */
|
|
||||||
cursor: pointer; /* 3 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Re-set default cursor for disabled elements.
|
|
||||||
*/
|
|
||||||
|
|
||||||
button[disabled],
|
|
||||||
html input[disabled] {
|
|
||||||
cursor: default;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove inner padding and border in Firefox 4+.
|
|
||||||
*/
|
|
||||||
|
|
||||||
button::-moz-focus-inner,
|
|
||||||
input::-moz-focus-inner {
|
|
||||||
padding: 0;
|
|
||||||
border: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Address Firefox 4+ setting `line-height` on `input` using `!important` in
|
|
||||||
* the UA stylesheet.
|
|
||||||
*/
|
|
||||||
|
|
||||||
input {
|
|
||||||
line-height: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* It's recommended that you don't attempt to style these elements.
|
|
||||||
* Firefox's implementation doesn't respect box-sizing, padding, or width.
|
|
||||||
*
|
|
||||||
* 1. Address box sizing set to `content-box` in IE 8/9/10.
|
|
||||||
* 2. Remove excess padding in IE 8/9/10.
|
|
||||||
*/
|
|
||||||
|
|
||||||
input[type="checkbox"],
|
|
||||||
input[type="radio"] {
|
|
||||||
box-sizing: border-box; /* 1 */
|
|
||||||
padding: 0; /* 2 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Fix the cursor style for Chrome's increment/decrement buttons. For certain
|
|
||||||
* `font-size` values of the `input`, it causes the cursor style of the
|
|
||||||
* decrement button to change from `default` to `text`.
|
|
||||||
*/
|
|
||||||
|
|
||||||
input[type="number"]::-webkit-inner-spin-button,
|
|
||||||
input[type="number"]::-webkit-outer-spin-button {
|
|
||||||
height: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Address `appearance` set to `searchfield` in Safari and Chrome.
|
|
||||||
* 2. Address `box-sizing` set to `border-box` in Safari and Chrome
|
|
||||||
* (include `-moz` to future-proof).
|
|
||||||
*/
|
|
||||||
|
|
||||||
input[type="search"] {
|
|
||||||
-webkit-box-sizing: content-box; /* 2 */
|
|
||||||
-moz-box-sizing: content-box;
|
|
||||||
box-sizing: content-box;
|
|
||||||
-webkit-appearance: textfield; /* 1 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove inner padding and search cancel button in Safari and Chrome on OS X.
|
|
||||||
* Safari (but not Chrome) clips the cancel button when the search input has
|
|
||||||
* padding (and `textfield` appearance).
|
|
||||||
*/
|
|
||||||
|
|
||||||
input[type="search"]::-webkit-search-cancel-button,
|
|
||||||
input[type="search"]::-webkit-search-decoration {
|
|
||||||
-webkit-appearance: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Define consistent border, margin, and padding.
|
|
||||||
*/
|
|
||||||
|
|
||||||
fieldset {
|
|
||||||
padding: 0.35em 0.625em 0.75em;
|
|
||||||
margin: 0 2px;
|
|
||||||
border: 1px solid #c0c0c0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Correct `color` not being inherited in IE 8/9/10/11.
|
|
||||||
* 2. Remove padding so people aren't caught out if they zero out fieldsets.
|
|
||||||
*/
|
|
||||||
|
|
||||||
legend {
|
|
||||||
padding: 0; /* 2 */
|
|
||||||
border: 0; /* 1 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove default vertical scrollbar in IE 8/9/10/11.
|
|
||||||
*/
|
|
||||||
|
|
||||||
textarea {
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Don't inherit the `font-weight` (applied by a rule above).
|
|
||||||
* NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
|
|
||||||
*/
|
|
||||||
|
|
||||||
optgroup {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Tables
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove most spacing between table cells.
|
|
||||||
*/
|
|
||||||
|
|
||||||
table {
|
|
||||||
border-spacing: 0;
|
|
||||||
border-collapse: collapse;
|
|
||||||
}
|
|
||||||
|
|
||||||
td,
|
|
||||||
th {
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LAYOUT STYLES */
|
|
||||||
body {
|
|
||||||
font-family: 'Helvetica Neue', Helvetica, Arial, serif;
|
|
||||||
font-size: 15px;
|
|
||||||
font-weight: 400;
|
|
||||||
line-height: 1.5;
|
|
||||||
color: #666;
|
|
||||||
background: #fafafa url(../images/body-bg.jpg) 0 0 repeat;
|
|
||||||
}
|
|
||||||
|
|
||||||
p {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
a {
|
|
||||||
color: #2879d0;
|
|
||||||
}
|
|
||||||
a:hover {
|
|
||||||
color: #2268b2;
|
|
||||||
}
|
|
||||||
|
|
||||||
header {
|
|
||||||
padding-top: 40px;
|
|
||||||
padding-bottom: 40px;
|
|
||||||
font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif;
|
|
||||||
background: #2e7bcf url(../images/header-bg.jpg) 0 0 repeat-x;
|
|
||||||
border-bottom: solid 1px #275da1;
|
|
||||||
}
|
|
||||||
|
|
||||||
header h1 {
|
|
||||||
width: 540px;
|
|
||||||
margin-top: 0;
|
|
||||||
margin-bottom: 0.2em;
|
|
||||||
font-size: 72px;
|
|
||||||
font-weight: normal;
|
|
||||||
line-height: 1;
|
|
||||||
color: #fff;
|
|
||||||
letter-spacing: -1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
header h2 {
|
|
||||||
width: 540px;
|
|
||||||
margin-top: 0;
|
|
||||||
margin-bottom: 0;
|
|
||||||
font-size: 26px;
|
|
||||||
font-weight: normal;
|
|
||||||
line-height: 1.3;
|
|
||||||
color: #9ddcff;
|
|
||||||
letter-spacing: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inner {
|
|
||||||
position: relative;
|
|
||||||
width: 940px;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content-wrapper {
|
|
||||||
padding-top: 30px;
|
|
||||||
border-top: solid 1px #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
#main-content {
|
|
||||||
float: left;
|
|
||||||
width: 690px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#main-content img {
|
|
||||||
max-width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
aside#sidebar {
|
|
||||||
float: right;
|
|
||||||
width: 200px;
|
|
||||||
min-height: 504px;
|
|
||||||
padding-left: 20px;
|
|
||||||
font-size: 12px;
|
|
||||||
line-height: 1.3;
|
|
||||||
background: transparent url(../images/sidebar-bg.jpg) 0 0 no-repeat;
|
|
||||||
}
|
|
||||||
|
|
||||||
aside#sidebar p.repo-owner,
|
|
||||||
aside#sidebar p.repo-owner a {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
#downloads {
|
|
||||||
margin-bottom: 40px;
|
|
||||||
}
|
|
||||||
|
|
||||||
a.button {
|
|
||||||
width: 134px;
|
|
||||||
height: 58px;
|
|
||||||
padding-top: 22px;
|
|
||||||
padding-left: 68px;
|
|
||||||
font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif;
|
|
||||||
font-size: 23px;
|
|
||||||
line-height: 1.2;
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
a.button small {
|
|
||||||
display: block;
|
|
||||||
font-size: 11px;
|
|
||||||
}
|
|
||||||
header a.button {
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
right: 0;
|
|
||||||
background: transparent url(../images/github-button.png) 0 0 no-repeat;
|
|
||||||
}
|
|
||||||
aside a.button {
|
|
||||||
display: block;
|
|
||||||
width: 138px;
|
|
||||||
padding-left: 64px;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
font-size: 21px;
|
|
||||||
background: transparent url(../images/download-button.png) 0 0 no-repeat;
|
|
||||||
}
|
|
||||||
|
|
||||||
code, pre {
|
|
||||||
margin-bottom: 30px;
|
|
||||||
font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace;
|
|
||||||
font-size: 13px;
|
|
||||||
color: #222;
|
|
||||||
}
|
|
||||||
|
|
||||||
code {
|
|
||||||
padding: 0 3px;
|
|
||||||
background-color: #f2f8fc;
|
|
||||||
border: solid 1px #dbe7f3;
|
|
||||||
}
|
|
||||||
|
|
||||||
pre {
|
|
||||||
padding: 20px;
|
|
||||||
overflow: auto;
|
|
||||||
text-shadow: none;
|
|
||||||
background: #fff;
|
|
||||||
border: solid 1px #f2f2f2;
|
|
||||||
}
|
|
||||||
pre code {
|
|
||||||
padding: 0;
|
|
||||||
color: #2879d0;
|
|
||||||
background-color: #fff;
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul, ol, dl {
|
|
||||||
margin-bottom: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* COMMON STYLES */
|
|
||||||
|
|
||||||
hr {
|
|
||||||
height: 0;
|
|
||||||
margin-top: 1em;
|
|
||||||
margin-bottom: 1em;
|
|
||||||
border: 0;
|
|
||||||
border-top: solid 1px #ddd;
|
|
||||||
}
|
|
||||||
|
|
||||||
table {
|
|
||||||
width: 100%;
|
|
||||||
border: 1px solid #ebebeb;
|
|
||||||
}
|
|
||||||
|
|
||||||
th {
|
|
||||||
font-weight: 500;
|
|
||||||
}
|
|
||||||
|
|
||||||
td {
|
|
||||||
font-weight: 300;
|
|
||||||
text-align: center;
|
|
||||||
border: 1px solid #ebebeb;
|
|
||||||
}
|
|
||||||
|
|
||||||
form {
|
|
||||||
padding: 20px;
|
|
||||||
background: #f2f2f2;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* GENERAL ELEMENT TYPE STYLES */
|
|
||||||
|
|
||||||
#main-content h1 {
|
|
||||||
margin-top: 0;
|
|
||||||
margin-bottom: 0;
|
|
||||||
font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif;
|
|
||||||
font-size: 2.8em;
|
|
||||||
font-weight: normal;
|
|
||||||
color: #474747;
|
|
||||||
text-indent: 6px;
|
|
||||||
letter-spacing: -1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#main-content h1:before {
|
|
||||||
padding-right: 0.3em;
|
|
||||||
margin-left: -0.9em;
|
|
||||||
color: #9ddcff;
|
|
||||||
content: "/";
|
|
||||||
}
|
|
||||||
|
|
||||||
#main-content h2 {
|
|
||||||
margin-bottom: 8px;
|
|
||||||
font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif;
|
|
||||||
font-size: 22px;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #474747;
|
|
||||||
text-indent: 4px;
|
|
||||||
}
|
|
||||||
#main-content h2:before {
|
|
||||||
padding-right: 0.3em;
|
|
||||||
margin-left: -1.5em;
|
|
||||||
content: "//";
|
|
||||||
color: #9ddcff;
|
|
||||||
}
|
|
||||||
|
|
||||||
#main-content h3 {
|
|
||||||
margin-top: 24px;
|
|
||||||
margin-bottom: 8px;
|
|
||||||
font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif;
|
|
||||||
font-size: 18px;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #474747;
|
|
||||||
text-indent: 3px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#main-content h3:before {
|
|
||||||
padding-right: 0.3em;
|
|
||||||
margin-left: -2em;
|
|
||||||
content: "///";
|
|
||||||
color: #9ddcff;
|
|
||||||
}
|
|
||||||
|
|
||||||
#main-content h4 {
|
|
||||||
margin-bottom: 8px;
|
|
||||||
font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif;
|
|
||||||
font-size: 15px;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #474747;
|
|
||||||
text-indent: 3px;
|
|
||||||
}
|
|
||||||
|
|
||||||
h4:before {
|
|
||||||
padding-right: 0.3em;
|
|
||||||
margin-left: -2.8em;
|
|
||||||
content: "////";
|
|
||||||
color: #9ddcff;
|
|
||||||
}
|
|
||||||
|
|
||||||
#main-content h5 {
|
|
||||||
margin-bottom: 8px;
|
|
||||||
font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif;
|
|
||||||
font-size: 14px;
|
|
||||||
color: #474747;
|
|
||||||
text-indent: 3px;
|
|
||||||
}
|
|
||||||
h5:before {
|
|
||||||
padding-right: 0.3em;
|
|
||||||
margin-left: -3.2em;
|
|
||||||
content: "/////";
|
|
||||||
color: #9ddcff;
|
|
||||||
}
|
|
||||||
|
|
||||||
#main-content h6 {
|
|
||||||
margin-bottom: 8px;
|
|
||||||
font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif;
|
|
||||||
font-size: .8em;
|
|
||||||
color: #474747;
|
|
||||||
text-indent: 3px;
|
|
||||||
}
|
|
||||||
h6:before {
|
|
||||||
padding-right: 0.3em;
|
|
||||||
margin-left: -3.7em;
|
|
||||||
content: "//////";
|
|
||||||
color: #9ddcff;
|
|
||||||
}
|
|
||||||
|
|
||||||
p {
|
|
||||||
margin-bottom: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
a {
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
p a {
|
|
||||||
font-weight: 400;
|
|
||||||
}
|
|
||||||
|
|
||||||
blockquote {
|
|
||||||
padding: 0 0 0 30px;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
font-size: 1.6em;
|
|
||||||
border-left: 10px solid #e9e9e9;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul {
|
|
||||||
list-style-position: inside;
|
|
||||||
list-style: disc;
|
|
||||||
padding-left: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
ol {
|
|
||||||
list-style-position: inside;
|
|
||||||
list-style: decimal;
|
|
||||||
padding-left: 3px;
|
|
||||||
}
|
|
||||||
|
|
||||||
dl dd {
|
|
||||||
font-style: italic;
|
|
||||||
font-weight: 100;
|
|
||||||
}
|
|
||||||
|
|
||||||
footer {
|
|
||||||
padding-top: 20px;
|
|
||||||
padding-bottom: 30px;
|
|
||||||
margin-top: 40px;
|
|
||||||
font-size: 13px;
|
|
||||||
color: #aaa;
|
|
||||||
background: transparent url('../images/hr.png') 0 0 no-repeat;
|
|
||||||
}
|
|
||||||
|
|
||||||
footer a {
|
|
||||||
color: #666;
|
|
||||||
}
|
|
||||||
footer a:hover {
|
|
||||||
color: #444;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* MISC */
|
|
||||||
.clearfix:after {
|
|
||||||
display: block;
|
|
||||||
height: 0;
|
|
||||||
clear: both;
|
|
||||||
visibility: hidden;
|
|
||||||
content: '.';
|
|
||||||
}
|
|
||||||
|
|
||||||
.clearfix {display: inline-block;}
|
|
||||||
* html .clearfix {height: 1%;}
|
|
||||||
.clearfix {display: block;}
|
|
||||||
|
|
||||||
/* #Media Queries
|
|
||||||
================================================== */
|
|
||||||
|
|
||||||
/* Smaller than standard 960 (devices and browsers) */
|
|
||||||
@media only screen and (max-width: 959px) { }
|
|
||||||
|
|
||||||
/* Tablet Portrait size to standard 960 (devices and browsers) */
|
|
||||||
@media only screen and (min-width: 768px) and (max-width: 959px) {
|
|
||||||
.inner {
|
|
||||||
width: 740px;
|
|
||||||
}
|
|
||||||
header h1, header h2 {
|
|
||||||
width: 340px;
|
|
||||||
}
|
|
||||||
header h1 {
|
|
||||||
font-size: 60px;
|
|
||||||
}
|
|
||||||
header h2 {
|
|
||||||
font-size: 30px;
|
|
||||||
}
|
|
||||||
#main-content {
|
|
||||||
width: 490px;
|
|
||||||
}
|
|
||||||
#main-content h1:before,
|
|
||||||
#main-content h2:before,
|
|
||||||
#main-content h3:before,
|
|
||||||
#main-content h4:before,
|
|
||||||
#main-content h5:before,
|
|
||||||
#main-content h6:before {
|
|
||||||
padding-right: 0;
|
|
||||||
margin-left: 0;
|
|
||||||
content: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* All Mobile Sizes (devices and browser) */
|
|
||||||
@media only screen and (max-width: 767px) {
|
|
||||||
.inner {
|
|
||||||
width: 93%;
|
|
||||||
}
|
|
||||||
header {
|
|
||||||
padding: 20px 0;
|
|
||||||
}
|
|
||||||
header .inner {
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
header h1, header h2 {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
header h1 {
|
|
||||||
font-size: 48px;
|
|
||||||
}
|
|
||||||
header h2 {
|
|
||||||
font-size: 24px;
|
|
||||||
}
|
|
||||||
header a.button {
|
|
||||||
position: relative;
|
|
||||||
display: inline-block;
|
|
||||||
width: auto;
|
|
||||||
height: auto;
|
|
||||||
padding: 5px 10px;
|
|
||||||
margin-top: 15px;
|
|
||||||
font-size: 13px;
|
|
||||||
line-height: 1;
|
|
||||||
color: #2879d0;
|
|
||||||
text-align: center;
|
|
||||||
background-color: #9ddcff;
|
|
||||||
background-image: none;
|
|
||||||
border-radius: 5px;
|
|
||||||
-moz-border-radius: 5px;
|
|
||||||
-webkit-border-radius: 5px;
|
|
||||||
}
|
|
||||||
header a.button small {
|
|
||||||
display: inline;
|
|
||||||
font-size: 13px;
|
|
||||||
}
|
|
||||||
#main-content,
|
|
||||||
aside#sidebar {
|
|
||||||
float: none;
|
|
||||||
width: 100% ! important;
|
|
||||||
}
|
|
||||||
aside#sidebar {
|
|
||||||
min-height: 0;
|
|
||||||
padding: 20px 0;
|
|
||||||
margin-top: 20px;
|
|
||||||
background-image: none;
|
|
||||||
border-top: solid 1px #ddd;
|
|
||||||
}
|
|
||||||
aside#sidebar a.button {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
#main-content h1:before,
|
|
||||||
#main-content h2:before,
|
|
||||||
#main-content h3:before,
|
|
||||||
#main-content h4:before,
|
|
||||||
#main-content h5:before,
|
|
||||||
#main-content h6:before {
|
|
||||||
padding-right: 0;
|
|
||||||
margin-left: 0;
|
|
||||||
content: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
|
|
||||||
@media only screen and (min-width: 480px) and (max-width: 767px) { }
|
|
||||||
|
|
||||||
/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
|
|
||||||
@media only screen and (max-width: 479px) { }
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user