aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Hanley <felix@userspace.com.au>2020-03-23 04:29:12 +0000
committerFelix Hanley <felix@userspace.com.au>2020-03-23 04:29:12 +0000
commit8eb8549b9121e3708c697361c83f39c1dfc846b5 (patch)
treee1a8c092fcd891f56a1a787ea4e176f18214248e
parentac6468f9eac688a2fb379ea332fd45490cf80cf4 (diff)
downloadsws-8eb8549b9121e3708c697361c83f39c1dfc846b5.tar.gz
sws-8eb8549b9121e3708c697361c83f39c1dfc846b5.tar.bz2
Create CSS using SASS and add subfilters
-rw-r--r--Makefile5
-rw-r--r--browser_set.go5
-rw-r--r--cmd/server/country.go68
-rw-r--r--cmd/server/flash.go4
-rw-r--r--cmd/server/handlers.go26
-rw-r--r--cmd/server/helpers.go31
-rw-r--r--cmd/server/pages.go75
-rw-r--r--cmd/server/routes.go8
-rw-r--r--cmd/server/sites.go32
-rw-r--r--country.go12
-rw-r--r--country_codes.go253
-rw-r--r--go.mod2
-rw-r--r--go.sum26
-rw-r--r--package.json2
-rw-r--r--page.go13
-rw-r--r--page_set.go16
-rw-r--r--referrer.go5
-rw-r--r--sass/main.scss322
-rw-r--r--scripts/gen.go4
-rw-r--r--static/default.css5106
-rw-r--r--tmpl/hitView.tmpl136
-rw-r--r--tmpl/layout.tmpl43
-rw-r--r--tmpl/login.tmpl12
-rw-r--r--tmpl/navbar.tmpl40
-rw-r--r--tmpl/pages.tmpl11
-rw-r--r--tmpl/site.tmpl159
-rw-r--r--tmpl/sites.tmpl2
-rw-r--r--yarn.lock1215
28 files changed, 7133 insertions, 500 deletions
diff --git a/Makefile b/Makefile
index 7497c48..8290dd7 100644
--- a/Makefile
+++ b/Makefile
@@ -8,7 +8,7 @@ EXTRAS= cmd/server/migrations.go \
cmd/server/counter.go \
cmd/server/templates.go
TMPL= $(shell find tmpl -type f -name '*.tmpl')
-STATIC= $(shell find static -type f)
+STATIC= static/default.css
.PHONY: build
build: $(BINARY)
@@ -27,6 +27,9 @@ cmd/server/counter.go: counter/sws.min.js
cat $< >>$@
printf "\`}\n" >>$@
+static/default.css: sass/main.scss
+ yarn run node-sass $< $@
+
%.min.js: %.js node_modules
yarn run -s uglifyjs -c -m -o $@ $<
diff --git a/browser_set.go b/browser_set.go
index c4b9865..459c820 100644
--- a/browser_set.go
+++ b/browser_set.go
@@ -15,7 +15,7 @@ type Browser struct {
type BrowserSet []*Browser
-func NewBrowserSet(hs *HitSet) BrowserSet {
+func NewBrowserSet(hs *HitSet) *BrowserSet {
tmp := make(map[string]*Browser)
for _, h := range hs.Hits() {
browser := ""
@@ -53,7 +53,8 @@ func NewBrowserSet(hs *HitSet) BrowserSet {
out[i] = b
i++
}
- return BrowserSet(out)
+ bs := BrowserSet(out)
+ return &bs
}
func (bs *BrowserSet) SortByName() {
sort.Slice(*bs, func(i, j int) bool {
diff --git a/cmd/server/country.go b/cmd/server/country.go
new file mode 100644
index 0000000..bb4b22e
--- /dev/null
+++ b/cmd/server/country.go
@@ -0,0 +1,68 @@
+package main
+
+import (
+ "net/http"
+
+ "src.userspace.com.au/sws"
+)
+
+func handleCountries(db sws.SiteStore, rndr Renderer) http.HandlerFunc {
+ return func(w http.ResponseWriter, r *http.Request) {
+ ctx := r.Context()
+ site, ok := ctx.Value("site").(*sws.Site)
+ if !ok {
+ httpError(w, http.StatusBadRequest, "no site in context")
+ return
+ }
+
+ payload := newTemplateData(r)
+ payload.Site = site
+
+ begin, end := extractTimeRange(r)
+ if begin == nil || end == nil {
+ httpError(w, http.StatusBadRequest, "invalid time range")
+ return
+ }
+ payload.Begin = *begin
+ payload.End = *end
+ debug("begin", *begin)
+ debug("end", *end)
+
+ filter := map[string]interface{}{
+ "begin": *begin,
+ "end": *end,
+ }
+
+ q := r.URL.Query()
+
+ cc := q.Get("country")
+ if cc != "" {
+ filter["countryCode"] = cc
+ }
+
+ hits, err := db.GetHits(*site, filter)
+ hitSet, err := sws.NewHitSet(sws.FromHits(hits))
+ if err != nil {
+ httpError(w, http.StatusInternalServerError, err.Error())
+ return
+ }
+ hitSet.Fill(begin, end)
+ hitSet.SortByDate()
+ if err := expandPayload(hitSet, payload); err != nil {
+ httpError(w, http.StatusInternalServerError, err.Error())
+ return
+ }
+
+ // Single or multiple paths
+ if cc == "" {
+ countrySet := sws.NewCountrySet(hitSet)
+ countrySet.SortByHits()
+ payload.CountrySet = countrySet
+ }
+
+ if err := rndr.Render(w, "site", payload); err != nil {
+ httpError(w, http.StatusInternalServerError, err.Error())
+ return
+ }
+ }
+}
diff --git a/cmd/server/flash.go b/cmd/server/flash.go
index 230a64d..8fe0cb3 100644
--- a/cmd/server/flash.go
+++ b/cmd/server/flash.go
@@ -14,8 +14,8 @@ type flashCtxKey string
const (
flashInfo flashLvl = "info"
- flashError flashLvl = "error"
- flashWarn flashLvl = "warn"
+ flashError flashLvl = "danger"
+ flashWarn flashLvl = "warning"
flashSuccess flashLvl = "success"
flashQueryKey = "_flash"
diff --git a/cmd/server/handlers.go b/cmd/server/handlers.go
index ffe1b7b..985955a 100644
--- a/cmd/server/handlers.go
+++ b/cmd/server/handlers.go
@@ -10,23 +10,27 @@ import (
)
type templateData struct {
- Payload string
- Endpoint string
- User *sws.User
- Flash template.HTML
- Begin time.Time
- End time.Time
+ Domain string
+ Payload string
+ Endpoint string
+ User *sws.User
+ Flash template.HTML
+ Begin time.Time
+ End time.Time
+
Site *sws.Site
Sites []*sws.Site
- PageSet sws.PageSet
- Browsers sws.BrowserSet
- ReferrerSet sws.ReferrerSet
- CountrySet sws.CountrySet
+ PageSet *sws.PageSet
+ Page *sws.Page
+ Browsers *sws.BrowserSet
+ ReferrerSet *sws.ReferrerSet
+ CountrySet *sws.CountrySet
Hits *sws.HitSet
}
func newTemplateData(r *http.Request) *templateData {
out := &templateData{
+ Domain: domain,
Payload: "//" + domain + "/sws.js",
Endpoint: "//" + domain + "/sws.gif",
}
@@ -34,7 +38,7 @@ func newTemplateData(r *http.Request) *templateData {
flashes := flashGet(r)
var flash strings.Builder
for _, f := range flashes {
- flash.WriteString(`<span class="`)
+ flash.WriteString(`<span class="notification is-`)
flash.WriteString(string(f.Level))
flash.WriteString(`">`)
flash.WriteString(f.Message)
diff --git a/cmd/server/helpers.go b/cmd/server/helpers.go
index 17e519f..ff7fd5c 100644
--- a/cmd/server/helpers.go
+++ b/cmd/server/helpers.go
@@ -7,6 +7,8 @@ import (
"net/http"
"strconv"
"time"
+
+ "src.userspace.com.au/sws"
)
var funcMap = template.FuncMap{
@@ -23,6 +25,12 @@ var funcMap = template.FuncMap{
// TODO error
return t.In(tz)
},
+ "countryName": func(code string) string {
+ if n, ok := sws.CountryCodes[code]; ok {
+ return n
+ }
+ return "Unknown"
+ },
/*
"seq": func(start, stop, step int) []int {
count := (stop - start) / step
@@ -92,6 +100,29 @@ func extractTimeRange(r *http.Request) (*time.Time, *time.Time) {
return begin, end
}
+func expandPayload(hs *sws.HitSet, pl *templateData) error {
+ pl.Hits = hs
+
+ pageSet, err := sws.NewPageSet(hs)
+ if err != nil {
+ return err
+ }
+
+ if pageSet != nil {
+ pageSet.SortByHits()
+ pl.PageSet = pageSet
+ }
+ pl.Browsers = sws.NewBrowserSet(hs)
+ pl.CountrySet = sws.NewCountrySet(hs)
+
+ refSet := sws.NewReferrerSet(hs)
+ if refSet != nil {
+ refSet.SortByHits()
+ pl.ReferrerSet = refSet
+ }
+ return nil
+}
+
func stringPtr(s string) *string {
return &s
}
diff --git a/cmd/server/pages.go b/cmd/server/pages.go
new file mode 100644
index 0000000..702194e
--- /dev/null
+++ b/cmd/server/pages.go
@@ -0,0 +1,75 @@
+package main
+
+import (
+ "net/http"
+
+ "src.userspace.com.au/sws"
+)
+
+func handlePages(db sws.SiteStore, rndr Renderer) http.HandlerFunc {
+ return func(w http.ResponseWriter, r *http.Request) {
+ ctx := r.Context()
+ site, ok := ctx.Value("site").(*sws.Site)
+ if !ok {
+ httpError(w, http.StatusBadRequest, "no site in context")
+ return
+ }
+
+ payload := newTemplateData(r)
+ payload.Site = site
+
+ begin, end := extractTimeRange(r)
+ if begin == nil || end == nil {
+ httpError(w, http.StatusBadRequest, "invalid time range")
+ return
+ }
+ payload.Begin = *begin
+ payload.End = *end
+ debug("begin", *begin)
+ debug("end", *end)
+
+ filter := map[string]interface{}{
+ "begin": *begin,
+ "end": *end,
+ }
+
+ q := r.URL.Query()
+
+ path := q.Get("path")
+ if path != "" {
+ filter["path"] = path
+ }
+
+ hits, err := db.GetHits(*site, filter)
+ hitSet, err := sws.NewHitSet(sws.FromHits(hits))
+ if err != nil {
+ httpError(w, http.StatusInternalServerError, err.Error())
+ return
+ }
+ hitSet.Fill(begin, end)
+ hitSet.SortByDate()
+
+ payload.Page = sws.NewPage(hitSet)
+ payload.Hits = hitSet
+ payload.Browsers = sws.NewBrowserSet(hitSet)
+ payload.CountrySet = sws.NewCountrySet(hitSet)
+ payload.ReferrerSet = sws.NewReferrerSet(hitSet)
+
+ // Single or multiple paths
+ if path == "" {
+ pageSet, err := sws.NewPageSet(hitSet)
+ if err != nil {
+ httpError(w, http.StatusInternalServerError, err.Error())
+ return
+ }
+
+ pageSet.SortByHits()
+ payload.PageSet = pageSet
+ }
+
+ if err := rndr.Render(w, "pages", payload); err != nil {
+ httpError(w, http.StatusInternalServerError, err.Error())
+ return
+ }
+ }
+}
diff --git a/cmd/server/routes.go b/cmd/server/routes.go
index b9979fe..0e6462b 100644
--- a/cmd/server/routes.go
+++ b/cmd/server/routes.go
@@ -26,7 +26,9 @@ func init() {
func createRouter(db sws.Store, mmdbPath string) (chi.Router, error) {
tmplsCommon := []string{"flash.tmpl", "navbar.tmpl"}
- tmplsAuthed := append(tmplsCommon, []string{"layout.tmpl", "charts.tmpl", "timerange.tmpl"}...)
+ tmplsAuthed := append(tmplsCommon, []string{
+ "layout.tmpl", "charts.tmpl", "timerange.tmpl", "hitView.tmpl",
+ }...)
tmplsPublic := append(tmplsCommon, "layout.tmpl")
if override != "" {
@@ -39,6 +41,7 @@ func createRouter(db sws.Store, mmdbPath string) (chi.Router, error) {
tmpls, err := loadHTMLTemplateMap(map[string][]string{
"sites": append([]string{"sites.tmpl"}, tmplsAuthed...),
"site": append([]string{"site.tmpl", "worldMap.tmpl"}, tmplsAuthed...),
+ "pages": append([]string{"pages.tmpl", "worldMap.tmpl"}, tmplsAuthed...),
"home": append([]string{"home.tmpl"}, tmplsPublic...),
"login": append([]string{"login.tmpl"}, tmplsPublic...),
"user": append([]string{"user.tmpl"}, tmplsAuthed...),
@@ -136,6 +139,7 @@ func createRouter(db sws.Store, mmdbPath string) (chi.Router, error) {
r.Use(getSiteCtx(db))
r.Get("/", siteHandler)
r.Post("/", siteHandler)
+ r.Get("/pages", handlePages(db, rndr))
r.Get("/edit", handleSiteEdit(db, rndr))
r.Route("/charts", func(r chi.Router) {
@@ -174,7 +178,7 @@ func getUserCtx(db sws.UserStore) func(http.Handler) http.Handler {
_, claims, err := jwtauth.FromContext(r.Context())
if err != nil {
- log("failed to extract user from context", err)
+ //log("failed to extract user from context", err)
return
}
diff --git a/cmd/server/sites.go b/cmd/server/sites.go
index 21e26fb..61857a3 100644
--- a/cmd/server/sites.go
+++ b/cmd/server/sites.go
@@ -19,7 +19,7 @@ func handleSites(db sws.SiteStore, rndr Renderer) http.HandlerFunc {
log("invalid site:", errs)
r = flashSet(r, flashError, strings.Join(errs, "<br>"))
} else if err := db.SaveSite(site); err != nil {
- httpError(w, 500, err.Error())
+ httpError(w, http.StatusInternalServerError, err.Error())
return
}
r = flashSet(r, flashSuccess, "site created")
@@ -27,7 +27,7 @@ func handleSites(db sws.SiteStore, rndr Renderer) http.HandlerFunc {
sites, err := db.GetSites()
if err != nil {
- httpError(w, 500, err.Error())
+ httpError(w, http.StatusInternalServerError, err.Error())
return
}
@@ -35,7 +35,7 @@ func handleSites(db sws.SiteStore, rndr Renderer) http.HandlerFunc {
payload.Sites = sites
if err := rndr.Render(w, "sites", payload); err != nil {
- httpError(w, 500, err.Error())
+ httpError(w, http.StatusInternalServerError, err.Error())
return
}
}
@@ -55,7 +55,7 @@ func handleSite(db sws.SiteStore, rndr Renderer) http.HandlerFunc {
begin, end := extractTimeRange(r)
if begin == nil || end == nil {
- httpError(w, 406, "invalid time range")
+ httpError(w, http.StatusBadRequest, "invalid time range")
return
}
payload.Begin = *begin
@@ -68,38 +68,22 @@ func handleSite(db sws.SiteStore, rndr Renderer) http.HandlerFunc {
"end": *end,
})
if err != nil {
- httpError(w, 500, err.Error())
+ httpError(w, http.StatusInternalServerError, err.Error())
return
}
hitSet, err := sws.NewHitSet(sws.FromHits(hits))
if err != nil {
- httpError(w, 406, err.Error())
+ httpError(w, http.StatusInternalServerError, err.Error())
return
}
if hitSet != nil {
hitSet.Fill(begin, end)
hitSet.SortByDate()
- payload.Hits = hitSet
-
- pageSet, err := sws.NewPageSet(hitSet)
- if err != nil {
- httpError(w, 406, err.Error())
+ if err := expandPayload(hitSet, payload); err != nil {
+ httpError(w, http.StatusInternalServerError, err.Error())
return
}
-
- if pageSet != nil {
- pageSet.SortByHits()
- payload.PageSet = pageSet
- }
- payload.Browsers = sws.NewBrowserSet(hitSet)
- payload.CountrySet = sws.NewCountrySet(hitSet)
-
- refSet := sws.NewReferrerSet(hitSet)
- if refSet != nil {
- refSet.SortByHits()
- payload.ReferrerSet = refSet
- }
}
if err := rndr.Render(w, "site", payload); err != nil {
diff --git a/country.go b/country.go
index d5bbe48..f3d49b0 100644
--- a/country.go
+++ b/country.go
@@ -2,6 +2,7 @@ package sws
import (
"net"
+ "sort"
maxminddb "github.com/oschwald/maxminddb-golang"
)
@@ -13,7 +14,7 @@ type Country struct {
type CountrySet []*Country
-func NewCountrySet(hs *HitSet) CountrySet {
+func NewCountrySet(hs *HitSet) *CountrySet {
tmp := make(map[string]*Country)
for _, h := range hs.Hits() {
if h.CountryCode == nil {
@@ -43,7 +44,14 @@ func NewCountrySet(hs *HitSet) CountrySet {
out[i] = b
i++
}
- return CountrySet(out)
+ cs := CountrySet(out)
+ return &cs
+}
+
+func (cs *CountrySet) SortByHits() {
+ sort.Slice(*cs, func(i, j int) bool {
+ return (*cs)[i].hitSet.Count() > (*cs)[j].hitSet.Count()
+ })
}
func (c Country) Label() string {
diff --git a/country_codes.go b/country_codes.go
new file mode 100644
index 0000000..6f518ef
--- /dev/null
+++ b/country_codes.go
@@ -0,0 +1,253 @@
+package sws
+
+var CountryCodes = map[string]string{
+ "AF": "Afghanistan",
+ "AX": "Åland Islands",
+ "AL": "Albania",
+ "DZ": "Algeria",
+ "AS": "American Samoa",
+ "AD": "Andorra",
+ "AO": "Angola",
+ "AI": "Anguilla",
+ "AQ": "Antarctica",
+ "AG": "Antigua and Barbuda",
+ "AR": "Argentina",
+ "AM": "Armenia",
+ "AW": "Aruba",
+ "AU": "Australia",
+ "AT": "Austria",
+ "AZ": "Azerbaijan",
+ "BS": "Bahamas",
+ "BH": "Bahrain",
+ "BD": "Bangladesh",
+ "BB": "Barbados",
+ "BY": "Belarus",
+ "BE": "Belgium",
+ "BZ": "Belize",
+ "BJ": "Benin",
+ "BM": "Bermuda",
+ "BT": "Bhutan",
+ "BO": "Bolivia (Plurinational State of)",
+ "BQ": "Bonaire, Sint Eustatius and Saba",
+ "BA": "Bosnia and Herzegovina",
+ "BW": "Botswana",
+ "BV": "Bouvet Island",
+ "BR": "Brazil",
+ "IO": "British Indian Ocean Territory",
+ "BN": "Brunei Darussalam",
+ "BG": "Bulgaria",
+ "BF": "Burkina Faso",
+ "BI": "Burundi",
+ "CV": "Cabo Verde",
+ "KH": "Cambodia",
+ "CM": "Cameroon",
+ "CA": "Canada",
+ "KY": "Cayman Islands",
+ "CF": "Central African Republic",
+ "TD": "Chad",
+ "CL": "Chile",
+ "CN": "China",
+ "CX": "Christmas Island",
+ "CC": "Cocos (Keeling) Islands",
+ "CO": "Colombia",
+ "KM": "Comoros",
+ "CG": "Congo",
+ "CD": "Congo, Democratic Republic of the",
+ "CK": "Cook Islands",
+ "CR": "Costa Rica",
+ "CI": "Côte d'Ivoire",
+ "HR": "Croatia",
+ "CU": "Cuba",
+ "CW": "Curaçao",
+ "CY": "Cyprus",
+ "CZ": "Czechia",
+ "DK": "Denmark",
+ "DJ": "Djibouti",
+ "DM": "Dominica",
+ "DO": "Dominican Republic",
+ "EC": "Ecuador",
+ "EG": "Egypt",
+ "SV": "El Salvador",
+ "GQ": "Equatorial Guinea",
+ "ER": "Eritrea",
+ "EE": "Estonia",
+ "SZ": "Eswatini",
+ "ET": "Ethiopia",
+ "FK": "Falkland Islands (Malvinas)",
+ "FO": "Faroe Islands",
+ "FJ": "Fiji",
+ "FI": "Finland",
+ "FR": "France",
+ "GF": "French Guiana",
+ "PF": "French Polynesia",
+ "TF": "French Southern Territories",
+ "GA": "Gabon",
+ "GM": "Gambia",
+ "GE": "Georgia",
+ "DE": "Germany",
+ "GH": "Ghana",
+ "GI": "Gibraltar",
+ "GR": "Greece",
+ "GL": "Greenland",
+ "GD": "Grenada",
+ "GP": "Guadeloupe",
+ "GU": "Guam",
+ "GT": "Guatemala",
+ "GG": "Guernsey",
+ "GN": "Guinea",
+ "GW": "Guinea-Bissau",
+ "GY": "Guyana",
+ "HT": "Haiti",
+ "HM": "Heard Island and McDonald Islands",
+ "VA": "Holy See",
+ "HN": "Honduras",
+ "HK": "Hong Kong",
+ "HU": "Hungary",
+ "IS": "Iceland",
+ "IN": "India",
+ "ID": "Indonesia",
+ "IR": "Iran (Islamic Republic of)",
+ "IQ": "Iraq",
+ "IE": "Ireland",
+ "IM": "Isle of Man",
+ "IL": "Israel",
+ "IT": "Italy",
+ "JM": "Jamaica",
+ "JP": "Japan",
+ "JE": "Jersey",
+ "JO": "Jordan",
+ "KZ": "Kazakhstan",
+ "KE": "Kenya",
+ "KI": "Kiribati",
+ "KP": "Korea (Democratic People's Republic of)",
+ "KR": "Korea, Republic of",
+ "KW": "Kuwait",
+ "KG": "Kyrgyzstan",
+ "LA": "Lao People's Democratic Republic",
+ "LV": "Latvia",
+ "LB": "Lebanon",
+ "LS": "Lesotho",
+ "LR": "Liberia",
+ "LY": "Libya",
+ "LI": "Liechtenstein",
+ "LT": "Lithuania",
+ "LU": "Luxembourg",
+ "MO": "Macao",
+ "MG": "Madagascar",
+ "MW": "Malawi",
+ "MY": "Malaysia",
+ "MV": "Maldives",
+ "ML": "Mali",
+ "MT": "Malta",
+ "MH": "Marshall Islands",
+ "MQ": "Martinique",
+ "MR": "Mauritania",
+ "MU": "Mauritius",
+ "YT": "Mayotte",
+ "MX": "Mexico",
+ "FM": "Micronesia (Federated States of)",
+ "MD": "Moldova, Republic of",
+ "MC": "Monaco",
+ "MN": "Mongolia",
+ "ME": "Montenegro",
+ "MS": "Montserrat",
+ "MA": "Morocco",
+ "MZ": "Mozambique",
+ "MM": "Myanmar",
+ "NA": "Namibia",
+ "NR": "Nauru",
+ "NP": "Nepal",
+ "NL": "Netherlands",
+ "NC": "New Caledonia",
+ "NZ": "New Zealand",
+ "NI": "Nicaragua",
+ "NE": "Niger",
+ "NG": "Nigeria",
+ "NU": "Niue",
+ "NF": "Norfolk Island",
+ "MK": "North Macedonia",
+ "MP": "Northern Mariana Islands",
+ "NO": "Norway",
+ "OM": "Oman",
+ "PK": "Pakistan",
+ "PW": "Palau",
+ "PS": "Palestine, State of",
+ "PA": "Panama",
+ "PG": "Papua New Guinea",
+ "PY": "Paraguay",
+ "PE": "Peru",
+ "PH": "Philippines",
+ "PN": "Pitcairn",
+ "PL": "Poland",
+ "PT": "Portugal",
+ "PR": "Puerto Rico",
+ "QA": "Qatar",
+ "RE": "Réunion",
+ "RO": "Romania",
+ "RU": "Russian Federation",
+ "RW": "Rwanda",
+ "BL": "Saint Barthélemy",
+ "SH": "Saint Helena, Ascension and Tristan da Cunha",
+ "KN": "Saint Kitts and Nevis",
+ "LC": "Saint Lucia",
+ "MF": "Saint Martin (French part)",
+ "PM": "Saint Pierre and Miquelon",
+ "VC": "Saint Vincent and the Grenadines",
+ "WS": "Samoa",
+ "SM": "San Marino",
+ "ST": "Sao Tome and Principe",
+ "SA": "Saudi Arabia",
+ "SN": "Senegal",
+ "RS": "Serbia",
+ "SC": "Seychelles",
+ "SL": "Sierra Leone",
+ "SG": "Singapore",
+ "SX": "Sint Maarten (Dutch part)",
+ "SK": "Slovakia",
+ "SI": "Slovenia",
+ "SB": "Solomon Islands",
+ "SO": "Somalia",
+ "ZA": "South Africa",
+ "GS": "South Georgia and the South Sandwich Islands",
+ "SS": "South Sudan",
+ "ES": "Spain",
+ "LK": "Sri Lanka",
+ "SD": "Sudan",
+ "SR": "Suriname",
+ "SJ": "Svalbard and Jan Mayen",
+ "SE": "Sweden",
+ "CH": "Switzerland",
+ "SY": "Syrian Arab Republic",
+ "TW": "Taiwan, Province of China",
+ "TJ": "Tajikistan",
+ "TZ": "Tanzania, United Republic of",
+ "TH": "Thailand",
+ "TL": "Timor-Leste",
+ "TG": "Togo",
+ "TK": "Tokelau",
+ "TO": "Tonga",
+ "TT": "Trinidad and Tobago",
+ "TN": "Tunisia",
+ "TR": "Turkey",
+ "TM": "Turkmenistan",
+ "TC": "Turks and Caicos Islands",
+ "TV": "Tuvalu",
+ "UG": "Uganda",
+ "UA": "Ukraine",
+ "AE": "United Arab Emirates",
+ "GB": "United Kingdom of Great Britain and Northern Ireland",
+ "US": "United States of America",
+ "UM": "United States Minor Outlying Islands",
+ "UY": "Uruguay",
+ "UZ": "Uzbekistan",
+ "VU": "Vanuatu",
+ "VE": "Venezuela (Bolivarian Republic of)",
+ "VN": "Viet Nam",
+ "VG": "Virgin Islands (British)",
+ "VI": "Virgin Islands (U.S.)",
+ "WF": "Wallis and Futuna",
+ "EH": "Western Sahara",
+ "YE": "Yemen",
+ "ZM": "Zambia",
+ "ZW": "Zimbabwe",
+}
diff --git a/go.mod b/go.mod
index 59bf815..4a96323 100644
--- a/go.mod
+++ b/go.mod
@@ -24,7 +24,7 @@ require (
golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527 // indirect
google.golang.org/appengine v1.6.5 // indirect
src.userspace.com.au/go-migrate v0.0.0-20200208102934-cf11cf76db3f
- src.userspace.com.au/templates v0.0.0-20200308073907-e96b7a1f2a49
+ src.userspace.com.au/templates v0.0.0-20200320100635-3f0c3fbfaf31
zgo.at/goatcounter v1.0.0 // indirect
zgo.at/tz v0.0.0-20200314040300-b1cfaf56ef7e // indirect
zgo.at/zdb v0.0.0-20200221072833-2c234b210cf1 // indirect
diff --git a/go.sum b/go.sum
index af351eb..c0855bb 100644
--- a/go.sum
+++ b/go.sum
@@ -1,3 +1,8 @@
+github.com/PuerkitoBio/goquery v1.5.0/go.mod h1:qD2PgZ9lccMbQlc7eEOjaeRlFQON7xY8kdmcsrnKqMg=
+github.com/andybalholm/cascadia v1.0.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9PqHO0sqidkEA4Y=
+github.com/antchfx/htmlquery v1.0.0/go.mod h1:MS9yksVSQXls00iXkiMqXr0J+umL/AmxXKuP28SUJM8=
+github.com/antchfx/xmlquery v1.0.0/go.mod h1:/+CnyD/DzHRnv2eRxrVbieRU/FIF6N0C+7oTtyUtCKk=
+github.com/antchfx/xpath v1.0.0/go.mod h1:Yee4kTMuNiPYJ7nSNorELQMr1J33uOpXDMByNYhvtNk=
github.com/arp242/geoip2-golang v1.4.0/go.mod h1:AZYwUhu7pAKqHkiZTQhSCWaexFJDwzR3K9jIrhkNDko=
github.com/arp242/maxminddb-golang v1.6.0/go.mod h1:zZGWhFkxTFX80NKfpEHn6vqd50ksDYTBP8Zi+Xk10OI=
github.com/blend/go-sdk v2.0.0+incompatible h1:FL9X/of4ZYO5D2JJNI4vHrbXPfuSDbUa7h8JP9+E92w=
@@ -6,6 +11,7 @@ github.com/cockroachdb/apd v1.1.0 h1:3LFP3629v+1aKXU5Q37mxmRxX/pIu1nijXydLShEq5I
github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ=
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM=
github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
@@ -16,6 +22,8 @@ github.com/go-chi/jwtauth v4.0.4+incompatible h1:LGIxg6YfvSBzxU2BljXbrzVc1fMlgqS
github.com/go-chi/jwtauth v4.0.4+incompatible/go.mod h1:Q5EIArY/QnD6BdS+IyDw7B2m6iNbnPxtfd6/BcmtWbs=
github.com/go-sql-driver/mysql v1.4.0 h1:7LxgVwFb2hIQtMm87NdgAVfXjnt4OePseqT1tKx+opk=
github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
+github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
+github.com/gocolly/colly/v2 v2.0.1/go.mod h1:ePrRZlJcLTU2C/f8pJzXfkdBtBDHL5hOaKLcBoiJcq8=
github.com/gofrs/uuid v3.2.0+incompatible h1:y12jRkkFxsd7GpqdSZ+/KCs/fJbqpEXSGd4+jfEaewE=
github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g=
@@ -29,8 +37,10 @@ github.com/jackc/fake v0.0.0-20150926172116-812a484cc733 h1:vr3AYkKovP8uR8AvSGGU
github.com/jackc/fake v0.0.0-20150926172116-812a484cc733/go.mod h1:WrMFNQdiFJ80sQsxDoMokWK1W5TQtxBFNpzWTD84ibQ=
github.com/jackc/pgx v3.6.2+incompatible h1:2zP5OD7kiyR3xzRYMhOcXVvkDZsImVXfj+yIyTQf3/o=
github.com/jackc/pgx v3.6.2+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I=
+github.com/jawher/mow.cli v1.1.0/go.mod h1:aNaQlc7ozF3vw6IJ2dHjp2ZFiA4ozMIYY6PyuRJwlUg=
github.com/jmoiron/sqlx v1.2.0 h1:41Ip0zITnmWNR/vHV+S4m+VoUivnWY5E4OJfLZjCJMA=
github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks=
+github.com/kennygrant/sanitize v1.2.4/go.mod h1:LGsjYYtgxbetdg5owWB2mpgUL6e2nfw2eObZ0u0qvak=
github.com/lib/pq v1.0.0 h1:X5PMW56eZitiTeO7tKzZxFCSpbFZJtkMMooicw2us9A=
github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
github.com/lib/pq v1.3.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
@@ -43,6 +53,7 @@ github.com/monoculum/formam v0.0.0-20191229172733-952f0766a724/go.mod h1:JKa2av1
github.com/mssola/user_agent v0.5.0/go.mod h1:UFiKPVaShrJGW93n4uo8dpPdg1BSVpw2P9bneo0Mtp8=
github.com/mssola/user_agent v0.5.1 h1:sJUCUozh+j7c0dR2zMIUX5aJjoY/TNo/gXiNujoH5oY=
github.com/mssola/user_agent v0.5.1/go.mod h1:TTPno8LPY3wAIEKRpAtkdMT0f8SE24pLRGPahjCH4uw=
+github.com/oliveagle/jsonpath v0.0.0-20180606110733-2e52cf6e6852/go.mod h1:eqOVx5Vwu4gd2mmMZvVZsgIqNSaW3xxRThUJ0k/TPk4=
github.com/oschwald/maxminddb-golang v1.6.0 h1:KAJSjdHQ8Kv45nFIbtoLGrGWqHFajOIm7skTyz/+Dls=
github.com/oschwald/maxminddb-golang v1.6.0/go.mod h1:DUJFucBg2cvqx42YmDa/+xHvb0elJtOm3o4aFQ/nb/w=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
@@ -50,31 +61,42 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/saintfish/chardet v0.0.0-20120816061221-3af4cd4741ca/go.mod h1:uugorj2VCxiV1x+LzaIdVa9b4S4qGAcH6cbhh4qVxOU=
github.com/shopspring/decimal v0.0.0-20200105231215-408a2507e114 h1:Pm6R878vxWWWR+Sa3ppsLce/Zq+JNTs6aVvRu13jv9A=
github.com/shopspring/decimal v0.0.0-20200105231215-408a2507e114/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o=
github.com/speps/go-hashids v2.0.0+incompatible h1:kSfxGfESueJKTx0mpER9Y/1XHl+FVQjtCqRyYcviFbw=
github.com/speps/go-hashids v2.0.0+incompatible/go.mod h1:P7hqPzMdnZOfyIk+xrlG1QaSMw+gCBdHKsBDnhpaZvc=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
+github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
+github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/teamwork/guru v1.0.0/go.mod h1:1DW23kFX0aXn1kRSuQAY+Byk74h1kZHvhJL72qBUrfU=
github.com/teamwork/reload v1.3.0/go.mod h1:kHdVPdfdmA+ygkBbigWUeerpy6EK4Kcukx1TNyePXHA=
+github.com/temoto/robotstxt v1.1.1/go.mod h1:+1AmkuG3IYkh1kv0d2qEB9Le88ehNO0zwOr3ujewlOo=
+github.com/velebak/colly-sqlite3-storage v0.0.0-20190425160637-c76683d5163d/go.mod h1:+bhXpKXsxEKgCb9gcKEHSQr6XtqlcIoklUyeZMGS4Fw=
github.com/wcharczuk/go-chart v2.0.1+incompatible h1:0pz39ZAycJFF7ju/1mepnk26RLVLBCWz1STcD3doU0A=
github.com/wcharczuk/go-chart v2.0.1+incompatible/go.mod h1:PF5tmL4EIx/7Wf+hEkpCqYi5He4u90sw+0+6FhrryuE=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
+golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073 h1:xMPOj6Pz6UipU1wXLkrtqpHbR0AVFnyPEQq/wRWz9lM=
golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/image v0.0.0-20200119044424-58c23975cae1 h1:5h3ngYt7+vXCDZCup/HkCQgW5XwmSvR/nA2JmJ0RErg=
golang.org/x/image v0.0.0-20200119044424-58c23975cae1/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
+golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190603091049-60506f45cf65 h1:+rhAzEzT3f4JtomfC371qB+0Ola2caSKcY69NUBZrRQ=
golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e h1:vcxGaoTs7kV8m5Np9uUNQin4BrLOthgV7252N8V+FwY=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d h1:+R4KGOnez64A81RvjARKc4UT5/tI9ujCIVX+P5KiHuI=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191110163157-d32e6e3b99c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191224085550-c709ea063b76/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527 h1:uYVVQ9WP/Ds2ROhcaGPeIdVq0RIXVLwsHlnvJ+cT1So=
@@ -83,6 +105,8 @@ golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
+google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
google.golang.org/appengine v1.6.5 h1:tycE03LOZYQNhDpS27tcQdAzLCVMaj7QT2SXxebnpCM=
google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
@@ -93,6 +117,8 @@ src.userspace.com.au/go-migrate v0.0.0-20200208102934-cf11cf76db3f h1:Vdn/5kMeLX
src.userspace.com.au/go-migrate v0.0.0-20200208102934-cf11cf76db3f/go.mod h1:QaSWOcvGubR8TBPs8XgLN67muYgAKnmIgHAaQk5ZR1c=
src.userspace.com.au/templates v0.0.0-20200308073907-e96b7a1f2a49 h1:xKLfGVLhd+jTT5Z1jCIEGcr5LzzuRnpaYvU5pA/iD7I=
src.userspace.com.au/templates v0.0.0-20200308073907-e96b7a1f2a49/go.mod h1:lB6Vdw9R/8jR8CzvPxfQ8ryBwpNDni1fCdeRjj90gxA=
+src.userspace.com.au/templates v0.0.0-20200320100635-3f0c3fbfaf31 h1:GNRnScaP+n+WeS9lQLp6mL3xv6fr+kra4BIAF61gL+M=
+src.userspace.com.au/templates v0.0.0-20200320100635-3f0c3fbfaf31/go.mod h1:lB6Vdw9R/8jR8CzvPxfQ8ryBwpNDni1fCdeRjj90gxA=
zgo.at/goatcounter v1.0.0/go.mod h1:Y76wF7BC58KvDzjsd57kdAHxqzsdgbdOVhToYqvefnE=
zgo.at/tz v0.0.0-20200314040300-b1cfaf56ef7e h1:AkOzghahAFiffIAXjd0KBlxGZsR0wERvCNs67kAAcSc=
zgo.at/tz v0.0.0-20200314040300-b1cfaf56ef7e/go.mod h1:A/XeaYjeMGoXptRB3EcR80tgir37tJnzCb6itDaHPxo=
diff --git a/package.json b/package.json
index bfcbf55..dbf420f 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,8 @@
{
"license": "MIT",
"dependencies": {
+ "bulma": "^0.8.0",
+ "node-sass": "^4.13.1",
"uglify-js": "3.8.0"
}
}
diff --git a/page.go b/page.go
index f353b34..21c01fb 100644
--- a/page.go
+++ b/page.go
@@ -14,6 +14,19 @@ type Page struct {
Site *Site `json:"-"`
}
+func NewPage(hs *HitSet) *Page {
+ hits := hs.Hits()
+ // Last hit
+ h := hits[len(hits)-1]
+ return &Page{
+ Path: h.Path,
+ SiteID: *h.SiteID,
+ Title: h.Title,
+ LastVisitedAt: h.CreatedAt,
+ hitSet: hs,
+ }
+}
+
func (p Page) YMax() int {
return p.hitSet.YMax()
}
diff --git a/page_set.go b/page_set.go
index 9e1b57e..043dc7f 100644
--- a/page_set.go
+++ b/page_set.go
@@ -6,7 +6,7 @@ import (
type PageSet []*Page
-func NewPageSet(hs *HitSet) (PageSet, error) {
+func NewPageSet(hs *HitSet) (*PageSet, error) {
tmp := make(map[string]*Page)
for _, h := range hs.Hits() {
if _, ok := tmp[h.Path]; ok {
@@ -37,7 +37,12 @@ func NewPageSet(hs *HitSet) (PageSet, error) {
out[i] = p
i++
}
- return PageSet(out), nil
+ ps := PageSet(out)
+ return &ps, nil
+}
+
+func (ps *PageSet) Count() int {
+ return len(*ps)
}
func (ps PageSet) Hits() []*Hit {
@@ -78,6 +83,13 @@ func (ps PageSet) YMax() int {
}
return max
}
+func (ps PageSet) YSum() int {
+ sum := 0
+ for _, p := range ps {
+ sum += p.hitSet.Count()
+ }
+ return sum
+}
func (ps PageSet) XSeries() []*Page {
max := 10
if len(ps) < 10 {
diff --git a/referrer.go b/referrer.go
index 337a6ff..cbb1198 100644
--- a/referrer.go
+++ b/referrer.go
@@ -15,7 +15,7 @@ type Referrer struct {
type ReferrerSet []*Referrer
-func NewReferrerSet(hs *HitSet) ReferrerSet {
+func NewReferrerSet(hs *HitSet) *ReferrerSet {
tmp := make(map[string]*Referrer)
for _, h := range hs.Hits() {
if h.Referrer == nil {
@@ -55,7 +55,8 @@ func NewReferrerSet(hs *HitSet) ReferrerSet {
out[i] = b
i++
}
- return ReferrerSet(out)
+ rs := ReferrerSet(out)
+ return &rs
}
func (rs *ReferrerSet) SortByName() {
diff --git a/sass/main.scss b/sass/main.scss
new file mode 100644
index 0000000..a82918f
--- /dev/null
+++ b/sass/main.scss
@@ -0,0 +1,322 @@
+@charset "utf-8";
+
+@import "../node_modules/bulma/sass/utilities/initial-variables";
+
+$family-sans-serif: "Helvetica", "Arial", sans-serif;
+$black: #120c13;
+
+//@import "../node_modules/bulma/bulma";
+@import "../node_modules/bulma/sass/utilities/_all";
+@import "../node_modules/bulma/sass/base/_all";
+@import "../node_modules/bulma/sass/form/_all";
+@import "../node_modules/bulma/sass/elements/title";
+@import "../node_modules/bulma/sass/elements/content";
+@import "../node_modules/bulma/sass/elements/button";
+@import "../node_modules/bulma/sass/elements/table";
+@import "../node_modules/bulma/sass/elements/notification";
+@import "../node_modules/bulma/sass/form/_all";
+@import "../node_modules/bulma/sass/components/navbar";
+
+.page {
+ display: flex;
+ flex-direction: row;
+ position: relative;
+}
+.content {
+ flex: 1;
+}
+.sidebar {
+ flex: 0 0 250px;
+}
+
+// .sidebar {
+// background-color: #120c13;
+// }
+// .navbar {
+// align-items: center;
+// background: #120c13;
+// border-bottom: 1px solid #d9dee4;
+// display: flex;
+// justify-content: flex-end;
+// }
+// .nav {
+// display: flex;
+// flex-wrap: wrap;
+// justify-content: left;
+// }
+// .nav__link {
+// color: white;
+// display: block;
+// font-weight: 500;
+// text-decoration: none;
+// text-transform: lowercase;
+// padding-left: 15px;
+// padding-right: 15px;
+// padding-top: 7px;
+// padding-bottom: 7px;
+// }
+// .nav__link--name {
+// flex: 1;
+// }
+// .nav__link--close {
+// }
+// .nav__link--logo {
+// flex: 1;
+// }
+
+// .content {
+// background-color: #f7f7f7;
+// display: flex;
+// flex-wrap: wrap;
+// flex: 1;
+// justify-content: space-between;
+// padding-left: 16px;
+// padding-right: 16px;
+// position: relative;
+// }
+//
+
+.content--login {
+ display: flex;
+ align-content: center;
+ justify-content: center;
+}
+
+// @media (min-width: 768px) {
+// .page {
+// flex-direction: row;
+// flex: 1;
+// }
+// main {
+// flex: 1;
+// }
+// .navmain {
+// /* 12em is the width of the columns */
+// flex: 0 0 12em;
+// }
+// }
+
+// .site__header {
+// margin-bottom: 1em;
+// flex: 1 0 100%;
+// }
+// .site__title {
+// margin-bottom: 0;
+// }
+
+// .site__summary {
+// display: inline-block;
+// flex: 1 0 100%;
+// }
+// .summary {
+// float: left;
+// overflow: hidden;
+// padding-bottom: 0px;
+// padding: 0 10px 0 20px;
+// position: relative;
+// text-overflow: ellipsis;
+// white-space: nowrap;
+// }
+// .summary__title {
+// font-size: 13px;
+// }
+// .summary__count {
+// display: block;
+// font-size: 40px;
+// font-weight: 600;
+// line-height: 1.25;
+// }
+// .summary__comparison {
+// font-size: 13px;
+// }
+// .summary:before {
+// border-left: 2px solid #adb2b5;
+// content: "";
+// height: 65px;
+// left: 0;
+// margin-top: 10px;
+// position: absolute;
+// }
+// .summary:first-child::before {
+// border-left: 0;
+// }
+
+// .panel {
+// background-color: #fff;
+// border: 1px solid #e6e9ed;
+// flex: 0 1 33%;
+// margin-bottom: .5em;
+// margin-top: .5em;
+// padding: .5em;
+// }
+// .panel--wide {
+// flex: 1 0 100%;
+// }
+// .panel__header {
+// border-bottom: 2px solid #e6e9ed;
+// font-size: 1.75em;
+// margin-bottom: 10px;
+// }
+// .panel__title {
+// font-size: 18px;
+// font-weight: 400;
+// margin: 0;
+// padding: .25em;
+// }
+
+.flash {
+ display: block;
+ float: right;
+ max-width: 400px;
+ opacity: 0;
+ position: absolute;
+ right: .5em;
+ top: .5em;
+ transition: visibility 0s 2s, opacity 5s linear;
+}
+.notification {
+ display: block;
+}
+
+// .timerange {
+// position: absolute;
+// right: 0;
+// top: 0;
+// }
+
+// .details__percent {
+// font-weight: bold;
+// }
+
+// /* Figures */
+// .figure {
+// margin: 1em .5em;
+// }
+// .figure--graph {
+// }
+.figure svg {
+ max-width: 100%;
+ max-height: 400px;
+}
+
+.chart {
+ align-items: stretch;
+ /*box-shadow: inset 0 1px 2px rgba(0,0,0,.1);*/
+ display: flex;
+ margin: 0;
+ width: 100%;
+}
+.chart.time {
+ flex-direction: row;
+ height: 200px;
+ padding-top: 1em;
+ padding-bottom: 1em;
+}
+.chart.vertical {
+ align-items: stretch;
+ flex-direction: row;
+ min-height: 200px;
+ padding-top: 2em;
+ padding-bottom: 2em;
+}
+.chart.horizontal {
+ flex-direction: column;
+ height: 300px;
+ padding-left: 20px;
+}
+.chart .slot {
+ background: #fafafa;
+ display: block;
+ flex: 1 1;
+ margin: 0;
+ position: relative;
+}
+.chart.horizontal .slot {
+ margin-top: 1px;
+ margin-bottom: 1px;
+ max-height: 1.5em;
+}
+.chart .slot.midnight {
+ border-left: 1px solid #ddd;
+}
+.chart .slot:hover {
+ background: #f5f5f5;
+}
+.chart .bar {
+ background-color: #1abb9c;
+ bottom: 0;
+ left: 0;
+ margin: 0;
+ position: absolute;
+}
+.chart.time .bar,
+.chart.vertical .bar {
+ border-top-left-radius: 3px;
+ border-top-right-radius: 3px;
+ right: 0;
+}
+.chart.vertical .bar {
+ margin-left: 2px;
+ margin-right: 2px;
+}
+.chart.horizontal .bar {
+ border-bottom-right-radius: 3px;
+ border-top-right-radius: 3px;
+ bottom: unset;
+ height: 100%;
+ right: unset;
+ top: 0;
+}
+.chart .slot:hover .bar {
+ background: #88b6ff;
+}
+.chart .slot:hover:before,
+.chart .slot:hover:after {
+ display: block;
+ position: relative;
+}
+.chart .slot:before,
+.chart .slot:after {
+ content: attr(data-y);
+ display: none;
+ font-size: .75em;
+}
+.chart .slot:after {
+ content: attr(data-x);
+}
+.chart.time .slot:before,
+.chart.time .slot:after,
+.chart.vertical .slot:before,
+.chart.vertical .slot:after {
+ bottom: 100%;
+ left: 50%;
+ margin-bottom: .5rem;
+ margin-left: -3.5rem;
+ position: absolute;
+ text-align: center;
+ width: 7rem;
+}
+.chart.time .slot:after,
+.chart.vertical .slot:after {
+ margin-top: .5rem;
+ top: 100%;
+}
+.chart.horizontal .slot:before,
+.chart.horizontal .slot:after {
+ font-size: 1em;
+ height: 100%;
+ margin-left: 10px;
+ margin-bottom: 0;
+ position: absolute;
+}
+.chart.horizontal .slot:before {
+ left: -20px;
+ margin-left: 0;
+ text-align: center;
+ width: 20px;
+}
+.chart.horizontal .slot:after {
+ left: 0;
+ width: auto;
+ z-index: 10;
+}
diff --git a/scripts/gen.go b/scripts/gen.go
index eb56bd5..b149b17 100644
--- a/scripts/gen.go
+++ b/scripts/gen.go
@@ -3,7 +3,7 @@ package main
//go:generate go run gen.go
import (
- "fmt"
+ //"fmt"
"os"
"src.userspace.com.au/templates"
@@ -17,7 +17,7 @@ func main() {
{Base: "../", Source: "tmpl"},
{Base: "../", Source: "static", Extensions: []string{".css", ".js"}},
}),
- templates.Logger(func(a ...interface{}) { fmt.Fprintln(os.Stderr, a...) }),
+ //templates.Debug(func(a ...interface{}) { fmt.Fprintln(os.Stderr, a...) }),
))
if _, err := tmpl.WriteTo(os.Stdout); err != nil {
panic(err)
diff --git a/static/default.css b/static/default.css
index 44dde56..015567d 100644
--- a/static/default.css
+++ b/static/default.css
@@ -1,305 +1,4873 @@
-*, *:before, *:after {
- box-sizing: inherit;
-}
+@keyframes spinAround {
+ from {
+ transform: rotate(0deg); }
+ to {
+ transform: rotate(359deg); } }
+
+.is-unselectable, .file, .button {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none; }
+
+.select:not(.is-multiple):not(.is-loading)::after, .navbar-link:not(.is-arrowless)::after {
+ border: 3px solid transparent;
+ border-radius: 2px;
+ border-right: 0;
+ border-top: 0;
+ content: " ";
+ display: block;
+ height: 0.625em;
+ margin-top: -0.4375em;
+ pointer-events: none;
+ position: absolute;
+ top: 50%;
+ transform: rotate(-45deg);
+ transform-origin: center;
+ width: 0.625em; }
+
+.title:not(:last-child),
+.subtitle:not(:last-child), .content:not(:last-child), .table:not(:last-child), .table-container:not(:last-child), .notification:not(:last-child) {
+ margin-bottom: 1.5rem; }
+
+.select.is-loading::after, .control.is-loading::after, .button.is-loading::after {
+ animation: spinAround 500ms infinite linear;
+ border: 2px solid #dbdbdb;
+ border-radius: 290486px;
+ border-right-color: transparent;
+ border-top-color: transparent;
+ content: "";
+ display: block;
+ height: 1em;
+ position: relative;
+ width: 1em; }
+
+.is-overlay {
+ bottom: 0;
+ left: 0;
+ position: absolute;
+ right: 0;
+ top: 0; }
+
+.input, .textarea, .select select, .file-cta,
+.file-name, .button {
+ -moz-appearance: none;
+ -webkit-appearance: none;
+ align-items: center;
+ border: 1px solid transparent;
+ border-radius: 4px;
+ box-shadow: none;
+ display: inline-flex;
+ font-size: 1rem;
+ height: 2.5em;
+ justify-content: flex-start;
+ line-height: 1.5;
+ padding-bottom: calc(0.5em - 1px);
+ padding-left: calc(0.75em - 1px);
+ padding-right: calc(0.75em - 1px);
+ padding-top: calc(0.5em - 1px);
+ position: relative;
+ vertical-align: top; }
+ .input:focus, .textarea:focus, .select select:focus, .file-cta:focus,
+ .file-name:focus, .button:focus, .is-focused.input, .is-focused.textarea, .select select.is-focused, .is-focused.file-cta,
+ .is-focused.file-name, .is-focused.button, .input:active, .textarea:active, .select select:active, .file-cta:active,
+ .file-name:active, .button:active, .is-active.input, .is-active.textarea, .select select.is-active, .is-active.file-cta,
+ .is-active.file-name, .is-active.button {
+ outline: none; }
+ .input[disabled], .textarea[disabled], .select select[disabled], .file-cta[disabled],
+ .file-name[disabled], .button[disabled],
+ fieldset[disabled] .input,
+ fieldset[disabled] .textarea,
+ fieldset[disabled] .select select,
+ .select fieldset[disabled] select,
+ fieldset[disabled] .file-cta,
+ fieldset[disabled] .file-name,
+ fieldset[disabled] .button {
+ cursor: not-allowed; }
+
+/*! minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css */
+html,
+body,
+p,
+ol,
+ul,
+li,
+dl,
+dt,
+dd,
+blockquote,
+figure,
+fieldset,
+legend,
+textarea,
+pre,
+iframe,
+hr,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ margin: 0;
+ padding: 0; }
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ font-size: 100%;
+ font-weight: normal; }
+
+ul {
+ list-style: none; }
+
+button,
+input,
+select,
+textarea {
+ margin: 0; }
+
html {
- box-sizing: border-box;
-}
+ box-sizing: border-box; }
+
+*, *::before, *::after {
+ box-sizing: inherit; }
+
+img,
+video {
+ height: auto;
+ max-width: 100%; }
+
+iframe {
+ border: 0; }
+
+table {
+ border-collapse: collapse;
+ border-spacing: 0; }
+
+td,
+th {
+ padding: 0; }
+ td:not([align]),
+ th:not([align]) {
+ text-align: left; }
+
+html {
+ background-color: white;
+ font-size: 16px;
+ -moz-osx-font-smoothing: grayscale;
+ -webkit-font-smoothing: antialiased;
+ min-width: 300px;
+ overflow-x: hidden;
+ overflow-y: scroll;
+ text-rendering: optimizeLegibility;
+ text-size-adjust: 100%; }
+
+article,
+aside,
+figure,
+footer,
+header,
+hgroup,
+section {
+ display: block; }
+
+body,
+button,
+input,
+select,
+textarea {
+ font-family: "Helvetica", "Arial", sans-serif; }
+
+code,
+pre {
+ -moz-osx-font-smoothing: auto;
+ -webkit-font-smoothing: auto;
+ font-family: monospace; }
+
body {
- background-color: #fffaf7;
- color: #37879c;
- display: flex;
- flex-direction: column;
- font-family: sans-serif;
- line-height: 1.5;
- min-height: 100vh;
- margin: 0;
-}
-ul {
- list-style: none;
- padding: 0;
-}
+ color: #4a4a4a;
+ font-size: 1em;
+ font-weight: 400;
+ line-height: 1.5; }
+
+a {
+ color: #3273dc;
+ cursor: pointer;
+ text-decoration: none; }
+ a strong {
+ color: currentColor; }
+ a:hover {
+ color: #363636; }
+
+code {
+ background-color: whitesmoke;
+ color: #f14668;
+ font-size: 0.875em;
+ font-weight: normal;
+ padding: 0.25em 0.5em 0.25em; }
+
+hr {
+ background-color: whitesmoke;
+ border: none;
+ display: block;
+ height: 2px;
+ margin: 1.5rem 0; }
+
+img {
+ height: auto;
+ max-width: 100%; }
+
+input[type="checkbox"],
+input[type="radio"] {
+ vertical-align: baseline; }
+
+small {
+ font-size: 0.875em; }
+
+span {
+ font-style: inherit;
+ font-weight: inherit; }
+
+strong {
+ color: #363636;
+ font-weight: 700; }
+
+fieldset {
+ border: none; }
+
+pre {
+ -webkit-overflow-scrolling: touch;
+ background-color: whitesmoke;
+ color: #4a4a4a;
+ font-size: 0.875em;
+ overflow-x: auto;
+ padding: 1.25rem 1.5rem;
+ white-space: pre;
+ word-wrap: normal; }
+ pre code {
+ background-color: transparent;
+ color: currentColor;
+ font-size: 1em;
+ padding: 0; }
+
+table td,
+table th {
+ vertical-align: top; }
+ table td:not([align]),
+ table th:not([align]) {
+ text-align: left; }
+
+table th {
+ color: #363636; }
+
+.is-clearfix::after {
+ clear: both;
+ content: " ";
+ display: table; }
+
+.is-pulled-left {
+ float: left !important; }
+
+.is-pulled-right {
+ float: right !important; }
+
+.is-clipped {
+ overflow: hidden !important; }
+
+.is-size-1 {
+ font-size: 3rem !important; }
+
+.is-size-2 {
+ font-size: 2.5rem !important; }
+
+.is-size-3 {
+ font-size: 2rem !important; }
+
+.is-size-4 {
+ font-size: 1.5rem !important; }
+
+.is-size-5 {
+ font-size: 1.25rem !important; }
+
+.is-size-6 {
+ font-size: 1rem !important; }
+
+.is-size-7 {
+ font-size: 0.75rem !important; }
+
+@media screen and (max-width: 768px) {
+ .is-size-1-mobile {
+ font-size: 3rem !important; }
+ .is-size-2-mobile {
+ font-size: 2.5rem !important; }
+ .is-size-3-mobile {
+ font-size: 2rem !important; }
+ .is-size-4-mobile {
+ font-size: 1.5rem !important; }
+ .is-size-5-mobile {
+ font-size: 1.25rem !important; }
+ .is-size-6-mobile {
+ font-size: 1rem !important; }
+ .is-size-7-mobile {
+ font-size: 0.75rem !important; } }
+
+@media screen and (min-width: 769px), print {
+ .is-size-1-tablet {
+ font-size: 3rem !important; }
+ .is-size-2-tablet {
+ font-size: 2.5rem !important; }
+ .is-size-3-tablet {
+ font-size: 2rem !important; }
+ .is-size-4-tablet {
+ font-size: 1.5rem !important; }
+ .is-size-5-tablet {
+ font-size: 1.25rem !important; }
+ .is-size-6-tablet {
+ font-size: 1rem !important; }
+ .is-size-7-tablet {
+ font-size: 0.75rem !important; } }
+
+@media screen and (max-width: 1023px) {
+ .is-size-1-touch {
+ font-size: 3rem !important; }
+ .is-size-2-touch {
+ font-size: 2.5rem !important; }
+ .is-size-3-touch {
+ font-size: 2rem !important; }
+ .is-size-4-touch {
+ font-size: 1.5rem !important; }
+ .is-size-5-touch {
+ font-size: 1.25rem !important; }
+ .is-size-6-touch {
+ font-size: 1rem !important; }
+ .is-size-7-touch {
+ font-size: 0.75rem !important; } }
+
+@media screen and (min-width: 1024px) {
+ .is-size-1-desktop {
+ font-size: 3rem !important; }
+ .is-size-2-desktop {
+ font-size: 2.5rem !important; }
+ .is-size-3-desktop {
+ font-size: 2rem !important; }
+ .is-size-4-desktop {
+ font-size: 1.5rem !important; }
+ .is-size-5-desktop {
+ font-size: 1.25rem !important; }
+ .is-size-6-desktop {
+ font-size: 1rem !important; }
+ .is-size-7-desktop {
+ font-size: 0.75rem !important; } }
+
+@media screen and (min-width: 1216px) {
+ .is-size-1-widescreen {
+ font-size: 3rem !important; }
+ .is-size-2-widescreen {
+ font-size: 2.5rem !important; }
+ .is-size-3-widescreen {
+ font-size: 2rem !important; }
+ .is-size-4-widescreen {
+ font-size: 1.5rem !important; }
+ .is-size-5-widescreen {
+ font-size: 1.25rem !important; }
+ .is-size-6-widescreen {
+ font-size: 1rem !important; }
+ .is-size-7-widescreen {
+ font-size: 0.75rem !important; } }
+
+@media screen and (min-width: 1408px) {
+ .is-size-1-fullhd {
+ font-size: 3rem !important; }
+ .is-size-2-fullhd {
+ font-size: 2.5rem !important; }
+ .is-size-3-fullhd {
+ font-size: 2rem !important; }
+ .is-size-4-fullhd {
+ font-size: 1.5rem !important; }
+ .is-size-5-fullhd {
+ font-size: 1.25rem !important; }
+ .is-size-6-fullhd {
+ font-size: 1rem !important; }
+ .is-size-7-fullhd {
+ font-size: 0.75rem !important; } }
+
+.has-text-centered {
+ text-align: center !important; }
+
+.has-text-justified {
+ text-align: justify !important; }
+
+.has-text-left {
+ text-align: left !important; }
+
+.has-text-right {
+ text-align: right !important; }
+
+@media screen and (max-width: 768px) {
+ .has-text-centered-mobile {
+ text-align: center !important; } }
+
+@media screen and (min-width: 769px), print {
+ .has-text-centered-tablet {
+ text-align: center !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1023px) {
+ .has-text-centered-tablet-only {
+ text-align: center !important; } }
+
+@media screen and (max-width: 1023px) {
+ .has-text-centered-touch {
+ text-align: center !important; } }
+
+@media screen and (min-width: 1024px) {
+ .has-text-centered-desktop {
+ text-align: center !important; } }
+
+@media screen and (min-width: 1024px) and (max-width: 1215px) {
+ .has-text-centered-desktop-only {
+ text-align: center !important; } }
+
+@media screen and (min-width: 1216px) {
+ .has-text-centered-widescreen {
+ text-align: center !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .has-text-centered-widescreen-only {
+ text-align: center !important; } }
+
+@media screen and (min-width: 1408px) {
+ .has-text-centered-fullhd {
+ text-align: center !important; } }
+
+@media screen and (max-width: 768px) {
+ .has-text-justified-mobile {
+ text-align: justify !important; } }
+
+@media screen and (min-width: 769px), print {
+ .has-text-justified-tablet {
+ text-align: justify !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1023px) {
+ .has-text-justified-tablet-only {
+ text-align: justify !important; } }
+
+@media screen and (max-width: 1023px) {
+ .has-text-justified-touch {
+ text-align: justify !important; } }
+
+@media screen and (min-width: 1024px) {
+ .has-text-justified-desktop {
+ text-align: justify !important; } }
+
+@media screen and (min-width: 1024px) and (max-width: 1215px) {
+ .has-text-justified-desktop-only {
+ text-align: justify !important; } }
+
+@media screen and (min-width: 1216px) {
+ .has-text-justified-widescreen {
+ text-align: justify !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .has-text-justified-widescreen-only {
+ text-align: justify !important; } }
+
+@media screen and (min-width: 1408px) {
+ .has-text-justified-fullhd {
+ text-align: justify !important; } }
+
+@media screen and (max-width: 768px) {
+ .has-text-left-mobile {
+ text-align: left !important; } }
+
+@media screen and (min-width: 769px), print {
+ .has-text-left-tablet {
+ text-align: left !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1023px) {
+ .has-text-left-tablet-only {
+ text-align: left !important; } }
+
+@media screen and (max-width: 1023px) {
+ .has-text-left-touch {
+ text-align: left !important; } }
+
+@media screen and (min-width: 1024px) {
+ .has-text-left-desktop {
+ text-align: left !important; } }
+
+@media screen and (min-width: 1024px) and (max-width: 1215px) {
+ .has-text-left-desktop-only {
+ text-align: left !important; } }
+
+@media screen and (min-width: 1216px) {
+ .has-text-left-widescreen {
+ text-align: left !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .has-text-left-widescreen-only {
+ text-align: left !important; } }
+
+@media screen and (min-width: 1408px) {
+ .has-text-left-fullhd {
+ text-align: left !important; } }
+
+@media screen and (max-width: 768px) {
+ .has-text-right-mobile {
+ text-align: right !important; } }
+
+@media screen and (min-width: 769px), print {
+ .has-text-right-tablet {
+ text-align: right !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1023px) {
+ .has-text-right-tablet-only {
+ text-align: right !important; } }
+
+@media screen and (max-width: 1023px) {
+ .has-text-right-touch {
+ text-align: right !important; } }
+
+@media screen and (min-width: 1024px) {
+ .has-text-right-desktop {
+ text-align: right !important; } }
+
+@media screen and (min-width: 1024px) and (max-width: 1215px) {
+ .has-text-right-desktop-only {
+ text-align: right !important; } }
+
+@media screen and (min-width: 1216px) {
+ .has-text-right-widescreen {
+ text-align: right !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .has-text-right-widescreen-only {
+ text-align: right !important; } }
+
+@media screen and (min-width: 1408px) {
+ .has-text-right-fullhd {
+ text-align: right !important; } }
+
+.is-capitalized {
+ text-transform: capitalize !important; }
+
+.is-lowercase {
+ text-transform: lowercase !important; }
+
+.is-uppercase {
+ text-transform: uppercase !important; }
+
+.is-italic {
+ font-style: italic !important; }
+
+.has-text-white {
+ color: white !important; }
+
+a.has-text-white:hover, a.has-text-white:focus {
+ color: #e6e6e6 !important; }
+
+.has-background-white {
+ background-color: white !important; }
+
+.has-text-black {
+ color: #120c13 !important; }
+
+a.has-text-black:hover, a.has-text-black:focus {
+ color: black !important; }
+
+.has-background-black {
+ background-color: #120c13 !important; }
+
+.has-text-light {
+ color: whitesmoke !important; }
+
+a.has-text-light:hover, a.has-text-light:focus {
+ color: #dbdbdb !important; }
+
+.has-background-light {
+ background-color: whitesmoke !important; }
+
+.has-text-dark {
+ color: #363636 !important; }
+
+a.has-text-dark:hover, a.has-text-dark:focus {
+ color: #1c1c1c !important; }
+
+.has-background-dark {
+ background-color: #363636 !important; }
+
+.has-text-primary {
+ color: #00d1b2 !important; }
+
+a.has-text-primary:hover, a.has-text-primary:focus {
+ color: #009e86 !important; }
+
+.has-background-primary {
+ background-color: #00d1b2 !important; }
+
+.has-text-link {
+ color: #3273dc !important; }
+
+a.has-text-link:hover, a.has-text-link:focus {
+ color: #205bbc !important; }
+
+.has-background-link {
+ background-color: #3273dc !important; }
+
+.has-text-info {
+ color: #3298dc !important; }
+
+a.has-text-info:hover, a.has-text-info:focus {
+ color: #207dbc !important; }
+
+.has-background-info {
+ background-color: #3298dc !important; }
+
+.has-text-success {
+ color: #48c774 !important; }
+
+a.has-text-success:hover, a.has-text-success:focus {
+ color: #34a85c !important; }
+
+.has-background-success {
+ background-color: #48c774 !important; }
+
+.has-text-warning {
+ color: #ffdd57 !important; }
+
+a.has-text-warning:hover, a.has-text-warning:focus {
+ color: #ffd324 !important; }
+
+.has-background-warning {
+ background-color: #ffdd57 !important; }
+
+.has-text-danger {
+ color: #f14668 !important; }
+
+a.has-text-danger:hover, a.has-text-danger:focus {
+ color: #ee1742 !important; }
+
+.has-background-danger {
+ background-color: #f14668 !important; }
+
+.has-text-black-bis {
+ color: #121212 !important; }
+
+.has-background-black-bis {
+ background-color: #121212 !important; }
+
+.has-text-black-ter {
+ color: #242424 !important; }
+
+.has-background-black-ter {
+ background-color: #242424 !important; }
+
+.has-text-grey-darker {
+ color: #363636 !important; }
+
+.has-background-grey-darker {
+ background-color: #363636 !important; }
+
+.has-text-grey-dark {
+ color: #4a4a4a !important; }
+
+.has-background-grey-dark {
+ background-color: #4a4a4a !important; }
+
+.has-text-grey {
+ color: #7a7a7a !important; }
+
+.has-background-grey {
+ background-color: #7a7a7a !important; }
+
+.has-text-grey-light {
+ color: #b5b5b5 !important; }
+
+.has-background-grey-light {
+ background-color: #b5b5b5 !important; }
+
+.has-text-grey-lighter {
+ color: #dbdbdb !important; }
+
+.has-background-grey-lighter {
+ background-color: #dbdbdb !important; }
+
+.has-text-white-ter {
+ color: whitesmoke !important; }
+
+.has-background-white-ter {
+ background-color: whitesmoke !important; }
+
+.has-text-white-bis {
+ color: #fafafa !important; }
+
+.has-background-white-bis {
+ background-color: #fafafa !important; }
+
+.has-text-weight-light {
+ font-weight: 300 !important; }
+
+.has-text-weight-normal {
+ font-weight: 400 !important; }
+
+.has-text-weight-medium {
+ font-weight: 500 !important; }
+
+.has-text-weight-semibold {
+ font-weight: 600 !important; }
+
+.has-text-weight-bold {
+ font-weight: 700 !important; }
+
+.is-family-primary {
+ font-family: "Helvetica", "Arial", sans-serif !important; }
+
+.is-family-secondary {
+ font-family: "Helvetica", "Arial", sans-serif !important; }
+
+.is-family-sans-serif {
+ font-family: "Helvetica", "Arial", sans-serif !important; }
+
+.is-family-monospace {
+ font-family: monospace !important; }
+
+.is-family-code {
+ font-family: monospace !important; }
+
+.is-block {
+ display: block !important; }
+
+@media screen and (max-width: 768px) {
+ .is-block-mobile {
+ display: block !important; } }
+
+@media screen and (min-width: 769px), print {
+ .is-block-tablet {
+ display: block !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1023px) {
+ .is-block-tablet-only {
+ display: block !important; } }
+
+@media screen and (max-width: 1023px) {
+ .is-block-touch {
+ display: block !important; } }
+
+@media screen and (min-width: 1024px) {
+ .is-block-desktop {
+ display: block !important; } }
+
+@media screen and (min-width: 1024px) and (max-width: 1215px) {
+ .is-block-desktop-only {
+ display: block !important; } }
+
+@media screen and (min-width: 1216px) {
+ .is-block-widescreen {
+ display: block !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .is-block-widescreen-only {
+ display: block !important; } }
+
+@media screen and (min-width: 1408px) {
+ .is-block-fullhd {
+ display: block !important; } }
+
+.is-flex {
+ display: flex !important; }
+
+@media screen and (max-width: 768px) {
+ .is-flex-mobile {
+ display: flex !important; } }
+
+@media screen and (min-width: 769px), print {
+ .is-flex-tablet {
+ display: flex !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1023px) {
+ .is-flex-tablet-only {
+ display: flex !important; } }
+
+@media screen and (max-width: 1023px) {
+ .is-flex-touch {
+ display: flex !important; } }
+
+@media screen and (min-width: 1024px) {
+ .is-flex-desktop {
+ display: flex !important; } }
+
+@media screen and (min-width: 1024px) and (max-width: 1215px) {
+ .is-flex-desktop-only {
+ display: flex !important; } }
+
+@media screen and (min-width: 1216px) {
+ .is-flex-widescreen {
+ display: flex !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .is-flex-widescreen-only {
+ display: flex !important; } }
+
+@media screen and (min-width: 1408px) {
+ .is-flex-fullhd {
+ display: flex !important; } }
+
+.is-inline {
+ display: inline !important; }
+
+@media screen and (max-width: 768px) {
+ .is-inline-mobile {
+ display: inline !important; } }
+
+@media screen and (min-width: 769px), print {
+ .is-inline-tablet {
+ display: inline !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1023px) {
+ .is-inline-tablet-only {
+ display: inline !important; } }
+
+@media screen and (max-width: 1023px) {
+ .is-inline-touch {
+ display: inline !important; } }
+
+@media screen and (min-width: 1024px) {
+ .is-inline-desktop {
+ display: inline !important; } }
+
+@media screen and (min-width: 1024px) and (max-width: 1215px) {
+ .is-inline-desktop-only {
+ display: inline !important; } }
+
+@media screen and (min-width: 1216px) {
+ .is-inline-widescreen {
+ display: inline !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .is-inline-widescreen-only {
+ display: inline !important; } }
+
+@media screen and (min-width: 1408px) {
+ .is-inline-fullhd {
+ display: inline !important; } }
+
+.is-inline-block {
+ display: inline-block !important; }
+
+@media screen and (max-width: 768px) {
+ .is-inline-block-mobile {
+ display: inline-block !important; } }
+
+@media screen and (min-width: 769px), print {
+ .is-inline-block-tablet {
+ display: inline-block !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1023px) {
+ .is-inline-block-tablet-only {
+ display: inline-block !important; } }
+
+@media screen and (max-width: 1023px) {
+ .is-inline-block-touch {
+ display: inline-block !important; } }
+
+@media screen and (min-width: 1024px) {
+ .is-inline-block-desktop {
+ display: inline-block !important; } }
+
+@media screen and (min-width: 1024px) and (max-width: 1215px) {
+ .is-inline-block-desktop-only {
+ display: inline-block !important; } }
+
+@media screen and (min-width: 1216px) {
+ .is-inline-block-widescreen {
+ display: inline-block !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .is-inline-block-widescreen-only {
+ display: inline-block !important; } }
+
+@media screen and (min-width: 1408px) {
+ .is-inline-block-fullhd {
+ display: inline-block !important; } }
+
+.is-inline-flex {
+ display: inline-flex !important; }
+
+@media screen and (max-width: 768px) {
+ .is-inline-flex-mobile {
+ display: inline-flex !important; } }
+
+@media screen and (min-width: 769px), print {
+ .is-inline-flex-tablet {
+ display: inline-flex !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1023px) {
+ .is-inline-flex-tablet-only {
+ display: inline-flex !important; } }
+
+@media screen and (max-width: 1023px) {
+ .is-inline-flex-touch {
+ display: inline-flex !important; } }
+
+@media screen and (min-width: 1024px) {
+ .is-inline-flex-desktop {
+ display: inline-flex !important; } }
+
+@media screen and (min-width: 1024px) and (max-width: 1215px) {
+ .is-inline-flex-desktop-only {
+ display: inline-flex !important; } }
+
+@media screen and (min-width: 1216px) {
+ .is-inline-flex-widescreen {
+ display: inline-flex !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .is-inline-flex-widescreen-only {
+ display: inline-flex !important; } }
+
+@media screen and (min-width: 1408px) {
+ .is-inline-flex-fullhd {
+ display: inline-flex !important; } }
+
+.is-hidden {
+ display: none !important; }
+
+.is-sr-only {
+ border: none !important;
+ clip: rect(0, 0, 0, 0) !important;
+ height: 0.01em !important;
+ overflow: hidden !important;
+ padding: 0 !important;
+ position: absolute !important;
+ white-space: nowrap !important;
+ width: 0.01em !important; }
+
+@media screen and (max-width: 768px) {
+ .is-hidden-mobile {
+ display: none !important; } }
+
+@media screen and (min-width: 769px), print {
+ .is-hidden-tablet {
+ display: none !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1023px) {
+ .is-hidden-tablet-only {
+ display: none !important; } }
+
+@media screen and (max-width: 1023px) {
+ .is-hidden-touch {
+ display: none !important; } }
+
+@media screen and (min-width: 1024px) {
+ .is-hidden-desktop {
+ display: none !important; } }
+
+@media screen and (min-width: 1024px) and (max-width: 1215px) {
+ .is-hidden-desktop-only {
+ display: none !important; } }
+
+@media screen and (min-width: 1216px) {
+ .is-hidden-widescreen {
+ display: none !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .is-hidden-widescreen-only {
+ display: none !important; } }
+
+@media screen and (min-width: 1408px) {
+ .is-hidden-fullhd {
+ display: none !important; } }
+
+.is-invisible {
+ visibility: hidden !important; }
+
+@media screen and (max-width: 768px) {
+ .is-invisible-mobile {
+ visibility: hidden !important; } }
+
+@media screen and (min-width: 769px), print {
+ .is-invisible-tablet {
+ visibility: hidden !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1023px) {
+ .is-invisible-tablet-only {
+ visibility: hidden !important; } }
+
+@media screen and (max-width: 1023px) {
+ .is-invisible-touch {
+ visibility: hidden !important; } }
+
+@media screen and (min-width: 1024px) {
+ .is-invisible-desktop {
+ visibility: hidden !important; } }
+
+@media screen and (min-width: 1024px) and (max-width: 1215px) {
+ .is-invisible-desktop-only {
+ visibility: hidden !important; } }
+
+@media screen and (min-width: 1216px) {
+ .is-invisible-widescreen {
+ visibility: hidden !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .is-invisible-widescreen-only {
+ visibility: hidden !important; } }
+
+@media screen and (min-width: 1408px) {
+ .is-invisible-fullhd {
+ visibility: hidden !important; } }
+
+.is-marginless {
+ margin: 0 !important; }
+
+.is-paddingless {
+ padding: 0 !important; }
+
+.is-radiusless {
+ border-radius: 0 !important; }
+
+.is-shadowless {
+ box-shadow: none !important; }
+
+.is-relative {
+ position: relative !important; }
+
+.input, .textarea, .select select {
+ background-color: white;
+ border-color: #dbdbdb;
+ border-radius: 4px;
+ color: #363636; }
+ .input::-moz-placeholder, .textarea::-moz-placeholder, .select select::-moz-placeholder {
+ color: rgba(54, 54, 54, 0.3); }
+ .input::-webkit-input-placeholder, .textarea::-webkit-input-placeholder, .select select::-webkit-input-placeholder {
+ color: rgba(54, 54, 54, 0.3); }
+ .input:-moz-placeholder, .textarea:-moz-placeholder, .select select:-moz-placeholder {
+ color: rgba(54, 54, 54, 0.3); }
+ .input:-ms-input-placeholder, .textarea:-ms-input-placeholder, .select select:-ms-input-placeholder {
+ color: rgba(54, 54, 54, 0.3); }
+ .input:hover, .textarea:hover, .select select:hover, .is-hovered.input, .is-hovered.textarea, .select select.is-hovered {
+ border-color: #b5b5b5; }
+ .input:focus, .textarea:focus, .select select:focus, .is-focused.input, .is-focused.textarea, .select select.is-focused, .input:active, .textarea:active, .select select:active, .is-active.input, .is-active.textarea, .select select.is-active {
+ border-color: #3273dc;
+ box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25); }
+ .input[disabled], .textarea[disabled], .select select[disabled],
+ fieldset[disabled] .input,
+ fieldset[disabled] .textarea,
+ fieldset[disabled] .select select,
+ .select fieldset[disabled] select {
+ background-color: whitesmoke;
+ border-color: whitesmoke;
+ box-shadow: none;
+ color: #7a7a7a; }
+ .input[disabled]::-moz-placeholder, .textarea[disabled]::-moz-placeholder, .select select[disabled]::-moz-placeholder,
+ fieldset[disabled] .input::-moz-placeholder,
+ fieldset[disabled] .textarea::-moz-placeholder,
+ fieldset[disabled] .select select::-moz-placeholder,
+ .select fieldset[disabled] select::-moz-placeholder {
+ color: rgba(122, 122, 122, 0.3); }
+ .input[disabled]::-webkit-input-placeholder, .textarea[disabled]::-webkit-input-placeholder, .select select[disabled]::-webkit-input-placeholder,
+ fieldset[disabled] .input::-webkit-input-placeholder,
+ fieldset[disabled] .textarea::-webkit-input-placeholder,
+ fieldset[disabled] .select select::-webkit-input-placeholder,
+ .select fieldset[disabled] select::-webkit-input-placeholder {
+ color: rgba(122, 122, 122, 0.3); }
+ .input[disabled]:-moz-placeholder, .textarea[disabled]:-moz-placeholder, .select select[disabled]:-moz-placeholder,
+ fieldset[disabled] .input:-moz-placeholder,
+ fieldset[disabled] .textarea:-moz-placeholder,
+ fieldset[disabled] .select select:-moz-placeholder,
+ .select fieldset[disabled] select:-moz-placeholder {
+ color: rgba(122, 122, 122, 0.3); }
+ .input[disabled]:-ms-input-placeholder, .textarea[disabled]:-ms-input-placeholder, .select select[disabled]:-ms-input-placeholder,
+ fieldset[disabled] .input:-ms-input-placeholder,
+ fieldset[disabled] .textarea:-ms-input-placeholder,
+ fieldset[disabled] .select select:-ms-input-placeholder,
+ .select fieldset[disabled] select:-ms-input-placeholder {
+ color: rgba(122, 122, 122, 0.3); }
+
+.input, .textarea {
+ box-shadow: inset 0 0.0625em 0.125em rgba(18, 12, 19, 0.05);
+ max-width: 100%;
+ width: 100%; }
+ .input[readonly], .textarea[readonly] {
+ box-shadow: none; }
+ .is-white.input, .is-white.textarea {
+ border-color: white; }
+ .is-white.input:focus, .is-white.textarea:focus, .is-white.is-focused.input, .is-white.is-focused.textarea, .is-white.input:active, .is-white.textarea:active, .is-white.is-active.input, .is-white.is-active.textarea {
+ box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }
+ .is-black.input, .is-black.textarea {
+ border-color: #120c13; }
+ .is-black.input:focus, .is-black.textarea:focus, .is-black.is-focused.input, .is-black.is-focused.textarea, .is-black.input:active, .is-black.textarea:active, .is-black.is-active.input, .is-black.is-active.textarea {
+ box-shadow: 0 0 0 0.125em rgba(18, 12, 19, 0.25); }
+ .is-light.input, .is-light.textarea {
+ border-color: whitesmoke; }
+ .is-light.input:focus, .is-light.textarea:focus, .is-light.is-focused.input, .is-light.is-focused.textarea, .is-light.input:active, .is-light.textarea:active, .is-light.is-active.input, .is-light.is-active.textarea {
+ box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); }
+ .is-dark.input, .is-dark.textarea {
+ border-color: #363636; }
+ .is-dark.input:focus, .is-dark.textarea:focus, .is-dark.is-focused.input, .is-dark.is-focused.textarea, .is-dark.input:active, .is-dark.textarea:active, .is-dark.is-active.input, .is-dark.is-active.textarea {
+ box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); }
+ .is-primary.input, .is-primary.textarea {
+ border-color: #00d1b2; }
+ .is-primary.input:focus, .is-primary.textarea:focus, .is-primary.is-focused.input, .is-primary.is-focused.textarea, .is-primary.input:active, .is-primary.textarea:active, .is-primary.is-active.input, .is-primary.is-active.textarea {
+ box-shadow: 0 0 0 0.125em rgba(0, 209, 178, 0.25); }
+ .is-link.input, .is-link.textarea {
+ border-color: #3273dc; }
+ .is-link.input:focus, .is-link.textarea:focus, .is-link.is-focused.input, .is-link.is-focused.textarea, .is-link.input:active, .is-link.textarea:active, .is-link.is-active.input, .is-link.is-active.textarea {
+ box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25); }
+ .is-info.input, .is-info.textarea {
+ border-color: #3298dc; }
+ .is-info.input:focus, .is-info.textarea:focus, .is-info.is-focused.input, .is-info.is-focused.textarea, .is-info.input:active, .is-info.textarea:active, .is-info.is-active.input, .is-info.is-active.textarea {
+ box-shadow: 0 0 0 0.125em rgba(50, 152, 220, 0.25); }
+ .is-success.input, .is-success.textarea {
+ border-color: #48c774; }
+ .is-success.input:focus, .is-success.textarea:focus, .is-success.is-focused.input, .is-success.is-focused.textarea, .is-success.input:active, .is-success.textarea:active, .is-success.is-active.input, .is-success.is-active.textarea {
+ box-shadow: 0 0 0 0.125em rgba(72, 199, 116, 0.25); }
+ .is-warning.input, .is-warning.textarea {
+ border-color: #ffdd57; }
+ .is-warning.input:focus, .is-warning.textarea:focus, .is-warning.is-focused.input, .is-warning.is-focused.textarea, .is-warning.input:active, .is-warning.textarea:active, .is-warning.is-active.input, .is-warning.is-active.textarea {
+ box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); }
+ .is-danger.input, .is-danger.textarea {
+ border-color: #f14668; }
+ .is-danger.input:focus, .is-danger.textarea:focus, .is-danger.is-focused.input, .is-danger.is-focused.textarea, .is-danger.input:active, .is-danger.textarea:active, .is-danger.is-active.input, .is-danger.is-active.textarea {
+ box-shadow: 0 0 0 0.125em rgba(241, 70, 104, 0.25); }
+ .is-small.input, .is-small.textarea {
+ border-radius: 2px;
+ font-size: 0.75rem; }
+ .is-medium.input, .is-medium.textarea {
+ font-size: 1.25rem; }
+ .is-large.input, .is-large.textarea {
+ font-size: 1.5rem; }
+ .is-fullwidth.input, .is-fullwidth.textarea {
+ display: block;
+ width: 100%; }
+ .is-inline.input, .is-inline.textarea {
+ display: inline;
+ width: auto; }
+
+.input.is-rounded {
+ border-radius: 290486px;
+ padding-left: calc(calc(0.75em - 1px) + 0.375em);
+ padding-right: calc(calc(0.75em - 1px) + 0.375em); }
+
+.input.is-static {
+ background-color: transparent;
+ border-color: transparent;
+ box-shadow: none;
+ padding-left: 0;
+ padding-right: 0; }
+
+.textarea {
+ display: block;
+ max-width: 100%;
+ min-width: 100%;
+ padding: calc(0.75em - 1px);
+ resize: vertical; }
+ .textarea:not([rows]) {
+ max-height: 40em;
+ min-height: 8em; }
+ .textarea[rows] {
+ height: initial; }
+ .textarea.has-fixed-size {
+ resize: none; }
+
+.checkbox, .radio {
+ cursor: pointer;
+ display: inline-block;
+ line-height: 1.25;
+ position: relative; }
+ .checkbox input, .radio input {
+ cursor: pointer; }
+ .checkbox:hover, .radio:hover {
+ color: #363636; }
+ .checkbox[disabled], .radio[disabled],
+ fieldset[disabled] .checkbox,
+ fieldset[disabled] .radio {
+ color: #7a7a7a;
+ cursor: not-allowed; }
+
+.radio + .radio {
+ margin-left: 0.5em; }
+
+.select {
+ display: inline-block;
+ max-width: 100%;
+ position: relative;
+ vertical-align: top; }
+ .select:not(.is-multiple) {
+ height: 2.5em; }
+ .select:not(.is-multiple):not(.is-loading)::after {
+ border-color: #3273dc;
+ right: 1.125em;
+ z-index: 4; }
+ .select.is-rounded select {
+ border-radius: 290486px;
+ padding-left: 1em; }
+ .select select {
+ cursor: pointer;
+ display: block;
+ font-size: 1em;
+ max-width: 100%;
+ outline: none; }
+ .select select::-ms-expand {
+ display: none; }
+ .select select[disabled]:hover,
+ fieldset[disabled] .select select:hover {
+ border-color: whitesmoke; }
+ .select select:not([multiple]) {
+ padding-right: 2.5em; }
+ .select select[multiple] {
+ height: auto;
+ padding: 0; }
+ .select select[multiple] option {
+ padding: 0.5em 1em; }
+ .select:not(.is-multiple):not(.is-loading):hover::after {
+ border-color: #363636; }
+ .select.is-white:not(:hover)::after {
+ border-color: white; }
+ .select.is-white select {
+ border-color: white; }
+ .select.is-white select:hover, .select.is-white select.is-hovered {
+ border-color: #f2f2f2; }
+ .select.is-white select:focus, .select.is-white select.is-focused, .select.is-white select:active, .select.is-white select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }
+ .select.is-black:not(:hover)::after {
+ border-color: #120c13; }
+ .select.is-black select {
+ border-color: #120c13; }
+ .select.is-black select:hover, .select.is-black select.is-hovered {
+ border-color: #030203; }
+ .select.is-black select:focus, .select.is-black select.is-focused, .select.is-black select:active, .select.is-black select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(18, 12, 19, 0.25); }
+ .select.is-light:not(:hover)::after {
+ border-color: whitesmoke; }
+ .select.is-light select {
+ border-color: whitesmoke; }
+ .select.is-light select:hover, .select.is-light select.is-hovered {
+ border-color: #e8e8e8; }
+ .select.is-light select:focus, .select.is-light select.is-focused, .select.is-light select:active, .select.is-light select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); }
+ .select.is-dark:not(:hover)::after {
+ border-color: #363636; }
+ .select.is-dark select {
+ border-color: #363636; }
+ .select.is-dark select:hover, .select.is-dark select.is-hovered {
+ border-color: #292929; }
+ .select.is-dark select:focus, .select.is-dark select.is-focused, .select.is-dark select:active, .select.is-dark select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); }
+ .select.is-primary:not(:hover)::after {
+ border-color: #00d1b2; }
+ .select.is-primary select {
+ border-color: #00d1b2; }
+ .select.is-primary select:hover, .select.is-primary select.is-hovered {
+ border-color: #00b89c; }
+ .select.is-primary select:focus, .select.is-primary select.is-focused, .select.is-primary select:active, .select.is-primary select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(0, 209, 178, 0.25); }
+ .select.is-link:not(:hover)::after {
+ border-color: #3273dc; }
+ .select.is-link select {
+ border-color: #3273dc; }
+ .select.is-link select:hover, .select.is-link select.is-hovered {
+ border-color: #2366d1; }
+ .select.is-link select:focus, .select.is-link select.is-focused, .select.is-link select:active, .select.is-link select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25); }
+ .select.is-info:not(:hover)::after {
+ border-color: #3298dc; }
+ .select.is-info select {
+ border-color: #3298dc; }
+ .select.is-info select:hover, .select.is-info select.is-hovered {
+ border-color: #238cd1; }
+ .select.is-info select:focus, .select.is-info select.is-focused, .select.is-info select:active, .select.is-info select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(50, 152, 220, 0.25); }
+ .select.is-success:not(:hover)::after {
+ border-color: #48c774; }
+ .select.is-success select {
+ border-color: #48c774; }
+ .select.is-success select:hover, .select.is-success select.is-hovered {
+ border-color: #3abb67; }
+ .select.is-success select:focus, .select.is-success select.is-focused, .select.is-success select:active, .select.is-success select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(72, 199, 116, 0.25); }
+ .select.is-warning:not(:hover)::after {
+ border-color: #ffdd57; }
+ .select.is-warning select {
+ border-color: #ffdd57; }
+ .select.is-warning select:hover, .select.is-warning select.is-hovered {
+ border-color: #ffd83d; }
+ .select.is-warning select:focus, .select.is-warning select.is-focused, .select.is-warning select:active, .select.is-warning select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); }
+ .select.is-danger:not(:hover)::after {
+ border-color: #f14668; }
+ .select.is-danger select {
+ border-color: #f14668; }
+ .select.is-danger select:hover, .select.is-danger select.is-hovered {
+ border-color: #ef2e55; }
+ .select.is-danger select:focus, .select.is-danger select.is-focused, .select.is-danger select:active, .select.is-danger select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(241, 70, 104, 0.25); }
+ .select.is-small {
+ border-radius: 2px;
+ font-size: 0.75rem; }
+ .select.is-medium {
+ font-size: 1.25rem; }
+ .select.is-large {
+ font-size: 1.5rem; }
+ .select.is-disabled::after {
+ border-color: #7a7a7a; }
+ .select.is-fullwidth {
+ width: 100%; }
+ .select.is-fullwidth select {
+ width: 100%; }
+ .select.is-loading::after {
+ margin-top: 0;
+ position: absolute;
+ right: 0.625em;
+ top: 0.625em;
+ transform: none; }
+ .select.is-loading.is-small:after {
+ font-size: 0.75rem; }
+ .select.is-loading.is-medium:after {
+ font-size: 1.25rem; }
+ .select.is-loading.is-large:after {
+ font-size: 1.5rem; }
+
+.file {
+ align-items: stretch;
+ display: flex;
+ justify-content: flex-start;
+ position: relative; }
+ .file.is-white .file-cta {
+ background-color: white;
+ border-color: transparent;
+ color: #120c13; }
+ .file.is-white:hover .file-cta, .file.is-white.is-hovered .file-cta {
+ background-color: #f9f9f9;
+ border-color: transparent;
+ color: #120c13; }
+ .file.is-white:focus .file-cta, .file.is-white.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(255, 255, 255, 0.25);
+ color: #120c13; }
+ .file.is-white:active .file-cta, .file.is-white.is-active .file-cta {
+ background-color: #f2f2f2;
+ border-color: transparent;
+ color: #120c13; }
+ .file.is-black .file-cta {
+ background-color: #120c13;
+ border-color: transparent;
+ color: white; }
+ .file.is-black:hover .file-cta, .file.is-black.is-hovered .file-cta {
+ background-color: #0b070b;
+ border-color: transparent;
+ color: white; }
+ .file.is-black:focus .file-cta, .file.is-black.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(18, 12, 19, 0.25);
+ color: white; }
+ .file.is-black:active .file-cta, .file.is-black.is-active .file-cta {
+ background-color: #030203;
+ border-color: transparent;
+ color: white; }
+ .file.is-light .file-cta {
+ background-color: whitesmoke;
+ border-color: transparent;
+ color: rgba(0, 0, 0, 0.7); }
+ .file.is-light:hover .file-cta, .file.is-light.is-hovered .file-cta {
+ background-color: #eeeeee;
+ border-color: transparent;
+ color: rgba(0, 0, 0, 0.7); }
+ .file.is-light:focus .file-cta, .file.is-light.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(245, 245, 245, 0.25);
+ color: rgba(0, 0, 0, 0.7); }
+ .file.is-light:active .file-cta, .file.is-light.is-active .file-cta {
+ background-color: #e8e8e8;
+ border-color: transparent;
+ color: rgba(0, 0, 0, 0.7); }
+ .file.is-dark .file-cta {
+ background-color: #363636;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-dark:hover .file-cta, .file.is-dark.is-hovered .file-cta {
+ background-color: #2f2f2f;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-dark:focus .file-cta, .file.is-dark.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(54, 54, 54, 0.25);
+ color: #fff; }
+ .file.is-dark:active .file-cta, .file.is-dark.is-active .file-cta {
+ background-color: #292929;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-primary .file-cta {
+ background-color: #00d1b2;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-primary:hover .file-cta, .file.is-primary.is-hovered .file-cta {
+ background-color: #00c4a7;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-primary:focus .file-cta, .file.is-primary.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(0, 209, 178, 0.25);
+ color: #fff; }
+ .file.is-primary:active .file-cta, .file.is-primary.is-active .file-cta {
+ background-color: #00b89c;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-link .file-cta {
+ background-color: #3273dc;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-link:hover .file-cta, .file.is-link.is-hovered .file-cta {
+ background-color: #276cda;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-link:focus .file-cta, .file.is-link.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(50, 115, 220, 0.25);
+ color: #fff; }
+ .file.is-link:active .file-cta, .file.is-link.is-active .file-cta {
+ background-color: #2366d1;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-info .file-cta {
+ background-color: #3298dc;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-info:hover .file-cta, .file.is-info.is-hovered .file-cta {
+ background-color: #2793da;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-info:focus .file-cta, .file.is-info.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(50, 152, 220, 0.25);
+ color: #fff; }
+ .file.is-info:active .file-cta, .file.is-info.is-active .file-cta {
+ background-color: #238cd1;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-success .file-cta {
+ background-color: #48c774;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-success:hover .file-cta, .file.is-success.is-hovered .file-cta {
+ background-color: #3ec46d;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-success:focus .file-cta, .file.is-success.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(72, 199, 116, 0.25);
+ color: #fff; }
+ .file.is-success:active .file-cta, .file.is-success.is-active .file-cta {
+ background-color: #3abb67;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-warning .file-cta {
+ background-color: #ffdd57;
+ border-color: transparent;
+ color: rgba(0, 0, 0, 0.7); }
+ .file.is-warning:hover .file-cta, .file.is-warning.is-hovered .file-cta {
+ background-color: #ffdb4a;
+ border-color: transparent;
+ color: rgba(0, 0, 0, 0.7); }
+ .file.is-warning:focus .file-cta, .file.is-warning.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(255, 221, 87, 0.25);
+ color: rgba(0, 0, 0, 0.7); }
+ .file.is-warning:active .file-cta, .file.is-warning.is-active .file-cta {
+ background-color: #ffd83d;
+ border-color: transparent;
+ color: rgba(0, 0, 0, 0.7); }
+ .file.is-danger .file-cta {
+ background-color: #f14668;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-danger:hover .file-cta, .file.is-danger.is-hovered .file-cta {
+ background-color: #f03a5f;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-danger:focus .file-cta, .file.is-danger.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(241, 70, 104, 0.25);
+ color: #fff; }
+ .file.is-danger:active .file-cta, .file.is-danger.is-active .file-cta {
+ background-color: #ef2e55;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-small {
+ font-size: 0.75rem; }
+ .file.is-medium {
+ font-size: 1.25rem; }
+ .file.is-medium .file-icon .fa {
+ font-size: 21px; }
+ .file.is-large {
+ font-size: 1.5rem; }
+ .file.is-large .file-icon .fa {
+ font-size: 28px; }
+ .file.has-name .file-cta {
+ border-bottom-right-radius: 0;
+ border-top-right-radius: 0; }
+ .file.has-name .file-name {
+ border-bottom-left-radius: 0;
+ border-top-left-radius: 0; }
+ .file.has-name.is-empty .file-cta {
+ border-radius: 4px; }
+ .file.has-name.is-empty .file-name {
+ display: none; }
+ .file.is-boxed .file-label {
+ flex-direction: column; }
+ .file.is-boxed .file-cta {
+ flex-direction: column;
+ height: auto;
+ padding: 1em 3em; }
+ .file.is-boxed .file-name {
+ border-width: 0 1px 1px; }
+ .file.is-boxed .file-icon {
+ height: 1.5em;
+ width: 1.5em; }
+ .file.is-boxed .file-icon .fa {
+ font-size: 21px; }
+ .file.is-boxed.is-small .file-icon .fa {
+ font-size: 14px; }
+ .file.is-boxed.is-medium .file-icon .fa {
+ font-size: 28px; }
+ .file.is-boxed.is-large .file-icon .fa {
+ font-size: 35px; }
+ .file.is-boxed.has-name .file-cta {
+ border-radius: 4px 4px 0 0; }
+ .file.is-boxed.has-name .file-name {
+ border-radius: 0 0 4px 4px;
+ border-width: 0 1px 1px; }
+ .file.is-centered {
+ justify-content: center; }
+ .file.is-fullwidth .file-label {
+ width: 100%; }
+ .file.is-fullwidth .file-name {
+ flex-grow: 1;
+ max-width: none; }
+ .file.is-right {
+ justify-content: flex-end; }
+ .file.is-right .file-cta {
+ border-radius: 0 4px 4px 0; }
+ .file.is-right .file-name {
+ border-radius: 4px 0 0 4px;
+ border-width: 1px 0 1px 1px;
+ order: -1; }
+
+.file-label {
+ align-items: stretch;
+ display: flex;
+ cursor: pointer;
+ justify-content: flex-start;
+ overflow: hidden;
+ position: relative; }
+ .file-label:hover .file-cta {
+ background-color: #eeeeee;
+ color: #363636; }
+ .file-label:hover .file-name {
+ border-color: #d5d5d5; }
+ .file-label:active .file-cta {
+ background-color: #e8e8e8;
+ color: #363636; }
+ .file-label:active .file-name {
+ border-color: #cfcfcf; }
+
+.file-input {
+ height: 100%;
+ left: 0;
+ opacity: 0;
+ outline: none;
+ position: absolute;
+ top: 0;
+ width: 100%; }
+
+.file-cta,
+.file-name {
+ border-color: #dbdbdb;
+ border-radius: 4px;
+ font-size: 1em;
+ padding-left: 1em;
+ padding-right: 1em;
+ white-space: nowrap; }
+
+.file-cta {
+ background-color: whitesmoke;
+ color: #4a4a4a; }
+
+.file-name {
+ border-color: #dbdbdb;
+ border-style: solid;
+ border-width: 1px 1px 1px 0;
+ display: block;
+ max-width: 16em;
+ overflow: hidden;
+ text-align: left;
+ text-overflow: ellipsis; }
+
+.file-icon {
+ align-items: center;
+ display: flex;
+ height: 1em;
+ justify-content: center;
+ margin-right: 0.5em;
+ width: 1em; }
+ .file-icon .fa {
+ font-size: 14px; }
+
+.label {
+ color: #363636;
+ display: block;
+ font-size: 1rem;
+ font-weight: 700; }
+ .label:not(:last-child) {
+ margin-bottom: 0.5em; }
+ .label.is-small {
+ font-size: 0.75rem; }
+ .label.is-medium {
+ font-size: 1.25rem; }
+ .label.is-large {
+ font-size: 1.5rem; }
+
+.help {
+ display: block;
+ font-size: 0.75rem;
+ margin-top: 0.25rem; }
+ .help.is-white {
+ color: white; }
+ .help.is-black {
+ color: #120c13; }
+ .help.is-light {
+ color: whitesmoke; }
+ .help.is-dark {
+ color: #363636; }
+ .help.is-primary {
+ color: #00d1b2; }
+ .help.is-link {
+ color: #3273dc; }
+ .help.is-info {
+ color: #3298dc; }
+ .help.is-success {
+ color: #48c774; }
+ .help.is-warning {
+ color: #ffdd57; }
+ .help.is-danger {
+ color: #f14668; }
+
+.field:not(:last-child) {
+ margin-bottom: 0.75rem; }
+
+.field.has-addons {
+ display: flex;
+ justify-content: flex-start; }
+ .field.has-addons .control:not(:last-child) {
+ margin-right: -1px; }
+ .field.has-addons .control:not(:first-child):not(:last-child) .button,
+ .field.has-addons .control:not(:first-child):not(:last-child) .input,
+ .field.has-addons .control:not(:first-child):not(:last-child) .select select {
+ border-radius: 0; }
+ .field.has-addons .control:first-child:not(:only-child) .button,
+ .field.has-addons .control:first-child:not(:only-child) .input,
+ .field.has-addons .control:first-child:not(:only-child) .select select {
+ border-bottom-right-radius: 0;
+ border-top-right-radius: 0; }
+ .field.has-addons .control:last-child:not(:only-child) .button,
+ .field.has-addons .control:last-child:not(:only-child) .input,
+ .field.has-addons .control:last-child:not(:only-child) .select select {
+ border-bottom-left-radius: 0;
+ border-top-left-radius: 0; }
+ .field.has-addons .control .button:not([disabled]):hover, .field.has-addons .control .button:not([disabled]).is-hovered,
+ .field.has-addons .control .input:not([disabled]):hover,
+ .field.has-addons .control .input:not([disabled]).is-hovered,
+ .field.has-addons .control .select select:not([disabled]):hover,
+ .field.has-addons .control .select select:not([disabled]).is-hovered {
+ z-index: 2; }
+ .field.has-addons .control .button:not([disabled]):focus, .field.has-addons .control .button:not([disabled]).is-focused, .field.has-addons .control .button:not([disabled]):active, .field.has-addons .control .button:not([disabled]).is-active,
+ .field.has-addons .control .input:not([disabled]):focus,
+ .field.has-addons .control .input:not([disabled]).is-focused,
+ .field.has-addons .control .input:not([disabled]):active,
+ .field.has-addons .control .input:not([disabled]).is-active,
+ .field.has-addons .control .select select:not([disabled]):focus,
+ .field.has-addons .control .select select:not([disabled]).is-focused,
+ .field.has-addons .control .select select:not([disabled]):active,
+ .field.has-addons .control .select select:not([disabled]).is-active {
+ z-index: 3; }
+ .field.has-addons .control .button:not([disabled]):focus:hover, .field.has-addons .control .button:not([disabled]).is-focused:hover, .field.has-addons .control .button:not([disabled]):active:hover, .field.has-addons .control .button:not([disabled]).is-active:hover,
+ .field.has-addons .control .input:not([disabled]):focus:hover,
+ .field.has-addons .control .input:not([disabled]).is-focused:hover,
+ .field.has-addons .control .input:not([disabled]):active:hover,
+ .field.has-addons .control .input:not([disabled]).is-active:hover,
+ .field.has-addons .control .select select:not([disabled]):focus:hover,
+ .field.has-addons .control .select select:not([disabled]).is-focused:hover,
+ .field.has-addons .control .select select:not([disabled]):active:hover,
+ .field.has-addons .control .select select:not([disabled]).is-active:hover {
+ z-index: 4; }
+ .field.has-addons .control.is-expanded {
+ flex-grow: 1;
+ flex-shrink: 1; }
+ .field.has-addons.has-addons-centered {
+ justify-content: center; }
+ .field.has-addons.has-addons-right {
+ justify-content: flex-end; }
+ .field.has-addons.has-addons-fullwidth .control {
+ flex-grow: 1;
+ flex-shrink: 0; }
+
+.field.is-grouped {
+ display: flex;
+ justify-content: flex-start; }
+ .field.is-grouped > .control {
+ flex-shrink: 0; }
+ .field.is-grouped > .control:not(:last-child) {
+ margin-bottom: 0;
+ margin-right: 0.75rem; }
+ .field.is-grouped > .control.is-expanded {
+ flex-grow: 1;
+ flex-shrink: 1; }
+ .field.is-grouped.is-grouped-centered {
+ justify-content: center; }
+ .field.is-grouped.is-grouped-right {
+ justify-content: flex-end; }
+ .field.is-grouped.is-grouped-multiline {
+ flex-wrap: wrap; }
+ .field.is-grouped.is-grouped-multiline > .control:last-child, .field.is-grouped.is-grouped-multiline > .control:not(:last-child) {
+ margin-bottom: 0.75rem; }
+ .field.is-grouped.is-grouped-multiline:last-child {
+ margin-bottom: -0.75rem; }
+ .field.is-grouped.is-grouped-multiline:not(:last-child) {
+ margin-bottom: 0; }
+
+@media screen and (min-width: 769px), print {
+ .field.is-horizontal {
+ display: flex; } }
+
+.field-label .label {
+ font-size: inherit; }
+
+@media screen and (max-width: 768px) {
+ .field-label {
+ margin-bottom: 0.5rem; } }
+
+@media screen and (min-width: 769px), print {
+ .field-label {
+ flex-basis: 0;
+ flex-grow: 1;
+ flex-shrink: 0;
+ margin-right: 1.5rem;
+ text-align: right; }
+ .field-label.is-small {
+ font-size: 0.75rem;
+ padding-top: 0.375em; }
+ .field-label.is-normal {
+ padding-top: 0.375em; }
+ .field-label.is-medium {
+ font-size: 1.25rem;
+ padding-top: 0.375em; }
+ .field-label.is-large {
+ font-size: 1.5rem;
+ padding-top: 0.375em; } }
+
+.field-body .field .field {
+ margin-bottom: 0; }
+
+@media screen and (min-width: 769px), print {
+ .field-body {
+ display: flex;
+ flex-basis: 0;
+ flex-grow: 5;
+ flex-shrink: 1; }
+ .field-body .field {
+ margin-bottom: 0; }
+ .field-body > .field {
+ flex-shrink: 1; }
+ .field-body > .field:not(.is-narrow) {
+ flex-grow: 1; }
+ .field-body > .field:not(:last-child) {
+ margin-right: 0.75rem; } }
+
+.control {
+ box-sizing: border-box;
+ clear: both;
+ font-size: 1rem;
+ position: relative;
+ text-align: left; }
+ .control.has-icons-left .input:focus ~ .icon,
+ .control.has-icons-left .select:focus ~ .icon, .control.has-icons-right .input:focus ~ .icon,
+ .control.has-icons-right .select:focus ~ .icon {
+ color: #4a4a4a; }
+ .control.has-icons-left .input.is-small ~ .icon,
+ .control.has-icons-left .select.is-small ~ .icon, .control.has-icons-right .input.is-small ~ .icon,
+ .control.has-icons-right .select.is-small ~ .icon {
+ font-size: 0.75rem; }
+ .control.has-icons-left .input.is-medium ~ .icon,
+ .control.has-icons-left .select.is-medium ~ .icon, .control.has-icons-right .input.is-medium ~ .icon,
+ .control.has-icons-right .select.is-medium ~ .icon {
+ font-size: 1.25rem; }
+ .control.has-icons-left .input.is-large ~ .icon,
+ .control.has-icons-left .select.is-large ~ .icon, .control.has-icons-right .input.is-large ~ .icon,
+ .control.has-icons-right .select.is-large ~ .icon {
+ font-size: 1.5rem; }
+ .control.has-icons-left .icon, .control.has-icons-right .icon {
+ color: #dbdbdb;
+ height: 2.5em;
+ pointer-events: none;
+ position: absolute;
+ top: 0;
+ width: 2.5em;
+ z-index: 4; }
+ .control.has-icons-left .input,
+ .control.has-icons-left .select select {
+ padding-left: 2.5em; }
+ .control.has-icons-left .icon.is-left {
+ left: 0; }
+ .control.has-icons-right .input,
+ .control.has-icons-right .select select {
+ padding-right: 2.5em; }
+ .control.has-icons-right .icon.is-right {
+ right: 0; }
+ .control.is-loading::after {
+ position: absolute !important;
+ right: 0.625em;
+ top: 0.625em;
+ z-index: 4; }
+ .control.is-loading.is-small:after {
+ font-size: 0.75rem; }
+ .control.is-loading.is-medium:after {
+ font-size: 1.25rem; }
+ .control.is-loading.is-large:after {
+ font-size: 1.5rem; }
+
+.title,
+.subtitle {
+ word-break: break-word; }
+ .title em,
+ .title span,
+ .subtitle em,
+ .subtitle span {
+ font-weight: inherit; }
+ .title sub,
+ .subtitle sub {
+ font-size: 0.75em; }
+ .title sup,
+ .subtitle sup {
+ font-size: 0.75em; }
+ .title .tag,
+ .subtitle .tag {
+ vertical-align: middle; }
+
+.title {
+ color: #363636;
+ font-size: 2rem;
+ font-weight: 600;
+ line-height: 1.125; }
+ .title strong {
+ color: inherit;
+ font-weight: inherit; }
+ .title + .highlight {
+ margin-top: -0.75rem; }
+ .title:not(.is-spaced) + .subtitle {
+ margin-top: -1.25rem; }
+ .title.is-1 {
+ font-size: 3rem; }
+ .title.is-2 {
+ font-size: 2.5rem; }
+ .title.is-3 {
+ font-size: 2rem; }
+ .title.is-4 {
+ font-size: 1.5rem; }
+ .title.is-5 {
+ font-size: 1.25rem; }
+ .title.is-6 {
+ font-size: 1rem; }
+ .title.is-7 {
+ font-size: 0.75rem; }
+
+.subtitle {
+ color: #4a4a4a;
+ font-size: 1.25rem;
+ font-weight: 400;
+ line-height: 1.25; }
+ .subtitle strong {
+ color: #363636;
+ font-weight: 600; }
+ .subtitle:not(.is-spaced) + .title {
+ margin-top: -1.25rem; }
+ .subtitle.is-1 {
+ font-size: 3rem; }
+ .subtitle.is-2 {
+ font-size: 2.5rem; }
+ .subtitle.is-3 {
+ font-size: 2rem; }
+ .subtitle.is-4 {
+ font-size: 1.5rem; }
+ .subtitle.is-5 {
+ font-size: 1.25rem; }
+ .subtitle.is-6 {
+ font-size: 1rem; }
+ .subtitle.is-7 {
+ font-size: 0.75rem; }
+
+.content li + li {
+ margin-top: 0.25em; }
+
+.content p:not(:last-child),
+.content dl:not(:last-child),
+.content ol:not(:last-child),
+.content ul:not(:last-child),
+.content blockquote:not(:last-child),
+.content pre:not(:last-child),
+.content table:not(:last-child) {
+ margin-bottom: 1em; }
+
+.content h1,
+.content h2,
+.content h3,
+.content h4,
+.content h5,
+.content h6 {
+ color: #363636;
+ font-weight: 600;
+ line-height: 1.125; }
+
+.content h1 {
+ font-size: 2em;
+ margin-bottom: 0.5em; }
+ .content h1:not(:first-child) {
+ margin-top: 1em; }
+
+.content h2 {
+ font-size: 1.75em;
+ margin-bottom: 0.5714em; }
+ .content h2:not(:first-child) {
+ margin-top: 1.1428em; }
+
+.content h3 {
+ font-size: 1.5em;
+ margin-bottom: 0.6666em; }
+ .content h3:not(:first-child) {
+ margin-top: 1.3333em; }
+
+.content h4 {
+ font-size: 1.25em;
+ margin-bottom: 0.8em; }
+
+.content h5 {
+ font-size: 1.125em;
+ margin-bottom: 0.8888em; }
+
+.content h6 {
+ font-size: 1em;
+ margin-bottom: 1em; }
+
+.content blockquote {
+ background-color: whitesmoke;
+ border-left: 5px solid #dbdbdb;
+ padding: 1.25em 1.5em; }
+
+.content ol {
+ list-style-position: outside;
+ margin-left: 2em;
+ margin-top: 1em; }
+ .content ol:not([type]) {
+ list-style-type: decimal; }
+ .content ol:not([type]).is-lower-alpha {
+ list-style-type: lower-alpha; }
+ .content ol:not([type]).is-lower-roman {
+ list-style-type: lower-roman; }
+ .content ol:not([type]).is-upper-alpha {
+ list-style-type: upper-alpha; }
+ .content ol:not([type]).is-upper-roman {
+ list-style-type: upper-roman; }
+
+.content ul {
+ list-style: disc outside;
+ margin-left: 2em;
+ margin-top: 1em; }
+ .content ul ul {
+ list-style-type: circle;
+ margin-top: 0.5em; }
+ .content ul ul ul {
+ list-style-type: square; }
+
+.content dd {
+ margin-left: 2em; }
+
+.content figure {
+ margin-left: 2em;
+ margin-right: 2em;
+ text-align: center; }
+ .content figure:not(:first-child) {
+ margin-top: 2em; }
+ .content figure:not(:last-child) {
+ margin-bottom: 2em; }
+ .content figure img {
+ display: inline-block; }
+ .content figure figcaption {
+ font-style: italic; }
+
+.content pre {
+ -webkit-overflow-scrolling: touch;
+ overflow-x: auto;
+ padding: 1.25em 1.5em;
+ white-space: pre;
+ word-wrap: normal; }
+
+.content sup,
+.content sub {
+ font-size: 75%; }
+
+.content table {
+ width: 100%; }
+ .content table td,
+ .content table th {
+ border: 1px solid #dbdbdb;
+ border-width: 0 0 1px;
+ padding: 0.5em 0.75em;
+ vertical-align: top; }
+ .content table th {
+ color: #363636; }
+ .content table th:not([align]) {
+ text-align: left; }
+ .content table thead td,
+ .content table thead th {
+ border-width: 0 0 2px;
+ color: #363636; }
+ .content table tfoot td,
+ .content table tfoot th {
+ border-width: 2px 0 0;
+ color: #363636; }
+ .content table tbody tr:last-child td,
+ .content table tbody tr:last-child th {
+ border-bottom-width: 0; }
+
+.content .tabs li + li {
+ margin-top: 0; }
+
+.content.is-small {
+ font-size: 0.75rem; }
+
+.content.is-medium {
+ font-size: 1.25rem; }
+
+.content.is-large {
+ font-size: 1.5rem; }
+
+.button {
+ background-color: white;
+ border-color: #dbdbdb;
+ border-width: 1px;
+ color: #363636;
+ cursor: pointer;
+ justify-content: center;
+ padding-bottom: calc(0.5em - 1px);
+ padding-left: 1em;
+ padding-right: 1em;
+ padding-top: calc(0.5em - 1px);
+ text-align: center;
+ white-space: nowrap; }
+ .button strong {
+ color: inherit; }
+ .button .icon, .button .icon.is-small, .button .icon.is-medium, .button .icon.is-large {
+ height: 1.5em;
+ width: 1.5em; }
+ .button .icon:first-child:not(:last-child) {
+ margin-left: calc(-0.5em - 1px);
+ margin-right: 0.25em; }
+ .button .icon:last-child:not(:first-child) {
+ margin-left: 0.25em;
+ margin-right: calc(-0.5em - 1px); }
+ .button .icon:first-child:last-child {
+ margin-left: calc(-0.5em - 1px);
+ margin-right: calc(-0.5em - 1px); }
+ .button:hover, .button.is-hovered {
+ border-color: #b5b5b5;
+ color: #363636; }
+ .button:focus, .button.is-focused {
+ border-color: #3273dc;
+ color: #363636; }
+ .button:focus:not(:active), .button.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25); }
+ .button:active, .button.is-active {
+ border-color: #4a4a4a;
+ color: #363636; }
+ .button.is-text {
+ background-color: transparent;
+ border-color: transparent;
+ color: #4a4a4a;
+ text-decoration: underline; }
+ .button.is-text:hover, .button.is-text.is-hovered, .button.is-text:focus, .button.is-text.is-focused {
+ background-color: whitesmoke;
+ color: #363636; }
+ .button.is-text:active, .button.is-text.is-active {
+ background-color: #e8e8e8;
+ color: #363636; }
+ .button.is-text[disabled],
+ fieldset[disabled] .button.is-text {
+ background-color: transparent;
+ border-color: transparent;
+ box-shadow: none; }
+ .button.is-white {
+ background-color: white;
+ border-color: transparent;
+ color: #120c13; }
+ .button.is-white:hover, .button.is-white.is-hovered {
+ background-color: #f9f9f9;
+ border-color: transparent;
+ color: #120c13; }
+ .button.is-white:focus, .button.is-white.is-focused {
+ border-color: transparent;
+ color: #120c13; }
+ .button.is-white:focus:not(:active), .button.is-white.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }
+ .button.is-white:active, .button.is-white.is-active {
+ background-color: #f2f2f2;
+ border-color: transparent;
+ color: #120c13; }
+ .button.is-white[disabled],
+ fieldset[disabled] .button.is-white {
+ background-color: white;
+ border-color: transparent;
+ box-shadow: none; }
+ .button.is-white.is-inverted {
+ background-color: #120c13;
+ color: white; }
+ .button.is-white.is-inverted:hover, .button.is-white.is-inverted.is-hovered {
+ background-color: #030203; }
+ .button.is-white.is-inverted[disabled],
+ fieldset[disabled] .button.is-white.is-inverted {
+ background-color: #120c13;
+ border-color: transparent;
+ box-shadow: none;
+ color: white; }
+ .button.is-white.is-loading::after {
+ border-color: transparent transparent #120c13 #120c13 !important; }
+ .button.is-white.is-outlined {
+ background-color: transparent;
+ border-color: white;
+ color: white; }
+ .button.is-white.is-outlined:hover, .button.is-white.is-outlined.is-hovered, .button.is-white.is-outlined:focus, .button.is-white.is-outlined.is-focused {
+ background-color: white;
+ border-color: white;
+ color: #120c13; }
+ .button.is-white.is-outlined.is-loading::after {
+ border-color: transparent transparent white white !important; }
+ .button.is-white.is-outlined.is-loading:hover::after, .button.is-white.is-outlined.is-loading.is-hovered::after, .button.is-white.is-outlined.is-loading:focus::after, .button.is-white.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #120c13 #120c13 !important; }
+ .button.is-white.is-outlined[disabled],
+ fieldset[disabled] .button.is-white.is-outlined {
+ background-color: transparent;
+ border-color: white;
+ box-shadow: none;
+ color: white; }
+ .button.is-white.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #120c13;
+ color: #120c13; }
+ .button.is-white.is-inverted.is-outlined:hover, .button.is-white.is-inverted.is-outlined.is-hovered, .button.is-white.is-inverted.is-outlined:focus, .button.is-white.is-inverted.is-outlined.is-focused {
+ background-color: #120c13;
+ color: white; }
+ .button.is-white.is-inverted.is-outlined.is-loading:hover::after, .button.is-white.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-white.is-inverted.is-outlined.is-loading:focus::after, .button.is-white.is-inverted.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent white white !important; }
+ .button.is-white.is-inverted.is-outlined[disabled],
+ fieldset[disabled] .button.is-white.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #120c13;
+ box-shadow: none;
+ color: #120c13; }
+ .button.is-black {
+ background-color: #120c13;
+ border-color: transparent;
+ color: white; }
+ .button.is-black:hover, .button.is-black.is-hovered {
+ background-color: #0b070b;
+ border-color: transparent;
+ color: white; }
+ .button.is-black:focus, .button.is-black.is-focused {
+ border-color: transparent;
+ color: white; }
+ .button.is-black:focus:not(:active), .button.is-black.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(18, 12, 19, 0.25); }
+ .button.is-black:active, .button.is-black.is-active {
+ background-color: #030203;
+ border-color: transparent;
+ color: white; }
+ .button.is-black[disabled],
+ fieldset[disabled] .button.is-black {
+ background-color: #120c13;
+ border-color: transparent;
+ box-shadow: none; }
+ .button.is-black.is-inverted {
+ background-color: white;
+ color: #120c13; }
+ .button.is-black.is-inverted:hover, .button.is-black.is-inverted.is-hovered {
+ background-color: #f2f2f2; }
+ .button.is-black.is-inverted[disabled],
+ fieldset[disabled] .button.is-black.is-inverted {
+ background-color: white;
+ border-color: transparent;
+ box-shadow: none;
+ color: #120c13; }
+ .button.is-black.is-loading::after {
+ border-color: transparent transparent white white !important; }
+ .button.is-black.is-outlined {
+ background-color: transparent;
+ border-color: #120c13;
+ color: #120c13; }
+ .button.is-black.is-outlined:hover, .button.is-black.is-outlined.is-hovered, .button.is-black.is-outlined:focus, .button.is-black.is-outlined.is-focused {
+ background-color: #120c13;
+ border-color: #120c13;
+ color: white; }
+ .button.is-black.is-outlined.is-loading::after {
+ border-color: transparent transparent #120c13 #120c13 !important; }
+ .button.is-black.is-outlined.is-loading:hover::after, .button.is-black.is-outlined.is-loading.is-hovered::after, .button.is-black.is-outlined.is-loading:focus::after, .button.is-black.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent white white !important; }
+ .button.is-black.is-outlined[disabled],
+ fieldset[disabled] .button.is-black.is-outlined {
+ background-color: transparent;
+ border-color: #120c13;
+ box-shadow: none;
+ color: #120c13; }
+ .button.is-black.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: white;
+ color: white; }
+ .button.is-black.is-inverted.is-outlined:hover, .button.is-black.is-inverted.is-outlined.is-hovered, .button.is-black.is-inverted.is-outlined:focus, .button.is-black.is-inverted.is-outlined.is-focused {
+ background-color: white;
+ color: #120c13; }
+ .button.is-black.is-inverted.is-outlined.is-loading:hover::after, .button.is-black.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-black.is-inverted.is-outlined.is-loading:focus::after, .button.is-black.is-inverted.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #120c13 #120c13 !important; }
+ .button.is-black.is-inverted.is-outlined[disabled],
+ fieldset[disabled] .button.is-black.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: white;
+ box-shadow: none;
+ color: white; }
+ .button.is-light {
+ background-color: whitesmoke;
+ border-color: transparent;
+ color: rgba(0, 0, 0, 0.7); }
+ .button.is-light:hover, .button.is-light.is-hovered {
+ background-color: #eeeeee;
+ border-color: transparent;
+ color: rgba(0, 0, 0, 0.7); }
+ .button.is-light:focus, .button.is-light.is-focused {
+ border-color: transparent;
+ color: rgba(0, 0, 0, 0.7); }
+ .button.is-light:focus:not(:active), .button.is-light.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); }
+ .button.is-light:active, .button.is-light.is-active {
+ background-color: #e8e8e8;
+ border-color: transparent;
+ color: rgba(0, 0, 0, 0.7); }
+ .button.is-light[disabled],
+ fieldset[disabled] .button.is-light {
+ background-color: whitesmoke;
+ border-color: transparent;
+ box-shadow: none; }
+ .button.is-light.is-inverted {
+ background-color: rgba(0, 0, 0, 0.7);
+ color: whitesmoke; }
+ .button.is-light.is-inverted:hover, .button.is-light.is-inverted.is-hovered {
+ background-color: rgba(0, 0, 0, 0.7); }
+ .button.is-light.is-inverted[disabled],
+ fieldset[disabled] .button.is-light.is-inverted {
+ background-color: rgba(0, 0, 0, 0.7);
+ border-color: transparent;
+ box-shadow: none;
+ color: whitesmoke; }
+ .button.is-light.is-loading::after {
+ border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important; }
+ .button.is-light.is-outlined {
+ background-color: transparent;
+ border-color: whitesmoke;
+ color: whitesmoke; }
+ .button.is-light.is-outlined:hover, .button.is-light.is-outlined.is-hovered, .button.is-light.is-outlined:focus, .button.is-light.is-outlined.is-focused {
+ background-color: whitesmoke;
+ border-color: whitesmoke;
+ color: rgba(0, 0, 0, 0.7); }
+ .button.is-light.is-outlined.is-loading::after {
+ border-color: transparent transparent whitesmoke whitesmoke !important; }
+ .button.is-light.is-outlined.is-loading:hover::after, .button.is-light.is-outlined.is-loading.is-hovered::after, .button.is-light.is-outlined.is-loading:focus::after, .button.is-light.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important; }
+ .button.is-light.is-outlined[disabled],
+ fieldset[disabled] .button.is-light.is-outlined {
+ background-color: transparent;
+ border-color: whitesmoke;
+ box-shadow: none;
+ color: whitesmoke; }
+ .button.is-light.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: rgba(0, 0, 0, 0.7);
+ color: rgba(0, 0, 0, 0.7); }
+ .button.is-light.is-inverted.is-outlined:hover, .button.is-light.is-inverted.is-outlined.is-hovered, .button.is-light.is-inverted.is-outlined:focus, .button.is-light.is-inverted.is-outlined.is-focused {
+ background-color: rgba(0, 0, 0, 0.7);
+ color: whitesmoke; }
+ .button.is-light.is-inverted.is-outlined.is-loading:hover::after, .button.is-light.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-light.is-inverted.is-outlined.is-loading:focus::after, .button.is-light.is-inverted.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent whitesmoke whitesmoke !important; }
+ .button.is-light.is-inverted.is-outlined[disabled],
+ fieldset[disabled] .button.is-light.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: rgba(0, 0, 0, 0.7);
+ box-shadow: none;
+ color: rgba(0, 0, 0, 0.7); }
+ .button.is-dark {
+ background-color: #363636;
+ border-color: transparent;
+ color: #fff; }
+ .button.is-dark:hover, .button.is-dark.is-hovered {
+ background-color: #2f2f2f;
+ border-color: transparent;
+ color: #fff; }
+ .button.is-dark:focus, .button.is-dark.is-focused {
+ border-color: transparent;
+ color: #fff; }
+ .button.is-dark:focus:not(:active), .button.is-dark.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); }
+ .button.is-dark:active, .button.is-dark.is-active {
+ background-color: #292929;
+ border-color: transparent;
+ color: #fff; }
+ .button.is-dark[disabled],
+ fieldset[disabled] .button.is-dark {
+ background-color: #363636;
+ border-color: transparent;
+ box-shadow: none; }
+ .button.is-dark.is-inverted {
+ background-color: #fff;
+ color: #363636; }
+ .button.is-dark.is-inverted:hover, .button.is-dark.is-inverted.is-hovered {
+ background-color: #f2f2f2; }
+ .button.is-dark.is-inverted[disabled],
+ fieldset[disabled] .button.is-dark.is-inverted {
+ background-color: #fff;
+ border-color: transparent;
+ box-shadow: none;
+ color: #363636; }
+ .button.is-dark.is-loading::after {
+ border-color: transparent transparent #fff #fff !important; }
+ .button.is-dark.is-outlined {
+ background-color: transparent;
+ border-color: #363636;
+ color: #363636; }
+ .button.is-dark.is-outlined:hover, .button.is-dark.is-outlined.is-hovered, .button.is-dark.is-outlined:focus, .button.is-dark.is-outlined.is-focused {
+ background-color: #363636;
+ border-color: #363636;
+ color: #fff; }
+ .button.is-dark.is-outlined.is-loading::after {
+ border-color: transparent transparent #363636 #363636 !important; }
+ .button.is-dark.is-outlined.is-loading:hover::after, .button.is-dark.is-outlined.is-loading.is-hovered::after, .button.is-dark.is-outlined.is-loading:focus::after, .button.is-dark.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #fff #fff !important; }
+ .button.is-dark.is-outlined[disabled],
+ fieldset[disabled] .button.is-dark.is-outlined {
+ background-color: transparent;
+ border-color: #363636;
+ box-shadow: none;
+ color: #363636; }
+ .button.is-dark.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ color: #fff; }
+ .button.is-dark.is-inverted.is-outlined:hover, .button.is-dark.is-inverted.is-outlined.is-hovered, .button.is-dark.is-inverted.is-outlined:focus, .button.is-dark.is-inverted.is-outlined.is-focused {
+ background-color: #fff;
+ color: #363636; }
+ .button.is-dark.is-inverted.is-outlined.is-loading:hover::after, .button.is-dark.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-dark.is-inverted.is-outlined.is-loading:focus::after, .button.is-dark.is-inverted.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #363636 #363636 !important; }
+ .button.is-dark.is-inverted.is-outlined[disabled],
+ fieldset[disabled] .button.is-dark.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ box-shadow: none;
+ color: #fff; }
+ .button.is-primary {
+ background-color: #00d1b2;
+ border-color: transparent;
+ color: #fff; }
+ .button.is-primary:hover, .button.is-primary.is-hovered {
+ background-color: #00c4a7;
+ border-color: transparent;
+ color: #fff; }
+ .button.is-primary:focus, .button.is-primary.is-focused {
+ border-color: transparent;
+ color: #fff; }
+ .button.is-primary:focus:not(:active), .button.is-primary.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(0, 209, 178, 0.25); }
+ .button.is-primary:active, .button.is-primary.is-active {
+ background-color: #00b89c;
+ border-color: transparent;
+ color: #fff; }
+ .button.is-primary[disabled],
+ fieldset[disabled] .button.is-primary {
+ background-color: #00d1b2;
+ border-color: transparent;
+ box-shadow: none; }
+ .button.is-primary.is-inverted {
+ background-color: #fff;
+ color: #00d1b2; }
+ .button.is-primary.is-inverted:hover, .button.is-primary.is-inverted.is-hovered {
+ background-color: #f2f2f2; }
+ .button.is-primary.is-inverted[disabled],
+ fieldset[disabled] .button.is-primary.is-inverted {
+ background-color: #fff;
+ border-color: transparent;
+ box-shadow: none;
+ color: #00d1b2; }
+ .button.is-primary.is-loading::after {
+ border-color: transparent transparent #fff #fff !important; }
+ .button.is-primary.is-outlined {
+ background-color: transparent;
+ border-color: #00d1b2;
+ color: #00d1b2; }
+ .button.is-primary.is-outlined:hover, .button.is-primary.is-outlined.is-hovered, .button.is-primary.is-outlined:focus, .button.is-primary.is-outlined.is-focused {
+ background-color: #00d1b2;
+ border-color: #00d1b2;
+ color: #fff; }
+ .button.is-primary.is-outlined.is-loading::after {
+ border-color: transparent transparent #00d1b2 #00d1b2 !important; }
+ .button.is-primary.is-outlined.is-loading:hover::after, .button.is-primary.is-outlined.is-loading.is-hovered::after, .button.is-primary.is-outlined.is-loading:focus::after, .button.is-primary.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #fff #fff !important; }
+ .button.is-primary.is-outlined[disabled],
+ fieldset[disabled] .button.is-primary.is-outlined {
+ background-color: transparent;
+ border-color: #00d1b2;
+ box-shadow: none;
+ color: #00d1b2; }
+ .button.is-primary.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ color: #fff; }
+ .button.is-primary.is-inverted.is-outlined:hover, .button.is-primary.is-inverted.is-outlined.is-hovered, .button.is-primary.is-inverted.is-outlined:focus, .button.is-primary.is-inverted.is-outlined.is-focused {
+ background-color: #fff;
+ color: #00d1b2; }
+ .button.is-primary.is-inverted.is-outlined.is-loading:hover::after, .button.is-primary.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-primary.is-inverted.is-outlined.is-loading:focus::after, .button.is-primary.is-inverted.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #00d1b2 #00d1b2 !important; }
+ .button.is-primary.is-inverted.is-outlined[disabled],
+ fieldset[disabled] .button.is-primary.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ box-shadow: none;
+ color: #fff; }
+ .button.is-primary.is-light {
+ background-color: #ebfffc;
+ color: #00947e; }
+ .button.is-primary.is-light:hover, .button.is-primary.is-light.is-hovered {
+ background-color: #defffa;
+ border-color: transparent;
+ color: #00947e; }
+ .button.is-primary.is-light:active, .button.is-primary.is-light.is-active {
+ background-color: #d1fff8;
+ border-color: transparent;
+ color: #00947e; }
+ .button.is-link {
+ background-color: #3273dc;
+ border-color: transparent;
+ color: #fff; }
+ .button.is-link:hover, .button.is-link.is-hovered {
+ background-color: #276cda;
+ border-color: transparent;
+ color: #fff; }
+ .button.is-link:focus, .button.is-link.is-focused {
+ border-color: transparent;
+ color: #fff; }
+ .button.is-link:focus:not(:active), .button.is-link.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25); }
+ .button.is-link:active, .button.is-link.is-active {
+ background-color: #2366d1;
+ border-color: transparent;
+ color: #fff; }
+ .button.is-link[disabled],
+ fieldset[disabled] .button.is-link {
+ background-color: #3273dc;
+ border-color: transparent;
+ box-shadow: none; }
+ .button.is-link.is-inverted {
+ background-color: #fff;
+ color: #3273dc; }
+ .button.is-link.is-inverted:hover, .button.is-link.is-inverted.is-hovered {
+ background-color: #f2f2f2; }
+ .button.is-link.is-inverted[disabled],
+ fieldset[disabled] .button.is-link.is-inverted {
+ background-color: #fff;
+ border-color: transparent;
+ box-shadow: none;
+ color: #3273dc; }
+ .button.is-link.is-loading::after {
+ border-color: transparent transparent #fff #fff !important; }
+ .button.is-link.is-outlined {
+ background-color: transparent;
+ border-color: #3273dc;
+ color: #3273dc; }
+ .button.is-link.is-outlined:hover, .button.is-link.is-outlined.is-hovered, .button.is-link.is-outlined:focus, .button.is-link.is-outlined.is-focused {
+ background-color: #3273dc;
+ border-color: #3273dc;
+ color: #fff; }
+ .button.is-link.is-outlined.is-loading::after {
+ border-color: transparent transparent #3273dc #3273dc !important; }
+ .button.is-link.is-outlined.is-loading:hover::after, .button.is-link.is-outlined.is-loading.is-hovered::after, .button.is-link.is-outlined.is-loading:focus::after, .button.is-link.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #fff #fff !important; }
+ .button.is-link.is-outlined[disabled],
+ fieldset[disabled] .button.is-link.is-outlined {
+ background-color: transparent;
+ border-color: #3273dc;
+ box-shadow: none;
+ color: #3273dc; }
+ .button.is-link.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ color: #fff; }
+ .button.is-link.is-inverted.is-outlined:hover, .button.is-link.is-inverted.is-outlined.is-hovered, .button.is-link.is-inverted.is-outlined:focus, .button.is-link.is-inverted.is-outlined.is-focused {
+ background-color: #fff;
+ color: #3273dc; }
+ .button.is-link.is-inverted.is-outlined.is-loading:hover::after, .button.is-link.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-link.is-inverted.is-outlined.is-loading:focus::after, .button.is-link.is-inverted.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #3273dc #3273dc !important; }
+ .button.is-link.is-inverted.is-outlined[disabled],
+ fieldset[disabled] .button.is-link.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ box-shadow: none;
+ color: #fff; }
+ .button.is-link.is-light {
+ background-color: #eef3fc;
+ color: #2160c4; }
+ .button.is-link.is-light:hover, .button.is-link.is-light.is-hovered {
+ background-color: #e3ecfa;
+ border-color: transparent;
+ color: #2160c4; }
+ .button.is-link.is-light:active, .button.is-link.is-light.is-active {
+ background-color: #d8e4f8;
+ border-color: transparent;
+ color: #2160c4; }
+ .button.is-info {
+ background-color: #3298dc;
+ border-color: transparent;
+ color: #fff; }
+ .button.is-info:hover, .button.is-info.is-hovered {
+ background-color: #2793da;
+ border-color: transparent;
+ color: #fff; }
+ .button.is-info:focus, .button.is-info.is-focused {
+ border-color: transparent;
+ color: #fff; }
+ .button.is-info:focus:not(:active), .button.is-info.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(50, 152, 220, 0.25); }
+ .button.is-info:active, .button.is-info.is-active {
+ background-color: #238cd1;
+ border-color: transparent;
+ color: #fff; }
+ .button.is-info[disabled],
+ fieldset[disabled] .button.is-info {
+ background-color: #3298dc;
+ border-color: transparent;
+ box-shadow: none; }
+ .button.is-info.is-inverted {
+ background-color: #fff;
+ color: #3298dc; }
+ .button.is-info.is-inverted:hover, .button.is-info.is-inverted.is-hovered {
+ background-color: #f2f2f2; }
+ .button.is-info.is-inverted[disabled],
+ fieldset[disabled] .button.is-info.is-inverted {
+ background-color: #fff;
+ border-color: transparent;
+ box-shadow: none;
+ color: #3298dc; }
+ .button.is-info.is-loading::after {
+ border-color: transparent transparent #fff #fff !important; }
+ .button.is-info.is-outlined {
+ background-color: transparent;
+ border-color: #3298dc;
+ color: #3298dc; }
+ .button.is-info.is-outlined:hover, .button.is-info.is-outlined.is-hovered, .button.is-info.is-outlined:focus, .button.is-info.is-outlined.is-focused {
+ background-color: #3298dc;
+ border-color: #3298dc;
+ color: #fff; }
+ .button.is-info.is-outlined.is-loading::after {
+ border-color: transparent transparent #3298dc #3298dc !important; }
+ .button.is-info.is-outlined.is-loading:hover::after, .button.is-info.is-outlined.is-loading.is-hovered::after, .button.is-info.is-outlined.is-loading:focus::after, .button.is-info.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #fff #fff !important; }
+ .button.is-info.is-outlined[disabled],
+ fieldset[disabled] .button.is-info.is-outlined {
+ background-color: transparent;
+ border-color: #3298dc;
+ box-shadow: none;
+ color: #3298dc; }
+ .button.is-info.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ color: #fff; }
+ .button.is-info.is-inverted.is-outlined:hover, .button.is-info.is-inverted.is-outlined.is-hovered, .button.is-info.is-inverted.is-outlined:focus, .button.is-info.is-inverted.is-outlined.is-focused {
+ background-color: #fff;
+ color: #3298dc; }
+ .button.is-info.is-inverted.is-outlined.is-loading:hover::after, .button.is-info.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-info.is-inverted.is-outlined.is-loading:focus::after, .button.is-info.is-inverted.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #3298dc #3298dc !important; }
+ .button.is-info.is-inverted.is-outlined[disabled],
+ fieldset[disabled] .button.is-info.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ box-shadow: none;
+ color: #fff; }
+ .button.is-info.is-light {
+ background-color: #eef6fc;
+ color: #1d72aa; }
+ .button.is-info.is-light:hover, .button.is-info.is-light.is-hovered {
+ background-color: #e3f1fa;
+ border-color: transparent;
+ color: #1d72aa; }
+ .button.is-info.is-light:active, .button.is-info.is-light.is-active {
+ background-color: #d8ebf8;
+ border-color: transparent;
+ color: #1d72aa; }
+ .button.is-success {
+ background-color: #48c774;
+ border-color: transparent;
+ color: #fff; }
+ .button.is-success:hover, .button.is-success.is-hovered {
+ background-color: #3ec46d;
+ border-color: transparent;
+ color: #fff; }
+ .button.is-success:focus, .button.is-success.is-focused {
+ border-color: transparent;
+ color: #fff; }
+ .button.is-success:focus:not(:active), .button.is-success.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(72, 199, 116, 0.25); }
+ .button.is-success:active, .button.is-success.is-active {
+ background-color: #3abb67;
+ border-color: transparent;
+ color: #fff; }
+ .button.is-success[disabled],
+ fieldset[disabled] .button.is-success {
+ background-color: #48c774;
+ border-color: transparent;
+ box-shadow: none; }
+ .button.is-success.is-inverted {
+ background-color: #fff;
+ color: #48c774; }
+ .button.is-success.is-inverted:hover, .button.is-success.is-inverted.is-hovered {
+ background-color: #f2f2f2; }
+ .button.is-success.is-inverted[disabled],
+ fieldset[disabled] .button.is-success.is-inverted {
+ background-color: #fff;
+ border-color: transparent;
+ box-shadow: none;
+ color: #48c774; }
+ .button.is-success.is-loading::after {
+ border-color: transparent transparent #fff #fff !important; }
+ .button.is-success.is-outlined {
+ background-color: transparent;
+ border-color: #48c774;
+ color: #48c774; }
+ .button.is-success.is-outlined:hover, .button.is-success.is-outlined.is-hovered, .button.is-success.is-outlined:focus, .button.is-success.is-outlined.is-focused {
+ background-color: #48c774;
+ border-color: #48c774;
+ color: #fff; }
+ .button.is-success.is-outlined.is-loading::after {
+ border-color: transparent transparent #48c774 #48c774 !important; }
+ .button.is-success.is-outlined.is-loading:hover::after, .button.is-success.is-outlined.is-loading.is-hovered::after, .button.is-success.is-outlined.is-loading:focus::after, .button.is-success.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #fff #fff !important; }
+ .button.is-success.is-outlined[disabled],
+ fieldset[disabled] .button.is-success.is-outlined {
+ background-color: transparent;
+ border-color: #48c774;
+ box-shadow: none;
+ color: #48c774; }
+ .button.is-success.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ color: #fff; }
+ .button.is-success.is-inverted.is-outlined:hover, .button.is-success.is-inverted.is-outlined.is-hovered, .button.is-success.is-inverted.is-outlined:focus, .button.is-success.is-inverted.is-outlined.is-focused {
+ background-color: #fff;
+ color: #48c774; }
+ .button.is-success.is-inverted.is-outlined.is-loading:hover::after, .button.is-success.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-success.is-inverted.is-outlined.is-loading:focus::after, .button.is-success.is-inverted.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #48c774 #48c774 !important; }
+ .button.is-success.is-inverted.is-outlined[disabled],
+ fieldset[disabled] .button.is-success.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ box-shadow: none;
+ color: #fff; }
+ .button.is-success.is-light {
+ background-color: #effaf3;
+ color: #257942; }
+ .button.is-success.is-light:hover, .button.is-success.is-light.is-hovered {
+ background-color: #e6f7ec;
+ border-color: transparent;
+ color: #257942; }
+ .button.is-success.is-light:active, .button.is-success.is-light.is-active {
+ background-color: #dcf4e4;
+ border-color: transparent;
+ color: #257942; }
+ .button.is-warning {
+ background-color: #ffdd57;
+ border-color: transparent;
+ color: rgba(0, 0, 0, 0.7); }
+ .button.is-warning:hover, .button.is-warning.is-hovered {
+ background-color: #ffdb4a;
+ border-color: transparent;
+ color: rgba(0, 0, 0, 0.7); }
+ .button.is-warning:focus, .button.is-warning.is-focused {
+ border-color: transparent;
+ color: rgba(0, 0, 0, 0.7); }
+ .button.is-warning:focus:not(:active), .button.is-warning.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); }
+ .button.is-warning:active, .button.is-warning.is-active {
+ background-color: #ffd83d;
+ border-color: transparent;
+ color: rgba(0, 0, 0, 0.7); }
+ .button.is-warning[disabled],
+ fieldset[disabled] .button.is-warning {
+ background-color: #ffdd57;
+ border-color: transparent;
+ box-shadow: none; }
+ .button.is-warning.is-inverted {
+ background-color: rgba(0, 0, 0, 0.7);
+ color: #ffdd57; }
+ .button.is-warning.is-inverted:hover, .button.is-warning.is-inverted.is-hovered {
+ background-color: rgba(0, 0, 0, 0.7); }
+ .button.is-warning.is-inverted[disabled],
+ fieldset[disabled] .button.is-warning.is-inverted {
+ background-color: rgba(0, 0, 0, 0.7);
+ border-color: transparent;
+ box-shadow: none;
+ color: #ffdd57; }
+ .button.is-warning.is-loading::after {
+ border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important; }
+ .button.is-warning.is-outlined {
+ background-color: transparent;
+ border-color: #ffdd57;
+ color: #ffdd57; }
+ .button.is-warning.is-outlined:hover, .button.is-warning.is-outlined.is-hovered, .button.is-warning.is-outlined:focus, .button.is-warning.is-outlined.is-focused {
+ background-color: #ffdd57;
+ border-color: #ffdd57;
+ color: rgba(0, 0, 0, 0.7); }
+ .button.is-warning.is-outlined.is-loading::after {
+ border-color: transparent transparent #ffdd57 #ffdd57 !important; }
+ .button.is-warning.is-outlined.is-loading:hover::after, .button.is-warning.is-outlined.is-loading.is-hovered::after, .button.is-warning.is-outlined.is-loading:focus::after, .button.is-warning.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important; }
+ .button.is-warning.is-outlined[disabled],
+ fieldset[disabled] .button.is-warning.is-outlined {
+ background-color: transparent;
+ border-color: #ffdd57;
+ box-shadow: none;
+ color: #ffdd57; }
+ .button.is-warning.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: rgba(0, 0, 0, 0.7);
+ color: rgba(0, 0, 0, 0.7); }
+ .button.is-warning.is-inverted.is-outlined:hover, .button.is-warning.is-inverted.is-outlined.is-hovered, .button.is-warning.is-inverted.is-outlined:focus, .button.is-warning.is-inverted.is-outlined.is-focused {
+ background-color: rgba(0, 0, 0, 0.7);
+ color: #ffdd57; }
+ .button.is-warning.is-inverted.is-outlined.is-loading:hover::after, .button.is-warning.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-warning.is-inverted.is-outlined.is-loading:focus::after, .button.is-warning.is-inverted.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #ffdd57 #ffdd57 !important; }
+ .button.is-warning.is-inverted.is-outlined[disabled],
+ fieldset[disabled] .button.is-warning.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: rgba(0, 0, 0, 0.7);
+ box-shadow: none;
+ color: rgba(0, 0, 0, 0.7); }
+ .button.is-warning.is-light {
+ background-color: #fffbeb;
+ color: #947600; }
+ .button.is-warning.is-light:hover, .button.is-warning.is-light.is-hovered {
+ background-color: #fff8de;
+ border-color: transparent;
+ color: #947600; }
+ .button.is-warning.is-light:active, .button.is-warning.is-light.is-active {
+ background-color: #fff6d1;
+ border-color: transparent;
+ color: #947600; }
+ .button.is-danger {
+ background-color: #f14668;
+ border-color: transparent;
+ color: #fff; }
+ .button.is-danger:hover, .button.is-danger.is-hovered {
+ background-color: #f03a5f;
+ border-color: transparent;
+ color: #fff; }
+ .button.is-danger:focus, .button.is-danger.is-focused {
+ border-color: transparent;
+ color: #fff; }
+ .button.is-danger:focus:not(:active), .button.is-danger.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(241, 70, 104, 0.25); }
+ .button.is-danger:active, .button.is-danger.is-active {
+ background-color: #ef2e55;
+ border-color: transparent;
+ color: #fff; }
+ .button.is-danger[disabled],
+ fieldset[disabled] .button.is-danger {
+ background-color: #f14668;
+ border-color: transparent;
+ box-shadow: none; }
+ .button.is-danger.is-inverted {
+ background-color: #fff;
+ color: #f14668; }
+ .button.is-danger.is-inverted:hover, .button.is-danger.is-inverted.is-hovered {
+ background-color: #f2f2f2; }
+ .button.is-danger.is-inverted[disabled],
+ fieldset[disabled] .button.is-danger.is-inverted {
+ background-color: #fff;
+ border-color: transparent;
+ box-shadow: none;
+ color: #f14668; }
+ .button.is-danger.is-loading::after {
+ border-color: transparent transparent #fff #fff !important; }
+ .button.is-danger.is-outlined {
+ background-color: transparent;
+ border-color: #f14668;
+ color: #f14668; }
+ .button.is-danger.is-outlined:hover, .button.is-danger.is-outlined.is-hovered, .button.is-danger.is-outlined:focus, .button.is-danger.is-outlined.is-focused {
+ background-color: #f14668;
+ border-color: #f14668;
+ color: #fff; }
+ .button.is-danger.is-outlined.is-loading::after {
+ border-color: transparent transparent #f14668 #f14668 !important; }
+ .button.is-danger.is-outlined.is-loading:hover::after, .button.is-danger.is-outlined.is-loading.is-hovered::after, .button.is-danger.is-outlined.is-loading:focus::after, .button.is-danger.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #fff #fff !important; }
+ .button.is-danger.is-outlined[disabled],
+ fieldset[disabled] .button.is-danger.is-outlined {
+ background-color: transparent;
+ border-color: #f14668;
+ box-shadow: none;
+ color: #f14668; }
+ .button.is-danger.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ color: #fff; }
+ .button.is-danger.is-inverted.is-outlined:hover, .button.is-danger.is-inverted.is-outlined.is-hovered, .button.is-danger.is-inverted.is-outlined:focus, .button.is-danger.is-inverted.is-outlined.is-focused {
+ background-color: #fff;
+ color: #f14668; }
+ .button.is-danger.is-inverted.is-outlined.is-loading:hover::after, .button.is-danger.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-danger.is-inverted.is-outlined.is-loading:focus::after, .button.is-danger.is-inverted.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #f14668 #f14668 !important; }
+ .button.is-danger.is-inverted.is-outlined[disabled],
+ fieldset[disabled] .button.is-danger.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ box-shadow: none;
+ color: #fff; }
+ .button.is-danger.is-light {
+ background-color: #feecf0;
+ color: #cc0f35; }
+ .button.is-danger.is-light:hover, .button.is-danger.is-light.is-hovered {
+ background-color: #fde0e6;
+ border-color: transparent;
+ color: #cc0f35; }
+ .button.is-danger.is-light:active, .button.is-danger.is-light.is-active {
+ background-color: #fcd4dc;
+ border-color: transparent;
+ color: #cc0f35; }
+ .button.is-small {
+ border-radius: 2px;
+ font-size: 0.75rem; }
+ .button.is-normal {
+ font-size: 1rem; }
+ .button.is-medium {
+ font-size: 1.25rem; }
+ .button.is-large {
+ font-size: 1.5rem; }
+ .button[disabled],
+ fieldset[disabled] .button {
+ background-color: white;
+ border-color: #dbdbdb;
+ box-shadow: none;
+ opacity: 0.5; }
+ .button.is-fullwidth {
+ display: flex;
+ width: 100%; }
+ .button.is-loading {
+ color: transparent !important;
+ pointer-events: none; }
+ .button.is-loading::after {
+ position: absolute;
+ left: calc(50% - (1em / 2));
+ top: calc(50% - (1em / 2));
+ position: absolute !important; }
+ .button.is-static {
+ background-color: whitesmoke;
+ border-color: #dbdbdb;
+ color: #7a7a7a;
+ box-shadow: none;
+ pointer-events: none; }
+ .button.is-rounded {
+ border-radius: 290486px;
+ padding-left: calc(1em + 0.25em);
+ padding-right: calc(1em + 0.25em); }
+
+.buttons {
+ align-items: center;
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: flex-start; }
+ .buttons .button {
+ margin-bottom: 0.5rem; }
+ .buttons .button:not(:last-child):not(.is-fullwidth) {
+ margin-right: 0.5rem; }
+ .buttons:last-child {
+ margin-bottom: -0.5rem; }
+ .buttons:not(:last-child) {
+ margin-bottom: 1rem; }
+ .buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large) {
+ border-radius: 2px;
+ font-size: 0.75rem; }
+ .buttons.are-medium .button:not(.is-small):not(.is-normal):not(.is-large) {
+ font-size: 1.25rem; }
+ .buttons.are-large .button:not(.is-small):not(.is-normal):not(.is-medium) {
+ font-size: 1.5rem; }
+ .buttons.has-addons .button:not(:first-child) {
+ border-bottom-left-radius: 0;
+ border-top-left-radius: 0; }
+ .buttons.has-addons .button:not(:last-child) {
+ border-bottom-right-radius: 0;
+ border-top-right-radius: 0;
+ margin-right: -1px; }
+ .buttons.has-addons .button:last-child {
+ margin-right: 0; }
+ .buttons.has-addons .button:hover, .buttons.has-addons .button.is-hovered {
+ z-index: 2; }
+ .buttons.has-addons .button:focus, .buttons.has-addons .button.is-focused, .buttons.has-addons .button:active, .buttons.has-addons .button.is-active, .buttons.has-addons .button.is-selected {
+ z-index: 3; }
+ .buttons.has-addons .button:focus:hover, .buttons.has-addons .button.is-focused:hover, .buttons.has-addons .button:active:hover, .buttons.has-addons .button.is-active:hover, .buttons.has-addons .button.is-selected:hover {
+ z-index: 4; }
+ .buttons.has-addons .button.is-expanded {
+ flex-grow: 1;
+ flex-shrink: 1; }
+ .buttons.is-centered {
+ justify-content: center; }
+ .buttons.is-centered:not(.has-addons) .button:not(.is-fullwidth) {
+ margin-left: 0.25rem;
+ margin-right: 0.25rem; }
+ .buttons.is-right {
+ justify-content: flex-end; }
+ .buttons.is-right:not(.has-addons) .button:not(.is-fullwidth) {
+ margin-left: 0.25rem;
+ margin-right: 0.25rem; }
+
+.table {
+ background-color: white;
+ color: #363636; }
+ .table td,
+ .table th {
+ border: 1px solid #dbdbdb;
+ border-width: 0 0 1px;
+ padding: 0.5em 0.75em;
+ vertical-align: top; }
+ .table td.is-white,
+ .table th.is-white {
+ background-color: white;
+ border-color: white;
+ color: #120c13; }
+ .table td.is-black,
+ .table th.is-black {
+ background-color: #120c13;
+ border-color: #120c13;
+ color: white; }
+ .table td.is-light,
+ .table th.is-light {
+ background-color: whitesmoke;
+ border-color: whitesmoke;
+ color: rgba(0, 0, 0, 0.7); }
+ .table td.is-dark,
+ .table th.is-dark {
+ background-color: #363636;
+ border-color: #363636;
+ color: #fff; }
+ .table td.is-primary,
+ .table th.is-primary {
+ background-color: #00d1b2;
+ border-color: #00d1b2;
+ color: #fff; }
+ .table td.is-link,
+ .table th.is-link {
+ background-color: #3273dc;
+ border-color: #3273dc;
+ color: #fff; }
+ .table td.is-info,
+ .table th.is-info {
+ background-color: #3298dc;
+ border-color: #3298dc;
+ color: #fff; }
+ .table td.is-success,
+ .table th.is-success {
+ background-color: #48c774;
+ border-color: #48c774;
+ color: #fff; }
+ .table td.is-warning,
+ .table th.is-warning {
+ background-color: #ffdd57;
+ border-color: #ffdd57;
+ color: rgba(0, 0, 0, 0.7); }
+ .table td.is-danger,
+ .table th.is-danger {
+ background-color: #f14668;
+ border-color: #f14668;
+ color: #fff; }
+ .table td.is-narrow,
+ .table th.is-narrow {
+ white-space: nowrap;
+ width: 1%; }
+ .table td.is-selected,
+ .table th.is-selected {
+ background-color: #00d1b2;
+ color: #fff; }
+ .table td.is-selected a,
+ .table td.is-selected strong,
+ .table th.is-selected a,
+ .table th.is-selected strong {
+ color: currentColor; }
+ .table th {
+ color: #363636; }
+ .table th:not([align]) {
+ text-align: left; }
+ .table tr.is-selected {
+ background-color: #00d1b2;
+ color: #fff; }
+ .table tr.is-selected a,
+ .table tr.is-selected strong {
+ color: currentColor; }
+ .table tr.is-selected td,
+ .table tr.is-selected th {
+ border-color: #fff;
+ color: currentColor; }
+ .table thead {
+ background-color: transparent; }
+ .table thead td,
+ .table thead th {
+ border-width: 0 0 2px;
+ color: #363636; }
+ .table tfoot {
+ background-color: transparent; }
+ .table tfoot td,
+ .table tfoot th {
+ border-width: 2px 0 0;
+ color: #363636; }
+ .table tbody {
+ background-color: transparent; }
+ .table tbody tr:last-child td,
+ .table tbody tr:last-child th {
+ border-bottom-width: 0; }
+ .table.is-bordered td,
+ .table.is-bordered th {
+ border-width: 1px; }
+ .table.is-bordered tr:last-child td,
+ .table.is-bordered tr:last-child th {
+ border-bottom-width: 1px; }
+ .table.is-fullwidth {
+ width: 100%; }
+ .table.is-hoverable tbody tr:not(.is-selected):hover {
+ background-color: #fafafa; }
+ .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover {
+ background-color: #fafafa; }
+ .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(even) {
+ background-color: whitesmoke; }
+ .table.is-narrow td,
+ .table.is-narrow th {
+ padding: 0.25em 0.5em; }
+ .table.is-striped tbody tr:not(.is-selected):nth-child(even) {
+ background-color: #fafafa; }
+
+.table-container {
+ -webkit-overflow-scrolling: touch;
+ overflow: auto;
+ overflow-y: hidden;
+ max-width: 100%; }
+
+.notification {
+ background-color: whitesmoke;
+ border-radius: 4px;
+ padding: 1.25rem 2.5rem 1.25rem 1.5rem;
+ position: relative; }
+ .notification a:not(.button):not(.dropdown-item) {
+ color: currentColor;
+ text-decoration: underline; }
+ .notification strong {
+ color: currentColor; }
+ .notification code,
+ .notification pre {
+ background: white; }
+ .notification pre code {
+ background: transparent; }
+ .notification > .delete {
+ position: absolute;
+ right: 0.5rem;
+ top: 0.5rem; }
+ .notification .title,
+ .notification .subtitle,
+ .notification .content {
+ color: currentColor; }
+ .notification.is-white {
+ background-color: white;
+ color: #120c13; }
+ .notification.is-black {
+ background-color: #120c13;
+ color: white; }
+ .notification.is-light {
+ background-color: whitesmoke;
+ color: rgba(0, 0, 0, 0.7); }
+ .notification.is-dark {
+ background-color: #363636;
+ color: #fff; }
+ .notification.is-primary {
+ background-color: #00d1b2;
+ color: #fff; }
+ .notification.is-link {
+ background-color: #3273dc;
+ color: #fff; }
+ .notification.is-info {
+ background-color: #3298dc;
+ color: #fff; }
+ .notification.is-success {
+ background-color: #48c774;
+ color: #fff; }
+ .notification.is-warning {
+ background-color: #ffdd57;
+ color: rgba(0, 0, 0, 0.7); }
+ .notification.is-danger {
+ background-color: #f14668;
+ color: #fff; }
+
+.input, .textarea, .select select {
+ background-color: white;
+ border-color: #dbdbdb;
+ border-radius: 4px;
+ color: #363636; }
+ .input::-moz-placeholder, .textarea::-moz-placeholder, .select select::-moz-placeholder {
+ color: rgba(54, 54, 54, 0.3); }
+ .input::-webkit-input-placeholder, .textarea::-webkit-input-placeholder, .select select::-webkit-input-placeholder {
+ color: rgba(54, 54, 54, 0.3); }
+ .input:-moz-placeholder, .textarea:-moz-placeholder, .select select:-moz-placeholder {
+ color: rgba(54, 54, 54, 0.3); }
+ .input:-ms-input-placeholder, .textarea:-ms-input-placeholder, .select select:-ms-input-placeholder {
+ color: rgba(54, 54, 54, 0.3); }
+ .input:hover, .textarea:hover, .select select:hover, .is-hovered.input, .is-hovered.textarea, .select select.is-hovered {
+ border-color: #b5b5b5; }
+ .input:focus, .textarea:focus, .select select:focus, .is-focused.input, .is-focused.textarea, .select select.is-focused, .input:active, .textarea:active, .select select:active, .is-active.input, .is-active.textarea, .select select.is-active {
+ border-color: #3273dc;
+ box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25); }
+ .input[disabled], .textarea[disabled], .select select[disabled],
+ fieldset[disabled] .input,
+ fieldset[disabled] .textarea,
+ fieldset[disabled] .select select,
+ .select fieldset[disabled] select {
+ background-color: whitesmoke;
+ border-color: whitesmoke;
+ box-shadow: none;
+ color: #7a7a7a; }
+ .input[disabled]::-moz-placeholder, .textarea[disabled]::-moz-placeholder, .select select[disabled]::-moz-placeholder,
+ fieldset[disabled] .input::-moz-placeholder,
+ fieldset[disabled] .textarea::-moz-placeholder,
+ fieldset[disabled] .select select::-moz-placeholder,
+ .select fieldset[disabled] select::-moz-placeholder {
+ color: rgba(122, 122, 122, 0.3); }
+ .input[disabled]::-webkit-input-placeholder, .textarea[disabled]::-webkit-input-placeholder, .select select[disabled]::-webkit-input-placeholder,
+ fieldset[disabled] .input::-webkit-input-placeholder,
+ fieldset[disabled] .textarea::-webkit-input-placeholder,
+ fieldset[disabled] .select select::-webkit-input-placeholder,
+ .select fieldset[disabled] select::-webkit-input-placeholder {
+ color: rgba(122, 122, 122, 0.3); }
+ .input[disabled]:-moz-placeholder, .textarea[disabled]:-moz-placeholder, .select select[disabled]:-moz-placeholder,
+ fieldset[disabled] .input:-moz-placeholder,
+ fieldset[disabled] .textarea:-moz-placeholder,
+ fieldset[disabled] .select select:-moz-placeholder,
+ .select fieldset[disabled] select:-moz-placeholder {
+ color: rgba(122, 122, 122, 0.3); }
+ .input[disabled]:-ms-input-placeholder, .textarea[disabled]:-ms-input-placeholder, .select select[disabled]:-ms-input-placeholder,
+ fieldset[disabled] .input:-ms-input-placeholder,
+ fieldset[disabled] .textarea:-ms-input-placeholder,
+ fieldset[disabled] .select select:-ms-input-placeholder,
+ .select fieldset[disabled] select:-ms-input-placeholder {
+ color: rgba(122, 122, 122, 0.3); }
+
+.input, .textarea {
+ box-shadow: inset 0 0.0625em 0.125em rgba(18, 12, 19, 0.05);
+ max-width: 100%;
+ width: 100%; }
+ .input[readonly], .textarea[readonly] {
+ box-shadow: none; }
+ .is-white.input, .is-white.textarea {
+ border-color: white; }
+ .is-white.input:focus, .is-white.textarea:focus, .is-white.is-focused.input, .is-white.is-focused.textarea, .is-white.input:active, .is-white.textarea:active, .is-white.is-active.input, .is-white.is-active.textarea {
+ box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }
+ .is-black.input, .is-black.textarea {
+ border-color: #120c13; }
+ .is-black.input:focus, .is-black.textarea:focus, .is-black.is-focused.input, .is-black.is-focused.textarea, .is-black.input:active, .is-black.textarea:active, .is-black.is-active.input, .is-black.is-active.textarea {
+ box-shadow: 0 0 0 0.125em rgba(18, 12, 19, 0.25); }
+ .is-light.input, .is-light.textarea {
+ border-color: whitesmoke; }
+ .is-light.input:focus, .is-light.textarea:focus, .is-light.is-focused.input, .is-light.is-focused.textarea, .is-light.input:active, .is-light.textarea:active, .is-light.is-active.input, .is-light.is-active.textarea {
+ box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); }
+ .is-dark.input, .is-dark.textarea {
+ border-color: #363636; }
+ .is-dark.input:focus, .is-dark.textarea:focus, .is-dark.is-focused.input, .is-dark.is-focused.textarea, .is-dark.input:active, .is-dark.textarea:active, .is-dark.is-active.input, .is-dark.is-active.textarea {
+ box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); }
+ .is-primary.input, .is-primary.textarea {
+ border-color: #00d1b2; }
+ .is-primary.input:focus, .is-primary.textarea:focus, .is-primary.is-focused.input, .is-primary.is-focused.textarea, .is-primary.input:active, .is-primary.textarea:active, .is-primary.is-active.input, .is-primary.is-active.textarea {
+ box-shadow: 0 0 0 0.125em rgba(0, 209, 178, 0.25); }
+ .is-link.input, .is-link.textarea {
+ border-color: #3273dc; }
+ .is-link.input:focus, .is-link.textarea:focus, .is-link.is-focused.input, .is-link.is-focused.textarea, .is-link.input:active, .is-link.textarea:active, .is-link.is-active.input, .is-link.is-active.textarea {
+ box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25); }
+ .is-info.input, .is-info.textarea {
+ border-color: #3298dc; }
+ .is-info.input:focus, .is-info.textarea:focus, .is-info.is-focused.input, .is-info.is-focused.textarea, .is-info.input:active, .is-info.textarea:active, .is-info.is-active.input, .is-info.is-active.textarea {
+ box-shadow: 0 0 0 0.125em rgba(50, 152, 220, 0.25); }
+ .is-success.input, .is-success.textarea {
+ border-color: #48c774; }
+ .is-success.input:focus, .is-success.textarea:focus, .is-success.is-focused.input, .is-success.is-focused.textarea, .is-success.input:active, .is-success.textarea:active, .is-success.is-active.input, .is-success.is-active.textarea {
+ box-shadow: 0 0 0 0.125em rgba(72, 199, 116, 0.25); }
+ .is-warning.input, .is-warning.textarea {
+ border-color: #ffdd57; }
+ .is-warning.input:focus, .is-warning.textarea:focus, .is-warning.is-focused.input, .is-warning.is-focused.textarea, .is-warning.input:active, .is-warning.textarea:active, .is-warning.is-active.input, .is-warning.is-active.textarea {
+ box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); }
+ .is-danger.input, .is-danger.textarea {
+ border-color: #f14668; }
+ .is-danger.input:focus, .is-danger.textarea:focus, .is-danger.is-focused.input, .is-danger.is-focused.textarea, .is-danger.input:active, .is-danger.textarea:active, .is-danger.is-active.input, .is-danger.is-active.textarea {
+ box-shadow: 0 0 0 0.125em rgba(241, 70, 104, 0.25); }
+ .is-small.input, .is-small.textarea {
+ border-radius: 2px;
+ font-size: 0.75rem; }
+ .is-medium.input, .is-medium.textarea {
+ font-size: 1.25rem; }
+ .is-large.input, .is-large.textarea {
+ font-size: 1.5rem; }
+ .is-fullwidth.input, .is-fullwidth.textarea {
+ display: block;
+ width: 100%; }
+ .is-inline.input, .is-inline.textarea {
+ display: inline;
+ width: auto; }
+
+.input.is-rounded {
+ border-radius: 290486px;
+ padding-left: calc(calc(0.75em - 1px) + 0.375em);
+ padding-right: calc(calc(0.75em - 1px) + 0.375em); }
+
+.input.is-static {
+ background-color: transparent;
+ border-color: transparent;
+ box-shadow: none;
+ padding-left: 0;
+ padding-right: 0; }
+
+.textarea {
+ display: block;
+ max-width: 100%;
+ min-width: 100%;
+ padding: calc(0.75em - 1px);
+ resize: vertical; }
+ .textarea:not([rows]) {
+ max-height: 40em;
+ min-height: 8em; }
+ .textarea[rows] {
+ height: initial; }
+ .textarea.has-fixed-size {
+ resize: none; }
+
+.checkbox, .radio {
+ cursor: pointer;
+ display: inline-block;
+ line-height: 1.25;
+ position: relative; }
+ .checkbox input, .radio input {
+ cursor: pointer; }
+ .checkbox:hover, .radio:hover {
+ color: #363636; }
+ .checkbox[disabled], .radio[disabled],
+ fieldset[disabled] .checkbox,
+ fieldset[disabled] .radio {
+ color: #7a7a7a;
+ cursor: not-allowed; }
+
+.radio + .radio {
+ margin-left: 0.5em; }
+
+.select {
+ display: inline-block;
+ max-width: 100%;
+ position: relative;
+ vertical-align: top; }
+ .select:not(.is-multiple) {
+ height: 2.5em; }
+ .select:not(.is-multiple):not(.is-loading)::after {
+ border-color: #3273dc;
+ right: 1.125em;
+ z-index: 4; }
+ .select.is-rounded select {
+ border-radius: 290486px;
+ padding-left: 1em; }
+ .select select {
+ cursor: pointer;
+ display: block;
+ font-size: 1em;
+ max-width: 100%;
+ outline: none; }
+ .select select::-ms-expand {
+ display: none; }
+ .select select[disabled]:hover,
+ fieldset[disabled] .select select:hover {
+ border-color: whitesmoke; }
+ .select select:not([multiple]) {
+ padding-right: 2.5em; }
+ .select select[multiple] {
+ height: auto;
+ padding: 0; }
+ .select select[multiple] option {
+ padding: 0.5em 1em; }
+ .select:not(.is-multiple):not(.is-loading):hover::after {
+ border-color: #363636; }
+ .select.is-white:not(:hover)::after {
+ border-color: white; }
+ .select.is-white select {
+ border-color: white; }
+ .select.is-white select:hover, .select.is-white select.is-hovered {
+ border-color: #f2f2f2; }
+ .select.is-white select:focus, .select.is-white select.is-focused, .select.is-white select:active, .select.is-white select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }
+ .select.is-black:not(:hover)::after {
+ border-color: #120c13; }
+ .select.is-black select {
+ border-color: #120c13; }
+ .select.is-black select:hover, .select.is-black select.is-hovered {
+ border-color: #030203; }
+ .select.is-black select:focus, .select.is-black select.is-focused, .select.is-black select:active, .select.is-black select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(18, 12, 19, 0.25); }
+ .select.is-light:not(:hover)::after {
+ border-color: whitesmoke; }
+ .select.is-light select {
+ border-color: whitesmoke; }
+ .select.is-light select:hover, .select.is-light select.is-hovered {
+ border-color: #e8e8e8; }
+ .select.is-light select:focus, .select.is-light select.is-focused, .select.is-light select:active, .select.is-light select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); }
+ .select.is-dark:not(:hover)::after {
+ border-color: #363636; }
+ .select.is-dark select {
+ border-color: #363636; }
+ .select.is-dark select:hover, .select.is-dark select.is-hovered {
+ border-color: #292929; }
+ .select.is-dark select:focus, .select.is-dark select.is-focused, .select.is-dark select:active, .select.is-dark select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); }
+ .select.is-primary:not(:hover)::after {
+ border-color: #00d1b2; }
+ .select.is-primary select {
+ border-color: #00d1b2; }
+ .select.is-primary select:hover, .select.is-primary select.is-hovered {
+ border-color: #00b89c; }
+ .select.is-primary select:focus, .select.is-primary select.is-focused, .select.is-primary select:active, .select.is-primary select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(0, 209, 178, 0.25); }
+ .select.is-link:not(:hover)::after {
+ border-color: #3273dc; }
+ .select.is-link select {
+ border-color: #3273dc; }
+ .select.is-link select:hover, .select.is-link select.is-hovered {
+ border-color: #2366d1; }
+ .select.is-link select:focus, .select.is-link select.is-focused, .select.is-link select:active, .select.is-link select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25); }
+ .select.is-info:not(:hover)::after {
+ border-color: #3298dc; }
+ .select.is-info select {
+ border-color: #3298dc; }
+ .select.is-info select:hover, .select.is-info select.is-hovered {
+ border-color: #238cd1; }
+ .select.is-info select:focus, .select.is-info select.is-focused, .select.is-info select:active, .select.is-info select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(50, 152, 220, 0.25); }
+ .select.is-success:not(:hover)::after {
+ border-color: #48c774; }
+ .select.is-success select {
+ border-color: #48c774; }
+ .select.is-success select:hover, .select.is-success select.is-hovered {
+ border-color: #3abb67; }
+ .select.is-success select:focus, .select.is-success select.is-focused, .select.is-success select:active, .select.is-success select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(72, 199, 116, 0.25); }
+ .select.is-warning:not(:hover)::after {
+ border-color: #ffdd57; }
+ .select.is-warning select {
+ border-color: #ffdd57; }
+ .select.is-warning select:hover, .select.is-warning select.is-hovered {
+ border-color: #ffd83d; }
+ .select.is-warning select:focus, .select.is-warning select.is-focused, .select.is-warning select:active, .select.is-warning select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); }
+ .select.is-danger:not(:hover)::after {
+ border-color: #f14668; }
+ .select.is-danger select {
+ border-color: #f14668; }
+ .select.is-danger select:hover, .select.is-danger select.is-hovered {
+ border-color: #ef2e55; }
+ .select.is-danger select:focus, .select.is-danger select.is-focused, .select.is-danger select:active, .select.is-danger select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(241, 70, 104, 0.25); }
+ .select.is-small {
+ border-radius: 2px;
+ font-size: 0.75rem; }
+ .select.is-medium {
+ font-size: 1.25rem; }
+ .select.is-large {
+ font-size: 1.5rem; }
+ .select.is-disabled::after {
+ border-color: #7a7a7a; }
+ .select.is-fullwidth {
+ width: 100%; }
+ .select.is-fullwidth select {
+ width: 100%; }
+ .select.is-loading::after {
+ margin-top: 0;
+ position: absolute;
+ right: 0.625em;
+ top: 0.625em;
+ transform: none; }
+ .select.is-loading.is-small:after {
+ font-size: 0.75rem; }
+ .select.is-loading.is-medium:after {
+ font-size: 1.25rem; }
+ .select.is-loading.is-large:after {
+ font-size: 1.5rem; }
+
+.file {
+ align-items: stretch;
+ display: flex;
+ justify-content: flex-start;
+ position: relative; }
+ .file.is-white .file-cta {
+ background-color: white;
+ border-color: transparent;
+ color: #120c13; }
+ .file.is-white:hover .file-cta, .file.is-white.is-hovered .file-cta {
+ background-color: #f9f9f9;
+ border-color: transparent;
+ color: #120c13; }
+ .file.is-white:focus .file-cta, .file.is-white.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(255, 255, 255, 0.25);
+ color: #120c13; }
+ .file.is-white:active .file-cta, .file.is-white.is-active .file-cta {
+ background-color: #f2f2f2;
+ border-color: transparent;
+ color: #120c13; }
+ .file.is-black .file-cta {
+ background-color: #120c13;
+ border-color: transparent;
+ color: white; }
+ .file.is-black:hover .file-cta, .file.is-black.is-hovered .file-cta {
+ background-color: #0b070b;
+ border-color: transparent;
+ color: white; }
+ .file.is-black:focus .file-cta, .file.is-black.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(18, 12, 19, 0.25);
+ color: white; }
+ .file.is-black:active .file-cta, .file.is-black.is-active .file-cta {
+ background-color: #030203;
+ border-color: transparent;
+ color: white; }
+ .file.is-light .file-cta {
+ background-color: whitesmoke;
+ border-color: transparent;
+ color: rgba(0, 0, 0, 0.7); }
+ .file.is-light:hover .file-cta, .file.is-light.is-hovered .file-cta {
+ background-color: #eeeeee;
+ border-color: transparent;
+ color: rgba(0, 0, 0, 0.7); }
+ .file.is-light:focus .file-cta, .file.is-light.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(245, 245, 245, 0.25);
+ color: rgba(0, 0, 0, 0.7); }
+ .file.is-light:active .file-cta, .file.is-light.is-active .file-cta {
+ background-color: #e8e8e8;
+ border-color: transparent;
+ color: rgba(0, 0, 0, 0.7); }
+ .file.is-dark .file-cta {
+ background-color: #363636;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-dark:hover .file-cta, .file.is-dark.is-hovered .file-cta {
+ background-color: #2f2f2f;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-dark:focus .file-cta, .file.is-dark.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(54, 54, 54, 0.25);
+ color: #fff; }
+ .file.is-dark:active .file-cta, .file.is-dark.is-active .file-cta {
+ background-color: #292929;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-primary .file-cta {
+ background-color: #00d1b2;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-primary:hover .file-cta, .file.is-primary.is-hovered .file-cta {
+ background-color: #00c4a7;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-primary:focus .file-cta, .file.is-primary.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(0, 209, 178, 0.25);
+ color: #fff; }
+ .file.is-primary:active .file-cta, .file.is-primary.is-active .file-cta {
+ background-color: #00b89c;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-link .file-cta {
+ background-color: #3273dc;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-link:hover .file-cta, .file.is-link.is-hovered .file-cta {
+ background-color: #276cda;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-link:focus .file-cta, .file.is-link.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(50, 115, 220, 0.25);
+ color: #fff; }
+ .file.is-link:active .file-cta, .file.is-link.is-active .file-cta {
+ background-color: #2366d1;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-info .file-cta {
+ background-color: #3298dc;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-info:hover .file-cta, .file.is-info.is-hovered .file-cta {
+ background-color: #2793da;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-info:focus .file-cta, .file.is-info.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(50, 152, 220, 0.25);
+ color: #fff; }
+ .file.is-info:active .file-cta, .file.is-info.is-active .file-cta {
+ background-color: #238cd1;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-success .file-cta {
+ background-color: #48c774;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-success:hover .file-cta, .file.is-success.is-hovered .file-cta {
+ background-color: #3ec46d;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-success:focus .file-cta, .file.is-success.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(72, 199, 116, 0.25);
+ color: #fff; }
+ .file.is-success:active .file-cta, .file.is-success.is-active .file-cta {
+ background-color: #3abb67;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-warning .file-cta {
+ background-color: #ffdd57;
+ border-color: transparent;
+ color: rgba(0, 0, 0, 0.7); }
+ .file.is-warning:hover .file-cta, .file.is-warning.is-hovered .file-cta {
+ background-color: #ffdb4a;
+ border-color: transparent;
+ color: rgba(0, 0, 0, 0.7); }
+ .file.is-warning:focus .file-cta, .file.is-warning.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(255, 221, 87, 0.25);
+ color: rgba(0, 0, 0, 0.7); }
+ .file.is-warning:active .file-cta, .file.is-warning.is-active .file-cta {
+ background-color: #ffd83d;
+ border-color: transparent;
+ color: rgba(0, 0, 0, 0.7); }
+ .file.is-danger .file-cta {
+ background-color: #f14668;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-danger:hover .file-cta, .file.is-danger.is-hovered .file-cta {
+ background-color: #f03a5f;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-danger:focus .file-cta, .file.is-danger.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(241, 70, 104, 0.25);
+ color: #fff; }
+ .file.is-danger:active .file-cta, .file.is-danger.is-active .file-cta {
+ background-color: #ef2e55;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-small {
+ font-size: 0.75rem; }
+ .file.is-medium {
+ font-size: 1.25rem; }
+ .file.is-medium .file-icon .fa {
+ font-size: 21px; }
+ .file.is-large {
+ font-size: 1.5rem; }
+ .file.is-large .file-icon .fa {
+ font-size: 28px; }
+ .file.has-name .file-cta {
+ border-bottom-right-radius: 0;
+ border-top-right-radius: 0; }
+ .file.has-name .file-name {
+ border-bottom-left-radius: 0;
+ border-top-left-radius: 0; }
+ .file.has-name.is-empty .file-cta {
+ border-radius: 4px; }
+ .file.has-name.is-empty .file-name {
+ display: none; }
+ .file.is-boxed .file-label {
+ flex-direction: column; }
+ .file.is-boxed .file-cta {
+ flex-direction: column;
+ height: auto;
+ padding: 1em 3em; }
+ .file.is-boxed .file-name {
+ border-width: 0 1px 1px; }
+ .file.is-boxed .file-icon {
+ height: 1.5em;
+ width: 1.5em; }
+ .file.is-boxed .file-icon .fa {
+ font-size: 21px; }
+ .file.is-boxed.is-small .file-icon .fa {
+ font-size: 14px; }
+ .file.is-boxed.is-medium .file-icon .fa {
+ font-size: 28px; }
+ .file.is-boxed.is-large .file-icon .fa {
+ font-size: 35px; }
+ .file.is-boxed.has-name .file-cta {
+ border-radius: 4px 4px 0 0; }
+ .file.is-boxed.has-name .file-name {
+ border-radius: 0 0 4px 4px;
+ border-width: 0 1px 1px; }
+ .file.is-centered {
+ justify-content: center; }
+ .file.is-fullwidth .file-label {
+ width: 100%; }
+ .file.is-fullwidth .file-name {
+ flex-grow: 1;
+ max-width: none; }
+ .file.is-right {
+ justify-content: flex-end; }
+ .file.is-right .file-cta {
+ border-radius: 0 4px 4px 0; }
+ .file.is-right .file-name {
+ border-radius: 4px 0 0 4px;
+ border-width: 1px 0 1px 1px;
+ order: -1; }
+
+.file-label {
+ align-items: stretch;
+ display: flex;
+ cursor: pointer;
+ justify-content: flex-start;
+ overflow: hidden;
+ position: relative; }
+ .file-label:hover .file-cta {
+ background-color: #eeeeee;
+ color: #363636; }
+ .file-label:hover .file-name {
+ border-color: #d5d5d5; }
+ .file-label:active .file-cta {
+ background-color: #e8e8e8;
+ color: #363636; }
+ .file-label:active .file-name {
+ border-color: #cfcfcf; }
+
+.file-input {
+ height: 100%;
+ left: 0;
+ opacity: 0;
+ outline: none;
+ position: absolute;
+ top: 0;
+ width: 100%; }
+
+.file-cta,
+.file-name {
+ border-color: #dbdbdb;
+ border-radius: 4px;
+ font-size: 1em;
+ padding-left: 1em;
+ padding-right: 1em;
+ white-space: nowrap; }
+
+.file-cta {
+ background-color: whitesmoke;
+ color: #4a4a4a; }
+
+.file-name {
+ border-color: #dbdbdb;
+ border-style: solid;
+ border-width: 1px 1px 1px 0;
+ display: block;
+ max-width: 16em;
+ overflow: hidden;
+ text-align: left;
+ text-overflow: ellipsis; }
+
+.file-icon {
+ align-items: center;
+ display: flex;
+ height: 1em;
+ justify-content: center;
+ margin-right: 0.5em;
+ width: 1em; }
+ .file-icon .fa {
+ font-size: 14px; }
+
+.label {
+ color: #363636;
+ display: block;
+ font-size: 1rem;
+ font-weight: 700; }
+ .label:not(:last-child) {
+ margin-bottom: 0.5em; }
+ .label.is-small {
+ font-size: 0.75rem; }
+ .label.is-medium {
+ font-size: 1.25rem; }
+ .label.is-large {
+ font-size: 1.5rem; }
+
+.help {
+ display: block;
+ font-size: 0.75rem;
+ margin-top: 0.25rem; }
+ .help.is-white {
+ color: white; }
+ .help.is-black {
+ color: #120c13; }
+ .help.is-light {
+ color: whitesmoke; }
+ .help.is-dark {
+ color: #363636; }
+ .help.is-primary {
+ color: #00d1b2; }
+ .help.is-link {
+ color: #3273dc; }
+ .help.is-info {
+ color: #3298dc; }
+ .help.is-success {
+ color: #48c774; }
+ .help.is-warning {
+ color: #ffdd57; }
+ .help.is-danger {
+ color: #f14668; }
+
+.field:not(:last-child) {
+ margin-bottom: 0.75rem; }
+
+.field.has-addons {
+ display: flex;
+ justify-content: flex-start; }
+ .field.has-addons .control:not(:last-child) {
+ margin-right: -1px; }
+ .field.has-addons .control:not(:first-child):not(:last-child) .button,
+ .field.has-addons .control:not(:first-child):not(:last-child) .input,
+ .field.has-addons .control:not(:first-child):not(:last-child) .select select {
+ border-radius: 0; }
+ .field.has-addons .control:first-child:not(:only-child) .button,
+ .field.has-addons .control:first-child:not(:only-child) .input,
+ .field.has-addons .control:first-child:not(:only-child) .select select {
+ border-bottom-right-radius: 0;
+ border-top-right-radius: 0; }
+ .field.has-addons .control:last-child:not(:only-child) .button,
+ .field.has-addons .control:last-child:not(:only-child) .input,
+ .field.has-addons .control:last-child:not(:only-child) .select select {
+ border-bottom-left-radius: 0;
+ border-top-left-radius: 0; }
+ .field.has-addons .control .button:not([disabled]):hover, .field.has-addons .control .button:not([disabled]).is-hovered,
+ .field.has-addons .control .input:not([disabled]):hover,
+ .field.has-addons .control .input:not([disabled]).is-hovered,
+ .field.has-addons .control .select select:not([disabled]):hover,
+ .field.has-addons .control .select select:not([disabled]).is-hovered {
+ z-index: 2; }
+ .field.has-addons .control .button:not([disabled]):focus, .field.has-addons .control .button:not([disabled]).is-focused, .field.has-addons .control .button:not([disabled]):active, .field.has-addons .control .button:not([disabled]).is-active,
+ .field.has-addons .control .input:not([disabled]):focus,
+ .field.has-addons .control .input:not([disabled]).is-focused,
+ .field.has-addons .control .input:not([disabled]):active,
+ .field.has-addons .control .input:not([disabled]).is-active,
+ .field.has-addons .control .select select:not([disabled]):focus,
+ .field.has-addons .control .select select:not([disabled]).is-focused,
+ .field.has-addons .control .select select:not([disabled]):active,
+ .field.has-addons .control .select select:not([disabled]).is-active {
+ z-index: 3; }
+ .field.has-addons .control .button:not([disabled]):focus:hover, .field.has-addons .control .button:not([disabled]).is-focused:hover, .field.has-addons .control .button:not([disabled]):active:hover, .field.has-addons .control .button:not([disabled]).is-active:hover,
+ .field.has-addons .control .input:not([disabled]):focus:hover,
+ .field.has-addons .control .input:not([disabled]).is-focused:hover,
+ .field.has-addons .control .input:not([disabled]):active:hover,
+ .field.has-addons .control .input:not([disabled]).is-active:hover,
+ .field.has-addons .control .select select:not([disabled]):focus:hover,
+ .field.has-addons .control .select select:not([disabled]).is-focused:hover,
+ .field.has-addons .control .select select:not([disabled]):active:hover,
+ .field.has-addons .control .select select:not([disabled]).is-active:hover {
+ z-index: 4; }
+ .field.has-addons .control.is-expanded {
+ flex-grow: 1;
+ flex-shrink: 1; }
+ .field.has-addons.has-addons-centered {
+ justify-content: center; }
+ .field.has-addons.has-addons-right {
+ justify-content: flex-end; }
+ .field.has-addons.has-addons-fullwidth .control {
+ flex-grow: 1;
+ flex-shrink: 0; }
+
+.field.is-grouped {
+ display: flex;
+ justify-content: flex-start; }
+ .field.is-grouped > .control {
+ flex-shrink: 0; }
+ .field.is-grouped > .control:not(:last-child) {
+ margin-bottom: 0;
+ margin-right: 0.75rem; }
+ .field.is-grouped > .control.is-expanded {
+ flex-grow: 1;
+ flex-shrink: 1; }
+ .field.is-grouped.is-grouped-centered {
+ justify-content: center; }
+ .field.is-grouped.is-grouped-right {
+ justify-content: flex-end; }
+ .field.is-grouped.is-grouped-multiline {
+ flex-wrap: wrap; }
+ .field.is-grouped.is-grouped-multiline > .control:last-child, .field.is-grouped.is-grouped-multiline > .control:not(:last-child) {
+ margin-bottom: 0.75rem; }
+ .field.is-grouped.is-grouped-multiline:last-child {
+ margin-bottom: -0.75rem; }
+ .field.is-grouped.is-grouped-multiline:not(:last-child) {
+ margin-bottom: 0; }
+
+@media screen and (min-width: 769px), print {
+ .field.is-horizontal {
+ display: flex; } }
+
+.field-label .label {
+ font-size: inherit; }
+
+@media screen and (max-width: 768px) {
+ .field-label {
+ margin-bottom: 0.5rem; } }
+
+@media screen and (min-width: 769px), print {
+ .field-label {
+ flex-basis: 0;
+ flex-grow: 1;
+ flex-shrink: 0;
+ margin-right: 1.5rem;
+ text-align: right; }
+ .field-label.is-small {
+ font-size: 0.75rem;
+ padding-top: 0.375em; }
+ .field-label.is-normal {
+ padding-top: 0.375em; }
+ .field-label.is-medium {
+ font-size: 1.25rem;
+ padding-top: 0.375em; }
+ .field-label.is-large {
+ font-size: 1.5rem;
+ padding-top: 0.375em; } }
+
+.field-body .field .field {
+ margin-bottom: 0; }
+
+@media screen and (min-width: 769px), print {
+ .field-body {
+ display: flex;
+ flex-basis: 0;
+ flex-grow: 5;
+ flex-shrink: 1; }
+ .field-body .field {
+ margin-bottom: 0; }
+ .field-body > .field {
+ flex-shrink: 1; }
+ .field-body > .field:not(.is-narrow) {
+ flex-grow: 1; }
+ .field-body > .field:not(:last-child) {
+ margin-right: 0.75rem; } }
+
+.control {
+ box-sizing: border-box;
+ clear: both;
+ font-size: 1rem;
+ position: relative;
+ text-align: left; }
+ .control.has-icons-left .input:focus ~ .icon,
+ .control.has-icons-left .select:focus ~ .icon, .control.has-icons-right .input:focus ~ .icon,
+ .control.has-icons-right .select:focus ~ .icon {
+ color: #4a4a4a; }
+ .control.has-icons-left .input.is-small ~ .icon,
+ .control.has-icons-left .select.is-small ~ .icon, .control.has-icons-right .input.is-small ~ .icon,
+ .control.has-icons-right .select.is-small ~ .icon {
+ font-size: 0.75rem; }
+ .control.has-icons-left .input.is-medium ~ .icon,
+ .control.has-icons-left .select.is-medium ~ .icon, .control.has-icons-right .input.is-medium ~ .icon,
+ .control.has-icons-right .select.is-medium ~ .icon {
+ font-size: 1.25rem; }
+ .control.has-icons-left .input.is-large ~ .icon,
+ .control.has-icons-left .select.is-large ~ .icon, .control.has-icons-right .input.is-large ~ .icon,
+ .control.has-icons-right .select.is-large ~ .icon {
+ font-size: 1.5rem; }
+ .control.has-icons-left .icon, .control.has-icons-right .icon {
+ color: #dbdbdb;
+ height: 2.5em;
+ pointer-events: none;
+ position: absolute;
+ top: 0;
+ width: 2.5em;
+ z-index: 4; }
+ .control.has-icons-left .input,
+ .control.has-icons-left .select select {
+ padding-left: 2.5em; }
+ .control.has-icons-left .icon.is-left {
+ left: 0; }
+ .control.has-icons-right .input,
+ .control.has-icons-right .select select {
+ padding-right: 2.5em; }
+ .control.has-icons-right .icon.is-right {
+ right: 0; }
+ .control.is-loading::after {
+ position: absolute !important;
+ right: 0.625em;
+ top: 0.625em;
+ z-index: 4; }
+ .control.is-loading.is-small:after {
+ font-size: 0.75rem; }
+ .control.is-loading.is-medium:after {
+ font-size: 1.25rem; }
+ .control.is-loading.is-large:after {
+ font-size: 1.5rem; }
-.mainnav {
- background-image: linear-gradient(#120c13,#313131);
-}
.navbar {
- align-items: center;
- background: #120c13;
- border-bottom: 1px solid #d9dee4;
- display: flex;
- justify-content: flex-end;
-}
-.nav {
- display: flex;
- flex-wrap: wrap;
- justify-content: left;
-}
-.nav__link {
- color: white;
- display: block;
- font-weight: 500;
- text-decoration: none;
- text-transform: lowercase;
- padding-left: 15px;
- padding-right: 15px;
- padding-top: 7px;
- padding-bottom: 7px;
-}
-.nav__link--name {
- flex: 1;
-}
-.nav__link--close {
-}
-.nav__link--logo {
- flex: 1;
-}
-
-main {
- background-color: #f7f7f7;
- display: flex;
- flex-wrap: wrap;
- flex: 1;
- justify-content: space-between;
- padding-left: 16px;
- padding-right: 16px;
- position: relative;
-}
-
-@media (min-width: 768px) {
- .page {
- flex-direction: row;
- flex: 1;
- }
- main {
- flex: 1;
- }
- .navmain {
- /* 12em is the width of the columns */
- flex: 0 0 12em;
- }
-}
-
-.site__header {
- margin-bottom: 1em;
- flex: 1 0 100%;
-}
-.site__title {
- margin-bottom: 0;
-}
-
-.site__summary {
- display: inline-block;
- flex: 1 0 100%;
-}
-.summary {
- float: left;
- overflow: hidden;
- padding-bottom: 0px;
- padding: 0 10px 0 20px;
- position: relative;
- text-overflow: ellipsis;
- white-space: nowrap;
-}
-.summary__title {
- font-size: 13px;
-}
-.summary__count {
- display: block;
- font-size: 40px;
- font-weight: 600;
- line-height: 1.25;
-}
-.summary__comparison {
- font-size: 13px;
-}
-.summary:before {
- border-left: 2px solid #adb2b5;
- content: "";
- height: 65px;
- left: 0;
- margin-top: 10px;
- position: absolute;
-}
-.summary:first-child::before {
- border-left: 0;
-}
-
-.panel {
- background-color: #fff;
- border: 1px solid #e6e9ed;
- flex: 0 1 33%;
- margin-bottom: .5em;
- margin-top: .5em;
- padding: .5em;
-}
-.panel--wide {
- flex: 1 0 100%;
-}
-.panel__header {
- border-bottom: 2px solid #e6e9ed;
- font-size: 1.75em;
- margin-bottom: 10px;
-}
-.panel__title {
- font-size: 18px;
- font-weight: 400;
- margin: 0;
- padding: .25em;
-}
+ background-color: white;
+ min-height: 3.25rem;
+ position: relative;
+ z-index: 30; }
+ .navbar.is-white {
+ background-color: white;
+ color: #120c13; }
+ .navbar.is-white .navbar-brand > .navbar-item,
+ .navbar.is-white .navbar-brand .navbar-link {
+ color: #120c13; }
+ .navbar.is-white .navbar-brand > a.navbar-item:focus, .navbar.is-white .navbar-brand > a.navbar-item:hover, .navbar.is-white .navbar-brand > a.navbar-item.is-active,
+ .navbar.is-white .navbar-brand .navbar-link:focus,
+ .navbar.is-white .navbar-brand .navbar-link:hover,
+ .navbar.is-white .navbar-brand .navbar-link.is-active {
+ background-color: #f2f2f2;
+ color: #120c13; }
+ .navbar.is-white .navbar-brand .navbar-link::after {
+ border-color: #120c13; }
+ .navbar.is-white .navbar-burger {
+ color: #120c13; }
+ @media screen and (min-width: 1024px) {
+ .navbar.is-white .navbar-start > .navbar-item,
+ .navbar.is-white .navbar-start .navbar-link,
+ .navbar.is-white .navbar-end > .navbar-item,
+ .navbar.is-white .navbar-end .navbar-link {
+ color: #120c13; }
+ .navbar.is-white .navbar-start > a.navbar-item:focus, .navbar.is-white .navbar-start > a.navbar-item:hover, .navbar.is-white .navbar-start > a.navbar-item.is-active,
+ .navbar.is-white .navbar-start .navbar-link:focus,
+ .navbar.is-white .navbar-start .navbar-link:hover,
+ .navbar.is-white .navbar-start .navbar-link.is-active,
+ .navbar.is-white .navbar-end > a.navbar-item:focus,
+ .navbar.is-white .navbar-end > a.navbar-item:hover,
+ .navbar.is-white .navbar-end > a.navbar-item.is-active,
+ .navbar.is-white .navbar-end .navbar-link:focus,
+ .navbar.is-white .navbar-end .navbar-link:hover,
+ .navbar.is-white .navbar-end .navbar-link.is-active {
+ background-color: #f2f2f2;
+ color: #120c13; }
+ .navbar.is-white .navbar-start .navbar-link::after,
+ .navbar.is-white .navbar-end .navbar-link::after {
+ border-color: #120c13; }
+ .navbar.is-white .navbar-item.has-dropdown:focus .navbar-link,
+ .navbar.is-white .navbar-item.has-dropdown:hover .navbar-link,
+ .navbar.is-white .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #f2f2f2;
+ color: #120c13; }
+ .navbar.is-white .navbar-dropdown a.navbar-item.is-active {
+ background-color: white;
+ color: #120c13; } }
+ .navbar.is-black {
+ background-color: #120c13;
+ color: white; }
+ .navbar.is-black .navbar-brand > .navbar-item,
+ .navbar.is-black .navbar-brand .navbar-link {
+ color: white; }
+ .navbar.is-black .navbar-brand > a.navbar-item:focus, .navbar.is-black .navbar-brand > a.navbar-item:hover, .navbar.is-black .navbar-brand > a.navbar-item.is-active,
+ .navbar.is-black .navbar-brand .navbar-link:focus,
+ .navbar.is-black .navbar-brand .navbar-link:hover,
+ .navbar.is-black .navbar-brand .navbar-link.is-active {
+ background-color: #030203;
+ color: white; }
+ .navbar.is-black .navbar-brand .navbar-link::after {
+ border-color: white; }
+ .navbar.is-black .navbar-burger {
+ color: white; }
+ @media screen and (min-width: 1024px) {
+ .navbar.is-black .navbar-start > .navbar-item,
+ .navbar.is-black .navbar-start .navbar-link,
+ .navbar.is-black .navbar-end > .navbar-item,
+ .navbar.is-black .navbar-end .navbar-link {
+ color: white; }
+ .navbar.is-black .navbar-start > a.navbar-item:focus, .navbar.is-black .navbar-start > a.navbar-item:hover, .navbar.is-black .navbar-start > a.navbar-item.is-active,
+ .navbar.is-black .navbar-start .navbar-link:focus,
+ .navbar.is-black .navbar-start .navbar-link:hover,
+ .navbar.is-black .navbar-start .navbar-link.is-active,
+ .navbar.is-black .navbar-end > a.navbar-item:focus,
+ .navbar.is-black .navbar-end > a.navbar-item:hover,
+ .navbar.is-black .navbar-end > a.navbar-item.is-active,
+ .navbar.is-black .navbar-end .navbar-link:focus,
+ .navbar.is-black .navbar-end .navbar-link:hover,
+ .navbar.is-black .navbar-end .navbar-link.is-active {
+ background-color: #030203;
+ color: white; }
+ .navbar.is-black .navbar-start .navbar-link::after,
+ .navbar.is-black .navbar-end .navbar-link::after {
+ border-color: white; }
+ .navbar.is-black .navbar-item.has-dropdown:focus .navbar-link,
+ .navbar.is-black .navbar-item.has-dropdown:hover .navbar-link,
+ .navbar.is-black .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #030203;
+ color: white; }
+ .navbar.is-black .navbar-dropdown a.navbar-item.is-active {
+ background-color: #120c13;
+ color: white; } }
+ .navbar.is-light {
+ background-color: whitesmoke;
+ color: rgba(0, 0, 0, 0.7); }
+ .navbar.is-light .navbar-brand > .navbar-item,
+ .navbar.is-light .navbar-brand .navbar-link {
+ color: rgba(0, 0, 0, 0.7); }
+ .navbar.is-light .navbar-brand > a.navbar-item:focus, .navbar.is-light .navbar-brand > a.navbar-item:hover, .navbar.is-light .navbar-brand > a.navbar-item.is-active,
+ .navbar.is-light .navbar-brand .navbar-link:focus,
+ .navbar.is-light .navbar-brand .navbar-link:hover,
+ .navbar.is-light .navbar-brand .navbar-link.is-active {
+ background-color: #e8e8e8;
+ color: rgba(0, 0, 0, 0.7); }
+ .navbar.is-light .navbar-brand .navbar-link::after {
+ border-color: rgba(0, 0, 0, 0.7); }
+ .navbar.is-light .navbar-burger {
+ color: rgba(0, 0, 0, 0.7); }
+ @media screen and (min-width: 1024px) {
+ .navbar.is-light .navbar-start > .navbar-item,
+ .navbar.is-light .navbar-start .navbar-link,
+ .navbar.is-light .navbar-end > .navbar-item,
+ .navbar.is-light .navbar-end .navbar-link {
+ color: rgba(0, 0, 0, 0.7); }
+ .navbar.is-light .navbar-start > a.navbar-item:focus, .navbar.is-light .navbar-start > a.navbar-item:hover, .navbar.is-light .navbar-start > a.navbar-item.is-active,
+ .navbar.is-light .navbar-start .navbar-link:focus,
+ .navbar.is-light .navbar-start .navbar-link:hover,
+ .navbar.is-light .navbar-start .navbar-link.is-active,
+ .navbar.is-light .navbar-end > a.navbar-item:focus,
+ .navbar.is-light .navbar-end > a.navbar-item:hover,
+ .navbar.is-light .navbar-end > a.navbar-item.is-active,
+ .navbar.is-light .navbar-end .navbar-link:focus,
+ .navbar.is-light .navbar-end .navbar-link:hover,
+ .navbar.is-light .navbar-end .navbar-link.is-active {
+ background-color: #e8e8e8;
+ color: rgba(0, 0, 0, 0.7); }
+ .navbar.is-light .navbar-start .navbar-link::after,
+ .navbar.is-light .navbar-end .navbar-link::after {
+ border-color: rgba(0, 0, 0, 0.7); }
+ .navbar.is-light .navbar-item.has-dropdown:focus .navbar-link,
+ .navbar.is-light .navbar-item.has-dropdown:hover .navbar-link,
+ .navbar.is-light .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #e8e8e8;
+ color: rgba(0, 0, 0, 0.7); }
+ .navbar.is-light .navbar-dropdown a.navbar-item.is-active {
+ background-color: whitesmoke;
+ color: rgba(0, 0, 0, 0.7); } }
+ .navbar.is-dark {
+ background-color: #363636;
+ color: #fff; }
+ .navbar.is-dark .navbar-brand > .navbar-item,
+ .navbar.is-dark .navbar-brand .navbar-link {
+ color: #fff; }
+ .navbar.is-dark .navbar-brand > a.navbar-item:focus, .navbar.is-dark .navbar-brand > a.navbar-item:hover, .navbar.is-dark .navbar-brand > a.navbar-item.is-active,
+ .navbar.is-dark .navbar-brand .navbar-link:focus,
+ .navbar.is-dark .navbar-brand .navbar-link:hover,
+ .navbar.is-dark .navbar-brand .navbar-link.is-active {
+ background-color: #292929;
+ color: #fff; }
+ .navbar.is-dark .navbar-brand .navbar-link::after {
+ border-color: #fff; }
+ .navbar.is-dark .navbar-burger {
+ color: #fff; }
+ @media screen and (min-width: 1024px) {
+ .navbar.is-dark .navbar-start > .navbar-item,
+ .navbar.is-dark .navbar-start .navbar-link,
+ .navbar.is-dark .navbar-end > .navbar-item,
+ .navbar.is-dark .navbar-end .navbar-link {
+ color: #fff; }
+ .navbar.is-dark .navbar-start > a.navbar-item:focus, .navbar.is-dark .navbar-start > a.navbar-item:hover, .navbar.is-dark .navbar-start > a.navbar-item.is-active,
+ .navbar.is-dark .navbar-start .navbar-link:focus,
+ .navbar.is-dark .navbar-start .navbar-link:hover,
+ .navbar.is-dark .navbar-start .navbar-link.is-active,
+ .navbar.is-dark .navbar-end > a.navbar-item:focus,
+ .navbar.is-dark .navbar-end > a.navbar-item:hover,
+ .navbar.is-dark .navbar-end > a.navbar-item.is-active,
+ .navbar.is-dark .navbar-end .navbar-link:focus,
+ .navbar.is-dark .navbar-end .navbar-link:hover,
+ .navbar.is-dark .navbar-end .navbar-link.is-active {
+ background-color: #292929;
+ color: #fff; }
+ .navbar.is-dark .navbar-start .navbar-link::after,
+ .navbar.is-dark .navbar-end .navbar-link::after {
+ border-color: #fff; }
+ .navbar.is-dark .navbar-item.has-dropdown:focus .navbar-link,
+ .navbar.is-dark .navbar-item.has-dropdown:hover .navbar-link,
+ .navbar.is-dark .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #292929;
+ color: #fff; }
+ .navbar.is-dark .navbar-dropdown a.navbar-item.is-active {
+ background-color: #363636;
+ color: #fff; } }
+ .navbar.is-primary {
+ background-color: #00d1b2;
+ color: #fff; }
+ .navbar.is-primary .navbar-brand > .navbar-item,
+ .navbar.is-primary .navbar-brand .navbar-link {
+ color: #fff; }
+ .navbar.is-primary .navbar-brand > a.navbar-item:focus, .navbar.is-primary .navbar-brand > a.navbar-item:hover, .navbar.is-primary .navbar-brand > a.navbar-item.is-active,
+ .navbar.is-primary .navbar-brand .navbar-link:focus,
+ .navbar.is-primary .navbar-brand .navbar-link:hover,
+ .navbar.is-primary .navbar-brand .navbar-link.is-active {
+ background-color: #00b89c;
+ color: #fff; }
+ .navbar.is-primary .navbar-brand .navbar-link::after {
+ border-color: #fff; }
+ .navbar.is-primary .navbar-burger {
+ color: #fff; }
+ @media screen and (min-width: 1024px) {
+ .navbar.is-primary .navbar-start > .navbar-item,
+ .navbar.is-primary .navbar-start .navbar-link,
+ .navbar.is-primary .navbar-end > .navbar-item,
+ .navbar.is-primary .navbar-end .navbar-link {
+ color: #fff; }
+ .navbar.is-primary .navbar-start > a.navbar-item:focus, .navbar.is-primary .navbar-start > a.navbar-item:hover, .navbar.is-primary .navbar-start > a.navbar-item.is-active,
+ .navbar.is-primary .navbar-start .navbar-link:focus,
+ .navbar.is-primary .navbar-start .navbar-link:hover,
+ .navbar.is-primary .navbar-start .navbar-link.is-active,
+ .navbar.is-primary .navbar-end > a.navbar-item:focus,
+ .navbar.is-primary .navbar-end > a.navbar-item:hover,
+ .navbar.is-primary .navbar-end > a.navbar-item.is-active,
+ .navbar.is-primary .navbar-end .navbar-link:focus,
+ .navbar.is-primary .navbar-end .navbar-link:hover,
+ .navbar.is-primary .navbar-end .navbar-link.is-active {
+ background-color: #00b89c;
+ color: #fff; }
+ .navbar.is-primary .navbar-start .navbar-link::after,
+ .navbar.is-primary .navbar-end .navbar-link::after {
+ border-color: #fff; }
+ .navbar.is-primary .navbar-item.has-dropdown:focus .navbar-link,
+ .navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link,
+ .navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #00b89c;
+ color: #fff; }
+ .navbar.is-primary .navbar-dropdown a.navbar-item.is-active {
+ background-color: #00d1b2;
+ color: #fff; } }
+ .navbar.is-link {
+ background-color: #3273dc;
+ color: #fff; }
+ .navbar.is-link .navbar-brand > .navbar-item,
+ .navbar.is-link .navbar-brand .navbar-link {
+ color: #fff; }
+ .navbar.is-link .navbar-brand > a.navbar-item:focus, .navbar.is-link .navbar-brand > a.navbar-item:hover, .navbar.is-link .navbar-brand > a.navbar-item.is-active,
+ .navbar.is-link .navbar-brand .navbar-link:focus,
+ .navbar.is-link .navbar-brand .navbar-link:hover,
+ .navbar.is-link .navbar-brand .navbar-link.is-active {
+ background-color: #2366d1;
+ color: #fff; }
+ .navbar.is-link .navbar-brand .navbar-link::after {
+ border-color: #fff; }
+ .navbar.is-link .navbar-burger {
+ color: #fff; }
+ @media screen and (min-width: 1024px) {
+ .navbar.is-link .navbar-start > .navbar-item,
+ .navbar.is-link .navbar-start .navbar-link,
+ .navbar.is-link .navbar-end > .navbar-item,
+ .navbar.is-link .navbar-end .navbar-link {
+ color: #fff; }
+ .navbar.is-link .navbar-start > a.navbar-item:focus, .navbar.is-link .navbar-start > a.navbar-item:hover, .navbar.is-link .navbar-start > a.navbar-item.is-active,
+ .navbar.is-link .navbar-start .navbar-link:focus,
+ .navbar.is-link .navbar-start .navbar-link:hover,
+ .navbar.is-link .navbar-start .navbar-link.is-active,
+ .navbar.is-link .navbar-end > a.navbar-item:focus,
+ .navbar.is-link .navbar-end > a.navbar-item:hover,
+ .navbar.is-link .navbar-end > a.navbar-item.is-active,
+ .navbar.is-link .navbar-end .navbar-link:focus,
+ .navbar.is-link .navbar-end .navbar-link:hover,
+ .navbar.is-link .navbar-end .navbar-link.is-active {
+ background-color: #2366d1;
+ color: #fff; }
+ .navbar.is-link .navbar-start .navbar-link::after,
+ .navbar.is-link .navbar-end .navbar-link::after {
+ border-color: #fff; }
+ .navbar.is-link .navbar-item.has-dropdown:focus .navbar-link,
+ .navbar.is-link .navbar-item.has-dropdown:hover .navbar-link,
+ .navbar.is-link .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #2366d1;
+ color: #fff; }
+ .navbar.is-link .navbar-dropdown a.navbar-item.is-active {
+ background-color: #3273dc;
+ color: #fff; } }
+ .navbar.is-info {
+ background-color: #3298dc;
+ color: #fff; }
+ .navbar.is-info .navbar-brand > .navbar-item,
+ .navbar.is-info .navbar-brand .navbar-link {
+ color: #fff; }
+ .navbar.is-info .navbar-brand > a.navbar-item:focus, .navbar.is-info .navbar-brand > a.navbar-item:hover, .navbar.is-info .navbar-brand > a.navbar-item.is-active,
+ .navbar.is-info .navbar-brand .navbar-link:focus,
+ .navbar.is-info .navbar-brand .navbar-link:hover,
+ .navbar.is-info .navbar-brand .navbar-link.is-active {
+ background-color: #238cd1;
+ color: #fff; }
+ .navbar.is-info .navbar-brand .navbar-link::after {
+ border-color: #fff; }
+ .navbar.is-info .navbar-burger {
+ color: #fff; }
+ @media screen and (min-width: 1024px) {
+ .navbar.is-info .navbar-start > .navbar-item,
+ .navbar.is-info .navbar-start .navbar-link,
+ .navbar.is-info .navbar-end > .navbar-item,
+ .navbar.is-info .navbar-end .navbar-link {
+ color: #fff; }
+ .navbar.is-info .navbar-start > a.navbar-item:focus, .navbar.is-info .navbar-start > a.navbar-item:hover, .navbar.is-info .navbar-start > a.navbar-item.is-active,
+ .navbar.is-info .navbar-start .navbar-link:focus,
+ .navbar.is-info .navbar-start .navbar-link:hover,
+ .navbar.is-info .navbar-start .navbar-link.is-active,
+ .navbar.is-info .navbar-end > a.navbar-item:focus,
+ .navbar.is-info .navbar-end > a.navbar-item:hover,
+ .navbar.is-info .navbar-end > a.navbar-item.is-active,
+ .navbar.is-info .navbar-end .navbar-link:focus,
+ .navbar.is-info .navbar-end .navbar-link:hover,
+ .navbar.is-info .navbar-end .navbar-link.is-active {
+ background-color: #238cd1;
+ color: #fff; }
+ .navbar.is-info .navbar-start .navbar-link::after,
+ .navbar.is-info .navbar-end .navbar-link::after {
+ border-color: #fff; }
+ .navbar.is-info .navbar-item.has-dropdown:focus .navbar-link,
+ .navbar.is-info .navbar-item.has-dropdown:hover .navbar-link,
+ .navbar.is-info .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #238cd1;
+ color: #fff; }
+ .navbar.is-info .navbar-dropdown a.navbar-item.is-active {
+ background-color: #3298dc;
+ color: #fff; } }
+ .navbar.is-success {
+ background-color: #48c774;
+ color: #fff; }
+ .navbar.is-success .navbar-brand > .navbar-item,
+ .navbar.is-success .navbar-brand .navbar-link {
+ color: #fff; }
+ .navbar.is-success .navbar-brand > a.navbar-item:focus, .navbar.is-success .navbar-brand > a.navbar-item:hover, .navbar.is-success .navbar-brand > a.navbar-item.is-active,
+ .navbar.is-success .navbar-brand .navbar-link:focus,
+ .navbar.is-success .navbar-brand .navbar-link:hover,
+ .navbar.is-success .navbar-brand .navbar-link.is-active {
+ background-color: #3abb67;
+ color: #fff; }
+ .navbar.is-success .navbar-brand .navbar-link::after {
+ border-color: #fff; }
+ .navbar.is-success .navbar-burger {
+ color: #fff; }
+ @media screen and (min-width: 1024px) {
+ .navbar.is-success .navbar-start > .navbar-item,
+ .navbar.is-success .navbar-start .navbar-link,
+ .navbar.is-success .navbar-end > .navbar-item,
+ .navbar.is-success .navbar-end .navbar-link {
+ color: #fff; }
+ .navbar.is-success .navbar-start > a.navbar-item:focus, .navbar.is-success .navbar-start > a.navbar-item:hover, .navbar.is-success .navbar-start > a.navbar-item.is-active,
+ .navbar.is-success .navbar-start .navbar-link:focus,
+ .navbar.is-success .navbar-start .navbar-link:hover,
+ .navbar.is-success .navbar-start .navbar-link.is-active,
+ .navbar.is-success .navbar-end > a.navbar-item:focus,
+ .navbar.is-success .navbar-end > a.navbar-item:hover,
+ .navbar.is-success .navbar-end > a.navbar-item.is-active,
+ .navbar.is-success .navbar-end .navbar-link:focus,
+ .navbar.is-success .navbar-end .navbar-link:hover,
+ .navbar.is-success .navbar-end .navbar-link.is-active {
+ background-color: #3abb67;
+ color: #fff; }
+ .navbar.is-success .navbar-start .navbar-link::after,
+ .navbar.is-success .navbar-end .navbar-link::after {
+ border-color: #fff; }
+ .navbar.is-success .navbar-item.has-dropdown:focus .navbar-link,
+ .navbar.is-success .navbar-item.has-dropdown:hover .navbar-link,
+ .navbar.is-success .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #3abb67;
+ color: #fff; }
+ .navbar.is-success .navbar-dropdown a.navbar-item.is-active {
+ background-color: #48c774;
+ color: #fff; } }
+ .navbar.is-warning {
+ background-color: #ffdd57;
+ color: rgba(0, 0, 0, 0.7); }
+ .navbar.is-warning .navbar-brand > .navbar-item,
+ .navbar.is-warning .navbar-brand .navbar-link {
+ color: rgba(0, 0, 0, 0.7); }
+ .navbar.is-warning .navbar-brand > a.navbar-item:focus, .navbar.is-warning .navbar-brand > a.navbar-item:hover, .navbar.is-warning .navbar-brand > a.navbar-item.is-active,
+ .navbar.is-warning .navbar-brand .navbar-link:focus,
+ .navbar.is-warning .navbar-brand .navbar-link:hover,
+ .navbar.is-warning .navbar-brand .navbar-link.is-active {
+ background-color: #ffd83d;
+ color: rgba(0, 0, 0, 0.7); }
+ .navbar.is-warning .navbar-brand .navbar-link::after {
+ border-color: rgba(0, 0, 0, 0.7); }
+ .navbar.is-warning .navbar-burger {
+ color: rgba(0, 0, 0, 0.7); }
+ @media screen and (min-width: 1024px) {
+ .navbar.is-warning .navbar-start > .navbar-item,
+ .navbar.is-warning .navbar-start .navbar-link,
+ .navbar.is-warning .navbar-end > .navbar-item,
+ .navbar.is-warning .navbar-end .navbar-link {
+ color: rgba(0, 0, 0, 0.7); }
+ .navbar.is-warning .navbar-start > a.navbar-item:focus, .navbar.is-warning .navbar-start > a.navbar-item:hover, .navbar.is-warning .navbar-start > a.navbar-item.is-active,
+ .navbar.is-warning .navbar-start .navbar-link:focus,
+ .navbar.is-warning .navbar-start .navbar-link:hover,
+ .navbar.is-warning .navbar-start .navbar-link.is-active,
+ .navbar.is-warning .navbar-end > a.navbar-item:focus,
+ .navbar.is-warning .navbar-end > a.navbar-item:hover,
+ .navbar.is-warning .navbar-end > a.navbar-item.is-active,
+ .navbar.is-warning .navbar-end .navbar-link:focus,
+ .navbar.is-warning .navbar-end .navbar-link:hover,
+ .navbar.is-warning .navbar-end .navbar-link.is-active {
+ background-color: #ffd83d;
+ color: rgba(0, 0, 0, 0.7); }
+ .navbar.is-warning .navbar-start .navbar-link::after,
+ .navbar.is-warning .navbar-end .navbar-link::after {
+ border-color: rgba(0, 0, 0, 0.7); }
+ .navbar.is-warning .navbar-item.has-dropdown:focus .navbar-link,
+ .navbar.is-warning .navbar-item.has-dropdown:hover .navbar-link,
+ .navbar.is-warning .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #ffd83d;
+ color: rgba(0, 0, 0, 0.7); }
+ .navbar.is-warning .navbar-dropdown a.navbar-item.is-active {
+ background-color: #ffdd57;
+ color: rgba(0, 0, 0, 0.7); } }
+ .navbar.is-danger {
+ background-color: #f14668;
+ color: #fff; }
+ .navbar.is-danger .navbar-brand > .navbar-item,
+ .navbar.is-danger .navbar-brand .navbar-link {
+ color: #fff; }
+ .navbar.is-danger .navbar-brand > a.navbar-item:focus, .navbar.is-danger .navbar-brand > a.navbar-item:hover, .navbar.is-danger .navbar-brand > a.navbar-item.is-active,
+ .navbar.is-danger .navbar-brand .navbar-link:focus,
+ .navbar.is-danger .navbar-brand .navbar-link:hover,
+ .navbar.is-danger .navbar-brand .navbar-link.is-active {
+ background-color: #ef2e55;
+ color: #fff; }
+ .navbar.is-danger .navbar-brand .navbar-link::after {
+ border-color: #fff; }
+ .navbar.is-danger .navbar-burger {
+ color: #fff; }
+ @media screen and (min-width: 1024px) {
+ .navbar.is-danger .navbar-start > .navbar-item,
+ .navbar.is-danger .navbar-start .navbar-link,
+ .navbar.is-danger .navbar-end > .navbar-item,
+ .navbar.is-danger .navbar-end .navbar-link {
+ color: #fff; }
+ .navbar.is-danger .navbar-start > a.navbar-item:focus, .navbar.is-danger .navbar-start > a.navbar-item:hover, .navbar.is-danger .navbar-start > a.navbar-item.is-active,
+ .navbar.is-danger .navbar-start .navbar-link:focus,
+ .navbar.is-danger .navbar-start .navbar-link:hover,
+ .navbar.is-danger .navbar-start .navbar-link.is-active,
+ .navbar.is-danger .navbar-end > a.navbar-item:focus,
+ .navbar.is-danger .navbar-end > a.navbar-item:hover,
+ .navbar.is-danger .navbar-end > a.navbar-item.is-active,
+ .navbar.is-danger .navbar-end .navbar-link:focus,
+ .navbar.is-danger .navbar-end .navbar-link:hover,
+ .navbar.is-danger .navbar-end .navbar-link.is-active {
+ background-color: #ef2e55;
+ color: #fff; }
+ .navbar.is-danger .navbar-start .navbar-link::after,
+ .navbar.is-danger .navbar-end .navbar-link::after {
+ border-color: #fff; }
+ .navbar.is-danger .navbar-item.has-dropdown:focus .navbar-link,
+ .navbar.is-danger .navbar-item.has-dropdown:hover .navbar-link,
+ .navbar.is-danger .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #ef2e55;
+ color: #fff; }
+ .navbar.is-danger .navbar-dropdown a.navbar-item.is-active {
+ background-color: #f14668;
+ color: #fff; } }
+ .navbar > .container {
+ align-items: stretch;
+ display: flex;
+ min-height: 3.25rem;
+ width: 100%; }
+ .navbar.has-shadow {
+ box-shadow: 0 2px 0 0 whitesmoke; }
+ .navbar.is-fixed-bottom, .navbar.is-fixed-top {
+ left: 0;
+ position: fixed;
+ right: 0;
+ z-index: 30; }
+ .navbar.is-fixed-bottom {
+ bottom: 0; }
+ .navbar.is-fixed-bottom.has-shadow {
+ box-shadow: 0 -2px 0 0 whitesmoke; }
+ .navbar.is-fixed-top {
+ top: 0; }
+
+html.has-navbar-fixed-top,
+body.has-navbar-fixed-top {
+ padding-top: 3.25rem; }
+
+html.has-navbar-fixed-bottom,
+body.has-navbar-fixed-bottom {
+ padding-bottom: 3.25rem; }
+
+.navbar-brand,
+.navbar-tabs {
+ align-items: stretch;
+ display: flex;
+ flex-shrink: 0;
+ min-height: 3.25rem; }
+
+.navbar-brand a.navbar-item:focus, .navbar-brand a.navbar-item:hover {
+ background-color: transparent; }
+
+.navbar-tabs {
+ -webkit-overflow-scrolling: touch;
+ max-width: 100vw;
+ overflow-x: auto;
+ overflow-y: hidden; }
+
+.navbar-burger {
+ color: #4a4a4a;
+ cursor: pointer;
+ display: block;
+ height: 3.25rem;
+ position: relative;
+ width: 3.25rem;
+ margin-left: auto; }
+ .navbar-burger span {
+ background-color: currentColor;
+ display: block;
+ height: 1px;
+ left: calc(50% - 8px);
+ position: absolute;
+ transform-origin: center;
+ transition-duration: 86ms;
+ transition-property: background-color, opacity, transform;
+ transition-timing-function: ease-out;
+ width: 16px; }
+ .navbar-burger span:nth-child(1) {
+ top: calc(50% - 6px); }
+ .navbar-burger span:nth-child(2) {
+ top: calc(50% - 1px); }
+ .navbar-burger span:nth-child(3) {
+ top: calc(50% + 4px); }
+ .navbar-burger:hover {
+ background-color: rgba(0, 0, 0, 0.05); }
+ .navbar-burger.is-active span:nth-child(1) {
+ transform: translateY(5px) rotate(45deg); }
+ .navbar-burger.is-active span:nth-child(2) {
+ opacity: 0; }
+ .navbar-burger.is-active span:nth-child(3) {
+ transform: translateY(-5px) rotate(-45deg); }
+
+.navbar-menu {
+ display: none; }
+
+.navbar-item,
+.navbar-link {
+ color: #4a4a4a;
+ display: block;
+ line-height: 1.5;
+ padding: 0.5rem 0.75rem;
+ position: relative; }
+ .navbar-item .icon:only-child,
+ .navbar-link .icon:only-child {
+ margin-left: -0.25rem;
+ margin-right: -0.25rem; }
+
+a.navbar-item,
+.navbar-link {
+ cursor: pointer; }
+ a.navbar-item:focus, a.navbar-item:focus-within, a.navbar-item:hover, a.navbar-item.is-active,
+ .navbar-link:focus,
+ .navbar-link:focus-within,
+ .navbar-link:hover,
+ .navbar-link.is-active {
+ background-color: #fafafa;
+ color: #3273dc; }
+
+.navbar-item {
+ display: block;
+ flex-grow: 0;
+ flex-shrink: 0; }
+ .navbar-item img {
+ max-height: 1.75rem; }
+ .navbar-item.has-dropdown {
+ padding: 0; }
+ .navbar-item.is-expanded {
+ flex-grow: 1;
+ flex-shrink: 1; }
+ .navbar-item.is-tab {
+ border-bottom: 1px solid transparent;
+ min-height: 3.25rem;
+ padding-bottom: calc(0.5rem - 1px); }
+ .navbar-item.is-tab:focus, .navbar-item.is-tab:hover {
+ background-color: transparent;
+ border-bottom-color: #3273dc; }
+ .navbar-item.is-tab.is-active {
+ background-color: transparent;
+ border-bottom-color: #3273dc;
+ border-bottom-style: solid;
+ border-bottom-width: 3px;
+ color: #3273dc;
+ padding-bottom: calc(0.5rem - 3px); }
+
+.navbar-content {
+ flex-grow: 1;
+ flex-shrink: 1; }
+
+.navbar-link:not(.is-arrowless) {
+ padding-right: 2.5em; }
+ .navbar-link:not(.is-arrowless)::after {
+ border-color: #3273dc;
+ margin-top: -0.375em;
+ right: 1.125em; }
+
+.navbar-dropdown {
+ font-size: 0.875rem;
+ padding-bottom: 0.5rem;
+ padding-top: 0.5rem; }
+ .navbar-dropdown .navbar-item {
+ padding-left: 1.5rem;
+ padding-right: 1.5rem; }
+
+.navbar-divider {
+ background-color: whitesmoke;
+ border: none;
+ display: none;
+ height: 2px;
+ margin: 0.5rem 0; }
+
+@media screen and (max-width: 1023px) {
+ .navbar > .container {
+ display: block; }
+ .navbar-brand .navbar-item,
+ .navbar-tabs .navbar-item {
+ align-items: center;
+ display: flex; }
+ .navbar-link::after {
+ display: none; }
+ .navbar-menu {
+ background-color: white;
+ box-shadow: 0 8px 16px rgba(18, 12, 19, 0.1);
+ padding: 0.5rem 0; }
+ .navbar-menu.is-active {
+ display: block; }
+ .navbar.is-fixed-bottom-touch, .navbar.is-fixed-top-touch {
+ left: 0;
+ position: fixed;
+ right: 0;
+ z-index: 30; }
+ .navbar.is-fixed-bottom-touch {
+ bottom: 0; }
+ .navbar.is-fixed-bottom-touch.has-shadow {
+ box-shadow: 0 -2px 3px rgba(18, 12, 19, 0.1); }
+ .navbar.is-fixed-top-touch {
+ top: 0; }
+ .navbar.is-fixed-top .navbar-menu, .navbar.is-fixed-top-touch .navbar-menu {
+ -webkit-overflow-scrolling: touch;
+ max-height: calc(100vh - 3.25rem);
+ overflow: auto; }
+ html.has-navbar-fixed-top-touch,
+ body.has-navbar-fixed-top-touch {
+ padding-top: 3.25rem; }
+ html.has-navbar-fixed-bottom-touch,
+ body.has-navbar-fixed-bottom-touch {
+ padding-bottom: 3.25rem; } }
+
+@media screen and (min-width: 1024px) {
+ .navbar,
+ .navbar-menu,
+ .navbar-start,
+ .navbar-end {
+ align-items: stretch;
+ display: flex; }
+ .navbar {
+ min-height: 3.25rem; }
+ .navbar.is-spaced {
+ padding: 1rem 2rem; }
+ .navbar.is-spaced .navbar-start,
+ .navbar.is-spaced .navbar-end {
+ align-items: center; }
+ .navbar.is-spaced a.navbar-item,
+ .navbar.is-spaced .navbar-link {
+ border-radius: 4px; }
+ .navbar.is-transparent a.navbar-item:focus, .navbar.is-transparent a.navbar-item:hover, .navbar.is-transparent a.navbar-item.is-active,
+ .navbar.is-transparent .navbar-link:focus,
+ .navbar.is-transparent .navbar-link:hover,
+ .navbar.is-transparent .navbar-link.is-active {
+ background-color: transparent !important; }
+ .navbar.is-transparent .navbar-item.has-dropdown.is-active .navbar-link, .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus .navbar-link, .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus-within .navbar-link, .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:hover .navbar-link {
+ background-color: transparent !important; }
+ .navbar.is-transparent .navbar-dropdown a.navbar-item:focus, .navbar.is-transparent .navbar-dropdown a.navbar-item:hover {
+ background-color: whitesmoke;
+ color: #120c13; }
+ .navbar.is-transparent .navbar-dropdown a.navbar-item.is-active {
+ background-color: whitesmoke;
+ color: #3273dc; }
+ .navbar-burger {
+ display: none; }
+ .navbar-item,
+ .navbar-link {
+ align-items: center;
+ display: flex; }
+ .navbar-item {
+ display: flex; }
+ .navbar-item.has-dropdown {
+ align-items: stretch; }
+ .navbar-item.has-dropdown-up .navbar-link::after {
+ transform: rotate(135deg) translate(0.25em, -0.25em); }
+ .navbar-item.has-dropdown-up .navbar-dropdown {
+ border-bottom: 2px solid #dbdbdb;
+ border-radius: 6px 6px 0 0;
+ border-top: none;
+ bottom: 100%;
+ box-shadow: 0 -8px 8px rgba(18, 12, 19, 0.1);
+ top: auto; }
+ .navbar-item.is-active .navbar-dropdown, .navbar-item.is-hoverable:focus .navbar-dropdown, .navbar-item.is-hoverable:focus-within .navbar-dropdown, .navbar-item.is-hoverable:hover .navbar-dropdown {
+ display: block; }
+ .navbar.is-spaced .navbar-item.is-active .navbar-dropdown, .navbar-item.is-active .navbar-dropdown.is-boxed, .navbar.is-spaced .navbar-item.is-hoverable:focus .navbar-dropdown, .navbar-item.is-hoverable:focus .navbar-dropdown.is-boxed, .navbar.is-spaced .navbar-item.is-hoverable:focus-within .navbar-dropdown, .navbar-item.is-hoverable:focus-within .navbar-dropdown.is-boxed, .navbar.is-spaced .navbar-item.is-hoverable:hover .navbar-dropdown, .navbar-item.is-hoverable:hover .navbar-dropdown.is-boxed {
+ opacity: 1;
+ pointer-events: auto;
+ transform: translateY(0); }
+ .navbar-menu {
+ flex-grow: 1;
+ flex-shrink: 0; }
+ .navbar-start {
+ justify-content: flex-start;
+ margin-right: auto; }
+ .navbar-end {
+ justify-content: flex-end;
+ margin-left: auto; }
+ .navbar-dropdown {
+ background-color: white;
+ border-bottom-left-radius: 6px;
+ border-bottom-right-radius: 6px;
+ border-top: 2px solid #dbdbdb;
+ box-shadow: 0 8px 8px rgba(18, 12, 19, 0.1);
+ display: none;
+ font-size: 0.875rem;
+ left: 0;
+ min-width: 100%;
+ position: absolute;
+ top: 100%;
+ z-index: 20; }
+ .navbar-dropdown .navbar-item {
+ padding: 0.375rem 1rem;
+ white-space: nowrap; }
+ .navbar-dropdown a.navbar-item {
+ padding-right: 3rem; }
+ .navbar-dropdown a.navbar-item:focus, .navbar-dropdown a.navbar-item:hover {
+ background-color: whitesmoke;
+ color: #120c13; }
+ .navbar-dropdown a.navbar-item.is-active {
+ background-color: whitesmoke;
+ color: #3273dc; }
+ .navbar.is-spaced .navbar-dropdown, .navbar-dropdown.is-boxed {
+ border-radius: 6px;
+ border-top: none;
+ box-shadow: 0 8px 8px rgba(18, 12, 19, 0.1), 0 0 0 1px rgba(18, 12, 19, 0.1);
+ display: block;
+ opacity: 0;
+ pointer-events: none;
+ top: calc(100% + (-4px));
+ transform: translateY(-5px);
+ transition-duration: 86ms;
+ transition-property: opacity, transform; }
+ .navbar-dropdown.is-right {
+ left: auto;
+ right: 0; }
+ .navbar-divider {
+ display: block; }
+ .navbar > .container .navbar-brand,
+ .container > .navbar .navbar-brand {
+ margin-left: -.75rem; }
+ .navbar > .container .navbar-menu,
+ .container > .navbar .navbar-menu {
+ margin-right: -.75rem; }
+ .navbar.is-fixed-bottom-desktop, .navbar.is-fixed-top-desktop {
+ left: 0;
+ position: fixed;
+ right: 0;
+ z-index: 30; }
+ .navbar.is-fixed-bottom-desktop {
+ bottom: 0; }
+ .navbar.is-fixed-bottom-desktop.has-shadow {
+ box-shadow: 0 -2px 3px rgba(18, 12, 19, 0.1); }
+ .navbar.is-fixed-top-desktop {
+ top: 0; }
+ html.has-navbar-fixed-top-desktop,
+ body.has-navbar-fixed-top-desktop {
+ padding-top: 3.25rem; }
+ html.has-navbar-fixed-bottom-desktop,
+ body.has-navbar-fixed-bottom-desktop {
+ padding-bottom: 3.25rem; }
+ html.has-spaced-navbar-fixed-top,
+ body.has-spaced-navbar-fixed-top {
+ padding-top: 5.25rem; }
+ html.has-spaced-navbar-fixed-bottom,
+ body.has-spaced-navbar-fixed-bottom {
+ padding-bottom: 5.25rem; }
+ a.navbar-item.is-active,
+ .navbar-link.is-active {
+ color: #120c13; }
+ a.navbar-item.is-active:not(:focus):not(:hover),
+ .navbar-link.is-active:not(:focus):not(:hover) {
+ background-color: transparent; }
+ .navbar-item.has-dropdown:focus .navbar-link, .navbar-item.has-dropdown:hover .navbar-link, .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #fafafa; } }
+
+.hero.is-fullheight-with-navbar {
+ min-height: calc(100vh - 3.25rem); }
+
+.page {
+ display: flex;
+ flex-direction: row;
+ position: relative; }
+
+.content {
+ flex: 1; }
+
+.sidebar {
+ flex: 0 0 250px; }
+
+.content--login {
+ display: flex;
+ align-content: center;
+ justify-content: center; }
.flash {
- display: block;
- left: 0;
- margin-left: auto;
- margin-right: auto;
- max-width: 500px;
- opacity: 0;
- position: absolute;
- right: 0;
- text-align: center;
- top: 0;
- transition: opacity 3s ease-in-out;
-}
-
-.timerange {
- position: absolute;
- right: 0;
- top: 0;
-}
-
-.details__percent {
- font-weight: bold;
-}
-
-/* Figures */
-.figure {
- margin: 1em .5em;
-}
-.figure--graph {
-}
-.figure--map svg {
- max-width: 100%;
- max-height: 400px;
-}
+ display: block;
+ float: right;
+ max-width: 400px;
+ opacity: 0;
+ position: absolute;
+ right: .5em;
+ top: .5em;
+ transition: visibility 0s 2s, opacity 5s linear; }
+
+.notification {
+ display: block; }
+
+.figure svg {
+ max-width: 100%;
+ max-height: 400px; }
.chart {
- align-items: stretch;
- /*box-shadow: inset 0 1px 2px rgba(0,0,0,.1);*/
- display: flex;
- margin: 0;
- width: 100%;
-}
+ align-items: stretch;
+ /*box-shadow: inset 0 1px 2px rgba(0,0,0,.1);*/
+ display: flex;
+ margin: 0;
+ width: 100%; }
+
.chart.time {
- flex-direction: row;
- height: 200px;
- padding-top: 1em;
- padding-bottom: 1em;
-}
+ flex-direction: row;
+ height: 200px;
+ padding-top: 1em;
+ padding-bottom: 1em; }
+
.chart.vertical {
- align-items: stretch;
- flex-direction: row;
- min-height: 200px;
- padding-top: 2em;
- padding-bottom: 2em;
-}
+ align-items: stretch;
+ flex-direction: row;
+ min-height: 200px;
+ padding-top: 2em;
+ padding-bottom: 2em; }
+
.chart.horizontal {
- flex-direction: column;
- height: 300px;
- padding-left: 20px;
-}
+ flex-direction: column;
+ height: 300px;
+ padding-left: 20px; }
+
.chart .slot {
- background: #fafafa;
- display: block;
- flex: 1 1;
- margin: 0;
- position: relative;
-}
+ background: #fafafa;
+ display: block;
+ flex: 1 1;
+ margin: 0;
+ position: relative; }
+
.chart.horizontal .slot {
- margin-top: 1px;
- margin-bottom: 1px;
- max-height: 1.5em;
-}
+ margin-top: 1px;
+ margin-bottom: 1px;
+ max-height: 1.5em; }
+
.chart .slot.midnight {
- border-left: 1px solid #ddd;
-}
+ border-left: 1px solid #ddd; }
+
.chart .slot:hover {
- background: #f5f5f5;
-}
+ background: #f5f5f5; }
+
.chart .bar {
- background-color: #1abb9c;
- bottom: 0;
- left: 0;
- margin: 0;
- position: absolute;
-}
+ background-color: #1abb9c;
+ bottom: 0;
+ left: 0;
+ margin: 0;
+ position: absolute; }
+
.chart.time .bar,
.chart.vertical .bar {
- border-top-left-radius: 3px;
- border-top-right-radius: 3px;
- right: 0;
-}
+ border-top-left-radius: 3px;
+ border-top-right-radius: 3px;
+ right: 0; }
+
.chart.vertical .bar {
- margin-left: 2px;
- margin-right: 2px;
-}
+ margin-left: 2px;
+ margin-right: 2px; }
+
.chart.horizontal .bar {
- border-bottom-right-radius: 3px;
- border-top-right-radius: 3px;
- bottom: unset;
- height: 100%;
- right: unset;
- top: 0;
-}
+ border-bottom-right-radius: 3px;
+ border-top-right-radius: 3px;
+ bottom: unset;
+ height: 100%;
+ right: unset;
+ top: 0; }
+
.chart .slot:hover .bar {
- background: #88b6ff;
-}
+ background: #88b6ff; }
+
.chart .slot:hover:before,
.chart .slot:hover:after {
- display: block;
- position: relative;
-}
+ display: block;
+ position: relative; }
+
.chart .slot:before,
.chart .slot:after {
- content: attr(data-y);
- display: none;
- font-size: .75em;
-}
+ content: attr(data-y);
+ display: none;
+ font-size: .75em; }
+
.chart .slot:after {
- content: attr(data-x);
-}
+ content: attr(data-x); }
+
.chart.time .slot:before,
.chart.time .slot:after,
.chart.vertical .slot:before,
.chart.vertical .slot:after {
- bottom: 100%;
- left: 50%;
- margin-bottom: .5rem;
- margin-left: -3.5rem;
- position: absolute;
- text-align: center;
- width: 7rem;
-}
+ bottom: 100%;
+ left: 50%;
+ margin-bottom: .5rem;
+ margin-left: -3.5rem;
+ position: absolute;
+ text-align: center;
+ width: 7rem; }
+
.chart.time .slot:after,
.chart.vertical .slot:after {
- margin-top: .5rem;
- top: 100%;
-}
+ margin-top: .5rem;
+ top: 100%; }
+
.chart.horizontal .slot:before,
.chart.horizontal .slot:after {
- font-size: 1em;
- height: 100%;
- margin-left: 10px;
- margin-bottom: 0;
- position: absolute;
-}
+ font-size: 1em;
+ height: 100%;
+ margin-left: 10px;
+ margin-bottom: 0;
+ position: absolute; }
+
.chart.horizontal .slot:before {
- left: -20px;
- margin-left: 0;
- text-align: center;
- width: 20px;
-}
+ left: -20px;
+ margin-left: 0;
+ text-align: center;
+ width: 20px; }
+
.chart.horizontal .slot:after {
- left: 0;
- width: auto;
- z-index: 10;
-}
+ left: 0;
+ width: auto;
+ z-index: 10; }
diff --git a/tmpl/hitView.tmpl b/tmpl/hitView.tmpl
new file mode 100644
index 0000000..b5a5d05
--- /dev/null
+++ b/tmpl/hitView.tmpl
@@ -0,0 +1,136 @@
+{{ define "hitView" }}
+ {{ $siteID := .Site.ID }}
+ <section class="panel panel--wide">
+ <header class="panel__header">
+ <h3 class="panel__title">Hits</h3>
+ </header>
+ {{ if .Hits }}
+ <figure class="figure figure--graph">
+ {{ template "timeBarChart" .Hits }}
+ </figure>
+ {{ else }}
+ <p>No hits yet</p>
+ {{ end }}
+ </section>
+
+ {{ if .PageSet }}
+ <section class="panel">
+ <header class="panel__header">
+ <h3 class="panel__title">Top 10 pages</h3>
+ </header>
+ {{ if .PageSet.Count }}
+ <figure class="figure figure--graph">
+ {{ template "barChartHorizontal" .PageSet }}
+ </figure>
+
+ {{ $sum := .PageSet.YSum }}
+ <table class="table is-striped details details--pages">
+ {{range $i, $ps := .PageSet }}
+ {{ if lt $i 10 }}
+ <tr>
+ <td class="details__name">
+ <a href="/sites/{{ $siteID }}/pages?path={{ .Path }}">{{ .Path }}</a>
+ </td>
+ <td class="details__count"><span class="details__percent">{{ percent .Count $sum | round 1 }}%</span> ({{ .Count }})</td>
+ </tr>
+ {{ end }}
+ {{ end }}
+ </table>
+ {{ else }}
+ <p>No page views yet</p>
+ {{ end }}
+ </section>
+ {{ end }}
+
+ <section class="panel">
+ <header class="panel__header">
+ <h3 class="panel__title">Countries</h3>
+ </header>
+ {{ if .CountrySet }}
+ <figure class="figure figure--map">
+ {{ template "worldMap" .CountrySet }}
+ </figure>
+ {{ $sum := .CountrySet.YSum }}
+ <table class="table is-striped details details--countries">
+ {{ range .CountrySet }}
+ <tr>
+ <td class="details__name">{{ .Name | countryName }}</td>
+ <td class="details__count"><span class="details__percent">{{ percent .Count $sum | round 1 }}%</span> ({{ .Count }})</td>
+ </tr>
+ {{ end }}
+ </table>
+ {{ else }}
+ <p>No page views yet</p>
+ {{ end }}
+ </section>
+
+ <section class="panel">
+ <header class="panel__header">
+ <h3 class="panel__title">Referrers</h3>
+ </header>
+ {{ if .ReferrerSet }}
+ <figure class="figure figure--graph">
+ {{ template "barChart" .ReferrerSet }}
+ </figure>
+ {{ $sum := .ReferrerSet.YSum }}
+ <table class="table is-striped details details--referrers">
+ {{ range .ReferrerSet }}
+ <tr>
+ <td class="details__name">{{ .Name }}</td>
+ <td class="details__count"><span class="details__percent">{{ percent .Count $sum | round 1 }}%</span> ({{ .Count }})</td>
+ </tr>
+ {{ end }}
+ </table>
+ {{ else }}
+ <p>No referrers yet</p>
+ {{ end }}
+ </section>
+
+ <section class="panel">
+ <header class="panel__header">
+ <h3 class="panel__title">User agents</h3>
+ </header>
+ {{ if .Browsers }}
+ <figure class="figure figure--graph">
+ <img src="{{ piechart .Site.ID "b" .Begin .End }}" />
+ {{ template "barChart" .Browsers }}
+ </figure>
+ {{ $sum := .Browsers.YSum }}
+ <table class="table is-striped details details--browsers">
+ {{ range .Browsers }}
+ <tr>
+ <td class="details__name">{{ .Name }}</td>
+ <td class="details__count"><span class="details__percent">{{ percent .Count $sum | round 1 }}%</span> ({{ .Count }})</td>
+ </tr>
+ {{ end }}
+ </table>
+ {{ else }} <p>No browsers visits yet</p>
+ {{ end }}
+ </section>
+{{ end }}
+
+{{ define "siteSummary" }}
+ <section class="site__summary">
+ {{ with .Hits }}
+ <div class="summary">
+ <span class="summary__title">Total Hits</span>
+ <span class="summary__count">{{ .Count }}</span>
+ <span class="summary__comparison">for this period</span>
+ </div>
+ {{ end }}
+ {{ with .ReferrerSet }}
+ <div class="summary">
+ <span class="summary__title">Total Referrers</span>
+ <span class="summary__count">{{ .Count }}</span>
+ <!-- <span class="summary__comparison"></span> -->
+ </div>
+ {{ end }}
+ {{ with .Browsers }}
+ <div class="summary">
+ <span class="summary__title">Total Browsers</span>
+ <span class="summary__count">{{ .Count }}</span>
+ <!-- <span class="summary__comparison"></span> -->
+ </div>
+ {{ end }}
+ </section>
+{{ end }}
diff --git a/tmpl/layout.tmpl b/tmpl/layout.tmpl
index af0630c..3d46b75 100644
--- a/tmpl/layout.tmpl
+++ b/tmpl/layout.tmpl
@@ -7,28 +7,31 @@
</head>
<body>
{{ template "navbar" . }}
- <header class="mainnav">
- {{ if .Site }}
- <nav class="nav nav--site">
- <span class="nav__link nav__link--name">{{ .Site.Name }}</span>
- {{ if .Site.ID }}
- <a class="nav__link" href="/sites/{{ .Site.ID }}">Summary</a>
- <a class="nav__link" href="/sites/{{ .Site.ID }}/pages">Pages</a>
- <a class="nav__link" href="/sites/{{ .Site.ID }}/browsers">Browsers</a>
- <a class="nav__link" href="/sites/{{ .Site.ID }}/locations">Locations</a>
- <a class="nav__link" href="/sites/{{ .Site.ID }}/edit">Configure</a>
+ <section class="page">
+ {{ if .User }}
+ <div class="sidebar">
+ {{ if .Site }}
+ <nav class="nav nav--site">
+ <span class="nav__link nav__link--name">{{ .Site.Name }}</span>
+ {{ if .Site.ID }}
+ <a class="nav__link" href="/sites/{{ .Site.ID }}">Summary</a>
+ <a class="nav__link" href="/sites/{{ .Site.ID }}/pages">Pages</a>
+ <a class="nav__link" href="/sites/{{ .Site.ID }}/browsers">Browsers</a>
+ <a class="nav__link" href="/sites/{{ .Site.ID }}/locations">Locations</a>
+ <a class="nav__link" href="/sites/{{ .Site.ID }}/edit">Settings</a>
+ {{ end }}
+ </nav>
+ {{ else }}
+ <nav class="nav nav--sites">
+ <a class="nav__link" href="/sites">Sites</a>
+ <a class="nav__link" href="/sites/new"><i class="plus">&#43;</i> New site</a>
+ </nav>
{{ end }}
- <a class="nav__link nav__link--close" href="/sites/">&times;</a>
- </nav>
- {{ else }}
- <nav class="nav nav--sites">
- <a class="nav__link" href="/sites">Sites</a>
- <a class="nav__link" href="/sites/new"><i class="plus">&#43;</i> New site</a>
- </nav>
+ </div>
{{ end }}
- </header>
- {{ template "flash" . }}
- {{ template "content" . }}
+ {{ template "flash" . }}
+ {{ template "content" . }}
+ </section>
<footer></footer>
</body>
</html>
diff --git a/tmpl/login.tmpl b/tmpl/login.tmpl
index 8547d2c..307df42 100644
--- a/tmpl/login.tmpl
+++ b/tmpl/login.tmpl
@@ -1,16 +1,18 @@
{{ define "content" }}
<!-- login -->
- <main>
- <h2>Login</h2>
+ <main class="content content--login">
<form method="post" action="/login">
+ <h2>Login</h2>
<div class="field">
- <input type="email" name="email" placeholder="your email" required />
+ <label class="label">Email</label>
+ <input class="input" type="email" name="email" placeholder="your email" required />
</div>
<div class="field">
- <input type="password" name="password" placeholder="your password" required />
+ <label class="label">Password</label>
+ <input class="input" type="password" name="password" placeholder="your password" required />
</div>
<div class="field">
- <input type="submit" />
+ <input class="button is-primary" type="submit" name="login" />
</div>
</form>
</main>
diff --git a/tmpl/navbar.tmpl b/tmpl/navbar.tmpl
index 1b6230c..726a097 100644
--- a/tmpl/navbar.tmpl
+++ b/tmpl/navbar.tmpl
@@ -1,11 +1,35 @@
{{ define "navbar" }}
- <nav class="nav navbar">
- <a class="nav__link nav__link--logo" href="/">Logo</a>
- {{ if .User }}
- <a class="nav__link" href="/sites">Sites</a>
- <a class="nav__link nav__link--logout" href="/logout">Logout</a>
- {{ else }}
- <a class="nav__link nav__link--login" href="/login">Login</a>
- {{ end }}
+ <nav class="navbar is-black" role="navigation" aria-label="main navigation">
+ <div class="navbar-brand">
+ <a class="navbar-item" href="//{{ .Domain }}">
+ <img src="//{{ .Domain }}/logo.png" width="112" height="28">
+ </a>
+
+ <a role="button" class="navbar-burger burger" aria-label="menu" aria-expanded="false" data-target="navbarMain">
+ <span aria-hidden="true"></span>
+ <span aria-hidden="true"></span>
+ <span aria-hidden="true"></span>
+ </a>
+ </div>
+
+ <div id="navbarMain" class="navbar-menu">
+ <div class="navbar-start">
+ <a class="navbar-item" href="/"> Home </a>
+ <a class="navbar-item" href="/sites"> Sites </a>
+ </div>
+
+ <div class="navbar-end">
+ <div class="navbar-item">
+ <div class="buttons">
+ {{ if .User }}
+ <a class="button is-small is-light" href="/logout"> Log out </a>
+ {{ else }}
+ <a class="button is-small is-primary" href="/signup"> <strong>Sign up</strong> </a>
+ <a class="button is-small is-light" href="/login"> Log in </a>
+ {{ end }}
+ </div>
+ </div>
+ </div>
+ </div>
</nav>
{{ end }}
diff --git a/tmpl/pages.tmpl b/tmpl/pages.tmpl
new file mode 100644
index 0000000..1868f57
--- /dev/null
+++ b/tmpl/pages.tmpl
@@ -0,0 +1,11 @@
+{{ define "content" }}
+ <main class="content content--site">
+ <header class="site__header--page">
+ {{ with .Page }}
+ <h1 class="title--page">{{ .Path }}</h1>
+ <span class="title__description--page">{{ .Title }}</span>
+ {{ end }}
+ </header>
+ {{ template "hitView" . }}
+ </main>
+{{ end }}
diff --git a/tmpl/site.tmpl b/tmpl/site.tmpl
index 7ca2cdf..d506eca 100644
--- a/tmpl/site.tmpl
+++ b/tmpl/site.tmpl
@@ -1,13 +1,13 @@
{{ define "content" }}
- <main class="site">
- <header class="site__header">
+ <main class="content content--site">
+ <header class="header--site">
{{ if .Site.ID }}
{{ with .Site }}
- <h1 class="site__title">{{ .Name }}</h1>
- <span class="site__description">{{ .Description }}</span>
+ <h1 class="title--site">Site summary for {{ .Name }}</h1>
+ <span class="title__description--site">{{ .Description }}</span>
{{ end }}
{{ else }}
- <h1 class="site__title site__title--new">New Site</h1>
+ <h1 class="title--site">New Site</h1>
{{ end }}
</header>
@@ -17,12 +17,12 @@
{{ template "timerange" . }}
{{ end }}
{{ if .Hits }}
- {{ template "siteView" . }}
+ {{ template "hitView" . }}
{{ else }}
<form method="post" action="/sites{{ if .Site.ID }}/{{ .Site.ID }}{{ end }}">
{{ template "siteEdit" .Site }}
<div class="field">
- <input type="submit" />
+ <input class="button" type="submit" name="Save" />
</div>
</form>
{{ if .Site.ID }}
@@ -41,152 +41,19 @@
</li>
{{ end }}
-{{ define "siteView" }}
- <section class="panel panel--wide">
- <header class="panel__header">
- <h3 class="panel__title">Hits</h3>
- </header>
- {{ if .Hits }}
- <figure class="figure figure--graph">
- {{ template "timeBarChart" .Hits }}
- </figure>
- {{ else }}
- <p>No hits yet</p>
- {{ end }}
- </section>
-
- <section class="panel">
- <header class="panel__header">
- <h3 class="panel__title">Top 10 pages</h3>
- </header>
- {{ if .PageSet }}
- <figure class="figure figure--graph">
- {{ template "barChartHorizontal" .PageSet }}
- </figure>
-
- <!--
- <ul class="pages">
- {{ $pages := .PageSet }}
- {{ range .PageSet }}
- {{ template "pageForList" . }}
- <figure class="figure figure--graph">
- {{ $pathHits := $pages.GetPage .Path }}
- {{ template "timeBarChart" $pathHits }}
- </figure>
- {{ end }}
- </ul>
- -->
- {{ else }}
- <p>No page views yet</p>
- {{ end }}
- </section>
-
- <section class="panel">
- <header class="panel__header">
- <h3 class="panel__title">Countries</h3>
- </header>
- {{ if .CountrySet }}
- <figure class="figure figure--map">
- {{ template "worldMap" .CountrySet }}
- </figure>
- {{ $sum := .CountrySet.YSum }}
- <table class="details details--countries">
- {{ range .CountrySet }}
- <tr>
- <td class="details__name">{{ .Name }}</td>
- <td class="details__count"><span class="details__percent">{{ percent .Count $sum | round 1 }}%</span> ({{ .Count }})</td>
- </tr>
- {{ end }}
- </table>
- {{ else }}
- <p>No page views yet</p>
- {{ end }}
- </section>
-
- <section class="panel">
- <header class="panel__header">
- <h3 class="panel__title">Referrers</h3>
- </header>
- {{ if .ReferrerSet }}
- <figure class="figure figure--graph">
- {{ template "barChart" .ReferrerSet }}
- </figure>
- {{ $sum := .ReferrerSet.YSum }}
- <table class="details details--referrers">
- {{ range .ReferrerSet }}
- <tr>
- <td class="details__name">{{ .Name }}</td>
- <td class="details__count"><span class="details__percent">{{ percent .Count $sum | round 1 }}%</span> ({{ .Count }})</td>
- </tr>
- {{ end }}
- </table>
- {{ else }}
- <p>No referrers yet</p>
- {{ end }}
- </section>
-
- <section class="panel">
- <header class="panel__header">
- <h3 class="panel__title">User agents</h3>
- </header>
- {{ if .Browsers }}
- <figure class="figure figure--graph">
- <img src="{{ piechart .Site.ID "b" .Begin .End }}" />
- {{ template "barChart" .Browsers }}
- </figure>
- {{ $sum := .Browsers.YSum }}
- <table class="details details--browsers">
- {{ range .Browsers }}
- <tr>
- <td class="details__name">{{ .Name }}</td>
- <td class="details__count"><span class="details__percent">{{ percent .Count $sum | round 1 }}%</span> ({{ .Count }})</td>
- </tr>
- {{ end }}
- </table>
- {{ else }}
- <p>No browsers visits yet</p>
- {{ end }}
- </section>
-{{ end }}
-
-{{ define "siteSummary" }}
- <section class="site__summary">
- {{ with .Hits }}
- <div class="summary">
- <span class="summary__title">Total Hits</span>
- <span class="summary__count">{{ .Count }}</span>
- <span class="summary__comparison">for this period</span>
- </div>
- {{ end }}
- {{ with .ReferrerSet }}
- <div class="summary">
- <span class="summary__title">Total Referrers</span>
- <span class="summary__count">{{ .Count }}</span>
- <!-- <span class="summary__comparison"></span> -->
- </div>
- {{ end }}
- {{ with .Browsers }}
- <div class="summary">
- <span class="summary__title">Total Browsers</span>
- <span class="summary__count">{{ .Count }}</span>
- <!-- <span class="summary__comparison"></span> -->
- </div>
- {{ end }}
- </section>
-{{ end }}
{{ define "siteEdit" }}
<div class="field">
- <label class="field__label">Name</label>
- <input class="field__input" type="text" name="name" value="{{ .Name }}" placeholder="example.com" required />
+ <label class="label">Name</label>
+ <input class="input" type="text" name="name" value="{{ .Name }}" placeholder="example.com" required />
</div>
<div class="field">
- <label class="field__label">Description</label>
- <input class="field__input" type="text" name="description" value="{{ .Description }}" placeholder="site description" />
+ <label class="label">Description</label>
+ <input class="input" type="text" name="description" value="{{ .Description }}" placeholder="site description" />
</div>
<div class="field">
- <label class="field__label">Aliases</label>
- <input class="field__input" type="text" name="aliases" value="{{ .Aliases }}" placeholder="www.example.com" />
+ <label class="label">Aliases</label>
+ <input class="input" type="text" name="aliases" value="{{ .Aliases }}" placeholder="www.example.com" />
</div>
{{ end }}
diff --git a/tmpl/sites.tmpl b/tmpl/sites.tmpl
index c7a2002..c2cdb59 100644
--- a/tmpl/sites.tmpl
+++ b/tmpl/sites.tmpl
@@ -1,5 +1,5 @@
{{ define "content" }}
- <main>
+ <main class="content content--sites">
<header>
<h1>Sites</h1>
</header>
diff --git a/yarn.lock b/yarn.lock
index 3919ef4..6605e60 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,16 +2,1129 @@
# yarn lockfile v1
+abbrev@1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
+ integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
+
+ajv@^6.5.5:
+ version "6.12.0"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.0.tgz#06d60b96d87b8454a5adaba86e7854da629db4b7"
+ integrity sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==
+ dependencies:
+ fast-deep-equal "^3.1.1"
+ fast-json-stable-stringify "^2.0.0"
+ json-schema-traverse "^0.4.1"
+ uri-js "^4.2.2"
+
+amdefine@>=0.0.4:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
+ integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=
+
+ansi-regex@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
+ integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
+
+ansi-regex@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
+ integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=
+
+ansi-styles@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
+ integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=
+
+aproba@^1.0.3:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
+ integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
+
+are-we-there-yet@~1.1.2:
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21"
+ integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==
+ dependencies:
+ delegates "^1.0.0"
+ readable-stream "^2.0.6"
+
+array-find-index@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
+ integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=
+
+asn1@~0.2.3:
+ version "0.2.4"
+ resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136"
+ integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==
+ dependencies:
+ safer-buffer "~2.1.0"
+
+assert-plus@1.0.0, assert-plus@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
+ integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
+
+async-foreach@^0.1.3:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542"
+ integrity sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=
+
+asynckit@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
+ integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
+
+aws-sign2@~0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
+ integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=
+
+aws4@^1.8.0:
+ version "1.9.1"
+ resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.9.1.tgz#7e33d8f7d449b3f673cd72deb9abdc552dbe528e"
+ integrity sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==
+
+balanced-match@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
+ integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
+
+bcrypt-pbkdf@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"
+ integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=
+ dependencies:
+ tweetnacl "^0.14.3"
+
+block-stream@*:
+ version "0.0.9"
+ resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a"
+ integrity sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=
+ dependencies:
+ inherits "~2.0.0"
+
+brace-expansion@^1.1.7:
+ version "1.1.11"
+ resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
+ integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
+ dependencies:
+ balanced-match "^1.0.0"
+ concat-map "0.0.1"
+
+bulma@^0.8.0:
+ version "0.8.0"
+ resolved "https://registry.yarnpkg.com/bulma/-/bulma-0.8.0.tgz#ac1606431703a4761b18a4a2d5cc1fa864a2aece"
+ integrity sha512-nhf3rGyiZh/VM7FrSJ/5KeLlfaFkXz0nYcXriynfPH4vVpnxnqyEwaNGdNCVzHyyCA3cHgkQAMpdF/SFbFGZfA==
+
+camelcase-keys@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7"
+ integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc=
+ dependencies:
+ camelcase "^2.0.0"
+ map-obj "^1.0.0"
+
+camelcase@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"
+ integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=
+
+camelcase@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"
+ integrity sha1-MvxLn82vhF/N9+c7uXysImHwqwo=
+
+caseless@~0.12.0:
+ version "0.12.0"
+ resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
+ integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
+
+chalk@^1.1.1:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
+ integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
+ dependencies:
+ ansi-styles "^2.2.1"
+ escape-string-regexp "^1.0.2"
+ has-ansi "^2.0.0"
+ strip-ansi "^3.0.0"
+ supports-color "^2.0.0"
+
+cliui@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d"
+ integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=
+ dependencies:
+ string-width "^1.0.1"
+ strip-ansi "^3.0.1"
+ wrap-ansi "^2.0.0"
+
+code-point-at@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
+ integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=
+
+combined-stream@^1.0.6, combined-stream@~1.0.6:
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
+ integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
+ dependencies:
+ delayed-stream "~1.0.0"
+
commander@~2.20.3:
version "2.20.3"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
+concat-map@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
+ integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
+
+console-control-strings@^1.0.0, console-control-strings@~1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
+ integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=
+
+core-util-is@1.0.2, core-util-is@~1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
+ integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
+
+cross-spawn@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982"
+ integrity sha1-ElYDfsufDF9549bvE14wdwGEuYI=
+ dependencies:
+ lru-cache "^4.0.1"
+ which "^1.2.9"
+
+currently-unhandled@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
+ integrity sha1-mI3zP+qxke95mmE2nddsF635V+o=
+ dependencies:
+ array-find-index "^1.0.1"
+
+dashdash@^1.12.0:
+ version "1.14.1"
+ resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
+ integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=
+ dependencies:
+ assert-plus "^1.0.0"
+
+decamelize@^1.1.1, decamelize@^1.1.2:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
+ integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
+
+delayed-stream@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
+ integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
+
+delegates@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
+ integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=
+
+ecc-jsbn@~0.1.1:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
+ integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=
+ dependencies:
+ jsbn "~0.1.0"
+ safer-buffer "^2.1.0"
+
+error-ex@^1.2.0:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
+ integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
+ dependencies:
+ is-arrayish "^0.2.1"
+
+escape-string-regexp@^1.0.2:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
+ integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
+
+extend@~3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
+ integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
+
+extsprintf@1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
+ integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=
+
+extsprintf@^1.2.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
+ integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=
+
+fast-deep-equal@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4"
+ integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==
+
+fast-json-stable-stringify@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
+ integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
+
+find-up@^1.0.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
+ integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=
+ dependencies:
+ path-exists "^2.0.0"
+ pinkie-promise "^2.0.0"
+
+forever-agent@~0.6.1:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
+ integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=
+
+form-data@~2.3.2:
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
+ integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "^1.0.6"
+ mime-types "^2.1.12"
+
+fs.realpath@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
+ integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
+
+fstream@^1.0.0, fstream@^1.0.12:
+ version "1.0.12"
+ resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045"
+ integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==
+ dependencies:
+ graceful-fs "^4.1.2"
+ inherits "~2.0.0"
+ mkdirp ">=0.5 0"
+ rimraf "2"
+
+gauge@~2.7.3:
+ version "2.7.4"
+ resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
+ integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=
+ dependencies:
+ aproba "^1.0.3"
+ console-control-strings "^1.0.0"
+ has-unicode "^2.0.0"
+ object-assign "^4.1.0"
+ signal-exit "^3.0.0"
+ string-width "^1.0.1"
+ strip-ansi "^3.0.1"
+ wide-align "^1.1.0"
+
+gaze@^1.0.0:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a"
+ integrity sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==
+ dependencies:
+ globule "^1.0.0"
+
+get-caller-file@^1.0.1:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a"
+ integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==
+
+get-stdin@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
+ integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=
+
+getpass@^0.1.1:
+ version "0.1.7"
+ resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
+ integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=
+ dependencies:
+ assert-plus "^1.0.0"
+
+glob@^7.0.0, glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@~7.1.1:
+ version "7.1.6"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
+ integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.0.4"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+globule@^1.0.0:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.1.tgz#90a25338f22b7fbeb527cee63c629aea754d33b9"
+ integrity sha512-OVyWOHgw29yosRHCHo7NncwR1hW5ew0W/UrvtwvjefVJeQ26q4/8r8FmPsSF1hJ93IgWkyv16pCTz6WblMzm/g==
+ dependencies:
+ glob "~7.1.1"
+ lodash "~4.17.12"
+ minimatch "~3.0.2"
+
+graceful-fs@^4.1.2:
+ version "4.2.3"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423"
+ integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==
+
+har-schema@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
+ integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=
+
+har-validator@~5.1.3:
+ version "5.1.3"
+ resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080"
+ integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==
+ dependencies:
+ ajv "^6.5.5"
+ har-schema "^2.0.0"
+
+has-ansi@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
+ integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=
+ dependencies:
+ ansi-regex "^2.0.0"
+
+has-unicode@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
+ integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=
+
+hosted-git-info@^2.1.4:
+ version "2.8.8"
+ resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488"
+ integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==
+
+http-signature@~1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
+ integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=
+ dependencies:
+ assert-plus "^1.0.0"
+ jsprim "^1.2.2"
+ sshpk "^1.7.0"
+
+in-publish@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.1.tgz#948b1a535c8030561cea522f73f78f4be357e00c"
+ integrity sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==
+
+indent-string@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80"
+ integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=
+ dependencies:
+ repeating "^2.0.0"
+
+inflight@^1.0.4:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
+ integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
+ dependencies:
+ once "^1.3.0"
+ wrappy "1"
+
+inherits@2, inherits@~2.0.0, inherits@~2.0.3:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
+ integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
+
+invert-kv@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
+ integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY=
+
+is-arrayish@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
+ integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
+
+is-finite@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3"
+ integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==
+
+is-fullwidth-code-point@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
+ integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs=
+ dependencies:
+ number-is-nan "^1.0.0"
+
+is-fullwidth-code-point@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
+ integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
+
+is-typedarray@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
+ integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
+
+is-utf8@^0.2.0:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
+ integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=
+
+isarray@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
+ integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
+
+isexe@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
+ integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
+
+isstream@~0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
+ integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
+
+js-base64@^2.1.8:
+ version "2.5.2"
+ resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.2.tgz#313b6274dda718f714d00b3330bbae6e38e90209"
+ integrity sha512-Vg8czh0Q7sFBSUMWWArX/miJeBWYBPpdU/3M/DKSaekLMqrqVPaedp+5mZhie/r0lgrcaYBfwXatEew6gwgiQQ==
+
+jsbn@~0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
+ integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM=
+
+json-schema-traverse@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
+ integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
+
+json-schema@0.2.3:
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
+ integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=
+
+json-stringify-safe@~5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
+ integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
+
+jsprim@^1.2.2:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
+ integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=
+ dependencies:
+ assert-plus "1.0.0"
+ extsprintf "1.3.0"
+ json-schema "0.2.3"
+ verror "1.10.0"
+
+lcid@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
+ integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=
+ dependencies:
+ invert-kv "^1.0.0"
+
+load-json-file@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
+ integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=
+ dependencies:
+ graceful-fs "^4.1.2"
+ parse-json "^2.2.0"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+ strip-bom "^2.0.0"
+
+lodash@^4.0.0, lodash@^4.17.15, lodash@~4.17.12:
+ version "4.17.15"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
+ integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
+
+loud-rejection@^1.0.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f"
+ integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=
+ dependencies:
+ currently-unhandled "^0.4.1"
+ signal-exit "^3.0.0"
+
+lru-cache@^4.0.1:
+ version "4.1.5"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"
+ integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==
+ dependencies:
+ pseudomap "^1.0.2"
+ yallist "^2.1.2"
+
+map-obj@^1.0.0, map-obj@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
+ integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=
+
+meow@^3.7.0:
+ version "3.7.0"
+ resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
+ integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=
+ dependencies:
+ camelcase-keys "^2.0.0"
+ decamelize "^1.1.2"
+ loud-rejection "^1.0.0"
+ map-obj "^1.0.1"
+ minimist "^1.1.3"
+ normalize-package-data "^2.3.4"
+ object-assign "^4.0.1"
+ read-pkg-up "^1.0.1"
+ redent "^1.0.0"
+ trim-newlines "^1.0.0"
+
+mime-db@1.43.0:
+ version "1.43.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.43.0.tgz#0a12e0502650e473d735535050e7c8f4eb4fae58"
+ integrity sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==
+
+mime-types@^2.1.12, mime-types@~2.1.19:
+ version "2.1.26"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.26.tgz#9c921fc09b7e149a65dfdc0da4d20997200b0a06"
+ integrity sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==
+ dependencies:
+ mime-db "1.43.0"
+
+minimatch@^3.0.4, minimatch@~3.0.2:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
+ integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
+ dependencies:
+ brace-expansion "^1.1.7"
+
+minimist@^1.1.3, minimist@^1.2.5:
+ version "1.2.5"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
+ integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
+
+"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1:
+ version "0.5.3"
+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.3.tgz#5a514b7179259287952881e94410ec5465659f8c"
+ integrity sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==
+ dependencies:
+ minimist "^1.2.5"
+
+nan@^2.13.2:
+ version "2.14.0"
+ resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c"
+ integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==
+
+node-gyp@^3.8.0:
+ version "3.8.0"
+ resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.8.0.tgz#540304261c330e80d0d5edce253a68cb3964218c"
+ integrity sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==
+ dependencies:
+ fstream "^1.0.0"
+ glob "^7.0.3"
+ graceful-fs "^4.1.2"
+ mkdirp "^0.5.0"
+ nopt "2 || 3"
+ npmlog "0 || 1 || 2 || 3 || 4"
+ osenv "0"
+ request "^2.87.0"
+ rimraf "2"
+ semver "~5.3.0"
+ tar "^2.0.0"
+ which "1"
+
+node-sass@^4.13.1:
+ version "4.13.1"
+ resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.13.1.tgz#9db5689696bb2eec2c32b98bfea4c7a2e992d0a3"
+ integrity sha512-TTWFx+ZhyDx1Biiez2nB0L3YrCZ/8oHagaDalbuBSlqXgUPsdkUSzJsVxeDO9LtPB49+Fh3WQl3slABo6AotNw==
+ dependencies:
+ async-foreach "^0.1.3"
+ chalk "^1.1.1"
+ cross-spawn "^3.0.0"
+ gaze "^1.0.0"
+ get-stdin "^4.0.1"
+ glob "^7.0.3"
+ in-publish "^2.0.0"
+ lodash "^4.17.15"
+ meow "^3.7.0"
+ mkdirp "^0.5.1"
+ nan "^2.13.2"
+ node-gyp "^3.8.0"
+ npmlog "^4.0.0"
+ request "^2.88.0"
+ sass-graph "^2.2.4"
+ stdout-stream "^1.4.0"
+ "true-case-path" "^1.0.2"
+
+"nopt@2 || 3":
+ version "3.0.6"
+ resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
+ integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k=
+ dependencies:
+ abbrev "1"
+
+normalize-package-data@^2.3.2, normalize-package-data@^2.3.4:
+ version "2.5.0"
+ resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
+ integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==
+ dependencies:
+ hosted-git-info "^2.1.4"
+ resolve "^1.10.0"
+ semver "2 || 3 || 4 || 5"
+ validate-npm-package-license "^3.0.1"
+
+"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
+ integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
+ dependencies:
+ are-we-there-yet "~1.1.2"
+ console-control-strings "~1.1.0"
+ gauge "~2.7.3"
+ set-blocking "~2.0.0"
+
+number-is-nan@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
+ integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
+
+oauth-sign@~0.9.0:
+ version "0.9.0"
+ resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
+ integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
+
+object-assign@^4.0.1, object-assign@^4.1.0:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
+ integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
+
+once@^1.3.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
+ integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
+ dependencies:
+ wrappy "1"
+
+os-homedir@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
+ integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M=
+
+os-locale@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9"
+ integrity sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=
+ dependencies:
+ lcid "^1.0.0"
+
+os-tmpdir@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
+ integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
+
+osenv@0:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
+ integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==
+ dependencies:
+ os-homedir "^1.0.0"
+ os-tmpdir "^1.0.0"
+
+parse-json@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
+ integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=
+ dependencies:
+ error-ex "^1.2.0"
+
+path-exists@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
+ integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=
+ dependencies:
+ pinkie-promise "^2.0.0"
+
+path-is-absolute@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
+ integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
+
+path-parse@^1.0.6:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
+ integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
+
+path-type@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
+ integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=
+ dependencies:
+ graceful-fs "^4.1.2"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+
+performance-now@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
+ integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
+
+pify@^2.0.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
+ integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw=
+
+pinkie-promise@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
+ integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o=
+ dependencies:
+ pinkie "^2.0.0"
+
+pinkie@^2.0.0:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
+ integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA=
+
+process-nextick-args@~2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
+ integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
+
+pseudomap@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
+ integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM=
+
+psl@^1.1.28:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/psl/-/psl-1.7.0.tgz#f1c4c47a8ef97167dea5d6bbf4816d736e884a3c"
+ integrity sha512-5NsSEDv8zY70ScRnOTn7bK7eanl2MvFrOrS/R6x+dBt5g1ghnj9Zv90kO8GwT8gxcu2ANyFprnFYB85IogIJOQ==
+
+punycode@^2.1.0, punycode@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
+ integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
+
+qs@~6.5.2:
+ version "6.5.2"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
+ integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
+
+read-pkg-up@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
+ integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=
+ dependencies:
+ find-up "^1.0.0"
+ read-pkg "^1.0.0"
+
+read-pkg@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
+ integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=
+ dependencies:
+ load-json-file "^1.0.0"
+ normalize-package-data "^2.3.2"
+ path-type "^1.0.0"
+
+readable-stream@^2.0.1, readable-stream@^2.0.6:
+ version "2.3.7"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
+ integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.3"
+ isarray "~1.0.0"
+ process-nextick-args "~2.0.0"
+ safe-buffer "~5.1.1"
+ string_decoder "~1.1.1"
+ util-deprecate "~1.0.1"
+
+redent@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"
+ integrity sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=
+ dependencies:
+ indent-string "^2.1.0"
+ strip-indent "^1.0.1"
+
+repeating@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
+ integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=
+ dependencies:
+ is-finite "^1.0.0"
+
+request@^2.87.0, request@^2.88.0:
+ version "2.88.2"
+ resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
+ integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
+ dependencies:
+ aws-sign2 "~0.7.0"
+ aws4 "^1.8.0"
+ caseless "~0.12.0"
+ combined-stream "~1.0.6"
+ extend "~3.0.2"
+ forever-agent "~0.6.1"
+ form-data "~2.3.2"
+ har-validator "~5.1.3"
+ http-signature "~1.2.0"
+ is-typedarray "~1.0.0"
+ isstream "~0.1.2"
+ json-stringify-safe "~5.0.1"
+ mime-types "~2.1.19"
+ oauth-sign "~0.9.0"
+ performance-now "^2.1.0"
+ qs "~6.5.2"
+ safe-buffer "^5.1.2"
+ tough-cookie "~2.5.0"
+ tunnel-agent "^0.6.0"
+ uuid "^3.3.2"
+
+require-directory@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
+ integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
+
+require-main-filename@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
+ integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=
+
+resolve@^1.10.0:
+ version "1.15.1"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.15.1.tgz#27bdcdeffeaf2d6244b95bb0f9f4b4653451f3e8"
+ integrity sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==
+ dependencies:
+ path-parse "^1.0.6"
+
+rimraf@2:
+ version "2.7.1"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
+ integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
+ dependencies:
+ glob "^7.1.3"
+
+safe-buffer@^5.0.1, safe-buffer@^5.1.2:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519"
+ integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==
+
+safe-buffer@~5.1.0, safe-buffer@~5.1.1:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
+ integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
+
+safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
+ integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
+
+sass-graph@^2.2.4:
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.4.tgz#13fbd63cd1caf0908b9fd93476ad43a51d1e0b49"
+ integrity sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=
+ dependencies:
+ glob "^7.0.0"
+ lodash "^4.0.0"
+ scss-tokenizer "^0.2.3"
+ yargs "^7.0.0"
+
+scss-tokenizer@^0.2.3:
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1"
+ integrity sha1-jrBtualyMzOCTT9VMGQRSYR85dE=
+ dependencies:
+ js-base64 "^2.1.8"
+ source-map "^0.4.2"
+
+"semver@2 || 3 || 4 || 5":
+ version "5.7.1"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
+ integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
+
+semver@~5.3.0:
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
+ integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8=
+
+set-blocking@^2.0.0, set-blocking@~2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
+ integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
+
+signal-exit@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
+ integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=
+
+source-map@^0.4.2:
+ version "0.4.4"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b"
+ integrity sha1-66T12pwNyZneaAMti092FzZSA2s=
+ dependencies:
+ amdefine ">=0.0.4"
+
source-map@~0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
+spdx-correct@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4"
+ integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==
+ dependencies:
+ spdx-expression-parse "^3.0.0"
+ spdx-license-ids "^3.0.0"
+
+spdx-exceptions@^2.1.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977"
+ integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==
+
+spdx-expression-parse@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0"
+ integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==
+ dependencies:
+ spdx-exceptions "^2.1.0"
+ spdx-license-ids "^3.0.0"
+
+spdx-license-ids@^3.0.0:
+ version "3.0.5"
+ resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654"
+ integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==
+
+sshpk@^1.7.0:
+ version "1.16.1"
+ resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877"
+ integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==
+ dependencies:
+ asn1 "~0.2.3"
+ assert-plus "^1.0.0"
+ bcrypt-pbkdf "^1.0.0"
+ dashdash "^1.12.0"
+ ecc-jsbn "~0.1.1"
+ getpass "^0.1.1"
+ jsbn "~0.1.0"
+ safer-buffer "^2.0.2"
+ tweetnacl "~0.14.0"
+
+stdout-stream@^1.4.0:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.1.tgz#5ac174cdd5cd726104aa0c0b2bd83815d8d535de"
+ integrity sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==
+ dependencies:
+ readable-stream "^2.0.1"
+
+string-width@^1.0.1, string-width@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
+ integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=
+ dependencies:
+ code-point-at "^1.0.0"
+ is-fullwidth-code-point "^1.0.0"
+ strip-ansi "^3.0.0"
+
+"string-width@^1.0.2 || 2":
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
+ integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
+ dependencies:
+ is-fullwidth-code-point "^2.0.0"
+ strip-ansi "^4.0.0"
+
+string_decoder@~1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
+ integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
+ dependencies:
+ safe-buffer "~5.1.0"
+
+strip-ansi@^3.0.0, strip-ansi@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
+ integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=
+ dependencies:
+ ansi-regex "^2.0.0"
+
+strip-ansi@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
+ integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8=
+ dependencies:
+ ansi-regex "^3.0.0"
+
+strip-bom@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
+ integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=
+ dependencies:
+ is-utf8 "^0.2.0"
+
+strip-indent@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2"
+ integrity sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=
+ dependencies:
+ get-stdin "^4.0.1"
+
+supports-color@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
+ integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
+
+tar@^2.0.0:
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.2.tgz#0ca8848562c7299b8b446ff6a4d60cdbb23edc40"
+ integrity sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==
+ dependencies:
+ block-stream "*"
+ fstream "^1.0.12"
+ inherits "2"
+
+tough-cookie@~2.5.0:
+ version "2.5.0"
+ resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
+ integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
+ dependencies:
+ psl "^1.1.28"
+ punycode "^2.1.1"
+
+trim-newlines@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
+ integrity sha1-WIeWa7WCpFA6QetST301ARgVphM=
+
+"true-case-path@^1.0.2":
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.3.tgz#f813b5a8c86b40da59606722b144e3225799f47d"
+ integrity sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==
+ dependencies:
+ glob "^7.1.2"
+
+tunnel-agent@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
+ integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=
+ dependencies:
+ safe-buffer "^5.0.1"
+
+tweetnacl@^0.14.3, tweetnacl@~0.14.0:
+ version "0.14.5"
+ resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
+ integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
+
uglify-js@3.8.0:
version "3.8.0"
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.8.0.tgz#f3541ae97b2f048d7e7e3aa4f39fd8a1f5d7a805"
@@ -19,3 +1132,105 @@ uglify-js@3.8.0:
dependencies:
commander "~2.20.3"
source-map "~0.6.1"
+
+uri-js@^4.2.2:
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0"
+ integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==
+ dependencies:
+ punycode "^2.1.0"
+
+util-deprecate@~1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
+ integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
+
+uuid@^3.3.2:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
+ integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
+
+validate-npm-package-license@^3.0.1:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"
+ integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==
+ dependencies:
+ spdx-correct "^3.0.0"
+ spdx-expression-parse "^3.0.0"
+
+verror@1.10.0:
+ version "1.10.0"
+ resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
+ integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=
+ dependencies:
+ assert-plus "^1.0.0"
+ core-util-is "1.0.2"
+ extsprintf "^1.2.0"
+
+which-module@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f"
+ integrity sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=
+
+which@1, which@^1.2.9:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
+ integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
+ dependencies:
+ isexe "^2.0.0"
+
+wide-align@^1.1.0:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457"
+ integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==
+ dependencies:
+ string-width "^1.0.2 || 2"
+
+wrap-ansi@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
+ integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=
+ dependencies:
+ string-width "^1.0.1"
+ strip-ansi "^3.0.1"
+
+wrappy@1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
+ integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
+
+y18n@^3.2.1:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41"
+ integrity sha1-bRX7qITAhnnA136I53WegR4H+kE=
+
+yallist@^2.1.2:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
+ integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=
+
+yargs-parser@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a"
+ integrity sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=
+ dependencies:
+ camelcase "^3.0.0"
+
+yargs@^7.0.0:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8"
+ integrity sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=
+ dependencies:
+ camelcase "^3.0.0"
+ cliui "^3.2.0"
+ decamelize "^1.1.1"
+ get-caller-file "^1.0.1"
+ os-locale "^1.4.0"
+ read-pkg-up "^1.0.1"
+ require-directory "^2.1.1"
+ require-main-filename "^1.0.1"
+ set-blocking "^2.0.0"
+ string-width "^1.0.2"
+ which-module "^1.0.0"
+ y18n "^3.2.1"
+ yargs-parser "^5.0.0"