diff options
-rw-r--r-- | boardvoting.go | 2 | ||||
-rw-r--r-- | forms.go | 26 | ||||
-rw-r--r-- | semantic.json | 23 | ||||
-rw-r--r-- | static/semantic.css | 12179 | ||||
-rw-r--r-- | static/semantic.js | 10218 | ||||
-rw-r--r-- | static/semantic.min.css | 231 | ||||
-rw-r--r-- | static/semantic.min.js | 16 | ||||
-rw-r--r-- | templates/create_motion_form.html | 140 | ||||
-rw-r--r-- | templates/denied.html | 22 | ||||
-rw-r--r-- | templates/direct_vote_form.html | 41 | ||||
-rw-r--r-- | templates/edit_motion_form.html | 139 | ||||
-rw-r--r-- | templates/header.html | 16 | ||||
-rw-r--r-- | templates/motion.html | 32 | ||||
-rw-r--r-- | templates/motion_fragments.html | 144 | ||||
-rw-r--r-- | templates/motions.html | 80 | ||||
-rw-r--r-- | templates/proxy_vote_form.html | 105 | ||||
-rw-r--r-- | templates/withdraw_motion_form.html | 35 |
17 files changed, 434 insertions, 23015 deletions
diff --git a/boardvoting.go b/boardvoting.go index 28278c0..c93709c 100644 --- a/boardvoting.go +++ b/boardvoting.go @@ -79,7 +79,7 @@ func authenticateRequest(w http.ResponseWriter, r *http.Request, handler func(ht needsAuth, ok := r.Context().Value(ctxNeedsAuth).(bool) if ok && needsAuth { w.WriteHeader(http.StatusForbidden) - renderTemplate(w, []string{"denied.html"}, nil) + renderTemplate(w, []string{"denied.html", "header.html", "footer.html"}, nil) return } handler(w, r) @@ -29,22 +29,22 @@ func (f *NewDecisionForm) Validate() (bool, *Decision) { data.Title = strings.TrimSpace(f.Title) if len(data.Title) < 3 { - f.Errors["Title"] = "Please enter at least 3 characters." + f.Errors["Title"] = "Please enter at least 3 characters for Title." } data.Content = strings.TrimSpace(f.Content) if len(strings.Fields(data.Content)) < 3 { - f.Errors["Content"] = "Please enter at least 3 words." + f.Errors["Content"] = "Please enter at least 3 words as Text." } if voteType, err := strconv.ParseUint(f.VoteType, 10, 8); err != nil || (voteType != 0 && voteType != 1) { - f.Errors["VoteType"] = fmt.Sprint("Please choose a valid vote type", err) + f.Errors["VoteType"] = fmt.Sprint("Please choose a valid vote type.", err) } else { data.VoteType = VoteType(uint8(voteType)) } if dueDuration, ok := validDueDurations[f.Due]; !ok { - f.Errors["Due"] = "Please choose a valid due date" + f.Errors["Due"] = "Please choose a valid due date." } else { year, month, day := time.Now().UTC().Add(dueDuration).Date() data.Due = time.Date(year, month, day, 23, 59, 59, 0, time.UTC) @@ -69,22 +69,22 @@ func (f *EditDecisionForm) Validate() (bool, *Decision) { data.Title = strings.TrimSpace(f.Title) if len(data.Title) < 3 { - f.Errors["Title"] = "Please enter at least 3 characters." + f.Errors["Title"] = "Please enter at least 3 characters for Title." } data.Content = strings.TrimSpace(f.Content) if len(strings.Fields(data.Content)) < 3 { - f.Errors["Content"] = "Please enter at least 3 words." + f.Errors["Content"] = "Please enter at least 3 words as Text." } if voteType, err := strconv.ParseUint(f.VoteType, 10, 8); err != nil || (voteType != 0 && voteType != 1) { - f.Errors["VoteType"] = fmt.Sprint("Please choose a valid vote type", err) + f.Errors["VoteType"] = fmt.Sprint("Please choose a valid vote type.", err) } else { data.VoteType = VoteType(uint8(voteType)) } if dueDuration, ok := validDueDurations[f.Due]; !ok { - f.Errors["Due"] = "Please choose a valid due date" + f.Errors["Due"] = "Please choose a valid due date." } else { year, month, day := time.Now().UTC().Add(dueDuration).Date() data.Due = time.Date(year, month, day, 23, 59, 59, 0, time.UTC) @@ -107,24 +107,24 @@ func (f *ProxyVoteForm) Validate() (bool, *Voter, *Vote, string) { var voter *Voter if voterId, err := strconv.ParseInt(f.Voter, 10, 64); err != nil { - f.Errors["Voter"] = fmt.Sprint("Please choose a valid voter", err) + f.Errors["Voter"] = fmt.Sprint("Please choose a valid voter.", err) } else if voter, err = GetVoterById(voterId); err != nil { - f.Errors["Voter"] = fmt.Sprint("Please choose a valid voter", err) + f.Errors["Voter"] = fmt.Sprint("Please choose a valid voter.", err) } else { data.VoterId = voter.Id } if vote, err := strconv.ParseInt(f.Vote, 10, 8); err != nil { - f.Errors["Vote"] = fmt.Sprint("Please choose a valid vote", err) + f.Errors["Vote"] = fmt.Sprint("Please choose a valid vote.", err) } else if voteChoice, ok := VoteChoices[vote]; !ok { - f.Errors["Vote"] = fmt.Sprint("Please choose a valid vote") + f.Errors["Vote"] = fmt.Sprint("Please choose a valid vote.") } else { data.Vote = voteChoice } justification := strings.TrimSpace(f.Justification) if len(justification) < 3 { - f.Errors["Justification"] = "Please enter at least 3 characters." + f.Errors["Justification"] = "Please enter at least 3 characters for justification." } return len(f.Errors) == 0, voter, data, justification diff --git a/semantic.json b/semantic.json index df8cf48..063aac1 100644 --- a/semantic.json +++ b/semantic.json @@ -24,46 +24,23 @@ "button", "container", "divider", - "flag", "header", "icon", - "image", "input", "label", "list", - "loader", - "rail", - "reveal", "segment", - "step", - "breadcrumb", "form", "grid", "menu", "message", "table", - "ad", - "card", - "comment", - "feed", "item", - "statistic", - "accordion", "checkbox", - "dimmer", "dropdown", "embed", - "modal", - "nag", - "popup", - "progress", - "rating", - "search", "shape", - "sidebar", "sticky", - "tab", - "transition", "api", "form", "state", diff --git a/static/semantic.css b/static/semantic.css index 0cdd10d..e0827de 100644 --- a/static/semantic.css +++ b/static/semantic.css @@ -1,5 +1,5 @@ /* - * # Semantic UI - + * # Semantic UI - 2.2.10 * https://github.com/Semantic-Org/Semantic-UI * http://www.semantic-ui.com/ * @@ -10,7 +10,7 @@ */ @import url('https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic&subset=latin'); /*! - * # Semantic UI undefined - Reset + * # Semantic UI 2.2.10 - Reset * http://github.com/semantic-org/semantic-ui/ * * @@ -496,7 +496,7 @@ th { Site Overrides *******************************/ /*! - * # Semantic UI undefined - Site + * # Semantic UI 2.2.10 - Site * http://github.com/semantic-org/semantic-ui/ * * @@ -664,7 +664,7 @@ input::selection { Site Overrides *******************************/ /*! - * # Semantic UI undefined - Button + * # Semantic UI 2.2.10 - Button * http://github.com/semantic-org/semantic-ui/ * * @@ -4614,7 +4614,7 @@ input::selection { Site Overrides *******************************/ /*! - * # Semantic UI undefined - Container + * # Semantic UI 2.2.10 - Container * http://github.com/semantic-org/semantic-ui/ * * @@ -4775,7 +4775,7 @@ input::selection { Site Overrides *******************************/ /*! - * # Semantic UI undefined - Divider + * # Semantic UI 2.2.10 - Divider * http://github.com/semantic-org/semantic-ui/ * * @@ -5042,1278 +5042,7 @@ input::selection { Site Overrides *******************************/ /*! - * # Semantic UI undefined - Flag - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Flag -*******************************/ - -i.flag:not(.icon) { - display: inline-block; - width: 16px; - height: 11px; - line-height: 11px; - vertical-align: baseline; - margin: 0em 0.5em 0em 0em; - text-decoration: inherit; - speak: none; - font-smoothing: antialiased; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; -} - -/* Sprite */ - -i.flag:not(.icon):before { - display: inline-block; - content: ''; - background: url("./themes/default/assets/images/flags.png") no-repeat -108px -1976px; - width: 16px; - height: 11px; -} - -/* Flag Sprite Based On http://www.famfamfam.com/lab/icons/flags/ */ - -/******************************* - Theme Overrides -*******************************/ - -i.flag.ad:before, -i.flag.andorra:before { - background-position: 0px 0px; -} - -i.flag.ae:before, -i.flag.united.arab.emirates:before, -i.flag.uae:before { - background-position: 0px -26px; -} - -i.flag.af:before, -i.flag.afghanistan:before { - background-position: 0px -52px; -} - -i.flag.ag:before, -i.flag.antigua:before { - background-position: 0px -78px; -} - -i.flag.ai:before, -i.flag.anguilla:before { - background-position: 0px -104px; -} - -i.flag.al:before, -i.flag.albania:before { - background-position: 0px -130px; -} - -i.flag.am:before, -i.flag.armenia:before { - background-position: 0px -156px; -} - -i.flag.an:before, -i.flag.netherlands.antilles:before { - background-position: 0px -182px; -} - -i.flag.ao:before, -i.flag.angola:before { - background-position: 0px -208px; -} - -i.flag.ar:before, -i.flag.argentina:before { - background-position: 0px -234px; -} - -i.flag.as:before, -i.flag.american.samoa:before { - background-position: 0px -260px; -} - -i.flag.at:before, -i.flag.austria:before { - background-position: 0px -286px; -} - -i.flag.au:before, -i.flag.australia:before { - background-position: 0px -312px; -} - -i.flag.aw:before, -i.flag.aruba:before { - background-position: 0px -338px; -} - -i.flag.ax:before, -i.flag.aland.islands:before { - background-position: 0px -364px; -} - -i.flag.az:before, -i.flag.azerbaijan:before { - background-position: 0px -390px; -} - -i.flag.ba:before, -i.flag.bosnia:before { - background-position: 0px -416px; -} - -i.flag.bb:before, -i.flag.barbados:before { - background-position: 0px -442px; -} - -i.flag.bd:before, -i.flag.bangladesh:before { - background-position: 0px -468px; -} - -i.flag.be:before, -i.flag.belgium:before { - background-position: 0px -494px; -} - -i.flag.bf:before, -i.flag.burkina.faso:before { - background-position: 0px -520px; -} - -i.flag.bg:before, -i.flag.bulgaria:before { - background-position: 0px -546px; -} - -i.flag.bh:before, -i.flag.bahrain:before { - background-position: 0px -572px; -} - -i.flag.bi:before, -i.flag.burundi:before { - background-position: 0px -598px; -} - -i.flag.bj:before, -i.flag.benin:before { - background-position: 0px -624px; -} - -i.flag.bm:before, -i.flag.bermuda:before { - background-position: 0px -650px; -} - -i.flag.bn:before, -i.flag.brunei:before { - background-position: 0px -676px; -} - -i.flag.bo:before, -i.flag.bolivia:before { - background-position: 0px -702px; -} - -i.flag.br:before, -i.flag.brazil:before { - background-position: 0px -728px; -} - -i.flag.bs:before, -i.flag.bahamas:before { - background-position: 0px -754px; -} - -i.flag.bt:before, -i.flag.bhutan:before { - background-position: 0px -780px; -} - -i.flag.bv:before, -i.flag.bouvet.island:before { - background-position: 0px -806px; -} - -i.flag.bw:before, -i.flag.botswana:before { - background-position: 0px -832px; -} - -i.flag.by:before, -i.flag.belarus:before { - background-position: 0px -858px; -} - -i.flag.bz:before, -i.flag.belize:before { - background-position: 0px -884px; -} - -i.flag.ca:before, -i.flag.canada:before { - background-position: 0px -910px; -} - -i.flag.cc:before, -i.flag.cocos.islands:before { - background-position: 0px -962px; -} - -i.flag.cd:before, -i.flag.congo:before { - background-position: 0px -988px; -} - -i.flag.cf:before, -i.flag.central.african.republic:before { - background-position: 0px -1014px; -} - -i.flag.cg:before, -i.flag.congo.brazzaville:before { - background-position: 0px -1040px; -} - -i.flag.ch:before, -i.flag.switzerland:before { - background-position: 0px -1066px; -} - -i.flag.ci:before, -i.flag.cote.divoire:before { - background-position: 0px -1092px; -} - -i.flag.ck:before, -i.flag.cook.islands:before { - background-position: 0px -1118px; -} - -i.flag.cl:before, -i.flag.chile:before { - background-position: 0px -1144px; -} - -i.flag.cm:before, -i.flag.cameroon:before { - background-position: 0px -1170px; -} - -i.flag.cn:before, -i.flag.china:before { - background-position: 0px -1196px; -} - -i.flag.co:before, -i.flag.colombia:before { - background-position: 0px -1222px; -} - -i.flag.cr:before, -i.flag.costa.rica:before { - background-position: 0px -1248px; -} - -i.flag.cs:before, -i.flag.serbia:before { - background-position: 0px -1274px; -} - -i.flag.cu:before, -i.flag.cuba:before { - background-position: 0px -1300px; -} - -i.flag.cv:before, -i.flag.cape.verde:before { - background-position: 0px -1326px; -} - -i.flag.cx:before, -i.flag.christmas.island:before { - background-position: 0px -1352px; -} - -i.flag.cy:before, -i.flag.cyprus:before { - background-position: 0px -1378px; -} - -i.flag.cz:before, -i.flag.czech.republic:before { - background-position: 0px -1404px; -} - -i.flag.de:before, -i.flag.germany:before { - background-position: 0px -1430px; -} - -i.flag.dj:before, -i.flag.djibouti:before { - background-position: 0px -1456px; -} - -i.flag.dk:before, -i.flag.denmark:before { - background-position: 0px -1482px; -} - -i.flag.dm:before, -i.flag.dominica:before { - background-position: 0px -1508px; -} - -i.flag.do:before, -i.flag.dominican.republic:before { - background-position: 0px -1534px; -} - -i.flag.dz:before, -i.flag.algeria:before { - background-position: 0px -1560px; -} - -i.flag.ec:before, -i.flag.ecuador:before { - background-position: 0px -1586px; -} - -i.flag.ee:before, -i.flag.estonia:before { - background-position: 0px -1612px; -} - -i.flag.eg:before, -i.flag.egypt:before { - background-position: 0px -1638px; -} - -i.flag.eh:before, -i.flag.western.sahara:before { - background-position: 0px -1664px; -} - -i.flag.er:before, -i.flag.eritrea:before { - background-position: 0px -1716px; -} - -i.flag.es:before, -i.flag.spain:before { - background-position: 0px -1742px; -} - -i.flag.et:before, -i.flag.ethiopia:before { - background-position: 0px -1768px; -} - -i.flag.eu:before, -i.flag.european.union:before { - background-position: 0px -1794px; -} - -i.flag.fi:before, -i.flag.finland:before { - background-position: 0px -1846px; -} - -i.flag.fj:before, -i.flag.fiji:before { - background-position: 0px -1872px; -} - -i.flag.fk:before, -i.flag.falkland.islands:before { - background-position: 0px -1898px; -} - -i.flag.fm:before, -i.flag.micronesia:before { - background-position: 0px -1924px; -} - -i.flag.fo:before, -i.flag.faroe.islands:before { - background-position: 0px -1950px; -} - -i.flag.fr:before, -i.flag.france:before { - background-position: 0px -1976px; -} - -i.flag.ga:before, -i.flag.gabon:before { - background-position: -36px 0px; -} - -i.flag.gb:before, -i.flag.united.kingdom:before { - background-position: -36px -26px; -} - -i.flag.gd:before, -i.flag.grenada:before { - background-position: -36px -52px; -} - -i.flag.ge:before, -i.flag.georgia:before { - background-position: -36px -78px; -} - -i.flag.gf:before, -i.flag.french.guiana:before { - background-position: -36px -104px; -} - -i.flag.gh:before, -i.flag.ghana:before { - background-position: -36px -130px; -} - -i.flag.gi:before, -i.flag.gibraltar:before { - background-position: -36px -156px; -} - -i.flag.gl:before, -i.flag.greenland:before { - background-position: -36px -182px; -} - -i.flag.gm:before, -i.flag.gambia:before { - background-position: -36px -208px; -} - -i.flag.gn:before, -i.flag.guinea:before { - background-position: -36px -234px; -} - -i.flag.gp:before, -i.flag.guadeloupe:before { - background-position: -36px -260px; -} - -i.flag.gq:before, -i.flag.equatorial.guinea:before { - background-position: -36px -286px; -} - -i.flag.gr:before, -i.flag.greece:before { - background-position: -36px -312px; -} - -i.flag.gs:before, -i.flag.sandwich.islands:before { - background-position: -36px -338px; -} - -i.flag.gt:before, -i.flag.guatemala:before { - background-position: -36px -364px; -} - -i.flag.gu:before, -i.flag.guam:before { - background-position: -36px -390px; -} - -i.flag.gw:before, -i.flag.guinea-bissau:before { - background-position: -36px -416px; -} - -i.flag.gy:before, -i.flag.guyana:before { - background-position: -36px -442px; -} - -i.flag.hk:before, -i.flag.hong.kong:before { - background-position: -36px -468px; -} - -i.flag.hm:before, -i.flag.heard.island:before { - background-position: -36px -494px; -} - -i.flag.hn:before, -i.flag.honduras:before { - background-position: -36px -520px; -} - -i.flag.hr:before, -i.flag.croatia:before { - background-position: -36px -546px; -} - -i.flag.ht:before, -i.flag.haiti:before { - background-position: -36px -572px; -} - -i.flag.hu:before, -i.flag.hungary:before { - background-position: -36px -598px; -} - -i.flag.id:before, -i.flag.indonesia:before { - background-position: -36px -624px; -} - -i.flag.ie:before, -i.flag.ireland:before { - background-position: -36px -650px; -} - -i.flag.il:before, -i.flag.israel:before { - background-position: -36px -676px; -} - -i.flag.in:before, -i.flag.india:before { - background-position: -36px -702px; -} - -i.flag.io:before, -i.flag.indian.ocean.territory:before { - background-position: -36px -728px; -} - -i.flag.iq:before, -i.flag.iraq:before { - background-position: -36px -754px; -} - -i.flag.ir:before, -i.flag.iran:before { - background-position: -36px -780px; -} - -i.flag.is:before, -i.flag.iceland:before { - background-position: -36px -806px; -} - -i.flag.it:before, -i.flag.italy:before { - background-position: -36px -832px; -} - -i.flag.jm:before, -i.flag.jamaica:before { - background-position: -36px -858px; -} - -i.flag.jo:before, -i.flag.jordan:before { - background-position: -36px -884px; -} - -i.flag.jp:before, -i.flag.japan:before { - background-position: -36px -910px; -} - -i.flag.ke:before, -i.flag.kenya:before { - background-position: -36px -936px; -} - -i.flag.kg:before, -i.flag.kyrgyzstan:before { - background-position: -36px -962px; -} - -i.flag.kh:before, -i.flag.cambodia:before { - background-position: -36px -988px; -} - -i.flag.ki:before, -i.flag.kiribati:before { - background-position: -36px -1014px; -} - -i.flag.km:before, -i.flag.comoros:before { - background-position: -36px -1040px; -} - -i.flag.kn:before, -i.flag.saint.kitts.and.nevis:before { - background-position: -36px -1066px; -} - -i.flag.kp:before, -i.flag.north.korea:before { - background-position: -36px -1092px; -} - -i.flag.kr:before, -i.flag.south.korea:before { - background-position: -36px -1118px; -} - -i.flag.kw:before, -i.flag.kuwait:before { - background-position: -36px -1144px; -} - -i.flag.ky:before, -i.flag.cayman.islands:before { - background-position: -36px -1170px; -} - -i.flag.kz:before, -i.flag.kazakhstan:before { - background-position: -36px -1196px; -} - -i.flag.la:before, -i.flag.laos:before { - background-position: -36px -1222px; -} - -i.flag.lb:before, -i.flag.lebanon:before { - background-position: -36px -1248px; -} - -i.flag.lc:before, -i.flag.saint.lucia:before { - background-position: -36px -1274px; -} - -i.flag.li:before, -i.flag.liechtenstein:before { - background-position: -36px -1300px; -} - -i.flag.lk:before, -i.flag.sri.lanka:before { - background-position: -36px -1326px; -} - -i.flag.lr:before, -i.flag.liberia:before { - background-position: -36px -1352px; -} - -i.flag.ls:before, -i.flag.lesotho:before { - background-position: -36px -1378px; -} - -i.flag.lt:before, -i.flag.lithuania:before { - background-position: -36px -1404px; -} - -i.flag.lu:before, -i.flag.luxembourg:before { - background-position: -36px -1430px; -} - -i.flag.lv:before, -i.flag.latvia:before { - background-position: -36px -1456px; -} - -i.flag.ly:before, -i.flag.libya:before { - background-position: -36px -1482px; -} - -i.flag.ma:before, -i.flag.morocco:before { - background-position: -36px -1508px; -} - -i.flag.mc:before, -i.flag.monaco:before { - background-position: -36px -1534px; -} - -i.flag.md:before, -i.flag.moldova:before { - background-position: -36px -1560px; -} - -i.flag.me:before, -i.flag.montenegro:before { - background-position: -36px -1586px; -} - -i.flag.mg:before, -i.flag.madagascar:before { - background-position: -36px -1613px; -} - -i.flag.mh:before, -i.flag.marshall.islands:before { - background-position: -36px -1639px; -} - -i.flag.mk:before, -i.flag.macedonia:before { - background-position: -36px -1665px; -} - -i.flag.ml:before, -i.flag.mali:before { - background-position: -36px -1691px; -} - -i.flag.mm:before, -i.flag.myanmar:before, -i.flag.burma:before { - background-position: -73px -1821px; -} - -i.flag.mn:before, -i.flag.mongolia:before { - background-position: -36px -1743px; -} - -i.flag.mo:before, -i.flag.macau:before { - background-position: -36px -1769px; -} - -i.flag.mp:before, -i.flag.northern.mariana.islands:before { - background-position: -36px -1795px; -} - -i.flag.mq:before, -i.flag.martinique:before { - background-position: -36px -1821px; -} - -i.flag.mr:before, -i.flag.mauritania:before { - background-position: -36px -1847px; -} - -i.flag.ms:before, -i.flag.montserrat:before { - background-position: -36px -1873px; -} - -i.flag.mt:before, -i.flag.malta:before { - background-position: -36px -1899px; -} - -i.flag.mu:before, -i.flag.mauritius:before { - background-position: -36px -1925px; -} - -i.flag.mv:before, -i.flag.maldives:before { - background-position: -36px -1951px; -} - -i.flag.mw:before, -i.flag.malawi:before { - background-position: -36px -1977px; -} - -i.flag.mx:before, -i.flag.mexico:before { - background-position: -72px 0px; -} - -i.flag.my:before, -i.flag.malaysia:before { - background-position: -72px -26px; -} - -i.flag.mz:before, -i.flag.mozambique:before { - background-position: -72px -52px; -} - -i.flag.na:before, -i.flag.namibia:before { - background-position: -72px -78px; -} - -i.flag.nc:before, -i.flag.new.caledonia:before { - background-position: -72px -104px; -} - -i.flag.ne:before, -i.flag.niger:before { - background-position: -72px -130px; -} - -i.flag.nf:before, -i.flag.norfolk.island:before { - background-position: -72px -156px; -} - -i.flag.ng:before, -i.flag.nigeria:before { - background-position: -72px -182px; -} - -i.flag.ni:before, -i.flag.nicaragua:before { - background-position: -72px -208px; -} - -i.flag.nl:before, -i.flag.netherlands:before { - background-position: -72px -234px; -} - -i.flag.no:before, -i.flag.norway:before { - background-position: -72px -260px; -} - -i.flag.np:before, -i.flag.nepal:before { - background-position: -72px -286px; -} - -i.flag.nr:before, -i.flag.nauru:before { - background-position: -72px -312px; -} - -i.flag.nu:before, -i.flag.niue:before { - background-position: -72px -338px; -} - -i.flag.nz:before, -i.flag.new.zealand:before { - background-position: -72px -364px; -} - -i.flag.om:before, -i.flag.oman:before { - background-position: -72px -390px; -} - -i.flag.pa:before, -i.flag.panama:before { - background-position: -72px -416px; -} - -i.flag.pe:before, -i.flag.peru:before { - background-position: -72px -442px; -} - -i.flag.pf:before, -i.flag.french.polynesia:before { - background-position: -72px -468px; -} - -i.flag.pg:before, -i.flag.new.guinea:before { - background-position: -72px -494px; -} - -i.flag.ph:before, -i.flag.philippines:before { - background-position: -72px -520px; -} - -i.flag.pk:before, -i.flag.pakistan:before { - background-position: -72px -546px; -} - -i.flag.pl:before, -i.flag.poland:before { - background-position: -72px -572px; -} - -i.flag.pm:before, -i.flag.saint.pierre:before { - background-position: -72px -598px; -} - -i.flag.pn:before, -i.flag.pitcairn.islands:before { - background-position: -72px -624px; -} - -i.flag.pr:before, -i.flag.puerto.rico:before { - background-position: -72px -650px; -} - -i.flag.ps:before, -i.flag.palestine:before { - background-position: -72px -676px; -} - -i.flag.pt:before, -i.flag.portugal:before { - background-position: -72px -702px; -} - -i.flag.pw:before, -i.flag.palau:before { - background-position: -72px -728px; -} - -i.flag.py:before, -i.flag.paraguay:before { - background-position: -72px -754px; -} - -i.flag.qa:before, -i.flag.qatar:before { - background-position: -72px -780px; -} - -i.flag.re:before, -i.flag.reunion:before { - background-position: -72px -806px; -} - -i.flag.ro:before, -i.flag.romania:before { - background-position: -72px -832px; -} - -i.flag.rs:before, -i.flag.serbia:before { - background-position: -72px -858px; -} - -i.flag.ru:before, -i.flag.russia:before { - background-position: -72px -884px; -} - -i.flag.rw:before, -i.flag.rwanda:before { - background-position: -72px -910px; -} - -i.flag.sa:before, -i.flag.saudi.arabia:before { - background-position: -72px -936px; -} - -i.flag.sb:before, -i.flag.solomon.islands:before { - background-position: -72px -962px; -} - -i.flag.sc:before, -i.flag.seychelles:before { - background-position: -72px -988px; -} - -i.flag.gb.sct:before, -i.flag.scotland:before { - background-position: -72px -1014px; -} - -i.flag.sd:before, -i.flag.sudan:before { - background-position: -72px -1040px; -} - -i.flag.se:before, -i.flag.sweden:before { - background-position: -72px -1066px; -} - -i.flag.sg:before, -i.flag.singapore:before { - background-position: -72px -1092px; -} - -i.flag.sh:before, -i.flag.saint.helena:before { - background-position: -72px -1118px; -} - -i.flag.si:before, -i.flag.slovenia:before { - background-position: -72px -1144px; -} - -i.flag.sj:before, -i.flag.svalbard:before, -i.flag.jan.mayen:before { - background-position: -72px -1170px; -} - -i.flag.sk:before, -i.flag.slovakia:before { - background-position: -72px -1196px; -} - -i.flag.sl:before, -i.flag.sierra.leone:before { - background-position: -72px -1222px; -} - -i.flag.sm:before, -i.flag.san.marino:before { - background-position: -72px -1248px; -} - -i.flag.sn:before, -i.flag.senegal:before { - background-position: -72px -1274px; -} - -i.flag.so:before, -i.flag.somalia:before { - background-position: -72px -1300px; -} - -i.flag.sr:before, -i.flag.suriname:before { - background-position: -72px -1326px; -} - -i.flag.st:before, -i.flag.sao.tome:before { - background-position: -72px -1352px; -} - -i.flag.sv:before, -i.flag.el.salvador:before { - background-position: -72px -1378px; -} - -i.flag.sy:before, -i.flag.syria:before { - background-position: -72px -1404px; -} - -i.flag.sz:before, -i.flag.swaziland:before { - background-position: -72px -1430px; -} - -i.flag.tc:before, -i.flag.caicos.islands:before { - background-position: -72px -1456px; -} - -i.flag.td:before, -i.flag.chad:before { - background-position: -72px -1482px; -} - -i.flag.tf:before, -i.flag.french.territories:before { - background-position: -72px -1508px; -} - -i.flag.tg:before, -i.flag.togo:before { - background-position: -72px -1534px; -} - -i.flag.th:before, -i.flag.thailand:before { - background-position: -72px -1560px; -} - -i.flag.tj:before, -i.flag.tajikistan:before { - background-position: -72px -1586px; -} - -i.flag.tk:before, -i.flag.tokelau:before { - background-position: -72px -1612px; -} - -i.flag.tl:before, -i.flag.timorleste:before { - background-position: -72px -1638px; -} - -i.flag.tm:before, -i.flag.turkmenistan:before { - background-position: -72px -1664px; -} - -i.flag.tn:before, -i.flag.tunisia:before { - background-position: -72px -1690px; -} - -i.flag.to:before, -i.flag.tonga:before { - background-position: -72px -1716px; -} - -i.flag.tr:before, -i.flag.turkey:before { - background-position: -72px -1742px; -} - -i.flag.tt:before, -i.flag.trinidad:before { - background-position: -72px -1768px; -} - -i.flag.tv:before, -i.flag.tuvalu:before { - background-position: -72px -1794px; -} - -i.flag.tw:before, -i.flag.taiwan:before { - background-position: -72px -1820px; -} - -i.flag.tz:before, -i.flag.tanzania:before { - background-position: -72px -1846px; -} - -i.flag.ua:before, -i.flag.ukraine:before { - background-position: -72px -1872px; -} - -i.flag.ug:before, -i.flag.uganda:before { - background-position: -72px -1898px; -} - -i.flag.um:before, -i.flag.us.minor.islands:before { - background-position: -72px -1924px; -} - -i.flag.us:before, -i.flag.america:before, -i.flag.united.states:before { - background-position: -72px -1950px; -} - -i.flag.uy:before, -i.flag.uruguay:before { - background-position: -72px -1976px; -} - -i.flag.uz:before, -i.flag.uzbekistan:before { - background-position: -108px 0px; -} - -i.flag.va:before, -i.flag.vatican.city:before { - background-position: -108px -26px; -} - -i.flag.vc:before, -i.flag.saint.vincent:before { - background-position: -108px -52px; -} - -i.flag.ve:before, -i.flag.venezuela:before { - background-position: -108px -78px; -} - -i.flag.vg:before, -i.flag.british.virgin.islands:before { - background-position: -108px -104px; -} - -i.flag.vi:before, -i.flag.us.virgin.islands:before { - background-position: -108px -130px; -} - -i.flag.vn:before, -i.flag.vietnam:before { - background-position: -108px -156px; -} - -i.flag.vu:before, -i.flag.vanuatu:before { - background-position: -108px -182px; -} - -i.flag.gb.wls:before, -i.flag.wales:before { - background-position: -108px -208px; -} - -i.flag.wf:before, -i.flag.wallis.and.futuna:before { - background-position: -108px -234px; -} - -i.flag.ws:before, -i.flag.samoa:before { - background-position: -108px -260px; -} - -i.flag.ye:before, -i.flag.yemen:before { - background-position: -108px -286px; -} - -i.flag.yt:before, -i.flag.mayotte:before { - background-position: -108px -312px; -} - -i.flag.za:before, -i.flag.south.africa:before { - background-position: -108px -338px; -} - -i.flag.zm:before, -i.flag.zambia:before { - background-position: -108px -364px; -} - -i.flag.zw:before, -i.flag.zimbabwe:before { - background-position: -108px -390px; -} - -/******************************* - Site Overrides -*******************************/ -/*! - * # Semantic UI undefined - Header + * # Semantic UI 2.2.10 - Header * http://github.com/semantic-org/semantic-ui/ * * @@ -7134,7 +5863,7 @@ a.ui.inverted.grey.header:hover { Site Overrides *******************************/ /*! - * # Semantic UI undefined - Icon + * # Semantic UI 2.2.10 - Icon * http://github.com/semantic-org/semantic-ui/ * * @@ -11384,324 +10113,7 @@ i.icon.times.rectangle.outline:before { Site Overrides *******************************/ /*! - * # Semantic UI undefined - Image - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Image -*******************************/ - -.ui.image { - position: relative; - display: inline-block; - vertical-align: middle; - max-width: 100%; - background-color: transparent; -} - -img.ui.image { - display: block; -} - -.ui.image svg, -.ui.image img { - display: block; - max-width: 100%; - height: auto; -} - -/******************************* - States -*******************************/ - -.ui.hidden.images, -.ui.hidden.image { - display: none; -} - -.ui.hidden.transition.images, -.ui.hidden.transition.image { - display: block; - visibility: hidden; -} - -.ui.disabled.images, -.ui.disabled.image { - cursor: default; - opacity: 0.45; -} - -/******************************* - Variations -*******************************/ - -/*-------------- - Inline ----------------*/ - -.ui.inline.image, -.ui.inline.image svg, -.ui.inline.image img { - display: inline-block; -} - -/*------------------ - Vertical Aligned --------------------*/ - -.ui.top.aligned.images .image, -.ui.top.aligned.image, -.ui.top.aligned.image svg, -.ui.top.aligned.image img { - display: inline-block; - vertical-align: top; -} - -.ui.middle.aligned.images .image, -.ui.middle.aligned.image, -.ui.middle.aligned.image svg, -.ui.middle.aligned.image img { - display: inline-block; - vertical-align: middle; -} - -.ui.bottom.aligned.images .image, -.ui.bottom.aligned.image, -.ui.bottom.aligned.image svg, -.ui.bottom.aligned.image img { - display: inline-block; - vertical-align: bottom; -} - -/*-------------- - Rounded ----------------*/ - -.ui.rounded.images .image, -.ui.rounded.image, -.ui.rounded.images .image > *, -.ui.rounded.image > * { - border-radius: 0.3125em; -} - -/*-------------- - Bordered ----------------*/ - -.ui.bordered.images .image, -.ui.bordered.images img, -.ui.bordered.images svg, -.ui.bordered.image img, -.ui.bordered.image svg, -img.ui.bordered.image { - border: 1px solid rgba(0, 0, 0, 0.1); -} - -/*-------------- - Circular ----------------*/ - -.ui.circular.images, -.ui.circular.image { - overflow: hidden; -} - -.ui.circular.images .image, -.ui.circular.image, -.ui.circular.images .image > *, -.ui.circular.image > * { - border-radius: 500rem; -} - -/*-------------- - Fluid ----------------*/ - -.ui.fluid.images, -.ui.fluid.image, -.ui.fluid.images img, -.ui.fluid.images svg, -.ui.fluid.image svg, -.ui.fluid.image img { - display: block; - width: 100%; - height: auto; -} - -/*-------------- - Avatar ----------------*/ - -.ui.avatar.images .image, -.ui.avatar.images img, -.ui.avatar.images svg, -.ui.avatar.image img, -.ui.avatar.image svg, -.ui.avatar.image { - margin-right: 0.25em; - display: inline-block; - width: 2em; - height: 2em; - border-radius: 500rem; -} - -/*------------------- - Spaced ---------------------*/ - -.ui.spaced.image { - display: inline-block !important; - margin-left: 0.5em; - margin-right: 0.5em; -} - -.ui[class*="left spaced"].image { - margin-left: 0.5em; - margin-right: 0em; -} - -.ui[class*="right spaced"].image { - margin-left: 0em; - margin-right: 0.5em; -} - -/*------------------- - Floated ---------------------*/ - -.ui.floated.image, -.ui.floated.images { - float: left; - margin-right: 1em; - margin-bottom: 1em; -} - -.ui.right.floated.images, -.ui.right.floated.image { - float: right; - margin-right: 0em; - margin-bottom: 1em; - margin-left: 1em; -} - -.ui.floated.images:last-child, -.ui.floated.image:last-child { - margin-bottom: 0em; -} - -.ui.centered.images, -.ui.centered.image { - margin-left: auto; - margin-right: auto; -} - -/*-------------- - Sizes ----------------*/ - -.ui.mini.images .image, -.ui.mini.images img, -.ui.mini.images svg, -.ui.mini.image { - width: 35px; - height: auto; - font-size: 0.78571429rem; -} - -.ui.tiny.images .image, -.ui.tiny.images img, -.ui.tiny.images svg, -.ui.tiny.image { - width: 80px; - height: auto; - font-size: 0.85714286rem; -} - -.ui.small.images .image, -.ui.small.images img, -.ui.small.images svg, -.ui.small.image { - width: 150px; - height: auto; - font-size: 0.92857143rem; -} - -.ui.medium.images .image, -.ui.medium.images img, -.ui.medium.images svg, -.ui.medium.image { - width: 300px; - height: auto; - font-size: 1rem; -} - -.ui.large.images .image, -.ui.large.images img, -.ui.large.images svg, -.ui.large.image { - width: 450px; - height: auto; - font-size: 1.14285714rem; -} - -.ui.big.images .image, -.ui.big.images img, -.ui.big.images svg, -.ui.big.image { - width: 600px; - height: auto; - font-size: 1.28571429rem; -} - -.ui.huge.images .image, -.ui.huge.images img, -.ui.huge.images svg, -.ui.huge.image { - width: 800px; - height: auto; - font-size: 1.42857143rem; -} - -.ui.massive.images .image, -.ui.massive.images img, -.ui.massive.images svg, -.ui.massive.image { - width: 960px; - height: auto; - font-size: 1.71428571rem; -} - -/******************************* - Groups -*******************************/ - -.ui.images { - font-size: 0em; - margin: 0em -0.25rem 0rem; -} - -.ui.images .image, -.ui.images img, -.ui.images svg { - display: inline-block; - margin: 0em 0.25rem 0.5rem; -} - -/******************************* - Theme Overrides -*******************************/ - -/******************************* - Site Overrides -*******************************/ -/*! - * # Semantic UI undefined - Input + * # Semantic UI 2.2.10 - Input * http://github.com/semantic-org/semantic-ui/ * * @@ -12264,7 +10676,7 @@ img.ui.bordered.image { Site Overrides *******************************/ /*! - * # Semantic UI undefined - Label + * # Semantic UI 2.2.10 - Label * http://github.com/semantic-org/semantic-ui/ * * @@ -13689,7 +12101,7 @@ a.ui.basic.label:hover { Site Overrides *******************************/ /*! - * # Semantic UI undefined - List + * # Semantic UI 2.2.10 - List * http://github.com/semantic-org/semantic-ui/ * * @@ -14766,852 +13178,7 @@ ol.ui.horizontal.list li:before, User Variable Overrides *******************************/ /*! - * # Semantic UI undefined - Loader - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Loader -*******************************/ - -/* Standard Size */ - -.ui.loader { - display: none; - position: absolute; - top: 50%; - left: 50%; - margin: 0px; - text-align: center; - z-index: 1000; - -webkit-transform: translateX(-50%) translateY(-50%); - transform: translateX(-50%) translateY(-50%); -} - -/* Static Shape */ - -.ui.loader:before { - position: absolute; - content: ''; - top: 0%; - left: 50%; - width: 100%; - height: 100%; - border-radius: 500rem; - border: 0.2em solid rgba(0, 0, 0, 0.1); -} - -/* Active Shape */ - -.ui.loader:after { - position: absolute; - content: ''; - top: 0%; - left: 50%; - width: 100%; - height: 100%; - -webkit-animation: loader 0.6s linear; - animation: loader 0.6s linear; - -webkit-animation-iteration-count: infinite; - animation-iteration-count: infinite; - border-radius: 500rem; - border-color: #767676 transparent transparent; - border-style: solid; - border-width: 0.2em; - box-shadow: 0px 0px 0px 1px transparent; -} - -/* Active Animation */ - -@-webkit-keyframes loader { - from { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - - to { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} - -@keyframes loader { - from { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - - to { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} - -/* Sizes */ - -.ui.mini.loader:before, -.ui.mini.loader:after { - width: 1rem; - height: 1rem; - margin: 0em 0em 0em -0.5rem; -} - -.ui.tiny.loader:before, -.ui.tiny.loader:after { - width: 1.14285714rem; - height: 1.14285714rem; - margin: 0em 0em 0em -0.57142857rem; -} - -.ui.small.loader:before, -.ui.small.loader:after { - width: 1.71428571rem; - height: 1.71428571rem; - margin: 0em 0em 0em -0.85714286rem; -} - -.ui.loader:before, -.ui.loader:after { - width: 2.28571429rem; - height: 2.28571429rem; - margin: 0em 0em 0em -1.14285714rem; -} - -.ui.large.loader:before, -.ui.large.loader:after { - width: 3.42857143rem; - height: 3.42857143rem; - margin: 0em 0em 0em -1.71428571rem; -} - -.ui.big.loader:before, -.ui.big.loader:after { - width: 3.71428571rem; - height: 3.71428571rem; - margin: 0em 0em 0em -1.85714286rem; -} - -.ui.huge.loader:before, -.ui.huge.loader:after { - width: 4.14285714rem; - height: 4.14285714rem; - margin: 0em 0em 0em -2.07142857rem; -} - -.ui.massive.loader:before, -.ui.massive.loader:after { - width: 4.57142857rem; - height: 4.57142857rem; - margin: 0em 0em 0em -2.28571429rem; -} - -/*------------------- - Coupling ---------------------*/ - -/* Show inside active dimmer */ - -.ui.dimmer .loader { - display: block; -} - -/* Black Dimmer */ - -.ui.dimmer .ui.loader { - color: rgba(255, 255, 255, 0.9); -} - -.ui.dimmer .ui.loader:before { - border-color: rgba(255, 255, 255, 0.15); -} - -.ui.dimmer .ui.loader:after { - border-color: #FFFFFF transparent transparent; -} - -/* White Dimmer (Inverted) */ - -.ui.inverted.dimmer .ui.loader { - color: rgba(0, 0, 0, 0.87); -} - -.ui.inverted.dimmer .ui.loader:before { - border-color: rgba(0, 0, 0, 0.1); -} - -.ui.inverted.dimmer .ui.loader:after { - border-color: #767676 transparent transparent; -} - -/******************************* - Types -*******************************/ - -/*------------------- - Text ---------------------*/ - -.ui.text.loader { - width: auto !important; - height: auto !important; - text-align: center; - font-style: normal; -} - -/******************************* - States -*******************************/ - -.ui.indeterminate.loader:after { - -webkit-animation-direction: reverse; - animation-direction: reverse; - -webkit-animation-duration: 1.2s; - animation-duration: 1.2s; -} - -.ui.loader.active, -.ui.loader.visible { - display: block; -} - -.ui.loader.disabled, -.ui.loader.hidden { - display: none; -} - -/******************************* - Variations -*******************************/ - -/*------------------- - Sizes ---------------------*/ - -/* Loader */ - -.ui.inverted.dimmer .ui.mini.loader, -.ui.mini.loader { - width: 1rem; - height: 1rem; - font-size: 0.78571429em; -} - -.ui.inverted.dimmer .ui.tiny.loader, -.ui.tiny.loader { - width: 1.14285714rem; - height: 1.14285714rem; - font-size: 0.85714286em; -} - -.ui.inverted.dimmer .ui.small.loader, -.ui.small.loader { - width: 1.71428571rem; - height: 1.71428571rem; - font-size: 0.92857143em; -} - -.ui.inverted.dimmer .ui.loader, -.ui.loader { - width: 2.28571429rem; - height: 2.28571429rem; - font-size: 1em; -} - -.ui.inverted.dimmer .ui.large.loader, -.ui.large.loader { - width: 3.42857143rem; - height: 3.42857143rem; - font-size: 1.14285714em; -} - -.ui.inverted.dimmer .ui.big.loader, -.ui.big.loader { - width: 3.71428571rem; - height: 3.71428571rem; - font-size: 1.28571429em; -} - -.ui.inverted.dimmer .ui.huge.loader, -.ui.huge.loader { - width: 4.14285714rem; - height: 4.14285714rem; - font-size: 1.42857143em; -} - -.ui.inverted.dimmer .ui.massive.loader, -.ui.massive.loader { - width: 4.57142857rem; - height: 4.57142857rem; - font-size: 1.71428571em; -} - -/* Text Loader */ - -.ui.mini.text.loader { - min-width: 1rem; - padding-top: 1.78571429rem; -} - -.ui.tiny.text.loader { - min-width: 1.14285714rem; - padding-top: 1.92857143rem; -} - -.ui.small.text.loader { - min-width: 1.71428571rem; - padding-top: 2.5rem; -} - -.ui.text.loader { - min-width: 2.28571429rem; - padding-top: 3.07142857rem; -} - -.ui.large.text.loader { - min-width: 3.42857143rem; - padding-top: 4.21428571rem; -} - -.ui.big.text.loader { - min-width: 3.71428571rem; - padding-top: 4.5rem; -} - -.ui.huge.text.loader { - min-width: 4.14285714rem; - padding-top: 4.92857143rem; -} - -.ui.massive.text.loader { - min-width: 4.57142857rem; - padding-top: 5.35714286rem; -} - -/*------------------- - Inverted ---------------------*/ - -.ui.inverted.loader { - color: rgba(255, 255, 255, 0.9); -} - -.ui.inverted.loader:before { - border-color: rgba(255, 255, 255, 0.15); -} - -.ui.inverted.loader:after { - border-top-color: #FFFFFF; -} - -/*------------------- - Inline ---------------------*/ - -.ui.inline.loader { - position: relative; - vertical-align: middle; - margin: 0em; - left: 0em; - top: 0em; - -webkit-transform: none; - transform: none; -} - -.ui.inline.loader.active, -.ui.inline.loader.visible { - display: inline-block; -} - -/* Centered Inline */ - -.ui.centered.inline.loader.active, -.ui.centered.inline.loader.visible { - display: block; - margin-left: auto; - margin-right: auto; -} - -/******************************* - Theme Overrides -*******************************/ - -/******************************* - Site Overrides -*******************************/ -/*! - * # Semantic UI undefined - Rail - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Rails -*******************************/ - -.ui.rail { - position: absolute; - top: 0%; - width: 300px; - height: 100%; -} - -.ui.left.rail { - left: auto; - right: 100%; - padding: 0em 2rem 0em 0em; - margin: 0em 2rem 0em 0em; -} - -.ui.right.rail { - left: 100%; - right: auto; - padding: 0em 0em 0em 2rem; - margin: 0em 0em 0em 2rem; -} - -/******************************* - Variations -*******************************/ - -/*-------------- - Internal ----------------*/ - -.ui.left.internal.rail { - left: 0%; - right: auto; - padding: 0em 0em 0em 2rem; - margin: 0em 0em 0em 2rem; -} - -.ui.right.internal.rail { - left: auto; - right: 0%; - padding: 0em 2rem 0em 0em; - margin: 0em 2rem 0em 0em; -} - -/*-------------- - Dividing ----------------*/ - -.ui.dividing.rail { - width: 302.5px; -} - -.ui.left.dividing.rail { - padding: 0em 2.5rem 0em 0em; - margin: 0em 2.5rem 0em 0em; - border-right: 1px solid rgba(34, 36, 38, 0.15); -} - -.ui.right.dividing.rail { - border-left: 1px solid rgba(34, 36, 38, 0.15); - padding: 0em 0em 0em 2.5rem; - margin: 0em 0em 0em 2.5rem; -} - -/*-------------- - Distance ----------------*/ - -.ui.close.rail { - width: calc( 300px + 1em ); -} - -.ui.close.left.rail { - padding: 0em 1em 0em 0em; - margin: 0em 1em 0em 0em; -} - -.ui.close.right.rail { - padding: 0em 0em 0em 1em; - margin: 0em 0em 0em 1em; -} - -.ui.very.close.rail { - width: calc( 300px + 0.5em ); -} - -.ui.very.close.left.rail { - padding: 0em 0.5em 0em 0em; - margin: 0em 0.5em 0em 0em; -} - -.ui.very.close.right.rail { - padding: 0em 0em 0em 0.5em; - margin: 0em 0em 0em 0.5em; -} - -/*-------------- - Attached ----------------*/ - -.ui.attached.left.rail, -.ui.attached.right.rail { - padding: 0em; - margin: 0em; -} - -/*-------------- - Sizing ----------------*/ - -.ui.mini.rail { - font-size: 0.78571429rem; -} - -.ui.tiny.rail { - font-size: 0.85714286rem; -} - -.ui.small.rail { - font-size: 0.92857143rem; -} - -.ui.rail { - font-size: 1rem; -} - -.ui.large.rail { - font-size: 1.14285714rem; -} - -.ui.big.rail { - font-size: 1.28571429rem; -} - -.ui.huge.rail { - font-size: 1.42857143rem; -} - -.ui.massive.rail { - font-size: 1.71428571rem; -} - -/******************************* - Theme Overrides -*******************************/ - -/******************************* - Site Overrides -*******************************/ -/*! - * # Semantic UI undefined - Reveal - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Reveal -*******************************/ - -.ui.reveal { - display: inherit; - position: relative !important; - font-size: 0em !important; -} - -.ui.reveal > .visible.content { - position: absolute !important; - top: 0em !important; - left: 0em !important; - z-index: 3 !important; - -webkit-transition: all 0.5s ease 0.1s; - transition: all 0.5s ease 0.1s; -} - -.ui.reveal > .hidden.content { - position: relative !important; - z-index: 2 !important; -} - -/* Make sure hovered element is on top of other reveal */ - -.ui.active.reveal .visible.content, -.ui.reveal:hover .visible.content { - z-index: 4 !important; -} - -/******************************* - Types -*******************************/ - -/*-------------- - Slide ----------------*/ - -.ui.slide.reveal { - position: relative !important; - overflow: hidden !important; - white-space: nowrap; -} - -.ui.slide.reveal > .content { - display: block; - width: 100%; - float: left; - margin: 0em; - -webkit-transition: -webkit-transform 0.5s ease 0.1s; - transition: -webkit-transform 0.5s ease 0.1s; - transition: transform 0.5s ease 0.1s; - transition: transform 0.5s ease 0.1s, -webkit-transform 0.5s ease 0.1s; -} - -.ui.slide.reveal > .visible.content { - position: relative !important; -} - -.ui.slide.reveal > .hidden.content { - position: absolute !important; - left: 0% !important; - width: 100% !important; - -webkit-transform: translateX(100%) !important; - transform: translateX(100%) !important; -} - -.ui.slide.active.reveal > .visible.content, -.ui.slide.reveal:hover > .visible.content { - -webkit-transform: translateX(-100%) !important; - transform: translateX(-100%) !important; -} - -.ui.slide.active.reveal > .hidden.content, -.ui.slide.reveal:hover > .hidden.content { - -webkit-transform: translateX(0%) !important; - transform: translateX(0%) !important; -} - -.ui.slide.right.reveal > .visible.content { - -webkit-transform: translateX(0%) !important; - transform: translateX(0%) !important; -} - -.ui.slide.right.reveal > .hidden.content { - -webkit-transform: translateX(-100%) !important; - transform: translateX(-100%) !important; -} - -.ui.slide.right.active.reveal > .visible.content, -.ui.slide.right.reveal:hover > .visible.content { - -webkit-transform: translateX(100%) !important; - transform: translateX(100%) !important; -} - -.ui.slide.right.active.reveal > .hidden.content, -.ui.slide.right.reveal:hover > .hidden.content { - -webkit-transform: translateX(0%) !important; - transform: translateX(0%) !important; -} - -.ui.slide.up.reveal > .hidden.content { - -webkit-transform: translateY(100%) !important; - transform: translateY(100%) !important; -} - -.ui.slide.up.active.reveal > .visible.content, -.ui.slide.up.reveal:hover > .visible.content { - -webkit-transform: translateY(-100%) !important; - transform: translateY(-100%) !important; -} - -.ui.slide.up.active.reveal > .hidden.content, -.ui.slide.up.reveal:hover > .hidden.content { - -webkit-transform: translateY(0%) !important; - transform: translateY(0%) !important; -} - -.ui.slide.down.reveal > .hidden.content { - -webkit-transform: translateY(-100%) !important; - transform: translateY(-100%) !important; -} - -.ui.slide.down.active.reveal > .visible.content, -.ui.slide.down.reveal:hover > .visible.content { - -webkit-transform: translateY(100%) !important; - transform: translateY(100%) !important; -} - -.ui.slide.down.active.reveal > .hidden.content, -.ui.slide.down.reveal:hover > .hidden.content { - -webkit-transform: translateY(0%) !important; - transform: translateY(0%) !important; -} - -/*-------------- - Fade ----------------*/ - -.ui.fade.reveal > .visible.content { - opacity: 1; -} - -.ui.fade.active.reveal > .visible.content, -.ui.fade.reveal:hover > .visible.content { - opacity: 0; -} - -/*-------------- - Move ----------------*/ - -.ui.move.reveal { - position: relative !important; - overflow: hidden !important; - white-space: nowrap; -} - -.ui.move.reveal > .content { - display: block; - float: left; - margin: 0em; - -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1) 0.1s; - transition: -webkit-transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1) 0.1s; - transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1) 0.1s; - transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1) 0.1s, -webkit-transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1) 0.1s; -} - -.ui.move.reveal > .visible.content { - position: relative !important; -} - -.ui.move.reveal > .hidden.content { - position: absolute !important; - left: 0% !important; - width: 100% !important; -} - -.ui.move.active.reveal > .visible.content, -.ui.move.reveal:hover > .visible.content { - -webkit-transform: translateX(-100%) !important; - transform: translateX(-100%) !important; -} - -.ui.move.right.active.reveal > .visible.content, -.ui.move.right.reveal:hover > .visible.content { - -webkit-transform: translateX(100%) !important; - transform: translateX(100%) !important; -} - -.ui.move.up.active.reveal > .visible.content, -.ui.move.up.reveal:hover > .visible.content { - -webkit-transform: translateY(-100%) !important; - transform: translateY(-100%) !important; -} - -.ui.move.down.active.reveal > .visible.content, -.ui.move.down.reveal:hover > .visible.content { - -webkit-transform: translateY(100%) !important; - transform: translateY(100%) !important; -} - -/*-------------- - Rotate ----------------*/ - -.ui.rotate.reveal > .visible.content { - -webkit-transition-duration: 0.5s; - transition-duration: 0.5s; - -webkit-transform: rotate(0deg); - transform: rotate(0deg); -} - -.ui.rotate.reveal > .visible.content, -.ui.rotate.right.reveal > .visible.content { - -webkit-transform-origin: bottom right; - transform-origin: bottom right; -} - -.ui.rotate.active.reveal > .visible.content, -.ui.rotate.reveal:hover > .visible.content, -.ui.rotate.right.active.reveal > .visible.content, -.ui.rotate.right.reveal:hover > .visible.content { - -webkit-transform: rotate(110deg); - transform: rotate(110deg); -} - -.ui.rotate.left.reveal > .visible.content { - -webkit-transform-origin: bottom left; - transform-origin: bottom left; -} - -.ui.rotate.left.active.reveal > .visible.content, -.ui.rotate.left.reveal:hover > .visible.content { - -webkit-transform: rotate(-110deg); - transform: rotate(-110deg); -} - -/******************************* - States -*******************************/ - -.ui.disabled.reveal:hover > .visible.visible.content { - position: static !important; - display: block !important; - opacity: 1 !important; - top: 0 !important; - left: 0 !important; - right: auto !important; - bottom: auto !important; - -webkit-transform: none !important; - transform: none !important; -} - -.ui.disabled.reveal:hover > .hidden.hidden.content { - display: none !important; -} - -/******************************* - Variations -*******************************/ - -/*-------------- - Visible ----------------*/ - -.ui.visible.reveal { - overflow: visible; -} - -/*-------------- - Instant ----------------*/ - -.ui.instant.reveal > .content { - -webkit-transition-delay: 0s !important; - transition-delay: 0s !important; -} - -/*-------------- - Sizing ----------------*/ - -.ui.reveal > .content { - font-size: 1rem !important; -} - -/******************************* - Theme Overrides -*******************************/ - -/******************************* - Site Overrides -*******************************/ -/*! - * # Semantic UI undefined - Segment + * # Semantic UI 2.2.10 - Segment * http://github.com/semantic-org/semantic-ui/ * * @@ -16492,825 +14059,7 @@ ol.ui.horizontal.list li:before, Site Overrides *******************************/ /*! - * # Semantic UI undefined - Step - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Plural -*******************************/ - -.ui.steps { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - -webkit-box-align: stretch; - -ms-flex-align: stretch; - align-items: stretch; - margin: 1em 0em; - background: ''; - box-shadow: none; - line-height: 1.14285714em; - border-radius: 0.28571429rem; - border: 1px solid rgba(34, 36, 38, 0.15); -} - -/* First Steps */ - -.ui.steps:first-child { - margin-top: 0em; -} - -/* Last Steps */ - -.ui.steps:last-child { - margin-bottom: 0em; -} - -/******************************* - Singular -*******************************/ - -.ui.steps .step { - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-flex: 1; - -ms-flex: 1 0 auto; - flex: 1 0 auto; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - vertical-align: middle; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - margin: 0em 0em; - padding: 1.14285714em 2em; - background: #FFFFFF; - color: rgba(0, 0, 0, 0.87); - box-shadow: none; - border-radius: 0em; - border: none; - border-right: 1px solid rgba(34, 36, 38, 0.15); - -webkit-transition: background-color 0.1s ease, opacity 0.1s ease, color 0.1s ease, box-shadow 0.1s ease; - transition: background-color 0.1s ease, opacity 0.1s ease, color 0.1s ease, box-shadow 0.1s ease; -} - -/* Arrow */ - -.ui.steps .step:after { - display: none; - position: absolute; - z-index: 2; - content: ''; - top: 50%; - right: 0%; - border: medium none; - background-color: #FFFFFF; - width: 1.14285714em; - height: 1.14285714em; - border-style: solid; - border-color: rgba(34, 36, 38, 0.15); - border-width: 0px 1px 1px 0px; - -webkit-transition: background-color 0.1s ease, opacity 0.1s ease, color 0.1s ease, box-shadow 0.1s ease; - transition: background-color 0.1s ease, opacity 0.1s ease, color 0.1s ease, box-shadow 0.1s ease; - -webkit-transform: translateY(-50%) translateX(50%) rotate(-45deg); - transform: translateY(-50%) translateX(50%) rotate(-45deg); -} - -/* First Step */ - -.ui.steps .step:first-child { - padding-left: 2em; - border-radius: 0.28571429rem 0em 0em 0.28571429rem; -} - -/* Last Step */ - -.ui.steps .step:last-child { - border-radius: 0em 0.28571429rem 0.28571429rem 0em; -} - -.ui.steps .step:last-child { - border-right: none; - margin-right: 0em; -} - -/* Only Step */ - -.ui.steps .step:only-child { - border-radius: 0.28571429rem; -} - -/******************************* - Content -*******************************/ - -/* Title */ - -.ui.steps .step .title { - font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; - font-size: 1.14285714em; - font-weight: bold; -} - -.ui.steps .step > .title { - width: 100%; -} - -/* Description */ - -.ui.steps .step .description { - font-weight: normal; - font-size: 0.92857143em; - color: rgba(0, 0, 0, 0.87); -} - -.ui.steps .step > .description { - width: 100%; -} - -.ui.steps .step .title ~ .description { - margin-top: 0.25em; -} - -/* Icon */ - -.ui.steps .step > .icon { - line-height: 1; - font-size: 2.5em; - margin: 0em 1rem 0em 0em; -} - -.ui.steps .step > .icon, -.ui.steps .step > .icon ~ .content { - display: block; - -webkit-box-flex: 0; - -ms-flex: 0 1 auto; - flex: 0 1 auto; - -ms-flex-item-align: middle; - -ms-grid-row-align: middle; - align-self: middle; -} - -.ui.steps .step > .icon ~ .content { - -webkit-box-flex: 1 0 auto; - -ms-flex-positive: 1 0 auto; - flex-grow: 1 0 auto; -} - -/* Horizontal Icon */ - -.ui.steps:not(.vertical) .step > .icon { - width: auto; -} - -/* Link */ - -.ui.steps .link.step, -.ui.steps a.step { - cursor: pointer; -} - -/******************************* - Types -*******************************/ - -/*-------------- - Ordered ----------------*/ - -.ui.ordered.steps { - counter-reset: ordered; -} - -.ui.ordered.steps .step:before { - display: block; - position: static; - text-align: center; - content: counters(ordered, "."); - -ms-flex-item-align: middle; - -ms-grid-row-align: middle; - align-self: middle; - margin-right: 1rem; - font-size: 2.5em; - counter-increment: ordered; - font-family: inherit; - font-weight: bold; -} - -.ui.ordered.steps .step > * { - display: block; - -ms-flex-item-align: middle; - -ms-grid-row-align: middle; - align-self: middle; -} - -/*-------------- - Vertical ----------------*/ - -.ui.vertical.steps { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - overflow: visible; -} - -.ui.vertical.steps .step { - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; - border-radius: 0em; - padding: 1.14285714em 2em; - border-right: none; - border-bottom: 1px solid rgba(34, 36, 38, 0.15); -} - -.ui.vertical.steps .step:first-child { - padding: 1.14285714em 2em; - border-radius: 0.28571429rem 0.28571429rem 0em 0em; -} - -.ui.vertical.steps .step:last-child { - border-bottom: none; - border-radius: 0em 0em 0.28571429rem 0.28571429rem; -} - -.ui.vertical.steps .step:only-child { - border-radius: 0.28571429rem; -} - -/* Arrow */ - -.ui.vertical.steps .step:after { - display: none; -} - -.ui.vertical.steps .step:after { - top: 50%; - right: 0%; - border-width: 0px 1px 1px 0px; -} - -.ui.vertical.steps .step:after { - display: none; -} - -.ui.vertical.steps .active.step:after { - display: block; -} - -.ui.vertical.steps .step:last-child:after { - display: none; -} - -.ui.vertical.steps .active.step:last-child:after { - display: block; -} - -/*--------------- - Responsive -----------------*/ - -/* Mobile (Default) */ - -@media only screen and (max-width: 767px) { - .ui.steps { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - overflow: visible; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - } - - .ui.steps .step { - width: 100% !important; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - border-radius: 0em; - padding: 1.14285714em 2em; - } - - .ui.steps .step:first-child { - padding: 1.14285714em 2em; - border-radius: 0.28571429rem 0.28571429rem 0em 0em; - } - - .ui.steps .step:last-child { - border-radius: 0em 0em 0.28571429rem 0.28571429rem; - } - - /* Arrow */ - - .ui.steps .step:after { - display: none !important; - } - - /* Content */ - - .ui.steps .step .content { - text-align: center; - } - - /* Icon */ - - .ui.steps .step > .icon, - .ui.ordered.steps .step:before { - margin: 0em 0em 1rem 0em; - } -} - -/******************************* - States -*******************************/ - -/* Link Hover */ - -.ui.steps .link.step:hover::after, -.ui.steps .link.step:hover, -.ui.steps a.step:hover::after, -.ui.steps a.step:hover { - background: #F9FAFB; - color: rgba(0, 0, 0, 0.8); -} - -/* Link Down */ - -.ui.steps .link.step:active::after, -.ui.steps .link.step:active, -.ui.steps a.step:active::after, -.ui.steps a.step:active { - background: #F3F4F5; - color: rgba(0, 0, 0, 0.9); -} - -/* Active */ - -.ui.steps .step.active { - cursor: auto; - background: #F3F4F5; -} - -.ui.steps .step.active:after { - background: #F3F4F5; -} - -.ui.steps .step.active .title { - color: #4183C4; -} - -.ui.ordered.steps .step.active:before, -.ui.steps .active.step .icon { - color: rgba(0, 0, 0, 0.85); -} - -/* Active Arrow */ - -.ui.steps .step:after { - display: block; -} - -.ui.steps .active.step:after { - display: block; -} - -.ui.steps .step:last-child:after { - display: none; -} - -.ui.steps .active.step:last-child:after { - display: none; -} - -/* Active Hover */ - -.ui.steps .link.active.step:hover::after, -.ui.steps .link.active.step:hover, -.ui.steps a.active.step:hover::after, -.ui.steps a.active.step:hover { - cursor: pointer; - background: #DCDDDE; - color: rgba(0, 0, 0, 0.87); -} - -/* Completed */ - -.ui.steps .step.completed > .icon:before, -.ui.ordered.steps .step.completed:before { - color: #21BA45; -} - -/* Disabled */ - -.ui.steps .disabled.step { - cursor: auto; - background: #FFFFFF; - pointer-events: none; -} - -.ui.steps .disabled.step, -.ui.steps .disabled.step .title, -.ui.steps .disabled.step .description { - color: rgba(40, 40, 40, 0.3); -} - -.ui.steps .disabled.step:after { - background: #FFFFFF; -} - -/******************************* - Variations -*******************************/ - -/*-------------- - Stackable ----------------*/ - -/* Tablet Or Below */ - -@media only screen and (max-width: 991px) { - .ui[class*="tablet stackable"].steps { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - overflow: visible; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - } - - /* Steps */ - - .ui[class*="tablet stackable"].steps .step { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - border-radius: 0em; - padding: 1.14285714em 2em; - } - - .ui[class*="tablet stackable"].steps .step:first-child { - padding: 1.14285714em 2em; - border-radius: 0.28571429rem 0.28571429rem 0em 0em; - } - - .ui[class*="tablet stackable"].steps .step:last-child { - border-radius: 0em 0em 0.28571429rem 0.28571429rem; - } - - /* Arrow */ - - .ui[class*="tablet stackable"].steps .step:after { - display: none !important; - } - - /* Content */ - - .ui[class*="tablet stackable"].steps .step .content { - text-align: center; - } - - /* Icon */ - - .ui[class*="tablet stackable"].steps .step > .icon, - .ui[class*="tablet stackable"].ordered.steps .step:before { - margin: 0em 0em 1rem 0em; - } -} - -/*-------------- - Fluid ----------------*/ - -/* Fluid */ - -.ui.fluid.steps { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - width: 100%; -} - -/*-------------- - Attached ----------------*/ - -/* Top */ - -.ui.attached.steps { - width: calc(100% + 2px ) !important; - margin: 0em -1px 0; - max-width: calc(100% + 2px ); - border-radius: 0.28571429rem 0.28571429rem 0em 0em; -} - -.ui.attached.steps .step:first-child { - border-radius: 0.28571429rem 0em 0em 0em; -} - -.ui.attached.steps .step:last-child { - border-radius: 0em 0.28571429rem 0em 0em; -} - -/* Bottom */ - -.ui.bottom.attached.steps { - margin: 0 -1px 0em; - border-radius: 0em 0em 0.28571429rem 0.28571429rem; -} - -.ui.bottom.attached.steps .step:first-child { - border-radius: 0em 0em 0em 0.28571429rem; -} - -.ui.bottom.attached.steps .step:last-child { - border-radius: 0em 0em 0.28571429rem 0em; -} - -/*------------------- - Evenly Divided ---------------------*/ - -.ui.one.steps, -.ui.two.steps, -.ui.three.steps, -.ui.four.steps, -.ui.five.steps, -.ui.six.steps, -.ui.seven.steps, -.ui.eight.steps { - width: 100%; -} - -.ui.one.steps > .step, -.ui.two.steps > .step, -.ui.three.steps > .step, -.ui.four.steps > .step, -.ui.five.steps > .step, -.ui.six.steps > .step, -.ui.seven.steps > .step, -.ui.eight.steps > .step { - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; -} - -.ui.one.steps > .step { - width: 100%; -} - -.ui.two.steps > .step { - width: 50%; -} - -.ui.three.steps > .step { - width: 33.333%; -} - -.ui.four.steps > .step { - width: 25%; -} - -.ui.five.steps > .step { - width: 20%; -} - -.ui.six.steps > .step { - width: 16.666%; -} - -.ui.seven.steps > .step { - width: 14.285%; -} - -.ui.eight.steps > .step { - width: 12.500%; -} - -/*------------------- - Sizes ---------------------*/ - -.ui.mini.steps .step, -.ui.mini.step { - font-size: 0.78571429rem; -} - -.ui.tiny.steps .step, -.ui.tiny.step { - font-size: 0.85714286rem; -} - -.ui.small.steps .step, -.ui.small.step { - font-size: 0.92857143rem; -} - -.ui.steps .step, -.ui.step { - font-size: 1rem; -} - -.ui.large.steps .step, -.ui.large.step { - font-size: 1.14285714rem; -} - -.ui.big.steps .step, -.ui.big.step { - font-size: 1.28571429rem; -} - -.ui.huge.steps .step, -.ui.huge.step { - font-size: 1.42857143rem; -} - -.ui.massive.steps .step, -.ui.massive.step { - font-size: 1.71428571rem; -} - -/******************************* - Theme Overrides -*******************************/ - -@font-face { - font-family: 'Step'; - src: url(data:application/x-font-ttf;charset=utf-8;;base64,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) format('truetype'), url(data:application/font-woff;charset=utf-8;base64,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) format('woff'); -} - -.ui.steps .step.completed > .icon:before, -.ui.ordered.steps .step.completed:before { - font-family: 'Step'; - content: '\e800'; - /* 'î €' */ -} - -/******************************* - Site Overrides -*******************************/ -/*! - * # Semantic UI undefined - Breadcrumb - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Breadcrumb -*******************************/ - -.ui.breadcrumb { - line-height: 1; - display: inline-block; - margin: 0em 0em; - vertical-align: middle; -} - -.ui.breadcrumb:first-child { - margin-top: 0em; -} - -.ui.breadcrumb:last-child { - margin-bottom: 0em; -} - -/******************************* - Content -*******************************/ - -/* Divider */ - -.ui.breadcrumb .divider { - display: inline-block; - opacity: 0.7; - margin: 0em 0.21428571rem 0em; - font-size: 0.92857143em; - color: rgba(0, 0, 0, 0.4); - vertical-align: baseline; -} - -/* Link */ - -.ui.breadcrumb a { - color: #4183C4; -} - -.ui.breadcrumb a:hover { - color: #1e70bf; -} - -/* Icon Divider */ - -.ui.breadcrumb .icon.divider { - font-size: 0.85714286em; - vertical-align: baseline; -} - -/* Section */ - -.ui.breadcrumb a.section { - cursor: pointer; -} - -.ui.breadcrumb .section { - display: inline-block; - margin: 0em; - padding: 0em; -} - -/* Loose Coupling */ - -.ui.breadcrumb.segment { - display: inline-block; - padding: 0.78571429em 1em; -} - -/******************************* - States -*******************************/ - -.ui.breadcrumb .active.section { - font-weight: bold; -} - -/******************************* - Variations -*******************************/ - -.ui.mini.breadcrumb { - font-size: 0.78571429rem; -} - -.ui.tiny.breadcrumb { - font-size: 0.85714286rem; -} - -.ui.small.breadcrumb { - font-size: 0.92857143rem; -} - -.ui.breadcrumb { - font-size: 1rem; -} - -.ui.large.breadcrumb { - font-size: 1.14285714rem; -} - -.ui.big.breadcrumb { - font-size: 1.28571429rem; -} - -.ui.huge.breadcrumb { - font-size: 1.42857143rem; -} - -.ui.massive.breadcrumb { - font-size: 1.71428571rem; -} - -/******************************* - Theme Overrides -*******************************/ - -/******************************* - Site Overrides -*******************************/ -/*! - * # Semantic UI undefined - Form + * # Semantic UI 2.2.10 - Form * http://github.com/semantic-org/semantic-ui/ * * @@ -18476,7 +15225,7 @@ ol.ui.horizontal.list li:before, Site Overrides *******************************/ /*! - * # Semantic UI undefined - Grid + * # Semantic UI 2.2.10 - Grid * http://github.com/semantic-org/semantic-ui/ * * @@ -22991,7 +19740,7 @@ Floated Menu / Item Site Overrides *******************************/ /*! - * # Semantic UI undefined - Message + * # Semantic UI 2.2.10 - Message * http://github.com/semantic-org/semantic-ui/ * * @@ -23532,7 +20281,7 @@ Floated Menu / Item Site Overrides *******************************/ /*! - * # Semantic UI undefined - Table + * # Semantic UI 2.2.10 - Table * http://github.com/semantic-org/semantic-ui/ * * @@ -24796,1969 +21545,7 @@ Floated Menu / Item Site Overrides *******************************/ /*! - * # Semantic UI undefined - Ad - * http://github.com/semantic-org/semantic-ui/ - * - * - * Copyright 2013 Contributors - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Advertisement -*******************************/ - -.ui.ad { - display: block; - overflow: hidden; - margin: 1em 0em; -} - -.ui.ad:first-child { - margin: 0em; -} - -.ui.ad:last-child { - margin: 0em; -} - -.ui.ad iframe { - margin: 0em; - padding: 0em; - border: none; - overflow: hidden; -} - -/*-------------- - Common ----------------*/ - -/* Leaderboard */ - -.ui.leaderboard.ad { - width: 728px; - height: 90px; -} - -/* Medium Rectangle */ - -.ui[class*="medium rectangle"].ad { - width: 300px; - height: 250px; -} - -/* Large Rectangle */ - -.ui[class*="large rectangle"].ad { - width: 336px; - height: 280px; -} - -/* Half Page */ - -.ui[class*="half page"].ad { - width: 300px; - height: 600px; -} - -/*-------------- - Square ----------------*/ - -/* Square */ - -.ui.square.ad { - width: 250px; - height: 250px; -} - -/* Small Square */ - -.ui[class*="small square"].ad { - width: 200px; - height: 200px; -} - -/*-------------- - Rectangle ----------------*/ - -/* Small Rectangle */ - -.ui[class*="small rectangle"].ad { - width: 180px; - height: 150px; -} - -/* Vertical Rectangle */ - -.ui[class*="vertical rectangle"].ad { - width: 240px; - height: 400px; -} - -/*-------------- - Button ----------------*/ - -.ui.button.ad { - width: 120px; - height: 90px; -} - -.ui[class*="square button"].ad { - width: 125px; - height: 125px; -} - -.ui[class*="small button"].ad { - width: 120px; - height: 60px; -} - -/*-------------- - Skyscrapers ----------------*/ - -/* Skyscraper */ - -.ui.skyscraper.ad { - width: 120px; - height: 600px; -} - -/* Wide Skyscraper */ - -.ui[class*="wide skyscraper"].ad { - width: 160px; -} - -/*-------------- - Banners ----------------*/ - -/* Banner */ - -.ui.banner.ad { - width: 468px; - height: 60px; -} - -/* Vertical Banner */ - -.ui[class*="vertical banner"].ad { - width: 120px; - height: 240px; -} - -/* Top Banner */ - -.ui[class*="top banner"].ad { - width: 930px; - height: 180px; -} - -/* Half Banner */ - -.ui[class*="half banner"].ad { - width: 234px; - height: 60px; -} - -/*-------------- - Boards ----------------*/ - -/* Leaderboard */ - -.ui[class*="large leaderboard"].ad { - width: 970px; - height: 90px; -} - -/* Billboard */ - -.ui.billboard.ad { - width: 970px; - height: 250px; -} - -/*-------------- - Panorama ----------------*/ - -/* Panorama */ - -.ui.panorama.ad { - width: 980px; - height: 120px; -} - -/*-------------- - Netboard ----------------*/ - -/* Netboard */ - -.ui.netboard.ad { - width: 580px; - height: 400px; -} - -/*-------------- - Mobile ----------------*/ - -/* Large Mobile Banner */ - -.ui[class*="large mobile banner"].ad { - width: 320px; - height: 100px; -} - -/* Mobile Leaderboard */ - -.ui[class*="mobile leaderboard"].ad { - width: 320px; - height: 50px; -} - -/******************************* - Types -*******************************/ - -/* Mobile Sizes */ - -.ui.mobile.ad { - display: none; -} - -@media only screen and (max-width: 767px) { - .ui.mobile.ad { - display: block; - } -} - -/******************************* - Variations -*******************************/ - -.ui.centered.ad { - margin-left: auto; - margin-right: auto; -} - -.ui.test.ad { - position: relative; - background: #545454; -} - -.ui.test.ad:after { - position: absolute; - top: 50%; - left: 50%; - width: 100%; - text-align: center; - -webkit-transform: translateX(-50%) translateY(-50%); - transform: translateX(-50%) translateY(-50%); - content: 'Ad'; - color: #FFFFFF; - font-size: 1em; - font-weight: bold; -} - -.ui.mobile.test.ad:after { - font-size: 0.85714286em; -} - -.ui.test.ad[data-text]:after { - content: attr(data-text); -} - -/******************************* - Theme Overrides -*******************************/ - -/******************************* - User Variable Overrides -*******************************/ -/*! - * # Semantic UI undefined - Item - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Standard -*******************************/ - -/*-------------- - Card ----------------*/ - -.ui.cards > .card, -.ui.card { - max-width: 100%; - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - width: 290px; - min-height: 0px; - background: #FFFFFF; - padding: 0em; - border: none; - border-radius: 0.28571429rem; - box-shadow: 0px 1px 3px 0px #D4D4D5, 0px 0px 0px 1px #D4D4D5; - -webkit-transition: box-shadow 0.1s ease, -webkit-transform 0.1s ease; - transition: box-shadow 0.1s ease, -webkit-transform 0.1s ease; - transition: box-shadow 0.1s ease, transform 0.1s ease; - transition: box-shadow 0.1s ease, transform 0.1s ease, -webkit-transform 0.1s ease; - z-index: ''; -} - -.ui.card { - margin: 1em 0em; -} - -.ui.cards > .card a, -.ui.card a { - cursor: pointer; -} - -.ui.card:first-child { - margin-top: 0em; -} - -.ui.card:last-child { - margin-bottom: 0em; -} - -/*-------------- - Cards ----------------*/ - -.ui.cards { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - margin: -0.875em -0.5em; - -ms-flex-wrap: wrap; - flex-wrap: wrap; -} - -.ui.cards > .card { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - margin: 0.875em 0.5em; - float: none; -} - -/* Clearing */ - -.ui.cards:after, -.ui.card:after { - display: block; - content: ' '; - height: 0px; - clear: both; - overflow: hidden; - visibility: hidden; -} - -/* Consecutive Card Groups Preserve Row Spacing */ - -.ui.cards ~ .ui.cards { - margin-top: 0.875em; -} - -/*-------------- - Rounded Edges ----------------*/ - -.ui.cards > .card > :first-child, -.ui.card > :first-child { - border-radius: 0.28571429rem 0.28571429rem 0em 0em !important; - border-top: none !important; -} - -.ui.cards > .card > :last-child, -.ui.card > :last-child { - border-radius: 0em 0em 0.28571429rem 0.28571429rem !important; -} - -.ui.cards > .card > :only-child, -.ui.card > :only-child { - border-radius: 0.28571429rem !important; -} - -/*-------------- - Images ----------------*/ - -.ui.cards > .card > .image, -.ui.card > .image { - position: relative; - display: block; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - padding: 0em; - background: rgba(0, 0, 0, 0.05); -} - -.ui.cards > .card > .image > img, -.ui.card > .image > img { - display: block; - width: 100%; - height: auto; - border-radius: inherit; -} - -.ui.cards > .card > .image:not(.ui) > img, -.ui.card > .image:not(.ui) > img { - border: none; -} - -/*-------------- - Content ----------------*/ - -.ui.cards > .card > .content, -.ui.card > .content { - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - border: none; - border-top: 1px solid rgba(34, 36, 38, 0.1); - background: none; - margin: 0em; - padding: 1em 1em; - box-shadow: none; - font-size: 1em; - border-radius: 0em; -} - -.ui.cards > .card > .content:after, -.ui.card > .content:after { - display: block; - content: ' '; - height: 0px; - clear: both; - overflow: hidden; - visibility: hidden; -} - -.ui.cards > .card > .content > .header, -.ui.card > .content > .header { - display: block; - margin: ''; - font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; - color: rgba(0, 0, 0, 0.85); -} - -/* Default Header Size */ - -.ui.cards > .card > .content > .header:not(.ui), -.ui.card > .content > .header:not(.ui) { - font-weight: bold; - font-size: 1.28571429em; - margin-top: -0.21425em; - line-height: 1.28571429em; -} - -.ui.cards > .card > .content > .meta + .description, -.ui.cards > .card > .content > .header + .description, -.ui.card > .content > .meta + .description, -.ui.card > .content > .header + .description { - margin-top: 0.5em; -} - -/*---------------- - Floated Content ------------------*/ - -.ui.cards > .card [class*="left floated"], -.ui.card [class*="left floated"] { - float: left; -} - -.ui.cards > .card [class*="right floated"], -.ui.card [class*="right floated"] { - float: right; -} - -/*-------------- - Aligned ----------------*/ - -.ui.cards > .card [class*="left aligned"], -.ui.card [class*="left aligned"] { - text-align: left; -} - -.ui.cards > .card [class*="center aligned"], -.ui.card [class*="center aligned"] { - text-align: center; -} - -.ui.cards > .card [class*="right aligned"], -.ui.card [class*="right aligned"] { - text-align: right; -} - -/*-------------- - Content Image ----------------*/ - -.ui.cards > .card .content img, -.ui.card .content img { - display: inline-block; - vertical-align: middle; - width: ''; -} - -.ui.cards > .card img.avatar, -.ui.cards > .card .avatar img, -.ui.card img.avatar, -.ui.card .avatar img { - width: 2em; - height: 2em; - border-radius: 500rem; -} - -/*-------------- - Description ----------------*/ - -.ui.cards > .card > .content > .description, -.ui.card > .content > .description { - clear: both; - color: rgba(0, 0, 0, 0.68); -} - -/*-------------- - Paragraph ----------------*/ - -.ui.cards > .card > .content p, -.ui.card > .content p { - margin: 0em 0em 0.5em; -} - -.ui.cards > .card > .content p:last-child, -.ui.card > .content p:last-child { - margin-bottom: 0em; -} - -/*-------------- - Meta ----------------*/ - -.ui.cards > .card .meta, -.ui.card .meta { - font-size: 1em; - color: rgba(0, 0, 0, 0.4); -} - -.ui.cards > .card .meta *, -.ui.card .meta * { - margin-right: 0.3em; -} - -.ui.cards > .card .meta :last-child, -.ui.card .meta :last-child { - margin-right: 0em; -} - -.ui.cards > .card .meta [class*="right floated"], -.ui.card .meta [class*="right floated"] { - margin-right: 0em; - margin-left: 0.3em; -} - -/*-------------- - Links ----------------*/ - -/* Generic */ - -.ui.cards > .card > .content a:not(.ui), -.ui.card > .content a:not(.ui) { - color: ''; - -webkit-transition: color 0.1s ease; - transition: color 0.1s ease; -} - -.ui.cards > .card > .content a:not(.ui):hover, -.ui.card > .content a:not(.ui):hover { - color: ''; -} - -/* Header */ - -.ui.cards > .card > .content > a.header, -.ui.card > .content > a.header { - color: rgba(0, 0, 0, 0.85); -} - -.ui.cards > .card > .content > a.header:hover, -.ui.card > .content > a.header:hover { - color: #1e70bf; -} - -/* Meta */ - -.ui.cards > .card .meta > a:not(.ui), -.ui.card .meta > a:not(.ui) { - color: rgba(0, 0, 0, 0.4); -} - -.ui.cards > .card .meta > a:not(.ui):hover, -.ui.card .meta > a:not(.ui):hover { - color: rgba(0, 0, 0, 0.87); -} - -/*-------------- - Buttons ----------------*/ - -.ui.cards > .card > .buttons, -.ui.card > .buttons, -.ui.cards > .card > .button, -.ui.card > .button { - margin: 0px -1px; - width: calc(100% + 2px ); -} - -/*-------------- - Dimmer ----------------*/ - -.ui.cards > .card .dimmer, -.ui.card .dimmer { - background-color: ''; - z-index: 10; -} - -/*-------------- - Labels ----------------*/ - -/*-----Star----- */ - -/* Icon */ - -.ui.cards > .card > .content .star.icon, -.ui.card > .content .star.icon { - cursor: pointer; - opacity: 0.75; - -webkit-transition: color 0.1s ease; - transition: color 0.1s ease; -} - -.ui.cards > .card > .content .star.icon:hover, -.ui.card > .content .star.icon:hover { - opacity: 1; - color: #FFB70A; -} - -.ui.cards > .card > .content .active.star.icon, -.ui.card > .content .active.star.icon { - color: #FFE623; -} - -/*-----Like----- */ - -/* Icon */ - -.ui.cards > .card > .content .like.icon, -.ui.card > .content .like.icon { - cursor: pointer; - opacity: 0.75; - -webkit-transition: color 0.1s ease; - transition: color 0.1s ease; -} - -.ui.cards > .card > .content .like.icon:hover, -.ui.card > .content .like.icon:hover { - opacity: 1; - color: #FF2733; -} - -.ui.cards > .card > .content .active.like.icon, -.ui.card > .content .active.like.icon { - color: #FF2733; -} - -/*---------------- - Extra Content ------------------*/ - -.ui.cards > .card > .extra, -.ui.card > .extra { - max-width: 100%; - min-height: 0em !important; - -webkit-box-flex: 0; - -ms-flex-positive: 0; - flex-grow: 0; - border-top: 1px solid rgba(0, 0, 0, 0.05) !important; - position: static; - background: none; - width: auto; - margin: 0em 0em; - padding: 0.75em 1em; - top: 0em; - left: 0em; - color: rgba(0, 0, 0, 0.4); - box-shadow: none; - -webkit-transition: color 0.1s ease; - transition: color 0.1s ease; -} - -.ui.cards > .card > .extra a:not(.ui), -.ui.card > .extra a:not(.ui) { - color: rgba(0, 0, 0, 0.4); -} - -.ui.cards > .card > .extra a:not(.ui):hover, -.ui.card > .extra a:not(.ui):hover { - color: #1e70bf; -} - -/******************************* - Variations -*******************************/ - -/*------------------- - Raised ---------------------*/ - -.ui.raised.cards > .card, -.ui.raised.card { - box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.15); -} - -.ui.raised.cards a.card:hover, -.ui.link.cards .raised.card:hover, -a.ui.raised.card:hover, -.ui.link.raised.card:hover { - box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 4px 0px rgba(34, 36, 38, 0.15), 0px 2px 10px 0px rgba(34, 36, 38, 0.25); -} - -.ui.raised.cards > .card, -.ui.raised.card { - box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.15); -} - -/*------------------- - Centered ---------------------*/ - -.ui.centered.cards { - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; -} - -.ui.centered.card { - margin-left: auto; - margin-right: auto; -} - -/*------------------- - Fluid ---------------------*/ - -.ui.fluid.card { - width: 100%; - max-width: 9999px; -} - -/*------------------- - Link ---------------------*/ - -.ui.cards a.card, -.ui.link.cards .card, -a.ui.card, -.ui.link.card { - -webkit-transform: none; - transform: none; -} - -.ui.cards a.card:hover, -.ui.link.cards .card:hover, -a.ui.card:hover, -.ui.link.card:hover { - cursor: pointer; - z-index: 5; - background: #FFFFFF; - border: none; - box-shadow: 0px 1px 3px 0px #BCBDBD, 0px 0px 0px 1px #D4D4D5; - -webkit-transform: translateY(-3px); - transform: translateY(-3px); -} - -/*------------------- - Colors ---------------------*/ - -/* Red */ - -.ui.red.cards > .card, -.ui.cards > .red.card, -.ui.red.card { - box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #DB2828, 0px 1px 3px 0px #D4D4D5; -} - -.ui.red.cards > .card:hover, -.ui.cards > .red.card:hover, -.ui.red.card:hover { - box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #d01919, 0px 1px 3px 0px #BCBDBD; -} - -/* Orange */ - -.ui.orange.cards > .card, -.ui.cards > .orange.card, -.ui.orange.card { - box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #F2711C, 0px 1px 3px 0px #D4D4D5; -} - -.ui.orange.cards > .card:hover, -.ui.cards > .orange.card:hover, -.ui.orange.card:hover { - box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #f26202, 0px 1px 3px 0px #BCBDBD; -} - -/* Yellow */ - -.ui.yellow.cards > .card, -.ui.cards > .yellow.card, -.ui.yellow.card { - box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #FBBD08, 0px 1px 3px 0px #D4D4D5; -} - -.ui.yellow.cards > .card:hover, -.ui.cards > .yellow.card:hover, -.ui.yellow.card:hover { - box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #eaae00, 0px 1px 3px 0px #BCBDBD; -} - -/* Olive */ - -.ui.olive.cards > .card, -.ui.cards > .olive.card, -.ui.olive.card { - box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #B5CC18, 0px 1px 3px 0px #D4D4D5; -} - -.ui.olive.cards > .card:hover, -.ui.cards > .olive.card:hover, -.ui.olive.card:hover { - box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #a7bd0d, 0px 1px 3px 0px #BCBDBD; -} - -/* Green */ - -.ui.green.cards > .card, -.ui.cards > .green.card, -.ui.green.card { - box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #21BA45, 0px 1px 3px 0px #D4D4D5; -} - -.ui.green.cards > .card:hover, -.ui.cards > .green.card:hover, -.ui.green.card:hover { - box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #16ab39, 0px 1px 3px 0px #BCBDBD; -} - -/* Teal */ - -.ui.teal.cards > .card, -.ui.cards > .teal.card, -.ui.teal.card { - box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #00B5AD, 0px 1px 3px 0px #D4D4D5; -} - -.ui.teal.cards > .card:hover, -.ui.cards > .teal.card:hover, -.ui.teal.card:hover { - box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #009c95, 0px 1px 3px 0px #BCBDBD; -} - -/* Blue */ - -.ui.blue.cards > .card, -.ui.cards > .blue.card, -.ui.blue.card { - box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #2185D0, 0px 1px 3px 0px #D4D4D5; -} - -.ui.blue.cards > .card:hover, -.ui.cards > .blue.card:hover, -.ui.blue.card:hover { - box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #1678c2, 0px 1px 3px 0px #BCBDBD; -} - -/* Violet */ - -.ui.violet.cards > .card, -.ui.cards > .violet.card, -.ui.violet.card { - box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #6435C9, 0px 1px 3px 0px #D4D4D5; -} - -.ui.violet.cards > .card:hover, -.ui.cards > .violet.card:hover, -.ui.violet.card:hover { - box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #5829bb, 0px 1px 3px 0px #BCBDBD; -} - -/* Purple */ - -.ui.purple.cards > .card, -.ui.cards > .purple.card, -.ui.purple.card { - box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #A333C8, 0px 1px 3px 0px #D4D4D5; -} - -.ui.purple.cards > .card:hover, -.ui.cards > .purple.card:hover, -.ui.purple.card:hover { - box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #9627ba, 0px 1px 3px 0px #BCBDBD; -} - -/* Pink */ - -.ui.pink.cards > .card, -.ui.cards > .pink.card, -.ui.pink.card { - box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #E03997, 0px 1px 3px 0px #D4D4D5; -} - -.ui.pink.cards > .card:hover, -.ui.cards > .pink.card:hover, -.ui.pink.card:hover { - box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #e61a8d, 0px 1px 3px 0px #BCBDBD; -} - -/* Brown */ - -.ui.brown.cards > .card, -.ui.cards > .brown.card, -.ui.brown.card { - box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #A5673F, 0px 1px 3px 0px #D4D4D5; -} - -.ui.brown.cards > .card:hover, -.ui.cards > .brown.card:hover, -.ui.brown.card:hover { - box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #975b33, 0px 1px 3px 0px #BCBDBD; -} - -/* Grey */ - -.ui.grey.cards > .card, -.ui.cards > .grey.card, -.ui.grey.card { - box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #767676, 0px 1px 3px 0px #D4D4D5; -} - -.ui.grey.cards > .card:hover, -.ui.cards > .grey.card:hover, -.ui.grey.card:hover { - box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #838383, 0px 1px 3px 0px #BCBDBD; -} - -/* Black */ - -.ui.black.cards > .card, -.ui.cards > .black.card, -.ui.black.card { - box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #1B1C1D, 0px 1px 3px 0px #D4D4D5; -} - -.ui.black.cards > .card:hover, -.ui.cards > .black.card:hover, -.ui.black.card:hover { - box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #27292a, 0px 1px 3px 0px #BCBDBD; -} - -/*-------------- - Card Count ----------------*/ - -.ui.one.cards { - margin-left: 0em; - margin-right: 0em; -} - -.ui.one.cards > .card { - width: 100%; -} - -.ui.two.cards { - margin-left: -1em; - margin-right: -1em; -} - -.ui.two.cards > .card { - width: calc( 50% - 2em ); - margin-left: 1em; - margin-right: 1em; -} - -.ui.three.cards { - margin-left: -1em; - margin-right: -1em; -} - -.ui.three.cards > .card { - width: calc( 33.33333333% - 2em ); - margin-left: 1em; - margin-right: 1em; -} - -.ui.four.cards { - margin-left: -0.75em; - margin-right: -0.75em; -} - -.ui.four.cards > .card { - width: calc( 25% - 1.5em ); - margin-left: 0.75em; - margin-right: 0.75em; -} - -.ui.five.cards { - margin-left: -0.75em; - margin-right: -0.75em; -} - -.ui.five.cards > .card { - width: calc( 20% - 1.5em ); - margin-left: 0.75em; - margin-right: 0.75em; -} - -.ui.six.cards { - margin-left: -0.75em; - margin-right: -0.75em; -} - -.ui.six.cards > .card { - width: calc( 16.66666667% - 1.5em ); - margin-left: 0.75em; - margin-right: 0.75em; -} - -.ui.seven.cards { - margin-left: -0.5em; - margin-right: -0.5em; -} - -.ui.seven.cards > .card { - width: calc( 14.28571429% - 1em ); - margin-left: 0.5em; - margin-right: 0.5em; -} - -.ui.eight.cards { - margin-left: -0.5em; - margin-right: -0.5em; -} - -.ui.eight.cards > .card { - width: calc( 12.5% - 1em ); - margin-left: 0.5em; - margin-right: 0.5em; - font-size: 11px; -} - -.ui.nine.cards { - margin-left: -0.5em; - margin-right: -0.5em; -} - -.ui.nine.cards > .card { - width: calc( 11.11111111% - 1em ); - margin-left: 0.5em; - margin-right: 0.5em; - font-size: 10px; -} - -.ui.ten.cards { - margin-left: -0.5em; - margin-right: -0.5em; -} - -.ui.ten.cards > .card { - width: calc( 10% - 1em ); - margin-left: 0.5em; - margin-right: 0.5em; -} - -/*------------------- - Doubling ---------------------*/ - -/* Mobile Only */ - -@media only screen and (max-width: 767px) { - .ui.two.doubling.cards { - margin-left: 0em; - margin-right: 0em; - } - - .ui.two.doubling.cards > .card { - width: 100%; - margin-left: 0em; - margin-right: 0em; - } - - .ui.three.doubling.cards { - margin-left: -1em; - margin-right: -1em; - } - - .ui.three.doubling.cards > .card { - width: calc( 50% - 2em ); - margin-left: 1em; - margin-right: 1em; - } - - .ui.four.doubling.cards { - margin-left: -1em; - margin-right: -1em; - } - - .ui.four.doubling.cards > .card { - width: calc( 50% - 2em ); - margin-left: 1em; - margin-right: 1em; - } - - .ui.five.doubling.cards { - margin-left: -1em; - margin-right: -1em; - } - - .ui.five.doubling.cards > .card { - width: calc( 50% - 2em ); - margin-left: 1em; - margin-right: 1em; - } - - .ui.six.doubling.cards { - margin-left: -1em; - margin-right: -1em; - } - - .ui.six.doubling.cards > .card { - width: calc( 50% - 2em ); - margin-left: 1em; - margin-right: 1em; - } - - .ui.seven.doubling.cards { - margin-left: -1em; - margin-right: -1em; - } - - .ui.seven.doubling.cards > .card { - width: calc( 33.33333333% - 2em ); - margin-left: 1em; - margin-right: 1em; - } - - .ui.eight.doubling.cards { - margin-left: -1em; - margin-right: -1em; - } - - .ui.eight.doubling.cards > .card { - width: calc( 33.33333333% - 2em ); - margin-left: 1em; - margin-right: 1em; - } - - .ui.nine.doubling.cards { - margin-left: -1em; - margin-right: -1em; - } - - .ui.nine.doubling.cards > .card { - width: calc( 33.33333333% - 2em ); - margin-left: 1em; - margin-right: 1em; - } - - .ui.ten.doubling.cards { - margin-left: -1em; - margin-right: -1em; - } - - .ui.ten.doubling.cards > .card { - width: calc( 33.33333333% - 2em ); - margin-left: 1em; - margin-right: 1em; - } -} - -/* Tablet Only */ - -@media only screen and (min-width: 768px) and (max-width: 991px) { - .ui.two.doubling.cards { - margin-left: 0em; - margin-right: 0em; - } - - .ui.two.doubling.cards > .card { - width: 100%; - margin-left: 0em; - margin-right: 0em; - } - - .ui.three.doubling.cards { - margin-left: -1em; - margin-right: -1em; - } - - .ui.three.doubling.cards > .card { - width: calc( 50% - 2em ); - margin-left: 1em; - margin-right: 1em; - } - - .ui.four.doubling.cards { - margin-left: -1em; - margin-right: -1em; - } - - .ui.four.doubling.cards > .card { - width: calc( 50% - 2em ); - margin-left: 1em; - margin-right: 1em; - } - - .ui.five.doubling.cards { - margin-left: -1em; - margin-right: -1em; - } - - .ui.five.doubling.cards > .card { - width: calc( 33.33333333% - 2em ); - margin-left: 1em; - margin-right: 1em; - } - - .ui.six.doubling.cards { - margin-left: -1em; - margin-right: -1em; - } - - .ui.six.doubling.cards > .card { - width: calc( 33.33333333% - 2em ); - margin-left: 1em; - margin-right: 1em; - } - - .ui.eight.doubling.cards { - margin-left: -1em; - margin-right: -1em; - } - - .ui.eight.doubling.cards > .card { - width: calc( 33.33333333% - 2em ); - margin-left: 1em; - margin-right: 1em; - } - - .ui.eight.doubling.cards { - margin-left: -0.75em; - margin-right: -0.75em; - } - - .ui.eight.doubling.cards > .card { - width: calc( 25% - 1.5em ); - margin-left: 0.75em; - margin-right: 0.75em; - } - - .ui.nine.doubling.cards { - margin-left: -0.75em; - margin-right: -0.75em; - } - - .ui.nine.doubling.cards > .card { - width: calc( 25% - 1.5em ); - margin-left: 0.75em; - margin-right: 0.75em; - } - - .ui.ten.doubling.cards { - margin-left: -0.75em; - margin-right: -0.75em; - } - - .ui.ten.doubling.cards > .card { - width: calc( 20% - 1.5em ); - margin-left: 0.75em; - margin-right: 0.75em; - } -} - -/*------------------- - Stackable ---------------------*/ - -@media only screen and (max-width: 767px) { - .ui.stackable.cards { - display: block !important; - } - - .ui.stackable.cards .card:first-child { - margin-top: 0em !important; - } - - .ui.stackable.cards > .card { - display: block !important; - height: auto !important; - margin: 1em 1em; - padding: 0 !important; - width: calc( 100% - 2em ) !important; - } -} - -/*-------------- - Size ----------------*/ - -.ui.cards > .card { - font-size: 1em; -} - -/******************************* - Theme Overrides -*******************************/ - -/******************************* - User Variable Overrides -*******************************/ -/*! - * # Semantic UI undefined - Comment - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Standard -*******************************/ - -/*-------------- - Comments ----------------*/ - -.ui.comments { - margin: 1.5em 0em; - max-width: 650px; -} - -.ui.comments:first-child { - margin-top: 0em; -} - -.ui.comments:last-child { - margin-bottom: 0em; -} - -/*-------------- - Comment ----------------*/ - -.ui.comments .comment { - position: relative; - background: none; - margin: 0.5em 0em 0em; - padding: 0.5em 0em 0em; - border: none; - border-top: none; - line-height: 1.2; -} - -.ui.comments .comment:first-child { - margin-top: 0em; - padding-top: 0em; -} - -/*-------------------- - Nested Comments ----------------------*/ - -.ui.comments .comment .comments { - margin: 0em 0em 0.5em 0.5em; - padding: 1em 0em 1em 1em; -} - -.ui.comments .comment .comments:before { - position: absolute; - top: 0px; - left: 0px; -} - -.ui.comments .comment .comments .comment { - border: none; - border-top: none; - background: none; -} - -/*-------------- - Avatar ----------------*/ - -.ui.comments .comment .avatar { - display: block; - width: 2.5em; - height: auto; - float: left; - margin: 0.2em 0em 0em; -} - -.ui.comments .comment img.avatar, -.ui.comments .comment .avatar img { - display: block; - margin: 0em auto; - width: 100%; - height: 100%; - border-radius: 0.25rem; -} - -/*-------------- - Content ----------------*/ - -.ui.comments .comment > .content { - display: block; -} - -/* If there is an avatar move content over */ - -.ui.comments .comment > .avatar ~ .content { - margin-left: 3.5em; -} - -/*-------------- - Author ----------------*/ - -.ui.comments .comment .author { - font-size: 1em; - color: rgba(0, 0, 0, 0.87); - font-weight: bold; -} - -.ui.comments .comment a.author { - cursor: pointer; -} - -.ui.comments .comment a.author:hover { - color: #1e70bf; -} - -/*-------------- - Metadata ----------------*/ - -.ui.comments .comment .metadata { - display: inline-block; - margin-left: 0.5em; - color: rgba(0, 0, 0, 0.4); - font-size: 0.875em; -} - -.ui.comments .comment .metadata > * { - display: inline-block; - margin: 0em 0.5em 0em 0em; -} - -.ui.comments .comment .metadata > :last-child { - margin-right: 0em; -} - -/*-------------------- - Comment Text ----------------------*/ - -.ui.comments .comment .text { - margin: 0.25em 0em 0.5em; - font-size: 1em; - word-wrap: break-word; - color: rgba(0, 0, 0, 0.87); - line-height: 1.3; -} - -/*-------------------- - User Actions ----------------------*/ - -.ui.comments .comment .actions { - font-size: 0.875em; -} - -.ui.comments .comment .actions a { - cursor: pointer; - display: inline-block; - margin: 0em 0.75em 0em 0em; - color: rgba(0, 0, 0, 0.4); -} - -.ui.comments .comment .actions a:last-child { - margin-right: 0em; -} - -.ui.comments .comment .actions a.active, -.ui.comments .comment .actions a:hover { - color: rgba(0, 0, 0, 0.8); -} - -/*-------------------- - Reply Form ----------------------*/ - -.ui.comments > .reply.form { - margin-top: 1em; -} - -.ui.comments .comment .reply.form { - width: 100%; - margin-top: 1em; -} - -.ui.comments .reply.form textarea { - font-size: 1em; - height: 12em; -} - -/******************************* - State -*******************************/ - -.ui.collapsed.comments, -.ui.comments .collapsed.comments, -.ui.comments .collapsed.comment { - display: none; -} - -/******************************* - Variations -*******************************/ - -/*-------------------- - Threaded ----------------------*/ - -.ui.threaded.comments .comment .comments { - margin: -1.5em 0 -1em 1.25em; - padding: 3em 0em 2em 2.25em; - box-shadow: -1px 0px 0px rgba(34, 36, 38, 0.15); -} - -/*-------------------- - Minimal ----------------------*/ - -.ui.minimal.comments .comment .actions { - opacity: 0; - position: absolute; - top: 0px; - right: 0px; - left: auto; - -webkit-transition: opacity 0.2s ease; - transition: opacity 0.2s ease; - -webkit-transition-delay: 0.1s; - transition-delay: 0.1s; -} - -.ui.minimal.comments .comment > .content:hover > .actions { - opacity: 1; -} - -/*------------------- - Sizes ---------------------*/ - -.ui.mini.comments { - font-size: 0.78571429rem; -} - -.ui.tiny.comments { - font-size: 0.85714286rem; -} - -.ui.small.comments { - font-size: 0.92857143rem; -} - -.ui.comments { - font-size: 1rem; -} - -.ui.large.comments { - font-size: 1.14285714rem; -} - -.ui.big.comments { - font-size: 1.28571429rem; -} - -.ui.huge.comments { - font-size: 1.42857143rem; -} - -.ui.massive.comments { - font-size: 1.71428571rem; -} - -/******************************* - Theme Overrides -*******************************/ - -/******************************* - User Variable Overrides -*******************************/ -/*! - * # Semantic UI undefined - Feed - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Activity Feed -*******************************/ - -.ui.feed { - margin: 1em 0em; -} - -.ui.feed:first-child { - margin-top: 0em; -} - -.ui.feed:last-child { - margin-bottom: 0em; -} - -/******************************* - Content -*******************************/ - -/* Event */ - -.ui.feed > .event { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - width: 100%; - padding: 0.21428571rem 0em; - margin: 0em; - background: none; - border-top: none; -} - -.ui.feed > .event:first-child { - border-top: 0px; - padding-top: 0em; -} - -.ui.feed > .event:last-child { - padding-bottom: 0em; -} - -/* Event Label */ - -.ui.feed > .event > .label { - display: block; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: 2.5em; - height: auto; - -ms-flex-item-align: stretch; - -ms-grid-row-align: stretch; - align-self: stretch; - text-align: left; -} - -.ui.feed > .event > .label .icon { - opacity: 1; - font-size: 1.5em; - width: 100%; - padding: 0.25em; - background: none; - border: none; - border-radius: none; - color: rgba(0, 0, 0, 0.6); -} - -.ui.feed > .event > .label img { - width: 100%; - height: auto; - border-radius: 500rem; -} - -.ui.feed > .event > .label + .content { - margin: 0.5em 0em 0.35714286em 1.14285714em; -} - -/*-------------- - Content ----------------*/ - -/* Content */ - -.ui.feed > .event > .content { - display: block; - -webkit-box-flex: 1; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - -ms-flex-item-align: stretch; - -ms-grid-row-align: stretch; - align-self: stretch; - text-align: left; - word-wrap: break-word; -} - -.ui.feed > .event:last-child > .content { - padding-bottom: 0em; -} - -/* Link */ - -.ui.feed > .event > .content a { - cursor: pointer; -} - -/*-------------- - Date ----------------*/ - -.ui.feed > .event > .content .date { - margin: -0.5rem 0em 0em; - padding: 0em; - font-weight: normal; - font-size: 1em; - font-style: normal; - color: rgba(0, 0, 0, 0.4); -} - -/*-------------- - Summary ----------------*/ - -.ui.feed > .event > .content .summary { - margin: 0em; - font-size: 1em; - font-weight: bold; - color: rgba(0, 0, 0, 0.87); -} - -/* Summary Image */ - -.ui.feed > .event > .content .summary img { - display: inline-block; - width: auto; - height: 10em; - margin: -0.25em 0.25em 0em 0em; - border-radius: 0.25em; - vertical-align: middle; -} - -/*-------------- - User ----------------*/ - -.ui.feed > .event > .content .user { - display: inline-block; - font-weight: bold; - margin-right: 0em; - vertical-align: baseline; -} - -.ui.feed > .event > .content .user img { - margin: -0.25em 0.25em 0em 0em; - width: auto; - height: 10em; - vertical-align: middle; -} - -/*-------------- - Inline Date ----------------*/ - -/* Date inside Summary */ - -.ui.feed > .event > .content .summary > .date { - display: inline-block; - float: none; - font-weight: normal; - font-size: 0.85714286em; - font-style: normal; - margin: 0em 0em 0em 0.5em; - padding: 0em; - color: rgba(0, 0, 0, 0.4); -} - -/*-------------- - Extra Summary ----------------*/ - -.ui.feed > .event > .content .extra { - margin: 0.5em 0em 0em; - background: none; - padding: 0em; - color: rgba(0, 0, 0, 0.87); -} - -/* Images */ - -.ui.feed > .event > .content .extra.images img { - display: inline-block; - margin: 0em 0.25em 0em 0em; - width: 6em; -} - -/* Text */ - -.ui.feed > .event > .content .extra.text { - padding: 0em; - border-left: none; - font-size: 1em; - max-width: 500px; - line-height: 1.4285em; -} - -/*-------------- - Meta ----------------*/ - -.ui.feed > .event > .content .meta { - display: inline-block; - font-size: 0.85714286em; - margin: 0.5em 0em 0em; - background: none; - border: none; - border-radius: 0; - box-shadow: none; - padding: 0em; - color: rgba(0, 0, 0, 0.6); -} - -.ui.feed > .event > .content .meta > * { - position: relative; - margin-left: 0.75em; -} - -.ui.feed > .event > .content .meta > *:after { - content: ''; - color: rgba(0, 0, 0, 0.2); - top: 0em; - left: -1em; - opacity: 1; - position: absolute; - vertical-align: top; -} - -.ui.feed > .event > .content .meta .like { - color: ''; - -webkit-transition: 0.2s color ease; - transition: 0.2s color ease; -} - -.ui.feed > .event > .content .meta .like:hover .icon { - color: #FF2733; -} - -.ui.feed > .event > .content .meta .active.like .icon { - color: #EF404A; -} - -/* First element */ - -.ui.feed > .event > .content .meta > :first-child { - margin-left: 0em; -} - -.ui.feed > .event > .content .meta > :first-child::after { - display: none; -} - -/* Action */ - -.ui.feed > .event > .content .meta a, -.ui.feed > .event > .content .meta > .icon { - cursor: pointer; - opacity: 1; - color: rgba(0, 0, 0, 0.5); - -webkit-transition: color 0.1s ease; - transition: color 0.1s ease; -} - -.ui.feed > .event > .content .meta a:hover, -.ui.feed > .event > .content .meta a:hover .icon, -.ui.feed > .event > .content .meta > .icon:hover { - color: rgba(0, 0, 0, 0.95); -} - -/******************************* - Variations -*******************************/ - -.ui.small.feed { - font-size: 0.92857143rem; -} - -.ui.feed { - font-size: 1rem; -} - -.ui.large.feed { - font-size: 1.14285714rem; -} - -/******************************* - Theme Overrides -*******************************/ - -/******************************* - User Variable Overrides -*******************************/ -/*! - * # Semantic UI undefined - Item + * # Semantic UI 2.2.10 - Item * http://github.com/semantic-org/semantic-ui/ * * @@ -27278,905 +22065,7 @@ a.ui.card:hover, User Variable Overrides *******************************/ /*! - * # Semantic UI undefined - Statistic - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Statistic -*******************************/ - -/* Standalone */ - -.ui.statistic { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - margin: 1em 0em; - max-width: auto; -} - -.ui.statistic + .ui.statistic { - margin: 0em 0em 0em 1.5em; -} - -.ui.statistic:first-child { - margin-top: 0em; -} - -.ui.statistic:last-child { - margin-bottom: 0em; -} - -/******************************* - Group -*******************************/ - -/* Grouped */ - -.ui.statistics { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: start; - -ms-flex-align: start; - align-items: flex-start; - -ms-flex-wrap: wrap; - flex-wrap: wrap; -} - -.ui.statistics > .statistic { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-flex: 0; - -ms-flex: 0 1 auto; - flex: 0 1 auto; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - margin: 0em 1.5em 2em; - max-width: auto; -} - -.ui.statistics { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - margin: 1em -1.5em -2em; -} - -/* Clearing */ - -.ui.statistics:after { - display: block; - content: ' '; - height: 0px; - clear: both; - overflow: hidden; - visibility: hidden; -} - -.ui.statistics:first-child { - margin-top: 0em; -} - -.ui.statistics:last-child { - margin-bottom: 0em; -} - -/******************************* - Content -*******************************/ - -/*-------------- - Value ----------------*/ - -.ui.statistics .statistic > .value, -.ui.statistic > .value { - font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; - font-size: 4rem; - font-weight: normal; - line-height: 1em; - color: #1B1C1D; - text-transform: uppercase; - text-align: center; -} - -/*-------------- - Label ----------------*/ - -.ui.statistics .statistic > .label, -.ui.statistic > .label { - font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; - font-size: 1em; - font-weight: bold; - color: rgba(0, 0, 0, 0.87); - text-transform: uppercase; - text-align: center; -} - -/* Top Label */ - -.ui.statistics .statistic > .label ~ .value, -.ui.statistic > .label ~ .value { - margin-top: 0rem; -} - -/* Bottom Label */ - -.ui.statistics .statistic > .value ~ .label, -.ui.statistic > .value ~ .label { - margin-top: 0rem; -} - -/******************************* - Types -*******************************/ - -/*-------------- - Icon Value ----------------*/ - -.ui.statistics .statistic > .value .icon, -.ui.statistic > .value .icon { - opacity: 1; - width: auto; - margin: 0em; -} - -/*-------------- - Text Value ----------------*/ - -.ui.statistics .statistic > .text.value, -.ui.statistic > .text.value { - line-height: 1em; - min-height: 2em; - font-weight: bold; - text-align: center; -} - -.ui.statistics .statistic > .text.value + .label, -.ui.statistic > .text.value + .label { - text-align: center; -} - -/*-------------- - Image Value ----------------*/ - -.ui.statistics .statistic > .value img, -.ui.statistic > .value img { - max-height: 3rem; - vertical-align: baseline; -} - -/******************************* - Variations -*******************************/ - -/*-------------- - Count ----------------*/ - -.ui.ten.statistics { - margin: 0em 0em -2em; -} - -.ui.ten.statistics .statistic { - min-width: 10%; - margin: 0em 0em 2em; -} - -.ui.nine.statistics { - margin: 0em 0em -2em; -} - -.ui.nine.statistics .statistic { - min-width: 11.11111111%; - margin: 0em 0em 2em; -} - -.ui.eight.statistics { - margin: 0em 0em -2em; -} - -.ui.eight.statistics .statistic { - min-width: 12.5%; - margin: 0em 0em 2em; -} - -.ui.seven.statistics { - margin: 0em 0em -2em; -} - -.ui.seven.statistics .statistic { - min-width: 14.28571429%; - margin: 0em 0em 2em; -} - -.ui.six.statistics { - margin: 0em 0em -2em; -} - -.ui.six.statistics .statistic { - min-width: 16.66666667%; - margin: 0em 0em 2em; -} - -.ui.five.statistics { - margin: 0em 0em -2em; -} - -.ui.five.statistics .statistic { - min-width: 20%; - margin: 0em 0em 2em; -} - -.ui.four.statistics { - margin: 0em 0em -2em; -} - -.ui.four.statistics .statistic { - min-width: 25%; - margin: 0em 0em 2em; -} - -.ui.three.statistics { - margin: 0em 0em -2em; -} - -.ui.three.statistics .statistic { - min-width: 33.33333333%; - margin: 0em 0em 2em; -} - -.ui.two.statistics { - margin: 0em 0em -2em; -} - -.ui.two.statistics .statistic { - min-width: 50%; - margin: 0em 0em 2em; -} - -.ui.one.statistics { - margin: 0em 0em -2em; -} - -.ui.one.statistics .statistic { - min-width: 100%; - margin: 0em 0em 2em; -} - -/*-------------- - Horizontal ----------------*/ - -.ui.horizontal.statistic { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; -} - -.ui.horizontal.statistics { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - margin: 0em; - max-width: none; -} - -.ui.horizontal.statistics .statistic { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - max-width: none; - margin: 1em 0em; -} - -.ui.horizontal.statistic > .text.value, -.ui.horizontal.statistics > .statistic > .text.value { - min-height: 0em !important; -} - -.ui.horizontal.statistics .statistic > .value .icon, -.ui.horizontal.statistic > .value .icon { - width: 1.18em; -} - -.ui.horizontal.statistics .statistic > .value, -.ui.horizontal.statistic > .value { - display: inline-block; - vertical-align: middle; -} - -.ui.horizontal.statistics .statistic > .label, -.ui.horizontal.statistic > .label { - display: inline-block; - vertical-align: middle; - margin: 0em 0em 0em 0.75em; -} - -/*-------------- - Colors ----------------*/ - -.ui.red.statistics .statistic > .value, -.ui.statistics .red.statistic > .value, -.ui.red.statistic > .value { - color: #DB2828; -} - -.ui.orange.statistics .statistic > .value, -.ui.statistics .orange.statistic > .value, -.ui.orange.statistic > .value { - color: #F2711C; -} - -.ui.yellow.statistics .statistic > .value, -.ui.statistics .yellow.statistic > .value, -.ui.yellow.statistic > .value { - color: #FBBD08; -} - -.ui.olive.statistics .statistic > .value, -.ui.statistics .olive.statistic > .value, -.ui.olive.statistic > .value { - color: #B5CC18; -} - -.ui.green.statistics .statistic > .value, -.ui.statistics .green.statistic > .value, -.ui.green.statistic > .value { - color: #21BA45; -} - -.ui.teal.statistics .statistic > .value, -.ui.statistics .teal.statistic > .value, -.ui.teal.statistic > .value { - color: #00B5AD; -} - -.ui.blue.statistics .statistic > .value, -.ui.statistics .blue.statistic > .value, -.ui.blue.statistic > .value { - color: #2185D0; -} - -.ui.violet.statistics .statistic > .value, -.ui.statistics .violet.statistic > .value, -.ui.violet.statistic > .value { - color: #6435C9; -} - -.ui.purple.statistics .statistic > .value, -.ui.statistics .purple.statistic > .value, -.ui.purple.statistic > .value { - color: #A333C8; -} - -.ui.pink.statistics .statistic > .value, -.ui.statistics .pink.statistic > .value, -.ui.pink.statistic > .value { - color: #E03997; -} - -.ui.brown.statistics .statistic > .value, -.ui.statistics .brown.statistic > .value, -.ui.brown.statistic > .value { - color: #A5673F; -} - -.ui.grey.statistics .statistic > .value, -.ui.statistics .grey.statistic > .value, -.ui.grey.statistic > .value { - color: #767676; -} - -/*-------------- - Inverted ----------------*/ - -.ui.inverted.statistics .statistic > .value, -.ui.inverted.statistic .value { - color: #FFFFFF; -} - -.ui.inverted.statistics .statistic > .label, -.ui.inverted.statistic .label { - color: rgba(255, 255, 255, 0.9); -} - -.ui.inverted.red.statistics .statistic > .value, -.ui.statistics .inverted.red.statistic > .value, -.ui.inverted.red.statistic > .value { - color: #FF695E; -} - -.ui.inverted.orange.statistics .statistic > .value, -.ui.statistics .inverted.orange.statistic > .value, -.ui.inverted.orange.statistic > .value { - color: #FF851B; -} - -.ui.inverted.yellow.statistics .statistic > .value, -.ui.statistics .inverted.yellow.statistic > .value, -.ui.inverted.yellow.statistic > .value { - color: #FFE21F; -} - -.ui.inverted.olive.statistics .statistic > .value, -.ui.statistics .inverted.olive.statistic > .value, -.ui.inverted.olive.statistic > .value { - color: #D9E778; -} - -.ui.inverted.green.statistics .statistic > .value, -.ui.statistics .inverted.green.statistic > .value, -.ui.inverted.green.statistic > .value { - color: #2ECC40; -} - -.ui.inverted.teal.statistics .statistic > .value, -.ui.statistics .inverted.teal.statistic > .value, -.ui.inverted.teal.statistic > .value { - color: #6DFFFF; -} - -.ui.inverted.blue.statistics .statistic > .value, -.ui.statistics .inverted.blue.statistic > .value, -.ui.inverted.blue.statistic > .value { - color: #54C8FF; -} - -.ui.inverted.violet.statistics .statistic > .value, -.ui.statistics .inverted.violet.statistic > .value, -.ui.inverted.violet.statistic > .value { - color: #A291FB; -} - -.ui.inverted.purple.statistics .statistic > .value, -.ui.statistics .inverted.purple.statistic > .value, -.ui.inverted.purple.statistic > .value { - color: #DC73FF; -} - -.ui.inverted.pink.statistics .statistic > .value, -.ui.statistics .inverted.pink.statistic > .value, -.ui.inverted.pink.statistic > .value { - color: #FF8EDF; -} - -.ui.inverted.brown.statistics .statistic > .value, -.ui.statistics .inverted.brown.statistic > .value, -.ui.inverted.brown.statistic > .value { - color: #D67C1C; -} - -.ui.inverted.grey.statistics .statistic > .value, -.ui.statistics .inverted.grey.statistic > .value, -.ui.inverted.grey.statistic > .value { - color: #DCDDDE; -} - -/*-------------- - Floated ----------------*/ - -.ui[class*="left floated"].statistic { - float: left; - margin: 0em 2em 1em 0em; -} - -.ui[class*="right floated"].statistic { - float: right; - margin: 0em 0em 1em 2em; -} - -.ui.floated.statistic:last-child { - margin-bottom: 0em; -} - -/*-------------- - Sizes ----------------*/ - -/* Mini */ - -.ui.mini.statistics .statistic > .value, -.ui.mini.statistic > .value { - font-size: 1.5rem !important; -} - -.ui.mini.horizontal.statistics .statistic > .value, -.ui.mini.horizontal.statistic > .value { - font-size: 1.5rem !important; -} - -.ui.mini.statistics .statistic > .text.value, -.ui.mini.statistic > .text.value { - font-size: 1rem !important; -} - -/* Tiny */ - -.ui.tiny.statistics .statistic > .value, -.ui.tiny.statistic > .value { - font-size: 2rem !important; -} - -.ui.tiny.horizontal.statistics .statistic > .value, -.ui.tiny.horizontal.statistic > .value { - font-size: 2rem !important; -} - -.ui.tiny.statistics .statistic > .text.value, -.ui.tiny.statistic > .text.value { - font-size: 1rem !important; -} - -/* Small */ - -.ui.small.statistics .statistic > .value, -.ui.small.statistic > .value { - font-size: 3rem !important; -} - -.ui.small.horizontal.statistics .statistic > .value, -.ui.small.horizontal.statistic > .value { - font-size: 2rem !important; -} - -.ui.small.statistics .statistic > .text.value, -.ui.small.statistic > .text.value { - font-size: 1rem !important; -} - -/* Medium */ - -.ui.statistics .statistic > .value, -.ui.statistic > .value { - font-size: 4rem !important; -} - -.ui.horizontal.statistics .statistic > .value, -.ui.horizontal.statistic > .value { - font-size: 3rem !important; -} - -.ui.statistics .statistic > .text.value, -.ui.statistic > .text.value { - font-size: 2rem !important; -} - -/* Large */ - -.ui.large.statistics .statistic > .value, -.ui.large.statistic > .value { - font-size: 5rem !important; -} - -.ui.large.horizontal.statistics .statistic > .value, -.ui.large.horizontal.statistic > .value { - font-size: 4rem !important; -} - -.ui.large.statistics .statistic > .text.value, -.ui.large.statistic > .text.value { - font-size: 2.5rem !important; -} - -/* Huge */ - -.ui.huge.statistics .statistic > .value, -.ui.huge.statistic > .value { - font-size: 6rem !important; -} - -.ui.huge.horizontal.statistics .statistic > .value, -.ui.huge.horizontal.statistic > .value { - font-size: 5rem !important; -} - -.ui.huge.statistics .statistic > .text.value, -.ui.huge.statistic > .text.value { - font-size: 2.5rem !important; -} - -/******************************* - Theme Overrides -*******************************/ - -/******************************* - User Variable Overrides -*******************************/ -/*! - * # Semantic UI undefined - Accordion - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Accordion -*******************************/ - -.ui.accordion, -.ui.accordion .accordion { - max-width: 100%; -} - -.ui.accordion .accordion { - margin: 1em 0em 0em; - padding: 0em; -} - -/* Title */ - -.ui.accordion .title, -.ui.accordion .accordion .title { - cursor: pointer; -} - -/* Default Styling */ - -.ui.accordion .title:not(.ui) { - padding: 0.5em 0em; - font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; - font-size: 1em; - color: rgba(0, 0, 0, 0.87); -} - -/* Content */ - -.ui.accordion .title ~ .content, -.ui.accordion .accordion .title ~ .content { - display: none; -} - -/* Default Styling */ - -.ui.accordion:not(.styled) .title ~ .content:not(.ui), -.ui.accordion:not(.styled) .accordion .title ~ .content:not(.ui) { - margin: ''; - padding: 0.5em 0em 1em; -} - -.ui.accordion:not(.styled) .title ~ .content:not(.ui):last-child { - padding-bottom: 0em; -} - -/* Arrow */ - -.ui.accordion .title .dropdown.icon, -.ui.accordion .accordion .title .dropdown.icon { - display: inline-block; - float: none; - opacity: 1; - width: 1.25em; - height: 1em; - margin: 0em 0.25rem 0em 0rem; - padding: 0em; - font-size: 1em; - -webkit-transition: opacity 0.1s ease, -webkit-transform 0.1s ease; - transition: opacity 0.1s ease, -webkit-transform 0.1s ease; - transition: transform 0.1s ease, opacity 0.1s ease; - transition: transform 0.1s ease, opacity 0.1s ease, -webkit-transform 0.1s ease; - vertical-align: baseline; - -webkit-transform: none; - transform: none; -} - -/*-------------- - Coupling ----------------*/ - -/* Menu */ - -.ui.accordion.menu .item .title { - display: block; - padding: 0em; -} - -.ui.accordion.menu .item .title > .dropdown.icon { - float: right; - margin: 0.21425em 0em 0em 1em; - -webkit-transform: rotate(180deg); - transform: rotate(180deg); -} - -/* Header */ - -.ui.accordion .ui.header .dropdown.icon { - font-size: 1em; - margin: 0em 0.25rem 0em 0rem; -} - -/******************************* - States -*******************************/ - -.ui.accordion .active.title .dropdown.icon, -.ui.accordion .accordion .active.title .dropdown.icon { - -webkit-transform: rotate(90deg); - transform: rotate(90deg); -} - -.ui.accordion.menu .item .active.title > .dropdown.icon { - -webkit-transform: rotate(90deg); - transform: rotate(90deg); -} - -/******************************* - Types -*******************************/ - -/*-------------- - Styled ----------------*/ - -.ui.styled.accordion { - width: 600px; -} - -.ui.styled.accordion, -.ui.styled.accordion .accordion { - border-radius: 0.28571429rem; - background: #FFFFFF; - box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), 0px 0px 0px 1px rgba(34, 36, 38, 0.15); -} - -.ui.styled.accordion .title, -.ui.styled.accordion .accordion .title { - margin: 0em; - padding: 0.75em 1em; - color: rgba(0, 0, 0, 0.4); - font-weight: bold; - border-top: 1px solid rgba(34, 36, 38, 0.15); - -webkit-transition: background 0.1s ease, color 0.1s ease; - transition: background 0.1s ease, color 0.1s ease; -} - -.ui.styled.accordion > .title:first-child, -.ui.styled.accordion .accordion .title:first-child { - border-top: none; -} - -/* Content */ - -.ui.styled.accordion .content, -.ui.styled.accordion .accordion .content { - margin: 0em; - padding: 0.5em 1em 1.5em; -} - -.ui.styled.accordion .accordion .content { - padding: 0em; - padding: 0.5em 1em 1.5em; -} - -/* Hover */ - -.ui.styled.accordion .title:hover, -.ui.styled.accordion .active.title, -.ui.styled.accordion .accordion .title:hover, -.ui.styled.accordion .accordion .active.title { - background: transparent; - color: rgba(0, 0, 0, 0.87); -} - -.ui.styled.accordion .accordion .title:hover, -.ui.styled.accordion .accordion .active.title { - background: transparent; - color: rgba(0, 0, 0, 0.87); -} - -/* Active */ - -.ui.styled.accordion .active.title { - background: transparent; - color: rgba(0, 0, 0, 0.95); -} - -.ui.styled.accordion .accordion .active.title { - background: transparent; - color: rgba(0, 0, 0, 0.95); -} - -/******************************* - States -*******************************/ - -/*-------------- - Active ----------------*/ - -.ui.accordion .active.content, -.ui.accordion .accordion .active.content { - display: block; -} - -/******************************* - Variations -*******************************/ - -/*-------------- - Fluid ----------------*/ - -.ui.fluid.accordion, -.ui.fluid.accordion .accordion { - width: 100%; -} - -/*-------------- - Inverted ----------------*/ - -.ui.inverted.accordion .title:not(.ui) { - color: rgba(255, 255, 255, 0.9); -} - -/******************************* - Theme Overrides -*******************************/ - -@font-face { - font-family: 'Accordion'; - src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjB5AAAAC8AAAAYGNtYXAPfOIKAAABHAAAAExnYXNwAAAAEAAAAWgAAAAIZ2x5Zryj6HgAAAFwAAAAyGhlYWT/0IhHAAACOAAAADZoaGVhApkB5wAAAnAAAAAkaG10eAJuABIAAAKUAAAAGGxvY2EAjABWAAACrAAAAA5tYXhwAAgAFgAAArwAAAAgbmFtZfC1n04AAALcAAABPHBvc3QAAwAAAAAEGAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDZ//3//wAB/+MPKwADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQASAEkAtwFuABMAADc0PwE2FzYXFh0BFAcGJwYvASY1EgaABQgHBQYGBQcIBYAG2wcGfwcBAQcECf8IBAcBAQd/BgYAAAAAAQAAAEkApQFuABMAADcRNDc2MzIfARYVFA8BBiMiJyY1AAUGBwgFgAYGgAUIBwYFWwEACAUGBoAFCAcFgAYGBQcAAAABAAAAAQAAqWYls18PPPUACwIAAAAAAM/9o+4AAAAAz/2j7gAAAAAAtwFuAAAACAACAAAAAAAAAAEAAAHg/+AAAAIAAAAAAAC3AAEAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAQAAAAC3ABIAtwAAAAAAAAAKABQAHgBCAGQAAAABAAAABgAUAAEAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEADAAAAAEAAAAAAAIADgBAAAEAAAAAAAMADAAiAAEAAAAAAAQADABOAAEAAAAAAAUAFgAMAAEAAAAAAAYABgAuAAEAAAAAAAoANABaAAMAAQQJAAEADAAAAAMAAQQJAAIADgBAAAMAAQQJAAMADAAiAAMAAQQJAAQADABOAAMAAQQJAAUAFgAMAAMAAQQJAAYADAA0AAMAAQQJAAoANABaAHIAYQB0AGkAbgBnAFYAZQByAHMAaQBvAG4AIAAxAC4AMAByAGEAdABpAG4AZ3JhdGluZwByAGEAdABpAG4AZwBSAGUAZwB1AGwAYQByAHIAYQB0AGkAbgBnAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('truetype'), url(data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AAASwAAoAAAAABGgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAAS0AAAEtFpovuE9TLzIAAAIkAAAAYAAAAGAIIweQY21hcAAAAoQAAABMAAAATA984gpnYXNwAAAC0AAAAAgAAAAIAAAAEGhlYWQAAALYAAAANgAAADb/0IhHaGhlYQAAAxAAAAAkAAAAJAKZAedobXR4AAADNAAAABgAAAAYAm4AEm1heHAAAANMAAAABgAAAAYABlAAbmFtZQAAA1QAAAE8AAABPPC1n05wb3N0AAAEkAAAACAAAAAgAAMAAAEABAQAAQEBB3JhdGluZwABAgABADr4HAL4GwP4GAQeCgAZU/+Lix4KABlT/4uLDAeLa/iU+HQFHQAAAHkPHQAAAH4RHQAAAAkdAAABJBIABwEBBw0PERQZHnJhdGluZ3JhdGluZ3UwdTF1MjB1RjBEOXVGMERBAAACAYkABAAGAQEEBwoNVp38lA78lA78lA77lA773Z33bxWLkI2Qj44I9xT3FAWOj5CNkIuQi4+JjoePiI2Gi4YIi/uUBYuGiYeHiIiHh4mGi4aLho2Ijwj7FPcUBYeOiY+LkAgO+92L5hWL95QFi5CNkI6Oj4+PjZCLkIuQiY6HCPcU+xQFj4iNhouGi4aJh4eICPsU+xQFiIeGiYaLhouHjYePiI6Jj4uQCA74lBT4lBWLDAoAAAAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDZ//3//wAB/+MPKwADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAEAADfYOJZfDzz1AAsCAAAAAADP/aPuAAAAAM/9o+4AAAAAALcBbgAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAAAtwABAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAEAAAAAtwASALcAAAAAUAAABgAAAAAADgCuAAEAAAAAAAEADAAAAAEAAAAAAAIADgBAAAEAAAAAAAMADAAiAAEAAAAAAAQADABOAAEAAAAAAAUAFgAMAAEAAAAAAAYABgAuAAEAAAAAAAoANABaAAMAAQQJAAEADAAAAAMAAQQJAAIADgBAAAMAAQQJAAMADAAiAAMAAQQJAAQADABOAAMAAQQJAAUAFgAMAAMAAQQJAAYADAA0AAMAAQQJAAoANABaAHIAYQB0AGkAbgBnAFYAZQByAHMAaQBvAG4AIAAxAC4AMAByAGEAdABpAG4AZ3JhdGluZwByAGEAdABpAG4AZwBSAGUAZwB1AGwAYQByAHIAYQB0AGkAbgBnAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('woff'); - font-weight: normal; - font-style: normal; -} - -/* Dropdown Icon */ - -.ui.accordion .title .dropdown.icon, -.ui.accordion .accordion .title .dropdown.icon { - font-family: Accordion; - line-height: 1; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - font-weight: normal; - font-style: normal; - text-align: center; -} - -.ui.accordion .title .dropdown.icon:before, -.ui.accordion .accordion .title .dropdown.icon:before { - content: '\f0da' ; -} - -/******************************* - User Overrides -*******************************/ -/*! - * # Semantic UI undefined - Checkbox + * # Semantic UI 2.2.10 - Checkbox * http://github.com/semantic-org/semantic-ui/ * * @@ -28844,215 +22733,7 @@ a.ui.card:hover, Site Overrides *******************************/ /*! - * # Semantic UI undefined - Dimmer - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Dimmer -*******************************/ - -.dimmable:not(.body) { - position: relative; -} - -.ui.dimmer { - display: none; - position: absolute; - top: 0em !important; - left: 0em !important; - width: 100%; - height: 100%; - text-align: center; - vertical-align: middle; - background-color: rgba(0, 0, 0, 0.85); - opacity: 0; - line-height: 1; - -webkit-animation-fill-mode: both; - animation-fill-mode: both; - -webkit-animation-duration: 0.5s; - animation-duration: 0.5s; - -webkit-transition: background-color 0.5s linear; - transition: background-color 0.5s linear; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - will-change: opacity; - z-index: 1000; -} - -/* Dimmer Content */ - -.ui.dimmer > .content { - width: 100%; - height: 100%; - display: table; - -webkit-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - user-select: text; -} - -.ui.dimmer > .content > * { - display: table-cell; - vertical-align: middle; - color: #FFFFFF; -} - -/* Loose Coupling */ - -.ui.segment > .ui.dimmer { - border-radius: inherit !important; -} - -/******************************* - States -*******************************/ - -.animating.dimmable:not(body), -.dimmed.dimmable:not(body) { - overflow: hidden; -} - -.dimmed.dimmable > .ui.animating.dimmer, -.dimmed.dimmable > .ui.visible.dimmer, -.ui.active.dimmer { - display: block; - opacity: 1; -} - -.ui.disabled.dimmer { - width: 0 !important; - height: 0 !important; -} - -/******************************* - Variations -*******************************/ - -/*-------------- - Page ----------------*/ - -.ui.page.dimmer { - position: fixed; - -webkit-transform-style: ''; - transform-style: ''; - -webkit-perspective: 2000px; - perspective: 2000px; - -webkit-transform-origin: center center; - transform-origin: center center; -} - -body.animating.in.dimmable, -body.dimmed.dimmable { - overflow: hidden; -} - -body.dimmable > .dimmer { - position: fixed; -} - -/*-------------- - Blurring ----------------*/ - -.blurring.dimmable > :not(.dimmer) { - -webkit-filter: blur(0px) grayscale(0); - filter: blur(0px) grayscale(0); - -webkit-transition: 800ms -webkit-filter ease; - transition: 800ms -webkit-filter ease; - transition: 800ms filter ease; - transition: 800ms filter ease, 800ms -webkit-filter ease; -} - -.blurring.dimmed.dimmable > :not(.dimmer) { - -webkit-filter: blur(5px) grayscale(0.7); - filter: blur(5px) grayscale(0.7); -} - -/* Dimmer Color */ - -.blurring.dimmable > .dimmer { - background-color: rgba(0, 0, 0, 0.6); -} - -.blurring.dimmable > .inverted.dimmer { - background-color: rgba(255, 255, 255, 0.6); -} - -/*-------------- - Aligned ----------------*/ - -.ui.dimmer > .top.aligned.content > * { - vertical-align: top; -} - -.ui.dimmer > .bottom.aligned.content > * { - vertical-align: bottom; -} - -/*-------------- - Inverted ----------------*/ - -.ui.inverted.dimmer { - background-color: rgba(255, 255, 255, 0.85); -} - -.ui.inverted.dimmer > .content > * { - color: #FFFFFF; -} - -/*-------------- - Simple ----------------*/ - -/* Displays without javascript */ - -.ui.simple.dimmer { - display: block; - overflow: hidden; - opacity: 1; - width: 0%; - height: 0%; - z-index: -100; - background-color: rgba(0, 0, 0, 0); -} - -.dimmed.dimmable > .ui.simple.dimmer { - overflow: visible; - opacity: 1; - width: 100%; - height: 100%; - background-color: rgba(0, 0, 0, 0.85); - z-index: 1; -} - -.ui.simple.inverted.dimmer { - background-color: rgba(255, 255, 255, 0); -} - -.dimmed.dimmable > .ui.simple.inverted.dimmer { - background-color: rgba(255, 255, 255, 0.85); -} - -/******************************* - Theme Overrides -*******************************/ - -/******************************* - User Overrides -*******************************/ -/*! - * # Semantic UI undefined - Dropdown + * # Semantic UI 2.2.10 - Dropdown * http://github.com/semantic-org/semantic-ui/ * * @@ -30628,7 +24309,7 @@ select.ui.dropdown { User Overrides *******************************/ /*! - * # Semantic UI undefined - Video + * # Semantic UI 2.2.10 - Video * http://github.com/semantic-org/semantic-ui/ * * @@ -30793,2806 +24474,7 @@ select.ui.dropdown { padding-bottom: 42.85714286%; } /*! - * # Semantic UI undefined - Modal - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Modal -*******************************/ - -.ui.modal { - display: none; - position: fixed; - z-index: 1001; - top: 50%; - left: 50%; - text-align: left; - background: #FFFFFF; - border: none; - box-shadow: 1px 3px 3px 0px rgba(0, 0, 0, 0.2), 1px 3px 15px 2px rgba(0, 0, 0, 0.2); - -webkit-transform-origin: 50% 25%; - transform-origin: 50% 25%; - border-radius: 0.28571429rem; - -webkit-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - user-select: text; - will-change: top, left, margin, transform, opacity; -} - -.ui.modal > :first-child:not(.icon), -.ui.modal > .icon:first-child + * { - border-top-left-radius: 0.28571429rem; - border-top-right-radius: 0.28571429rem; -} - -.ui.modal > :last-child { - border-bottom-left-radius: 0.28571429rem; - border-bottom-right-radius: 0.28571429rem; -} - -/******************************* - Content -*******************************/ - -/*-------------- - Close ----------------*/ - -.ui.modal > .close { - cursor: pointer; - position: absolute; - top: -2.5rem; - right: -2.5rem; - z-index: 1; - opacity: 0.8; - font-size: 1.25em; - color: #FFFFFF; - width: 2.25rem; - height: 2.25rem; - padding: 0.625rem 0rem 0rem 0rem; -} - -.ui.modal > .close:hover { - opacity: 1; -} - -/*-------------- - Header ----------------*/ - -.ui.modal > .header { - display: block; - font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; - background: #FFFFFF; - margin: 0em; - padding: 1.25rem 1.5rem; - box-shadow: none; - color: rgba(0, 0, 0, 0.85); - border-bottom: 1px solid rgba(34, 36, 38, 0.15); -} - -.ui.modal > .header:not(.ui) { - font-size: 1.42857143rem; - line-height: 1.28571429em; - font-weight: bold; -} - -/*-------------- - Content ----------------*/ - -.ui.modal > .content { - display: block; - width: 100%; - font-size: 1em; - line-height: 1.4; - padding: 1.5rem; - background: #FFFFFF; -} - -.ui.modal > .image.content { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; -} - -/* Image */ - -.ui.modal > .content > .image { - display: block; - -webkit-box-flex: 0; - -ms-flex: 0 1 auto; - flex: 0 1 auto; - width: ''; - -ms-flex-item-align: top; - -ms-grid-row-align: top; - align-self: top; -} - -.ui.modal > [class*="top aligned"] { - -ms-flex-item-align: top; - -ms-grid-row-align: top; - align-self: top; -} - -.ui.modal > [class*="middle aligned"] { - -ms-flex-item-align: middle; - -ms-grid-row-align: middle; - align-self: middle; -} - -.ui.modal > [class*="stretched"] { - -ms-flex-item-align: stretch; - -ms-grid-row-align: stretch; - align-self: stretch; -} - -/* Description */ - -.ui.modal > .content > .description { - display: block; - -webkit-box-flex: 1; - -ms-flex: 1 0 auto; - flex: 1 0 auto; - min-width: 0px; - -ms-flex-item-align: top; - -ms-grid-row-align: top; - align-self: top; -} - -.ui.modal > .content > .icon + .description, -.ui.modal > .content > .image + .description { - -webkit-box-flex: 0; - -ms-flex: 0 1 auto; - flex: 0 1 auto; - min-width: ''; - width: auto; - padding-left: 2em; -} - -/*rtl:ignore*/ - -.ui.modal > .content > .image > i.icon { - margin: 0em; - opacity: 1; - width: auto; - line-height: 1; - font-size: 8rem; -} - -/*-------------- - Actions ----------------*/ - -.ui.modal > .actions { - background: #F9FAFB; - padding: 1rem 1rem; - border-top: 1px solid rgba(34, 36, 38, 0.15); - text-align: right; -} - -.ui.modal .actions > .button { - margin-left: 0.75em; -} - -/*------------------- - Responsive ---------------------*/ - -/* Modal Width */ - -@media only screen and (max-width: 767px) { - .ui.modal { - width: 95%; - margin: 0em 0em 0em -47.5%; - } -} - -@media only screen and (min-width: 768px) { - .ui.modal { - width: 88%; - margin: 0em 0em 0em -44%; - } -} - -@media only screen and (min-width: 992px) { - .ui.modal { - width: 850px; - margin: 0em 0em 0em -425px; - } -} - -@media only screen and (min-width: 1200px) { - .ui.modal { - width: 900px; - margin: 0em 0em 0em -450px; - } -} - -@media only screen and (min-width: 1920px) { - .ui.modal { - width: 950px; - margin: 0em 0em 0em -475px; - } -} - -/* Tablet and Mobile */ - -@media only screen and (max-width: 991px) { - .ui.modal > .header { - padding-right: 2.25rem; - } - - .ui.modal > .close { - top: 1.0535rem; - right: 1rem; - color: rgba(0, 0, 0, 0.87); - } -} - -/* Mobile */ - -@media only screen and (max-width: 767px) { - .ui.modal > .header { - padding: 0.75rem 1rem !important; - padding-right: 2.25rem !important; - } - - .ui.modal > .content { - display: block; - padding: 1rem !important; - } - - .ui.modal > .close { - top: 0.5rem !important; - right: 0.5rem !important; - } - - /*rtl:ignore*/ - - .ui.modal .image.content { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - } - - .ui.modal .content > .image { - display: block; - max-width: 100%; - margin: 0em auto !important; - text-align: center; - padding: 0rem 0rem 1rem !important; - } - - .ui.modal > .content > .image > i.icon { - font-size: 5rem; - text-align: center; - } - - /*rtl:ignore*/ - - .ui.modal .content > .description { - display: block; - width: 100% !important; - margin: 0em !important; - padding: 1rem 0rem !important; - box-shadow: none; - } - - /* Let Buttons Stack */ - - .ui.modal > .actions { - padding: 1rem 1rem 0rem !important; - } - - .ui.modal .actions > .buttons, - .ui.modal .actions > .button { - margin-bottom: 1rem; - } -} - -/*-------------- - Coupling ----------------*/ - -.ui.inverted.dimmer > .ui.modal { - box-shadow: 1px 3px 10px 2px rgba(0, 0, 0, 0.2); -} - -/******************************* - Types -*******************************/ - -.ui.basic.modal { - background-color: transparent; - border: none; - border-radius: 0em; - box-shadow: none !important; - color: #FFFFFF; -} - -.ui.basic.modal > .header, -.ui.basic.modal > .content, -.ui.basic.modal > .actions { - background-color: transparent; -} - -.ui.basic.modal > .header { - color: #FFFFFF; -} - -.ui.basic.modal > .close { - top: 1rem; - right: 1.5rem; -} - -.ui.inverted.dimmer > .basic.modal { - color: rgba(0, 0, 0, 0.87); -} - -.ui.inverted.dimmer > .ui.basic.modal > .header { - color: rgba(0, 0, 0, 0.85); -} - -/* Tablet and Mobile */ - -@media only screen and (max-width: 991px) { - .ui.basic.modal > .close { - color: #FFFFFF; - } -} - -/******************************* - States -*******************************/ - -.ui.active.modal { - display: block; -} - -/******************************* - Variations -*******************************/ - -/*-------------- - Scrolling ----------------*/ - -/* A modal that cannot fit on the page */ - -.scrolling.dimmable.dimmed { - overflow: hidden; -} - -.scrolling.dimmable.dimmed > .dimmer { - overflow: auto; - -webkit-overflow-scrolling: touch; -} - -.scrolling.dimmable > .dimmer { - position: fixed; -} - -.modals.dimmer .ui.scrolling.modal { - position: static !important; - margin: 3.5rem auto !important; -} - -/* undetached scrolling */ - -.scrolling.undetached.dimmable.dimmed { - overflow: auto; - -webkit-overflow-scrolling: touch; -} - -.scrolling.undetached.dimmable.dimmed > .dimmer { - overflow: hidden; -} - -.scrolling.undetached.dimmable .ui.scrolling.modal { - position: absolute; - left: 50%; - margin-top: 3.5rem !important; -} - -/* Coupling with Sidebar */ - -.undetached.dimmable.dimmed > .pusher { - z-index: auto; -} - -@media only screen and (max-width: 991px) { - .modals.dimmer .ui.scrolling.modal { - margin-top: 1rem !important; - margin-bottom: 1rem !important; - } -} - -/*-------------- - Full Screen ----------------*/ - -.ui.fullscreen.modal { - width: 95% !important; - left: 2.5% !important; - margin: 1em auto; -} - -.ui.fullscreen.scrolling.modal { - left: 0em !important; -} - -.ui.fullscreen.modal > .header { - padding-right: 2.25rem; -} - -.ui.fullscreen.modal > .close { - top: 1.0535rem; - right: 1rem; - color: rgba(0, 0, 0, 0.87); -} - -/*-------------- - Size ----------------*/ - -.ui.modal { - font-size: 1rem; -} - -/* Small */ - -.ui.small.modal > .header:not(.ui) { - font-size: 1.3em; -} - -/* Small Modal Width */ - -@media only screen and (max-width: 767px) { - .ui.small.modal { - width: 95%; - margin: 0em 0em 0em -47.5%; - } -} - -@media only screen and (min-width: 768px) { - .ui.small.modal { - width: 70.4%; - margin: 0em 0em 0em -35.2%; - } -} - -@media only screen and (min-width: 992px) { - .ui.small.modal { - width: 680px; - margin: 0em 0em 0em -340px; - } -} - -@media only screen and (min-width: 1200px) { - .ui.small.modal { - width: 720px; - margin: 0em 0em 0em -360px; - } -} - -@media only screen and (min-width: 1920px) { - .ui.small.modal { - width: 760px; - margin: 0em 0em 0em -380px; - } -} - -/* Large Modal Width */ - -.ui.large.modal > .header { - font-size: 1.6em; -} - -@media only screen and (max-width: 767px) { - .ui.large.modal { - width: 95%; - margin: 0em 0em 0em -47.5%; - } -} - -@media only screen and (min-width: 768px) { - .ui.large.modal { - width: 88%; - margin: 0em 0em 0em -44%; - } -} - -@media only screen and (min-width: 992px) { - .ui.large.modal { - width: 1020px; - margin: 0em 0em 0em -510px; - } -} - -@media only screen and (min-width: 1200px) { - .ui.large.modal { - width: 1080px; - margin: 0em 0em 0em -540px; - } -} - -@media only screen and (min-width: 1920px) { - .ui.large.modal { - width: 1140px; - margin: 0em 0em 0em -570px; - } -} - -/******************************* - Theme Overrides -*******************************/ - -/******************************* - Site Overrides -*******************************/ -/*! - * # Semantic UI undefined - Nag - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Nag -*******************************/ - -.ui.nag { - display: none; - opacity: 0.95; - position: relative; - top: 0em; - left: 0px; - z-index: 999; - min-height: 0em; - width: 100%; - margin: 0em; - padding: 0.75em 1em; - background: #555555; - box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.2); - font-size: 1rem; - text-align: center; - color: rgba(0, 0, 0, 0.87); - border-radius: 0em 0em 0.28571429rem 0.28571429rem; - -webkit-transition: 0.2s background ease; - transition: 0.2s background ease; -} - -a.ui.nag { - cursor: pointer; -} - -.ui.nag > .title { - display: inline-block; - margin: 0em 0.5em; - color: #FFFFFF; -} - -.ui.nag > .close.icon { - cursor: pointer; - opacity: 0.4; - position: absolute; - top: 50%; - right: 1em; - font-size: 1em; - margin: -0.5em 0em 0em; - color: #FFFFFF; - -webkit-transition: opacity 0.2s ease; - transition: opacity 0.2s ease; -} - -/******************************* - States -*******************************/ - -/* Hover */ - -.ui.nag:hover { - background: #555555; - opacity: 1; -} - -.ui.nag .close:hover { - opacity: 1; -} - -/******************************* - Variations -*******************************/ - -/*-------------- - Static ----------------*/ - -.ui.overlay.nag { - position: absolute; - display: block; -} - -/*-------------- - Fixed ----------------*/ - -.ui.fixed.nag { - position: fixed; -} - -/*-------------- - Bottom ----------------*/ - -.ui.bottom.nags, -.ui.bottom.nag { - border-radius: 0.28571429rem 0.28571429rem 0em 0em; - top: auto; - bottom: 0em; -} - -/*-------------- - White ----------------*/ - -.ui.inverted.nags .nag, -.ui.inverted.nag { - background-color: #F3F4F5; - color: rgba(0, 0, 0, 0.85); -} - -.ui.inverted.nags .nag .close, -.ui.inverted.nags .nag .title, -.ui.inverted.nag .close, -.ui.inverted.nag .title { - color: rgba(0, 0, 0, 0.4); -} - -/******************************* - Groups -*******************************/ - -.ui.nags .nag { - border-radius: 0em !important; -} - -.ui.nags .nag:last-child { - border-radius: 0em 0em 0.28571429rem 0.28571429rem; -} - -.ui.bottom.nags .nag:last-child { - border-radius: 0.28571429rem 0.28571429rem 0em 0em; -} - -/******************************* - Theme Overrides -*******************************/ - -/******************************* - User Overrides -*******************************/ -/*! - * # Semantic UI undefined - Popup - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Popup -*******************************/ - -.ui.popup { - display: none; - position: absolute; - top: 0px; - right: 0px; - /* Fixes content being squished when inline (moz only) */ - min-width: -webkit-min-content; - min-width: -moz-min-content; - min-width: min-content; - z-index: 1900; - border: 1px solid #D4D4D5; - line-height: 1.4285em; - max-width: 250px; - background: #FFFFFF; - padding: 0.833em 1em; - font-weight: normal; - font-style: normal; - color: rgba(0, 0, 0, 0.87); - border-radius: 0.28571429rem; - box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.15); -} - -.ui.popup > .header { - padding: 0em; - font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; - font-size: 1.14285714em; - line-height: 1.2; - font-weight: bold; -} - -.ui.popup > .header + .content { - padding-top: 0.5em; -} - -.ui.popup:before { - position: absolute; - content: ''; - width: 0.71428571em; - height: 0.71428571em; - background: #FFFFFF; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); - z-index: 2; - box-shadow: 1px 1px 0px 0px #bababc; -} - -/******************************* - Types -*******************************/ - -/*-------------- - Tooltip ----------------*/ - -/* Content */ - -[data-tooltip] { - position: relative; -} - -/* Arrow */ - -[data-tooltip]:before { - pointer-events: none; - position: absolute; - content: ''; - font-size: 1rem; - width: 0.71428571em; - height: 0.71428571em; - background: #FFFFFF; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); - z-index: 2; - box-shadow: 1px 1px 0px 0px #bababc; -} - -/* Popup */ - -[data-tooltip]:after { - pointer-events: none; - content: attr(data-tooltip); - position: absolute; - text-transform: none; - text-align: left; - white-space: nowrap; - font-size: 1rem; - border: 1px solid #D4D4D5; - line-height: 1.4285em; - max-width: none; - background: #FFFFFF; - padding: 0.833em 1em; - font-weight: normal; - font-style: normal; - color: rgba(0, 0, 0, 0.87); - border-radius: 0.28571429rem; - box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.15); - z-index: 1; -} - -/* Default Position (Top Center) */ - -[data-tooltip]:not([data-position]):before { - top: auto; - right: auto; - bottom: 100%; - left: 50%; - background: #FFFFFF; - margin-left: -0.07142857rem; - margin-bottom: 0.14285714rem; -} - -[data-tooltip]:not([data-position]):after { - left: 50%; - -webkit-transform: translateX(-50%); - transform: translateX(-50%); - bottom: 100%; - margin-bottom: 0.5em; -} - -/* Animation */ - -[data-tooltip]:before, -[data-tooltip]:after { - pointer-events: none; - visibility: hidden; -} - -[data-tooltip]:before { - opacity: 0; - -webkit-transform: rotate(45deg) scale(0) !important; - transform: rotate(45deg) scale(0) !important; - -webkit-transform-origin: center top; - transform-origin: center top; - -webkit-transition: all 0.1s ease; - transition: all 0.1s ease; -} - -[data-tooltip]:after { - opacity: 1; - -webkit-transform-origin: center bottom; - transform-origin: center bottom; - -webkit-transition: all 0.1s ease; - transition: all 0.1s ease; -} - -[data-tooltip]:hover:before, -[data-tooltip]:hover:after { - visibility: visible; - pointer-events: auto; -} - -[data-tooltip]:hover:before { - -webkit-transform: rotate(45deg) scale(1) !important; - transform: rotate(45deg) scale(1) !important; - opacity: 1; -} - -/* Animation Position */ - -[data-tooltip]:after, -[data-tooltip][data-position="top center"]:after, -[data-tooltip][data-position="bottom center"]:after { - -webkit-transform: translateX(-50%) scale(0) !important; - transform: translateX(-50%) scale(0) !important; -} - -[data-tooltip]:hover:after, -[data-tooltip][data-position="bottom center"]:hover:after { - -webkit-transform: translateX(-50%) scale(1) !important; - transform: translateX(-50%) scale(1) !important; -} - -[data-tooltip][data-position="left center"]:after, -[data-tooltip][data-position="right center"]:after { - -webkit-transform: translateY(-50%) scale(0) !important; - transform: translateY(-50%) scale(0) !important; -} - -[data-tooltip][data-position="left center"]:hover:after, -[data-tooltip][data-position="right center"]:hover:after { - -webkit-transform: translateY(-50%) scale(1) !important; - transform: translateY(-50%) scale(1) !important; -} - -[data-tooltip][data-position="top left"]:after, -[data-tooltip][data-position="top right"]:after, -[data-tooltip][data-position="bottom left"]:after, -[data-tooltip][data-position="bottom right"]:after { - -webkit-transform: scale(0) !important; - transform: scale(0) !important; -} - -[data-tooltip][data-position="top left"]:hover:after, -[data-tooltip][data-position="top right"]:hover:after, -[data-tooltip][data-position="bottom left"]:hover:after, -[data-tooltip][data-position="bottom right"]:hover:after { - -webkit-transform: scale(1) !important; - transform: scale(1) !important; -} - -/*-------------- - Inverted ----------------*/ - -/* Arrow */ - -[data-tooltip][data-inverted]:before { - box-shadow: none !important; -} - -/* Arrow Position */ - -[data-tooltip][data-inverted]:before { - background: #1B1C1D; -} - -/* Popup */ - -[data-tooltip][data-inverted]:after { - background: #1B1C1D; - color: #FFFFFF; - border: none; - box-shadow: none; -} - -[data-tooltip][data-inverted]:after .header { - background-color: none; - color: #FFFFFF; -} - -/*-------------- - Position ----------------*/ - -/* Top Center */ - -[data-position="top center"][data-tooltip]:after { - top: auto; - right: auto; - left: 50%; - bottom: 100%; - -webkit-transform: translateX(-50%); - transform: translateX(-50%); - margin-bottom: 0.5em; -} - -[data-position="top center"][data-tooltip]:before { - top: auto; - right: auto; - bottom: 100%; - left: 50%; - background: #FFFFFF; - margin-left: -0.07142857rem; - margin-bottom: 0.14285714rem; -} - -/* Top Left */ - -[data-position="top left"][data-tooltip]:after { - top: auto; - right: auto; - left: 0; - bottom: 100%; - margin-bottom: 0.5em; -} - -[data-position="top left"][data-tooltip]:before { - top: auto; - right: auto; - bottom: 100%; - left: 1em; - margin-left: -0.07142857rem; - margin-bottom: 0.14285714rem; -} - -/* Top Right */ - -[data-position="top right"][data-tooltip]:after { - top: auto; - left: auto; - right: 0; - bottom: 100%; - margin-bottom: 0.5em; -} - -[data-position="top right"][data-tooltip]:before { - top: auto; - left: auto; - bottom: 100%; - right: 1em; - margin-left: -0.07142857rem; - margin-bottom: 0.14285714rem; -} - -/* Bottom Center */ - -[data-position="bottom center"][data-tooltip]:after { - bottom: auto; - right: auto; - left: 50%; - top: 100%; - -webkit-transform: translateX(-50%); - transform: translateX(-50%); - margin-top: 0.5em; -} - -[data-position="bottom center"][data-tooltip]:before { - bottom: auto; - right: auto; - top: 100%; - left: 50%; - margin-left: -0.07142857rem; - margin-top: 0.14285714rem; -} - -/* Bottom Left */ - -[data-position="bottom left"][data-tooltip]:after { - left: 0; - top: 100%; - margin-top: 0.5em; -} - -[data-position="bottom left"][data-tooltip]:before { - bottom: auto; - right: auto; - top: 100%; - left: 1em; - margin-left: -0.07142857rem; - margin-top: 0.14285714rem; -} - -/* Bottom Right */ - -[data-position="bottom right"][data-tooltip]:after { - right: 0; - top: 100%; - margin-top: 0.5em; -} - -[data-position="bottom right"][data-tooltip]:before { - bottom: auto; - left: auto; - top: 100%; - right: 1em; - margin-left: -0.14285714rem; - margin-top: 0.07142857rem; -} - -/* Left Center */ - -[data-position="left center"][data-tooltip]:after { - right: 100%; - top: 50%; - margin-right: 0.5em; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); -} - -[data-position="left center"][data-tooltip]:before { - right: 100%; - top: 50%; - margin-top: -0.14285714rem; - margin-right: -0.07142857rem; -} - -/* Right Center */ - -[data-position="right center"][data-tooltip]:after { - left: 100%; - top: 50%; - margin-left: 0.5em; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); -} - -[data-position="right center"][data-tooltip]:before { - left: 100%; - top: 50%; - margin-top: -0.07142857rem; - margin-left: 0.14285714rem; -} - -/* Arrow */ - -[data-position~="bottom"][data-tooltip]:before { - background: #FFFFFF; - box-shadow: -1px -1px 0px 0px #bababc; -} - -[data-position="left center"][data-tooltip]:before { - background: #FFFFFF; - box-shadow: 1px -1px 0px 0px #bababc; -} - -[data-position="right center"][data-tooltip]:before { - background: #FFFFFF; - box-shadow: -1px 1px 0px 0px #bababc; -} - -[data-position~="top"][data-tooltip]:before { - background: #FFFFFF; -} - -/* Inverted Arrow Color */ - -[data-inverted][data-position~="bottom"][data-tooltip]:before { - background: #1B1C1D; - box-shadow: -1px -1px 0px 0px #bababc; -} - -[data-inverted][data-position="left center"][data-tooltip]:before { - background: #1B1C1D; - box-shadow: 1px -1px 0px 0px #bababc; -} - -[data-inverted][data-position="right center"][data-tooltip]:before { - background: #1B1C1D; - box-shadow: -1px 1px 0px 0px #bababc; -} - -[data-inverted][data-position~="top"][data-tooltip]:before { - background: #1B1C1D; -} - -[data-position~="bottom"][data-tooltip]:before { - -webkit-transform-origin: center bottom; - transform-origin: center bottom; -} - -[data-position~="bottom"][data-tooltip]:after { - -webkit-transform-origin: center top; - transform-origin: center top; -} - -[data-position="left center"][data-tooltip]:before { - -webkit-transform-origin: top center; - transform-origin: top center; -} - -[data-position="left center"][data-tooltip]:after { - -webkit-transform-origin: right center; - transform-origin: right center; -} - -[data-position="right center"][data-tooltip]:before { - -webkit-transform-origin: right center; - transform-origin: right center; -} - -[data-position="right center"][data-tooltip]:after { - -webkit-transform-origin: left center; - transform-origin: left center; -} - -/*-------------- - Spacing ----------------*/ - -.ui.popup { - margin: 0em; -} - -/* Extending from Top */ - -.ui.top.popup { - margin: 0em 0em 0.71428571em; -} - -.ui.top.left.popup { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; -} - -.ui.top.center.popup { - -webkit-transform-origin: center bottom; - transform-origin: center bottom; -} - -.ui.top.right.popup { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; -} - -/* Extending from Vertical Center */ - -.ui.left.center.popup { - margin: 0em 0.71428571em 0em 0em; - -webkit-transform-origin: right 50%; - transform-origin: right 50%; -} - -.ui.right.center.popup { - margin: 0em 0em 0em 0.71428571em; - -webkit-transform-origin: left 50%; - transform-origin: left 50%; -} - -/* Extending from Bottom */ - -.ui.bottom.popup { - margin: 0.71428571em 0em 0em; -} - -.ui.bottom.left.popup { - -webkit-transform-origin: left top; - transform-origin: left top; -} - -.ui.bottom.center.popup { - -webkit-transform-origin: center top; - transform-origin: center top; -} - -.ui.bottom.right.popup { - -webkit-transform-origin: right top; - transform-origin: right top; -} - -/*-------------- - Pointer ----------------*/ - -/*--- Below ---*/ - -.ui.bottom.center.popup:before { - margin-left: -0.30714286em; - top: -0.30714286em; - left: 50%; - right: auto; - bottom: auto; - box-shadow: -1px -1px 0px 0px #bababc; -} - -.ui.bottom.left.popup { - margin-left: 0em; -} - -/*rtl:rename*/ - -.ui.bottom.left.popup:before { - top: -0.30714286em; - left: 1em; - right: auto; - bottom: auto; - margin-left: 0em; - box-shadow: -1px -1px 0px 0px #bababc; -} - -.ui.bottom.right.popup { - margin-right: 0em; -} - -/*rtl:rename*/ - -.ui.bottom.right.popup:before { - top: -0.30714286em; - right: 1em; - bottom: auto; - left: auto; - margin-left: 0em; - box-shadow: -1px -1px 0px 0px #bababc; -} - -/*--- Above ---*/ - -.ui.top.center.popup:before { - top: auto; - right: auto; - bottom: -0.30714286em; - left: 50%; - margin-left: -0.30714286em; -} - -.ui.top.left.popup { - margin-left: 0em; -} - -/*rtl:rename*/ - -.ui.top.left.popup:before { - bottom: -0.30714286em; - left: 1em; - top: auto; - right: auto; - margin-left: 0em; -} - -.ui.top.right.popup { - margin-right: 0em; -} - -/*rtl:rename*/ - -.ui.top.right.popup:before { - bottom: -0.30714286em; - right: 1em; - top: auto; - left: auto; - margin-left: 0em; -} - -/*--- Left Center ---*/ - -/*rtl:rename*/ - -.ui.left.center.popup:before { - top: 50%; - right: -0.30714286em; - bottom: auto; - left: auto; - margin-top: -0.30714286em; - box-shadow: 1px -1px 0px 0px #bababc; -} - -/*--- Right Center ---*/ - -/*rtl:rename*/ - -.ui.right.center.popup:before { - top: 50%; - left: -0.30714286em; - bottom: auto; - right: auto; - margin-top: -0.30714286em; - box-shadow: -1px 1px 0px 0px #bababc; -} - -/* Arrow Color By Location */ - -.ui.bottom.popup:before { - background: #FFFFFF; -} - -.ui.right.center.popup:before, -.ui.left.center.popup:before { - background: #FFFFFF; -} - -.ui.top.popup:before { - background: #FFFFFF; -} - -/* Inverted Arrow Color */ - -.ui.inverted.bottom.popup:before { - background: #1B1C1D; -} - -.ui.inverted.right.center.popup:before, -.ui.inverted.left.center.popup:before { - background: #1B1C1D; -} - -.ui.inverted.top.popup:before { - background: #1B1C1D; -} - -/******************************* - Coupling -*******************************/ - -/* Immediate Nested Grid */ - -.ui.popup > .ui.grid:not(.padded) { - width: calc(100% + 1.75rem); - margin: -0.7rem -0.875rem; -} - -/******************************* - States -*******************************/ - -.ui.loading.popup { - display: block; - visibility: hidden; - z-index: -1; -} - -.ui.animating.popup, -.ui.visible.popup { - display: block; -} - -.ui.visible.popup { - -webkit-transform: translateZ(0px); - transform: translateZ(0px); - -webkit-backface-visibility: hidden; - backface-visibility: hidden; -} - -/******************************* - Variations -*******************************/ - -/*-------------- - Basic ----------------*/ - -.ui.basic.popup:before { - display: none; -} - -/*-------------- - Wide ----------------*/ - -.ui.wide.popup { - max-width: 350px; -} - -.ui[class*="very wide"].popup { - max-width: 550px; -} - -@media only screen and (max-width: 767px) { - .ui.wide.popup, - .ui[class*="very wide"].popup { - max-width: 250px; - } -} - -/*-------------- - Fluid ----------------*/ - -.ui.fluid.popup { - width: 100%; - max-width: none; -} - -/*-------------- - Colors ----------------*/ - -/* Inverted colors */ - -.ui.inverted.popup { - background: #1B1C1D; - color: #FFFFFF; - border: none; - box-shadow: none; -} - -.ui.inverted.popup .header { - background-color: none; - color: #FFFFFF; -} - -.ui.inverted.popup:before { - background-color: #1B1C1D; - box-shadow: none !important; -} - -/*-------------- - Flowing ----------------*/ - -.ui.flowing.popup { - max-width: none; -} - -/*-------------- - Sizes ----------------*/ - -.ui.mini.popup { - font-size: 0.78571429rem; -} - -.ui.tiny.popup { - font-size: 0.85714286rem; -} - -.ui.small.popup { - font-size: 0.92857143rem; -} - -.ui.popup { - font-size: 1rem; -} - -.ui.large.popup { - font-size: 1.14285714rem; -} - -.ui.huge.popup { - font-size: 1.42857143rem; -} - -/******************************* - Theme Overrides -*******************************/ - -/******************************* - User Overrides -*******************************/ -/*! - * # Semantic UI undefined - Progress Bar - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Progress -*******************************/ - -.ui.progress { - position: relative; - display: block; - max-width: 100%; - border: none; - margin: 1em 0em 2.5em; - box-shadow: none; - background: rgba(0, 0, 0, 0.1); - padding: 0em; - border-radius: 0.28571429rem; -} - -.ui.progress:first-child { - margin: 0em 0em 2.5em; -} - -.ui.progress:last-child { - margin: 0em 0em 1.5em; -} - -/******************************* - Content -*******************************/ - -/* Activity Bar */ - -.ui.progress .bar { - display: block; - line-height: 1; - position: relative; - width: 0%; - min-width: 2em; - background: #888888; - border-radius: 0.28571429rem; - -webkit-transition: width 0.1s ease, background-color 0.1s ease; - transition: width 0.1s ease, background-color 0.1s ease; -} - -/* Percent Complete */ - -.ui.progress .bar > .progress { - white-space: nowrap; - position: absolute; - width: auto; - font-size: 0.92857143em; - top: 50%; - right: 0.5em; - left: auto; - bottom: auto; - color: rgba(255, 255, 255, 0.7); - text-shadow: none; - margin-top: -0.5em; - font-weight: bold; - text-align: left; -} - -/* Label */ - -.ui.progress > .label { - position: absolute; - width: 100%; - font-size: 1em; - top: 100%; - right: auto; - left: 0%; - bottom: auto; - color: rgba(0, 0, 0, 0.87); - font-weight: bold; - text-shadow: none; - margin-top: 0.2em; - text-align: center; - -webkit-transition: color 0.4s ease; - transition: color 0.4s ease; -} - -/******************************* - Types -*******************************/ - -/* Indicating */ - -.ui.indicating.progress[data-percent^="1"] .bar, -.ui.indicating.progress[data-percent^="2"] .bar { - background-color: #D95C5C; -} - -.ui.indicating.progress[data-percent^="3"] .bar { - background-color: #EFBC72; -} - -.ui.indicating.progress[data-percent^="4"] .bar, -.ui.indicating.progress[data-percent^="5"] .bar { - background-color: #E6BB48; -} - -.ui.indicating.progress[data-percent^="6"] .bar { - background-color: #DDC928; -} - -.ui.indicating.progress[data-percent^="7"] .bar, -.ui.indicating.progress[data-percent^="8"] .bar { - background-color: #B4D95C; -} - -.ui.indicating.progress[data-percent^="9"] .bar, -.ui.indicating.progress[data-percent^="100"] .bar { - background-color: #66DA81; -} - -/* Indicating Label */ - -.ui.indicating.progress[data-percent^="1"] .label, -.ui.indicating.progress[data-percent^="2"] .label { - color: rgba(0, 0, 0, 0.87); -} - -.ui.indicating.progress[data-percent^="3"] .label { - color: rgba(0, 0, 0, 0.87); -} - -.ui.indicating.progress[data-percent^="4"] .label, -.ui.indicating.progress[data-percent^="5"] .label { - color: rgba(0, 0, 0, 0.87); -} - -.ui.indicating.progress[data-percent^="6"] .label { - color: rgba(0, 0, 0, 0.87); -} - -.ui.indicating.progress[data-percent^="7"] .label, -.ui.indicating.progress[data-percent^="8"] .label { - color: rgba(0, 0, 0, 0.87); -} - -.ui.indicating.progress[data-percent^="9"] .label, -.ui.indicating.progress[data-percent^="100"] .label { - color: rgba(0, 0, 0, 0.87); -} - -/* Single Digits */ - -.ui.indicating.progress[data-percent="1"] .bar, -.ui.indicating.progress[data-percent="2"] .bar, -.ui.indicating.progress[data-percent="3"] .bar, -.ui.indicating.progress[data-percent="4"] .bar, -.ui.indicating.progress[data-percent="5"] .bar, -.ui.indicating.progress[data-percent="6"] .bar, -.ui.indicating.progress[data-percent="7"] .bar, -.ui.indicating.progress[data-percent="8"] .bar, -.ui.indicating.progress[data-percent="9"] .bar { - background-color: #D95C5C; -} - -.ui.indicating.progress[data-percent="1"] .label, -.ui.indicating.progress[data-percent="2"] .label, -.ui.indicating.progress[data-percent="3"] .label, -.ui.indicating.progress[data-percent="4"] .label, -.ui.indicating.progress[data-percent="5"] .label, -.ui.indicating.progress[data-percent="6"] .label, -.ui.indicating.progress[data-percent="7"] .label, -.ui.indicating.progress[data-percent="8"] .label, -.ui.indicating.progress[data-percent="9"] .label { - color: rgba(0, 0, 0, 0.87); -} - -/* Indicating Success */ - -.ui.indicating.progress.success .label { - color: #1A531B; -} - -/******************************* - States -*******************************/ - -/*-------------- - Success ----------------*/ - -.ui.progress.success .bar { - background-color: #21BA45 !important; -} - -.ui.progress.success .bar, -.ui.progress.success .bar::after { - -webkit-animation: none !important; - animation: none !important; -} - -.ui.progress.success > .label { - color: #1A531B; -} - -/*-------------- - Warning ----------------*/ - -.ui.progress.warning .bar { - background-color: #F2C037 !important; -} - -.ui.progress.warning .bar, -.ui.progress.warning .bar::after { - -webkit-animation: none !important; - animation: none !important; -} - -.ui.progress.warning > .label { - color: #794B02; -} - -/*-------------- - Error ----------------*/ - -.ui.progress.error .bar { - background-color: #DB2828 !important; -} - -.ui.progress.error .bar, -.ui.progress.error .bar::after { - -webkit-animation: none !important; - animation: none !important; -} - -.ui.progress.error > .label { - color: #912D2B; -} - -/*-------------- - Active ----------------*/ - -.ui.active.progress .bar { - position: relative; - min-width: 2em; -} - -.ui.active.progress .bar::after { - content: ''; - opacity: 0; - position: absolute; - top: 0px; - left: 0px; - right: 0px; - bottom: 0px; - background: #FFFFFF; - border-radius: 0.28571429rem; - -webkit-animation: progress-active 2s ease infinite; - animation: progress-active 2s ease infinite; -} - -@-webkit-keyframes progress-active { - 0% { - opacity: 0.3; - width: 0; - } - - 100% { - opacity: 0; - width: 100%; - } -} - -@keyframes progress-active { - 0% { - opacity: 0.3; - width: 0; - } - - 100% { - opacity: 0; - width: 100%; - } -} - -/*-------------- - Disabled ----------------*/ - -.ui.disabled.progress { - opacity: 0.35; -} - -.ui.disabled.progress .bar, -.ui.disabled.progress .bar::after { - -webkit-animation: none !important; - animation: none !important; -} - -/******************************* - Variations -*******************************/ - -/*-------------- - Inverted ----------------*/ - -.ui.inverted.progress { - background: rgba(255, 255, 255, 0.08); - border: none; -} - -.ui.inverted.progress .bar { - background: #888888; -} - -.ui.inverted.progress .bar > .progress { - color: #F9FAFB; -} - -.ui.inverted.progress > .label { - color: #FFFFFF; -} - -.ui.inverted.progress.success > .label { - color: #21BA45; -} - -.ui.inverted.progress.warning > .label { - color: #F2C037; -} - -.ui.inverted.progress.error > .label { - color: #DB2828; -} - -/*-------------- - Attached ----------------*/ - -/* bottom attached */ - -.ui.progress.attached { - background: transparent; - position: relative; - border: none; - margin: 0em; -} - -.ui.progress.attached, -.ui.progress.attached .bar { - display: block; - height: 0.2rem; - padding: 0px; - overflow: hidden; - border-radius: 0em 0em 0.28571429rem 0.28571429rem; -} - -.ui.progress.attached .bar { - border-radius: 0em; -} - -/* top attached */ - -.ui.progress.top.attached, -.ui.progress.top.attached .bar { - top: 0px; - border-radius: 0.28571429rem 0.28571429rem 0em 0em; -} - -.ui.progress.top.attached .bar { - border-radius: 0em; -} - -/* Coupling */ - -.ui.segment > .ui.attached.progress, -.ui.card > .ui.attached.progress { - position: absolute; - top: auto; - left: 0; - bottom: 100%; - width: 100%; -} - -.ui.segment > .ui.bottom.attached.progress, -.ui.card > .ui.bottom.attached.progress { - top: 100%; - bottom: auto; -} - -/*-------------- - Colors ----------------*/ - -/* Red */ - -.ui.red.progress .bar { - background-color: #DB2828; -} - -.ui.red.inverted.progress .bar { - background-color: #FF695E; -} - -/* Orange */ - -.ui.orange.progress .bar { - background-color: #F2711C; -} - -.ui.orange.inverted.progress .bar { - background-color: #FF851B; -} - -/* Yellow */ - -.ui.yellow.progress .bar { - background-color: #FBBD08; -} - -.ui.yellow.inverted.progress .bar { - background-color: #FFE21F; -} - -/* Olive */ - -.ui.olive.progress .bar { - background-color: #B5CC18; -} - -.ui.olive.inverted.progress .bar { - background-color: #D9E778; -} - -/* Green */ - -.ui.green.progress .bar { - background-color: #21BA45; -} - -.ui.green.inverted.progress .bar { - background-color: #2ECC40; -} - -/* Teal */ - -.ui.teal.progress .bar { - background-color: #00B5AD; -} - -.ui.teal.inverted.progress .bar { - background-color: #6DFFFF; -} - -/* Blue */ - -.ui.blue.progress .bar { - background-color: #2185D0; -} - -.ui.blue.inverted.progress .bar { - background-color: #54C8FF; -} - -/* Violet */ - -.ui.violet.progress .bar { - background-color: #6435C9; -} - -.ui.violet.inverted.progress .bar { - background-color: #A291FB; -} - -/* Purple */ - -.ui.purple.progress .bar { - background-color: #A333C8; -} - -.ui.purple.inverted.progress .bar { - background-color: #DC73FF; -} - -/* Pink */ - -.ui.pink.progress .bar { - background-color: #E03997; -} - -.ui.pink.inverted.progress .bar { - background-color: #FF8EDF; -} - -/* Brown */ - -.ui.brown.progress .bar { - background-color: #A5673F; -} - -.ui.brown.inverted.progress .bar { - background-color: #D67C1C; -} - -/* Grey */ - -.ui.grey.progress .bar { - background-color: #767676; -} - -.ui.grey.inverted.progress .bar { - background-color: #DCDDDE; -} - -/* Black */ - -.ui.black.progress .bar { - background-color: #1B1C1D; -} - -.ui.black.inverted.progress .bar { - background-color: #545454; -} - -/*-------------- - Sizes ----------------*/ - -.ui.tiny.progress { - font-size: 0.85714286rem; -} - -.ui.tiny.progress .bar { - height: 0.5em; -} - -.ui.small.progress { - font-size: 0.92857143rem; -} - -.ui.small.progress .bar { - height: 1em; -} - -.ui.progress { - font-size: 1rem; -} - -.ui.progress .bar { - height: 1.75em; -} - -.ui.large.progress { - font-size: 1.14285714rem; -} - -.ui.large.progress .bar { - height: 2.5em; -} - -.ui.big.progress { - font-size: 1.28571429rem; -} - -.ui.big.progress .bar { - height: 3.5em; -} - -/******************************* - Progress -*******************************/ - -/******************************* - Site Overrides -*******************************/ -/*! - * # Semantic UI undefined - Rating - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Rating -*******************************/ - -.ui.rating { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - white-space: nowrap; - vertical-align: baseline; -} - -.ui.rating:last-child { - margin-right: 0em; -} - -/* Icon */ - -.ui.rating .icon { - padding: 0em; - margin: 0em; - text-align: center; - font-weight: normal; - font-style: normal; - -webkit-box-flex: 1; - -ms-flex: 1 0 auto; - flex: 1 0 auto; - cursor: pointer; - width: 1.25em; - height: auto; - -webkit-transition: opacity 0.1s ease, background 0.1s ease, text-shadow 0.1s ease, color 0.1s ease; - transition: opacity 0.1s ease, background 0.1s ease, text-shadow 0.1s ease, color 0.1s ease; -} - -/******************************* - Types -*******************************/ - -/*------------------- - Standard ---------------------*/ - -/* Inactive Icon */ - -.ui.rating .icon { - background: transparent; - color: rgba(0, 0, 0, 0.15); -} - -/* Active Icon */ - -.ui.rating .active.icon { - background: transparent; - color: rgba(0, 0, 0, 0.85); -} - -/* Selected Icon */ - -.ui.rating .icon.selected, -.ui.rating .icon.selected.active { - background: transparent; - color: rgba(0, 0, 0, 0.87); -} - -/*------------------- - Star ---------------------*/ - -/* Inactive */ - -.ui.star.rating .icon { - width: 1.25em; - height: auto; - background: transparent; - color: rgba(0, 0, 0, 0.15); - text-shadow: none; -} - -/* Active Star */ - -.ui.star.rating .active.icon { - background: transparent !important; - color: #FFE623 !important; - text-shadow: 0px -1px 0px #DDC507, -1px 0px 0px #DDC507, 0px 1px 0px #DDC507, 1px 0px 0px #DDC507 !important; -} - -/* Selected Star */ - -.ui.star.rating .icon.selected, -.ui.star.rating .icon.selected.active { - background: transparent !important; - color: #FFCC00 !important; - text-shadow: 0px -1px 0px #E6A200, -1px 0px 0px #E6A200, 0px 1px 0px #E6A200, 1px 0px 0px #E6A200 !important; -} - -/*------------------- - Heart ---------------------*/ - -.ui.heart.rating .icon { - width: 1.4em; - height: auto; - background: transparent; - color: rgba(0, 0, 0, 0.15); - text-shadow: none !important; -} - -/* Active Heart */ - -.ui.heart.rating .active.icon { - background: transparent !important; - color: #FF6D75 !important; - text-shadow: 0px -1px 0px #CD0707, -1px 0px 0px #CD0707, 0px 1px 0px #CD0707, 1px 0px 0px #CD0707 !important; -} - -/* Selected Heart */ - -.ui.heart.rating .icon.selected, -.ui.heart.rating .icon.selected.active { - background: transparent !important; - color: #FF3000 !important; - text-shadow: 0px -1px 0px #AA0101, -1px 0px 0px #AA0101, 0px 1px 0px #AA0101, 1px 0px 0px #AA0101 !important; -} - -/******************************* - States -*******************************/ - -/*------------------- - Disabled ---------------------*/ - -/* disabled rating */ - -.ui.disabled.rating .icon { - cursor: default; -} - -/*------------------- - User Interactive ---------------------*/ - -/* Selected Rating */ - -.ui.rating.selected .active.icon { - opacity: 1; -} - -.ui.rating.selected .icon.selected, -.ui.rating .icon.selected { - opacity: 1; -} - -/******************************* - Variations -*******************************/ - -.ui.mini.rating { - font-size: 0.78571429rem; -} - -.ui.tiny.rating { - font-size: 0.85714286rem; -} - -.ui.small.rating { - font-size: 0.92857143rem; -} - -.ui.rating { - font-size: 1rem; -} - -.ui.large.rating { - font-size: 1.14285714rem; -} - -.ui.huge.rating { - font-size: 1.42857143rem; -} - -.ui.massive.rating { - font-size: 2rem; -} - -/******************************* - Theme Overrides -*******************************/ - -@font-face { - font-family: 'Rating'; - src: url(data:application/x-font-ttf;charset=utf-8;base64,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) format('truetype'), url(data:application/font-woff;charset=utf-8;base64,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kIiRi5MI5vdUFfcni4vCBYufhJx8mn2ZepJ3i3aLeoR9fX18g3qLdwiLVAUO+yaLshWL+AQFi5GNkY+RjpCQj5KNj42PjI+LCPfAiwWPi4+Kj4mRiZCHj4aPhY2Fi4UIi/wEBYuEiYWHhoeGhoeFiIiKhoqHi4GLhI6EkQj7EvcN+xL7DQWEhYOIgouHi4eLh42EjoaPiJCHkImRi5IIDov3XRWLko2Rj5Kltq+vuKW4pbuZvYu9i7t9uHG4ca9npWCPhI2Fi4SLhYmEh4RxYGdoXnAIXnFbflmLWYtbmF6lXqZnrnG2h5KJkouRCLCLFaRkq2yxdLF0tH+4i7iLtJexorGiq6qksm64Z61goZZ3kXaLdItnfm1ycnJybX9oiwhoi22XcqRypH6pi6+LopGglp9gdWdpbl4I9xiwFYuHjIiOiI6IjoqPi4+LjoyOjo2OjY6Lj4ubkJmXl5eWmZGbi4+LjoyOjo2OjY6LjwiLj4mOiY6IjYiNh4tzi3eCenp6eoJ3i3MIDov3XRWLko2Sj5GouK+utqW3pbqYvouci5yJnIgIm6cFjY6NjI+LjIuNi42JjYqOio+JjomOiY6KjomOiY6JjoqNioyKjomMiYuHi4qLiouLCHdnbVVjQ2NDbVV3Zwh9cgWJiIiJiIuJi36SdJiIjYmOi46LjY+UlJlvl3KcdJ90oHeie6WHkYmSi5IIsIsVqlq0Z711CKGzBXqXfpqCnoKdhp6LoIuikaCWn2B1Z2luXgj3GLAVi4eMiI6IjoiOio+Lj4uOjI6OjY6NjouPi5uQmZeXl5aZkZuLj4uOjI6OjY6NjouPCIuPiY6JjoiNiI2Hi3OLd4J6enp6gneLcwji+10VoLAFtI+wmK2hrqKnqKKvdq1wp2uhCJ2rBZ1/nHycepx6mHqWeY+EjYWLhIuEiYWHhIR/gH1+fG9qaXJmeWV5Y4Jhiwi53BXb9yQFjIKMg4uEi3CDc3x1fHV3fHOBCA6L1BWL90sFi5WPlJKSkpKTj5aLCNmLBZKPmJqepJaZlZeVlY+Qj5ONl42WjpeOmI+YkZWTk5OSk46Vi5uLmYiYhZiFlIGSfgiSfo55i3WLeYd5gXgIvosFn4uchJl8mn2Seot3i3qGfIJ9jYSLhYuEi3yIfoR+i4eLh4uHi3eGen99i3CDdnt8CHt8dYNwiwhmiwV5i3mNeY95kHeRc5N1k36Ph4sIOYsFgIuDjoSShJKHlIuVCLCdFYuGjIePiI+Hj4mQi5CLj42Pj46OjY+LkIuQiZCIjoePh42Gi4aLh4mHh4eIioaLhgjUeRWUiwWNi46Lj4qOi4+KjYqOi4+Kj4mQio6KjYqNio+Kj4mQio6KjIqzfquEpIsIrosFr4uemouri5CKkYqQkY6QkI6SjpKNkouSi5KJkoiRlZWQlouYi5CKkImRiZGJj4iOCJGMkI+PlI+UjZKLkouViJODk4SSgo+CiwgmiwWLlpCalJ6UnpCbi5aLnoiYhJSFlH+QeYuGhoeDiYCJf4h/h3+IfoWBg4KHh4SCgH4Ii4qIiYiGh4aIh4mIiIiIh4eGh4aHh4eHiIiHiIeHiIiHiIeKh4mIioiLCIKLi/tLBQ6L90sVi/dLBYuVj5OSk5KSk46WiwjdiwWPi5iPoZOkk6CRnZCdj56Nn4sIq4sFpougg5x8m3yTd4txCIuJBZd8kHuLd4uHi4eLh5J+jn6LfIuEi4SJhZR9kHyLeot3hHp8fH19eoR3iwhYiwWVeI95i3mLdIh6hH6EfoKBfoV+hX2He4uBi4OPg5KFkYaTh5SHlYiTipOKk4qTiJMIiZSIkYiPgZSBl4CaeKR+moSPCD2LBYCLg4+EkoSSh5SLlQiw9zgVi4aMh4+Ij4ePiZCLkIuPjY+Pjo6Nj4uQi5CJkIiOh4+HjYaLhouHiYeHh4iKhouGCNT7OBWUiwWOi46Kj4mPio+IjoiPh4+IjoePiI+Hj4aPho6HjoiNiI6Hj4aOho6Ii4qWfpKDj4YIk4ORgY5+j36OgI1/jYCPg5CGnYuXj5GUkpSOmYuei5aGmoKfgp6GmouWCPCLBZSLlI+SkpOTjpOLlYuSiZKHlIeUho+Fi46PjY+NkY2RjJCLkIuYhpaBlY6RjZKLkgiLkomSiJKIkoaQhY6MkIyRi5CLm4aXgpOBkn6Pe4sIZosFcotrhGN9iouIioaJh4qHiomKiYqIioaKh4mHioiKiYuHioiLh4qIi4mLCIKLi/tLBQ77lIv3txWLkpCPlo0I9yOgzPcWBY6SkI+RiwiL/BL7FUcFh4mHioiLh4uIjImOiY6KjouPi4yLjYyOCKP3IyPwBYaQiZCLjwgOi/fFFYu1l6yjoqOjrZe2i5aLl4mYh5eHloWWhJaElIWShZOE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) format('woff'); - font-weight: normal; - font-style: normal; -} - -.ui.rating .icon { - font-family: 'Rating'; - line-height: 1; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - font-weight: normal; - font-style: normal; - text-align: center; -} - -/* Empty Star */ - -.ui.rating .icon:before { - content: '\f005'; -} - -/* Active Star */ - -.ui.rating .active.icon:before { - content: '\f005'; -} - -/*------------------- - Star ---------------------*/ - -/* Unfilled Star */ - -.ui.star.rating .icon:before { - content: '\f005'; -} - -/* Active Star */ - -.ui.star.rating .active.icon:before { - content: '\f005'; -} - -/* Partial */ - -.ui.star.rating .partial.icon:before { - content: '\f006'; -} - -.ui.star.rating .partial.icon { - content: '\f005'; -} - -/*------------------- - Heart ---------------------*/ - -/* Empty Heart -.ui.heart.rating .icon:before { - content: '\f08a'; -} -*/ - -.ui.heart.rating .icon:before { - content: '\f004'; -} - -/* Active */ - -.ui.heart.rating .active.icon:before { - content: '\f004'; -} - -/******************************* - Site Overrides -*******************************/ -/*! - * # Semantic UI undefined - Search - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Search -*******************************/ - -.ui.search { - position: relative; -} - -.ui.search > .prompt { - margin: 0em; - outline: none; - -webkit-appearance: none; - -webkit-tap-highlight-color: rgba(255, 255, 255, 0); - text-shadow: none; - font-style: normal; - font-weight: normal; - line-height: 1.21428571em; - padding: 0.67857143em 1em; - font-size: 1em; - background: #FFFFFF; - border: 1px solid rgba(34, 36, 38, 0.15); - color: rgba(0, 0, 0, 0.87); - box-shadow: 0em 0em 0em 0em transparent inset; - -webkit-transition: background-color 0.1s ease, color 0.1s ease, box-shadow 0.1s ease, border-color 0.1s ease; - transition: background-color 0.1s ease, color 0.1s ease, box-shadow 0.1s ease, border-color 0.1s ease; -} - -.ui.search .prompt { - border-radius: 500rem; -} - -/*-------------- - Icon ----------------*/ - -.ui.search .prompt ~ .search.icon { - cursor: pointer; -} - -/*-------------- - Results ----------------*/ - -.ui.search > .results { - display: none; - position: absolute; - top: 100%; - left: 0%; - -webkit-transform-origin: center top; - transform-origin: center top; - white-space: normal; - background: #FFFFFF; - margin-top: 0.5em; - width: 18em; - border-radius: 0.28571429rem; - box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.15); - border: 1px solid #D4D4D5; - z-index: 998; -} - -.ui.search > .results > :first-child { - border-radius: 0.28571429rem 0.28571429rem 0em 0em; -} - -.ui.search > .results > :last-child { - border-radius: 0em 0em 0.28571429rem 0.28571429rem; -} - -/*-------------- - Result ----------------*/ - -.ui.search > .results .result { - cursor: pointer; - display: block; - overflow: hidden; - font-size: 1em; - padding: 0.85714286em 1.14285714em; - color: rgba(0, 0, 0, 0.87); - line-height: 1.33; - border-bottom: 1px solid rgba(34, 36, 38, 0.1); -} - -.ui.search > .results .result:last-child { - border-bottom: none !important; -} - -/* Image */ - -.ui.search > .results .result .image { - float: right; - overflow: hidden; - background: none; - width: 5em; - height: 3em; - border-radius: 0.25em; -} - -.ui.search > .results .result .image img { - display: block; - width: auto; - height: 100%; -} - -/*-------------- - Info ----------------*/ - -.ui.search > .results .result .image + .content { - margin: 0em 6em 0em 0em; -} - -.ui.search > .results .result .title { - margin: -0.14285714em 0em 0em; - font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; - font-weight: bold; - font-size: 1em; - color: rgba(0, 0, 0, 0.85); -} - -.ui.search > .results .result .description { - margin-top: 0; - font-size: 0.92857143em; - color: rgba(0, 0, 0, 0.4); -} - -.ui.search > .results .result .price { - float: right; - color: #21BA45; -} - -/*-------------- - Message ----------------*/ - -.ui.search > .results > .message { - padding: 1em 1em; -} - -.ui.search > .results > .message .header { - font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; - font-size: 1rem; - font-weight: bold; - color: rgba(0, 0, 0, 0.87); -} - -.ui.search > .results > .message .description { - margin-top: 0.25rem; - font-size: 1em; - color: rgba(0, 0, 0, 0.87); -} - -/* View All Results */ - -.ui.search > .results > .action { - display: block; - border-top: none; - background: #F3F4F5; - padding: 0.92857143em 1em; - color: rgba(0, 0, 0, 0.87); - font-weight: bold; - text-align: center; -} - -/******************************* - States -*******************************/ - -/*-------------------- - Focus ----------------------*/ - -.ui.search > .prompt:focus { - border-color: rgba(34, 36, 38, 0.35); - background: #FFFFFF; - color: rgba(0, 0, 0, 0.95); -} - -/*-------------------- - Loading ----------------------*/ - -.ui.loading.search .input > i.icon:before { - position: absolute; - content: ''; - top: 50%; - left: 50%; - margin: -0.64285714em 0em 0em -0.64285714em; - width: 1.28571429em; - height: 1.28571429em; - border-radius: 500rem; - border: 0.2em solid rgba(0, 0, 0, 0.1); -} - -.ui.loading.search .input > i.icon:after { - position: absolute; - content: ''; - top: 50%; - left: 50%; - margin: -0.64285714em 0em 0em -0.64285714em; - width: 1.28571429em; - height: 1.28571429em; - -webkit-animation: button-spin 0.6s linear; - animation: button-spin 0.6s linear; - -webkit-animation-iteration-count: infinite; - animation-iteration-count: infinite; - border-radius: 500rem; - border-color: #767676 transparent transparent; - border-style: solid; - border-width: 0.2em; - box-shadow: 0px 0px 0px 1px transparent; -} - -/*-------------- - Hover ----------------*/ - -.ui.search > .results .result:hover, -.ui.category.search > .results .category .result:hover { - background: #F9FAFB; -} - -.ui.search .action:hover { - background: #E0E0E0; -} - -/*-------------- - Active ----------------*/ - -.ui.category.search > .results .category.active { - background: #F3F4F5; -} - -.ui.category.search > .results .category.active > .name { - color: rgba(0, 0, 0, 0.87); -} - -.ui.search > .results .result.active, -.ui.category.search > .results .category .result.active { - position: relative; - border-left-color: rgba(34, 36, 38, 0.1); - background: #F3F4F5; - box-shadow: none; -} - -.ui.search > .results .result.active .title { - color: rgba(0, 0, 0, 0.85); -} - -.ui.search > .results .result.active .description { - color: rgba(0, 0, 0, 0.85); -} - -/******************************* - Types -*******************************/ - -/*-------------- - Selection ----------------*/ - -.ui.search.selection .prompt { - border-radius: 0.28571429rem; -} - -/* Remove input */ - -.ui.search.selection > .icon.input > .remove.icon { - pointer-events: none; - position: absolute; - left: auto; - opacity: 0; - color: ''; - top: 0em; - right: 0em; - -webkit-transition: color 0.1s ease, opacity 0.1s ease; - transition: color 0.1s ease, opacity 0.1s ease; -} - -.ui.search.selection > .icon.input > .active.remove.icon { - cursor: pointer; - opacity: 0.8; - pointer-events: auto; -} - -.ui.search.selection > .icon.input:not([class*="left icon"]) > .icon ~ .remove.icon { - right: 1.85714em; -} - -.ui.search.selection > .icon.input > .remove.icon:hover { - opacity: 1; - color: #DB2828; -} - -/*-------------- - Category ----------------*/ - -.ui.category.search .results { - width: 28em; -} - -/* Category */ - -.ui.category.search > .results .category { - background: #F3F4F5; - box-shadow: none; - border-bottom: 1px solid rgba(34, 36, 38, 0.1); - -webkit-transition: background 0.1s ease, border-color 0.1s ease; - transition: background 0.1s ease, border-color 0.1s ease; -} - -/* Last Category */ - -.ui.category.search > .results .category:last-child { - border-bottom: none; -} - -/* First / Last */ - -.ui.category.search > .results .category:first-child .name + .result { - border-radius: 0em 0.28571429rem 0em 0em; -} - -.ui.category.search > .results .category:last-child .result:last-child { - border-radius: 0em 0em 0.28571429rem 0em; -} - -/* Category Result */ - -.ui.category.search > .results .category .result { - background: #FFFFFF; - margin-left: 100px; - border-left: 1px solid rgba(34, 36, 38, 0.15); - border-bottom: 1px solid rgba(34, 36, 38, 0.1); - -webkit-transition: background 0.1s ease, border-color 0.1s ease; - transition: background 0.1s ease, border-color 0.1s ease; - padding: 0.85714286em 1.14285714em; -} - -.ui.category.search > .results .category:last-child .result:last-child { - border-bottom: none; -} - -/* Category Result Name */ - -.ui.category.search > .results .category > .name { - width: 100px; - background: transparent; - font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; - font-size: 1em; - float: 1em; - float: left; - padding: 0.4em 1em; - font-weight: bold; - color: rgba(0, 0, 0, 0.4); -} - -/******************************* - Variations -*******************************/ - -/*------------------- - Left / Right ---------------------*/ - -.ui[class*="left aligned"].search > .results { - right: auto; - left: 0%; -} - -.ui[class*="right aligned"].search > .results { - right: 0%; - left: auto; -} - -/*-------------- - Fluid ----------------*/ - -.ui.fluid.search .results { - width: 100%; -} - -/*-------------- - Sizes ----------------*/ - -.ui.mini.search { - font-size: 0.78571429em; -} - -.ui.small.search { - font-size: 0.92857143em; -} - -.ui.search { - font-size: 1em; -} - -.ui.large.search { - font-size: 1.14285714em; -} - -.ui.big.search { - font-size: 1.28571429em; -} - -.ui.huge.search { - font-size: 1.42857143em; -} - -.ui.massive.search { - font-size: 1.71428571em; -} - -/******************************* - Theme Overrides -*******************************/ - -/******************************* - Site Overrides -*******************************/ -/*! - * # Semantic UI undefined - Shape + * # Semantic UI 2.2.10 - Shape * http://github.com/semantic-org/semantic-ui/ * * @@ -33751,700 +24633,7 @@ a.ui.nag { User Overrides *******************************/ /*! - * # Semantic UI undefined - Sidebar - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Sidebar -*******************************/ - -/* Sidebar Menu */ - -.ui.sidebar { - position: fixed; - top: 0; - left: 0; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - -webkit-transition: none; - transition: none; - will-change: transform; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - visibility: hidden; - -webkit-overflow-scrolling: touch; - height: 100% !important; - max-height: 100%; - border-radius: 0em !important; - margin: 0em !important; - overflow-y: auto !important; - z-index: 102; -} - -/* GPU Layers for Child Elements */ - -.ui.sidebar > * { - -webkit-backface-visibility: hidden; - backface-visibility: hidden; -} - -/*-------------- - Direction ----------------*/ - -.ui.left.sidebar { - right: auto; - left: 0px; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); -} - -.ui.right.sidebar { - right: 0px !important; - left: auto !important; - -webkit-transform: translate3d(100%, 0%, 0); - transform: translate3d(100%, 0%, 0); -} - -.ui.top.sidebar, -.ui.bottom.sidebar { - width: 100% !important; - height: auto !important; -} - -.ui.top.sidebar { - top: 0px !important; - bottom: auto !important; - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); -} - -.ui.bottom.sidebar { - top: auto !important; - bottom: 0px !important; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); -} - -/*-------------- - Pushable ----------------*/ - -.pushable { - height: 100%; - overflow-x: hidden; - padding: 0em !important; -} - -/* Whole Page */ - -body.pushable { - background: #545454 !important; -} - -/* Page Context */ - -.pushable:not(body) { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} - -.pushable:not(body) > .ui.sidebar, -.pushable:not(body) > .fixed, -.pushable:not(body) > .pusher:after { - position: absolute; -} - -/*-------------- - Fixed ----------------*/ - -.pushable > .fixed { - position: fixed; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - -webkit-transition: -webkit-transform 500ms ease; - transition: -webkit-transform 500ms ease; - transition: transform 500ms ease; - transition: transform 500ms ease, -webkit-transform 500ms ease; - will-change: transform; - z-index: 101; -} - -/*-------------- - Page ----------------*/ - -.pushable > .pusher { - position: relative; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - overflow: hidden; - min-height: 100%; - -webkit-transition: -webkit-transform 500ms ease; - transition: -webkit-transform 500ms ease; - transition: transform 500ms ease; - transition: transform 500ms ease, -webkit-transform 500ms ease; - z-index: 2; -} - -body.pushable > .pusher { - background: #FFFFFF; -} - -/* Pusher should inherit background from context */ - -.pushable > .pusher { - background: inherit; -} - -/*-------------- - Dimmer ----------------*/ - -.pushable > .pusher:after { - position: fixed; - top: 0px; - right: 0px; - content: ''; - background-color: rgba(0, 0, 0, 0.4); - overflow: hidden; - opacity: 0; - -webkit-transition: opacity 500ms; - transition: opacity 500ms; - will-change: opacity; - z-index: 1000; -} - -/*-------------- - Coupling ----------------*/ - -.ui.sidebar.menu .item { - border-radius: 0em !important; -} - -/******************************* - States -*******************************/ - -/*-------------- - Dimmed ----------------*/ - -.pushable > .pusher.dimmed:after { - width: 100% !important; - height: 100% !important; - opacity: 1 !important; -} - -/*-------------- - Animating ----------------*/ - -.ui.animating.sidebar { - visibility: visible; -} - -/*-------------- - Visible ----------------*/ - -.ui.visible.sidebar { - visibility: visible; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} - -/* Shadow Direction */ - -.ui.left.visible.sidebar, -.ui.right.visible.sidebar { - box-shadow: 0px 0px 20px rgba(34, 36, 38, 0.15); -} - -.ui.top.visible.sidebar, -.ui.bottom.visible.sidebar { - box-shadow: 0px 0px 20px rgba(34, 36, 38, 0.15); -} - -/* Visible On Load */ - -.ui.visible.left.sidebar ~ .fixed, -.ui.visible.left.sidebar ~ .pusher { - -webkit-transform: translate3d(260px, 0, 0); - transform: translate3d(260px, 0, 0); -} - -.ui.visible.right.sidebar ~ .fixed, -.ui.visible.right.sidebar ~ .pusher { - -webkit-transform: translate3d(-260px, 0, 0); - transform: translate3d(-260px, 0, 0); -} - -.ui.visible.top.sidebar ~ .fixed, -.ui.visible.top.sidebar ~ .pusher { - -webkit-transform: translate3d(0, 36px, 0); - transform: translate3d(0, 36px, 0); -} - -.ui.visible.bottom.sidebar ~ .fixed, -.ui.visible.bottom.sidebar ~ .pusher { - -webkit-transform: translate3d(0, -36px, 0); - transform: translate3d(0, -36px, 0); -} - -/* opposite sides visible forces content overlay */ - -.ui.visible.left.sidebar ~ .ui.visible.right.sidebar ~ .fixed, -.ui.visible.left.sidebar ~ .ui.visible.right.sidebar ~ .pusher, -.ui.visible.right.sidebar ~ .ui.visible.left.sidebar ~ .fixed, -.ui.visible.right.sidebar ~ .ui.visible.left.sidebar ~ .pusher { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} - -/*-------------- - iOS ----------------*/ - -/* - iOS incorrectly sizes document when content - is presented outside of view with 2Dtranslate -*/ - -html.ios { - overflow-x: hidden; - -webkit-overflow-scrolling: touch; -} - -/******************************* - Variations -*******************************/ - -/*-------------- - Width ----------------*/ - -/* Left / Right */ - -.ui.thin.left.sidebar, -.ui.thin.right.sidebar { - width: 150px; -} - -.ui[class*="very thin"].left.sidebar, -.ui[class*="very thin"].right.sidebar { - width: 60px; -} - -.ui.left.sidebar, -.ui.right.sidebar { - width: 260px; -} - -.ui.wide.left.sidebar, -.ui.wide.right.sidebar { - width: 350px; -} - -.ui[class*="very wide"].left.sidebar, -.ui[class*="very wide"].right.sidebar { - width: 475px; -} - -/* Left Visible */ - -.ui.visible.thin.left.sidebar ~ .fixed, -.ui.visible.thin.left.sidebar ~ .pusher { - -webkit-transform: translate3d(150px, 0, 0); - transform: translate3d(150px, 0, 0); -} - -.ui.visible[class*="very thin"].left.sidebar ~ .fixed, -.ui.visible[class*="very thin"].left.sidebar ~ .pusher { - -webkit-transform: translate3d(60px, 0, 0); - transform: translate3d(60px, 0, 0); -} - -.ui.visible.wide.left.sidebar ~ .fixed, -.ui.visible.wide.left.sidebar ~ .pusher { - -webkit-transform: translate3d(350px, 0, 0); - transform: translate3d(350px, 0, 0); -} - -.ui.visible[class*="very wide"].left.sidebar ~ .fixed, -.ui.visible[class*="very wide"].left.sidebar ~ .pusher { - -webkit-transform: translate3d(475px, 0, 0); - transform: translate3d(475px, 0, 0); -} - -/* Right Visible */ - -.ui.visible.thin.right.sidebar ~ .fixed, -.ui.visible.thin.right.sidebar ~ .pusher { - -webkit-transform: translate3d(-150px, 0, 0); - transform: translate3d(-150px, 0, 0); -} - -.ui.visible[class*="very thin"].right.sidebar ~ .fixed, -.ui.visible[class*="very thin"].right.sidebar ~ .pusher { - -webkit-transform: translate3d(-60px, 0, 0); - transform: translate3d(-60px, 0, 0); -} - -.ui.visible.wide.right.sidebar ~ .fixed, -.ui.visible.wide.right.sidebar ~ .pusher { - -webkit-transform: translate3d(-350px, 0, 0); - transform: translate3d(-350px, 0, 0); -} - -.ui.visible[class*="very wide"].right.sidebar ~ .fixed, -.ui.visible[class*="very wide"].right.sidebar ~ .pusher { - -webkit-transform: translate3d(-475px, 0, 0); - transform: translate3d(-475px, 0, 0); -} - -/******************************* - Animations -*******************************/ - -/*-------------- - Overlay ----------------*/ - -/* Set-up */ - -.ui.overlay.sidebar { - z-index: 102; -} - -/* Initial */ - -.ui.left.overlay.sidebar { - -webkit-transform: translate3d(-100%, 0%, 0); - transform: translate3d(-100%, 0%, 0); -} - -.ui.right.overlay.sidebar { - -webkit-transform: translate3d(100%, 0%, 0); - transform: translate3d(100%, 0%, 0); -} - -.ui.top.overlay.sidebar { - -webkit-transform: translate3d(0%, -100%, 0); - transform: translate3d(0%, -100%, 0); -} - -.ui.bottom.overlay.sidebar { - -webkit-transform: translate3d(0%, 100%, 0); - transform: translate3d(0%, 100%, 0); -} - -/* Animation */ - -.animating.ui.overlay.sidebar, -.ui.visible.overlay.sidebar { - -webkit-transition: -webkit-transform 500ms ease; - transition: -webkit-transform 500ms ease; - transition: transform 500ms ease; - transition: transform 500ms ease, -webkit-transform 500ms ease; -} - -/* End - Sidebar */ - -.ui.visible.left.overlay.sidebar { - -webkit-transform: translate3d(0%, 0%, 0); - transform: translate3d(0%, 0%, 0); -} - -.ui.visible.right.overlay.sidebar { - -webkit-transform: translate3d(0%, 0%, 0); - transform: translate3d(0%, 0%, 0); -} - -.ui.visible.top.overlay.sidebar { - -webkit-transform: translate3d(0%, 0%, 0); - transform: translate3d(0%, 0%, 0); -} - -.ui.visible.bottom.overlay.sidebar { - -webkit-transform: translate3d(0%, 0%, 0); - transform: translate3d(0%, 0%, 0); -} - -/* End - Pusher */ - -.ui.visible.overlay.sidebar ~ .fixed, -.ui.visible.overlay.sidebar ~ .pusher { - -webkit-transform: none !important; - transform: none !important; -} - -/*-------------- - Push ----------------*/ - -/* Initial */ - -.ui.push.sidebar { - -webkit-transition: -webkit-transform 500ms ease; - transition: -webkit-transform 500ms ease; - transition: transform 500ms ease; - transition: transform 500ms ease, -webkit-transform 500ms ease; - z-index: 102; -} - -/* Sidebar - Initial */ - -.ui.left.push.sidebar { - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); -} - -.ui.right.push.sidebar { - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); -} - -.ui.top.push.sidebar { - -webkit-transform: translate3d(0%, -100%, 0); - transform: translate3d(0%, -100%, 0); -} - -.ui.bottom.push.sidebar { - -webkit-transform: translate3d(0%, 100%, 0); - transform: translate3d(0%, 100%, 0); -} - -/* End */ - -.ui.visible.push.sidebar { - -webkit-transform: translate3d(0%, 0, 0); - transform: translate3d(0%, 0, 0); -} - -/*-------------- - Uncover ----------------*/ - -/* Initial */ - -.ui.uncover.sidebar { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - z-index: 1; -} - -/* End */ - -.ui.visible.uncover.sidebar { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - -webkit-transition: -webkit-transform 500ms ease; - transition: -webkit-transform 500ms ease; - transition: transform 500ms ease; - transition: transform 500ms ease, -webkit-transform 500ms ease; -} - -/*-------------- - Slide Along ----------------*/ - -/* Initial */ - -.ui.slide.along.sidebar { - z-index: 1; -} - -/* Sidebar - Initial */ - -.ui.left.slide.along.sidebar { - -webkit-transform: translate3d(-50%, 0, 0); - transform: translate3d(-50%, 0, 0); -} - -.ui.right.slide.along.sidebar { - -webkit-transform: translate3d(50%, 0, 0); - transform: translate3d(50%, 0, 0); -} - -.ui.top.slide.along.sidebar { - -webkit-transform: translate3d(0, -50%, 0); - transform: translate3d(0, -50%, 0); -} - -.ui.bottom.slide.along.sidebar { - -webkit-transform: translate3d(0%, 50%, 0); - transform: translate3d(0%, 50%, 0); -} - -/* Animation */ - -.ui.animating.slide.along.sidebar { - -webkit-transition: -webkit-transform 500ms ease; - transition: -webkit-transform 500ms ease; - transition: transform 500ms ease; - transition: transform 500ms ease, -webkit-transform 500ms ease; -} - -/* End */ - -.ui.visible.slide.along.sidebar { - -webkit-transform: translate3d(0%, 0, 0); - transform: translate3d(0%, 0, 0); -} - -/*-------------- - Slide Out ----------------*/ - -/* Initial */ - -.ui.slide.out.sidebar { - z-index: 1; -} - -/* Sidebar - Initial */ - -.ui.left.slide.out.sidebar { - -webkit-transform: translate3d(50%, 0, 0); - transform: translate3d(50%, 0, 0); -} - -.ui.right.slide.out.sidebar { - -webkit-transform: translate3d(-50%, 0, 0); - transform: translate3d(-50%, 0, 0); -} - -.ui.top.slide.out.sidebar { - -webkit-transform: translate3d(0%, 50%, 0); - transform: translate3d(0%, 50%, 0); -} - -.ui.bottom.slide.out.sidebar { - -webkit-transform: translate3d(0%, -50%, 0); - transform: translate3d(0%, -50%, 0); -} - -/* Animation */ - -.ui.animating.slide.out.sidebar { - -webkit-transition: -webkit-transform 500ms ease; - transition: -webkit-transform 500ms ease; - transition: transform 500ms ease; - transition: transform 500ms ease, -webkit-transform 500ms ease; -} - -/* End */ - -.ui.visible.slide.out.sidebar { - -webkit-transform: translate3d(0%, 0, 0); - transform: translate3d(0%, 0, 0); -} - -/*-------------- - Scale Down ----------------*/ - -/* Initial */ - -.ui.scale.down.sidebar { - -webkit-transition: -webkit-transform 500ms ease; - transition: -webkit-transform 500ms ease; - transition: transform 500ms ease; - transition: transform 500ms ease, -webkit-transform 500ms ease; - z-index: 102; -} - -/* Sidebar - Initial */ - -.ui.left.scale.down.sidebar { - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); -} - -.ui.right.scale.down.sidebar { - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); -} - -.ui.top.scale.down.sidebar { - -webkit-transform: translate3d(0%, -100%, 0); - transform: translate3d(0%, -100%, 0); -} - -.ui.bottom.scale.down.sidebar { - -webkit-transform: translate3d(0%, 100%, 0); - transform: translate3d(0%, 100%, 0); -} - -/* Pusher - Initial */ - -.ui.scale.down.left.sidebar ~ .pusher { - -webkit-transform-origin: 75% 50%; - transform-origin: 75% 50%; -} - -.ui.scale.down.right.sidebar ~ .pusher { - -webkit-transform-origin: 25% 50%; - transform-origin: 25% 50%; -} - -.ui.scale.down.top.sidebar ~ .pusher { - -webkit-transform-origin: 50% 75%; - transform-origin: 50% 75%; -} - -.ui.scale.down.bottom.sidebar ~ .pusher { - -webkit-transform-origin: 50% 25%; - transform-origin: 50% 25%; -} - -/* Animation */ - -.ui.animating.scale.down > .visible.ui.sidebar { - -webkit-transition: -webkit-transform 500ms ease; - transition: -webkit-transform 500ms ease; - transition: transform 500ms ease; - transition: transform 500ms ease, -webkit-transform 500ms ease; -} - -.ui.visible.scale.down.sidebar ~ .pusher, -.ui.animating.scale.down.sidebar ~ .pusher { - display: block !important; - width: 100%; - height: 100%; - overflow: hidden !important; -} - -/* End */ - -.ui.visible.scale.down.sidebar { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} - -.ui.visible.scale.down.sidebar ~ .pusher { - -webkit-transform: scale(0.75); - transform: scale(0.75); -} - -/******************************* - Theme Overrides -*******************************/ - -/******************************* - Site Overrides -*******************************/ -/*! - * # Semantic UI undefined - Sticky + * # Semantic UI 2.2.10 - Sticky * http://github.com/semantic-org/semantic-ui/ * * @@ -34516,2328 +24705,4 @@ html.ios { /******************************* Site Overrides -*******************************/ -/*! - * # Semantic UI undefined - Tab - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - UI Tabs -*******************************/ - -.ui.tab { - display: none; -} - -/******************************* - States -*******************************/ - -/*-------------------- - Active ----------------------*/ - -.ui.tab.active, -.ui.tab.open { - display: block; -} - -/*-------------------- - Loading ----------------------*/ - -.ui.tab.loading { - position: relative; - overflow: hidden; - display: block; - min-height: 250px; -} - -.ui.tab.loading * { - position: relative !important; - left: -10000px !important; -} - -.ui.tab.loading:before, -.ui.tab.loading.segment:before { - position: absolute; - content: ''; - top: 100px; - left: 50%; - margin: -1.25em 0em 0em -1.25em; - width: 2.5em; - height: 2.5em; - border-radius: 500rem; - border: 0.2em solid rgba(0, 0, 0, 0.1); -} - -.ui.tab.loading:after, -.ui.tab.loading.segment:after { - position: absolute; - content: ''; - top: 100px; - left: 50%; - margin: -1.25em 0em 0em -1.25em; - width: 2.5em; - height: 2.5em; - -webkit-animation: button-spin 0.6s linear; - animation: button-spin 0.6s linear; - -webkit-animation-iteration-count: infinite; - animation-iteration-count: infinite; - border-radius: 500rem; - border-color: #767676 transparent transparent; - border-style: solid; - border-width: 0.2em; - box-shadow: 0px 0px 0px 1px transparent; -} - -/******************************* - Tab Overrides -*******************************/ - -/******************************* - User Overrides -*******************************/ -/*! - * # Semantic UI undefined - Transition - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -/******************************* - Transitions -*******************************/ - -.transition { - -webkit-animation-iteration-count: 1; - animation-iteration-count: 1; - -webkit-animation-duration: 300ms; - animation-duration: 300ms; - -webkit-animation-timing-function: ease; - animation-timing-function: ease; - -webkit-animation-fill-mode: both; - animation-fill-mode: both; -} - -/******************************* - States -*******************************/ - -/* Animating */ - -.animating.transition { - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - visibility: visible !important; -} - -/* Loading */ - -.loading.transition { - position: absolute; - top: -99999px; - left: -99999px; -} - -/* Hidden */ - -.hidden.transition { - display: none; - visibility: hidden; -} - -/* Visible */ - -.visible.transition { - display: block !important; - visibility: visible !important; - /* backface-visibility: @backfaceVisibility; - transform: @use3DAcceleration;*/ -} - -/* Disabled */ - -.disabled.transition { - -webkit-animation-play-state: paused; - animation-play-state: paused; -} - -/******************************* - Variations -*******************************/ - -.looping.transition { - -webkit-animation-iteration-count: infinite; - animation-iteration-count: infinite; -} - -/******************************* - Transitions -*******************************/ - -/* - Some transitions adapted from Animate CSS - https://github.com/daneden/animate.css - - Additional transitions adapted from Glide - by Nick Pettit - https://github.com/nickpettit/glide -*/ - -/*-------------- - Browse ----------------*/ - -.transition.browse { - -webkit-animation-duration: 500ms; - animation-duration: 500ms; -} - -.transition.browse.in { - -webkit-animation-name: browseIn; - animation-name: browseIn; -} - -.transition.browse.out, -.transition.browse.left.out { - -webkit-animation-name: browseOutLeft; - animation-name: browseOutLeft; -} - -.transition.browse.right.out { - -webkit-animation-name: browseOutRight; - animation-name: browseOutRight; -} - -/* In */ - -@-webkit-keyframes browseIn { - 0% { - -webkit-transform: scale(0.8) translateZ(0px); - transform: scale(0.8) translateZ(0px); - z-index: -1; - } - - 10% { - -webkit-transform: scale(0.8) translateZ(0px); - transform: scale(0.8) translateZ(0px); - z-index: -1; - opacity: 0.7; - } - - 80% { - -webkit-transform: scale(1.05) translateZ(0px); - transform: scale(1.05) translateZ(0px); - opacity: 1; - z-index: 999; - } - - 100% { - -webkit-transform: scale(1) translateZ(0px); - transform: scale(1) translateZ(0px); - z-index: 999; - } -} - -@keyframes browseIn { - 0% { - -webkit-transform: scale(0.8) translateZ(0px); - transform: scale(0.8) translateZ(0px); - z-index: -1; - } - - 10% { - -webkit-transform: scale(0.8) translateZ(0px); - transform: scale(0.8) translateZ(0px); - z-index: -1; - opacity: 0.7; - } - - 80% { - -webkit-transform: scale(1.05) translateZ(0px); - transform: scale(1.05) translateZ(0px); - opacity: 1; - z-index: 999; - } - - 100% { - -webkit-transform: scale(1) translateZ(0px); - transform: scale(1) translateZ(0px); - z-index: 999; - } -} - -/* Out */ - -@-webkit-keyframes browseOutLeft { - 0% { - z-index: 999; - -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg); - transform: translateX(0%) rotateY(0deg) rotateX(0deg); - } - - 50% { - z-index: -1; - -webkit-transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px); - transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px); - } - - 80% { - opacity: 1; - } - - 100% { - z-index: -1; - -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px); - transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px); - opacity: 0; - } -} - -@keyframes browseOutLeft { - 0% { - z-index: 999; - -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg); - transform: translateX(0%) rotateY(0deg) rotateX(0deg); - } - - 50% { - z-index: -1; - -webkit-transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px); - transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px); - } - - 80% { - opacity: 1; - } - - 100% { - z-index: -1; - -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px); - transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px); - opacity: 0; - } -} - -@-webkit-keyframes browseOutRight { - 0% { - z-index: 999; - -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg); - transform: translateX(0%) rotateY(0deg) rotateX(0deg); - } - - 50% { - z-index: 1; - -webkit-transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px); - transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px); - } - - 80% { - opacity: 1; - } - - 100% { - z-index: 1; - -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px); - transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px); - opacity: 0; - } -} - -@keyframes browseOutRight { - 0% { - z-index: 999; - -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg); - transform: translateX(0%) rotateY(0deg) rotateX(0deg); - } - - 50% { - z-index: 1; - -webkit-transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px); - transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px); - } - - 80% { - opacity: 1; - } - - 100% { - z-index: 1; - -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px); - transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px); - opacity: 0; - } -} - -/*-------------- - Drop ----------------*/ - -.drop.transition { - -webkit-transform-origin: top center; - transform-origin: top center; - -webkit-animation-duration: 400ms; - animation-duration: 400ms; - -webkit-animation-timing-function: cubic-bezier(0.34, 1.61, 0.7, 1); - animation-timing-function: cubic-bezier(0.34, 1.61, 0.7, 1); -} - -.drop.transition.in { - -webkit-animation-name: dropIn; - animation-name: dropIn; -} - -.drop.transition.out { - -webkit-animation-name: dropOut; - animation-name: dropOut; -} - -/* Drop */ - -@-webkit-keyframes dropIn { - 0% { - opacity: 0; - -webkit-transform: scale(0); - transform: scale(0); - } - - 100% { - opacity: 1; - -webkit-transform: scale(1); - transform: scale(1); - } -} - -@keyframes dropIn { - 0% { - opacity: 0; - -webkit-transform: scale(0); - transform: scale(0); - } - - 100% { - opacity: 1; - -webkit-transform: scale(1); - transform: scale(1); - } -} - -@-webkit-keyframes dropOut { - 0% { - opacity: 1; - -webkit-transform: scale(1); - transform: scale(1); - } - - 100% { - opacity: 0; - -webkit-transform: scale(0); - transform: scale(0); - } -} - -@keyframes dropOut { - 0% { - opacity: 1; - -webkit-transform: scale(1); - transform: scale(1); - } - - 100% { - opacity: 0; - -webkit-transform: scale(0); - transform: scale(0); - } -} - -/*-------------- - Fade ----------------*/ - -.transition.fade.in { - -webkit-animation-name: fadeIn; - animation-name: fadeIn; -} - -.transition[class*="fade up"].in { - -webkit-animation-name: fadeInUp; - animation-name: fadeInUp; -} - -.transition[class*="fade down"].in { - -webkit-animation-name: fadeInDown; - animation-name: fadeInDown; -} - -.transition[class*="fade left"].in { - -webkit-animation-name: fadeInLeft; - animation-name: fadeInLeft; -} - -.transition[class*="fade right"].in { - -webkit-animation-name: fadeInRight; - animation-name: fadeInRight; -} - -.transition.fade.out { - -webkit-animation-name: fadeOut; - animation-name: fadeOut; -} - -.transition[class*="fade up"].out { - -webkit-animation-name: fadeOutUp; - animation-name: fadeOutUp; -} - -.transition[class*="fade down"].out { - -webkit-animation-name: fadeOutDown; - animation-name: fadeOutDown; -} - -.transition[class*="fade left"].out { - -webkit-animation-name: fadeOutLeft; - animation-name: fadeOutLeft; -} - -.transition[class*="fade right"].out { - -webkit-animation-name: fadeOutRight; - animation-name: fadeOutRight; -} - -/* In */ - -@-webkit-keyframes fadeIn { - 0% { - opacity: 0; - } - - 100% { - opacity: 1; - } -} - -@keyframes fadeIn { - 0% { - opacity: 0; - } - - 100% { - opacity: 1; - } -} - -@-webkit-keyframes fadeInUp { - 0% { - opacity: 0; - -webkit-transform: translateY(10%); - transform: translateY(10%); - } - - 100% { - opacity: 1; - -webkit-transform: translateY(0%); - transform: translateY(0%); - } -} - -@keyframes fadeInUp { - 0% { - opacity: 0; - -webkit-transform: translateY(10%); - transform: translateY(10%); - } - - 100% { - opacity: 1; - -webkit-transform: translateY(0%); - transform: translateY(0%); - } -} - -@-webkit-keyframes fadeInDown { - 0% { - opacity: 0; - -webkit-transform: translateY(-10%); - transform: translateY(-10%); - } - - 100% { - opacity: 1; - -webkit-transform: translateY(0%); - transform: translateY(0%); - } -} - -@keyframes fadeInDown { - 0% { - opacity: 0; - -webkit-transform: translateY(-10%); - transform: translateY(-10%); - } - - 100% { - opacity: 1; - -webkit-transform: translateY(0%); - transform: translateY(0%); - } -} - -@-webkit-keyframes fadeInLeft { - 0% { - opacity: 0; - -webkit-transform: translateX(10%); - transform: translateX(10%); - } - - 100% { - opacity: 1; - -webkit-transform: translateX(0%); - transform: translateX(0%); - } -} - -@keyframes fadeInLeft { - 0% { - opacity: 0; - -webkit-transform: translateX(10%); - transform: translateX(10%); - } - - 100% { - opacity: 1; - -webkit-transform: translateX(0%); - transform: translateX(0%); - } -} - -@-webkit-keyframes fadeInRight { - 0% { - opacity: 0; - -webkit-transform: translateX(-10%); - transform: translateX(-10%); - } - - 100% { - opacity: 1; - -webkit-transform: translateX(0%); - transform: translateX(0%); - } -} - -@keyframes fadeInRight { - 0% { - opacity: 0; - -webkit-transform: translateX(-10%); - transform: translateX(-10%); - } - - 100% { - opacity: 1; - -webkit-transform: translateX(0%); - transform: translateX(0%); - } -} - -/* Out */ - -@-webkit-keyframes fadeOut { - 0% { - opacity: 1; - } - - 100% { - opacity: 0; - } -} - -@keyframes fadeOut { - 0% { - opacity: 1; - } - - 100% { - opacity: 0; - } -} - -@-webkit-keyframes fadeOutUp { - 0% { - opacity: 1; - -webkit-transform: translateY(0%); - transform: translateY(0%); - } - - 100% { - opacity: 0; - -webkit-transform: translateY(5%); - transform: translateY(5%); - } -} - -@keyframes fadeOutUp { - 0% { - opacity: 1; - -webkit-transform: translateY(0%); - transform: translateY(0%); - } - - 100% { - opacity: 0; - -webkit-transform: translateY(5%); - transform: translateY(5%); - } -} - -@-webkit-keyframes fadeOutDown { - 0% { - opacity: 1; - -webkit-transform: translateY(0%); - transform: translateY(0%); - } - - 100% { - opacity: 0; - -webkit-transform: translateY(-5%); - transform: translateY(-5%); - } -} - -@keyframes fadeOutDown { - 0% { - opacity: 1; - -webkit-transform: translateY(0%); - transform: translateY(0%); - } - - 100% { - opacity: 0; - -webkit-transform: translateY(-5%); - transform: translateY(-5%); - } -} - -@-webkit-keyframes fadeOutLeft { - 0% { - opacity: 1; - -webkit-transform: translateX(0%); - transform: translateX(0%); - } - - 100% { - opacity: 0; - -webkit-transform: translateX(5%); - transform: translateX(5%); - } -} - -@keyframes fadeOutLeft { - 0% { - opacity: 1; - -webkit-transform: translateX(0%); - transform: translateX(0%); - } - - 100% { - opacity: 0; - -webkit-transform: translateX(5%); - transform: translateX(5%); - } -} - -@-webkit-keyframes fadeOutRight { - 0% { - opacity: 1; - -webkit-transform: translateX(0%); - transform: translateX(0%); - } - - 100% { - opacity: 0; - -webkit-transform: translateX(-5%); - transform: translateX(-5%); - } -} - -@keyframes fadeOutRight { - 0% { - opacity: 1; - -webkit-transform: translateX(0%); - transform: translateX(0%); - } - - 100% { - opacity: 0; - -webkit-transform: translateX(-5%); - transform: translateX(-5%); - } -} - -/*-------------- - Flips ----------------*/ - -.flip.transition.in, -.flip.transition.out { - -webkit-animation-duration: 600ms; - animation-duration: 600ms; -} - -.horizontal.flip.transition.in { - -webkit-animation-name: horizontalFlipIn; - animation-name: horizontalFlipIn; -} - -.horizontal.flip.transition.out { - -webkit-animation-name: horizontalFlipOut; - animation-name: horizontalFlipOut; -} - -.vertical.flip.transition.in { - -webkit-animation-name: verticalFlipIn; - animation-name: verticalFlipIn; -} - -.vertical.flip.transition.out { - -webkit-animation-name: verticalFlipOut; - animation-name: verticalFlipOut; -} - -/* In */ - -@-webkit-keyframes horizontalFlipIn { - 0% { - -webkit-transform: perspective(2000px) rotateY(-90deg); - transform: perspective(2000px) rotateY(-90deg); - opacity: 0; - } - - 100% { - -webkit-transform: perspective(2000px) rotateY(0deg); - transform: perspective(2000px) rotateY(0deg); - opacity: 1; - } -} - -@keyframes horizontalFlipIn { - 0% { - -webkit-transform: perspective(2000px) rotateY(-90deg); - transform: perspective(2000px) rotateY(-90deg); - opacity: 0; - } - - 100% { - -webkit-transform: perspective(2000px) rotateY(0deg); - transform: perspective(2000px) rotateY(0deg); - opacity: 1; - } -} - -@-webkit-keyframes verticalFlipIn { - 0% { - -webkit-transform: perspective(2000px) rotateX(-90deg); - transform: perspective(2000px) rotateX(-90deg); - opacity: 0; - } - - 100% { - -webkit-transform: perspective(2000px) rotateX(0deg); - transform: perspective(2000px) rotateX(0deg); - opacity: 1; - } -} - -@keyframes verticalFlipIn { - 0% { - -webkit-transform: perspective(2000px) rotateX(-90deg); - transform: perspective(2000px) rotateX(-90deg); - opacity: 0; - } - - 100% { - -webkit-transform: perspective(2000px) rotateX(0deg); - transform: perspective(2000px) rotateX(0deg); - opacity: 1; - } -} - -/* Out */ - -@-webkit-keyframes horizontalFlipOut { - 0% { - -webkit-transform: perspective(2000px) rotateY(0deg); - transform: perspective(2000px) rotateY(0deg); - opacity: 1; - } - - 100% { - -webkit-transform: perspective(2000px) rotateY(90deg); - transform: perspective(2000px) rotateY(90deg); - opacity: 0; - } -} - -@keyframes horizontalFlipOut { - 0% { - -webkit-transform: perspective(2000px) rotateY(0deg); - transform: perspective(2000px) rotateY(0deg); - opacity: 1; - } - - 100% { - -webkit-transform: perspective(2000px) rotateY(90deg); - transform: perspective(2000px) rotateY(90deg); - opacity: 0; - } -} - -@-webkit-keyframes verticalFlipOut { - 0% { - -webkit-transform: perspective(2000px) rotateX(0deg); - transform: perspective(2000px) rotateX(0deg); - opacity: 1; - } - - 100% { - -webkit-transform: perspective(2000px) rotateX(-90deg); - transform: perspective(2000px) rotateX(-90deg); - opacity: 0; - } -} - -@keyframes verticalFlipOut { - 0% { - -webkit-transform: perspective(2000px) rotateX(0deg); - transform: perspective(2000px) rotateX(0deg); - opacity: 1; - } - - 100% { - -webkit-transform: perspective(2000px) rotateX(-90deg); - transform: perspective(2000px) rotateX(-90deg); - opacity: 0; - } -} - -/*-------------- - Scale ----------------*/ - -.scale.transition.in { - -webkit-animation-name: scaleIn; - animation-name: scaleIn; -} - -.scale.transition.out { - -webkit-animation-name: scaleOut; - animation-name: scaleOut; -} - -@-webkit-keyframes scaleIn { - 0% { - opacity: 0; - -webkit-transform: scale(0.8); - transform: scale(0.8); - } - - 100% { - opacity: 1; - -webkit-transform: scale(1); - transform: scale(1); - } -} - -@keyframes scaleIn { - 0% { - opacity: 0; - -webkit-transform: scale(0.8); - transform: scale(0.8); - } - - 100% { - opacity: 1; - -webkit-transform: scale(1); - transform: scale(1); - } -} - -/* Out */ - -@-webkit-keyframes scaleOut { - 0% { - opacity: 1; - -webkit-transform: scale(1); - transform: scale(1); - } - - 100% { - opacity: 0; - -webkit-transform: scale(0.9); - transform: scale(0.9); - } -} - -@keyframes scaleOut { - 0% { - opacity: 1; - -webkit-transform: scale(1); - transform: scale(1); - } - - 100% { - opacity: 0; - -webkit-transform: scale(0.9); - transform: scale(0.9); - } -} - -/*-------------- - Fly ----------------*/ - -/* Inward */ - -.transition.fly { - -webkit-animation-duration: 0.6s; - animation-duration: 0.6s; - -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); -} - -.transition.fly.in { - -webkit-animation-name: flyIn; - animation-name: flyIn; -} - -.transition[class*="fly up"].in { - -webkit-animation-name: flyInUp; - animation-name: flyInUp; -} - -.transition[class*="fly down"].in { - -webkit-animation-name: flyInDown; - animation-name: flyInDown; -} - -.transition[class*="fly left"].in { - -webkit-animation-name: flyInLeft; - animation-name: flyInLeft; -} - -.transition[class*="fly right"].in { - -webkit-animation-name: flyInRight; - animation-name: flyInRight; -} - -/* Outward */ - -.transition.fly.out { - -webkit-animation-name: flyOut; - animation-name: flyOut; -} - -.transition[class*="fly up"].out { - -webkit-animation-name: flyOutUp; - animation-name: flyOutUp; -} - -.transition[class*="fly down"].out { - -webkit-animation-name: flyOutDown; - animation-name: flyOutDown; -} - -.transition[class*="fly left"].out { - -webkit-animation-name: flyOutLeft; - animation-name: flyOutLeft; -} - -.transition[class*="fly right"].out { - -webkit-animation-name: flyOutRight; - animation-name: flyOutRight; -} - -/* In */ - -@-webkit-keyframes flyIn { - 0% { - opacity: 0; - -webkit-transform: scale3d(0.3, 0.3, 0.3); - transform: scale3d(0.3, 0.3, 0.3); - } - - 20% { - -webkit-transform: scale3d(1.1, 1.1, 1.1); - transform: scale3d(1.1, 1.1, 1.1); - } - - 40% { - -webkit-transform: scale3d(0.9, 0.9, 0.9); - transform: scale3d(0.9, 0.9, 0.9); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(1.03, 1.03, 1.03); - transform: scale3d(1.03, 1.03, 1.03); - } - - 80% { - -webkit-transform: scale3d(0.97, 0.97, 0.97); - transform: scale3d(0.97, 0.97, 0.97); - } - - 100% { - opacity: 1; - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -@keyframes flyIn { - 0% { - opacity: 0; - -webkit-transform: scale3d(0.3, 0.3, 0.3); - transform: scale3d(0.3, 0.3, 0.3); - } - - 20% { - -webkit-transform: scale3d(1.1, 1.1, 1.1); - transform: scale3d(1.1, 1.1, 1.1); - } - - 40% { - -webkit-transform: scale3d(0.9, 0.9, 0.9); - transform: scale3d(0.9, 0.9, 0.9); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(1.03, 1.03, 1.03); - transform: scale3d(1.03, 1.03, 1.03); - } - - 80% { - -webkit-transform: scale3d(0.97, 0.97, 0.97); - transform: scale3d(0.97, 0.97, 0.97); - } - - 100% { - opacity: 1; - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -@-webkit-keyframes flyInUp { - 0% { - opacity: 0; - -webkit-transform: translate3d(0, 1500px, 0); - transform: translate3d(0, 1500px, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - } - - 75% { - -webkit-transform: translate3d(0, 10px, 0); - transform: translate3d(0, 10px, 0); - } - - 90% { - -webkit-transform: translate3d(0, -5px, 0); - transform: translate3d(0, -5px, 0); - } - - 100% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes flyInUp { - 0% { - opacity: 0; - -webkit-transform: translate3d(0, 1500px, 0); - transform: translate3d(0, 1500px, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - } - - 75% { - -webkit-transform: translate3d(0, 10px, 0); - transform: translate3d(0, 10px, 0); - } - - 90% { - -webkit-transform: translate3d(0, -5px, 0); - transform: translate3d(0, -5px, 0); - } - - 100% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@-webkit-keyframes flyInDown { - 0% { - opacity: 0; - -webkit-transform: translate3d(0, -1500px, 0); - transform: translate3d(0, -1500px, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(0, 25px, 0); - transform: translate3d(0, 25px, 0); - } - - 75% { - -webkit-transform: translate3d(0, -10px, 0); - transform: translate3d(0, -10px, 0); - } - - 90% { - -webkit-transform: translate3d(0, 5px, 0); - transform: translate3d(0, 5px, 0); - } - - 100% { - -webkit-transform: none; - transform: none; - } -} - -@keyframes flyInDown { - 0% { - opacity: 0; - -webkit-transform: translate3d(0, -1500px, 0); - transform: translate3d(0, -1500px, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(0, 25px, 0); - transform: translate3d(0, 25px, 0); - } - - 75% { - -webkit-transform: translate3d(0, -10px, 0); - transform: translate3d(0, -10px, 0); - } - - 90% { - -webkit-transform: translate3d(0, 5px, 0); - transform: translate3d(0, 5px, 0); - } - - 100% { - -webkit-transform: none; - transform: none; - } -} - -@-webkit-keyframes flyInLeft { - 0% { - opacity: 0; - -webkit-transform: translate3d(1500px, 0, 0); - transform: translate3d(1500px, 0, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(-25px, 0, 0); - transform: translate3d(-25px, 0, 0); - } - - 75% { - -webkit-transform: translate3d(10px, 0, 0); - transform: translate3d(10px, 0, 0); - } - - 90% { - -webkit-transform: translate3d(-5px, 0, 0); - transform: translate3d(-5px, 0, 0); - } - - 100% { - -webkit-transform: none; - transform: none; - } -} - -@keyframes flyInLeft { - 0% { - opacity: 0; - -webkit-transform: translate3d(1500px, 0, 0); - transform: translate3d(1500px, 0, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(-25px, 0, 0); - transform: translate3d(-25px, 0, 0); - } - - 75% { - -webkit-transform: translate3d(10px, 0, 0); - transform: translate3d(10px, 0, 0); - } - - 90% { - -webkit-transform: translate3d(-5px, 0, 0); - transform: translate3d(-5px, 0, 0); - } - - 100% { - -webkit-transform: none; - transform: none; - } -} - -@-webkit-keyframes flyInRight { - 0% { - opacity: 0; - -webkit-transform: translate3d(-1500px, 0, 0); - transform: translate3d(-1500px, 0, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(25px, 0, 0); - transform: translate3d(25px, 0, 0); - } - - 75% { - -webkit-transform: translate3d(-10px, 0, 0); - transform: translate3d(-10px, 0, 0); - } - - 90% { - -webkit-transform: translate3d(5px, 0, 0); - transform: translate3d(5px, 0, 0); - } - - 100% { - -webkit-transform: none; - transform: none; - } -} - -@keyframes flyInRight { - 0% { - opacity: 0; - -webkit-transform: translate3d(-1500px, 0, 0); - transform: translate3d(-1500px, 0, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(25px, 0, 0); - transform: translate3d(25px, 0, 0); - } - - 75% { - -webkit-transform: translate3d(-10px, 0, 0); - transform: translate3d(-10px, 0, 0); - } - - 90% { - -webkit-transform: translate3d(5px, 0, 0); - transform: translate3d(5px, 0, 0); - } - - 100% { - -webkit-transform: none; - transform: none; - } -} - -/* Out */ - -@-webkit-keyframes flyOut { - 20% { - -webkit-transform: scale3d(0.9, 0.9, 0.9); - transform: scale3d(0.9, 0.9, 0.9); - } - - 50%, 55% { - opacity: 1; - -webkit-transform: scale3d(1.1, 1.1, 1.1); - transform: scale3d(1.1, 1.1, 1.1); - } - - 100% { - opacity: 0; - -webkit-transform: scale3d(0.3, 0.3, 0.3); - transform: scale3d(0.3, 0.3, 0.3); - } -} - -@keyframes flyOut { - 20% { - -webkit-transform: scale3d(0.9, 0.9, 0.9); - transform: scale3d(0.9, 0.9, 0.9); - } - - 50%, 55% { - opacity: 1; - -webkit-transform: scale3d(1.1, 1.1, 1.1); - transform: scale3d(1.1, 1.1, 1.1); - } - - 100% { - opacity: 0; - -webkit-transform: scale3d(0.3, 0.3, 0.3); - transform: scale3d(0.3, 0.3, 0.3); - } -} - -@-webkit-keyframes flyOutUp { - 20% { - -webkit-transform: translate3d(0, 10px, 0); - transform: translate3d(0, 10px, 0); - } - - 40%, 45% { - opacity: 1; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(0, 2000px, 0); - transform: translate3d(0, 2000px, 0); - } -} - -@keyframes flyOutUp { - 20% { - -webkit-transform: translate3d(0, 10px, 0); - transform: translate3d(0, 10px, 0); - } - - 40%, 45% { - opacity: 1; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(0, 2000px, 0); - transform: translate3d(0, 2000px, 0); - } -} - -@-webkit-keyframes flyOutDown { - 20% { - -webkit-transform: translate3d(0, -10px, 0); - transform: translate3d(0, -10px, 0); - } - - 40%, 45% { - opacity: 1; - -webkit-transform: translate3d(0, 20px, 0); - transform: translate3d(0, 20px, 0); - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(0, -2000px, 0); - transform: translate3d(0, -2000px, 0); - } -} - -@keyframes flyOutDown { - 20% { - -webkit-transform: translate3d(0, -10px, 0); - transform: translate3d(0, -10px, 0); - } - - 40%, 45% { - opacity: 1; - -webkit-transform: translate3d(0, 20px, 0); - transform: translate3d(0, 20px, 0); - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(0, -2000px, 0); - transform: translate3d(0, -2000px, 0); - } -} - -@-webkit-keyframes flyOutRight { - 20% { - opacity: 1; - -webkit-transform: translate3d(20px, 0, 0); - transform: translate3d(20px, 0, 0); - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(-2000px, 0, 0); - transform: translate3d(-2000px, 0, 0); - } -} - -@keyframes flyOutRight { - 20% { - opacity: 1; - -webkit-transform: translate3d(20px, 0, 0); - transform: translate3d(20px, 0, 0); - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(-2000px, 0, 0); - transform: translate3d(-2000px, 0, 0); - } -} - -@-webkit-keyframes flyOutLeft { - 20% { - opacity: 1; - -webkit-transform: translate3d(-20px, 0, 0); - transform: translate3d(-20px, 0, 0); - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(2000px, 0, 0); - transform: translate3d(2000px, 0, 0); - } -} - -@keyframes flyOutLeft { - 20% { - opacity: 1; - -webkit-transform: translate3d(-20px, 0, 0); - transform: translate3d(-20px, 0, 0); - } - - 100% { - opacity: 0; - -webkit-transform: translate3d(2000px, 0, 0); - transform: translate3d(2000px, 0, 0); - } -} - -/*-------------- - Slide ----------------*/ - -.transition.slide.in, -.transition[class*="slide down"].in { - -webkit-animation-name: slideInY; - animation-name: slideInY; - -webkit-transform-origin: top center; - transform-origin: top center; -} - -.transition[class*="slide up"].in { - -webkit-animation-name: slideInY; - animation-name: slideInY; - -webkit-transform-origin: bottom center; - transform-origin: bottom center; -} - -.transition[class*="slide left"].in { - -webkit-animation-name: slideInX; - animation-name: slideInX; - -webkit-transform-origin: center right; - transform-origin: center right; -} - -.transition[class*="slide right"].in { - -webkit-animation-name: slideInX; - animation-name: slideInX; - -webkit-transform-origin: center left; - transform-origin: center left; -} - -.transition.slide.out, -.transition[class*="slide down"].out { - -webkit-animation-name: slideOutY; - animation-name: slideOutY; - -webkit-transform-origin: top center; - transform-origin: top center; -} - -.transition[class*="slide up"].out { - -webkit-animation-name: slideOutY; - animation-name: slideOutY; - -webkit-transform-origin: bottom center; - transform-origin: bottom center; -} - -.transition[class*="slide left"].out { - -webkit-animation-name: slideOutX; - animation-name: slideOutX; - -webkit-transform-origin: center right; - transform-origin: center right; -} - -.transition[class*="slide right"].out { - -webkit-animation-name: slideOutX; - animation-name: slideOutX; - -webkit-transform-origin: center left; - transform-origin: center left; -} - -/* In */ - -@-webkit-keyframes slideInY { - 0% { - opacity: 0; - -webkit-transform: scaleY(0); - transform: scaleY(0); - } - - 100% { - opacity: 1; - -webkit-transform: scaleY(1); - transform: scaleY(1); - } -} - -@keyframes slideInY { - 0% { - opacity: 0; - -webkit-transform: scaleY(0); - transform: scaleY(0); - } - - 100% { - opacity: 1; - -webkit-transform: scaleY(1); - transform: scaleY(1); - } -} - -@-webkit-keyframes slideInX { - 0% { - opacity: 0; - -webkit-transform: scaleX(0); - transform: scaleX(0); - } - - 100% { - opacity: 1; - -webkit-transform: scaleX(1); - transform: scaleX(1); - } -} - -@keyframes slideInX { - 0% { - opacity: 0; - -webkit-transform: scaleX(0); - transform: scaleX(0); - } - - 100% { - opacity: 1; - -webkit-transform: scaleX(1); - transform: scaleX(1); - } -} - -/* Out */ - -@-webkit-keyframes slideOutY { - 0% { - opacity: 1; - -webkit-transform: scaleY(1); - transform: scaleY(1); - } - - 100% { - opacity: 0; - -webkit-transform: scaleY(0); - transform: scaleY(0); - } -} - -@keyframes slideOutY { - 0% { - opacity: 1; - -webkit-transform: scaleY(1); - transform: scaleY(1); - } - - 100% { - opacity: 0; - -webkit-transform: scaleY(0); - transform: scaleY(0); - } -} - -@-webkit-keyframes slideOutX { - 0% { - opacity: 1; - -webkit-transform: scaleX(1); - transform: scaleX(1); - } - - 100% { - opacity: 0; - -webkit-transform: scaleX(0); - transform: scaleX(0); - } -} - -@keyframes slideOutX { - 0% { - opacity: 1; - -webkit-transform: scaleX(1); - transform: scaleX(1); - } - - 100% { - opacity: 0; - -webkit-transform: scaleX(0); - transform: scaleX(0); - } -} - -/*-------------- - Swing ----------------*/ - -.transition.swing { - -webkit-animation-duration: 800ms; - animation-duration: 800ms; -} - -.transition[class*="swing down"].in { - -webkit-animation-name: swingInX; - animation-name: swingInX; - -webkit-transform-origin: top center; - transform-origin: top center; -} - -.transition[class*="swing up"].in { - -webkit-animation-name: swingInX; - animation-name: swingInX; - -webkit-transform-origin: bottom center; - transform-origin: bottom center; -} - -.transition[class*="swing left"].in { - -webkit-animation-name: swingInY; - animation-name: swingInY; - -webkit-transform-origin: center right; - transform-origin: center right; -} - -.transition[class*="swing right"].in { - -webkit-animation-name: swingInY; - animation-name: swingInY; - -webkit-transform-origin: center left; - transform-origin: center left; -} - -.transition.swing.out, -.transition[class*="swing down"].out { - -webkit-animation-name: swingOutX; - animation-name: swingOutX; - -webkit-transform-origin: top center; - transform-origin: top center; -} - -.transition[class*="swing up"].out { - -webkit-animation-name: swingOutX; - animation-name: swingOutX; - -webkit-transform-origin: bottom center; - transform-origin: bottom center; -} - -.transition[class*="swing left"].out { - -webkit-animation-name: swingOutY; - animation-name: swingOutY; - -webkit-transform-origin: center right; - transform-origin: center right; -} - -.transition[class*="swing right"].out { - -webkit-animation-name: swingOutY; - animation-name: swingOutY; - -webkit-transform-origin: center left; - transform-origin: center left; -} - -/* In */ - -@-webkit-keyframes swingInX { - 0% { - -webkit-transform: perspective(1000px) rotateX(90deg); - transform: perspective(1000px) rotateX(90deg); - opacity: 0; - } - - 40% { - -webkit-transform: perspective(1000px) rotateX(-30deg); - transform: perspective(1000px) rotateX(-30deg); - opacity: 1; - } - - 60% { - -webkit-transform: perspective(1000px) rotateX(15deg); - transform: perspective(1000px) rotateX(15deg); - } - - 80% { - -webkit-transform: perspective(1000px) rotateX(-7.5deg); - transform: perspective(1000px) rotateX(-7.5deg); - } - - 100% { - -webkit-transform: perspective(1000px) rotateX(0deg); - transform: perspective(1000px) rotateX(0deg); - } -} - -@keyframes swingInX { - 0% { - -webkit-transform: perspective(1000px) rotateX(90deg); - transform: perspective(1000px) rotateX(90deg); - opacity: 0; - } - - 40% { - -webkit-transform: perspective(1000px) rotateX(-30deg); - transform: perspective(1000px) rotateX(-30deg); - opacity: 1; - } - - 60% { - -webkit-transform: perspective(1000px) rotateX(15deg); - transform: perspective(1000px) rotateX(15deg); - } - - 80% { - -webkit-transform: perspective(1000px) rotateX(-7.5deg); - transform: perspective(1000px) rotateX(-7.5deg); - } - - 100% { - -webkit-transform: perspective(1000px) rotateX(0deg); - transform: perspective(1000px) rotateX(0deg); - } -} - -@-webkit-keyframes swingInY { - 0% { - -webkit-transform: perspective(1000px) rotateY(-90deg); - transform: perspective(1000px) rotateY(-90deg); - opacity: 0; - } - - 40% { - -webkit-transform: perspective(1000px) rotateY(30deg); - transform: perspective(1000px) rotateY(30deg); - opacity: 1; - } - - 60% { - -webkit-transform: perspective(1000px) rotateY(-17.5deg); - transform: perspective(1000px) rotateY(-17.5deg); - } - - 80% { - -webkit-transform: perspective(1000px) rotateY(7.5deg); - transform: perspective(1000px) rotateY(7.5deg); - } - - 100% { - -webkit-transform: perspective(1000px) rotateY(0deg); - transform: perspective(1000px) rotateY(0deg); - } -} - -@keyframes swingInY { - 0% { - -webkit-transform: perspective(1000px) rotateY(-90deg); - transform: perspective(1000px) rotateY(-90deg); - opacity: 0; - } - - 40% { - -webkit-transform: perspective(1000px) rotateY(30deg); - transform: perspective(1000px) rotateY(30deg); - opacity: 1; - } - - 60% { - -webkit-transform: perspective(1000px) rotateY(-17.5deg); - transform: perspective(1000px) rotateY(-17.5deg); - } - - 80% { - -webkit-transform: perspective(1000px) rotateY(7.5deg); - transform: perspective(1000px) rotateY(7.5deg); - } - - 100% { - -webkit-transform: perspective(1000px) rotateY(0deg); - transform: perspective(1000px) rotateY(0deg); - } -} - -/* Out */ - -@-webkit-keyframes swingOutX { - 0% { - -webkit-transform: perspective(1000px) rotateX(0deg); - transform: perspective(1000px) rotateX(0deg); - } - - 40% { - -webkit-transform: perspective(1000px) rotateX(-7.5deg); - transform: perspective(1000px) rotateX(-7.5deg); - } - - 60% { - -webkit-transform: perspective(1000px) rotateX(17.5deg); - transform: perspective(1000px) rotateX(17.5deg); - } - - 80% { - -webkit-transform: perspective(1000px) rotateX(-30deg); - transform: perspective(1000px) rotateX(-30deg); - opacity: 1; - } - - 100% { - -webkit-transform: perspective(1000px) rotateX(90deg); - transform: perspective(1000px) rotateX(90deg); - opacity: 0; - } -} - -@keyframes swingOutX { - 0% { - -webkit-transform: perspective(1000px) rotateX(0deg); - transform: perspective(1000px) rotateX(0deg); - } - - 40% { - -webkit-transform: perspective(1000px) rotateX(-7.5deg); - transform: perspective(1000px) rotateX(-7.5deg); - } - - 60% { - -webkit-transform: perspective(1000px) rotateX(17.5deg); - transform: perspective(1000px) rotateX(17.5deg); - } - - 80% { - -webkit-transform: perspective(1000px) rotateX(-30deg); - transform: perspective(1000px) rotateX(-30deg); - opacity: 1; - } - - 100% { - -webkit-transform: perspective(1000px) rotateX(90deg); - transform: perspective(1000px) rotateX(90deg); - opacity: 0; - } -} - -@-webkit-keyframes swingOutY { - 0% { - -webkit-transform: perspective(1000px) rotateY(0deg); - transform: perspective(1000px) rotateY(0deg); - } - - 40% { - -webkit-transform: perspective(1000px) rotateY(7.5deg); - transform: perspective(1000px) rotateY(7.5deg); - } - - 60% { - -webkit-transform: perspective(1000px) rotateY(-10deg); - transform: perspective(1000px) rotateY(-10deg); - } - - 80% { - -webkit-transform: perspective(1000px) rotateY(30deg); - transform: perspective(1000px) rotateY(30deg); - opacity: 1; - } - - 100% { - -webkit-transform: perspective(1000px) rotateY(-90deg); - transform: perspective(1000px) rotateY(-90deg); - opacity: 0; - } -} - -@keyframes swingOutY { - 0% { - -webkit-transform: perspective(1000px) rotateY(0deg); - transform: perspective(1000px) rotateY(0deg); - } - - 40% { - -webkit-transform: perspective(1000px) rotateY(7.5deg); - transform: perspective(1000px) rotateY(7.5deg); - } - - 60% { - -webkit-transform: perspective(1000px) rotateY(-10deg); - transform: perspective(1000px) rotateY(-10deg); - } - - 80% { - -webkit-transform: perspective(1000px) rotateY(30deg); - transform: perspective(1000px) rotateY(30deg); - opacity: 1; - } - - 100% { - -webkit-transform: perspective(1000px) rotateY(-90deg); - transform: perspective(1000px) rotateY(-90deg); - opacity: 0; - } -} - -/******************************* - Static Animations -*******************************/ - -/*-------------- - Emphasis ----------------*/ - -.flash.transition { - -webkit-animation-duration: 750ms; - animation-duration: 750ms; - -webkit-animation-name: flash; - animation-name: flash; -} - -.shake.transition { - -webkit-animation-duration: 750ms; - animation-duration: 750ms; - -webkit-animation-name: shake; - animation-name: shake; -} - -.bounce.transition { - -webkit-animation-duration: 750ms; - animation-duration: 750ms; - -webkit-animation-name: bounce; - animation-name: bounce; -} - -.tada.transition { - -webkit-animation-duration: 750ms; - animation-duration: 750ms; - -webkit-animation-name: tada; - animation-name: tada; -} - -.pulse.transition { - -webkit-animation-duration: 500ms; - animation-duration: 500ms; - -webkit-animation-name: pulse; - animation-name: pulse; -} - -.jiggle.transition { - -webkit-animation-duration: 750ms; - animation-duration: 750ms; - -webkit-animation-name: jiggle; - animation-name: jiggle; -} - -/* Flash */ - -@-webkit-keyframes flash { - 0%, 50%, 100% { - opacity: 1; - } - - 25%, 75% { - opacity: 0; - } -} - -@keyframes flash { - 0%, 50%, 100% { - opacity: 1; - } - - 25%, 75% { - opacity: 0; - } -} - -/* Shake */ - -@-webkit-keyframes shake { - 0%, 100% { - -webkit-transform: translateX(0); - transform: translateX(0); - } - - 10%, 30%, 50%, 70%, 90% { - -webkit-transform: translateX(-10px); - transform: translateX(-10px); - } - - 20%, 40%, 60%, 80% { - -webkit-transform: translateX(10px); - transform: translateX(10px); - } -} - -@keyframes shake { - 0%, 100% { - -webkit-transform: translateX(0); - transform: translateX(0); - } - - 10%, 30%, 50%, 70%, 90% { - -webkit-transform: translateX(-10px); - transform: translateX(-10px); - } - - 20%, 40%, 60%, 80% { - -webkit-transform: translateX(10px); - transform: translateX(10px); - } -} - -/* Bounce */ - -@-webkit-keyframes bounce { - 0%, 20%, 50%, 80%, 100% { - -webkit-transform: translateY(0); - transform: translateY(0); - } - - 40% { - -webkit-transform: translateY(-30px); - transform: translateY(-30px); - } - - 60% { - -webkit-transform: translateY(-15px); - transform: translateY(-15px); - } -} - -@keyframes bounce { - 0%, 20%, 50%, 80%, 100% { - -webkit-transform: translateY(0); - transform: translateY(0); - } - - 40% { - -webkit-transform: translateY(-30px); - transform: translateY(-30px); - } - - 60% { - -webkit-transform: translateY(-15px); - transform: translateY(-15px); - } -} - -/* Tada */ - -@-webkit-keyframes tada { - 0% { - -webkit-transform: scale(1); - transform: scale(1); - } - - 10%, 20% { - -webkit-transform: scale(0.9) rotate(-3deg); - transform: scale(0.9) rotate(-3deg); - } - - 30%, 50%, 70%, 90% { - -webkit-transform: scale(1.1) rotate(3deg); - transform: scale(1.1) rotate(3deg); - } - - 40%, 60%, 80% { - -webkit-transform: scale(1.1) rotate(-3deg); - transform: scale(1.1) rotate(-3deg); - } - - 100% { - -webkit-transform: scale(1) rotate(0); - transform: scale(1) rotate(0); - } -} - -@keyframes tada { - 0% { - -webkit-transform: scale(1); - transform: scale(1); - } - - 10%, 20% { - -webkit-transform: scale(0.9) rotate(-3deg); - transform: scale(0.9) rotate(-3deg); - } - - 30%, 50%, 70%, 90% { - -webkit-transform: scale(1.1) rotate(3deg); - transform: scale(1.1) rotate(3deg); - } - - 40%, 60%, 80% { - -webkit-transform: scale(1.1) rotate(-3deg); - transform: scale(1.1) rotate(-3deg); - } - - 100% { - -webkit-transform: scale(1) rotate(0); - transform: scale(1) rotate(0); - } -} - -/* Pulse */ - -@-webkit-keyframes pulse { - 0% { - -webkit-transform: scale(1); - transform: scale(1); - opacity: 1; - } - - 50% { - -webkit-transform: scale(0.9); - transform: scale(0.9); - opacity: 0.7; - } - - 100% { - -webkit-transform: scale(1); - transform: scale(1); - opacity: 1; - } -} - -@keyframes pulse { - 0% { - -webkit-transform: scale(1); - transform: scale(1); - opacity: 1; - } - - 50% { - -webkit-transform: scale(0.9); - transform: scale(0.9); - opacity: 0.7; - } - - 100% { - -webkit-transform: scale(1); - transform: scale(1); - opacity: 1; - } -} - -/* Rubberband */ - -@-webkit-keyframes jiggle { - 0% { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } - - 30% { - -webkit-transform: scale3d(1.25, 0.75, 1); - transform: scale3d(1.25, 0.75, 1); - } - - 40% { - -webkit-transform: scale3d(0.75, 1.25, 1); - transform: scale3d(0.75, 1.25, 1); - } - - 50% { - -webkit-transform: scale3d(1.15, 0.85, 1); - transform: scale3d(1.15, 0.85, 1); - } - - 65% { - -webkit-transform: scale3d(0.95, 1.05, 1); - transform: scale3d(0.95, 1.05, 1); - } - - 75% { - -webkit-transform: scale3d(1.05, 0.95, 1); - transform: scale3d(1.05, 0.95, 1); - } - - 100% { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -@keyframes jiggle { - 0% { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } - - 30% { - -webkit-transform: scale3d(1.25, 0.75, 1); - transform: scale3d(1.25, 0.75, 1); - } - - 40% { - -webkit-transform: scale3d(0.75, 1.25, 1); - transform: scale3d(0.75, 1.25, 1); - } - - 50% { - -webkit-transform: scale3d(1.15, 0.85, 1); - transform: scale3d(1.15, 0.85, 1); - } - - 65% { - -webkit-transform: scale3d(0.95, 1.05, 1); - transform: scale3d(0.95, 1.05, 1); - } - - 75% { - -webkit-transform: scale3d(1.05, 0.95, 1); - transform: scale3d(1.05, 0.95, 1); - } - - 100% { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -/******************************* - Site Overrides *******************************/
\ No newline at end of file diff --git a/static/semantic.js b/static/semantic.js index 0a2d432..54fe2a3 100644 --- a/static/semantic.js +++ b/static/semantic.js @@ -1,5 +1,5 @@ /* - * # Semantic UI - + * # Semantic UI - 2.2.10 * https://github.com/Semantic-Org/Semantic-UI * http://www.semantic-ui.com/ * @@ -9,7 +9,7 @@ * */ /*! - * # Semantic UI undefined - Site + * # Semantic UI 2.2.10 - Site * http://github.com/semantic-org/semantic-ui/ * * @@ -497,7 +497,7 @@ $.extend($.expr[ ":" ], { })( jQuery, window, document ); /*! - * # Semantic UI undefined - Form Validation + * # Semantic UI 2.2.10 - Form Validation * http://github.com/semantic-org/semantic-ui/ * * @@ -2104,618 +2104,7 @@ $.fn.form.settings = { })( jQuery, window, document ); /*! - * # Semantic UI undefined - Accordion - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ($, window, document, undefined) { - -"use strict"; - -window = (typeof window != 'undefined' && window.Math == Math) - ? window - : (typeof self != 'undefined' && self.Math == Math) - ? self - : Function('return this')() -; - -$.fn.accordion = function(parameters) { - var - $allModules = $(this), - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - - requestAnimationFrame = window.requestAnimationFrame - || window.mozRequestAnimationFrame - || window.webkitRequestAnimationFrame - || window.msRequestAnimationFrame - || function(callback) { setTimeout(callback, 0); }, - - returnedValue - ; - $allModules - .each(function() { - var - settings = ( $.isPlainObject(parameters) ) - ? $.extend(true, {}, $.fn.accordion.settings, parameters) - : $.extend({}, $.fn.accordion.settings), - - className = settings.className, - namespace = settings.namespace, - selector = settings.selector, - error = settings.error, - - eventNamespace = '.' + namespace, - moduleNamespace = 'module-' + namespace, - moduleSelector = $allModules.selector || '', - - $module = $(this), - $title = $module.find(selector.title), - $content = $module.find(selector.content), - - element = this, - instance = $module.data(moduleNamespace), - observer, - module - ; - - module = { - - initialize: function() { - module.debug('Initializing', $module); - module.bind.events(); - if(settings.observeChanges) { - module.observeChanges(); - } - module.instantiate(); - }, - - instantiate: function() { - instance = module; - $module - .data(moduleNamespace, module) - ; - }, - - destroy: function() { - module.debug('Destroying previous instance', $module); - $module - .off(eventNamespace) - .removeData(moduleNamespace) - ; - }, - - refresh: function() { - $title = $module.find(selector.title); - $content = $module.find(selector.content); - }, - - observeChanges: function() { - if('MutationObserver' in window) { - observer = new MutationObserver(function(mutations) { - module.debug('DOM tree modified, updating selector cache'); - module.refresh(); - }); - observer.observe(element, { - childList : true, - subtree : true - }); - module.debug('Setting up mutation observer', observer); - } - }, - - bind: { - events: function() { - module.debug('Binding delegated events'); - $module - .on(settings.on + eventNamespace, selector.trigger, module.event.click) - ; - } - }, - - event: { - click: function() { - module.toggle.call(this); - } - }, - - toggle: function(query) { - var - $activeTitle = (query !== undefined) - ? (typeof query === 'number') - ? $title.eq(query) - : $(query).closest(selector.title) - : $(this).closest(selector.title), - $activeContent = $activeTitle.next($content), - isAnimating = $activeContent.hasClass(className.animating), - isActive = $activeContent.hasClass(className.active), - isOpen = (isActive && !isAnimating), - isOpening = (!isActive && isAnimating) - ; - module.debug('Toggling visibility of content', $activeTitle); - if(isOpen || isOpening) { - if(settings.collapsible) { - module.close.call($activeTitle); - } - else { - module.debug('Cannot close accordion content collapsing is disabled'); - } - } - else { - module.open.call($activeTitle); - } - }, - - open: function(query) { - var - $activeTitle = (query !== undefined) - ? (typeof query === 'number') - ? $title.eq(query) - : $(query).closest(selector.title) - : $(this).closest(selector.title), - $activeContent = $activeTitle.next($content), - isAnimating = $activeContent.hasClass(className.animating), - isActive = $activeContent.hasClass(className.active), - isOpen = (isActive || isAnimating) - ; - if(isOpen) { - module.debug('Accordion already open, skipping', $activeContent); - return; - } - module.debug('Opening accordion content', $activeTitle); - settings.onOpening.call($activeContent); - if(settings.exclusive) { - module.closeOthers.call($activeTitle); - } - $activeTitle - .addClass(className.active) - ; - $activeContent - .stop(true, true) - .addClass(className.animating) - ; - if(settings.animateChildren) { - if($.fn.transition !== undefined && $module.transition('is supported')) { - $activeContent - .children() - .transition({ - animation : 'fade in', - queue : false, - useFailSafe : true, - debug : settings.debug, - verbose : settings.verbose, - duration : settings.duration - }) - ; - } - else { - $activeContent - .children() - .stop(true, true) - .animate({ - opacity: 1 - }, settings.duration, module.resetOpacity) - ; - } - } - $activeContent - .slideDown(settings.duration, settings.easing, function() { - $activeContent - .removeClass(className.animating) - .addClass(className.active) - ; - module.reset.display.call(this); - settings.onOpen.call(this); - settings.onChange.call(this); - }) - ; - }, - - close: function(query) { - var - $activeTitle = (query !== undefined) - ? (typeof query === 'number') - ? $title.eq(query) - : $(query).closest(selector.title) - : $(this).closest(selector.title), - $activeContent = $activeTitle.next($content), - isAnimating = $activeContent.hasClass(className.animating), - isActive = $activeContent.hasClass(className.active), - isOpening = (!isActive && isAnimating), - isClosing = (isActive && isAnimating) - ; - if((isActive || isOpening) && !isClosing) { - module.debug('Closing accordion content', $activeContent); - settings.onClosing.call($activeContent); - $activeTitle - .removeClass(className.active) - ; - $activeContent - .stop(true, true) - .addClass(className.animating) - ; - if(settings.animateChildren) { - if($.fn.transition !== undefined && $module.transition('is supported')) { - $activeContent - .children() - .transition({ - animation : 'fade out', - queue : false, - useFailSafe : true, - debug : settings.debug, - verbose : settings.verbose, - duration : settings.duration - }) - ; - } - else { - $activeContent - .children() - .stop(true, true) - .animate({ - opacity: 0 - }, settings.duration, module.resetOpacity) - ; - } - } - $activeContent - .slideUp(settings.duration, settings.easing, function() { - $activeContent - .removeClass(className.animating) - .removeClass(className.active) - ; - module.reset.display.call(this); - settings.onClose.call(this); - settings.onChange.call(this); - }) - ; - } - }, - - closeOthers: function(index) { - var - $activeTitle = (index !== undefined) - ? $title.eq(index) - : $(this).closest(selector.title), - $parentTitles = $activeTitle.parents(selector.content).prev(selector.title), - $activeAccordion = $activeTitle.closest(selector.accordion), - activeSelector = selector.title + '.' + className.active + ':visible', - activeContent = selector.content + '.' + className.active + ':visible', - $openTitles, - $nestedTitles, - $openContents - ; - if(settings.closeNested) { - $openTitles = $activeAccordion.find(activeSelector).not($parentTitles); - $openContents = $openTitles.next($content); - } - else { - $openTitles = $activeAccordion.find(activeSelector).not($parentTitles); - $nestedTitles = $activeAccordion.find(activeContent).find(activeSelector).not($parentTitles); - $openTitles = $openTitles.not($nestedTitles); - $openContents = $openTitles.next($content); - } - if( ($openTitles.length > 0) ) { - module.debug('Exclusive enabled, closing other content', $openTitles); - $openTitles - .removeClass(className.active) - ; - $openContents - .removeClass(className.animating) - .stop(true, true) - ; - if(settings.animateChildren) { - if($.fn.transition !== undefined && $module.transition('is supported')) { - $openContents - .children() - .transition({ - animation : 'fade out', - useFailSafe : true, - debug : settings.debug, - verbose : settings.verbose, - duration : settings.duration - }) - ; - } - else { - $openContents - .children() - .stop(true, true) - .animate({ - opacity: 0 - }, settings.duration, module.resetOpacity) - ; - } - } - $openContents - .slideUp(settings.duration , settings.easing, function() { - $(this).removeClass(className.active); - module.reset.display.call(this); - }) - ; - } - }, - - reset: { - - display: function() { - module.verbose('Removing inline display from element', this); - $(this).css('display', ''); - if( $(this).attr('style') === '') { - $(this) - .attr('style', '') - .removeAttr('style') - ; - } - }, - - opacity: function() { - module.verbose('Removing inline opacity from element', this); - $(this).css('opacity', ''); - if( $(this).attr('style') === '') { - $(this) - .attr('style', '') - .removeAttr('style') - ; - } - }, - - }, - - setting: function(name, value) { - module.debug('Changing setting', name, value); - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else if(value !== undefined) { - if($.isPlainObject(settings[name])) { - $.extend(true, settings[name], value); - } - else { - settings[name] = value; - } - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - module.debug('Changing internal', name, value); - if(value !== undefined) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else { - module[name] = value; - } - } - else { - return module[name]; - } - }, - debug: function() { - if(!settings.silent && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(!settings.silent && settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - if(!settings.silent) { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - } - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Element' : element, - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 500); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - object = instance, - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && object !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) { - object = object[camelCaseValue]; - } - else if( object[camelCaseValue] !== undefined ) { - found = object[camelCaseValue]; - return false; - } - else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) { - object = object[value]; - } - else if( object[value] !== undefined ) { - found = object[value]; - return false; - } - else { - module.error(error.method, query); - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(returnedValue)) { - returnedValue.push(response); - } - else if(returnedValue !== undefined) { - returnedValue = [returnedValue, response]; - } - else if(response !== undefined) { - returnedValue = response; - } - return found; - } - }; - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - instance.invoke('destroy'); - } - module.initialize(); - } - }) - ; - return (returnedValue !== undefined) - ? returnedValue - : this - ; -}; - -$.fn.accordion.settings = { - - name : 'Accordion', - namespace : 'accordion', - - silent : false, - debug : false, - verbose : false, - performance : true, - - on : 'click', // event on title that opens accordion - - observeChanges : true, // whether accordion should automatically refresh on DOM insertion - - exclusive : true, // whether a single accordion content panel should be open at once - collapsible : true, // whether accordion content can be closed - closeNested : false, // whether nested content should be closed when a panel is closed - animateChildren : true, // whether children opacity should be animated - - duration : 350, // duration of animation - easing : 'easeOutQuad', // easing equation for animation - - - onOpening : function(){}, // callback before open animation - onOpen : function(){}, // callback after open animation - onClosing : function(){}, // callback before closing animation - onClose : function(){}, // callback after closing animation - onChange : function(){}, // callback after closing or opening animation - - error: { - method : 'The method you called is not defined' - }, - - className : { - active : 'active', - animating : 'animating' - }, - - selector : { - accordion : '.accordion', - title : '.title', - trigger : '.title', - content : '.content' - } - -}; - -// Adds easing -$.extend( $.easing, { - easeOutQuad: function (x, t, b, c, d) { - return -c *(t/=d)*(t-2) + b; - } -}); - -})( jQuery, window, document ); - - -/*! - * # Semantic UI undefined - Checkbox + * # Semantic UI 2.2.10 - Checkbox * http://github.com/semantic-org/semantic-ui/ * * @@ -3547,716 +2936,7 @@ $.fn.checkbox.settings = { })( jQuery, window, document ); /*! - * # Semantic UI undefined - Dimmer - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ($, window, document, undefined) { - -"use strict"; - -window = (typeof window != 'undefined' && window.Math == Math) - ? window - : (typeof self != 'undefined' && self.Math == Math) - ? self - : Function('return this')() -; - -$.fn.dimmer = function(parameters) { - var - $allModules = $(this), - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - - returnedValue - ; - - $allModules - .each(function() { - var - settings = ( $.isPlainObject(parameters) ) - ? $.extend(true, {}, $.fn.dimmer.settings, parameters) - : $.extend({}, $.fn.dimmer.settings), - - selector = settings.selector, - namespace = settings.namespace, - className = settings.className, - error = settings.error, - - eventNamespace = '.' + namespace, - moduleNamespace = 'module-' + namespace, - moduleSelector = $allModules.selector || '', - - clickEvent = ('ontouchstart' in document.documentElement) - ? 'touchstart' - : 'click', - - $module = $(this), - $dimmer, - $dimmable, - - element = this, - instance = $module.data(moduleNamespace), - module - ; - - module = { - - preinitialize: function() { - if( module.is.dimmer() ) { - - $dimmable = $module.parent(); - $dimmer = $module; - } - else { - $dimmable = $module; - if( module.has.dimmer() ) { - if(settings.dimmerName) { - $dimmer = $dimmable.find(selector.dimmer).filter('.' + settings.dimmerName); - } - else { - $dimmer = $dimmable.find(selector.dimmer); - } - } - else { - $dimmer = module.create(); - } - module.set.variation(); - } - }, - - initialize: function() { - module.debug('Initializing dimmer', settings); - - module.bind.events(); - module.set.dimmable(); - module.instantiate(); - }, - - instantiate: function() { - module.verbose('Storing instance of module', module); - instance = module; - $module - .data(moduleNamespace, instance) - ; - }, - - destroy: function() { - module.verbose('Destroying previous module', $dimmer); - module.unbind.events(); - module.remove.variation(); - $dimmable - .off(eventNamespace) - ; - }, - - bind: { - events: function() { - if(settings.on == 'hover') { - $dimmable - .on('mouseenter' + eventNamespace, module.show) - .on('mouseleave' + eventNamespace, module.hide) - ; - } - else if(settings.on == 'click') { - $dimmable - .on(clickEvent + eventNamespace, module.toggle) - ; - } - if( module.is.page() ) { - module.debug('Setting as a page dimmer', $dimmable); - module.set.pageDimmer(); - } - - if( module.is.closable() ) { - module.verbose('Adding dimmer close event', $dimmer); - $dimmable - .on(clickEvent + eventNamespace, selector.dimmer, module.event.click) - ; - } - } - }, - - unbind: { - events: function() { - $module - .removeData(moduleNamespace) - ; - $dimmable - .off(eventNamespace) - ; - } - }, - - event: { - click: function(event) { - module.verbose('Determining if event occured on dimmer', event); - if( $dimmer.find(event.target).length === 0 || $(event.target).is(selector.content) ) { - module.hide(); - event.stopImmediatePropagation(); - } - } - }, - - addContent: function(element) { - var - $content = $(element) - ; - module.debug('Add content to dimmer', $content); - if($content.parent()[0] !== $dimmer[0]) { - $content.detach().appendTo($dimmer); - } - }, - - create: function() { - var - $element = $( settings.template.dimmer() ) - ; - if(settings.dimmerName) { - module.debug('Creating named dimmer', settings.dimmerName); - $element.addClass(settings.dimmerName); - } - $element - .appendTo($dimmable) - ; - return $element; - }, - - show: function(callback) { - callback = $.isFunction(callback) - ? callback - : function(){} - ; - module.debug('Showing dimmer', $dimmer, settings); - if( (!module.is.dimmed() || module.is.animating()) && module.is.enabled() ) { - module.animate.show(callback); - settings.onShow.call(element); - settings.onChange.call(element); - } - else { - module.debug('Dimmer is already shown or disabled'); - } - }, - - hide: function(callback) { - callback = $.isFunction(callback) - ? callback - : function(){} - ; - if( module.is.dimmed() || module.is.animating() ) { - module.debug('Hiding dimmer', $dimmer); - module.animate.hide(callback); - settings.onHide.call(element); - settings.onChange.call(element); - } - else { - module.debug('Dimmer is not visible'); - } - }, - - toggle: function() { - module.verbose('Toggling dimmer visibility', $dimmer); - if( !module.is.dimmed() ) { - module.show(); - } - else { - module.hide(); - } - }, - - animate: { - show: function(callback) { - callback = $.isFunction(callback) - ? callback - : function(){} - ; - if(settings.useCSS && $.fn.transition !== undefined && $dimmer.transition('is supported')) { - if(settings.opacity !== 'auto') { - module.set.opacity(); - } - $dimmer - .transition({ - animation : settings.transition + ' in', - queue : false, - duration : module.get.duration(), - useFailSafe : true, - onStart : function() { - module.set.dimmed(); - }, - onComplete : function() { - module.set.active(); - callback(); - } - }) - ; - } - else { - module.verbose('Showing dimmer animation with javascript'); - module.set.dimmed(); - if(settings.opacity == 'auto') { - settings.opacity = 0.8; - } - $dimmer - .stop() - .css({ - opacity : 0, - width : '100%', - height : '100%' - }) - .fadeTo(module.get.duration(), settings.opacity, function() { - $dimmer.removeAttr('style'); - module.set.active(); - callback(); - }) - ; - } - }, - hide: function(callback) { - callback = $.isFunction(callback) - ? callback - : function(){} - ; - if(settings.useCSS && $.fn.transition !== undefined && $dimmer.transition('is supported')) { - module.verbose('Hiding dimmer with css'); - $dimmer - .transition({ - animation : settings.transition + ' out', - queue : false, - duration : module.get.duration(), - useFailSafe : true, - onStart : function() { - module.remove.dimmed(); - }, - onComplete : function() { - module.remove.active(); - callback(); - } - }) - ; - } - else { - module.verbose('Hiding dimmer with javascript'); - module.remove.dimmed(); - $dimmer - .stop() - .fadeOut(module.get.duration(), function() { - module.remove.active(); - $dimmer.removeAttr('style'); - callback(); - }) - ; - } - } - }, - - get: { - dimmer: function() { - return $dimmer; - }, - duration: function() { - if(typeof settings.duration == 'object') { - if( module.is.active() ) { - return settings.duration.hide; - } - else { - return settings.duration.show; - } - } - return settings.duration; - } - }, - - has: { - dimmer: function() { - if(settings.dimmerName) { - return ($module.find(selector.dimmer).filter('.' + settings.dimmerName).length > 0); - } - else { - return ( $module.find(selector.dimmer).length > 0 ); - } - } - }, - - is: { - active: function() { - return $dimmer.hasClass(className.active); - }, - animating: function() { - return ( $dimmer.is(':animated') || $dimmer.hasClass(className.animating) ); - }, - closable: function() { - if(settings.closable == 'auto') { - if(settings.on == 'hover') { - return false; - } - return true; - } - return settings.closable; - }, - dimmer: function() { - return $module.hasClass(className.dimmer); - }, - dimmable: function() { - return $module.hasClass(className.dimmable); - }, - dimmed: function() { - return $dimmable.hasClass(className.dimmed); - }, - disabled: function() { - return $dimmable.hasClass(className.disabled); - }, - enabled: function() { - return !module.is.disabled(); - }, - page: function () { - return $dimmable.is('body'); - }, - pageDimmer: function() { - return $dimmer.hasClass(className.pageDimmer); - } - }, - - can: { - show: function() { - return !$dimmer.hasClass(className.disabled); - } - }, - - set: { - opacity: function(opacity) { - var - color = $dimmer.css('background-color'), - colorArray = color.split(','), - isRGB = (colorArray && colorArray.length == 3), - isRGBA = (colorArray && colorArray.length == 4) - ; - opacity = settings.opacity === 0 ? 0 : settings.opacity || opacity; - if(isRGB || isRGBA) { - colorArray[3] = opacity + ')'; - color = colorArray.join(','); - } - else { - color = 'rgba(0, 0, 0, ' + opacity + ')'; - } - module.debug('Setting opacity to', opacity); - $dimmer.css('background-color', color); - }, - active: function() { - $dimmer.addClass(className.active); - }, - dimmable: function() { - $dimmable.addClass(className.dimmable); - }, - dimmed: function() { - $dimmable.addClass(className.dimmed); - }, - pageDimmer: function() { - $dimmer.addClass(className.pageDimmer); - }, - disabled: function() { - $dimmer.addClass(className.disabled); - }, - variation: function(variation) { - variation = variation || settings.variation; - if(variation) { - $dimmer.addClass(variation); - } - } - }, - - remove: { - active: function() { - $dimmer - .removeClass(className.active) - ; - }, - dimmed: function() { - $dimmable.removeClass(className.dimmed); - }, - disabled: function() { - $dimmer.removeClass(className.disabled); - }, - variation: function(variation) { - variation = variation || settings.variation; - if(variation) { - $dimmer.removeClass(variation); - } - } - }, - - setting: function(name, value) { - module.debug('Changing setting', name, value); - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else if(value !== undefined) { - if($.isPlainObject(settings[name])) { - $.extend(true, settings[name], value); - } - else { - settings[name] = value; - } - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else if(value !== undefined) { - module[name] = value; - } - else { - return module[name]; - } - }, - debug: function() { - if(!settings.silent && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(!settings.silent && settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - if(!settings.silent) { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - } - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Element' : element, - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 500); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if($allModules.length > 1) { - title += ' ' + '(' + $allModules.length + ')'; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - object = instance, - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && object !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) { - object = object[camelCaseValue]; - } - else if( object[camelCaseValue] !== undefined ) { - found = object[camelCaseValue]; - return false; - } - else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) { - object = object[value]; - } - else if( object[value] !== undefined ) { - found = object[value]; - return false; - } - else { - module.error(error.method, query); - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(returnedValue)) { - returnedValue.push(response); - } - else if(returnedValue !== undefined) { - returnedValue = [returnedValue, response]; - } - else if(response !== undefined) { - returnedValue = response; - } - return found; - } - }; - - module.preinitialize(); - - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - instance.invoke('destroy'); - } - module.initialize(); - } - }) - ; - - return (returnedValue !== undefined) - ? returnedValue - : this - ; -}; - -$.fn.dimmer.settings = { - - name : 'Dimmer', - namespace : 'dimmer', - - silent : false, - debug : false, - verbose : false, - performance : true, - - // name to distinguish between multiple dimmers in context - dimmerName : false, - - // whether to add a variation type - variation : false, - - // whether to bind close events - closable : 'auto', - - // whether to use css animations - useCSS : true, - - // css animation to use - transition : 'fade', - - // event to bind to - on : false, - - // overriding opacity value - opacity : 'auto', - - // transition durations - duration : { - show : 500, - hide : 500 - }, - - onChange : function(){}, - onShow : function(){}, - onHide : function(){}, - - error : { - method : 'The method you called is not defined.' - }, - - className : { - active : 'active', - animating : 'animating', - dimmable : 'dimmable', - dimmed : 'dimmed', - dimmer : 'dimmer', - disabled : 'disabled', - hide : 'hide', - pageDimmer : 'page', - show : 'show' - }, - - selector: { - dimmer : '> .ui.dimmer', - content : '.ui.dimmer > .content, .ui.dimmer > .content > .center' - }, - - template: { - dimmer: function() { - return $('<div />').attr('class', 'ui dimmer'); - } - } - -}; - -})( jQuery, window, document ); - -/*! - * # Semantic UI undefined - Dropdown + * # Semantic UI 2.2.10 - Dropdown * http://github.com/semantic-org/semantic-ui/ * * @@ -8039,7 +6719,7 @@ $.fn.dropdown.settings.templates = { })( jQuery, window, document ); /*! - * # Semantic UI undefined - Embed + * # Semantic UI 2.2.10 - Embed * http://github.com/semantic-org/semantic-ui/ * * @@ -8736,5797 +7416,7 @@ $.fn.embed.settings = { })( jQuery, window, document ); /*! - * # Semantic UI undefined - Modal - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ($, window, document, undefined) { - -"use strict"; - -window = (typeof window != 'undefined' && window.Math == Math) - ? window - : (typeof self != 'undefined' && self.Math == Math) - ? self - : Function('return this')() -; - -$.fn.modal = function(parameters) { - var - $allModules = $(this), - $window = $(window), - $document = $(document), - $body = $('body'), - - moduleSelector = $allModules.selector || '', - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - - requestAnimationFrame = window.requestAnimationFrame - || window.mozRequestAnimationFrame - || window.webkitRequestAnimationFrame - || window.msRequestAnimationFrame - || function(callback) { setTimeout(callback, 0); }, - - returnedValue - ; - - $allModules - .each(function() { - var - settings = ( $.isPlainObject(parameters) ) - ? $.extend(true, {}, $.fn.modal.settings, parameters) - : $.extend({}, $.fn.modal.settings), - - selector = settings.selector, - className = settings.className, - namespace = settings.namespace, - error = settings.error, - - eventNamespace = '.' + namespace, - moduleNamespace = 'module-' + namespace, - - $module = $(this), - $context = $(settings.context), - $close = $module.find(selector.close), - - $allModals, - $otherModals, - $focusedElement, - $dimmable, - $dimmer, - - element = this, - instance = $module.data(moduleNamespace), - - ignoreRepeatedEvents = false, - - elementEventNamespace, - id, - observer, - module - ; - module = { - - initialize: function() { - module.verbose('Initializing dimmer', $context); - - module.create.id(); - module.create.dimmer(); - module.refreshModals(); - - module.bind.events(); - if(settings.observeChanges) { - module.observeChanges(); - } - module.instantiate(); - }, - - instantiate: function() { - module.verbose('Storing instance of modal'); - instance = module; - $module - .data(moduleNamespace, instance) - ; - }, - - create: { - dimmer: function() { - var - defaultSettings = { - debug : settings.debug, - dimmerName : 'modals', - duration : { - show : settings.duration, - hide : settings.duration - } - }, - dimmerSettings = $.extend(true, defaultSettings, settings.dimmerSettings) - ; - if(settings.inverted) { - dimmerSettings.variation = (dimmerSettings.variation !== undefined) - ? dimmerSettings.variation + ' inverted' - : 'inverted' - ; - } - if($.fn.dimmer === undefined) { - module.error(error.dimmer); - return; - } - module.debug('Creating dimmer with settings', dimmerSettings); - $dimmable = $context.dimmer(dimmerSettings); - if(settings.detachable) { - module.verbose('Modal is detachable, moving content into dimmer'); - $dimmable.dimmer('add content', $module); - } - else { - module.set.undetached(); - } - if(settings.blurring) { - $dimmable.addClass(className.blurring); - } - $dimmer = $dimmable.dimmer('get dimmer'); - }, - id: function() { - id = (Math.random().toString(16) + '000000000').substr(2,8); - elementEventNamespace = '.' + id; - module.verbose('Creating unique id for element', id); - } - }, - - destroy: function() { - module.verbose('Destroying previous modal'); - $module - .removeData(moduleNamespace) - .off(eventNamespace) - ; - $window.off(elementEventNamespace); - $dimmer.off(elementEventNamespace); - $close.off(eventNamespace); - $context.dimmer('destroy'); - }, - - observeChanges: function() { - if('MutationObserver' in window) { - observer = new MutationObserver(function(mutations) { - module.debug('DOM tree modified, refreshing'); - module.refresh(); - }); - observer.observe(element, { - childList : true, - subtree : true - }); - module.debug('Setting up mutation observer', observer); - } - }, - - refresh: function() { - module.remove.scrolling(); - module.cacheSizes(); - module.set.screenHeight(); - module.set.type(); - module.set.position(); - }, - - refreshModals: function() { - $otherModals = $module.siblings(selector.modal); - $allModals = $otherModals.add($module); - }, - - attachEvents: function(selector, event) { - var - $toggle = $(selector) - ; - event = $.isFunction(module[event]) - ? module[event] - : module.toggle - ; - if($toggle.length > 0) { - module.debug('Attaching modal events to element', selector, event); - $toggle - .off(eventNamespace) - .on('click' + eventNamespace, event) - ; - } - else { - module.error(error.notFound, selector); - } - }, - - bind: { - events: function() { - module.verbose('Attaching events'); - $module - .on('click' + eventNamespace, selector.close, module.event.close) - .on('click' + eventNamespace, selector.approve, module.event.approve) - .on('click' + eventNamespace, selector.deny, module.event.deny) - ; - $window - .on('resize' + elementEventNamespace, module.event.resize) - ; - } - }, - - get: { - id: function() { - return (Math.random().toString(16) + '000000000').substr(2,8); - } - }, - - event: { - approve: function() { - if(ignoreRepeatedEvents || settings.onApprove.call(element, $(this)) === false) { - module.verbose('Approve callback returned false cancelling hide'); - return; - } - ignoreRepeatedEvents = true; - module.hide(function() { - ignoreRepeatedEvents = false; - }); - }, - deny: function() { - if(ignoreRepeatedEvents || settings.onDeny.call(element, $(this)) === false) { - module.verbose('Deny callback returned false cancelling hide'); - return; - } - ignoreRepeatedEvents = true; - module.hide(function() { - ignoreRepeatedEvents = false; - }); - }, - close: function() { - module.hide(); - }, - click: function(event) { - var - $target = $(event.target), - isInModal = ($target.closest(selector.modal).length > 0), - isInDOM = $.contains(document.documentElement, event.target) - ; - if(!isInModal && isInDOM) { - module.debug('Dimmer clicked, hiding all modals'); - if( module.is.active() ) { - module.remove.clickaway(); - if(settings.allowMultiple) { - module.hide(); - } - else { - module.hideAll(); - } - } - } - }, - debounce: function(method, delay) { - clearTimeout(module.timer); - module.timer = setTimeout(method, delay); - }, - keyboard: function(event) { - var - keyCode = event.which, - escapeKey = 27 - ; - if(keyCode == escapeKey) { - if(settings.closable) { - module.debug('Escape key pressed hiding modal'); - module.hide(); - } - else { - module.debug('Escape key pressed, but closable is set to false'); - } - event.preventDefault(); - } - }, - resize: function() { - if( $dimmable.dimmer('is active') ) { - requestAnimationFrame(module.refresh); - } - } - }, - - toggle: function() { - if( module.is.active() || module.is.animating() ) { - module.hide(); - } - else { - module.show(); - } - }, - - show: function(callback) { - callback = $.isFunction(callback) - ? callback - : function(){} - ; - module.refreshModals(); - module.showModal(callback); - }, - - hide: function(callback) { - callback = $.isFunction(callback) - ? callback - : function(){} - ; - module.refreshModals(); - module.hideModal(callback); - }, - - showModal: function(callback) { - callback = $.isFunction(callback) - ? callback - : function(){} - ; - if( module.is.animating() || !module.is.active() ) { - - module.showDimmer(); - module.cacheSizes(); - module.set.position(); - module.set.screenHeight(); - module.set.type(); - module.set.clickaway(); - - if( !settings.allowMultiple && module.others.active() ) { - module.hideOthers(module.showModal); - } - else { - settings.onShow.call(element); - if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) { - module.debug('Showing modal with css animations'); - $module - .transition({ - debug : settings.debug, - animation : settings.transition + ' in', - queue : settings.queue, - duration : settings.duration, - useFailSafe : true, - onComplete : function() { - settings.onVisible.apply(element); - if(settings.keyboardShortcuts) { - module.add.keyboardShortcuts(); - } - module.save.focus(); - module.set.active(); - if(settings.autofocus) { - module.set.autofocus(); - } - callback(); - } - }) - ; - } - else { - module.error(error.noTransition); - } - } - } - else { - module.debug('Modal is already visible'); - } - }, - - hideModal: function(callback, keepDimmed) { - callback = $.isFunction(callback) - ? callback - : function(){} - ; - module.debug('Hiding modal'); - if(settings.onHide.call(element, $(this)) === false) { - module.verbose('Hide callback returned false cancelling hide'); - return; - } - - if( module.is.animating() || module.is.active() ) { - if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) { - module.remove.active(); - $module - .transition({ - debug : settings.debug, - animation : settings.transition + ' out', - queue : settings.queue, - duration : settings.duration, - useFailSafe : true, - onStart : function() { - if(!module.others.active() && !keepDimmed) { - module.hideDimmer(); - } - if(settings.keyboardShortcuts) { - module.remove.keyboardShortcuts(); - } - }, - onComplete : function() { - settings.onHidden.call(element); - module.restore.focus(); - callback(); - } - }) - ; - } - else { - module.error(error.noTransition); - } - } - }, - - showDimmer: function() { - if($dimmable.dimmer('is animating') || !$dimmable.dimmer('is active') ) { - module.debug('Showing dimmer'); - $dimmable.dimmer('show'); - } - else { - module.debug('Dimmer already visible'); - } - }, - - hideDimmer: function() { - if( $dimmable.dimmer('is animating') || ($dimmable.dimmer('is active')) ) { - $dimmable.dimmer('hide', function() { - module.remove.clickaway(); - module.remove.screenHeight(); - }); - } - else { - module.debug('Dimmer is not visible cannot hide'); - return; - } - }, - - hideAll: function(callback) { - var - $visibleModals = $allModals.filter('.' + className.active + ', .' + className.animating) - ; - callback = $.isFunction(callback) - ? callback - : function(){} - ; - if( $visibleModals.length > 0 ) { - module.debug('Hiding all visible modals'); - module.hideDimmer(); - $visibleModals - .modal('hide modal', callback) - ; - } - }, - - hideOthers: function(callback) { - var - $visibleModals = $otherModals.filter('.' + className.active + ', .' + className.animating) - ; - callback = $.isFunction(callback) - ? callback - : function(){} - ; - if( $visibleModals.length > 0 ) { - module.debug('Hiding other modals', $otherModals); - $visibleModals - .modal('hide modal', callback, true) - ; - } - }, - - others: { - active: function() { - return ($otherModals.filter('.' + className.active).length > 0); - }, - animating: function() { - return ($otherModals.filter('.' + className.animating).length > 0); - } - }, - - - add: { - keyboardShortcuts: function() { - module.verbose('Adding keyboard shortcuts'); - $document - .on('keyup' + eventNamespace, module.event.keyboard) - ; - } - }, - - save: { - focus: function() { - $focusedElement = $(document.activeElement).blur(); - } - }, - - restore: { - focus: function() { - if($focusedElement && $focusedElement.length > 0) { - $focusedElement.focus(); - } - } - }, - - remove: { - active: function() { - $module.removeClass(className.active); - }, - clickaway: function() { - if(settings.closable) { - $dimmer - .off('click' + elementEventNamespace) - ; - } - }, - bodyStyle: function() { - if($body.attr('style') === '') { - module.verbose('Removing style attribute'); - $body.removeAttr('style'); - } - }, - screenHeight: function() { - module.debug('Removing page height'); - $body - .css('height', '') - ; - }, - keyboardShortcuts: function() { - module.verbose('Removing keyboard shortcuts'); - $document - .off('keyup' + eventNamespace) - ; - }, - scrolling: function() { - $dimmable.removeClass(className.scrolling); - $module.removeClass(className.scrolling); - } - }, - - cacheSizes: function() { - var - modalHeight = $module.outerHeight() - ; - if(module.cache === undefined || modalHeight !== 0) { - module.cache = { - pageHeight : $(document).outerHeight(), - height : modalHeight + settings.offset, - contextHeight : (settings.context == 'body') - ? $(window).height() - : $dimmable.height() - }; - } - module.debug('Caching modal and container sizes', module.cache); - }, - - can: { - fit: function() { - return ( ( module.cache.height + (settings.padding * 2) ) < module.cache.contextHeight); - } - }, - - is: { - active: function() { - return $module.hasClass(className.active); - }, - animating: function() { - return $module.transition('is supported') - ? $module.transition('is animating') - : $module.is(':visible') - ; - }, - scrolling: function() { - return $dimmable.hasClass(className.scrolling); - }, - modernBrowser: function() { - // appName for IE11 reports 'Netscape' can no longer use - return !(window.ActiveXObject || "ActiveXObject" in window); - } - }, - - set: { - autofocus: function() { - var - $inputs = $module.find('[tabindex], :input').filter(':visible'), - $autofocus = $inputs.filter('[autofocus]'), - $input = ($autofocus.length > 0) - ? $autofocus.first() - : $inputs.first() - ; - if($input.length > 0) { - $input.focus(); - } - }, - clickaway: function() { - if(settings.closable) { - $dimmer - .on('click' + elementEventNamespace, module.event.click) - ; - } - }, - screenHeight: function() { - if( module.can.fit() ) { - $body.css('height', ''); - } - else { - module.debug('Modal is taller than page content, resizing page height'); - $body - .css('height', module.cache.height + (settings.padding * 2) ) - ; - } - }, - active: function() { - $module.addClass(className.active); - }, - scrolling: function() { - $dimmable.addClass(className.scrolling); - $module.addClass(className.scrolling); - }, - type: function() { - if(module.can.fit()) { - module.verbose('Modal fits on screen'); - if(!module.others.active() && !module.others.animating()) { - module.remove.scrolling(); - } - } - else { - module.verbose('Modal cannot fit on screen setting to scrolling'); - module.set.scrolling(); - } - }, - position: function() { - module.verbose('Centering modal on page', module.cache); - if(module.can.fit()) { - $module - .css({ - top: '', - marginTop: -(module.cache.height / 2) - }) - ; - } - else { - $module - .css({ - marginTop : '', - top : $document.scrollTop() - }) - ; - } - }, - undetached: function() { - $dimmable.addClass(className.undetached); - } - }, - - setting: function(name, value) { - module.debug('Changing setting', name, value); - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else if(value !== undefined) { - if($.isPlainObject(settings[name])) { - $.extend(true, settings[name], value); - } - else { - settings[name] = value; - } - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else if(value !== undefined) { - module[name] = value; - } - else { - return module[name]; - } - }, - debug: function() { - if(!settings.silent && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(!settings.silent && settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - if(!settings.silent) { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - } - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Element' : element, - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 500); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - object = instance, - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && object !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) { - object = object[camelCaseValue]; - } - else if( object[camelCaseValue] !== undefined ) { - found = object[camelCaseValue]; - return false; - } - else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) { - object = object[value]; - } - else if( object[value] !== undefined ) { - found = object[value]; - return false; - } - else { - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(returnedValue)) { - returnedValue.push(response); - } - else if(returnedValue !== undefined) { - returnedValue = [returnedValue, response]; - } - else if(response !== undefined) { - returnedValue = response; - } - return found; - } - }; - - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - instance.invoke('destroy'); - } - module.initialize(); - } - }) - ; - - return (returnedValue !== undefined) - ? returnedValue - : this - ; -}; - -$.fn.modal.settings = { - - name : 'Modal', - namespace : 'modal', - - silent : false, - debug : false, - verbose : false, - performance : true, - - observeChanges : false, - - allowMultiple : false, - detachable : true, - closable : true, - autofocus : true, - - inverted : false, - blurring : false, - - dimmerSettings : { - closable : false, - useCSS : true - }, - - // whether to use keyboard shortcuts - keyboardShortcuts: true, - - context : 'body', - - queue : false, - duration : 500, - offset : 0, - transition : 'scale', - - // padding with edge of page - padding : 50, - - // called before show animation - onShow : function(){}, - - // called after show animation - onVisible : function(){}, - - // called before hide animation - onHide : function(){ return true; }, - - // called after hide animation - onHidden : function(){}, - - // called after approve selector match - onApprove : function(){ return true; }, - - // called after deny selector match - onDeny : function(){ return true; }, - - selector : { - close : '> .close', - approve : '.actions .positive, .actions .approve, .actions .ok', - deny : '.actions .negative, .actions .deny, .actions .cancel', - modal : '.ui.modal' - }, - error : { - dimmer : 'UI Dimmer, a required component is not included in this page', - method : 'The method you called is not defined.', - notFound : 'The element you specified could not be found' - }, - className : { - active : 'active', - animating : 'animating', - blurring : 'blurring', - scrolling : 'scrolling', - undetached : 'undetached' - } -}; - - -})( jQuery, window, document ); - -/*! - * # Semantic UI undefined - Nag - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ($, window, document, undefined) { - -"use strict"; - -window = (typeof window != 'undefined' && window.Math == Math) - ? window - : (typeof self != 'undefined' && self.Math == Math) - ? self - : Function('return this')() -; - -$.fn.nag = function(parameters) { - var - $allModules = $(this), - moduleSelector = $allModules.selector || '', - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - returnedValue - ; - $allModules - .each(function() { - var - settings = ( $.isPlainObject(parameters) ) - ? $.extend(true, {}, $.fn.nag.settings, parameters) - : $.extend({}, $.fn.nag.settings), - - className = settings.className, - selector = settings.selector, - error = settings.error, - namespace = settings.namespace, - - eventNamespace = '.' + namespace, - moduleNamespace = namespace + '-module', - - $module = $(this), - - $close = $module.find(selector.close), - $context = (settings.context) - ? $(settings.context) - : $('body'), - - element = this, - instance = $module.data(moduleNamespace), - - moduleOffset, - moduleHeight, - - contextWidth, - contextHeight, - contextOffset, - - yOffset, - yPosition, - - timer, - module, - - requestAnimationFrame = window.requestAnimationFrame - || window.mozRequestAnimationFrame - || window.webkitRequestAnimationFrame - || window.msRequestAnimationFrame - || function(callback) { setTimeout(callback, 0); } - ; - module = { - - initialize: function() { - module.verbose('Initializing element'); - - $module - .on('click' + eventNamespace, selector.close, module.dismiss) - .data(moduleNamespace, module) - ; - - if(settings.detachable && $module.parent()[0] !== $context[0]) { - $module - .detach() - .prependTo($context) - ; - } - - if(settings.displayTime > 0) { - setTimeout(module.hide, settings.displayTime); - } - module.show(); - }, - - destroy: function() { - module.verbose('Destroying instance'); - $module - .removeData(moduleNamespace) - .off(eventNamespace) - ; - }, - - show: function() { - if( module.should.show() && !$module.is(':visible') ) { - module.debug('Showing nag', settings.animation.show); - if(settings.animation.show == 'fade') { - $module - .fadeIn(settings.duration, settings.easing) - ; - } - else { - $module - .slideDown(settings.duration, settings.easing) - ; - } - } - }, - - hide: function() { - module.debug('Showing nag', settings.animation.hide); - if(settings.animation.show == 'fade') { - $module - .fadeIn(settings.duration, settings.easing) - ; - } - else { - $module - .slideUp(settings.duration, settings.easing) - ; - } - }, - - onHide: function() { - module.debug('Removing nag', settings.animation.hide); - $module.remove(); - if (settings.onHide) { - settings.onHide(); - } - }, - - dismiss: function(event) { - if(settings.storageMethod) { - module.storage.set(settings.key, settings.value); - } - module.hide(); - event.stopImmediatePropagation(); - event.preventDefault(); - }, - - should: { - show: function() { - if(settings.persist) { - module.debug('Persistent nag is set, can show nag'); - return true; - } - if( module.storage.get(settings.key) != settings.value.toString() ) { - module.debug('Stored value is not set, can show nag', module.storage.get(settings.key)); - return true; - } - module.debug('Stored value is set, cannot show nag', module.storage.get(settings.key)); - return false; - } - }, - - get: { - storageOptions: function() { - var - options = {} - ; - if(settings.expires) { - options.expires = settings.expires; - } - if(settings.domain) { - options.domain = settings.domain; - } - if(settings.path) { - options.path = settings.path; - } - return options; - } - }, - - clear: function() { - module.storage.remove(settings.key); - }, - - storage: { - set: function(key, value) { - var - options = module.get.storageOptions() - ; - if(settings.storageMethod == 'localstorage' && window.localStorage !== undefined) { - window.localStorage.setItem(key, value); - module.debug('Value stored using local storage', key, value); - } - else if(settings.storageMethod == 'sessionstorage' && window.sessionStorage !== undefined) { - window.sessionStorage.setItem(key, value); - module.debug('Value stored using session storage', key, value); - } - else if($.cookie !== undefined) { - $.cookie(key, value, options); - module.debug('Value stored using cookie', key, value, options); - } - else { - module.error(error.noCookieStorage); - return; - } - }, - get: function(key, value) { - var - storedValue - ; - if(settings.storageMethod == 'localstorage' && window.localStorage !== undefined) { - storedValue = window.localStorage.getItem(key); - } - else if(settings.storageMethod == 'sessionstorage' && window.sessionStorage !== undefined) { - storedValue = window.sessionStorage.getItem(key); - } - // get by cookie - else if($.cookie !== undefined) { - storedValue = $.cookie(key); - } - else { - module.error(error.noCookieStorage); - } - if(storedValue == 'undefined' || storedValue == 'null' || storedValue === undefined || storedValue === null) { - storedValue = undefined; - } - return storedValue; - }, - remove: function(key) { - var - options = module.get.storageOptions() - ; - if(settings.storageMethod == 'localstorage' && window.localStorage !== undefined) { - window.localStorage.removeItem(key); - } - else if(settings.storageMethod == 'sessionstorage' && window.sessionStorage !== undefined) { - window.sessionStorage.removeItem(key); - } - // store by cookie - else if($.cookie !== undefined) { - $.removeCookie(key, options); - } - else { - module.error(error.noStorage); - } - } - }, - - setting: function(name, value) { - module.debug('Changing setting', name, value); - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else if(value !== undefined) { - if($.isPlainObject(settings[name])) { - $.extend(true, settings[name], value); - } - else { - settings[name] = value; - } - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else if(value !== undefined) { - module[name] = value; - } - else { - return module[name]; - } - }, - debug: function() { - if(!settings.silent && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(!settings.silent && settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - if(!settings.silent) { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - } - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Element' : element, - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 500); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - object = instance, - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && object !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) { - object = object[camelCaseValue]; - } - else if( object[camelCaseValue] !== undefined ) { - found = object[camelCaseValue]; - return false; - } - else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) { - object = object[value]; - } - else if( object[value] !== undefined ) { - found = object[value]; - return false; - } - else { - module.error(error.method, query); - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(returnedValue)) { - returnedValue.push(response); - } - else if(returnedValue !== undefined) { - returnedValue = [returnedValue, response]; - } - else if(response !== undefined) { - returnedValue = response; - } - return found; - } - }; - - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - instance.invoke('destroy'); - } - module.initialize(); - } - }) - ; - - return (returnedValue !== undefined) - ? returnedValue - : this - ; -}; - -$.fn.nag.settings = { - - name : 'Nag', - - silent : false, - debug : false, - verbose : false, - performance : true, - - namespace : 'Nag', - - // allows cookie to be overridden - persist : false, - - // set to zero to require manually dismissal, otherwise hides on its own - displayTime : 0, - - animation : { - show : 'slide', - hide : 'slide' - }, - - context : false, - detachable : false, - - expires : 30, - domain : false, - path : '/', - - // type of storage to use - storageMethod : 'cookie', - - // value to store in dismissed localstorage/cookie - key : 'nag', - value : 'dismiss', - - error: { - noCookieStorage : '$.cookie is not included. A storage solution is required.', - noStorage : 'Neither $.cookie or store is defined. A storage solution is required for storing state', - method : 'The method you called is not defined.' - }, - - className : { - bottom : 'bottom', - fixed : 'fixed' - }, - - selector : { - close : '.close.icon' - }, - - speed : 500, - easing : 'easeOutQuad', - - onHide: function() {} - -}; - -// Adds easing -$.extend( $.easing, { - easeOutQuad: function (x, t, b, c, d) { - return -c *(t/=d)*(t-2) + b; - } -}); - -})( jQuery, window, document ); - -/*! - * # Semantic UI undefined - Popup - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ($, window, document, undefined) { - -"use strict"; - -window = (typeof window != 'undefined' && window.Math == Math) - ? window - : (typeof self != 'undefined' && self.Math == Math) - ? self - : Function('return this')() -; - -$.fn.popup = function(parameters) { - var - $allModules = $(this), - $document = $(document), - $window = $(window), - $body = $('body'), - - moduleSelector = $allModules.selector || '', - - hasTouch = (true), - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - - returnedValue - ; - $allModules - .each(function() { - var - settings = ( $.isPlainObject(parameters) ) - ? $.extend(true, {}, $.fn.popup.settings, parameters) - : $.extend({}, $.fn.popup.settings), - - selector = settings.selector, - className = settings.className, - error = settings.error, - metadata = settings.metadata, - namespace = settings.namespace, - - eventNamespace = '.' + settings.namespace, - moduleNamespace = 'module-' + namespace, - - $module = $(this), - $context = $(settings.context), - $scrollContext = $(settings.scrollContext), - $boundary = $(settings.boundary), - $target = (settings.target) - ? $(settings.target) - : $module, - - $popup, - $offsetParent, - - searchDepth = 0, - triedPositions = false, - openedWithTouch = false, - - element = this, - instance = $module.data(moduleNamespace), - - documentObserver, - elementNamespace, - id, - module - ; - - module = { - - // binds events - initialize: function() { - module.debug('Initializing', $module); - module.createID(); - module.bind.events(); - if(!module.exists() && settings.preserve) { - module.create(); - } - if(settings.observeChanges) { - module.observeChanges(); - } - module.instantiate(); - }, - - instantiate: function() { - module.verbose('Storing instance', module); - instance = module; - $module - .data(moduleNamespace, instance) - ; - }, - - observeChanges: function() { - if('MutationObserver' in window) { - documentObserver = new MutationObserver(module.event.documentChanged); - documentObserver.observe(document, { - childList : true, - subtree : true - }); - module.debug('Setting up mutation observer', documentObserver); - } - }, - - refresh: function() { - if(settings.popup) { - $popup = $(settings.popup).eq(0); - } - else { - if(settings.inline) { - $popup = $target.nextAll(selector.popup).eq(0); - settings.popup = $popup; - } - } - if(settings.popup) { - $popup.addClass(className.loading); - $offsetParent = module.get.offsetParent(); - $popup.removeClass(className.loading); - if(settings.movePopup && module.has.popup() && module.get.offsetParent($popup)[0] !== $offsetParent[0]) { - module.debug('Moving popup to the same offset parent as activating element'); - $popup - .detach() - .appendTo($offsetParent) - ; - } - } - else { - $offsetParent = (settings.inline) - ? module.get.offsetParent($target) - : module.has.popup() - ? module.get.offsetParent($popup) - : $body - ; - } - if( $offsetParent.is('html') && $offsetParent[0] !== $body[0] ) { - module.debug('Setting page as offset parent'); - $offsetParent = $body; - } - if( module.get.variation() ) { - module.set.variation(); - } - }, - - reposition: function() { - module.refresh(); - module.set.position(); - }, - - destroy: function() { - module.debug('Destroying previous module'); - if(documentObserver) { - documentObserver.disconnect(); - } - // remove element only if was created dynamically - if($popup && !settings.preserve) { - module.removePopup(); - } - // clear all timeouts - clearTimeout(module.hideTimer); - clearTimeout(module.showTimer); - // remove events - module.unbind.close(); - module.unbind.events(); - $module - .removeData(moduleNamespace) - ; - }, - - event: { - start: function(event) { - var - delay = ($.isPlainObject(settings.delay)) - ? settings.delay.show - : settings.delay - ; - clearTimeout(module.hideTimer); - if(!openedWithTouch) { - module.showTimer = setTimeout(module.show, delay); - } - }, - end: function() { - var - delay = ($.isPlainObject(settings.delay)) - ? settings.delay.hide - : settings.delay - ; - clearTimeout(module.showTimer); - module.hideTimer = setTimeout(module.hide, delay); - }, - touchstart: function(event) { - openedWithTouch = true; - module.show(); - }, - resize: function() { - if( module.is.visible() ) { - module.set.position(); - } - }, - documentChanged: function(mutations) { - [].forEach.call(mutations, function(mutation) { - if(mutation.removedNodes) { - [].forEach.call(mutation.removedNodes, function(node) { - if(node == element || $(node).find(element).length > 0) { - module.debug('Element removed from DOM, tearing down events'); - module.destroy(); - } - }); - } - }); - }, - hideGracefully: function(event) { - var - $target = $(event.target), - isInDOM = $.contains(document.documentElement, event.target), - inPopup = ($target.closest(selector.popup).length > 0) - ; - // don't close on clicks inside popup - if(event && !inPopup && isInDOM) { - module.debug('Click occurred outside popup hiding popup'); - module.hide(); - } - else { - module.debug('Click was inside popup, keeping popup open'); - } - } - }, - - // generates popup html from metadata - create: function() { - var - html = module.get.html(), - title = module.get.title(), - content = module.get.content() - ; - - if(html || content || title) { - module.debug('Creating pop-up html'); - if(!html) { - html = settings.templates.popup({ - title : title, - content : content - }); - } - $popup = $('<div/>') - .addClass(className.popup) - .data(metadata.activator, $module) - .html(html) - ; - if(settings.inline) { - module.verbose('Inserting popup element inline', $popup); - $popup - .insertAfter($module) - ; - } - else { - module.verbose('Appending popup element to body', $popup); - $popup - .appendTo( $context ) - ; - } - module.refresh(); - module.set.variation(); - - if(settings.hoverable) { - module.bind.popup(); - } - settings.onCreate.call($popup, element); - } - else if($target.next(selector.popup).length !== 0) { - module.verbose('Pre-existing popup found'); - settings.inline = true; - settings.popup = $target.next(selector.popup).data(metadata.activator, $module); - module.refresh(); - if(settings.hoverable) { - module.bind.popup(); - } - } - else if(settings.popup) { - $(settings.popup).data(metadata.activator, $module); - module.verbose('Used popup specified in settings'); - module.refresh(); - if(settings.hoverable) { - module.bind.popup(); - } - } - else { - module.debug('No content specified skipping display', element); - } - }, - - createID: function() { - id = (Math.random().toString(16) + '000000000').substr(2, 8); - elementNamespace = '.' + id; - module.verbose('Creating unique id for element', id); - }, - - // determines popup state - toggle: function() { - module.debug('Toggling pop-up'); - if( module.is.hidden() ) { - module.debug('Popup is hidden, showing pop-up'); - module.unbind.close(); - module.show(); - } - else { - module.debug('Popup is visible, hiding pop-up'); - module.hide(); - } - }, - - show: function(callback) { - callback = callback || function(){}; - module.debug('Showing pop-up', settings.transition); - if(module.is.hidden() && !( module.is.active() && module.is.dropdown()) ) { - if( !module.exists() ) { - module.create(); - } - if(settings.onShow.call($popup, element) === false) { - module.debug('onShow callback returned false, cancelling popup animation'); - return; - } - else if(!settings.preserve && !settings.popup) { - module.refresh(); - } - if( $popup && module.set.position() ) { - module.save.conditions(); - if(settings.exclusive) { - module.hideAll(); - } - module.animate.show(callback); - } - } - }, - - - hide: function(callback) { - callback = callback || function(){}; - if( module.is.visible() || module.is.animating() ) { - if(settings.onHide.call($popup, element) === false) { - module.debug('onHide callback returned false, cancelling popup animation'); - return; - } - module.remove.visible(); - module.unbind.close(); - module.restore.conditions(); - module.animate.hide(callback); - } - }, - - hideAll: function() { - $(selector.popup) - .filter('.' + className.visible) - .each(function() { - $(this) - .data(metadata.activator) - .popup('hide') - ; - }) - ; - }, - exists: function() { - if(!$popup) { - return false; - } - if(settings.inline || settings.popup) { - return ( module.has.popup() ); - } - else { - return ( $popup.closest($context).length >= 1 ) - ? true - : false - ; - } - }, - - removePopup: function() { - if( module.has.popup() && !settings.popup) { - module.debug('Removing popup', $popup); - $popup.remove(); - $popup = undefined; - settings.onRemove.call($popup, element); - } - }, - - save: { - conditions: function() { - module.cache = { - title: $module.attr('title') - }; - if (module.cache.title) { - $module.removeAttr('title'); - } - module.verbose('Saving original attributes', module.cache.title); - } - }, - restore: { - conditions: function() { - if(module.cache && module.cache.title) { - $module.attr('title', module.cache.title); - module.verbose('Restoring original attributes', module.cache.title); - } - return true; - } - }, - supports: { - svg: function() { - return (typeof SVGGraphicsElement === undefined); - } - }, - animate: { - show: function(callback) { - callback = $.isFunction(callback) ? callback : function(){}; - if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) { - module.set.visible(); - $popup - .transition({ - animation : settings.transition + ' in', - queue : false, - debug : settings.debug, - verbose : settings.verbose, - duration : settings.duration, - onComplete : function() { - module.bind.close(); - callback.call($popup, element); - settings.onVisible.call($popup, element); - } - }) - ; - } - else { - module.error(error.noTransition); - } - }, - hide: function(callback) { - callback = $.isFunction(callback) ? callback : function(){}; - module.debug('Hiding pop-up'); - if(settings.onHide.call($popup, element) === false) { - module.debug('onHide callback returned false, cancelling popup animation'); - return; - } - if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) { - $popup - .transition({ - animation : settings.transition + ' out', - queue : false, - duration : settings.duration, - debug : settings.debug, - verbose : settings.verbose, - onComplete : function() { - module.reset(); - callback.call($popup, element); - settings.onHidden.call($popup, element); - } - }) - ; - } - else { - module.error(error.noTransition); - } - } - }, - - change: { - content: function(html) { - $popup.html(html); - } - }, - - get: { - html: function() { - $module.removeData(metadata.html); - return $module.data(metadata.html) || settings.html; - }, - title: function() { - $module.removeData(metadata.title); - return $module.data(metadata.title) || settings.title; - }, - content: function() { - $module.removeData(metadata.content); - return $module.data(metadata.content) || $module.attr('title') || settings.content; - }, - variation: function() { - $module.removeData(metadata.variation); - return $module.data(metadata.variation) || settings.variation; - }, - popup: function() { - return $popup; - }, - popupOffset: function() { - return $popup.offset(); - }, - calculations: function() { - var - targetElement = $target[0], - isWindow = ($boundary[0] == window), - targetPosition = (settings.inline || (settings.popup && settings.movePopup)) - ? $target.position() - : $target.offset(), - screenPosition = (isWindow) - ? { top: 0, left: 0 } - : $boundary.offset(), - calculations = {}, - scroll = (isWindow) - ? { top: $window.scrollTop(), left: $window.scrollLeft() } - : { top: 0, left: 0}, - screen - ; - calculations = { - // element which is launching popup - target : { - element : $target[0], - width : $target.outerWidth(), - height : $target.outerHeight(), - top : targetPosition.top, - left : targetPosition.left, - margin : {} - }, - // popup itself - popup : { - width : $popup.outerWidth(), - height : $popup.outerHeight() - }, - // offset container (or 3d context) - parent : { - width : $offsetParent.outerWidth(), - height : $offsetParent.outerHeight() - }, - // screen boundaries - screen : { - top : screenPosition.top, - left : screenPosition.left, - scroll: { - top : scroll.top, - left : scroll.left - }, - width : $boundary.width(), - height : $boundary.height() - } - }; - - // add in container calcs if fluid - if( settings.setFluidWidth && module.is.fluid() ) { - calculations.container = { - width: $popup.parent().outerWidth() - }; - calculations.popup.width = calculations.container.width; - } - - // add in margins if inline - calculations.target.margin.top = (settings.inline) - ? parseInt( window.getComputedStyle(targetElement).getPropertyValue('margin-top'), 10) - : 0 - ; - calculations.target.margin.left = (settings.inline) - ? module.is.rtl() - ? parseInt( window.getComputedStyle(targetElement).getPropertyValue('margin-right'), 10) - : parseInt( window.getComputedStyle(targetElement).getPropertyValue('margin-left'), 10) - : 0 - ; - // calculate screen boundaries - screen = calculations.screen; - calculations.boundary = { - top : screen.top + screen.scroll.top, - bottom : screen.top + screen.scroll.top + screen.height, - left : screen.left + screen.scroll.left, - right : screen.left + screen.scroll.left + screen.width - }; - return calculations; - }, - id: function() { - return id; - }, - startEvent: function() { - if(settings.on == 'hover') { - return 'mouseenter'; - } - else if(settings.on == 'focus') { - return 'focus'; - } - return false; - }, - scrollEvent: function() { - return 'scroll'; - }, - endEvent: function() { - if(settings.on == 'hover') { - return 'mouseleave'; - } - else if(settings.on == 'focus') { - return 'blur'; - } - return false; - }, - distanceFromBoundary: function(offset, calculations) { - var - distanceFromBoundary = {}, - popup, - boundary - ; - calculations = calculations || module.get.calculations(); - - // shorthand - popup = calculations.popup; - boundary = calculations.boundary; - - if(offset) { - distanceFromBoundary = { - top : (offset.top - boundary.top), - left : (offset.left - boundary.left), - right : (boundary.right - (offset.left + popup.width) ), - bottom : (boundary.bottom - (offset.top + popup.height) ) - }; - module.verbose('Distance from boundaries determined', offset, distanceFromBoundary); - } - return distanceFromBoundary; - }, - offsetParent: function($target) { - var - element = ($target !== undefined) - ? $target[0] - : $module[0], - parentNode = element.parentNode, - $node = $(parentNode) - ; - if(parentNode) { - var - is2D = ($node.css('transform') === 'none'), - isStatic = ($node.css('position') === 'static'), - isHTML = $node.is('html') - ; - while(parentNode && !isHTML && isStatic && is2D) { - parentNode = parentNode.parentNode; - $node = $(parentNode); - is2D = ($node.css('transform') === 'none'); - isStatic = ($node.css('position') === 'static'); - isHTML = $node.is('html'); - } - } - return ($node && $node.length > 0) - ? $node - : $() - ; - }, - positions: function() { - return { - 'top left' : false, - 'top center' : false, - 'top right' : false, - 'bottom left' : false, - 'bottom center' : false, - 'bottom right' : false, - 'left center' : false, - 'right center' : false - }; - }, - nextPosition: function(position) { - var - positions = position.split(' '), - verticalPosition = positions[0], - horizontalPosition = positions[1], - opposite = { - top : 'bottom', - bottom : 'top', - left : 'right', - right : 'left' - }, - adjacent = { - left : 'center', - center : 'right', - right : 'left' - }, - backup = { - 'top left' : 'top center', - 'top center' : 'top right', - 'top right' : 'right center', - 'right center' : 'bottom right', - 'bottom right' : 'bottom center', - 'bottom center' : 'bottom left', - 'bottom left' : 'left center', - 'left center' : 'top left' - }, - adjacentsAvailable = (verticalPosition == 'top' || verticalPosition == 'bottom'), - oppositeTried = false, - adjacentTried = false, - nextPosition = false - ; - if(!triedPositions) { - module.verbose('All available positions available'); - triedPositions = module.get.positions(); - } - - module.debug('Recording last position tried', position); - triedPositions[position] = true; - - if(settings.prefer === 'opposite') { - nextPosition = [opposite[verticalPosition], horizontalPosition]; - nextPosition = nextPosition.join(' '); - oppositeTried = (triedPositions[nextPosition] === true); - module.debug('Trying opposite strategy', nextPosition); - } - if((settings.prefer === 'adjacent') && adjacentsAvailable ) { - nextPosition = [verticalPosition, adjacent[horizontalPosition]]; - nextPosition = nextPosition.join(' '); - adjacentTried = (triedPositions[nextPosition] === true); - module.debug('Trying adjacent strategy', nextPosition); - } - if(adjacentTried || oppositeTried) { - module.debug('Using backup position', nextPosition); - nextPosition = backup[position]; - } - return nextPosition; - } - }, - - set: { - position: function(position, calculations) { - - // exit conditions - if($target.length === 0 || $popup.length === 0) { - module.error(error.notFound); - return; - } - var - offset, - distanceAway, - target, - popup, - parent, - positioning, - popupOffset, - distanceFromBoundary - ; - - calculations = calculations || module.get.calculations(); - position = position || $module.data(metadata.position) || settings.position; - - offset = $module.data(metadata.offset) || settings.offset; - distanceAway = settings.distanceAway; - - // shorthand - target = calculations.target; - popup = calculations.popup; - parent = calculations.parent; - - if(target.width === 0 && target.height === 0 && !module.is.svg(target.element)) { - module.debug('Popup target is hidden, no action taken'); - return false; - } - - if(settings.inline) { - module.debug('Adding margin to calculation', target.margin); - if(position == 'left center' || position == 'right center') { - offset += target.margin.top; - distanceAway += -target.margin.left; - } - else if (position == 'top left' || position == 'top center' || position == 'top right') { - offset += target.margin.left; - distanceAway -= target.margin.top; - } - else { - offset += target.margin.left; - distanceAway += target.margin.top; - } - } - - module.debug('Determining popup position from calculations', position, calculations); - - if (module.is.rtl()) { - position = position.replace(/left|right/g, function (match) { - return (match == 'left') - ? 'right' - : 'left' - ; - }); - module.debug('RTL: Popup position updated', position); - } - - // if last attempt use specified last resort position - if(searchDepth == settings.maxSearchDepth && typeof settings.lastResort === 'string') { - position = settings.lastResort; - } - - switch (position) { - case 'top left': - positioning = { - top : 'auto', - bottom : parent.height - target.top + distanceAway, - left : target.left + offset, - right : 'auto' - }; - break; - case 'top center': - positioning = { - bottom : parent.height - target.top + distanceAway, - left : target.left + (target.width / 2) - (popup.width / 2) + offset, - top : 'auto', - right : 'auto' - }; - break; - case 'top right': - positioning = { - bottom : parent.height - target.top + distanceAway, - right : parent.width - target.left - target.width - offset, - top : 'auto', - left : 'auto' - }; - break; - case 'left center': - positioning = { - top : target.top + (target.height / 2) - (popup.height / 2) + offset, - right : parent.width - target.left + distanceAway, - left : 'auto', - bottom : 'auto' - }; - break; - case 'right center': - positioning = { - top : target.top + (target.height / 2) - (popup.height / 2) + offset, - left : target.left + target.width + distanceAway, - bottom : 'auto', - right : 'auto' - }; - break; - case 'bottom left': - positioning = { - top : target.top + target.height + distanceAway, - left : target.left + offset, - bottom : 'auto', - right : 'auto' - }; - break; - case 'bottom center': - positioning = { - top : target.top + target.height + distanceAway, - left : target.left + (target.width / 2) - (popup.width / 2) + offset, - bottom : 'auto', - right : 'auto' - }; - break; - case 'bottom right': - positioning = { - top : target.top + target.height + distanceAway, - right : parent.width - target.left - target.width - offset, - left : 'auto', - bottom : 'auto' - }; - break; - } - if(positioning === undefined) { - module.error(error.invalidPosition, position); - } - - module.debug('Calculated popup positioning values', positioning); - - // tentatively place on stage - $popup - .css(positioning) - .removeClass(className.position) - .addClass(position) - .addClass(className.loading) - ; - - popupOffset = module.get.popupOffset(); - - // see if any boundaries are surpassed with this tentative position - distanceFromBoundary = module.get.distanceFromBoundary(popupOffset, calculations); - - if( module.is.offstage(distanceFromBoundary, position) ) { - module.debug('Position is outside viewport', position); - if(searchDepth < settings.maxSearchDepth) { - searchDepth++; - position = module.get.nextPosition(position); - module.debug('Trying new position', position); - return ($popup) - ? module.set.position(position, calculations) - : false - ; - } - else { - if(settings.lastResort) { - module.debug('No position found, showing with last position'); - } - else { - module.debug('Popup could not find a position to display', $popup); - module.error(error.cannotPlace, element); - module.remove.attempts(); - module.remove.loading(); - module.reset(); - settings.onUnplaceable.call($popup, element); - return false; - } - } - } - module.debug('Position is on stage', position); - module.remove.attempts(); - module.remove.loading(); - if( settings.setFluidWidth && module.is.fluid() ) { - module.set.fluidWidth(calculations); - } - return true; - }, - - fluidWidth: function(calculations) { - calculations = calculations || module.get.calculations(); - module.debug('Automatically setting element width to parent width', calculations.parent.width); - $popup.css('width', calculations.container.width); - }, - - variation: function(variation) { - variation = variation || module.get.variation(); - if(variation && module.has.popup() ) { - module.verbose('Adding variation to popup', variation); - $popup.addClass(variation); - } - }, - - visible: function() { - $module.addClass(className.visible); - } - }, - - remove: { - loading: function() { - $popup.removeClass(className.loading); - }, - variation: function(variation) { - variation = variation || module.get.variation(); - if(variation) { - module.verbose('Removing variation', variation); - $popup.removeClass(variation); - } - }, - visible: function() { - $module.removeClass(className.visible); - }, - attempts: function() { - module.verbose('Resetting all searched positions'); - searchDepth = 0; - triedPositions = false; - } - }, - - bind: { - events: function() { - module.debug('Binding popup events to module'); - if(settings.on == 'click') { - $module - .on('click' + eventNamespace, module.toggle) - ; - } - if(settings.on == 'hover' && hasTouch) { - $module - .on('touchstart' + eventNamespace, module.event.touchstart) - ; - } - if( module.get.startEvent() ) { - $module - .on(module.get.startEvent() + eventNamespace, module.event.start) - .on(module.get.endEvent() + eventNamespace, module.event.end) - ; - } - if(settings.target) { - module.debug('Target set to element', $target); - } - $window.on('resize' + elementNamespace, module.event.resize); - }, - popup: function() { - module.verbose('Allowing hover events on popup to prevent closing'); - if( $popup && module.has.popup() ) { - $popup - .on('mouseenter' + eventNamespace, module.event.start) - .on('mouseleave' + eventNamespace, module.event.end) - ; - } - }, - close: function() { - if(settings.hideOnScroll === true || (settings.hideOnScroll == 'auto' && settings.on != 'click')) { - $scrollContext - .one(module.get.scrollEvent() + elementNamespace, module.event.hideGracefully) - ; - } - if(settings.on == 'hover' && openedWithTouch) { - module.verbose('Binding popup close event to document'); - $document - .on('touchstart' + elementNamespace, function(event) { - module.verbose('Touched away from popup'); - module.event.hideGracefully.call(element, event); - }) - ; - } - if(settings.on == 'click' && settings.closable) { - module.verbose('Binding popup close event to document'); - $document - .on('click' + elementNamespace, function(event) { - module.verbose('Clicked away from popup'); - module.event.hideGracefully.call(element, event); - }) - ; - } - } - }, - - unbind: { - events: function() { - $window - .off(elementNamespace) - ; - $module - .off(eventNamespace) - ; - }, - close: function() { - $document - .off(elementNamespace) - ; - $scrollContext - .off(elementNamespace) - ; - }, - }, - - has: { - popup: function() { - return ($popup && $popup.length > 0); - } - }, - - is: { - offstage: function(distanceFromBoundary, position) { - var - offstage = [] - ; - // return boundaries that have been surpassed - $.each(distanceFromBoundary, function(direction, distance) { - if(distance < -settings.jitter) { - module.debug('Position exceeds allowable distance from edge', direction, distance, position); - offstage.push(direction); - } - }); - if(offstage.length > 0) { - return true; - } - else { - return false; - } - }, - svg: function(element) { - return module.supports.svg() && (element instanceof SVGGraphicsElement); - }, - active: function() { - return $module.hasClass(className.active); - }, - animating: function() { - return ($popup !== undefined && $popup.hasClass(className.animating) ); - }, - fluid: function() { - return ($popup !== undefined && $popup.hasClass(className.fluid)); - }, - visible: function() { - return ($popup !== undefined && $popup.hasClass(className.visible)); - }, - dropdown: function() { - return $module.hasClass(className.dropdown); - }, - hidden: function() { - return !module.is.visible(); - }, - rtl: function () { - return $module.css('direction') == 'rtl'; - } - }, - - reset: function() { - module.remove.visible(); - if(settings.preserve) { - if($.fn.transition !== undefined) { - $popup - .transition('remove transition') - ; - } - } - else { - module.removePopup(); - } - }, - - setting: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else if(value !== undefined) { - settings[name] = value; - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else if(value !== undefined) { - module[name] = value; - } - else { - return module[name]; - } - }, - debug: function() { - if(!settings.silent && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(!settings.silent && settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - if(!settings.silent) { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - } - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Element' : element, - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 500); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - object = instance, - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && object !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) { - object = object[camelCaseValue]; - } - else if( object[camelCaseValue] !== undefined ) { - found = object[camelCaseValue]; - return false; - } - else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) { - object = object[value]; - } - else if( object[value] !== undefined ) { - found = object[value]; - return false; - } - else { - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(returnedValue)) { - returnedValue.push(response); - } - else if(returnedValue !== undefined) { - returnedValue = [returnedValue, response]; - } - else if(response !== undefined) { - returnedValue = response; - } - return found; - } - }; - - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - instance.invoke('destroy'); - } - module.initialize(); - } - }) - ; - - return (returnedValue !== undefined) - ? returnedValue - : this - ; -}; - -$.fn.popup.settings = { - - name : 'Popup', - - // module settings - silent : false, - debug : false, - verbose : false, - performance : true, - namespace : 'popup', - - // whether it should use dom mutation observers - observeChanges : true, - - // callback only when element added to dom - onCreate : function(){}, - - // callback before element removed from dom - onRemove : function(){}, - - // callback before show animation - onShow : function(){}, - - // callback after show animation - onVisible : function(){}, - - // callback before hide animation - onHide : function(){}, - - // callback when popup cannot be positioned in visible screen - onUnplaceable : function(){}, - - // callback after hide animation - onHidden : function(){}, - - // when to show popup - on : 'hover', - - // element to use to determine if popup is out of boundary - boundary : window, - - // whether to add touchstart events when using hover - addTouchEvents : true, - - // default position relative to element - position : 'top left', - - // name of variation to use - variation : '', - - // whether popup should be moved to context - movePopup : true, - - // element which popup should be relative to - target : false, - - // jq selector or element that should be used as popup - popup : false, - - // popup should remain inline next to activator - inline : false, - - // popup should be removed from page on hide - preserve : false, - - // popup should not close when being hovered on - hoverable : false, - - // explicitly set content - content : false, - - // explicitly set html - html : false, - - // explicitly set title - title : false, - - // whether automatically close on clickaway when on click - closable : true, - - // automatically hide on scroll - hideOnScroll : 'auto', - - // hide other popups on show - exclusive : false, - - // context to attach popups - context : 'body', - - // context for binding scroll events - scrollContext : window, - - // position to prefer when calculating new position - prefer : 'opposite', - - // specify position to appear even if it doesn't fit - lastResort : false, - - // delay used to prevent accidental refiring of animations due to user error - delay : { - show : 50, - hide : 70 - }, - - // whether fluid variation should assign width explicitly - setFluidWidth : true, - - // transition settings - duration : 200, - transition : 'scale', - - // distance away from activating element in px - distanceAway : 0, - - // number of pixels an element is allowed to be "offstage" for a position to be chosen (allows for rounding) - jitter : 2, - - // offset on aligning axis from calculated position - offset : 0, - - // maximum times to look for a position before failing (9 positions total) - maxSearchDepth : 15, - - error: { - invalidPosition : 'The position you specified is not a valid position', - cannotPlace : 'Popup does not fit within the boundaries of the viewport', - method : 'The method you called is not defined.', - noTransition : 'This module requires ui transitions <https://github.com/Semantic-Org/UI-Transition>', - notFound : 'The target or popup you specified does not exist on the page' - }, - - metadata: { - activator : 'activator', - content : 'content', - html : 'html', - offset : 'offset', - position : 'position', - title : 'title', - variation : 'variation' - }, - - className : { - active : 'active', - animating : 'animating', - dropdown : 'dropdown', - fluid : 'fluid', - loading : 'loading', - popup : 'ui popup', - position : 'top left center bottom right', - visible : 'visible' - }, - - selector : { - popup : '.ui.popup' - }, - - templates: { - escape: function(string) { - var - badChars = /[&<>"'`]/g, - shouldEscape = /[&<>"'`]/, - escape = { - "&": "&", - "<": "<", - ">": ">", - '"': """, - "'": "'", - "`": "`" - }, - escapedChar = function(chr) { - return escape[chr]; - } - ; - if(shouldEscape.test(string)) { - return string.replace(badChars, escapedChar); - } - return string; - }, - popup: function(text) { - var - html = '', - escape = $.fn.popup.settings.templates.escape - ; - if(typeof text !== undefined) { - if(typeof text.title !== undefined && text.title) { - text.title = escape(text.title); - html += '<div class="header">' + text.title + '</div>'; - } - if(typeof text.content !== undefined && text.content) { - text.content = escape(text.content); - html += '<div class="content">' + text.content + '</div>'; - } - } - return html; - } - } - -}; - - -})( jQuery, window, document ); - -/*! - * # Semantic UI undefined - Progress - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ($, window, document, undefined) { - -"use strict"; - -window = (typeof window != 'undefined' && window.Math == Math) - ? window - : (typeof self != 'undefined' && self.Math == Math) - ? self - : Function('return this')() -; - -var - global = (typeof window != 'undefined' && window.Math == Math) - ? window - : (typeof self != 'undefined' && self.Math == Math) - ? self - : Function('return this')() -; - -$.fn.progress = function(parameters) { - var - $allModules = $(this), - - moduleSelector = $allModules.selector || '', - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - - returnedValue - ; - - $allModules - .each(function() { - var - settings = ( $.isPlainObject(parameters) ) - ? $.extend(true, {}, $.fn.progress.settings, parameters) - : $.extend({}, $.fn.progress.settings), - - className = settings.className, - metadata = settings.metadata, - namespace = settings.namespace, - selector = settings.selector, - error = settings.error, - - eventNamespace = '.' + namespace, - moduleNamespace = 'module-' + namespace, - - $module = $(this), - $bar = $(this).find(selector.bar), - $progress = $(this).find(selector.progress), - $label = $(this).find(selector.label), - - element = this, - instance = $module.data(moduleNamespace), - - animating = false, - transitionEnd, - module - ; - - module = { - - initialize: function() { - module.debug('Initializing progress bar', settings); - - module.set.duration(); - module.set.transitionEvent(); - - module.read.metadata(); - module.read.settings(); - - module.instantiate(); - }, - - instantiate: function() { - module.verbose('Storing instance of progress', module); - instance = module; - $module - .data(moduleNamespace, module) - ; - }, - destroy: function() { - module.verbose('Destroying previous progress for', $module); - clearInterval(instance.interval); - module.remove.state(); - $module.removeData(moduleNamespace); - instance = undefined; - }, - - reset: function() { - module.remove.nextValue(); - module.update.progress(0); - }, - - complete: function() { - if(module.percent === undefined || module.percent < 100) { - module.remove.progressPoll(); - module.set.percent(100); - } - }, - - read: { - metadata: function() { - var - data = { - percent : $module.data(metadata.percent), - total : $module.data(metadata.total), - value : $module.data(metadata.value) - } - ; - if(data.percent) { - module.debug('Current percent value set from metadata', data.percent); - module.set.percent(data.percent); - } - if(data.total) { - module.debug('Total value set from metadata', data.total); - module.set.total(data.total); - } - if(data.value) { - module.debug('Current value set from metadata', data.value); - module.set.value(data.value); - module.set.progress(data.value); - } - }, - settings: function() { - if(settings.total !== false) { - module.debug('Current total set in settings', settings.total); - module.set.total(settings.total); - } - if(settings.value !== false) { - module.debug('Current value set in settings', settings.value); - module.set.value(settings.value); - module.set.progress(module.value); - } - if(settings.percent !== false) { - module.debug('Current percent set in settings', settings.percent); - module.set.percent(settings.percent); - } - } - }, - - bind: { - transitionEnd: function(callback) { - var - transitionEnd = module.get.transitionEnd() - ; - $bar - .one(transitionEnd + eventNamespace, function(event) { - clearTimeout(module.failSafeTimer); - callback.call(this, event); - }) - ; - module.failSafeTimer = setTimeout(function() { - $bar.triggerHandler(transitionEnd); - }, settings.duration + settings.failSafeDelay); - module.verbose('Adding fail safe timer', module.timer); - } - }, - - increment: function(incrementValue) { - var - maxValue, - startValue, - newValue - ; - if( module.has.total() ) { - startValue = module.get.value(); - incrementValue = incrementValue || 1; - newValue = startValue + incrementValue; - } - else { - startValue = module.get.percent(); - incrementValue = incrementValue || module.get.randomValue(); - - newValue = startValue + incrementValue; - maxValue = 100; - module.debug('Incrementing percentage by', startValue, newValue); - } - newValue = module.get.normalizedValue(newValue); - module.set.progress(newValue); - }, - decrement: function(decrementValue) { - var - total = module.get.total(), - startValue, - newValue - ; - if(total) { - startValue = module.get.value(); - decrementValue = decrementValue || 1; - newValue = startValue - decrementValue; - module.debug('Decrementing value by', decrementValue, startValue); - } - else { - startValue = module.get.percent(); - decrementValue = decrementValue || module.get.randomValue(); - newValue = startValue - decrementValue; - module.debug('Decrementing percentage by', decrementValue, startValue); - } - newValue = module.get.normalizedValue(newValue); - module.set.progress(newValue); - }, - - has: { - progressPoll: function() { - return module.progressPoll; - }, - total: function() { - return (module.get.total() !== false); - } - }, - - get: { - text: function(templateText) { - var - value = module.value || 0, - total = module.total || 0, - percent = (animating) - ? module.get.displayPercent() - : module.percent || 0, - left = (module.total > 0) - ? (total - value) - : (100 - percent) - ; - templateText = templateText || ''; - templateText = templateText - .replace('{value}', value) - .replace('{total}', total) - .replace('{left}', left) - .replace('{percent}', percent) - ; - module.verbose('Adding variables to progress bar text', templateText); - return templateText; - }, - - normalizedValue: function(value) { - if(value < 0) { - module.debug('Value cannot decrement below 0'); - return 0; - } - if(module.has.total()) { - if(value > module.total) { - module.debug('Value cannot increment above total', module.total); - return module.total; - } - } - else if(value > 100 ) { - module.debug('Value cannot increment above 100 percent'); - return 100; - } - return value; - }, - - updateInterval: function() { - if(settings.updateInterval == 'auto') { - return settings.duration; - } - return settings.updateInterval; - }, - - randomValue: function() { - module.debug('Generating random increment percentage'); - return Math.floor((Math.random() * settings.random.max) + settings.random.min); - }, - - numericValue: function(value) { - return (typeof value === 'string') - ? (value.replace(/[^\d.]/g, '') !== '') - ? +(value.replace(/[^\d.]/g, '')) - : false - : value - ; - }, - - transitionEnd: function() { - var - element = document.createElement('element'), - transitions = { - 'transition' :'transitionend', - 'OTransition' :'oTransitionEnd', - 'MozTransition' :'transitionend', - 'WebkitTransition' :'webkitTransitionEnd' - }, - transition - ; - for(transition in transitions){ - if( element.style[transition] !== undefined ){ - return transitions[transition]; - } - } - }, - - // gets current displayed percentage (if animating values this is the intermediary value) - displayPercent: function() { - var - barWidth = $bar.width(), - totalWidth = $module.width(), - minDisplay = parseInt($bar.css('min-width'), 10), - displayPercent = (barWidth > minDisplay) - ? (barWidth / totalWidth * 100) - : module.percent - ; - return (settings.precision > 0) - ? Math.round(displayPercent * (10 * settings.precision)) / (10 * settings.precision) - : Math.round(displayPercent) - ; - }, - - percent: function() { - return module.percent || 0; - }, - value: function() { - return module.nextValue || module.value || 0; - }, - total: function() { - return module.total || false; - } - }, - - create: { - progressPoll: function() { - module.progressPoll = setTimeout(function() { - module.update.toNextValue(); - module.remove.progressPoll(); - }, module.get.updateInterval()); - }, - }, - - is: { - complete: function() { - return module.is.success() || module.is.warning() || module.is.error(); - }, - success: function() { - return $module.hasClass(className.success); - }, - warning: function() { - return $module.hasClass(className.warning); - }, - error: function() { - return $module.hasClass(className.error); - }, - active: function() { - return $module.hasClass(className.active); - }, - visible: function() { - return $module.is(':visible'); - } - }, - - remove: { - progressPoll: function() { - module.verbose('Removing progress poll timer'); - if(module.progressPoll) { - clearTimeout(module.progressPoll); - delete module.progressPoll; - } - }, - nextValue: function() { - module.verbose('Removing progress value stored for next update'); - delete module.nextValue; - }, - state: function() { - module.verbose('Removing stored state'); - delete module.total; - delete module.percent; - delete module.value; - }, - active: function() { - module.verbose('Removing active state'); - $module.removeClass(className.active); - }, - success: function() { - module.verbose('Removing success state'); - $module.removeClass(className.success); - }, - warning: function() { - module.verbose('Removing warning state'); - $module.removeClass(className.warning); - }, - error: function() { - module.verbose('Removing error state'); - $module.removeClass(className.error); - } - }, - - set: { - barWidth: function(value) { - if(value > 100) { - module.error(error.tooHigh, value); - } - else if (value < 0) { - module.error(error.tooLow, value); - } - else { - $bar - .css('width', value + '%') - ; - $module - .attr('data-percent', parseInt(value, 10)) - ; - } - }, - duration: function(duration) { - duration = duration || settings.duration; - duration = (typeof duration == 'number') - ? duration + 'ms' - : duration - ; - module.verbose('Setting progress bar transition duration', duration); - $bar - .css({ - 'transition-duration': duration - }) - ; - }, - percent: function(percent) { - percent = (typeof percent == 'string') - ? +(percent.replace('%', '')) - : percent - ; - // round display percentage - percent = (settings.precision > 0) - ? Math.round(percent * (10 * settings.precision)) / (10 * settings.precision) - : Math.round(percent) - ; - module.percent = percent; - if( !module.has.total() ) { - module.value = (settings.precision > 0) - ? Math.round( (percent / 100) * module.total * (10 * settings.precision)) / (10 * settings.precision) - : Math.round( (percent / 100) * module.total * 10) / 10 - ; - if(settings.limitValues) { - module.value = (module.value > 100) - ? 100 - : (module.value < 0) - ? 0 - : module.value - ; - } - } - module.set.barWidth(percent); - module.set.labelInterval(); - module.set.labels(); - settings.onChange.call(element, percent, module.value, module.total); - }, - labelInterval: function() { - var - animationCallback = function() { - module.verbose('Bar finished animating, removing continuous label updates'); - clearInterval(module.interval); - animating = false; - module.set.labels(); - } - ; - clearInterval(module.interval); - module.bind.transitionEnd(animationCallback); - animating = true; - module.interval = setInterval(function() { - var - isInDOM = $.contains(document.documentElement, element) - ; - if(!isInDOM) { - clearInterval(module.interval); - animating = false; - } - module.set.labels(); - }, settings.framerate); - }, - labels: function() { - module.verbose('Setting both bar progress and outer label text'); - module.set.barLabel(); - module.set.state(); - }, - label: function(text) { - text = text || ''; - if(text) { - text = module.get.text(text); - module.verbose('Setting label to text', text); - $label.text(text); - } - }, - state: function(percent) { - percent = (percent !== undefined) - ? percent - : module.percent - ; - if(percent === 100) { - if(settings.autoSuccess && !(module.is.warning() || module.is.error() || module.is.success())) { - module.set.success(); - module.debug('Automatically triggering success at 100%'); - } - else { - module.verbose('Reached 100% removing active state'); - module.remove.active(); - module.remove.progressPoll(); - } - } - else if(percent > 0) { - module.verbose('Adjusting active progress bar label', percent); - module.set.active(); - } - else { - module.remove.active(); - module.set.label(settings.text.active); - } - }, - barLabel: function(text) { - if(text !== undefined) { - $progress.text( module.get.text(text) ); - } - else if(settings.label == 'ratio' && module.total) { - module.verbose('Adding ratio to bar label'); - $progress.text( module.get.text(settings.text.ratio) ); - } - else if(settings.label == 'percent') { - module.verbose('Adding percentage to bar label'); - $progress.text( module.get.text(settings.text.percent) ); - } - }, - active: function(text) { - text = text || settings.text.active; - module.debug('Setting active state'); - if(settings.showActivity && !module.is.active() ) { - $module.addClass(className.active); - } - module.remove.warning(); - module.remove.error(); - module.remove.success(); - text = settings.onLabelUpdate('active', text, module.value, module.total); - if(text) { - module.set.label(text); - } - module.bind.transitionEnd(function() { - settings.onActive.call(element, module.value, module.total); - }); - }, - success : function(text) { - text = text || settings.text.success || settings.text.active; - module.debug('Setting success state'); - $module.addClass(className.success); - module.remove.active(); - module.remove.warning(); - module.remove.error(); - module.complete(); - if(settings.text.success) { - text = settings.onLabelUpdate('success', text, module.value, module.total); - module.set.label(text); - } - else { - text = settings.onLabelUpdate('active', text, module.value, module.total); - module.set.label(text); - } - module.bind.transitionEnd(function() { - settings.onSuccess.call(element, module.total); - }); - }, - warning : function(text) { - text = text || settings.text.warning; - module.debug('Setting warning state'); - $module.addClass(className.warning); - module.remove.active(); - module.remove.success(); - module.remove.error(); - module.complete(); - text = settings.onLabelUpdate('warning', text, module.value, module.total); - if(text) { - module.set.label(text); - } - module.bind.transitionEnd(function() { - settings.onWarning.call(element, module.value, module.total); - }); - }, - error : function(text) { - text = text || settings.text.error; - module.debug('Setting error state'); - $module.addClass(className.error); - module.remove.active(); - module.remove.success(); - module.remove.warning(); - module.complete(); - text = settings.onLabelUpdate('error', text, module.value, module.total); - if(text) { - module.set.label(text); - } - module.bind.transitionEnd(function() { - settings.onError.call(element, module.value, module.total); - }); - }, - transitionEvent: function() { - transitionEnd = module.get.transitionEnd(); - }, - total: function(totalValue) { - module.total = totalValue; - }, - value: function(value) { - module.value = value; - }, - progress: function(value) { - if(!module.has.progressPoll()) { - module.debug('First update in progress update interval, immediately updating', value); - module.update.progress(value); - module.create.progressPoll(); - } - else { - module.debug('Updated within interval, setting next update to use new value', value); - module.set.nextValue(value); - } - }, - nextValue: function(value) { - module.nextValue = value; - } - }, - - update: { - toNextValue: function() { - var - nextValue = module.nextValue - ; - if(nextValue) { - module.debug('Update interval complete using last updated value', nextValue); - module.update.progress(nextValue); - module.remove.nextValue(); - } - }, - progress: function(value) { - var - percentComplete - ; - value = module.get.numericValue(value); - if(value === false) { - module.error(error.nonNumeric, value); - } - value = module.get.normalizedValue(value); - if( module.has.total() ) { - module.set.value(value); - percentComplete = (value / module.total) * 100; - module.debug('Calculating percent complete from total', percentComplete); - module.set.percent( percentComplete ); - } - else { - percentComplete = value; - module.debug('Setting value to exact percentage value', percentComplete); - module.set.percent( percentComplete ); - } - } - }, - - setting: function(name, value) { - module.debug('Changing setting', name, value); - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else if(value !== undefined) { - if($.isPlainObject(settings[name])) { - $.extend(true, settings[name], value); - } - else { - settings[name] = value; - } - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else if(value !== undefined) { - module[name] = value; - } - else { - return module[name]; - } - }, - debug: function() { - if(!settings.silent && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(!settings.silent && settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - if(!settings.silent) { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - } - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Element' : element, - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 500); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - object = instance, - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && object !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) { - object = object[camelCaseValue]; - } - else if( object[camelCaseValue] !== undefined ) { - found = object[camelCaseValue]; - return false; - } - else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) { - object = object[value]; - } - else if( object[value] !== undefined ) { - found = object[value]; - return false; - } - else { - module.error(error.method, query); - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(returnedValue)) { - returnedValue.push(response); - } - else if(returnedValue !== undefined) { - returnedValue = [returnedValue, response]; - } - else if(response !== undefined) { - returnedValue = response; - } - return found; - } - }; - - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - instance.invoke('destroy'); - } - module.initialize(); - } - }) - ; - - return (returnedValue !== undefined) - ? returnedValue - : this - ; -}; - -$.fn.progress.settings = { - - name : 'Progress', - namespace : 'progress', - - silent : false, - debug : false, - verbose : false, - performance : true, - - random : { - min : 2, - max : 5 - }, - - duration : 300, - - updateInterval : 'auto', - - autoSuccess : true, - showActivity : true, - limitValues : true, - - label : 'percent', - precision : 0, - framerate : (1000 / 30), /// 30 fps - - percent : false, - total : false, - value : false, - - // delay in ms for fail safe animation callback - failSafeDelay : 100, - - onLabelUpdate : function(state, text, value, total){ - return text; - }, - onChange : function(percent, value, total){}, - onSuccess : function(total){}, - onActive : function(value, total){}, - onError : function(value, total){}, - onWarning : function(value, total){}, - - error : { - method : 'The method you called is not defined.', - nonNumeric : 'Progress value is non numeric', - tooHigh : 'Value specified is above 100%', - tooLow : 'Value specified is below 0%' - }, - - regExp: { - variable: /\{\$*[A-z0-9]+\}/g - }, - - metadata: { - percent : 'percent', - total : 'total', - value : 'value' - }, - - selector : { - bar : '> .bar', - label : '> .label', - progress : '.bar > .progress' - }, - - text : { - active : false, - error : false, - success : false, - warning : false, - percent : '{percent}%', - ratio : '{value} of {total}' - }, - - className : { - active : 'active', - error : 'error', - success : 'success', - warning : 'warning' - } - -}; - - -})( jQuery, window, document ); - -/*! - * # Semantic UI undefined - Rating - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ($, window, document, undefined) { - -"use strict"; - -window = (typeof window != 'undefined' && window.Math == Math) - ? window - : (typeof self != 'undefined' && self.Math == Math) - ? self - : Function('return this')() -; - -$.fn.rating = function(parameters) { - var - $allModules = $(this), - moduleSelector = $allModules.selector || '', - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - returnedValue - ; - $allModules - .each(function() { - var - settings = ( $.isPlainObject(parameters) ) - ? $.extend(true, {}, $.fn.rating.settings, parameters) - : $.extend({}, $.fn.rating.settings), - - namespace = settings.namespace, - className = settings.className, - metadata = settings.metadata, - selector = settings.selector, - error = settings.error, - - eventNamespace = '.' + namespace, - moduleNamespace = 'module-' + namespace, - - element = this, - instance = $(this).data(moduleNamespace), - - $module = $(this), - $icon = $module.find(selector.icon), - - initialLoad, - module - ; - - module = { - - initialize: function() { - module.verbose('Initializing rating module', settings); - - if($icon.length === 0) { - module.setup.layout(); - } - - if(settings.interactive) { - module.enable(); - } - else { - module.disable(); - } - module.set.initialLoad(); - module.set.rating( module.get.initialRating() ); - module.remove.initialLoad(); - module.instantiate(); - }, - - instantiate: function() { - module.verbose('Instantiating module', settings); - instance = module; - $module - .data(moduleNamespace, module) - ; - }, - - destroy: function() { - module.verbose('Destroying previous instance', instance); - module.remove.events(); - $module - .removeData(moduleNamespace) - ; - }, - - refresh: function() { - $icon = $module.find(selector.icon); - }, - - setup: { - layout: function() { - var - maxRating = module.get.maxRating(), - html = $.fn.rating.settings.templates.icon(maxRating) - ; - module.debug('Generating icon html dynamically'); - $module - .html(html) - ; - module.refresh(); - } - }, - - event: { - mouseenter: function() { - var - $activeIcon = $(this) - ; - $activeIcon - .nextAll() - .removeClass(className.selected) - ; - $module - .addClass(className.selected) - ; - $activeIcon - .addClass(className.selected) - .prevAll() - .addClass(className.selected) - ; - }, - mouseleave: function() { - $module - .removeClass(className.selected) - ; - $icon - .removeClass(className.selected) - ; - }, - click: function() { - var - $activeIcon = $(this), - currentRating = module.get.rating(), - rating = $icon.index($activeIcon) + 1, - canClear = (settings.clearable == 'auto') - ? ($icon.length === 1) - : settings.clearable - ; - if(canClear && currentRating == rating) { - module.clearRating(); - } - else { - module.set.rating( rating ); - } - } - }, - - clearRating: function() { - module.debug('Clearing current rating'); - module.set.rating(0); - }, - - bind: { - events: function() { - module.verbose('Binding events'); - $module - .on('mouseenter' + eventNamespace, selector.icon, module.event.mouseenter) - .on('mouseleave' + eventNamespace, selector.icon, module.event.mouseleave) - .on('click' + eventNamespace, selector.icon, module.event.click) - ; - } - }, - - remove: { - events: function() { - module.verbose('Removing events'); - $module - .off(eventNamespace) - ; - }, - initialLoad: function() { - initialLoad = false; - } - }, - - enable: function() { - module.debug('Setting rating to interactive mode'); - module.bind.events(); - $module - .removeClass(className.disabled) - ; - }, - - disable: function() { - module.debug('Setting rating to read-only mode'); - module.remove.events(); - $module - .addClass(className.disabled) - ; - }, - - is: { - initialLoad: function() { - return initialLoad; - } - }, - - get: { - initialRating: function() { - if($module.data(metadata.rating) !== undefined) { - $module.removeData(metadata.rating); - return $module.data(metadata.rating); - } - return settings.initialRating; - }, - maxRating: function() { - if($module.data(metadata.maxRating) !== undefined) { - $module.removeData(metadata.maxRating); - return $module.data(metadata.maxRating); - } - return settings.maxRating; - }, - rating: function() { - var - currentRating = $icon.filter('.' + className.active).length - ; - module.verbose('Current rating retrieved', currentRating); - return currentRating; - } - }, - - set: { - rating: function(rating) { - var - ratingIndex = (rating - 1 >= 0) - ? (rating - 1) - : 0, - $activeIcon = $icon.eq(ratingIndex) - ; - $module - .removeClass(className.selected) - ; - $icon - .removeClass(className.selected) - .removeClass(className.active) - ; - if(rating > 0) { - module.verbose('Setting current rating to', rating); - $activeIcon - .prevAll() - .addBack() - .addClass(className.active) - ; - } - if(!module.is.initialLoad()) { - settings.onRate.call(element, rating); - } - }, - initialLoad: function() { - initialLoad = true; - } - }, - - setting: function(name, value) { - module.debug('Changing setting', name, value); - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else if(value !== undefined) { - if($.isPlainObject(settings[name])) { - $.extend(true, settings[name], value); - } - else { - settings[name] = value; - } - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else if(value !== undefined) { - module[name] = value; - } - else { - return module[name]; - } - }, - debug: function() { - if(!settings.silent && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(!settings.silent && settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - if(!settings.silent) { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - } - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Element' : element, - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 500); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if($allModules.length > 1) { - title += ' ' + '(' + $allModules.length + ')'; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - object = instance, - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && object !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) { - object = object[camelCaseValue]; - } - else if( object[camelCaseValue] !== undefined ) { - found = object[camelCaseValue]; - return false; - } - else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) { - object = object[value]; - } - else if( object[value] !== undefined ) { - found = object[value]; - return false; - } - else { - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(returnedValue)) { - returnedValue.push(response); - } - else if(returnedValue !== undefined) { - returnedValue = [returnedValue, response]; - } - else if(response !== undefined) { - returnedValue = response; - } - return found; - } - }; - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - instance.invoke('destroy'); - } - module.initialize(); - } - }) - ; - - return (returnedValue !== undefined) - ? returnedValue - : this - ; -}; - -$.fn.rating.settings = { - - name : 'Rating', - namespace : 'rating', - - slent : false, - debug : false, - verbose : false, - performance : true, - - initialRating : 0, - interactive : true, - maxRating : 4, - clearable : 'auto', - - fireOnInit : false, - - onRate : function(rating){}, - - error : { - method : 'The method you called is not defined', - noMaximum : 'No maximum rating specified. Cannot generate HTML automatically' - }, - - - metadata: { - rating : 'rating', - maxRating : 'maxRating' - }, - - className : { - active : 'active', - disabled : 'disabled', - selected : 'selected', - loading : 'loading' - }, - - selector : { - icon : '.icon' - }, - - templates: { - icon: function(maxRating) { - var - icon = 1, - html = '' - ; - while(icon <= maxRating) { - html += '<i class="icon"></i>'; - icon++; - } - return html; - } - } - -}; - -})( jQuery, window, document ); - -/*! - * # Semantic UI undefined - Search - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ($, window, document, undefined) { - -"use strict"; - -window = (typeof window != 'undefined' && window.Math == Math) - ? window - : (typeof self != 'undefined' && self.Math == Math) - ? self - : Function('return this')() -; - -$.fn.search = function(parameters) { - var - $allModules = $(this), - moduleSelector = $allModules.selector || '', - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - returnedValue - ; - $(this) - .each(function() { - var - settings = ( $.isPlainObject(parameters) ) - ? $.extend(true, {}, $.fn.search.settings, parameters) - : $.extend({}, $.fn.search.settings), - - className = settings.className, - metadata = settings.metadata, - regExp = settings.regExp, - fields = settings.fields, - selector = settings.selector, - error = settings.error, - namespace = settings.namespace, - - eventNamespace = '.' + namespace, - moduleNamespace = namespace + '-module', - - $module = $(this), - $prompt = $module.find(selector.prompt), - $searchButton = $module.find(selector.searchButton), - $results = $module.find(selector.results), - $result = $module.find(selector.result), - $category = $module.find(selector.category), - - element = this, - instance = $module.data(moduleNamespace), - - disabledBubbled = false, - resultsDismissed = false, - - module - ; - - module = { - - initialize: function() { - module.verbose('Initializing module'); - module.determine.searchFields(); - module.bind.events(); - module.set.type(); - module.create.results(); - module.instantiate(); - }, - instantiate: function() { - module.verbose('Storing instance of module', module); - instance = module; - $module - .data(moduleNamespace, module) - ; - }, - destroy: function() { - module.verbose('Destroying instance'); - $module - .off(eventNamespace) - .removeData(moduleNamespace) - ; - }, - - refresh: function() { - module.debug('Refreshing selector cache'); - $prompt = $module.find(selector.prompt); - $searchButton = $module.find(selector.searchButton); - $category = $module.find(selector.category); - $results = $module.find(selector.results); - $result = $module.find(selector.result); - }, - - refreshResults: function() { - $results = $module.find(selector.results); - $result = $module.find(selector.result); - }, - - bind: { - events: function() { - module.verbose('Binding events to search'); - if(settings.automatic) { - $module - .on(module.get.inputEvent() + eventNamespace, selector.prompt, module.event.input) - ; - $prompt - .attr('autocomplete', 'off') - ; - } - $module - // prompt - .on('focus' + eventNamespace, selector.prompt, module.event.focus) - .on('blur' + eventNamespace, selector.prompt, module.event.blur) - .on('keydown' + eventNamespace, selector.prompt, module.handleKeyboard) - // search button - .on('click' + eventNamespace, selector.searchButton, module.query) - // results - .on('mousedown' + eventNamespace, selector.results, module.event.result.mousedown) - .on('mouseup' + eventNamespace, selector.results, module.event.result.mouseup) - .on('click' + eventNamespace, selector.result, module.event.result.click) - ; - } - }, - - determine: { - searchFields: function() { - // this makes sure $.extend does not add specified search fields to default fields - // this is the only setting which should not extend defaults - if(parameters && parameters.searchFields !== undefined) { - settings.searchFields = parameters.searchFields; - } - } - }, - - event: { - input: function() { - clearTimeout(module.timer); - module.timer = setTimeout(module.query, settings.searchDelay); - }, - focus: function() { - module.set.focus(); - if(settings.searchOnFocus && module.has.minimumCharacters() ) { - module.query(function() { - if(module.can.show() ) { - module.showResults(); - } - }); - } - }, - blur: function(event) { - var - pageLostFocus = (document.activeElement === this), - callback = function() { - module.cancel.query(); - module.remove.focus(); - module.timer = setTimeout(module.hideResults, settings.hideDelay); - } - ; - if(pageLostFocus) { - return; - } - resultsDismissed = false; - if(module.resultsClicked) { - module.debug('Determining if user action caused search to close'); - $module - .one('click.close' + eventNamespace, selector.results, function(event) { - if(module.is.inMessage(event) || disabledBubbled) { - $prompt.focus(); - return; - } - disabledBubbled = false; - if( !module.is.animating() && !module.is.hidden()) { - callback(); - } - }) - ; - } - else { - module.debug('Input blurred without user action, closing results'); - callback(); - } - }, - result: { - mousedown: function() { - module.resultsClicked = true; - }, - mouseup: function() { - module.resultsClicked = false; - }, - click: function(event) { - module.debug('Search result selected'); - var - $result = $(this), - $title = $result.find(selector.title).eq(0), - $link = $result.is('a[href]') - ? $result - : $result.find('a[href]').eq(0), - href = $link.attr('href') || false, - target = $link.attr('target') || false, - title = $title.html(), - // title is used for result lookup - value = ($title.length > 0) - ? $title.text() - : false, - results = module.get.results(), - result = $result.data(metadata.result) || module.get.result(value, results), - returnedValue - ; - if( $.isFunction(settings.onSelect) ) { - if(settings.onSelect.call(element, result, results) === false) { - module.debug('Custom onSelect callback cancelled default select action'); - disabledBubbled = true; - return; - } - } - module.hideResults(); - if(value) { - module.set.value(value); - } - if(href) { - module.verbose('Opening search link found in result', $link); - if(target == '_blank' || event.ctrlKey) { - window.open(href); - } - else { - window.location.href = (href); - } - } - } - } - }, - handleKeyboard: function(event) { - var - // force selector refresh - $result = $module.find(selector.result), - $category = $module.find(selector.category), - $activeResult = $result.filter('.' + className.active), - currentIndex = $result.index( $activeResult ), - resultSize = $result.length, - hasActiveResult = $activeResult.length > 0, - - keyCode = event.which, - keys = { - backspace : 8, - enter : 13, - escape : 27, - upArrow : 38, - downArrow : 40 - }, - newIndex - ; - // search shortcuts - if(keyCode == keys.escape) { - module.verbose('Escape key pressed, blurring search field'); - module.hideResults(); - resultsDismissed = true; - } - if( module.is.visible() ) { - if(keyCode == keys.enter) { - module.verbose('Enter key pressed, selecting active result'); - if( $result.filter('.' + className.active).length > 0 ) { - module.event.result.click.call($result.filter('.' + className.active), event); - event.preventDefault(); - return false; - } - } - else if(keyCode == keys.upArrow && hasActiveResult) { - module.verbose('Up key pressed, changing active result'); - newIndex = (currentIndex - 1 < 0) - ? currentIndex - : currentIndex - 1 - ; - $category - .removeClass(className.active) - ; - $result - .removeClass(className.active) - .eq(newIndex) - .addClass(className.active) - .closest($category) - .addClass(className.active) - ; - event.preventDefault(); - } - else if(keyCode == keys.downArrow) { - module.verbose('Down key pressed, changing active result'); - newIndex = (currentIndex + 1 >= resultSize) - ? currentIndex - : currentIndex + 1 - ; - $category - .removeClass(className.active) - ; - $result - .removeClass(className.active) - .eq(newIndex) - .addClass(className.active) - .closest($category) - .addClass(className.active) - ; - event.preventDefault(); - } - } - else { - // query shortcuts - if(keyCode == keys.enter) { - module.verbose('Enter key pressed, executing query'); - module.query(); - module.set.buttonPressed(); - $prompt.one('keyup', module.remove.buttonFocus); - } - } - }, - - setup: { - api: function(searchTerm, callback) { - var - apiSettings = { - debug : settings.debug, - on : false, - cache : true, - action : 'search', - urlData : { - query : searchTerm - }, - onSuccess : function(response) { - module.parse.response.call(element, response, searchTerm); - callback(); - }, - onFailure : function() { - module.displayMessage(error.serverError); - callback(); - }, - onAbort : function(response) { - }, - onError : module.error - }, - searchHTML - ; - $.extend(true, apiSettings, settings.apiSettings); - module.verbose('Setting up API request', apiSettings); - $module.api(apiSettings); - } - }, - - can: { - useAPI: function() { - return $.fn.api !== undefined; - }, - show: function() { - return module.is.focused() && !module.is.visible() && !module.is.empty(); - }, - transition: function() { - return settings.transition && $.fn.transition !== undefined && $module.transition('is supported'); - } - }, - - is: { - animating: function() { - return $results.hasClass(className.animating); - }, - hidden: function() { - return $results.hasClass(className.hidden); - }, - inMessage: function(event) { - if(!event.target) { - return; - } - var - $target = $(event.target), - isInDOM = $.contains(document.documentElement, event.target) - ; - return (isInDOM && $target.closest(selector.message).length > 0); - }, - empty: function() { - return ($results.html() === ''); - }, - visible: function() { - return ($results.filter(':visible').length > 0); - }, - focused: function() { - return ($prompt.filter(':focus').length > 0); - } - }, - - get: { - inputEvent: function() { - var - prompt = $prompt[0], - inputEvent = (prompt !== undefined && prompt.oninput !== undefined) - ? 'input' - : (prompt !== undefined && prompt.onpropertychange !== undefined) - ? 'propertychange' - : 'keyup' - ; - return inputEvent; - }, - value: function() { - return $prompt.val(); - }, - results: function() { - var - results = $module.data(metadata.results) - ; - return results; - }, - result: function(value, results) { - var - lookupFields = ['title', 'id'], - result = false - ; - value = (value !== undefined) - ? value - : module.get.value() - ; - results = (results !== undefined) - ? results - : module.get.results() - ; - if(settings.type === 'category') { - module.debug('Finding result that matches', value); - $.each(results, function(index, category) { - if($.isArray(category.results)) { - result = module.search.object(value, category.results, lookupFields)[0]; - // don't continue searching if a result is found - if(result) { - return false; - } - } - }); - } - else { - module.debug('Finding result in results object', value); - result = module.search.object(value, results, lookupFields)[0]; - } - return result || false; - }, - }, - - select: { - firstResult: function() { - module.verbose('Selecting first result'); - $result.first().addClass(className.active); - } - }, - - set: { - focus: function() { - $module.addClass(className.focus); - }, - loading: function() { - $module.addClass(className.loading); - }, - value: function(value) { - module.verbose('Setting search input value', value); - $prompt - .val(value) - ; - }, - type: function(type) { - type = type || settings.type; - if(settings.type == 'category') { - $module.addClass(settings.type); - } - }, - buttonPressed: function() { - $searchButton.addClass(className.pressed); - } - }, - - remove: { - loading: function() { - $module.removeClass(className.loading); - }, - focus: function() { - $module.removeClass(className.focus); - }, - buttonPressed: function() { - $searchButton.removeClass(className.pressed); - } - }, - - query: function(callback) { - callback = $.isFunction(callback) - ? callback - : function(){} - ; - var - searchTerm = module.get.value(), - cache = module.read.cache(searchTerm) - ; - callback = callback || function() {}; - if( module.has.minimumCharacters() ) { - if(cache) { - module.debug('Reading result from cache', searchTerm); - module.save.results(cache.results); - module.addResults(cache.html); - module.inject.id(cache.results); - callback(); - } - else { - module.debug('Querying for', searchTerm); - if($.isPlainObject(settings.source) || $.isArray(settings.source)) { - module.search.local(searchTerm); - callback(); - } - else if( module.can.useAPI() ) { - module.search.remote(searchTerm, callback); - } - else { - module.error(error.source); - callback(); - } - } - settings.onSearchQuery.call(element, searchTerm); - } - else { - module.hideResults(); - } - }, - - search: { - local: function(searchTerm) { - var - results = module.search.object(searchTerm, settings.content), - searchHTML - ; - module.set.loading(); - module.save.results(results); - module.debug('Returned local search results', results); - - searchHTML = module.generateResults({ - results: results - }); - module.remove.loading(); - module.addResults(searchHTML); - module.inject.id(results); - module.write.cache(searchTerm, { - html : searchHTML, - results : results - }); - }, - remote: function(searchTerm, callback) { - callback = $.isFunction(callback) - ? callback - : function(){} - ; - if($module.api('is loading')) { - $module.api('abort'); - } - module.setup.api(searchTerm, callback); - $module - .api('query') - ; - }, - object: function(searchTerm, source, searchFields) { - var - results = [], - fuzzyResults = [], - searchExp = searchTerm.toString().replace(regExp.escape, '\\$&'), - matchRegExp = new RegExp(regExp.beginsWith + searchExp, 'i'), - - // avoid duplicates when pushing results - addResult = function(array, result) { - var - notResult = ($.inArray(result, results) == -1), - notFuzzyResult = ($.inArray(result, fuzzyResults) == -1) - ; - if(notResult && notFuzzyResult) { - array.push(result); - } - } - ; - source = source || settings.source; - searchFields = (searchFields !== undefined) - ? searchFields - : settings.searchFields - ; - - // search fields should be array to loop correctly - if(!$.isArray(searchFields)) { - searchFields = [searchFields]; - } - - // exit conditions if no source - if(source === undefined || source === false) { - module.error(error.source); - return []; - } - - // iterate through search fields looking for matches - $.each(searchFields, function(index, field) { - $.each(source, function(label, content) { - var - fieldExists = (typeof content[field] == 'string') - ; - if(fieldExists) { - if( content[field].search(matchRegExp) !== -1) { - // content starts with value (first in results) - addResult(results, content); - } - else if(settings.searchFullText && module.fuzzySearch(searchTerm, content[field]) ) { - // content fuzzy matches (last in results) - addResult(fuzzyResults, content); - } - } - }); - }); - return $.merge(results, fuzzyResults); - } - }, - - fuzzySearch: function(query, term) { - var - termLength = term.length, - queryLength = query.length - ; - if(typeof query !== 'string') { - return false; - } - query = query.toLowerCase(); - term = term.toLowerCase(); - if(queryLength > termLength) { - return false; - } - if(queryLength === termLength) { - return (query === term); - } - search: for (var characterIndex = 0, nextCharacterIndex = 0; characterIndex < queryLength; characterIndex++) { - var - queryCharacter = query.charCodeAt(characterIndex) - ; - while(nextCharacterIndex < termLength) { - if(term.charCodeAt(nextCharacterIndex++) === queryCharacter) { - continue search; - } - } - return false; - } - return true; - }, - - parse: { - response: function(response, searchTerm) { - var - searchHTML = module.generateResults(response) - ; - module.verbose('Parsing server response', response); - if(response !== undefined) { - if(searchTerm !== undefined && response[fields.results] !== undefined) { - module.addResults(searchHTML); - module.inject.id(response[fields.results]); - module.write.cache(searchTerm, { - html : searchHTML, - results : response[fields.results] - }); - module.save.results(response[fields.results]); - } - } - } - }, - - cancel: { - query: function() { - if( module.can.useAPI() ) { - $module.api('abort'); - } - } - }, - - has: { - minimumCharacters: function() { - var - searchTerm = module.get.value(), - numCharacters = searchTerm.length - ; - return (numCharacters >= settings.minCharacters); - }, - results: function() { - if($results.length === 0) { - return false; - } - var - html = $results.html() - ; - return html != ''; - } - }, - - clear: { - cache: function(value) { - var - cache = $module.data(metadata.cache) - ; - if(!value) { - module.debug('Clearing cache', value); - $module.removeData(metadata.cache); - } - else if(value && cache && cache[value]) { - module.debug('Removing value from cache', value); - delete cache[value]; - $module.data(metadata.cache, cache); - } - } - }, - - read: { - cache: function(name) { - var - cache = $module.data(metadata.cache) - ; - if(settings.cache) { - module.verbose('Checking cache for generated html for query', name); - return (typeof cache == 'object') && (cache[name] !== undefined) - ? cache[name] - : false - ; - } - return false; - } - }, - - create: { - id: function(resultIndex, categoryIndex) { - var - resultID = (resultIndex + 1), // not zero indexed - categoryID = (categoryIndex + 1), - firstCharCode, - letterID, - id - ; - if(categoryIndex !== undefined) { - // start char code for "A" - letterID = String.fromCharCode(97 + categoryIndex); - id = letterID + resultID; - module.verbose('Creating category result id', id); - } - else { - id = resultID; - module.verbose('Creating result id', id); - } - return id; - }, - results: function() { - if($results.length === 0) { - $results = $('<div />') - .addClass(className.results) - .appendTo($module) - ; - } - } - }, - - inject: { - result: function(result, resultIndex, categoryIndex) { - module.verbose('Injecting result into results'); - var - $selectedResult = (categoryIndex !== undefined) - ? $results - .children().eq(categoryIndex) - .children(selector.result).eq(resultIndex) - : $results - .children(selector.result).eq(resultIndex) - ; - module.verbose('Injecting results metadata', $selectedResult); - $selectedResult - .data(metadata.result, result) - ; - }, - id: function(results) { - module.debug('Injecting unique ids into results'); - var - // since results may be object, we must use counters - categoryIndex = 0, - resultIndex = 0 - ; - if(settings.type === 'category') { - // iterate through each category result - $.each(results, function(index, category) { - resultIndex = 0; - $.each(category.results, function(index, value) { - var - result = category.results[index] - ; - if(result.id === undefined) { - result.id = module.create.id(resultIndex, categoryIndex); - } - module.inject.result(result, resultIndex, categoryIndex); - resultIndex++; - }); - categoryIndex++; - }); - } - else { - // top level - $.each(results, function(index, value) { - var - result = results[index] - ; - if(result.id === undefined) { - result.id = module.create.id(resultIndex); - } - module.inject.result(result, resultIndex); - resultIndex++; - }); - } - return results; - } - }, - - save: { - results: function(results) { - module.verbose('Saving current search results to metadata', results); - $module.data(metadata.results, results); - } - }, - - write: { - cache: function(name, value) { - var - cache = ($module.data(metadata.cache) !== undefined) - ? $module.data(metadata.cache) - : {} - ; - if(settings.cache) { - module.verbose('Writing generated html to cache', name, value); - cache[name] = value; - $module - .data(metadata.cache, cache) - ; - } - } - }, - - addResults: function(html) { - if( $.isFunction(settings.onResultsAdd) ) { - if( settings.onResultsAdd.call($results, html) === false ) { - module.debug('onResultsAdd callback cancelled default action'); - return false; - } - } - if(html) { - $results - .html(html) - ; - module.refreshResults(); - if(settings.selectFirstResult) { - module.select.firstResult(); - } - module.showResults(); - } - else { - module.hideResults(function() { - $results.empty(); - }); - } - }, - - showResults: function(callback) { - callback = $.isFunction(callback) - ? callback - : function(){} - ; - if(resultsDismissed) { - return; - } - if(!module.is.visible() && module.has.results()) { - if( module.can.transition() ) { - module.debug('Showing results with css animations'); - $results - .transition({ - animation : settings.transition + ' in', - debug : settings.debug, - verbose : settings.verbose, - duration : settings.duration, - onComplete : function() { - callback(); - }, - queue : true - }) - ; - } - else { - module.debug('Showing results with javascript'); - $results - .stop() - .fadeIn(settings.duration, settings.easing) - ; - } - settings.onResultsOpen.call($results); - } - }, - hideResults: function(callback) { - callback = $.isFunction(callback) - ? callback - : function(){} - ; - if( module.is.visible() ) { - if( module.can.transition() ) { - module.debug('Hiding results with css animations'); - $results - .transition({ - animation : settings.transition + ' out', - debug : settings.debug, - verbose : settings.verbose, - duration : settings.duration, - onComplete : function() { - callback(); - }, - queue : true - }) - ; - } - else { - module.debug('Hiding results with javascript'); - $results - .stop() - .fadeOut(settings.duration, settings.easing) - ; - } - settings.onResultsClose.call($results); - } - }, - - generateResults: function(response) { - module.debug('Generating html from response', response); - var - template = settings.templates[settings.type], - isProperObject = ($.isPlainObject(response[fields.results]) && !$.isEmptyObject(response[fields.results])), - isProperArray = ($.isArray(response[fields.results]) && response[fields.results].length > 0), - html = '' - ; - if(isProperObject || isProperArray ) { - if(settings.maxResults > 0) { - if(isProperObject) { - if(settings.type == 'standard') { - module.error(error.maxResults); - } - } - else { - response[fields.results] = response[fields.results].slice(0, settings.maxResults); - } - } - if($.isFunction(template)) { - html = template(response, fields); - } - else { - module.error(error.noTemplate, false); - } - } - else if(settings.showNoResults) { - html = module.displayMessage(error.noResults, 'empty'); - } - settings.onResults.call(element, response); - return html; - }, - - displayMessage: function(text, type) { - type = type || 'standard'; - module.debug('Displaying message', text, type); - module.addResults( settings.templates.message(text, type) ); - return settings.templates.message(text, type); - }, - - setting: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else if(value !== undefined) { - settings[name] = value; - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else if(value !== undefined) { - module[name] = value; - } - else { - return module[name]; - } - }, - debug: function() { - if(!settings.silent && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(!settings.silent && settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - if(!settings.silent) { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - } - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Element' : element, - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 500); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if($allModules.length > 1) { - title += ' ' + '(' + $allModules.length + ')'; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - object = instance, - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && object !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) { - object = object[camelCaseValue]; - } - else if( object[camelCaseValue] !== undefined ) { - found = object[camelCaseValue]; - return false; - } - else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) { - object = object[value]; - } - else if( object[value] !== undefined ) { - found = object[value]; - return false; - } - else { - return false; - } - }); - } - if( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(returnedValue)) { - returnedValue.push(response); - } - else if(returnedValue !== undefined) { - returnedValue = [returnedValue, response]; - } - else if(response !== undefined) { - returnedValue = response; - } - return found; - } - }; - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - instance.invoke('destroy'); - } - module.initialize(); - } - - }) - ; - - return (returnedValue !== undefined) - ? returnedValue - : this - ; -}; - -$.fn.search.settings = { - - name : 'Search', - namespace : 'search', - - silent : false, - debug : false, - verbose : false, - performance : true, - - // template to use (specified in settings.templates) - type : 'standard', - - // minimum characters required to search - minCharacters : 1, - - // whether to select first result after searching automatically - selectFirstResult : false, - - // API config - apiSettings : false, - - // object to search - source : false, - - // Whether search should query current term on focus - searchOnFocus : true, - - // fields to search - searchFields : [ - 'title', - 'description' - ], - - // field to display in standard results template - displayField : '', - - // whether to include fuzzy results in local search - searchFullText : true, - - // whether to add events to prompt automatically - automatic : true, - - // delay before hiding menu after blur - hideDelay : 0, - - // delay before searching - searchDelay : 200, - - // maximum results returned from local - maxResults : 7, - - // whether to store lookups in local cache - cache : true, - - // whether no results errors should be shown - showNoResults : true, - - // transition settings - transition : 'scale', - duration : 200, - easing : 'easeOutExpo', - - // callbacks - onSelect : false, - onResultsAdd : false, - - onSearchQuery : function(query){}, - onResults : function(response){}, - - onResultsOpen : function(){}, - onResultsClose : function(){}, - - className: { - animating : 'animating', - active : 'active', - empty : 'empty', - focus : 'focus', - hidden : 'hidden', - loading : 'loading', - results : 'results', - pressed : 'down' - }, - - error : { - source : 'Cannot search. No source used, and Semantic API module was not included', - noResults : 'Your search returned no results', - logging : 'Error in debug logging, exiting.', - noEndpoint : 'No search endpoint was specified', - noTemplate : 'A valid template name was not specified.', - serverError : 'There was an issue querying the server.', - maxResults : 'Results must be an array to use maxResults setting', - method : 'The method you called is not defined.' - }, - - metadata: { - cache : 'cache', - results : 'results', - result : 'result' - }, - - regExp: { - escape : /[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, - beginsWith : '(?:\s|^)' - }, - - // maps api response attributes to internal representation - fields: { - categories : 'results', // array of categories (category view) - categoryName : 'name', // name of category (category view) - categoryResults : 'results', // array of results (category view) - description : 'description', // result description - image : 'image', // result image - price : 'price', // result price - results : 'results', // array of results (standard) - title : 'title', // result title - url : 'url', // result url - action : 'action', // "view more" object name - actionText : 'text', // "view more" text - actionURL : 'url' // "view more" url - }, - - selector : { - prompt : '.prompt', - searchButton : '.search.button', - results : '.results', - message : '.results > .message', - category : '.category', - result : '.result', - title : '.title, .name' - }, - - templates: { - escape: function(string) { - var - badChars = /[&<>"'`]/g, - shouldEscape = /[&<>"'`]/, - escape = { - "&": "&", - "<": "<", - ">": ">", - '"': """, - "'": "'", - "`": "`" - }, - escapedChar = function(chr) { - return escape[chr]; - } - ; - if(shouldEscape.test(string)) { - return string.replace(badChars, escapedChar); - } - return string; - }, - message: function(message, type) { - var - html = '' - ; - if(message !== undefined && type !== undefined) { - html += '' - + '<div class="message ' + type + '">' - ; - // message type - if(type == 'empty') { - html += '' - + '<div class="header">No Results</div class="header">' - + '<div class="description">' + message + '</div class="description">' - ; - } - else { - html += ' <div class="description">' + message + '</div>'; - } - html += '</div>'; - } - return html; - }, - category: function(response, fields) { - var - html = '', - escape = $.fn.search.settings.templates.escape - ; - if(response[fields.categoryResults] !== undefined) { - - // each category - $.each(response[fields.categoryResults], function(index, category) { - if(category[fields.results] !== undefined && category.results.length > 0) { - - html += '<div class="category">'; - - if(category[fields.categoryName] !== undefined) { - html += '<div class="name">' + category[fields.categoryName] + '</div>'; - } - - // each item inside category - $.each(category.results, function(index, result) { - if(result[fields.url]) { - html += '<a class="result" href="' + result[fields.url] + '">'; - } - else { - html += '<a class="result">'; - } - if(result[fields.image] !== undefined) { - html += '' - + '<div class="image">' - + ' <img src="' + result[fields.image] + '">' - + '</div>' - ; - } - html += '<div class="content">'; - if(result[fields.price] !== undefined) { - html += '<div class="price">' + result[fields.price] + '</div>'; - } - if(result[fields.title] !== undefined) { - html += '<div class="title">' + result[fields.title] + '</div>'; - } - if(result[fields.description] !== undefined) { - html += '<div class="description">' + result[fields.description] + '</div>'; - } - html += '' - + '</div>' - ; - html += '</a>'; - }); - html += '' - + '</div>' - ; - } - }); - if(response[fields.action]) { - html += '' - + '<a href="' + response[fields.action][fields.actionURL] + '" class="action">' - + response[fields.action][fields.actionText] - + '</a>'; - } - return html; - } - return false; - }, - standard: function(response, fields) { - var - html = '' - ; - if(response[fields.results] !== undefined) { - - // each result - $.each(response[fields.results], function(index, result) { - if(result[fields.url]) { - html += '<a class="result" href="' + result[fields.url] + '">'; - } - else { - html += '<a class="result">'; - } - if(result[fields.image] !== undefined) { - html += '' - + '<div class="image">' - + ' <img src="' + result[fields.image] + '">' - + '</div>' - ; - } - html += '<div class="content">'; - if(result[fields.price] !== undefined) { - html += '<div class="price">' + result[fields.price] + '</div>'; - } - if(result[fields.title] !== undefined) { - html += '<div class="title">' + result[fields.title] + '</div>'; - } - if(result[fields.description] !== undefined) { - html += '<div class="description">' + result[fields.description] + '</div>'; - } - html += '' - + '</div>' - ; - html += '</a>'; - }); - - if(response[fields.action]) { - html += '' - + '<a href="' + response[fields.action][fields.actionURL] + '" class="action">' - + response[fields.action][fields.actionText] - + '</a>'; - } - return html; - } - return false; - } - } -}; - -})( jQuery, window, document ); - -/*! - * # Semantic UI undefined - Shape + * # Semantic UI 2.2.10 - Shape * http://github.com/semantic-org/semantic-ui/ * * @@ -15448,1044 +8338,7 @@ $.fn.shape.settings = { })( jQuery, window, document ); /*! - * # Semantic UI undefined - Sidebar - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ($, window, document, undefined) { - -"use strict"; - -window = (typeof window != 'undefined' && window.Math == Math) - ? window - : (typeof self != 'undefined' && self.Math == Math) - ? self - : Function('return this')() -; - -$.fn.sidebar = function(parameters) { - var - $allModules = $(this), - $window = $(window), - $document = $(document), - $html = $('html'), - $head = $('head'), - - moduleSelector = $allModules.selector || '', - - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - - requestAnimationFrame = window.requestAnimationFrame - || window.mozRequestAnimationFrame - || window.webkitRequestAnimationFrame - || window.msRequestAnimationFrame - || function(callback) { setTimeout(callback, 0); }, - - returnedValue - ; - - $allModules - .each(function() { - var - settings = ( $.isPlainObject(parameters) ) - ? $.extend(true, {}, $.fn.sidebar.settings, parameters) - : $.extend({}, $.fn.sidebar.settings), - - selector = settings.selector, - className = settings.className, - namespace = settings.namespace, - regExp = settings.regExp, - error = settings.error, - - eventNamespace = '.' + namespace, - moduleNamespace = 'module-' + namespace, - - $module = $(this), - $context = $(settings.context), - - $sidebars = $module.children(selector.sidebar), - $fixed = $context.children(selector.fixed), - $pusher = $context.children(selector.pusher), - $style, - - element = this, - instance = $module.data(moduleNamespace), - - elementNamespace, - id, - currentScroll, - transitionEvent, - - module - ; - - module = { - - initialize: function() { - module.debug('Initializing sidebar', parameters); - - module.create.id(); - - transitionEvent = module.get.transitionEvent(); - - if(module.is.ios()) { - module.set.ios(); - } - - // avoids locking rendering if initialized in onReady - if(settings.delaySetup) { - requestAnimationFrame(module.setup.layout); - } - else { - module.setup.layout(); - } - - requestAnimationFrame(function() { - module.setup.cache(); - }); - - module.instantiate(); - }, - - instantiate: function() { - module.verbose('Storing instance of module', module); - instance = module; - $module - .data(moduleNamespace, module) - ; - }, - - create: { - id: function() { - id = (Math.random().toString(16) + '000000000').substr(2,8); - elementNamespace = '.' + id; - module.verbose('Creating unique id for element', id); - } - }, - - destroy: function() { - module.verbose('Destroying previous module for', $module); - $module - .off(eventNamespace) - .removeData(moduleNamespace) - ; - if(module.is.ios()) { - module.remove.ios(); - } - // bound by uuid - $context.off(elementNamespace); - $window.off(elementNamespace); - $document.off(elementNamespace); - }, - - event: { - clickaway: function(event) { - var - clickedInPusher = ($pusher.find(event.target).length > 0 || $pusher.is(event.target)), - clickedContext = ($context.is(event.target)) - ; - if(clickedInPusher) { - module.verbose('User clicked on dimmed page'); - module.hide(); - } - if(clickedContext) { - module.verbose('User clicked on dimmable context (scaled out page)'); - module.hide(); - } - }, - touch: function(event) { - //event.stopPropagation(); - }, - containScroll: function(event) { - if(element.scrollTop <= 0) { - element.scrollTop = 1; - } - if((element.scrollTop + element.offsetHeight) >= element.scrollHeight) { - element.scrollTop = element.scrollHeight - element.offsetHeight - 1; - } - }, - scroll: function(event) { - if( $(event.target).closest(selector.sidebar).length === 0 ) { - event.preventDefault(); - } - } - }, - - bind: { - clickaway: function() { - module.verbose('Adding clickaway events to context', $context); - if(settings.closable) { - $context - .on('click' + elementNamespace, module.event.clickaway) - .on('touchend' + elementNamespace, module.event.clickaway) - ; - } - }, - scrollLock: function() { - if(settings.scrollLock) { - module.debug('Disabling page scroll'); - $window - .on('DOMMouseScroll' + elementNamespace, module.event.scroll) - ; - } - module.verbose('Adding events to contain sidebar scroll'); - $document - .on('touchmove' + elementNamespace, module.event.touch) - ; - $module - .on('scroll' + eventNamespace, module.event.containScroll) - ; - } - }, - unbind: { - clickaway: function() { - module.verbose('Removing clickaway events from context', $context); - $context.off(elementNamespace); - }, - scrollLock: function() { - module.verbose('Removing scroll lock from page'); - $document.off(elementNamespace); - $window.off(elementNamespace); - $module.off('scroll' + eventNamespace); - } - }, - - add: { - inlineCSS: function() { - var - width = module.cache.width || $module.outerWidth(), - height = module.cache.height || $module.outerHeight(), - isRTL = module.is.rtl(), - direction = module.get.direction(), - distance = { - left : width, - right : -width, - top : height, - bottom : -height - }, - style - ; - - if(isRTL){ - module.verbose('RTL detected, flipping widths'); - distance.left = -width; - distance.right = width; - } - - style = '<style>'; - - if(direction === 'left' || direction === 'right') { - module.debug('Adding CSS rules for animation distance', width); - style += '' - + ' .ui.visible.' + direction + '.sidebar ~ .fixed,' - + ' .ui.visible.' + direction + '.sidebar ~ .pusher {' - + ' -webkit-transform: translate3d('+ distance[direction] + 'px, 0, 0);' - + ' transform: translate3d('+ distance[direction] + 'px, 0, 0);' - + ' }' - ; - } - else if(direction === 'top' || direction == 'bottom') { - style += '' - + ' .ui.visible.' + direction + '.sidebar ~ .fixed,' - + ' .ui.visible.' + direction + '.sidebar ~ .pusher {' - + ' -webkit-transform: translate3d(0, ' + distance[direction] + 'px, 0);' - + ' transform: translate3d(0, ' + distance[direction] + 'px, 0);' - + ' }' - ; - } - - /* IE is only browser not to create context with transforms */ - /* https://www.w3.org/Bugs/Public/show_bug.cgi?id=16328 */ - if( module.is.ie() ) { - if(direction === 'left' || direction === 'right') { - module.debug('Adding CSS rules for animation distance', width); - style += '' - + ' body.pushable > .ui.visible.' + direction + '.sidebar ~ .pusher:after {' - + ' -webkit-transform: translate3d('+ distance[direction] + 'px, 0, 0);' - + ' transform: translate3d('+ distance[direction] + 'px, 0, 0);' - + ' }' - ; - } - else if(direction === 'top' || direction == 'bottom') { - style += '' - + ' body.pushable > .ui.visible.' + direction + '.sidebar ~ .pusher:after {' - + ' -webkit-transform: translate3d(0, ' + distance[direction] + 'px, 0);' - + ' transform: translate3d(0, ' + distance[direction] + 'px, 0);' - + ' }' - ; - } - /* opposite sides visible forces content overlay */ - style += '' - + ' body.pushable > .ui.visible.left.sidebar ~ .ui.visible.right.sidebar ~ .pusher:after,' - + ' body.pushable > .ui.visible.right.sidebar ~ .ui.visible.left.sidebar ~ .pusher:after {' - + ' -webkit-transform: translate3d(0px, 0, 0);' - + ' transform: translate3d(0px, 0, 0);' - + ' }' - ; - } - style += '</style>'; - $style = $(style) - .appendTo($head) - ; - module.debug('Adding sizing css to head', $style); - } - }, - - refresh: function() { - module.verbose('Refreshing selector cache'); - $context = $(settings.context); - $sidebars = $context.children(selector.sidebar); - $pusher = $context.children(selector.pusher); - $fixed = $context.children(selector.fixed); - module.clear.cache(); - }, - - refreshSidebars: function() { - module.verbose('Refreshing other sidebars'); - $sidebars = $context.children(selector.sidebar); - }, - - repaint: function() { - module.verbose('Forcing repaint event'); - element.style.display = 'none'; - var ignored = element.offsetHeight; - element.scrollTop = element.scrollTop; - element.style.display = ''; - }, - - setup: { - cache: function() { - module.cache = { - width : $module.outerWidth(), - height : $module.outerHeight(), - rtl : ($module.css('direction') == 'rtl') - }; - }, - layout: function() { - if( $context.children(selector.pusher).length === 0 ) { - module.debug('Adding wrapper element for sidebar'); - module.error(error.pusher); - $pusher = $('<div class="pusher" />'); - $context - .children() - .not(selector.omitted) - .not($sidebars) - .wrapAll($pusher) - ; - module.refresh(); - } - if($module.nextAll(selector.pusher).length === 0 || $module.nextAll(selector.pusher)[0] !== $pusher[0]) { - module.debug('Moved sidebar to correct parent element'); - module.error(error.movedSidebar, element); - $module.detach().prependTo($context); - module.refresh(); - } - module.clear.cache(); - module.set.pushable(); - module.set.direction(); - } - }, - - attachEvents: function(selector, event) { - var - $toggle = $(selector) - ; - event = $.isFunction(module[event]) - ? module[event] - : module.toggle - ; - if($toggle.length > 0) { - module.debug('Attaching sidebar events to element', selector, event); - $toggle - .on('click' + eventNamespace, event) - ; - } - else { - module.error(error.notFound, selector); - } - }, - - show: function(callback) { - callback = $.isFunction(callback) - ? callback - : function(){} - ; - if(module.is.hidden()) { - module.refreshSidebars(); - if(settings.overlay) { - module.error(error.overlay); - settings.transition = 'overlay'; - } - module.refresh(); - if(module.othersActive()) { - module.debug('Other sidebars currently visible'); - if(settings.exclusive) { - // if not overlay queue animation after hide - if(settings.transition != 'overlay') { - module.hideOthers(module.show); - return; - } - else { - module.hideOthers(); - } - } - else { - settings.transition = 'overlay'; - } - } - module.pushPage(function() { - callback.call(element); - settings.onShow.call(element); - }); - settings.onChange.call(element); - settings.onVisible.call(element); - } - else { - module.debug('Sidebar is already visible'); - } - }, - - hide: function(callback) { - callback = $.isFunction(callback) - ? callback - : function(){} - ; - if(module.is.visible() || module.is.animating()) { - module.debug('Hiding sidebar', callback); - module.refreshSidebars(); - module.pullPage(function() { - callback.call(element); - settings.onHidden.call(element); - }); - settings.onChange.call(element); - settings.onHide.call(element); - } - }, - - othersAnimating: function() { - return ($sidebars.not($module).filter('.' + className.animating).length > 0); - }, - othersVisible: function() { - return ($sidebars.not($module).filter('.' + className.visible).length > 0); - }, - othersActive: function() { - return(module.othersVisible() || module.othersAnimating()); - }, - - hideOthers: function(callback) { - var - $otherSidebars = $sidebars.not($module).filter('.' + className.visible), - sidebarCount = $otherSidebars.length, - callbackCount = 0 - ; - callback = callback || function(){}; - $otherSidebars - .sidebar('hide', function() { - callbackCount++; - if(callbackCount == sidebarCount) { - callback(); - } - }) - ; - }, - - toggle: function() { - module.verbose('Determining toggled direction'); - if(module.is.hidden()) { - module.show(); - } - else { - module.hide(); - } - }, - - pushPage: function(callback) { - var - transition = module.get.transition(), - $transition = (transition === 'overlay' || module.othersActive()) - ? $module - : $pusher, - animate, - dim, - transitionEnd - ; - callback = $.isFunction(callback) - ? callback - : function(){} - ; - if(settings.transition == 'scale down') { - module.scrollToTop(); - } - module.set.transition(transition); - module.repaint(); - animate = function() { - module.bind.clickaway(); - module.add.inlineCSS(); - module.set.animating(); - module.set.visible(); - }; - dim = function() { - module.set.dimmed(); - }; - transitionEnd = function(event) { - if( event.target == $transition[0] ) { - $transition.off(transitionEvent + elementNamespace, transitionEnd); - module.remove.animating(); - module.bind.scrollLock(); - callback.call(element); - } - }; - $transition.off(transitionEvent + elementNamespace); - $transition.on(transitionEvent + elementNamespace, transitionEnd); - requestAnimationFrame(animate); - if(settings.dimPage && !module.othersVisible()) { - requestAnimationFrame(dim); - } - }, - - pullPage: function(callback) { - var - transition = module.get.transition(), - $transition = (transition == 'overlay' || module.othersActive()) - ? $module - : $pusher, - animate, - transitionEnd - ; - callback = $.isFunction(callback) - ? callback - : function(){} - ; - module.verbose('Removing context push state', module.get.direction()); - - module.unbind.clickaway(); - module.unbind.scrollLock(); - - animate = function() { - module.set.transition(transition); - module.set.animating(); - module.remove.visible(); - if(settings.dimPage && !module.othersVisible()) { - $pusher.removeClass(className.dimmed); - } - }; - transitionEnd = function(event) { - if( event.target == $transition[0] ) { - $transition.off(transitionEvent + elementNamespace, transitionEnd); - module.remove.animating(); - module.remove.transition(); - module.remove.inlineCSS(); - if(transition == 'scale down' || (settings.returnScroll && module.is.mobile()) ) { - module.scrollBack(); - } - callback.call(element); - } - }; - $transition.off(transitionEvent + elementNamespace); - $transition.on(transitionEvent + elementNamespace, transitionEnd); - requestAnimationFrame(animate); - }, - - scrollToTop: function() { - module.verbose('Scrolling to top of page to avoid animation issues'); - currentScroll = $(window).scrollTop(); - $module.scrollTop(0); - window.scrollTo(0, 0); - }, - - scrollBack: function() { - module.verbose('Scrolling back to original page position'); - window.scrollTo(0, currentScroll); - }, - - clear: { - cache: function() { - module.verbose('Clearing cached dimensions'); - module.cache = {}; - } - }, - - set: { - - // ios only (scroll on html not document). This prevent auto-resize canvas/scroll in ios - ios: function() { - $html.addClass(className.ios); - }, - - // container - pushed: function() { - $context.addClass(className.pushed); - }, - pushable: function() { - $context.addClass(className.pushable); - }, - - // pusher - dimmed: function() { - $pusher.addClass(className.dimmed); - }, - - // sidebar - active: function() { - $module.addClass(className.active); - }, - animating: function() { - $module.addClass(className.animating); - }, - transition: function(transition) { - transition = transition || module.get.transition(); - $module.addClass(transition); - }, - direction: function(direction) { - direction = direction || module.get.direction(); - $module.addClass(className[direction]); - }, - visible: function() { - $module.addClass(className.visible); - }, - overlay: function() { - $module.addClass(className.overlay); - } - }, - remove: { - - inlineCSS: function() { - module.debug('Removing inline css styles', $style); - if($style && $style.length > 0) { - $style.remove(); - } - }, - - // ios scroll on html not document - ios: function() { - $html.removeClass(className.ios); - }, - - // context - pushed: function() { - $context.removeClass(className.pushed); - }, - pushable: function() { - $context.removeClass(className.pushable); - }, - - // sidebar - active: function() { - $module.removeClass(className.active); - }, - animating: function() { - $module.removeClass(className.animating); - }, - transition: function(transition) { - transition = transition || module.get.transition(); - $module.removeClass(transition); - }, - direction: function(direction) { - direction = direction || module.get.direction(); - $module.removeClass(className[direction]); - }, - visible: function() { - $module.removeClass(className.visible); - }, - overlay: function() { - $module.removeClass(className.overlay); - } - }, - - get: { - direction: function() { - if($module.hasClass(className.top)) { - return className.top; - } - else if($module.hasClass(className.right)) { - return className.right; - } - else if($module.hasClass(className.bottom)) { - return className.bottom; - } - return className.left; - }, - transition: function() { - var - direction = module.get.direction(), - transition - ; - transition = ( module.is.mobile() ) - ? (settings.mobileTransition == 'auto') - ? settings.defaultTransition.mobile[direction] - : settings.mobileTransition - : (settings.transition == 'auto') - ? settings.defaultTransition.computer[direction] - : settings.transition - ; - module.verbose('Determined transition', transition); - return transition; - }, - transitionEvent: function() { - var - element = document.createElement('element'), - transitions = { - 'transition' :'transitionend', - 'OTransition' :'oTransitionEnd', - 'MozTransition' :'transitionend', - 'WebkitTransition' :'webkitTransitionEnd' - }, - transition - ; - for(transition in transitions){ - if( element.style[transition] !== undefined ){ - return transitions[transition]; - } - } - } - }, - - is: { - - ie: function() { - var - isIE11 = (!(window.ActiveXObject) && 'ActiveXObject' in window), - isIE = ('ActiveXObject' in window) - ; - return (isIE11 || isIE); - }, - - ios: function() { - var - userAgent = navigator.userAgent, - isIOS = userAgent.match(regExp.ios), - isMobileChrome = userAgent.match(regExp.mobileChrome) - ; - if(isIOS && !isMobileChrome) { - module.verbose('Browser was found to be iOS', userAgent); - return true; - } - else { - return false; - } - }, - mobile: function() { - var - userAgent = navigator.userAgent, - isMobile = userAgent.match(regExp.mobile) - ; - if(isMobile) { - module.verbose('Browser was found to be mobile', userAgent); - return true; - } - else { - module.verbose('Browser is not mobile, using regular transition', userAgent); - return false; - } - }, - hidden: function() { - return !module.is.visible(); - }, - visible: function() { - return $module.hasClass(className.visible); - }, - // alias - open: function() { - return module.is.visible(); - }, - closed: function() { - return module.is.hidden(); - }, - vertical: function() { - return $module.hasClass(className.top); - }, - animating: function() { - return $context.hasClass(className.animating); - }, - rtl: function () { - if(module.cache.rtl === undefined) { - module.cache.rtl = ($module.css('direction') == 'rtl'); - } - return module.cache.rtl; - } - }, - - setting: function(name, value) { - module.debug('Changing setting', name, value); - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else if(value !== undefined) { - if($.isPlainObject(settings[name])) { - $.extend(true, settings[name], value); - } - else { - settings[name] = value; - } - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else if(value !== undefined) { - module[name] = value; - } - else { - return module[name]; - } - }, - debug: function() { - if(!settings.silent && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(!settings.silent && settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - if(!settings.silent) { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - } - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - 'Element' : element, - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 500); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { - console.groupCollapsed(title); - if(console.table) { - console.table(performance); - } - else { - $.each(performance, function(index, data) { - console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); - }); - } - console.groupEnd(); - } - performance = []; - } - }, - invoke: function(query, passedArguments, context) { - var - object = instance, - maxDepth, - found, - response - ; - passedArguments = passedArguments || queryArguments; - context = element || context; - if(typeof query == 'string' && object !== undefined) { - query = query.split(/[\. ]/); - maxDepth = query.length - 1; - $.each(query, function(depth, value) { - var camelCaseValue = (depth != maxDepth) - ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) - : query - ; - if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) { - object = object[camelCaseValue]; - } - else if( object[camelCaseValue] !== undefined ) { - found = object[camelCaseValue]; - return false; - } - else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) { - object = object[value]; - } - else if( object[value] !== undefined ) { - found = object[value]; - return false; - } - else { - module.error(error.method, query); - return false; - } - }); - } - if ( $.isFunction( found ) ) { - response = found.apply(context, passedArguments); - } - else if(found !== undefined) { - response = found; - } - if($.isArray(returnedValue)) { - returnedValue.push(response); - } - else if(returnedValue !== undefined) { - returnedValue = [returnedValue, response]; - } - else if(response !== undefined) { - returnedValue = response; - } - return found; - } - } - ; - - if(methodInvoked) { - if(instance === undefined) { - module.initialize(); - } - module.invoke(query); - } - else { - if(instance !== undefined) { - module.invoke('destroy'); - } - module.initialize(); - } - }); - - return (returnedValue !== undefined) - ? returnedValue - : this - ; -}; - -$.fn.sidebar.settings = { - - name : 'Sidebar', - namespace : 'sidebar', - - silent : false, - debug : false, - verbose : false, - performance : true, - - transition : 'auto', - mobileTransition : 'auto', - - defaultTransition : { - computer: { - left : 'uncover', - right : 'uncover', - top : 'overlay', - bottom : 'overlay' - }, - mobile: { - left : 'uncover', - right : 'uncover', - top : 'overlay', - bottom : 'overlay' - } - }, - - context : 'body', - exclusive : false, - closable : true, - dimPage : true, - scrollLock : false, - returnScroll : false, - delaySetup : false, - - duration : 500, - - onChange : function(){}, - onShow : function(){}, - onHide : function(){}, - - onHidden : function(){}, - onVisible : function(){}, - - className : { - active : 'active', - animating : 'animating', - dimmed : 'dimmed', - ios : 'ios', - pushable : 'pushable', - pushed : 'pushed', - right : 'right', - top : 'top', - left : 'left', - bottom : 'bottom', - visible : 'visible' - }, - - selector: { - fixed : '.fixed', - omitted : 'script, link, style, .ui.modal, .ui.dimmer, .ui.nag, .ui.fixed', - pusher : '.pusher', - sidebar : '.ui.sidebar' - }, - - regExp: { - ios : /(iPad|iPhone|iPod)/g, - mobileChrome : /(CriOS)/g, - mobile : /Mobile|iP(hone|od|ad)|Android|BlackBerry|IEMobile|Kindle|NetFront|Silk-Accelerated|(hpw|web)OS|Fennec|Minimo|Opera M(obi|ini)|Blazer|Dolfin|Dolphin|Skyfire|Zune/g - }, - - error : { - method : 'The method you called is not defined.', - pusher : 'Had to add pusher element. For optimal performance make sure body content is inside a pusher element', - movedSidebar : 'Had to move sidebar. For optimal performance make sure sidebar and pusher are direct children of your body tag', - overlay : 'The overlay setting is no longer supported, use animation: overlay', - notFound : 'There were no elements that matched the specified selector' - } - -}; - - -})( jQuery, window, document ); - -/*! - * # Semantic UI undefined - Sticky + * # Semantic UI 2.2.10 - Sticky * http://github.com/semantic-org/semantic-ui/ * * @@ -17428,2056 +9281,7 @@ $.fn.sticky.settings = { })( jQuery, window, document ); /*! - * # Semantic UI undefined - Tab - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - -;(function ($, window, document, undefined) { - -"use strict"; - -window = (typeof window != 'undefined' && window.Math == Math) - ? window - : (typeof self != 'undefined' && self.Math == Math) - ? self - : Function('return this')() -; - -$.fn.tab = function(parameters) { - - var - // use window context if none specified - $allModules = $.isFunction(this) - ? $(window) - : $(this), - - moduleSelector = $allModules.selector || '', - time = new Date().getTime(), - performance = [], - - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - - initializedHistory = false, - returnedValue - ; - - $allModules - .each(function() { - var - - settings = ( $.isPlainObject(parameters) ) - ? $.extend(true, {}, $.fn.tab.settings, parameters) - : $.extend({}, $.fn.tab.settings), - - className = settings.className, - metadata = settings.metadata, - selector = settings.selector, - error = settings.error, - - eventNamespace = '.' + settings.namespace, - moduleNamespace = 'module-' + settings.namespace, - - $module = $(this), - $context, - $tabs, - - cache = {}, - firstLoad = true, - recursionDepth = 0, - element = this, - instance = $module.data(moduleNamespace), - - activeTabPath, - parameterArray, - module, - - historyEvent - - ; - - module = { - - initialize: function() { - module.debug('Initializing tab menu item', $module); - module.fix.callbacks(); - module.determineTabs(); - - module.debug('Determining tabs', settings.context, $tabs); - // set up automatic routing - if(settings.auto) { - module.set.auto(); - } - module.bind.events(); - - if(settings.history && !initializedHistory) { - module.initializeHistory(); - initializedHistory = true; - } - - module.instantiate(); - }, - - instantiate: function () { - module.verbose('Storing instance of module', module); - instance = module; - $module - .data(moduleNamespace, module) - ; - }, - - destroy: function() { - module.debug('Destroying tabs', $module); - $module - .removeData(moduleNamespace) - .off(eventNamespace) - ; - }, - - bind: { - events: function() { - // if using $.tab don't add events - if( !$.isWindow( element ) ) { - module.debug('Attaching tab activation events to element', $module); - $module - .on('click' + eventNamespace, module.event.click) - ; - } - } - }, - - determineTabs: function() { - var - $reference - ; - - // determine tab context - if(settings.context === 'parent') { - if($module.closest(selector.ui).length > 0) { - $reference = $module.closest(selector.ui); - module.verbose('Using closest UI element as parent', $reference); - } - else { - $reference = $module; - } - $context = $reference.parent(); - module.verbose('Determined parent element for creating context', $context); - } - else if(settings.context) { - $context = $(settings.context); - module.verbose('Using selector for tab context', settings.context, $context); - } - else { - $context = $('body'); - } - // find tabs - if(settings.childrenOnly) { - $tabs = $context.children(selector.tabs); - module.debug('Searching tab context children for tabs', $context, $tabs); - } - else { - $tabs = $context.find(selector.tabs); - module.debug('Searching tab context for tabs', $context, $tabs); - } - }, - - fix: { - callbacks: function() { - if( $.isPlainObject(parameters) && (parameters.onTabLoad || parameters.onTabInit) ) { - if(parameters.onTabLoad) { - parameters.onLoad = parameters.onTabLoad; - delete parameters.onTabLoad; - module.error(error.legacyLoad, parameters.onLoad); - } - if(parameters.onTabInit) { - parameters.onFirstLoad = parameters.onTabInit; - delete parameters.onTabInit; - module.error(error.legacyInit, parameters.onFirstLoad); - } - settings = $.extend(true, {}, $.fn.tab.settings, parameters); - } - } - }, - - initializeHistory: function() { - module.debug('Initializing page state'); - if( $.address === undefined ) { - module.error(error.state); - return false; - } - else { - if(settings.historyType == 'state') { - module.debug('Using HTML5 to manage state'); - if(settings.path !== false) { - $.address - .history(true) - .state(settings.path) - ; - } - else { - module.error(error.path); - return false; - } - } - $.address - .bind('change', module.event.history.change) - ; - } - }, - - event: { - click: function(event) { - var - tabPath = $(this).data(metadata.tab) - ; - if(tabPath !== undefined) { - if(settings.history) { - module.verbose('Updating page state', event); - $.address.value(tabPath); - } - else { - module.verbose('Changing tab', event); - module.changeTab(tabPath); - } - event.preventDefault(); - } - else { - module.debug('No tab specified'); - } - }, - history: { - change: function(event) { - var - tabPath = event.pathNames.join('/') || module.get.initialPath(), - pageTitle = settings.templates.determineTitle(tabPath) || false - ; - module.performance.display(); - module.debug('History change event', tabPath, event); - historyEvent = event; - if(tabPath !== undefined) { - module.changeTab(tabPath); - } - if(pageTitle) { - $.address.title(pageTitle); - } - } - } - }, - - refresh: function() { - if(activeTabPath) { - module.debug('Refreshing tab', activeTabPath); - module.changeTab(activeTabPath); - } - }, - - cache: { - - read: function(cacheKey) { - return (cacheKey !== undefined) - ? cache[cacheKey] - : false - ; - }, - add: function(cacheKey, content) { - cacheKey = cacheKey || activeTabPath; - module.debug('Adding cached content for', cacheKey); - cache[cacheKey] = content; - }, - remove: function(cacheKey) { - cacheKey = cacheKey || activeTabPath; - module.debug('Removing cached content for', cacheKey); - delete cache[cacheKey]; - } - }, - - set: { - auto: function() { - var - url = (typeof settings.path == 'string') - ? settings.path.replace(/\/$/, '') + '/{$tab}' - : '/{$tab}' - ; - module.verbose('Setting up automatic tab retrieval from server', url); - if($.isPlainObject(settings.apiSettings)) { - settings.apiSettings.url = url; - } - else { - settings.apiSettings = { - url: url - }; - } - }, - loading: function(tabPath) { - var - $tab = module.get.tabElement(tabPath), - isLoading = $tab.hasClass(className.loading) - ; - if(!isLoading) { - module.verbose('Setting loading state for', $tab); - $tab - .addClass(className.loading) - .siblings($tabs) - .removeClass(className.active + ' ' + className.loading) - ; - if($tab.length > 0) { - settings.onRequest.call($tab[0], tabPath); - } - } - }, - state: function(state) { - $.address.value(state); - } - }, - - changeTab: function(tabPath) { - var - pushStateAvailable = (window.history && window.history.pushState), - shouldIgnoreLoad = (pushStateAvailable && settings.ignoreFirstLoad && firstLoad), - remoteContent = (settings.auto || $.isPlainObject(settings.apiSettings) ), - // only add default path if not remote content - pathArray = (remoteContent && !shouldIgnoreLoad) - ? module.utilities.pathToArray(tabPath) - : module.get.defaultPathArray(tabPath) - ; - tabPath = module.utilities.arrayToPath(pathArray); - $.each(pathArray, function(index, tab) { - var - currentPathArray = pathArray.slice(0, index + 1), - currentPath = module.utilities.arrayToPath(currentPathArray), - - isTab = module.is.tab(currentPath), - isLastIndex = (index + 1 == pathArray.length), - - $tab = module.get.tabElement(currentPath), - $anchor, - nextPathArray, - nextPath, - isLastTab - ; - module.verbose('Looking for tab', tab); - if(isTab) { - module.verbose('Tab was found', tab); - // scope up - activeTabPath = currentPath; - parameterArray = module.utilities.filterArray(pathArray, currentPathArray); - - if(isLastIndex) { - isLastTab = true; - } - else { - nextPathArray = pathArray.slice(0, index + 2); - nextPath = module.utilities.arrayToPath(nextPathArray); - isLastTab = ( !module.is.tab(nextPath) ); - if(isLastTab) { - module.verbose('Tab parameters found', nextPathArray); - } - } - if(isLastTab && remoteContent) { - if(!shouldIgnoreLoad) { - module.activate.navigation(currentPath); - module.fetch.content(currentPath, tabPath); - } - else { - module.debug('Ignoring remote content on first tab load', currentPath); - firstLoad = false; - module.cache.add(tabPath, $tab.html()); - module.activate.all(currentPath); - settings.onFirstLoad.call($tab[0], currentPath, parameterArray, historyEvent); - settings.onLoad.call($tab[0], currentPath, parameterArray, historyEvent); - } - return false; - } - else { - module.debug('Opened local tab', currentPath); - module.activate.all(currentPath); - if( !module.cache.read(currentPath) ) { - module.cache.add(currentPath, true); - module.debug('First time tab loaded calling tab init'); - settings.onFirstLoad.call($tab[0], currentPath, parameterArray, historyEvent); - } - settings.onLoad.call($tab[0], currentPath, parameterArray, historyEvent); - } - - } - else if(tabPath.search('/') == -1 && tabPath !== '') { - // look for in page anchor - $anchor = $('#' + tabPath + ', a[name="' + tabPath + '"]'); - currentPath = $anchor.closest('[data-tab]').data(metadata.tab); - $tab = module.get.tabElement(currentPath); - // if anchor exists use parent tab - if($anchor && $anchor.length > 0 && currentPath) { - module.debug('Anchor link used, opening parent tab', $tab, $anchor); - if( !$tab.hasClass(className.active) ) { - setTimeout(function() { - module.scrollTo($anchor); - }, 0); - } - module.activate.all(currentPath); - if( !module.cache.read(currentPath) ) { - module.cache.add(currentPath, true); - module.debug('First time tab loaded calling tab init'); - settings.onFirstLoad.call($tab[0], currentPath, parameterArray, historyEvent); - } - settings.onLoad.call($tab[0], currentPath, parameterArray, historyEvent); - return false; - } - } - else { - module.error(error.missingTab, $module, $context, currentPath); - return false; - } - }); - }, - - scrollTo: function($element) { - var - scrollOffset = ($element && $element.length > 0) - ? $element.offset().top - : false - ; - if(scrollOffset !== false) { - module.debug('Forcing scroll to an in-page link in a hidden tab', scrollOffset, $element); - $(document).scrollTop(scrollOffset); - } - }, - - update: { - content: function(tabPath, html, evaluateScripts) { - var - $tab = module.get.tabElement(tabPath), - tab = $tab[0] - ; - evaluateScripts = (evaluateScripts !== undefined) - ? evaluateScripts - : settings.evaluateScripts - ; - if(typeof settings.cacheType == 'string' && settings.cacheType.toLowerCase() == 'dom' && typeof html !== 'string') { - $tab - .empty() - .append($(html).clone(true)) - ; - } - else { - if(evaluateScripts) { - module.debug('Updating HTML and evaluating inline scripts', tabPath, html); - $tab.html(html); - } - else { - module.debug('Updating HTML', tabPath, html); - tab.innerHTML = html; - } - } - } - }, - - fetch: { - - content: function(tabPath, fullTabPath) { - var - $tab = module.get.tabElement(tabPath), - apiSettings = { - dataType : 'html', - encodeParameters : false, - on : 'now', - cache : settings.alwaysRefresh, - headers : { - 'X-Remote': true - }, - onSuccess : function(response) { - if(settings.cacheType == 'response') { - module.cache.add(fullTabPath, response); - } - module.update.content(tabPath, response); - if(tabPath == activeTabPath) { - module.debug('Content loaded', tabPath); - module.activate.tab(tabPath); - } - else { - module.debug('Content loaded in background', tabPath); - } - settings.onFirstLoad.call($tab[0], tabPath, parameterArray, historyEvent); - settings.onLoad.call($tab[0], tabPath, parameterArray, historyEvent); - - if(settings.loadOnce) { - module.cache.add(fullTabPath, true); - } - else if(typeof settings.cacheType == 'string' && settings.cacheType.toLowerCase() == 'dom' && $tab.children().length > 0) { - setTimeout(function() { - var - $clone = $tab.children().clone(true) - ; - $clone = $clone.not('script'); - module.cache.add(fullTabPath, $clone); - }, 0); - } - else { - module.cache.add(fullTabPath, $tab.html()); - } - }, - urlData: { - tab: fullTabPath - } - }, - request = $tab.api('get request') || false, - existingRequest = ( request && request.state() === 'pending' ), - requestSettings, - cachedContent - ; - - fullTabPath = fullTabPath || tabPath; - cachedContent = module.cache.read(fullTabPath); - - - if(settings.cache && cachedContent) { - module.activate.tab(tabPath); - module.debug('Adding cached content', fullTabPath); - if(!settings.loadOnce) { - if(settings.evaluateScripts == 'once') { - module.update.content(tabPath, cachedContent, false); - } - else { - module.update.content(tabPath, cachedContent); - } - } - settings.onLoad.call($tab[0], tabPath, parameterArray, historyEvent); - } - else if(existingRequest) { - module.set.loading(tabPath); - module.debug('Content is already loading', fullTabPath); - } - else if($.api !== undefined) { - requestSettings = $.extend(true, {}, settings.apiSettings, apiSettings); - module.debug('Retrieving remote content', fullTabPath, requestSettings); - module.set.loading(tabPath); - $tab.api(requestSettings); - } - else { - module.error(error.api); - } - } - }, - - activate: { - all: function(tabPath) { - module.activate.tab(tabPath); - module.activate.navigation(tabPath); - |