diff --git a/Makefile b/Makefile index dc7acd0..4939fcc 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ #!Makefile -HUGO=hugo +HUGO=hugo-extended .PHONY: build serve draft clean travis netlify diff --git a/assets/images/members/3mdeb.png b/assets/images/members/3mdeb.png new file mode 100644 index 0000000..f64b290 Binary files /dev/null and b/assets/images/members/3mdeb.png differ diff --git a/assets/images/members/Membership Kit/OPF Bylaws. 2015.pdf b/assets/images/members/Membership Kit/OPF Bylaws. 2015.pdf new file mode 100644 index 0000000..ef43a30 Binary files /dev/null and b/assets/images/members/Membership Kit/OPF Bylaws. 2015.pdf differ diff --git a/assets/images/members/Membership Kit/OpenPOWER Membership Agreement.v8Sept.27.2016.pdf b/assets/images/members/Membership Kit/OpenPOWER Membership Agreement.v8Sept.27.2016.pdf new file mode 100644 index 0000000..1bfd81d Binary files /dev/null and b/assets/images/members/Membership Kit/OpenPOWER Membership Agreement.v8Sept.27.2016.pdf differ diff --git a/assets/images/members/Membership Kit/OpenPower Foundation IPR Policy.15July.2015 (1) (2).pdf b/assets/images/members/Membership Kit/OpenPower Foundation IPR Policy.15July.2015 (1) (2).pdf new file mode 100644 index 0000000..78cc7f3 Binary files /dev/null and b/assets/images/members/Membership Kit/OpenPower Foundation IPR Policy.15July.2015 (1) (2).pdf differ diff --git a/assets/images/members/Membership-Kit.9.27.16.zip b/assets/images/members/Membership-Kit.9.27.16.zip new file mode 100644 index 0000000..2d7bfbb Binary files /dev/null and b/assets/images/members/Membership-Kit.9.27.16.zip differ diff --git a/assets/images/members/antmicro.png b/assets/images/members/antmicro.png new file mode 100644 index 0000000..894ca99 Binary files /dev/null and b/assets/images/members/antmicro.png differ diff --git a/assets/images/members/codeconstruct.png b/assets/images/members/codeconstruct.png new file mode 100644 index 0000000..01b554f Binary files /dev/null and b/assets/images/members/codeconstruct.png differ diff --git a/assets/images/members/credativ.png b/assets/images/members/credativ.png new file mode 100644 index 0000000..8cb9508 Binary files /dev/null and b/assets/images/members/credativ.png differ diff --git a/assets/images/members/everspin.jpg b/assets/images/members/everspin.jpg new file mode 100644 index 0000000..aadf013 Binary files /dev/null and b/assets/images/members/everspin.jpg differ diff --git a/assets/images/members/google.png b/assets/images/members/google.png new file mode 100644 index 0000000..773f587 Binary files /dev/null and b/assets/images/members/google.png differ diff --git a/assets/images/members/hitachi.png b/assets/images/members/hitachi.png new file mode 100644 index 0000000..e7a56c5 Binary files /dev/null and b/assets/images/members/hitachi.png differ diff --git a/assets/images/members/ibm.png b/assets/images/members/ibm.png new file mode 100644 index 0000000..74912a4 Binary files /dev/null and b/assets/images/members/ibm.png differ diff --git a/assets/images/members/innoboost.png b/assets/images/members/innoboost.png new file mode 100644 index 0000000..ded248a Binary files /dev/null and b/assets/images/members/innoboost.png differ diff --git a/assets/images/members/inspur-power-systems.png b/assets/images/members/inspur-power-systems.png new file mode 100644 index 0000000..5400942 Binary files /dev/null and b/assets/images/members/inspur-power-systems.png differ diff --git a/assets/images/members/oregonstateuniversity.png b/assets/images/members/oregonstateuniversity.png new file mode 100644 index 0000000..a8bd9f9 Binary files /dev/null and b/assets/images/members/oregonstateuniversity.png differ diff --git a/assets/images/members/raptorcomputingsystems.png b/assets/images/members/raptorcomputingsystems.png new file mode 100644 index 0000000..fd13de0 Binary files /dev/null and b/assets/images/members/raptorcomputingsystems.png differ diff --git a/assets/images/members/redhat.png b/assets/images/members/redhat.png new file mode 100644 index 0000000..1bc346c Binary files /dev/null and b/assets/images/members/redhat.png differ diff --git a/assets/images/members/thomaskrenn.png b/assets/images/members/thomaskrenn.png new file mode 100644 index 0000000..4e53bef Binary files /dev/null and b/assets/images/members/thomaskrenn.png differ diff --git a/assets/images/members/universityoforegon.jpg b/assets/images/members/universityoforegon.jpg new file mode 100644 index 0000000..37bef59 Binary files /dev/null and b/assets/images/members/universityoforegon.jpg differ diff --git a/assets/images/members/vantosh.png b/assets/images/members/vantosh.png new file mode 100644 index 0000000..6ce923c Binary files /dev/null and b/assets/images/members/vantosh.png differ diff --git a/assets/images/members/wistron.jpg b/assets/images/members/wistron.jpg new file mode 100644 index 0000000..165ee26 Binary files /dev/null and b/assets/images/members/wistron.jpg differ diff --git a/assets/images/members/yadro.png b/assets/images/members/yadro.png new file mode 100644 index 0000000..74f33cd Binary files /dev/null and b/assets/images/members/yadro.png differ diff --git a/assets/images/persons/allancantle.jpg b/assets/images/persons/allancantle.jpg new file mode 100644 index 0000000..e0e4eb7 Binary files /dev/null and b/assets/images/persons/allancantle.jpg differ diff --git a/assets/images/persons/artemikoev.jpg b/assets/images/persons/artemikoev.jpg new file mode 100644 index 0000000..b850f42 Binary files /dev/null and b/assets/images/persons/artemikoev.jpg differ diff --git a/assets/images/persons/hughblemings.jpg b/assets/images/persons/hughblemings.jpg new file mode 100644 index 0000000..f5300c3 Binary files /dev/null and b/assets/images/persons/hughblemings.jpg differ diff --git a/assets/images/persons/jameshuang.jpg b/assets/images/persons/jameshuang.jpg new file mode 100644 index 0000000..6dbac5e Binary files /dev/null and b/assets/images/persons/jameshuang.jpg differ diff --git a/assets/images/persons/jameskulina.jpg b/assets/images/persons/jameskulina.jpg new file mode 100644 index 0000000..cc24bf9 Binary files /dev/null and b/assets/images/persons/jameskulina.jpg differ diff --git a/assets/images/persons/mendyfermanuk.jpg b/assets/images/persons/mendyfermanuk.jpg new file mode 100644 index 0000000..d071df9 Binary files /dev/null and b/assets/images/persons/mendyfermanuk.jpg differ diff --git a/assets/images/persons/sameershende.jpg b/assets/images/persons/sameershende.jpg new file mode 100644 index 0000000..614a317 Binary files /dev/null and b/assets/images/persons/sameershende.jpg differ diff --git a/assets/images/persons/timansell.jpg b/assets/images/persons/timansell.jpg new file mode 100644 index 0000000..d4d2f6b Binary files /dev/null and b/assets/images/persons/timansell.jpg differ diff --git a/assets/images/persons/timothypearson.jpg b/assets/images/persons/timothypearson.jpg new file mode 100644 index 0000000..23a17be Binary files /dev/null and b/assets/images/persons/timothypearson.jpg differ diff --git a/assets/images/persons/toshaanbharvani.jpg b/assets/images/persons/toshaanbharvani.jpg new file mode 100644 index 0000000..02cee47 Binary files /dev/null and b/assets/images/persons/toshaanbharvani.jpg differ diff --git a/config/_default/config.toml b/config/_default/config.toml new file mode 100644 index 0000000..5a72fb3 --- /dev/null +++ b/config/_default/config.toml @@ -0,0 +1,24 @@ +### config.toml +title = "OpenPOWER Foundation" +baseURL = "https://openpower.foundation/" +theme = "openpowerfoundation" +languageCode = "en-us" +dataDir = "data" +assetDir = "assets" +PaginatePath = "blog" +sectionPagesMenu = "main" +buildDrafts = false +pygmentsUseClasses = true +enableGitInfo = true +enableRobotsTXT = true + +[outputs] + home = [ "HTML", "Calendar", "JSON" , "RSS" ] + specifications = [ "HTML", "JSON" ] + schedule = [ "HTML", "Calendar" , "RSS" ] + +[outputFormats] +[outputFormats.RSS] + mediatype = "application/rss" + baseName = "feed" + suffix = "xml" diff --git a/config/_default/menus.toml b/config/_default/menus.toml new file mode 100644 index 0000000..410197b --- /dev/null +++ b/config/_default/menus.toml @@ -0,0 +1,133 @@ +[[navbar]] + name = "About" + identifier = "about" + url = "/about/" + weight = -2000 +[[navbar]] + parent = "about" + name = "Board of Directors" + identifier = "bod" + url = "/boardofdirectors/" + weight = -2000 +[[navbar]] + parent = "about" + name = "Steering Committee" + identifier = "steeringcommittee" + url = "/steeringcommittee" + weight = -1900 + +[[navbar]] + name = "Members" + identifier = "members" + url = "/members/" + weight = -1900 + +[[navbar]] + name = "HUB" + identifier = "hub" + url = "/hub/" + weight = -1800 + +[[navbar]] + name = "Community" + identifier = "community" + url = "/community/" + weight = -1700 +[[navbar]] + parent = "community" + name = "Git" + identifier = "git" + url = "https://git.openpower.foundation/" + post = "external link alternate icon" + weight = -2000 +[[navbar]] + parent = "community" + name = "Chat" + identifier = "chat" + url = "https://chat.openpower.foundation/" + post = "external link alternate icon" + weight = -1900 +[[navbar]] + parent = "community" + name = "Discuss" + identifier = "discuss" + url = "https://discuss.openpower.foundation/" + post = "external link alternate icon" + weight = -1800 +[[navbar]] + parent = "community" + name = "Planet" + identifier = "planet" + url = "https://planet.openpower.foundation" + post = "external link alternate icon" + weight = -1700 +[[navbar]] + parent = "community" + name = "GitHub" + identifier = "github" + url = "https://github.com/open-power/" + post = "external link alternate icon" + weight = -1600 +[[navbar]] + parent = "community" + name = "GitLab" + identifier = "gitlab" + url = "https://github.com/open-power/" + post = "external link alternate icon" + weight = -1500 +[[navbar]] + parent = "community" + name = "Slack" + identifier = "slack" + url = "https://openpwoerfoundation.slack.com/" + post = "external link alternate icon" + weight = -1400 +[[navbar]] + parent = "community" + name = "Causeway" + identifier = "causeway" + url = "https://members.openpowerfoundation.org" + post = "external link alternate icon" + weight = -1300 + +[[navbar]] + name = "Events" + identifier = "events" + url = "/events/" + weight = -1600 + +[[navbar]] + name = "Groups" + identifier = "groups" + url = "/groups/" + weight = -1600 + +[[navbar]] + name = "Resources" + identifier = "resources" + url = "/resources/" + weight = -1600 +[[navbar]] + parent = "resources" + name = "Technical Specifications" + identifier = "technicalspecifications" + url = "/specifications/" + weight = -2900 +[[navbar]] + parent = "resources" + name = "Reference Designs" + identifier = "referencedesigns" + url = "/resources/referencedesigns/" + weight = -2800 +[[navbar]] + parent = "resources" + name = "OpenPOWER Ready" + identifier = "ready" + url = "/resources/ready/" + weight = -2700 +[[navbar]] + parent = "resources" + name = "OpenPOWER Use Cases" + identifier = "usecases" + url = "/resources/usecases/" + weight = -2600 diff --git a/config/_default/params.toml b/config/_default/params.toml new file mode 100644 index 0000000..5eca439 --- /dev/null +++ b/config/_default/params.toml @@ -0,0 +1,2 @@ +#[toparea] +# text = "Regional Conference - 4th June 2020 - Intelligent Platforms" diff --git a/config/development/params.toml b/config/development/params.toml new file mode 100644 index 0000000..a9c4341 --- /dev/null +++ b/config/development/params.toml @@ -0,0 +1,5 @@ +#!parms.toml +[forms.contact] + URI = "https://webscripts.vantosh.com/forms/contact/vantoshcom" +[forms.hub] + URI = "http://localhost:8080/forms/hub/test/opf" diff --git a/config/production/params.toml b/config/production/params.toml new file mode 100644 index 0000000..e57c437 --- /dev/null +++ b/config/production/params.toml @@ -0,0 +1,9 @@ +#!parms.toml +[analytics.piwik] + URL = "https://stats.vantosh.com" + ID = "69" +[forms.contact] + URI = "https://webscripts.vantosh.com/forms/contact/opfm" +[forms.hub] + URI = "https://webscripts.vantosh.com/forms/hub/prod/opf" + diff --git a/content/about/_index.md b/content/about/_index.md new file mode 100644 index 0000000..7ecdbbc --- /dev/null +++ b/content/about/_index.md @@ -0,0 +1,6 @@ +--- +title: "About" +navbar: about +date: 2021-03-03 +draft: false +--- diff --git a/content/about/missionstatement.md b/content/about/missionstatement.md new file mode 100644 index 0000000..649dd3a --- /dev/null +++ b/content/about/missionstatement.md @@ -0,0 +1,26 @@ +--- +title: "Mission Statement" +date: 2021-03-06 +draft: false +--- + +The OpenPOWER Foundation Board of Directors is chartered to set the tactical and strategic direction of the organization. +In this capacity the Board has ratified the Foundations Mission Statement and 2019 Focus Areas as follows: + +_"Through the growing open ecosystem of the POWER Architecture and its associated technologies, +the OpenPOWER Foundation facilitates its Members to share expertise, investment and intellectual property to serve the evolving needs of all end users."_ + +Focus Areas : + +Recognizing that truly valuable solutions come from both strong open core technologies and a community that supports same, +the OpenPOWER Foundation (OPF) will focus in 2019 on these key areas : + +- Building and engaging our Developer communities across multiple areas including Open Source Software, Academia, Cloud, HPC, ISVs and AI. + - Increasing geographical and informal collaborations/events for member-to-member communication. +- Through the technical Working Groups continuing to enable the technologies, specifications and project deliverables that underpin Foundation activities. + - Providing/Increasing enablement for integration and information sharing capabilities to ease the ability to develop and integrate technologies. +- Championing the solutions and offerings of Members by encouraging collaboration across the OPF membership and promoting these to the wider marketplace. + - Partnering with other Open Source and Industry organizations to broaden reach. +- Growing membership and engagement at all levels. + - Ensuring membership structure, budget, and activities support long-term sustainability of the foundation, demonstrate business value of membership, and encourage participation. + diff --git a/content/boardofdirectors/_index.md b/content/boardofdirectors/_index.md new file mode 100644 index 0000000..344caa9 --- /dev/null +++ b/content/boardofdirectors/_index.md @@ -0,0 +1,5 @@ +--- +title: "Board of Directors" +date: 2021-03-03 +draft: false +--- diff --git a/content/boardofdirectors/artemikoev.md b/content/boardofdirectors/artemikoev.md new file mode 100644 index 0000000..1b80dd3 --- /dev/null +++ b/content/boardofdirectors/artemikoev.md @@ -0,0 +1,7 @@ +--- +title: "Artem Ikoev" +position: "Chairman" +weight: 1 +date: 2021-03-03 +draft: false +--- diff --git a/content/boardofdirectors/hughblemings.md b/content/boardofdirectors/hughblemings.md new file mode 100644 index 0000000..369daf4 --- /dev/null +++ b/content/boardofdirectors/hughblemings.md @@ -0,0 +1,7 @@ +--- +title: "Hugh Bleming" +position: "Advisor" +weight: 9000 +date: 2021-03-03 +draft: false +--- diff --git a/content/boardofdirectors/jameshuang.md b/content/boardofdirectors/jameshuang.md new file mode 100644 index 0000000..daeb161 --- /dev/null +++ b/content/boardofdirectors/jameshuang.md @@ -0,0 +1,7 @@ +--- +title: "James Huang" +position: "Director" +weight: 1000 +date: 2021-03-03 +draft: false +--- diff --git a/content/boardofdirectors/jameskulina.md b/content/boardofdirectors/jameskulina.md new file mode 100644 index 0000000..a08cdef --- /dev/null +++ b/content/boardofdirectors/jameskulina.md @@ -0,0 +1,8 @@ +--- +title: "James Kulina" +position: "Executive Director" +member: linuxfoundation +weight: 100 +date: 2021-03-03 +draft: false +--- diff --git a/content/boardofdirectors/mendyfurmanek.md b/content/boardofdirectors/mendyfurmanek.md new file mode 100644 index 0000000..9cf0fa5 --- /dev/null +++ b/content/boardofdirectors/mendyfurmanek.md @@ -0,0 +1,7 @@ +--- +title: "Mendy Furmanek" +position: "President" +weight: 10 +date: 2021-03-03 +draft: false +--- diff --git a/content/boardofdirectors/sameershende.md b/content/boardofdirectors/sameershende.md new file mode 100644 index 0000000..14fbb83 --- /dev/null +++ b/content/boardofdirectors/sameershende.md @@ -0,0 +1,7 @@ +--- +title: "Sameer Shende" +position: Director +weight: 4000 +date: 2021-03-03 +draft: false +--- diff --git a/content/boardofdirectors/timansell.md b/content/boardofdirectors/timansell.md new file mode 100644 index 0000000..ac2da00 --- /dev/null +++ b/content/boardofdirectors/timansell.md @@ -0,0 +1,7 @@ +--- +title: "Tim Ansell" +position: Director +weight: 1000 +date: 2021-03-03 +draft: false +--- diff --git a/content/boardofdirectors/timothypearson.md b/content/boardofdirectors/timothypearson.md new file mode 100644 index 0000000..22ac2e2 --- /dev/null +++ b/content/boardofdirectors/timothypearson.md @@ -0,0 +1,7 @@ +--- +title: "Timothy Pearson" +position: "Director" +weight: 3000 +date: 2021-03-03 +draft: false +--- diff --git a/content/community/_index.md b/content/community/_index.md new file mode 100644 index 0000000..7ffafc0 --- /dev/null +++ b/content/community/_index.md @@ -0,0 +1,5 @@ +--- +title: "Community links" +date: 2021-03-15 +draft: false +--- diff --git a/content/events/_index.md b/content/events/_index.md new file mode 100644 index 0000000..96744a3 --- /dev/null +++ b/content/events/_index.md @@ -0,0 +1,5 @@ +--- +title: "OpenPOWER Foundation Event List" +date: 2021-03-11 +draft: false +--- diff --git a/content/events/openpowersummit19eu.md b/content/events/openpowersummit19eu.md new file mode 100644 index 0000000..6e3d2a2 --- /dev/null +++ b/content/events/openpowersummit19eu.md @@ -0,0 +1,7 @@ +--- +title: "OpenPOWER Summit EU 2019" +eventdate: 2019-10-31 +eventplace: "Lyon, France" +date: 2019-10-31 +draft: false +--- diff --git a/content/events/openpowersummit20na.md b/content/events/openpowersummit20na.md new file mode 100644 index 0000000..3c9fea1 --- /dev/null +++ b/content/events/openpowersummit20na.md @@ -0,0 +1,15 @@ +--- +title: "OpenPOWER Summit Virtual 2020" +eventdate: 2020-09-15 +eventlocation: "Virtual" +summary: "The OpenPOWER Summit North America is going virtual on September 15, 2020." +date: 2020-09-15 +draft: false +--- + + +The OpenPOWER Summit North America is going virtual on September 15, 2020. + +The event will bring open hardware and software developers, OpenPOWER Member companies, +researchers and academics across the ecosystem to share learnings, highlight innovation and discuss the future of OpenPOWER +in an online setting. Architects, developers, executives, and end users are all welcome. diff --git a/content/events/openpowersummit21.md b/content/events/openpowersummit21.md new file mode 100644 index 0000000..516ea77 --- /dev/null +++ b/content/events/openpowersummit21.md @@ -0,0 +1,7 @@ +--- +title: "OpenPOWER Summit Virtual 2021" +eventdate: 2021-09-15 +eventlocation: "Virtual" +date: 2021-03-18 +draft: false +--- diff --git a/content/groups/_index.md b/content/groups/_index.md new file mode 100644 index 0000000..973e5d5 --- /dev/null +++ b/content/groups/_index.md @@ -0,0 +1,15 @@ +--- +title: "Workgroup Overview" +date: 2021-03-06 +draft: false +--- + +At the foundation we have 2 different distinct types of working groups. + + +A __Technical Workgroup (TWG)__ is a workgroup that provides technical specifications and will help define next-generation of the specifications, +definitions, and the compliance of these specifications with primary output being specification documents. + + +A __Special Integration Group (SIG)__ is a workgroup that provides an implementation of technical specifications with the goal to produce reference designs. +A SIG will normally provide a reference design, a finished product, or help maintain project for direct usage. diff --git a/content/groups/accelerator.md b/content/groups/accelerator.md new file mode 100644 index 0000000..9de8ae2 --- /dev/null +++ b/content/groups/accelerator.md @@ -0,0 +1,12 @@ +--- +title: "Accelerator Workgroup" +wgtype: sig +chair: curtwollbrink +members: + - ibm + - vantosh + - yadro + - allancantle +date: 2021-03-15 +draft: false +--- diff --git a/content/groups/compliance.md b/content/groups/compliance.md new file mode 100644 index 0000000..1a3e8d8 --- /dev/null +++ b/content/groups/compliance.md @@ -0,0 +1,11 @@ +--- +title: "Compliance Workgroup" +wgtype: twg +chair: sandywoodward +members: + - ibm + - yadro + - vantosh +date: 2021-03-15 +draft: false +--- diff --git a/content/groups/hpc.md b/content/groups/hpc.md new file mode 100644 index 0000000..c7e2f00 --- /dev/null +++ b/content/groups/hpc.md @@ -0,0 +1,12 @@ +--- +title: "High-Performance-Computing Workgroup" +wgtype: sig +chair: allancantle +members: + - allancantle + - ibm + - innoboost + - yadro +date: 2021-03-15 +draft: false +--- diff --git a/content/groups/isa.md b/content/groups/isa.md new file mode 100644 index 0000000..47a65c2 --- /dev/null +++ b/content/groups/isa.md @@ -0,0 +1,13 @@ +--- +title: "Instruction Set Architecture Workgroup" +wgtype: twg +chair: paulmackerras +members: + - ibm + - yadro + - raptorcomputingsystems +date: 2021-03-07 +draft: false +--- + +The OpenPOWER ISA Technical Workgroup is the workgroup that governs over the POWER ISA specifications. diff --git a/content/groups/librebmc.md b/content/groups/librebmc.md new file mode 100644 index 0000000..5ee33b1 --- /dev/null +++ b/content/groups/librebmc.md @@ -0,0 +1,14 @@ +--- +title: "LibreBMC Workgroup" +wgtype: sig +chair: paullecocq +members: + - ibm + - google + - antmicro + - raptorcomputingsystems + - vantosh + - yadro +date: 2021-03-15 +draft: false +--- diff --git a/content/groups/machinelearning.md b/content/groups/machinelearning.md new file mode 100644 index 0000000..72728f9 --- /dev/null +++ b/content/groups/machinelearning.md @@ -0,0 +1,13 @@ +--- +title: "Machine Learning AI Work Group" +wgtype: sig +chair: lionelclavien +members: + - innoboost + - google + - ibm + - vantosh + - yadro +date: 2021-03-15 +draft: false +--- diff --git a/content/groups/memory.md b/content/groups/memory.md new file mode 100644 index 0000000..3e1ffca --- /dev/null +++ b/content/groups/memory.md @@ -0,0 +1,11 @@ +--- +title: "Memory Workgroup" +wgtype: twg +chair: pierreluccantin +members: + - ibm + - google + - vantosh +date: 2021-03-15 +draft: false +--- diff --git a/content/groups/powerpi.md b/content/groups/powerpi.md new file mode 100644 index 0000000..67ba2bb --- /dev/null +++ b/content/groups/powerpi.md @@ -0,0 +1,12 @@ +--- +title: "PowerPi Workgroup" +wgtype: sig +chair: yehowshuaimmanuel +members: + - ibm + - yadro + - vantosh + - chipeleven +date: 2021-03-15 +draft: false +--- diff --git a/content/groups/systemsoftware.md b/content/groups/systemsoftware.md new file mode 100644 index 0000000..d11c779 --- /dev/null +++ b/content/groups/systemsoftware.md @@ -0,0 +1,13 @@ +--- +title: "System Software Workgroup" +wgtype: twg +chair: klauskiwi +members: + - ibm + - vantosh + - yadro + - 3mdeb + - stevenmunroe +date: 2021-03-15 +draft: false +--- diff --git a/content/hub/_index.md b/content/hub/_index.md new file mode 100644 index 0000000..a4bb10a --- /dev/null +++ b/content/hub/_index.md @@ -0,0 +1,9 @@ +--- +title: "Hub providers" +date: 2020-03-10 +draft: false +--- + +Here is a list of OpenPOWER Hub providers. +These providers give you access to OpenPOWER hardware to enable you to get acquinted with the OpenPOWER platform. +Each provider has it's specific setup and you can request access to the OPF Hub through our OPF Hub Request Form. diff --git a/content/hub/oregonstateuniversity.md b/content/hub/oregonstateuniversity.md new file mode 100644 index 0000000..66992f6 --- /dev/null +++ b/content/hub/oregonstateuniversity.md @@ -0,0 +1,10 @@ +--- +title: "OSU Open Source Lab" +member: oregonstateuniversity +provides: + - virtual + - container + - gpu +date: 2021-03-11 +draft: false +--- diff --git a/content/hub/raptorcomputingsystems.md b/content/hub/raptorcomputingsystems.md new file mode 100644 index 0000000..2d7a4f4 --- /dev/null +++ b/content/hub/raptorcomputingsystems.md @@ -0,0 +1,9 @@ +--- +title: "Raptor IntegriCloud" +member: raptorcomputingsystems +provides: + - virtual + - container +date: 2020-03-11 +draft: false +--- diff --git a/content/hub/universityoforegon.md b/content/hub/universityoforegon.md new file mode 100644 index 0000000..f7806f1 --- /dev/null +++ b/content/hub/universityoforegon.md @@ -0,0 +1,10 @@ +--- +title: "University of Oregon Exascale Computing Center" +member: universityoforegon +provides: + - virtual + - container + - gpu +date: 2021-03-11 +draft: false +--- diff --git a/content/hub/vantosh.md b/content/hub/vantosh.md new file mode 100644 index 0000000..bea4026 --- /dev/null +++ b/content/hub/vantosh.md @@ -0,0 +1,9 @@ +--- +title: "VanTosh OpenPOWER Hub" +member: vantosh +provides: + - virtual + - container +date: 2020-03-10 +draft: false +--- diff --git a/content/members/_index.md b/content/members/_index.md new file mode 100644 index 0000000..3290648 --- /dev/null +++ b/content/members/_index.md @@ -0,0 +1,7 @@ +--- +title: "Current Member List" +date: 2021-03-03 +draft: false +--- + +Our current members listed by membership levels : diff --git a/content/members/allancantle.md b/content/members/allancantle.md new file mode 100644 index 0000000..8355391 --- /dev/null +++ b/content/members/allancantle.md @@ -0,0 +1,8 @@ +--- +title: "Allan Cantle" +level: individual +country: "United States of America" +joined: 2020 +date: 2021-03-15 +draft: false +--- diff --git a/content/members/antmicro.md b/content/members/antmicro.md new file mode 100644 index 0000000..bba9feb --- /dev/null +++ b/content/members/antmicro.md @@ -0,0 +1,9 @@ +--- +title: "Antmicro" +level: silver +image: antmicro.png +country: "Poland" +joined: 2020 +date: 2021-03-15 +draft: false +--- diff --git a/content/members/become.md b/content/members/become.md new file mode 100644 index 0000000..338332b --- /dev/null +++ b/content/members/become.md @@ -0,0 +1,6 @@ +--- +title: "Become an OpenPOWER Foundation member" +date: 2021-03-02 +form: true +draft: false +--- diff --git a/content/members/credativ.md b/content/members/credativ.md new file mode 100644 index 0000000..244525c --- /dev/null +++ b/content/members/credativ.md @@ -0,0 +1,7 @@ +--- +title: "Credativ" +#image: credativ-logo.png +level: silver +date: 2021-03-02 +draft: false +--- diff --git a/content/members/google.md b/content/members/google.md new file mode 100644 index 0000000..48af50e --- /dev/null +++ b/content/members/google.md @@ -0,0 +1,9 @@ +--- +title: "Google" +image: "google.png" +level: platinum +country: "United States of America" +joined: 2013 +date: 2021-03-02 +draft: false +--- diff --git a/content/members/hitachi.md b/content/members/hitachi.md new file mode 100644 index 0000000..f8a540c --- /dev/null +++ b/content/members/hitachi.md @@ -0,0 +1,9 @@ +--- +title: "Hitachi" +image: "hitachi.png" +#link: +level: gold +joined: 2014 +date: 2021-03-02 +draft: false +--- diff --git a/content/members/ibm.md b/content/members/ibm.md new file mode 100644 index 0000000..6842842 --- /dev/null +++ b/content/members/ibm.md @@ -0,0 +1,11 @@ +--- +title: "IBM" +image: "ibm.png" +level: platinum +joined: 2013 +link: "https://www.ibm.com" +date: 2021-03-02 +draft: false +--- + +IBM, International Business Machines, the company that started the POWER architecture and a core member of the OpenPOWER foundation. diff --git a/content/members/innoboost.md b/content/members/innoboost.md new file mode 100644 index 0000000..429b901 --- /dev/null +++ b/content/members/innoboost.md @@ -0,0 +1,10 @@ +--- +title: "InnoBoost" +image: innoboost.png +level: silver +link: "https://www.inno-boost.com" +country: "Switzerland" +joined: 2016 +date: 2021-03-15 +draft: false +--- diff --git a/content/members/inspurpowersystems.md b/content/members/inspurpowersystems.md new file mode 100644 index 0000000..5ee7742 --- /dev/null +++ b/content/members/inspurpowersystems.md @@ -0,0 +1,9 @@ +--- +title: "Inspur Power Systems" +image: "inspur-power-systems.png" +level: platinum +country: "China" +joined: 2017 +date: 2021-03-03 +draft: false +--- diff --git a/content/members/oregonstateuniversity.md b/content/members/oregonstateuniversity.md new file mode 100644 index 0000000..b7bc2ca --- /dev/null +++ b/content/members/oregonstateuniversity.md @@ -0,0 +1,7 @@ +--- +title: "Oregon State University" +image: "oregonstateuniversity.png" +level: academic +date: 2021-03-03 +draft: false +--- diff --git a/content/members/raptorcomputingsystems.md b/content/members/raptorcomputingsystems.md new file mode 100644 index 0000000..f9bfdcb --- /dev/null +++ b/content/members/raptorcomputingsystems.md @@ -0,0 +1,9 @@ +--- +title: "Raptor Computing Systems" +image: "raptorcomputingsystems.png" +level: silver +country: "United States of America" +joined: 2018 +date: 2021-03-03 +draft: false +--- diff --git a/content/members/redhat.md b/content/members/redhat.md new file mode 100644 index 0000000..ec242bd --- /dev/null +++ b/content/members/redhat.md @@ -0,0 +1,9 @@ +--- +name: "Red Hat" +image: "redhat.png" +level: gold +country: "United States of America" +joined: 2017 +date: 2021-03-02 +draft: false +--- diff --git a/content/members/stevenmunroe.md b/content/members/stevenmunroe.md new file mode 100644 index 0000000..ff410ce --- /dev/null +++ b/content/members/stevenmunroe.md @@ -0,0 +1,8 @@ +--- +title: "Steven Munroe" +level: individual +country: "United States of America" +joined: 2017 +date: 2021-03-15 +draft: false +--- diff --git a/content/members/universityoforegon.md b/content/members/universityoforegon.md new file mode 100644 index 0000000..4638d03 --- /dev/null +++ b/content/members/universityoforegon.md @@ -0,0 +1,8 @@ +--- +title: "University of Oregon" +image: "universityoforegon.jpg" +level: academic +country: "United States of America" +date: 2021-03-03 +draft: false +--- diff --git a/content/members/vantosh.md b/content/members/vantosh.md new file mode 100644 index 0000000..00bfd72 --- /dev/null +++ b/content/members/vantosh.md @@ -0,0 +1,10 @@ +--- +title: "VanTosh" +image: "vantosh.png" +country: "Belgium" +link: "https://www.vantosh.com/?opf" +level: silver +joined: 2017 +date: 2021-03-02 +draft: false +--- diff --git a/content/members/wistron.md b/content/members/wistron.md new file mode 100644 index 0000000..a5e1cbf --- /dev/null +++ b/content/members/wistron.md @@ -0,0 +1,9 @@ +--- +title: "Wistron" +#image: +#link +level: silver +joined: 2014 +date: 2021-03-15 +draft: false +--- diff --git a/content/members/yadro.md b/content/members/yadro.md new file mode 100644 index 0000000..b3f46dd --- /dev/null +++ b/content/members/yadro.md @@ -0,0 +1,13 @@ +--- +title: "YADRO" +image: "yadro.png" +level: platinum +country: Russia +joined: 2015 +link: "https://www.yadro.com/" +date: 2021-03-02 +draft: false +--- + +YADRO is the absolute leader on the market of enterprise storage systems and holds a leading position in the high-performance server segment in Russia. +A domestic vendor has never before placed this high in the segments of the Russian market historically dominated by the large global vendors. diff --git a/content/persons/_index.md b/content/persons/_index.md new file mode 100644 index 0000000..2eea61a --- /dev/null +++ b/content/persons/_index.md @@ -0,0 +1,5 @@ +--- +title: "Key person of OpenPOWER Foundation" +date: 2021-03-03 +draft: false +--- diff --git a/content/persons/allancantle.md b/content/persons/allancantle.md new file mode 100644 index 0000000..08bbf99 --- /dev/null +++ b/content/persons/allancantle.md @@ -0,0 +1,14 @@ +--- +title: "Allan Cantle" +image: allancantle.jpg +member: allancantle +date: 2021-03-15 +draft: false +--- + +Allan Cantle currently is the CEO of Nallasway, a consulting Company in the area of Distributed, Heterogeneous, High Performance Computing Solutions. +Most recently, Allan was CTO of the I.S.I. group in Molex from 2018 to July 2020 after Nallatech was acquired by Molex along with BittWare. +Prior, Allan founded Nallatech where he resided for 25 years and held two positions; +CEO from 1993 thru 2005 where he had full P&L responsibility growing Nallatech's revenue at a 50% CAGR, and, +President and Founder from 2006 to 2018 where he was responsible for Nallatech's Product Roadmap based +around solving real application problems with the best heterogeneous computing solutions. diff --git a/content/persons/artemikoev.md b/content/persons/artemikoev.md new file mode 100644 index 0000000..1cff73e --- /dev/null +++ b/content/persons/artemikoev.md @@ -0,0 +1,13 @@ +--- +title: "Artem Ikoev" +member: "yadro" +image: "artemikoev.jpg" +date: 2021-03-03 +draft: false +--- + +Artem Ikoev is co-founder and technology visioner of YADRO Company. +Artem serves the role of CTO and he is responsible for company technology strategy and product development. +He manages software & hardware engineering and product teams in total of 160+ employees and demonstrates strong leadership and +encourages talents for continuous technology disruption. +Prior to YADRO Artem held a number of technical & business development positions in international companies with overall 20 years industry experience. diff --git a/content/persons/hughblemings.md b/content/persons/hughblemings.md new file mode 100644 index 0000000..f08d408 --- /dev/null +++ b/content/persons/hughblemings.md @@ -0,0 +1,16 @@ +--- +title: "Hugh Blemming" +image: "hughblemings.jpg" +member: individual +date: 2021-03-13 +draft: false +--- + +Hugh has had a long standing association with Free and Open Source Software, Open Hardware and POWER. +His career has spanned everything from Linux kernel development to engineering team management, +electronics design to product management at the likes of IBM, Canonical and Rackspace. +He has previously served as President on the Council of Linux Australia and on the Linux Foundation's Technical Advisory Board among other roles. + + +Based in Melbourne, Australia, Hugh served as the Executive Director of the OpenPOWER Foundation from November 2017 to May 2020 +and remains passionately involved in the OpenPOWER ecosystem in a voluntary capacity as a Board Advisor an individual contributor. diff --git a/content/persons/jameshuang.md b/content/persons/jameshuang.md new file mode 100644 index 0000000..d7d337c --- /dev/null +++ b/content/persons/jameshuang.md @@ -0,0 +1,13 @@ +--- +title: "James Huang" +member: inspurpowersystems +image: "jameshuang.jpg" +date: 2021-03-03 +draft: false +--- + +James is the Deputy G.M. of Inspur Power Systems Co., Ltd, which is a joint venture between Inspur(51%) and IBM(49%). +At IPS he leads OpenPOWER product planning, development, supply chain management and after-sales service. +Since the JV opened in 2018, IPS has successfully developed a rich OpenPOWER product portfolio and achieved great market success in China. +James has worked in server system design for Inspur more than 20 years, skilled in high-end server architecture design and UEFI BIOS, +BMC firmware development. diff --git a/content/persons/jameskulina.md b/content/persons/jameskulina.md new file mode 100644 index 0000000..fd7414b --- /dev/null +++ b/content/persons/jameskulina.md @@ -0,0 +1,16 @@ +--- +title: "James Kulina" +image: "jameskulina.jpg" +member: "openpowerfoundation" +date: 2021-03-03 +draft: false +--- + +James is Executive Director of the OpenPower Foundation, with over 10 years of open source experience across +hardware, software, and network engineering disciplines. +James brings a passion for open source and is committed to growing OpenPower Foundation's membership, community, and ecosystem. +He is a serial entrepreneur with a background in enterprise technology and has worked in roles spanning operations, +business development, product management, and engineering. +Previously, James was co-founder and COO at Hyper.sh, an open source cloud-native virtualization startup acquired by Ant Financial. +Prior to that, he led product management in Red Hat's OpenStack group, and was a product lead on AT&T's first OpenStack Cloud. +James graduated from University of Virginia with a degree in Electrical Engineering and is based in New York. diff --git a/content/persons/klauskiwi.md b/content/persons/klauskiwi.md new file mode 100644 index 0000000..a4a9331 --- /dev/null +++ b/content/persons/klauskiwi.md @@ -0,0 +1,7 @@ +--- +title: "Klaus Kiwi" +#image: +member: ibm +date: 2021-03-06 +draft: false +--- diff --git a/content/persons/lionelclavien.md b/content/persons/lionelclavien.md new file mode 100644 index 0000000..55f9c32 --- /dev/null +++ b/content/persons/lionelclavien.md @@ -0,0 +1,6 @@ +--- +title: "Lionel Clavien" +member: innoboost +date: 2021-03-16 +draft: false +--- diff --git a/content/persons/mendyfurmanek.md b/content/persons/mendyfurmanek.md new file mode 100644 index 0000000..b166938 --- /dev/null +++ b/content/persons/mendyfurmanek.md @@ -0,0 +1,17 @@ +--- +title: "Mendy Furmanek" +image: "mendyfermanuk.jpg" +member: ibm +date: 2021-03-03 +draft: false +--- + +Mendy Furmanek is the IBM Director of OpenPOWER Processor Enablement where she drives IBM partnerships in chip development as well as OpenCAPI partner enablement. +Mendy received a BSEE with a double major in Electrical/Computer Engineering and Computer Science from Duke University in 2001. +She also studied at the University of Madrid for her Spanish degree and the University of Queensland as part of her BSEE. +She first joined IBM in 2000 as a design and verification intern on POWER4 and has been part of the IBM processor development team ever since. +Mendy's expertise is in pre-silicon verification and led the development of a premier multi-hundred global verification team responsible for POWER, Z, and IBM System ASICs. +While focused in verification she has experience across all aspects of chip development. +She managed the overall delivery of POWER8 and then moved to her current executive role in OpenPOWER at the end of 2015. +Concurrently with becoming President of the OpenPOWER Foundation in 2019 Mendy led the opening of the POWER Instruction Set Architecture (ISA). +Mendy has a passion for the open hardware movement and is excited about the opportunities it presents for the industry. diff --git a/content/persons/paullecocq.md b/content/persons/paullecocq.md new file mode 100644 index 0000000..29feeef --- /dev/null +++ b/content/persons/paullecocq.md @@ -0,0 +1,6 @@ +--- +title: "Paul Lecocq" +member: ibm +date: 2021-03-15 +draft: false +--- diff --git a/content/persons/paulmackerras.md b/content/persons/paulmackerras.md new file mode 100644 index 0000000..b3352bb --- /dev/null +++ b/content/persons/paulmackerras.md @@ -0,0 +1,7 @@ +--- +title: "Paul Mackerras" +image: +member: ibm +date: 2021-03-06 +draft: false +--- diff --git a/content/persons/pierreluccantin.md b/content/persons/pierreluccantin.md new file mode 100644 index 0000000..4a498a3 --- /dev/null +++ b/content/persons/pierreluccantin.md @@ -0,0 +1,7 @@ +--- +title: "Pierre-Luc Cantin" +#image: +member: google +date: 2021-03-15 +draft: false +--- diff --git a/content/persons/sameershende.md b/content/persons/sameershende.md new file mode 100644 index 0000000..b5c12cb --- /dev/null +++ b/content/persons/sameershende.md @@ -0,0 +1,17 @@ +--- +title: "Sameer Shende" +image: "sameershende.jpg" +member: universityoforegon +date: 2021-03-03 +draft: false +--- + +Sameer Shende serves as the lead developer of the TAU Performance System, Program Database Toolkit (PDT), HPCLinux, +and Extreme-Scale Scientific Software Stack (E4S.io). +His research interests include performance instrumentation, measurement, and analysis tools for HPC. +He has extensive experience working on the OpenPOWER platform. +He has recently been appointed the Level 4 lead for the Exascale Computing Project (ECP), +Programming Models and Runtime (PMR) SDK area at the University of Oregon where he is leading the effort to provide +ECP Software Technology (ST) products in a container environment for HPC. +He has served as the the chair of the Performance Measurement, Modeling, +and Tools track at SC17 and the co-chair for the technical program at the ICPP 2017 conferences. diff --git a/content/persons/sandywoodward.md b/content/persons/sandywoodward.md new file mode 100644 index 0000000..1c2d205 --- /dev/null +++ b/content/persons/sandywoodward.md @@ -0,0 +1,6 @@ +--- +title: "Sandy Woodward" +member: ibm +date: 2021-03-15 +draft: false +--- diff --git a/content/persons/timansell.md b/content/persons/timansell.md new file mode 100644 index 0000000..83d6708 --- /dev/null +++ b/content/persons/timansell.md @@ -0,0 +1,8 @@ +--- +title: "Tim Ansell" +nickname: "mithro" +image: "timansell.jpg" +member: google +date: 2021-03-13 +draft: false +--- diff --git a/content/persons/timothypearson.md b/content/persons/timothypearson.md new file mode 100644 index 0000000..6601bda --- /dev/null +++ b/content/persons/timothypearson.md @@ -0,0 +1,12 @@ +--- +title: "Timothy Pearson" +image: "timothypearson.jpg" +member: "raptorcomputingsystems" +date: 2021-03-03 +draft: false +--- + +Timothy has worked in multiple areas of high performance systems design over the past 15 years, +from hardware / firmware to kernel and application development, with a strong emphasis on open solutions and system security. +In his time at Raptor he has been heavily involved in the inception and creation of the Talos and Blackbird lines of secure, +owner-controlled OpenPOWER machines, along with the FlexVer remote attestation technology. diff --git a/content/persons/toshaanbharvani.md b/content/persons/toshaanbharvani.md new file mode 100644 index 0000000..919c2b5 --- /dev/null +++ b/content/persons/toshaanbharvani.md @@ -0,0 +1,20 @@ +--- +title: "Toshaan Bharvani" +image: toshaanbharvani.jpg +nickname: toshywoshy +member: vantosh +date: 2021-03-03 +draft: false +--- + +Toshaan Bharvani is a IT consultant and currently CTO at VanTosh, from Antwerp, Belgium. He has a interest in Open Source Software and IT Hardware. +He started his IT interest at a very early age, when his father gave him his first own PC components. +Ever since he has been interested in IT hardware and software. +Toshaan started working for an IT reseller and learned a lot about the hardware part, ranging from motherboard designs, +to assembly process and to technical hardware reselling. +In business, he tends to combine higher level applications with lower level systems. +Toshaan has been involved in open source projects and communities, and focuses on hardware and software, +porting and optimizing software, running cloud and container platforms. + +VanTosh has been a member of the OpenPOWER Foundation from 2017, and Toshaan has been around the POWER platform since POWER5. +He was elected Chair of the Technical Steering Committee in September 2020. diff --git a/content/ready/powerel7.md b/content/ready/powerel7.md new file mode 100644 index 0000000..65b4f5e --- /dev/null +++ b/content/ready/powerel7.md @@ -0,0 +1,17 @@ +--- +title: "PowerEL 7" +vendor: "VanTosh" +link: "https://www.powerel.org/?opf" +date: 2020-01-13 +draft: false +--- + + +PowerEL stands for Power Enterprise Linux, +it originates from a requirement to have a fully free open source distribution for the IBM POWER 8 and higher platform. +The distribution takes it's inspiration and origin from various Open Source Enterprise Linux distributions such as +Red Hat, CentOS, Oracle Linux, Fedora, SuSE, and others. +PowerEL has been optimized for specific CPU features, +such as IBM Power8 or higher and Intel x86 AVX or higher, so it only works on cpu's with at least this set of features available. +PowerEL provides a very convenient way of more packages out of the box. +PowerEL uses the distro tag pel and uses the same ABI as the open source rhel based systems, so you can use existing binaries on PowerEL. diff --git a/content/specifications/64bitelfv2abi.md b/content/specifications/64bitelfv2abi.md new file mode 100644 index 0000000..f87e457 --- /dev/null +++ b/content/specifications/64bitelfv2abi.md @@ -0,0 +1,35 @@ +--- +title: "64-bit ELF v2 ABI Specification for OpenPOWER Architecture" +version: 1.4 +publicreview: false +date: 2021-03-15 +draft: false +--- + + +The ABI (application binary interface) specification provides the definitions for the machine interface and +inter-object interfaces for the little-endian POWER architecture. + +This specification defines the OpenPOWER ELF v2 ABI which is derived from and represents the first major update to the Power ABI +since the original release of the IBM® RS/6000® ABI. +It was developed to make extensive use of new functions available in OpenPOWER-compliant processors. +It expects an OpenPOWER-compliant processor to implement at least Power ISA v2.07B with all OpenPOWER Architecture instruction categories +as well as OpenPOWER-defined implementation characteristics for some implementation-specific features. + +The Executable and Linking Format (ELF) defines a linking interface for executables and shared objects in two parts : +the first part is the generic System V ABI, the second part is a processor-specific supplement. +This document, the OpenPOWER ABI for Linux Supplement for the Power Architecture 64-bit ELF V2 ABI, +is the OpenPOWER-compliant processor-specific supplement for use with ELF V2 on 64-bit IBM Power Architecture® systems. +This is not a complete System V ABI supplement because it does not define any library interfaces. +This document establishes both big-endian and little-endian application binary interfaces. +OpenPOWER-compliant processors in the 64-bit Power Architecture can execute in either big-endian or little-endian mode. +Executables and executable-generated data (in general) that subscribes to either byte ordering is not portable to a system running in the other mode. + + +ERRATA: +An OpenPOWER ELFv2 Errata: For ELFv2 ABI Version 1.4 has been published. These errata should be considered part of this specification until such time as a newer version of the full specification is published. +This document is a Standards Track, Work Group work product owned by the System Software Workgroup and handled in compliance with the requirements outlined in the OpenPOWER Foundation Work Group (WG) Process document. It was created using the Master Template Guide version 1.0. + +Comments, questions, etc. can be submitted to the public mailing list for this document at + +. diff --git a/content/specifications/_index.md b/content/specifications/_index.md new file mode 100644 index 0000000..fe3e846 --- /dev/null +++ b/content/specifications/_index.md @@ -0,0 +1,9 @@ +--- +title: "Technical Specifications" +date: 2021-03-22 +outputs: + - html + - rss + - json +draft: false +--- diff --git a/content/specifications/pviprcompliance.md b/content/specifications/pviprcompliance.md new file mode 100644 index 0000000..2a7d297 --- /dev/null +++ b/content/specifications/pviprcompliance.md @@ -0,0 +1,26 @@ +--- +title: "PVIPR Compliance Specification" +discoursetopic: "/pvipr-compliance-specification-feedback/" +date: 2021-03-22 +draft: false +--- + +This document provides requirements for a compiler to demonstrate compliance with the Power Vector Intrinsics Programming Reference, version 1.0. + +This document is a Standard Track, Workgroup Specification work product owned by the Compliance Workgroup +and handled in compliance with the requirements outlined in the OpenPOWER Foundation Work Group (WG) Process document. +Comments, questions, etc. can be submitted to the public mailing list for the parent specification at +. + +The input to this specification is the following specification which describes the vector intrinsics expected to be provided +by compilers targeting PowerISA 2.07 and 3.0B or later, as implemented on POWER8 and POWER9 systems. + +Power Vector Intrinsics Programming Reference (PVIPR) which is published on the resource catalog: +https://openpowerfoundation.org/?resource_lib=power-vector-intrinsic-programming-reference + +The PVIPR document is organized into the following chapters: +1. Introduction to Vector Programming on Power +2. The Power Bi-Endian Vector Programming Model +3. Vector Programming Techniques +4. Vector Intrinsic Reference +5. Instruction/Intrinsic Cross-Reference diff --git a/content/steeringcommittee/_index.md b/content/steeringcommittee/_index.md new file mode 100644 index 0000000..8a9750a --- /dev/null +++ b/content/steeringcommittee/_index.md @@ -0,0 +1,22 @@ +--- +title: "Steering Committee" +date: 2021-03-13 +draft: false +--- + +The Steering Committee (TSC) of OpenPOWER is composed of the chair of each OpenPOWER Work Group as well as a delegate from each of its Platinum Members. +Each member of the OpenPOWER TSC shall serve for a two-year term. +The operation of the TSC is governed by rules of process approved by the Board and led by an elected TSC chairman. + +Responsibilities of the TSC include: + +- Recommending the charter of new Work Groups to the Board; including scope of work and confidentiality level +- Resolving technical conflicts within and between Work Groups +- Evaluating requests for inter-project collaboration and recommending the chartering of new Work Groups to facilitate such collaboration +- Monitoring the technical progress of Work groups +- Approving OpenPOWER Standards Final Deliverables +- Establishing OpenPOWER Standards Final Deliverable quality standards, technical best practices and release dates +- Approving changes by Work Groups to OSS Communities and OSS Licenses in the Work Group's charter, + and under section 3.5 of the Intellectual Property Rights Policy +- Regularly reporting on progress of Work Groups to the Board + diff --git a/content/steeringcommittee/toshaanbharvani.md b/content/steeringcommittee/toshaanbharvani.md new file mode 100644 index 0000000..cdfa336 --- /dev/null +++ b/content/steeringcommittee/toshaanbharvani.md @@ -0,0 +1,6 @@ +--- +title: "Toshaan Bharvani" +position: "Steering Committee Chair" +date: 2021-03-03 +draft: false +--- diff --git a/data/hub/accesstype.yaml b/data/hub/accesstype.yaml new file mode 100644 index 0000000..11c74ac --- /dev/null +++ b/data/hub/accesstype.yaml @@ -0,0 +1,3 @@ +- name: "Bare Metal" +- name: "Virtual Machine" +- name: "Container" diff --git a/data/hub/additions.yaml b/data/hub/additions.yaml new file mode 100644 index 0000000..2ea9b75 --- /dev/null +++ b/data/hub/additions.yaml @@ -0,0 +1,3 @@ +- name: "None" +- name: "FPGA" +- name: "GPU" diff --git a/data/memberlevels.yaml b/data/memberlevels.yaml new file mode 100644 index 0000000..91bc140 --- /dev/null +++ b/data/memberlevels.yaml @@ -0,0 +1,24 @@ +- name: Platinum + identifier: platinum + size: 300x300 + col: 6 +- name: Gold + identifier: gold + size: 200x200 + col: 4 +- name: Silver + identifier: silver + size: 150x150 + col: 3 +- name: Academic + identifier: academic + size: 100x100 + col: 2 +- name: Associate + identifier: associate + size: 100x100 + col: 2 +- name: Individual + identifier: individual + size: 1x1 + col: 1 diff --git a/data/specifications/64bitelfv2abi.yaml b/data/specifications/64bitelfv2abi.yaml new file mode 100644 index 0000000..999d37f --- /dev/null +++ b/data/specifications/64bitelfv2abi.yaml @@ -0,0 +1,16 @@ +versions: + - number: "1.0" + date: "2014-07-21" + description: "Initial release." + - number: "1.1" + date: "2015-07-15" + description: "Incorporate errata." + - number: "1.2" + date: "2016-06-13" + description: "POWER8 errata" + - number: "1.3" + date: "2016-06-13" + description: "POWER9 errata" + - number: "1.4" + date: "2020-01-13" + description: "Conversion from FrameMaker to DocBook, minor corrections." diff --git a/data/specifications/pviprcompliance.yaml b/data/specifications/pviprcompliance.yaml new file mode 100644 index 0000000..879df12 --- /dev/null +++ b/data/specifications/pviprcompliance.yaml @@ -0,0 +1,7 @@ +versions: + - number: 0.1 + description: "Original draft" + - number: 0.5 + description: "Incorporate workgroup comments" + - number: 1.0 + description: "Initial release" diff --git a/data/workgroups.yaml b/data/workgroups.yaml new file mode 100644 index 0000000..526c90c --- /dev/null +++ b/data/workgroups.yaml @@ -0,0 +1,6 @@ +- name: "Technical Working Group" + id: twg + color: "#0000ff" +- name: "Special Integration Working Group" + id: sig + color: "#ff0000" diff --git a/themes/openpowerfoundation/LICENSE.md b/themes/openpowerfoundation/LICENSE.md new file mode 100644 index 0000000..10388ae --- /dev/null +++ b/themes/openpowerfoundation/LICENSE.md @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2018 Toshaan Bharvani + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/themes/openpowerfoundation/assets/css/changelog.scss b/themes/openpowerfoundation/assets/css/changelog.scss new file mode 100644 index 0000000..9a867a4 --- /dev/null +++ b/themes/openpowerfoundation/assets/css/changelog.scss @@ -0,0 +1,146 @@ +.changelog { + white-space: nowrap; + overflow-x: hidden; + margin: 10px 0px 10px 0px; +} +.changelog ol { + font-size: 0; + width: 100vw; + padding: 100px 0; + transition: all 1s; +} +.changelog ol li { + position: relative; + display: inline-block; + list-style-type: none; + width: 160px; + height: 3px; + background: #000000; +} +.changelog ol li:last-child { + width: 280px; +} +.changelog ol li:not(:first-child) { + margin-left: 14px; +} +.changelog ol li:not(:last-child)::after { + content: ''; + position: absolute; + top: 50%; + left: calc(100% + 1px); + bottom: 0; + width: 12px; + height: 12px; + transform: translateY(-50%); + background: #007aad; +} +.changelog ol li div { + position: absolute; + left: calc(100% + 7px); + width: 200px; + padding: 15px; + font-size: 1rem; + white-space: normal; + color: white; + background: #007aad; +} +.changelog ol li div::before { + content: ''; + position: absolute; + top: 100%; + left: 0; + width: 0; + height: 0; + border: 2px solid #007aad; +} +.changelog ol li:nth-child(odd) div { + top: -16px; + transform: translateY(-100%); +} +.changelog ol li:nth-child(odd) div::before { + top: 100%; + border-width: 8px 8px 0 0; + border-color: #007aad transparent transparent transparent; +} +.changelog ol li:nth-child(even) div { + top: calc(100% + 16px); +} +.changelog ol li:nth-child(even) div::before { + top: -8px; + border-width: 8px 0 0 8px; + border-color: transparent transparent transparent #007aad; +} +.changelog #version { + display: block; + font-size: 1.2rem; + font-weight: bold; + //margin-bottom: 8px; +} +.changelog #description { + display: block; + font-size: 0.7rem; + margin-bottom: 8px; +} +.changelog .arrows { + display: flex; + justify-content: center; + margin-bottom: 20px; +} +.changelog .arrows .arrow__prev { + margin-right: 20px; +} +.changelog .disabled { + opacity: .5; +} +.changelog .arrows img { + width: 45px; + height: 45px; +} + +@media screen and (max-width: 599px) { + .changelog ol, + .changelog ol li { + width: auto; + } + .changelog ol { + padding: 0; + transform: none !important; + } + .changelog ol li { + display: block; + height: auto; + background: transparent; + } + .changelog ol li:first-child { + margin-top: 25px; + } + .changelog ol li:not(:first-child) { + margin-left: auto; + } + .changelog ol li div { + width: 94%; + height: auto !important; + margin: 0 auto 25px; + } + .changelog ol li div { + position: static; + } + .changelog ol li:nth-child(odd) div { + transform: none; + } + .changelog ol li:nth-child(odd) div::before, + .changelog ol li:nth-child(even) div::before { + left: 50%; + top: 100%; + transform: translateX(-50%); + border: none; + border-left: 1px solid white; + height: 25px; + } + .changelog ol li:last-child, + .changelog ol li:nth-last-child(2) div::before, + .changelog ol li:not(:last-child)::after, + .changelog .arrows { + display: none; + } +} diff --git a/themes/openpowerfoundation/assets/css/style.css b/themes/openpowerfoundation/assets/css/style.css new file mode 100644 index 0000000..4285bad --- /dev/null +++ b/themes/openpowerfoundation/assets/css/style.css @@ -0,0 +1,1325 @@ +body { + background: #ffffff; + color: #000000; + font-family: "Open Sans", sans-serif; + overflow-x: hidden; +} +::selection { + color: #ffffff; + background: #007aad; +} +::-moz-selection { + color: #ffffff; + background: #007aad; +} +a { + color: #007aad; + transition: 0.5s; +} +a:hover, a:active, a:focus { + color: #007aad; + outline: none; + text-decoration: none; +} +p { + padding: 0; + margin: 0 0 30px 0; +} +h1, h2, h3, h4, h5, h6 { + font-family: "Montserrat", sans-serif; + font-weight: 400; + margin: 0 0 20px 0; + padding: 0; +} + +.back-to-top { + position: fixed; + display: none; + background: #ffffff; + color: #fff; + padding: 2px 20px 8px 20px; + font-size: 16px; + border-radius: 4px 4px 0 0; + right: 15px; + bottom: 0; + transition: none; +} +.back-to-top:focus { + background: #000000; + color: #ffffff; + outline: none; +} +.back-to-top:hover { + background: #ffffff; + color: #007aad; +} + +#preloader { + background: #007aad; + height: 100%; + opacity: 1; + filter: alpha(opacity=100); + position: fixed; + text-align: center; + width: 100%; + z-index: 99; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; +} +.preloader { + margin: 100px auto; + width: 40px; + height: 40px; + position: relative; +} +.preloader .sk-wave { + margin: 40px auto; + width: 60px; + height: 50px; + text-align: center; + font-size: 10px; +} +.preloader .sk-wave .sk-rect { + background-color: #007aad; + height: 100%; + width: 6px; + display: inline-block; + -webkit-animation: sk-waveStretchDelay 1.2s infinite ease-in-out; + animation: sk-waveStretchDelay 1.2s infinite ease-in-out; +} +.preloader .sk-wave .sk-rect1 { + -webkit-animation-delay: -1.2s; + animation-delay: -1.2s; +} +.preloader .sk-wave .sk-rect2 { + -webkit-animation-delay: -1.1s; + animation-delay: -1.1s; +} +.preloader .sk-wave .sk-rect3 { + -webkit-animation-delay: -1s; + animation-delay: -1s; +} +.preloader .sk-wave .sk-rect4 { + -webkit-animation-delay: -0.9s; + animation-delay: -0.9s; +} +.preloader .sk-wave .sk-rect5 { + -webkit-animation-delay: -0.8s; + animation-delay: -0.8s; +} +@-webkit-keyframes sk-waveStretchDelay { + 0%, 40%, 100% { + -webkit-transform: scaleY(0.4); + transform: scaleY(0.4); + } 20% { + -webkit-transform: scaleY(1); + transform: scaleY(1); + } +} +@keyframes sk-waveStretchDelay { + 0%, 40%, 100% { + -webkit-transform: scaleY(0.4); + transform: scaleY(0.4); + } 20% { + -webkit-transform: scaleY(1); + transform: scaleY(1); + } +} + +#header { + padding: 30px 0; + height: 92px; + position: fixed; + background: #007aad; + left: 0; + top: 0; + right: 0; + transition: all 0.5s; + z-index: 997; +} +#header #logo { + float: left; +} +#header #logo h1 { + font-size: 24px; + margin: -4px 0 0 0; + padding: 0; + line-height: 1; + display: inline-block; + font-family: "Montserrat", sans-serif; + font-weight: 300; + letter-spacing: 3px; + text-transform: uppercase; +} +#header #logo h1 a, #header #logo h1 a:hover { + color: #ffffff; +} +#header #logo img { + padding: 0; + margin: 0; + height: 50px; +} +@media (max-width: 768px) { + #header #logo h1 { + font-size: 18px; + margin-top: 0; + } + #header #logo img { + max-height: 50px; + } +} +#header.header-fixed { + background: #007aad; + padding: 20px 0; + height: 72px; + transition: all 0.5s; +} + +#featured { + background: #eeeeee; + position:relative; + width:100%; + height:auto; + margin:0; + padding:140px 0 30px; +} +@media (min-width: 1024px) { + section#featured { + background-attachment: fixed; + } +} +#featured { + text-align:center; +} +#featured h2 { + color:#fff; + font-size:64px; +} +#featured .inner-heading h2 { + margin-bottom:-20px; +} +#featured h4.subtitle { + font-family: Arial, Tahoma, Verdana, Sans-serif; + text-transform:none; + color:#f8f8f8; +} +#featured p { + color:#f8f8f8; +} +#sequence-theme #sequence { + min-height: 300px; + padding-right:40px; +} +#sequence ul li h4.subtitle { + display:none; +} +#sequence-theme #sequence { + width:80%; + min-height: 400px; + padding-right:40px; +} +#sequence ul li h4.subtitle { + display:none; +} +#sequence ul li img { + margin-top:30px; +} + +#intro { + width: 100%; + margin: 80px 0px 0px 0; + min-height: 100px; + background: #eeeeee; + position: relative; +} +#intro .intro-text { + position: absolute; + left: 0; + top: 5px; + right: 0; + height: calc(50% - 60px); + display: flex; + align-items: center; + justify-content: center; + text-align: center; + flex-direction: column; +} +#intro h2 { + margin: 20px 0 5px 0; + padding: 0 15px; + font-size: 48px; + font-weight: 400; + line-height: 36px; + color: #ffffff; +} +@media (max-width: 768px) { + #intro h2 { + font-size: 28px; + line-height: 36px; + } +} +#intro p { + color: #ffffff; + margin-bottom: 5px; + padding: 0 15px; + font-size: 24px; +} +@media (max-width: 768px) { + #intro p { + font-size: 18px; + line-height: 24px; + margin-bottom: 20px; + } +} +#intro .btn-get-started { + font-family: "Montserrat", sans-serif; + font-weight: 400; + font-size: 16px; + letter-spacing: 1px; + display: inline-block; + padding: 8px 28px; + border-radius: 50px; + transition: 0.5s; + margin: 10px; + border: 2px solid #fff; + color: #fff; +} +#intro .btn-get-started:hover { + color: #1dc8cd; + background: #fff; +} +#intro .product-screens { + position: absolute; + left: 0; + right: 0; + bottom: 0; + overflow: hidden; + text-align: center; + width: 100%; + height: 50%; +} +#intro .product-screens img { + box-shadow: 0px -2px 19px 4px rgba(0, 0, 0, 0.29); +} +#intro .product-screens .product-screen-0 { + position: absolute; + z-index: 30; + left: calc(25% + 14px); + bottom: 0; + top: 0px; +} +#intro .product-screens .product-screen-1 { + position: absolute; + z-index: 30; + left: calc(54px); + bottom: 0; + top: 0px; +} +#intro .product-screens .product-screen-2 { + position: absolute; + z-index: 20; + left: calc(33% - 154px); + bottom: 0; + top: 30px; +} +#intro .product-screens .product-screen-3 { + position: absolute; + z-index: 10; + left: calc(33% - 374px); + bottom: 0; + top: 60px; +} +@media (max-width: 767px) { + #intro .product-screens .product-screen-1 { + position: static; + padding-top: 30px; + } + #intro .product-screens .product-screen-2, #intro .product-screens .product-screen-3 { + display: none; + } +} + +.nav-menu, .nav-menu * { + margin: 0; + padding: 0; + list-style: none; +} +.nav-menu ul { + position: absolute; + display: none; + top: 100%; + left: 0; + z-index: 99; +} +.nav-menu li { + position: relative; + white-space: nowrap; +} +.nav-menu > li { + float: left; +} +.nav-menu li:hover > ul, +.nav-menu li.sfHover > ul { + display: block; +} +.nav-menu ul ul { + top: 0; + left: 100%; +} +.nav-menu ul li { + min-width: 150px; +} +.sf-arrows .sf-with-ul { + padding-right: 25px; +} +.sf-arrows .sf-with-ul:after { + content: "\f107"; + position: absolute; + right: 10px; + font-family: FontAwesome; + font-style: normal; + font-weight: normal; +} +.sf-arrows ul .sf-with-ul:after { + content: "\f105"; +} +#nav-menu-container { + float: right; + margin: 0; +} +@media (max-width: 1024px) { + #nav-menu-container { + display: none; + } +} +.nav-menu a { + padding: 0 8px 10px 8px; + text-decoration: none; + display: inline-block; + color: #ffffff; + font-family: "Montserrat", sans-serif; + font-weight: 400; + font-size: 14px; + outline: none; +} +.nav-menu > li { + margin-left: 5px; +} +.nav-menu ul { + margin: 4px 0 0 0; + padding: 10px; + box-shadow: 0px 0px 30px rgba(127, 137, 161, 0.25); + background: #ffffff; + border: 2px solid #007aad; +} +.nav-menu ul li { + transition: 0.3s; +} +.nav-menu ul li a { + padding: 10px; + color: #000000; + transition: 0.3s; + display: block; + font-size: 14px; + text-transform: none; +} +.nav-menu ul li:hover > a { + color: #007aad; +} +.nav-menu ul ul { + margin: 0; +} +#mobile-nav-toggle { + position: fixed; + right: 0; + top: 0; + z-index: 999; + margin: 20px 20px 0 0; + border: 0; + background: none; + font-size: 24px; + display: none; + transition: all 0.4s; + outline: none; + cursor: pointer; +} +#mobile-nav-toggle i { + color: #fff; +} +@media (max-width: 1024px) { + #mobile-nav-toggle { + display: inline; + } +} +#mobile-nav { + position: fixed; + top: 0; + padding-top: 18px; + bottom: 0; + z-index: 998; + background: rgba(52, 59, 64, 0.9); + left: -260px; + width: 260px; + overflow-y: auto; + transition: 0.4s; +} +#mobile-nav ul { + padding: 0; + margin: 0; + list-style: none; +} +#mobile-nav ul li { + position: relative; +} +#mobile-nav ul li a { + color: #fff; + font-size: 16px; + overflow: hidden; + padding: 10px 22px 10px 15px; + position: relative; + text-decoration: none; + width: 100%; + display: block; + outline: none; +} +#mobile-nav ul li a:hover { + color: #fff; +} +#mobile-nav ul li li { + padding-left: 30px; +} +#mobile-nav ul .menu-has-children i { + position: absolute; + right: 0; + z-index: 99; + padding: 15px; + cursor: pointer; + color: #fff; +} +#mobile-nav ul .menu-has-children i.fa-chevron-up { + color: #1dc8cd; +} +#mobile-nav ul .menu-item-active { + color: #007aad; +} +#mobile-body-overly { + width: 100%; + height: 100%; + z-index: 997; + top: 0; + left: 0; + position: fixed; + background: rgba(52, 59, 64, 0.9); + display: none; +} +body.mobile-nav-active { + overflow: hidden; +} +body.mobile-nav-active #mobile-nav { + left: 0; +} +body.mobile-nav-active #mobile-nav-toggle { + color: #fff; +} + +.section-header .section-title { + margin-top: 90px; + font-size: 48px; + color: #000000; + text-align: center; + font-weight: 400; +} +.section-header .section-description { + text-align: center; + padding-bottom: 40px; + color: #777777; + font-style: italic; +} +.section-header .section-divider { + display: block; + width: 250px; + height: 5px; + background: #007aad; + margin: 0 auto; + margin-bottom: 20px; +} +.section-bg { + background: #eff5f5; +} + +.payments { + text-align: center; +} + +@media (max-width: 1280px) { + #page img { + width: 75%; + height: 75%; + } +} +@media (max-width: 720px) { + #page img { + width: 50%; + height: 50%; + } +} +@media (max-width: 480px) { + #page img { + width: 25%; + height: 25%; + } +} + +#list { + font-size: 32px; +} +#list ul { + list-style: none; +} +#list ul li { + padding: 20px; + font-size: 32px; + line-height: 48px; +} +#list ul li a { + padding: 20px; +} +#list ul li a:hover { + background: #333333; +} + +#about { + padding: 60px 0; +} +#about .about-img { + height: 510px; + overflow: hidden; +} +#about .about-img img { + margin-left: -15px; + max-width: 100%; +} +@media (max-width: 768px) { + #about .about-img { + height: auto; + } + #about .about-img img { + margin-left: 0; + padding-bottom: 30px; + } +} +#about .content .h2 { + color: #333; + font-weight: 300; + font-size: 24px; +} +#about .content h3 { + color: #777; + font-weight: 300; + font-size: 18px; + line-height: 26px; + font-style: italic; +} +#about .content p { + line-height: 26px; +} +#about .content p:last-child { + margin-bottom: 0; +} +#about .content i { + font-size: 20px; + padding-right: 4px; + color: #1dc8cd; +} +#about .content ul { + list-style: none; + padding: 0; +} +#about .content ul li { + padding-bottom: 10px; +} + +#features { + background: #ffffff; + padding: 60px 0 0 0; +} +#features .features-img { + text-align: center; + padding-top: 20px; +} +@media (min-width: 769px) { + #features .features-img { + padding-top: 120px; + margin-top: -200px; + } +} +#features .features-img img { + max-width: 100%; +} +#features .box { + margin-bottom: 15px; + text-align: center; +} +#features .icon { + margin-bottom: 10px; +} +#features .icon i { + color: #ff8800; + font-size: 40px; + transition: 0.5s; +} +#features .icon i:before { + background: #1dc8cd; + background: linear-gradient(45deg, #ffff00 0%, #ff8800 100%); + background-clip: border-box; + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; +} +#features .title { + font-weight: 300; + margin-bottom: 15px; + font-size: 22px; +} +#features .title a { + color: #111; +} +#features .description { + font-size: 14px; + line-height: 24px; + margin-bottom: 10px; +} +#features .section-description { + padding-bottom: 10px; +} + +#advanced-features .features-row { + padding: 60px 0 30px 0; +} +#advanced-features h2 { + font-size: 26px; + font-weight: 700; + color: #000; +} +#advanced-features h3 { + font-size: 16px; + line-height: 24px; + font-weight: 400; + font-style: italic; + color: #999; +} +#advanced-features p { + line-height: 24px; + color: #777; + margin-bottom: 30px; +} +#advanced-features i { + color: #666666; + font-size: 64px; + transition: 0.5s; + float: left; + padding: 0 15px 0px 0; + line-height: 1; +} +#advanced-features i:before { + background: #1dc8cd; + background: linear-gradient(45deg, #1dc8cd 0%, #55fabe 100%); + background-clip: border-box; + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; +} +#advanced-features .advanced-feature-img-right { + max-width: 100%; + float: right; + padding: 0 0 30px 30px; +} +#advanced-features .advanced-feature-img-left { + max-width: 100%; + float: left; + padding: 0 30px 30px 0; +} +@media (max-width: 768px) { + #advanced-features .advanced-feature-img-right, #advanced-features .advanced-feature-img-left { + max-width: 50%; + } +} +@media (max-width: 767px) { + #advanced-features .advanced-feature-img-right, #advanced-features .advanced-feature-img-left { + max-width: 100%; + float: none; + padding: 0 0 30px 0; + } +} + +#call-to-action { + background: linear-gradient(rgba(29, 200, 205, 0.65), rgba(29, 205, 89, 0.2)), url(../img/call-to-action-bg.jpg) fixed center center; + background-size: cover; + padding: 40px 0; +} +#call-to-action .cta-title { + color: #ffffff; + font-size: 32px; + font-weight: 700; +} +#call-to-action .cta-text { + color: #ffffff; +} +@media (min-width: 769px) { + #call-to-action .cta-btn-container { + display: flex; + align-items: center; + justify-content: flex-end; + } +} +#call-to-action .cta-btn { + font-family: "Montserrat", sans-serif; + font-weight: 500; + font-size: 24px; + letter-spacing: 1px; + display: inline-block; + padding: 8px 30px; + border-radius: 25px; + transition: background 0.5s; + margin: 10px; + border: 2px solid #ffffff; + color: #ffffff; +} +#call-to-action .cta-btn:hover { + background: #ff8800; + border: 2px solid #ff8800; +} + +#more-features { + padding: 60px 0 60px 0; +} +#more-features .box { + padding: 40px; + margin-bottom: 30px; + box-shadow: 0px 0px 30px rgba(73, 78, 92, 0.15); + background: #fff; + transition: 0.4s; +} +#more-features .icon { + float: left; +} +#more-features .icon i { + color: #666666; + font-size: 72px; + transition: 0.5s; + line-height: 0; +} +/* +#more-features .icon i:before { + background: #ff8800; + background: linear-gradient(45deg, #ffff00 0%, #ff8800 100%); + background-clip: border-box; + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; +} +*/ +#more-features h4 { + margin-left: 100px; + font-weight: 700; + margin-bottom: 15px; + font-size: 18px; +} +#more-features h4 a { + color: #111; +} +#more-features p { + font-size: 14px; + margin-left: 100px; + margin-bottom: 0; + line-height: 24px; +} +@media (max-width: 767px) { + #more-features .box { + margin-bottom: 20px; + } + #more-features .icon { + float: none; + text-align: center; + padding-bottom: 15px; + } + #more-features h4, #more-features p { + margin-left: 0; + text-align: center; + } +} + +#imagebar { + padding: 30px 0; + background: #fff; +} +#imagebar img { + max-width: 100%; + opacity: 0.5; + transition: 0.3s; + padding: 15px 0; +} +#imagebar img:hover { + opacity: 1; +} + +#pricing { + padding: 60px 0 60px 0; +} +#pricing .box { + padding: 10px; + margin-bottom: 30px; + box-shadow: 0px 0px 30px rgba(73, 78, 92, 0.15); + background: #fff; + text-align: center; +} +#pricing h3 { + font-weight: 400; + margin-bottom: 15px; + font-size: 28px; +} +#pricing h4 { + font-weight: 300; + font-size: 24px; + color: #1dc8cd; +} +#pricing h4 sup { + font-size: 20px; + top: -20px; +} +#pricing h4 span { + color: #bababa; + font-size: 20px; +} +#pricing ul { + padding: 0; + list-style: none; + color: #999; + text-align: left; + line-height: 20px; +} +#pricing ul li { + padding-bottom: 12px; +} +#pricing ul i { + color: #1dc8cd; + font-size: 18px; + padding-right: 4px; +} +#pricing .get-started-btn { + background: #515e61; + display: inline-block; + padding: 6px 30px; + border-radius: 20px; + color: #fff; + transition: none; + font-size: 14px; + font-weight: 400; + font-family: "Montserrat", sans-serif; +} +#pricing .featured { + border: 2px solid #1dc8cd; +} +#pricing .featured .get-started-btn { + background: linear-gradient(45deg, #1de099, #1dc8cd); +} + +#faq { + padding: 60px 0; +} +#faq #faq-list { + padding: 0; + list-style: none; +} +#faq #faq-list li { + border-bottom: 1px solid #ddd; +} +#faq #faq-list a { + padding: 18px 0; + display: block; + position: relative; + font-family: "Montserrat", sans-serif; + font-size: 22px; + line-height: 1; + font-weight: 300; + padding-right: 20px; +} +#faq #faq-list i { + font-size: 24px; + position: absolute; + right: 0; + top: 16px; +} +#faq #faq-list p { + margin-bottom: 20px; +} +@media (max-width: 768px) { + #faq #faq-list a { + font-size: 18px; + } + #faq #faq-list i { + top: 13px; + } +} +#faq #faq-list a.collapse { + color: #1dc8cd; +} + +#faq #faq-list a.collapsed { + color: #000; +} + +#faq #faq-list a.collapsed i::before { + content: "\f2c7" !important; +} + +#members { + background: "#ffffff;"; +} +#members a { + color: #000000; +} +#members h2 { + color: #007aad; + text-decoration: underline; +} +#members #level { + padding: 50px 50px 25px 25px; +} +#members .section-divider { + background-color: #007aad; +} + +#member #section-header { + text-align: center; +} + +#membersingle { + margin: 125px 50px 25px 25px; +} + +#boardofdirectors { + background-color: "#ff88ff;"; +} +#boardofdirectors #person { + padding: 10px 10px 10px 10px; +} +#boardofdirectors #person-header { + border-bottom: 2px solid #007aad; +} + +#hub { + margin-bottom: 50px; +} + +#hubprovider { + text-align: center; + padding: 35px 35px 25px 25px; +} + +#team { + padding: 60px 0; +} +#team .member { + text-align: center; + margin-bottom: 20px; +} +#team .member .pic { + margin-bottom: 15px; + overflow: hidden; + height: 260px; +} +#team .member .pic img { + max-width: 100%; +} +#team .member h4 { + font-weight: 700; + margin-bottom: 2px; + font-size: 18px; +} +#team .member span { + font-style: italic; + display: block; + font-size: 13px; +} +#team .member .social { + margin-top: 15px; +} +#team .member .social a { + color: #b3b3b3; +} +#team .member .social a:hover { + color: #1dc8cd; +} +#team .member .social i { + font-size: 18px; + margin: 0 2px; +} + +#gallery { + background: #fff; + padding: 60px 0 0 0; +} +#gallery .container-fluid { + padding: 0px; +} +#gallery .gallery-overlay { + position: absolute; + top: 100px; + right: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + opacity: 1; + -webkit-transition: all ease-in-out 0.4s; + transition: all ease-in-out 0.4s; +} +#gallery .gallery-item { + overflow: hidden; + position: relative; + padding: 0; + vertical-align: middle; + text-align: center; +} +#gallery .gallery-item img { + -webkit-transition: all ease-in-out 0.4s; + transition: all ease-in-out 0.4s; + width: 100%; +} +#gallery .gallery-item:hover img { + -webkit-transform: scale(1.1); + transform: scale(1.1); +} +#gallery .gallery-item:hover .gallery-overlay { + opacity: 1; + background: rgba(0, 0, 0, 0.7); +} + +#contact { + background: #eeeeee; + box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.1); + padding: 10px 0; +} +#contact .contact-about h3 { + font-size: 36px; + margin: 0 0 10px 0; + padding: 0; + line-height: 1; + font-family: "Montserrat", sans-serif; + font-weight: 300; + letter-spacing: 3px; + text-transform: uppercase; + color: #ff8800; +} +#contact .contact-about p { + font-size: 14px; + line-height: 16px; + font-family: "Montserrat", sans-serif; + color: #888; +} +#contact .social-links { + padding-bottom: 20px; +} +#contact .social-links a { + font-size: 18px; + display: inline-block; + background: #fff; + color: #ff8800; + line-height: 1; + padding: 8px 0; + margin-right: 4px; + border-radius: 50%; + text-align: center; + width: 36px; + height: 36px; + transition: 0.3s; + border: 1px solid #ff8800; +} +#contact .social-links a:hover { + background: #ff8800; + color: #ffffff; +} +#contact .info { + color: #000000; +} +#contact .info i { + font-size: 24px; + color: #ff8800; + float: left; + line-height: 1; +} +#contact .info p { + padding: 0 0 0 42px; + line-height: 14px; + font-size: 12px; +} +#contact .form #sendmessage { + color: #ff8800; + border: 1px solid #1dc8cd; + display: none; + text-align: center; + padding: 15px; + font-weight: 600; + margin-bottom: 15px; +} +#contact .form #errormessage { + color: red; + display: none; + border: 1px solid red; + text-align: center; + padding: 15px; + font-weight: 600; + margin-bottom: 15px; +} +#contact .form #sendmessage.show, #contact .form #errormessage.show, #contact .form .show { + display: block; +} +#contact .form .validation { + color: red; + display: none; + margin: 0 0 20px; + font-weight: 400; + font-size: 13px; +} +#contact .form input, #contact .form textarea { + border-radius: 0; + box-shadow: none; + font-size: 14px; +} +#contact .form button[type="submit"] { + background: #ff8800; + border: 0; + border-radius: 20px; + padding: 8px 30px; + color: #fff; +} +#contact .form button[type="submit"]:hover { + background: #333333; + cursor: pointer; +} + +#hub .form #sendmessage { + color: #ff8800; + border: 1px solid #1dc8cd; + display: none; + text-align: center; + padding: 15px; + font-weight: 600; + margin-bottom: 15px; +} +#hub .form #errormessage { + color: red; + display: none; + border: 1px solid red; + text-align: center; + padding: 15px; + font-weight: 600; + margin-bottom: 15px; +} +#hub .form #sendmessage.show, #hub .form #errormessage.show, #hub .form .show { + display: block; +} +#hub .form .validation { + color: red; + display: none; + margin: 0 0 20px; + font-weight: 400; + font-size: 13px; +} +#hub .form input, #contact .form textarea { + border-radius: 0; + box-shadow: none; + font-size: 14px; +} +#hub .form button[type="submit"] { + background: #007aad; + border: 0; + border-radius: 20px; + padding: 8px 30px; + color: #fff; +} +#hub .form button[type="submit"]:hover { + background: #007ddd; + cursor: pointer; +} + +#footer { + background: #007aad; + color: #ffffff; + box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.1); + padding: 20px 0; + font-size: 14px; +} +#footer .bar { + text-align: center; + border-bottom: 10px solid #ffff00; + padding-bottom: 10px; +} +#footer .bar ul { + list-style: none; + margin: 0; + padding: 0; + overflow: hidden; +} +#footer .bar ul li { + float: left; + text-align: center; + line-height: 36px; + padding: 10px; +} +#footer .bar ul li a { + display: block; + text-decoration: none; + color: #ffff00; + font-size: 32px; +} +#footer .bar ul li a:hover { + color: #ffffff; +} +#footer .footer-links { + text-align: center; +} +#footer .footer-links ul { + list-style: none; + -webkit-column-count: 5; + -moz-column-count: 5; + column-count: 5; + flex-wrap: wrap; + display: flex; +} +#footer .footer-links ul li { + flex: 1 0 20%; +} +#footer .footer-links a { + color: #ff9900; + padding-left: 15px; +} +#footer .footer-links a:first-child { + padding-left: 0; +} +#footer .footer-links a:hover { + color: #ffff00; +} +#footer .footerline { + background-color: #ffffff; + padding: 2px 0px 2px 0px; +} +#footer .copyright { + text-align: center; +} +#footer .legal { + margin-top: 10px; + font-size: 8px; + color: #cccccc; +} +#footer .version { + text-align: center; + margin-bottom: 15px; + font-size: 6px; + color: #ffffff; +} +#search-query { + width: 75%; +} diff --git a/themes/openpowerfoundation/assets/css/syntax.css b/themes/openpowerfoundation/assets/css/syntax.css new file mode 100644 index 0000000..33ce367 --- /dev/null +++ b/themes/openpowerfoundation/assets/css/syntax.css @@ -0,0 +1,59 @@ +/* Background */ .chroma { color: #f8f8f2; background-color: #272822 } +/* Error */ .chroma .err { color: #960050; background-color: #1e0010 } +/* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } +/* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: 100%; overflow: auto; display: block; } +/* LineHighlight */ .chroma .hl { display: block; width: 100%;background-color: #ffffcc } +/* LineNumbersTable */ .chroma .lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em; display: block; } +/* LineNumbers */ .chroma .ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em; } +/* Keyword */ .chroma .k { color: #66d9ef } +/* KeywordConstant */ .chroma .kc { color: #66d9ef } +/* KeywordDeclaration */ .chroma .kd { color: #66d9ef } +/* KeywordNamespace */ .chroma .kn { color: #f92672 } +/* KeywordPseudo */ .chroma .kp { color: #66d9ef } +/* KeywordReserved */ .chroma .kr { color: #66d9ef } +/* KeywordType */ .chroma .kt { color: #66d9ef } +/* NameAttribute */ .chroma .na { color: #a6e22e } +/* NameClass */ .chroma .nc { color: #a6e22e } +/* NameConstant */ .chroma .no { color: #66d9ef } +/* NameDecorator */ .chroma .nd { color: #a6e22e } +/* NameException */ .chroma .ne { color: #a6e22e } +/* NameFunction */ .chroma .nf { color: #a6e22e } +/* NameOther */ .chroma .nx { color: #a6e22e } +/* NameTag */ .chroma .nt { color: #f92672 } +/* Literal */ .chroma .l { color: #ae81ff } +/* LiteralDate */ .chroma .ld { color: #e6db74 } +/* LiteralString */ .chroma .s { color: #e6db74 } +/* LiteralStringAffix */ .chroma .sa { color: #e6db74 } +/* LiteralStringBacktick */ .chroma .sb { color: #e6db74 } +/* LiteralStringChar */ .chroma .sc { color: #e6db74 } +/* LiteralStringDelimiter */ .chroma .dl { color: #e6db74 } +/* LiteralStringDoc */ .chroma .sd { color: #e6db74 } +/* LiteralStringDouble */ .chroma .s2 { color: #e6db74 } +/* LiteralStringEscape */ .chroma .se { color: #ae81ff } +/* LiteralStringHeredoc */ .chroma .sh { color: #e6db74 } +/* LiteralStringInterpol */ .chroma .si { color: #e6db74 } +/* LiteralStringOther */ .chroma .sx { color: #e6db74 } +/* LiteralStringRegex */ .chroma .sr { color: #e6db74 } +/* LiteralStringSingle */ .chroma .s1 { color: #e6db74 } +/* LiteralStringSymbol */ .chroma .ss { color: #e6db74 } +/* LiteralNumber */ .chroma .m { color: #ae81ff } +/* LiteralNumberBin */ .chroma .mb { color: #ae81ff } +/* LiteralNumberFloat */ .chroma .mf { color: #ae81ff } +/* LiteralNumberHex */ .chroma .mh { color: #ae81ff } +/* LiteralNumberInteger */ .chroma .mi { color: #ae81ff } +/* LiteralNumberIntegerLong */ .chroma .il { color: #ae81ff } +/* LiteralNumberOct */ .chroma .mo { color: #ae81ff } +/* Operator */ .chroma .o { color: #f92672 } +/* OperatorWord */ .chroma .ow { color: #f92672 } +/* Comment */ .chroma .c { color: #75715e } +/* CommentHashbang */ .chroma .ch { color: #75715e } +/* CommentMultiline */ .chroma .cm { color: #75715e } +/* CommentSingle */ .chroma .c1 { color: #75715e } +/* CommentSpecial */ .chroma .cs { color: #75715e } +/* CommentPreproc */ .chroma .cp { color: #75715e } +/* CommentPreprocFile */ .chroma .cpf { color: #75715e } +/* GenericDeleted */ .chroma .gd { color: #f92672 } +/* GenericEmph */ .chroma .ge { font-style: italic } +/* GenericInserted */ .chroma .gi { color: #a6e22e } +/* GenericStrong */ .chroma .gs { font-weight: bold } +/* GenericSubheading */ .chroma .gu { color: #75715e } diff --git a/themes/openpowerfoundation/assets/css/timeline.scss b/themes/openpowerfoundation/assets/css/timeline.scss new file mode 100644 index 0000000..e3d1fcd --- /dev/null +++ b/themes/openpowerfoundation/assets/css/timeline.scss @@ -0,0 +1,171 @@ +$primary: #007aad; +$dark-primary: #303F9F; +$light-primary: #000000; +$text: #ffffff; +$primary-text: #212121; +$secondary-text: #757575; +$accent: #aaaaaa; + +.timeline { + position: relative; + &::before { + content: ''; + background: $light-primary; + width: 5px; + height: 95%; + position: absolute; + left: 50%; + transform: translateX(-50%); + } +} +.timeline-item { + width: 100%; + margin-bottom: 70px; + &:nth-child(even) { + .timeline-content { + float: right; + padding: 60px 30px 10px 30px; + .date { + right: auto; + left: 0; + } + &::after { + content: ''; + position: absolute; + border-style: solid; + width: 0; + height: 0; + top: 30px; + left: -15px; + border-width: 10px 15px 10px 0; + border-color: transparent #f5f5f5 transparent transparent; + } + } + } + &::after { + content: ''; + display: block; + clear: both; + } +} + +.timeline-content { + position: relative; + width: 45%; + padding: 60px 30px 10px 30px; + border-radius: 4px; + background: #f5f5f5; + box-shadow: 0 20px 25px -15px rgba(0, 0, 0, .3); + &::after { + content: ''; + position: absolute; + border-style: solid; + width: 0; + height: 0; + top: 20px; + right: -15px; + border-width: 10px 0 10px 15px; + border-color: transparent transparent transparent #f5f5f5; + } +} + +.timeline-content h2 { + text-decoration: underline; + color: #007aad; +} + +.timeline-img { + width: 30px; + height: 30px; + background: $primary; + border-radius: 50%; + position: absolute; + left: 50%; + margin-top: 25px; + margin-left: -15px; +} + +.timeline-card { + padding: 0!important; + p { + padding: 0 20px; + } + a { + margin-left: 20px; + } +} + +.timeline-img-header { + height: 200px; + position: relative; + margin-bottom: 20px; + h2 { + color: $text; + position: absolute; + bottom: 5px; + left: 20px; + } +} + +blockquote { + margin-top: 30px; + color: $secondary-text; + border-left-color: $primary; + padding: 0 20px; +} + +.date { + background: $accent; + display: inline-block; + color: $text; + padding: 10px; + position: absolute; + top: 0; + right: 0; +} + +@media screen and (max-width: 768px) { + .timeline { + &::before { + left: 50px; + } + .timeline-img { + left: 50px; + } + .timeline-content { + max-width: 100%; + width: auto; + margin-left: 70px; + } + .timeline-item { + &:nth-child(even) { + .timeline-content { + float: none; + } + } + &:nth-child(odd) { + .timeline-content { + &::after { + content: ''; + position: absolute; + border-style: solid; + width: 0; + height: 0; + top: 30px; + left: -15px; + border-width: 10px 15px 10px 0; + border-color: transparent #f5f5f5 transparent transparent; + } + } + } + } + } +} + +.framed { + padding: 20px; + border-radius: 10px; + border: 1px solid #dcdcdc; + border: 1px solid var(--border-color); + max-width: 800px; +} diff --git a/themes/openpowerfoundation/assets/img/openpower-logo-black.png b/themes/openpowerfoundation/assets/img/openpower-logo-black.png new file mode 100644 index 0000000..6778564 Binary files /dev/null and b/themes/openpowerfoundation/assets/img/openpower-logo-black.png differ diff --git a/themes/openpowerfoundation/assets/img/openpower-logo-white.png b/themes/openpowerfoundation/assets/img/openpower-logo-white.png new file mode 100644 index 0000000..68cb37b Binary files /dev/null and b/themes/openpowerfoundation/assets/img/openpower-logo-white.png differ diff --git a/themes/openpowerfoundation/assets/img/openpower.png b/themes/openpowerfoundation/assets/img/openpower.png new file mode 100644 index 0000000..2b3d800 Binary files /dev/null and b/themes/openpowerfoundation/assets/img/openpower.png differ diff --git a/themes/openpowerfoundation/assets/js/changelog.js b/themes/openpowerfoundation/assets/js/changelog.js new file mode 100644 index 0000000..73d6abb --- /dev/null +++ b/themes/openpowerfoundation/assets/js/changelog.js @@ -0,0 +1,97 @@ +(function() { +const changelog = document.querySelector(".changelog ol"), +elH = document.querySelectorAll(".changelog li > div"), +arrows = document.querySelectorAll(".changelog .arrows .arrow"), +arrowPrev = document.querySelector(".changelog .arrows .arrow__prev"), +arrowNext = document.querySelector(".changelog .arrows .arrow__next"), +firstItem = document.querySelector(".changelog li:first-child"), +lastItem = document.querySelector(".changelog li:last-child"), +xScrolling = 280, +disabledClass = "disabled"; +window.addEventListener("load", init); +function init() { + setEqualHeights(elH); + animateTl(xScrolling, arrows, changelog); + setSwipeFn(changelog, arrowPrev, arrowNext); + setKeyboardFn(arrowPrev, arrowNext); +} +function setEqualHeights(el) { + let counter = 0; + for (let i = 0; i < el.length; i++) { + const singleHeight = el[i].offsetHeight; + if (counter < singleHeight) { + counter = singleHeight; + } + } + for (let i = 0; i < el.length; i++) { + el[i].style.height = `${counter}px`; + } +} +function isElementInViewport(el) { + const rect = el.getBoundingClientRect(); + return ( + rect.top >= 0 && + rect.left >= 0 && + rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && + rect.right <= (window.innerWidth || document.documentElement.clientWidth) + ); +} +function setBtnState(el, flag = true) { + if (flag) { + el.classList.add(disabledClass); + } else { + if (el.classList.contains(disabledClass)) { + el.classList.remove(disabledClass); + } + el.disabled = false; + } +} +function animateTl(scrolling, el, tl) { + let counter = 0; + for (let i = 0; i < el.length; i++) { + el[i].addEventListener("click", function() { + if (!arrowPrev.disabled) { + arrowPrev.disabled = true; + } + if (!arrowNext.disabled) { + arrowNext.disabled = true; + } + const sign = (this.classList.contains("arrow__prev")) ? "" : "-"; + if (counter === 0) { + tl.style.transform = `translateX(-${scrolling}px)`; + } else { + const tlStyle = getComputedStyle(tl); + const tlTransform = tlStyle.getPropertyValue("-webkit-transform") || tlStyle.getPropertyValue("transform"); + const values = parseInt(tlTransform.split(",")[4]) + parseInt(`${sign}${scrolling}`); + tl.style.transform = `translateX(${values}px)`; + } + setTimeout(() => { + isElementInViewport(firstItem) ? setBtnState(arrowPrev) : setBtnState(arrowPrev, false); + isElementInViewport(lastItem) ? setBtnState(arrowNext) : setBtnState(arrowNext, false); + }, 1100); + counter++; + }); + } +} +function setSwipeFn(tl, prev, next) { + const hammer = new Hammer(tl); + hammer.on("swipeleft", () => next.click()); + hammer.on("swiperight", () => prev.click()); +} +function setKeyboardFn(prev, next) { + document.addEventListener("keydown", (e) => { + if ((e.which === 37) || (e.which === 39)) { + const changelogOfTop = changelog.offsetTop; + const y = window.pageYOffset; + if (changelogOfTop !== y) { + window.scrollTo(0, changelogOfTop); + } + if (e.which === 37) { + prev.click(); + } else if (e.which === 39) { + next.click(); + } + } + }); +} +})(); diff --git a/themes/openpowerfoundation/assets/js/contactform.js b/themes/openpowerfoundation/assets/js/contactform.js new file mode 100644 index 0000000..422ce88 --- /dev/null +++ b/themes/openpowerfoundation/assets/js/contactform.js @@ -0,0 +1,95 @@ +jQuery(document).ready(function($) { + "use strict"; + $('form.contactForm').submit(function() { + var f = $(this).find('.form-group'), + ferror = false, + emailExp = /^[^\s()<>@,;:\/]+@\w[\w\.-]+\.[a-z]{2,}$/i; + f.children('input').each(function() { + var i = $(this); + var rule = i.attr('data-rule'); + if (rule !== undefined) { + var ierror = false; + var pos = rule.indexOf(':', 0); + if (pos >= 0) { + var exp = rule.substr(pos + 1, rule.length); + rule = rule.substr(0, pos); + } else { + rule = rule.substr(pos + 1, rule.length); + } + switch (rule) { + case 'required': + if (i.val() === '') { + ferror = ierror = true; + } + break; + case 'minlen': + if (i.val().length < parseInt(exp)) { + ferror = ierror = true; + } + break; + case 'email': + if (!emailExp.test(i.val())) { + ferror = ierror = true; + } + break; + case 'checked': + if (!i.attr('checked')) { + ferror = ierror = true; + } + break; + case 'regexp': + exp = new RegExp(exp); + if (!exp.test(i.val())) { + ferror = ierror = true; + } + break; + } + i.next('.validation').html((ierror ? (i.attr('data-msg') !== undefined ? i.attr('data-msg') : 'wrong Input') : '')).show('blind'); + } + }); + f.children('textarea').each(function() { + var i = $(this); + var rule = i.attr('data-rule'); + if (rule !== undefined) { + var ierror = false; + var pos = rule.indexOf(':', 0); + if (pos >= 0) { + var exp = rule.substr(pos + 1, rule.length); + rule = rule.substr(0, pos); + } else { + rule = rule.substr(pos + 1, rule.length); + } + switch (rule) { + case 'required': + if (i.val() === '') { + ferror = ierror = true; + } + break; + case 'minlen': + if (i.val().length < parseInt(exp)) { + ferror = ierror = true; + } + break; + } + i.next('.validation').html((ierror ? (i.attr('data-msg') != undefined ? i.attr('data-msg') : 'wrong Input') : '')).show('blind'); + } + }); + if (ferror) { + return false; + } else { + var str = $(this).serialize(); + $.ajax({ + type: "POST", + data: str, + url: contacturl, + complete: function() { + $("#sendmessage").addClass("show"); + $("#errormessage").removeClass("show"); + $('.contactForm').find("input, textarea").val(""); + _paq.push(['trackGoal', 99]); + } + }); + return false; + } + }); +}); diff --git a/themes/openpowerfoundation/assets/js/hubrequestform.js b/themes/openpowerfoundation/assets/js/hubrequestform.js new file mode 100644 index 0000000..64bd944 --- /dev/null +++ b/themes/openpowerfoundation/assets/js/hubrequestform.js @@ -0,0 +1,96 @@ +jQuery(document).ready(function($) { + "use strict"; + $('form.hubRequestForm').submit(function() { + var f = $(this).find('.form-group'), + ferror = false, + emailExp = /^[^\s()<>@,;:\/]+@\w[\w\.-]+\.[a-z]{2,}$/i; + f.children('input').each(function() { + var i = $(this); + var rule = i.attr('data-rule'); + if (rule !== undefined) { + var ierror = false; + var pos = rule.indexOf(':', 0); + if (pos >= 0) { + var exp = rule.substr(pos + 1, rule.length); + rule = rule.substr(0, pos); + } else { + rule = rule.substr(pos + 1, rule.length); + } + switch (rule) { + case 'required': + if (i.val() === '') { + ferror = ierror = true; + } + break; + case 'minlen': + if (i.val().length < parseInt(exp)) { + ferror = ierror = true; + } + break; + case 'email': + if (!emailExp.test(i.val())) { + ferror = ierror = true; + } + break; + case 'checked': + if (!i.attr('checked')) { + ferror = ierror = true; + } + break; + case 'regexp': + exp = new RegExp(exp); + if (!exp.test(i.val())) { + ferror = ierror = true; + } + break; + } + i.next('.validation').html((ierror ? (i.attr('data-msg') !== undefined ? i.attr('data-msg') : 'wrong Input') : '')).show('blind'); + } + }); + f.children('textarea').each(function() { + var i = $(this); + var rule = i.attr('data-rule'); + if (rule !== undefined) { + var ierror = false; + var pos = rule.indexOf(':', 0); + if (pos >= 0) { + var exp = rule.substr(pos + 1, rule.length); + rule = rule.substr(0, pos); + } else { + rule = rule.substr(pos + 1, rule.length); + } + switch (rule) { + case 'required': + if (i.val() === '') { + ferror = ierror = true; + } + break; + case 'minlen': + if (i.val().length < parseInt(exp)) { + ferror = ierror = true; + } + break; + } + i.next('.validation').html((ierror ? (i.attr('data-msg') != undefined ? i.attr('data-msg') : 'wrong Input') : '')).show('blind'); + } + }); + if (ferror) { + return false; + } else { + var str = $(this).serialize(); + $.ajax({ + type: "POST", + data: str, + url: huburl, + complete: function() { + $("#sendmessage").addClass("show"); + $("#errormessage").removeClass("show"); + alert(str) + $('.hubForm').find("input, textarea").val(""); + //_paq.push(['trackGoal', 100]); + } + }); + return false; + } + }); +}); diff --git a/themes/openpowerfoundation/assets/js/jquery.form.js b/themes/openpowerfoundation/assets/js/jquery.form.js new file mode 100644 index 0000000..11f67f0 --- /dev/null +++ b/themes/openpowerfoundation/assets/js/jquery.form.js @@ -0,0 +1,1174 @@ +/*! + * jQuery Form Plugin + * version: 3.32.0-2013.04.09 + * @requires jQuery v1.5 or later + * Copyright (c) 2013 M. Alsup + * Examples and documentation at: http://malsup.com/jquery/form/ + * Project repository: https://github.com/malsup/form + * Dual licensed under the MIT and GPL licenses. + * https://github.com/malsup/form#copyright-and-license + */ +/*global ActiveXObject */ +;(function($) { +"use strict"; + +/* + Usage Note: + ----------- + Do not use both ajaxSubmit and ajaxForm on the same form. These + functions are mutually exclusive. Use ajaxSubmit if you want + to bind your own submit handler to the form. For example, + + $(document).ready(function() { + $('#myForm').on('submit', function(e) { + e.preventDefault(); // <-- important + $(this).ajaxSubmit({ + target: '#output' + }); + }); + }); + + Use ajaxForm when you want the plugin to manage all the event binding + for you. For example, + + $(document).ready(function() { + $('#myForm').ajaxForm({ + target: '#output' + }); + }); + + You can also use ajaxForm with delegation (requires jQuery v1.7+), so the + form does not have to exist when you invoke ajaxForm: + + $('#myForm').ajaxForm({ + delegation: true, + target: '#output' + }); + + When using ajaxForm, the ajaxSubmit function will be invoked for you + at the appropriate time. +*/ + +/** + * Feature detection + */ +var feature = {}; +feature.fileapi = $("").get(0).files !== undefined; +feature.formdata = window.FormData !== undefined; + +var hasProp = !!$.fn.prop; + +// attr2 uses prop when it can but checks the return type for +// an expected string. this accounts for the case where a form +// contains inputs with names like "action" or "method"; in those +// cases "prop" returns the element +$.fn.attr2 = function() { + if ( ! hasProp ) + return this.attr.apply(this, arguments); + var val = this.prop.apply(this, arguments); + if ( ( val && val.jquery ) || typeof val === 'string' ) + return val; + return this.attr.apply(this, arguments); +}; + +/** + * ajaxSubmit() provides a mechanism for immediately submitting + * an HTML form using AJAX. + */ +$.fn.ajaxSubmit = function(options) { + /*jshint scripturl:true */ + + // fast fail if nothing selected (http://dev.jquery.com/ticket/2752) + if (!this.length) { + log('ajaxSubmit: skipping submit process - no element selected'); + return this; + } + + var method, action, url, $form = this; + + if (typeof options == 'function') { + options = { success: options }; + } + + method = this.attr2('method'); + action = this.attr2('action'); + + url = (typeof action === 'string') ? $.trim(action) : ''; + url = url || window.location.href || ''; + if (url) { + // clean url (don't include hash vaue) + url = (url.match(/^([^#]+)/)||[])[1]; + } + + options = $.extend(true, { + url: url, + success: $.ajaxSettings.success, + type: method || 'GET', + iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank' + }, options); + + // hook for manipulating the form data before it is extracted; + // convenient for use with rich editors like tinyMCE or FCKEditor + var veto = {}; + this.trigger('form-pre-serialize', [this, options, veto]); + if (veto.veto) { + log('ajaxSubmit: submit vetoed via form-pre-serialize trigger'); + return this; + } + + // provide opportunity to alter form data before it is serialized + if (options.beforeSerialize && options.beforeSerialize(this, options) === false) { + log('ajaxSubmit: submit aborted via beforeSerialize callback'); + return this; + } + + var traditional = options.traditional; + if ( traditional === undefined ) { + traditional = $.ajaxSettings.traditional; + } + + var elements = []; + var qx, a = this.formToArray(options.semantic, elements); + if (options.data) { + options.extraData = options.data; + qx = $.param(options.data, traditional); + } + + // give pre-submit callback an opportunity to abort the submit + if (options.beforeSubmit && options.beforeSubmit(a, this, options) === false) { + log('ajaxSubmit: submit aborted via beforeSubmit callback'); + return this; + } + + // fire vetoable 'validate' event + this.trigger('form-submit-validate', [a, this, options, veto]); + if (veto.veto) { + log('ajaxSubmit: submit vetoed via form-submit-validate trigger'); + return this; + } + + var q = $.param(a, traditional); + if (qx) { + q = ( q ? (q + '&' + qx) : qx ); + } + if (options.type.toUpperCase() == 'GET') { + options.url += (options.url.indexOf('?') >= 0 ? '&' : '?') + q; + options.data = null; // data is null for 'get' + } + else { + options.data = q; // data is the query string for 'post' + } + + var callbacks = []; + if (options.resetForm) { + callbacks.push(function() { $form.resetForm(); }); + } + if (options.clearForm) { + callbacks.push(function() { $form.clearForm(options.includeHidden); }); + } + + // perform a load on the target only if dataType is not provided + if (!options.dataType && options.target) { + var oldSuccess = options.success || function(){}; + callbacks.push(function(data) { + var fn = options.replaceTarget ? 'replaceWith' : 'html'; + $(options.target)[fn](data).each(oldSuccess, arguments); + }); + } + else if (options.success) { + callbacks.push(options.success); + } + + options.success = function(data, status, xhr) { // jQuery 1.4+ passes xhr as 3rd arg + var context = options.context || this ; // jQuery 1.4+ supports scope context + for (var i=0, max=callbacks.length; i < max; i++) { + callbacks[i].apply(context, [data, status, xhr || $form, $form]); + } + }; + + // are there files to upload? + + // [value] (issue #113), also see comment: + // https://github.com/malsup/form/commit/588306aedba1de01388032d5f42a60159eea9228#commitcomment-2180219 + var fileInputs = $('input[type=file]:enabled[value!=""]', this); + + var hasFileInputs = fileInputs.length > 0; + var mp = 'multipart/form-data'; + var multipart = ($form.attr('enctype') == mp || $form.attr('encoding') == mp); + + var fileAPI = feature.fileapi && feature.formdata; + log("fileAPI :" + fileAPI); + var shouldUseFrame = (hasFileInputs || multipart) && !fileAPI; + + var jqxhr; + + // options.iframe allows user to force iframe mode + // 06-NOV-09: now defaulting to iframe mode if file input is detected + if (options.iframe !== false && (options.iframe || shouldUseFrame)) { + // hack to fix Safari hang (thanks to Tim Molendijk for this) + // see: http://groups.google.com/group/jquery-dev/browse_thread/thread/36395b7ab510dd5d + if (options.closeKeepAlive) { + $.get(options.closeKeepAlive, function() { + jqxhr = fileUploadIframe(a); + }); + } + else { + jqxhr = fileUploadIframe(a); + } + } + else if ((hasFileInputs || multipart) && fileAPI) { + jqxhr = fileUploadXhr(a); + } + else { + jqxhr = $.ajax(options); + } + + $form.removeData('jqxhr').data('jqxhr', jqxhr); + + // clear element array + for (var k=0; k < elements.length; k++) + elements[k] = null; + + // fire 'notify' event + this.trigger('form-submit-notify', [this, options]); + return this; + + // utility fn for deep serialization + function deepSerialize(extraData){ + var serialized = $.param(extraData).split('&'); + var len = serialized.length; + var result = []; + var i, part; + for (i=0; i < len; i++) { + // #252; undo param space replacement + serialized[i] = serialized[i].replace(/\+/g,' '); + part = serialized[i].split('='); + // #278; use array instead of object storage, favoring array serializations + result.push([decodeURIComponent(part[0]), decodeURIComponent(part[1])]); + } + return result; + } + + // XMLHttpRequest Level 2 file uploads (big hat tip to francois2metz) + function fileUploadXhr(a) { + var formdata = new FormData(); + + for (var i=0; i < a.length; i++) { + formdata.append(a[i].name, a[i].value); + } + + if (options.extraData) { + var serializedData = deepSerialize(options.extraData); + for (i=0; i < serializedData.length; i++) + if (serializedData[i]) + formdata.append(serializedData[i][0], serializedData[i][1]); + } + + options.data = null; + + var s = $.extend(true, {}, $.ajaxSettings, options, { + contentType: false, + processData: false, + cache: false, + type: method || 'POST' + }); + + if (options.uploadProgress) { + // workaround because jqXHR does not expose upload property + s.xhr = function() { + var xhr = jQuery.ajaxSettings.xhr(); + if (xhr.upload) { + xhr.upload.addEventListener('progress', function(event) { + var percent = 0; + var position = event.loaded || event.position; /*event.position is deprecated*/ + var total = event.total; + if (event.lengthComputable) { + percent = Math.ceil(position / total * 100); + } + options.uploadProgress(event, position, total, percent); + }, false); + } + return xhr; + }; + } + + s.data = null; + var beforeSend = s.beforeSend; + s.beforeSend = function(xhr, o) { + o.data = formdata; + if(beforeSend) + beforeSend.call(this, xhr, o); + }; + return $.ajax(s); + } + + // private function for handling file uploads (hat tip to YAHOO!) + function fileUploadIframe(a) { + var form = $form[0], el, i, s, g, id, $io, io, xhr, sub, n, timedOut, timeoutHandle; + var deferred = $.Deferred(); + + if (a) { + // ensure that every serialized input is still enabled + for (i=0; i < elements.length; i++) { + el = $(elements[i]); + if ( hasProp ) + el.prop('disabled', false); + else + el.removeAttr('disabled'); + } + } + + s = $.extend(true, {}, $.ajaxSettings, options); + s.context = s.context || s; + id = 'jqFormIO' + (new Date().getTime()); + if (s.iframeTarget) { + $io = $(s.iframeTarget); + n = $io.attr2('name'); + if (!n) + $io.attr2('name', id); + else + id = n; + } + else { + $io = $(''+ + '', + + srcAction: 'iframe_src', + + // we don't care and support only one default type of URL by default + patterns: { + youtube: { + index: 'youtube.com', + id: 'v=', + src: '//www.youtube.com/embed/%id%?autoplay=1' + }, + vimeo: { + index: 'vimeo.com/', + id: '/', + src: '//player.vimeo.com/video/%id%?autoplay=1' + }, + gmaps: { + index: '//maps.google.', + src: '%id%&output=embed' + } + } + }, + + proto: { + initIframe: function() { + mfp.types.push(IFRAME_NS); + + _mfpOn('BeforeChange', function(e, prevType, newType) { + if(prevType !== newType) { + if(prevType === IFRAME_NS) { + _fixIframeBugs(); // iframe if removed + } else if(newType === IFRAME_NS) { + _fixIframeBugs(true); // iframe is showing + } + }// else { + // iframe source is switched, don't do anything + //} + }); + + _mfpOn(CLOSE_EVENT + '.' + IFRAME_NS, function() { + _fixIframeBugs(); + }); + }, + + getIframe: function(item, template) { + var embedSrc = item.src; + var iframeSt = mfp.st.iframe; + + $.each(iframeSt.patterns, function() { + if(embedSrc.indexOf( this.index ) > -1) { + if(this.id) { + if(typeof this.id === 'string') { + embedSrc = embedSrc.substr(embedSrc.lastIndexOf(this.id)+this.id.length, embedSrc.length); + } else { + embedSrc = this.id.call( this, embedSrc ); + } + } + embedSrc = this.src.replace('%id%', embedSrc ); + return false; // break; + } + }); + + var dataObj = {}; + if(iframeSt.srcAction) { + dataObj[iframeSt.srcAction] = embedSrc; + } + mfp._parseMarkup(template, dataObj, item); + + mfp.updateStatus('ready'); + + return template; + } + } +}); + + + +/*>>iframe*/ + +/*>>gallery*/ +/** + * Get looped index depending on number of slides + */ +var _getLoopedId = function(index) { + var numSlides = mfp.items.length; + if(index > numSlides - 1) { + return index - numSlides; + } else if(index < 0) { + return numSlides + index; + } + return index; + }, + _replaceCurrTotal = function(text, curr, total) { + return text.replace(/%curr%/gi, curr + 1).replace(/%total%/gi, total); + }; + +$.magnificPopup.registerModule('gallery', { + + options: { + enabled: false, + arrowMarkup: '', + preload: [0,2], + navigateByImgClick: true, + arrows: true, + + tPrev: 'Previous (Left arrow key)', + tNext: 'Next (Right arrow key)', + tCounter: '%curr% of %total%' + }, + + proto: { + initGallery: function() { + + var gSt = mfp.st.gallery, + ns = '.mfp-gallery'; + + mfp.direction = true; // true - next, false - prev + + if(!gSt || !gSt.enabled ) return false; + + _wrapClasses += ' mfp-gallery'; + + _mfpOn(OPEN_EVENT+ns, function() { + + if(gSt.navigateByImgClick) { + mfp.wrap.on('click'+ns, '.mfp-img', function() { + if(mfp.items.length > 1) { + mfp.next(); + return false; + } + }); + } + + _document.on('keydown'+ns, function(e) { + if (e.keyCode === 37) { + mfp.prev(); + } else if (e.keyCode === 39) { + mfp.next(); + } + }); + }); + + _mfpOn('UpdateStatus'+ns, function(e, data) { + if(data.text) { + data.text = _replaceCurrTotal(data.text, mfp.currItem.index, mfp.items.length); + } + }); + + _mfpOn(MARKUP_PARSE_EVENT+ns, function(e, element, values, item) { + var l = mfp.items.length; + values.counter = l > 1 ? _replaceCurrTotal(gSt.tCounter, item.index, l) : ''; + }); + + _mfpOn('BuildControls' + ns, function() { + if(mfp.items.length > 1 && gSt.arrows && !mfp.arrowLeft) { + var markup = gSt.arrowMarkup, + arrowLeft = mfp.arrowLeft = $( markup.replace(/%title%/gi, gSt.tPrev).replace(/%dir%/gi, 'left') ).addClass(PREVENT_CLOSE_CLASS), + arrowRight = mfp.arrowRight = $( markup.replace(/%title%/gi, gSt.tNext).replace(/%dir%/gi, 'right') ).addClass(PREVENT_CLOSE_CLASS); + + arrowLeft.click(function() { + mfp.prev(); + }); + arrowRight.click(function() { + mfp.next(); + }); + + mfp.container.append(arrowLeft.add(arrowRight)); + } + }); + + _mfpOn(CHANGE_EVENT+ns, function() { + if(mfp._preloadTimeout) clearTimeout(mfp._preloadTimeout); + + mfp._preloadTimeout = setTimeout(function() { + mfp.preloadNearbyImages(); + mfp._preloadTimeout = null; + }, 16); + }); + + + _mfpOn(CLOSE_EVENT+ns, function() { + _document.off(ns); + mfp.wrap.off('click'+ns); + mfp.arrowRight = mfp.arrowLeft = null; + }); + + }, + next: function() { + mfp.direction = true; + mfp.index = _getLoopedId(mfp.index + 1); + mfp.updateItemHTML(); + }, + prev: function() { + mfp.direction = false; + mfp.index = _getLoopedId(mfp.index - 1); + mfp.updateItemHTML(); + }, + goTo: function(newIndex) { + mfp.direction = (newIndex >= mfp.index); + mfp.index = newIndex; + mfp.updateItemHTML(); + }, + preloadNearbyImages: function() { + var p = mfp.st.gallery.preload, + preloadBefore = Math.min(p[0], mfp.items.length), + preloadAfter = Math.min(p[1], mfp.items.length), + i; + + for(i = 1; i <= (mfp.direction ? preloadAfter : preloadBefore); i++) { + mfp._preloadItem(mfp.index+i); + } + for(i = 1; i <= (mfp.direction ? preloadBefore : preloadAfter); i++) { + mfp._preloadItem(mfp.index-i); + } + }, + _preloadItem: function(index) { + index = _getLoopedId(index); + + if(mfp.items[index].preloaded) { + return; + } + + var item = mfp.items[index]; + if(!item.parsed) { + item = mfp.parseEl( index ); + } + + _mfpTrigger('LazyLoad', item); + + if(item.type === 'image') { + item.img = $('').on('load.mfploader', function() { + item.hasSize = true; + }).on('error.mfploader', function() { + item.hasSize = true; + item.loadError = true; + _mfpTrigger('LazyLoadError', item); + }).attr('src', item.src); + } + + + item.preloaded = true; + } + } +}); + +/*>>gallery*/ + +/*>>retina*/ + +var RETINA_NS = 'retina'; + +$.magnificPopup.registerModule(RETINA_NS, { + options: { + replaceSrc: function(item) { + return item.src.replace(/\.\w+$/, function(m) { return '@2x' + m; }); + }, + ratio: 1 // Function or number. Set to 1 to disable. + }, + proto: { + initRetina: function() { + if(window.devicePixelRatio > 1) { + + var st = mfp.st.retina, + ratio = st.ratio; + + ratio = !isNaN(ratio) ? ratio : ratio(); + + if(ratio > 1) { + _mfpOn('ImageHasSize' + '.' + RETINA_NS, function(e, item) { + item.img.css({ + 'max-width': item.img[0].naturalWidth / ratio, + 'width': '100%' + }); + }); + _mfpOn('ElementParse' + '.' + RETINA_NS, function(e, item) { + item.src = st.replaceSrc(item, ratio); + }); + } + } + + } + } +}); + +/*>>retina*/ + _checkInstance(); })); \ No newline at end of file diff --git a/themes/openpowerfoundation/static/lib/magnific-popup/magnific-popup.min.js b/themes/openpowerfoundation/static/lib/magnific-popup/magnific-popup.min.js new file mode 100644 index 0000000..6ee3a3b --- /dev/null +++ b/themes/openpowerfoundation/static/lib/magnific-popup/magnific-popup.min.js @@ -0,0 +1,4 @@ +/*! Magnific Popup - v1.1.0 - 2016-02-20 +* http://dimsemenov.com/plugins/magnific-popup/ +* Copyright (c) 2016 Dmitry Semenov; */ +!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):window.jQuery||window.Zepto)}(function(a){var b,c,d,e,f,g,h="Close",i="BeforeClose",j="AfterClose",k="BeforeAppend",l="MarkupParse",m="Open",n="Change",o="mfp",p="."+o,q="mfp-ready",r="mfp-removing",s="mfp-prevent-close",t=function(){},u=!!window.jQuery,v=a(window),w=function(a,c){b.ev.on(o+a+p,c)},x=function(b,c,d,e){var f=document.createElement("div");return f.className="mfp-"+b,d&&(f.innerHTML=d),e?c&&c.appendChild(f):(f=a(f),c&&f.appendTo(c)),f},y=function(c,d){b.ev.triggerHandler(o+c,d),b.st.callbacks&&(c=c.charAt(0).toLowerCase()+c.slice(1),b.st.callbacks[c]&&b.st.callbacks[c].apply(b,a.isArray(d)?d:[d]))},z=function(c){return c===g&&b.currTemplate.closeBtn||(b.currTemplate.closeBtn=a(b.st.closeMarkup.replace("%title%",b.st.tClose)),g=c),b.currTemplate.closeBtn},A=function(){a.magnificPopup.instance||(b=new t,b.init(),a.magnificPopup.instance=b)},B=function(){var a=document.createElement("p").style,b=["ms","O","Moz","Webkit"];if(void 0!==a.transition)return!0;for(;b.length;)if(b.pop()+"Transition"in a)return!0;return!1};t.prototype={constructor:t,init:function(){var c=navigator.appVersion;b.isLowIE=b.isIE8=document.all&&!document.addEventListener,b.isAndroid=/android/gi.test(c),b.isIOS=/iphone|ipad|ipod/gi.test(c),b.supportsTransition=B(),b.probablyMobile=b.isAndroid||b.isIOS||/(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent),d=a(document),b.popupsCache={}},open:function(c){var e;if(c.isObj===!1){b.items=c.items.toArray(),b.index=0;var g,h=c.items;for(e=0;e(a||v.height())},_setFocus:function(){(b.st.focus?b.content.find(b.st.focus).eq(0):b.wrap).focus()},_onFocusIn:function(c){return c.target===b.wrap[0]||a.contains(b.wrap[0],c.target)?void 0:(b._setFocus(),!1)},_parseMarkup:function(b,c,d){var e;d.data&&(c=a.extend(d.data,c)),y(l,[b,c,d]),a.each(c,function(c,d){if(void 0===d||d===!1)return!0;if(e=c.split("_"),e.length>1){var f=b.find(p+"-"+e[0]);if(f.length>0){var g=e[1];"replaceWith"===g?f[0]!==d[0]&&f.replaceWith(d):"img"===g?f.is("img")?f.attr("src",d):f.replaceWith(a("").attr("src",d).attr("class",f.attr("class"))):f.attr(e[1],d)}}else b.find(p+"-"+c).html(d)})},_getScrollbarSize:function(){if(void 0===b.scrollbarSize){var a=document.createElement("div");a.style.cssText="width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;",document.body.appendChild(a),b.scrollbarSize=a.offsetWidth-a.clientWidth,document.body.removeChild(a)}return b.scrollbarSize}},a.magnificPopup={instance:null,proto:t.prototype,modules:[],open:function(b,c){return A(),b=b?a.extend(!0,{},b):{},b.isObj=!0,b.index=c||0,this.instance.open(b)},close:function(){return a.magnificPopup.instance&&a.magnificPopup.instance.close()},registerModule:function(b,c){c.options&&(a.magnificPopup.defaults[b]=c.options),a.extend(this.proto,c.proto),this.modules.push(b)},defaults:{disableOn:0,key:null,midClick:!1,mainClass:"",preloader:!0,focus:"",closeOnContentClick:!1,closeOnBgClick:!0,closeBtnInside:!0,showCloseBtn:!0,enableEscapeKey:!0,modal:!1,alignTop:!1,removalDelay:0,prependTo:null,fixedContentPos:"auto",fixedBgPos:"auto",overflowY:"auto",closeMarkup:'',tClose:"Close (Esc)",tLoading:"Loading...",autoFocusLast:!0}},a.fn.magnificPopup=function(c){A();var d=a(this);if("string"==typeof c)if("open"===c){var e,f=u?d.data("magnificPopup"):d[0].magnificPopup,g=parseInt(arguments[1],10)||0;f.items?e=f.items[g]:(e=d,f.delegate&&(e=e.find(f.delegate)),e=e.eq(g)),b._openClick({mfpEl:e},d,f)}else b.isOpen&&b[c].apply(b,Array.prototype.slice.call(arguments,1));else c=a.extend(!0,{},c),u?d.data("magnificPopup",c):d[0].magnificPopup=c,b.addGroup(d,c);return d};var C,D,E,F="inline",G=function(){E&&(D.after(E.addClass(C)).detach(),E=null)};a.magnificPopup.registerModule(F,{options:{hiddenClass:"hide",markup:"",tNotFound:"Content not found"},proto:{initInline:function(){b.types.push(F),w(h+"."+F,function(){G()})},getInline:function(c,d){if(G(),c.src){var e=b.st.inline,f=a(c.src);if(f.length){var g=f[0].parentNode;g&&g.tagName&&(D||(C=e.hiddenClass,D=x(C),C="mfp-"+C),E=f.after(D).detach().removeClass(C)),b.updateStatus("ready")}else b.updateStatus("error",e.tNotFound),f=a("
");return c.inlineElement=f,f}return b.updateStatus("ready"),b._parseMarkup(d,{},c),d}}});var H,I="ajax",J=function(){H&&a(document.body).removeClass(H)},K=function(){J(),b.req&&b.req.abort()};a.magnificPopup.registerModule(I,{options:{settings:null,cursor:"mfp-ajax-cur",tError:'The content could not be loaded.'},proto:{initAjax:function(){b.types.push(I),H=b.st.ajax.cursor,w(h+"."+I,K),w("BeforeChange."+I,K)},getAjax:function(c){H&&a(document.body).addClass(H),b.updateStatus("loading");var d=a.extend({url:c.src,success:function(d,e,f){var g={data:d,xhr:f};y("ParseAjax",g),b.appendContent(a(g.data),I),c.finished=!0,J(),b._setFocus(),setTimeout(function(){b.wrap.addClass(q)},16),b.updateStatus("ready"),y("AjaxContentAdded")},error:function(){J(),c.finished=c.loadError=!0,b.updateStatus("error",b.st.ajax.tError.replace("%url%",c.src))}},b.st.ajax.settings);return b.req=a.ajax(d),""}}});var L,M=function(c){if(c.data&&void 0!==c.data.title)return c.data.title;var d=b.st.image.titleSrc;if(d){if(a.isFunction(d))return d.call(b,c);if(c.el)return c.el.attr(d)||""}return""};a.magnificPopup.registerModule("image",{options:{markup:'
',cursor:"mfp-zoom-out-cur",titleSrc:"title",verticalFit:!0,tError:'The image could not be loaded.'},proto:{initImage:function(){var c=b.st.image,d=".image";b.types.push("image"),w(m+d,function(){"image"===b.currItem.type&&c.cursor&&a(document.body).addClass(c.cursor)}),w(h+d,function(){c.cursor&&a(document.body).removeClass(c.cursor),v.off("resize"+p)}),w("Resize"+d,b.resizeImage),b.isLowIE&&w("AfterChange",b.resizeImage)},resizeImage:function(){var a=b.currItem;if(a&&a.img&&b.st.image.verticalFit){var c=0;b.isLowIE&&(c=parseInt(a.img.css("padding-top"),10)+parseInt(a.img.css("padding-bottom"),10)),a.img.css("max-height",b.wH-c)}},_onImageHasSize:function(a){a.img&&(a.hasSize=!0,L&&clearInterval(L),a.isCheckingImgSize=!1,y("ImageHasSize",a),a.imgHidden&&(b.content&&b.content.removeClass("mfp-loading"),a.imgHidden=!1))},findImageSize:function(a){var c=0,d=a.img[0],e=function(f){L&&clearInterval(L),L=setInterval(function(){return d.naturalWidth>0?void b._onImageHasSize(a):(c>200&&clearInterval(L),c++,void(3===c?e(10):40===c?e(50):100===c&&e(500)))},f)};e(1)},getImage:function(c,d){var e=0,f=function(){c&&(c.img[0].complete?(c.img.off(".mfploader"),c===b.currItem&&(b._onImageHasSize(c),b.updateStatus("ready")),c.hasSize=!0,c.loaded=!0,y("ImageLoadComplete")):(e++,200>e?setTimeout(f,100):g()))},g=function(){c&&(c.img.off(".mfploader"),c===b.currItem&&(b._onImageHasSize(c),b.updateStatus("error",h.tError.replace("%url%",c.src))),c.hasSize=!0,c.loaded=!0,c.loadError=!0)},h=b.st.image,i=d.find(".mfp-img");if(i.length){var j=document.createElement("img");j.className="mfp-img",c.el&&c.el.find("img").length&&(j.alt=c.el.find("img").attr("alt")),c.img=a(j).on("load.mfploader",f).on("error.mfploader",g),j.src=c.src,i.is("img")&&(c.img=c.img.clone()),j=c.img[0],j.naturalWidth>0?c.hasSize=!0:j.width||(c.hasSize=!1)}return b._parseMarkup(d,{title:M(c),img_replaceWith:c.img},c),b.resizeImage(),c.hasSize?(L&&clearInterval(L),c.loadError?(d.addClass("mfp-loading"),b.updateStatus("error",h.tError.replace("%url%",c.src))):(d.removeClass("mfp-loading"),b.updateStatus("ready")),d):(b.updateStatus("loading"),c.loading=!0,c.hasSize||(c.imgHidden=!0,d.addClass("mfp-loading"),b.findImageSize(c)),d)}}});var N,O=function(){return void 0===N&&(N=void 0!==document.createElement("p").style.MozTransform),N};a.magnificPopup.registerModule("zoom",{options:{enabled:!1,easing:"ease-in-out",duration:300,opener:function(a){return a.is("img")?a:a.find("img")}},proto:{initZoom:function(){var a,c=b.st.zoom,d=".zoom";if(c.enabled&&b.supportsTransition){var e,f,g=c.duration,j=function(a){var b=a.clone().removeAttr("style").removeAttr("class").addClass("mfp-animated-image"),d="all "+c.duration/1e3+"s "+c.easing,e={position:"fixed",zIndex:9999,left:0,top:0,"-webkit-backface-visibility":"hidden"},f="transition";return e["-webkit-"+f]=e["-moz-"+f]=e["-o-"+f]=e[f]=d,b.css(e),b},k=function(){b.content.css("visibility","visible")};w("BuildControls"+d,function(){if(b._allowZoom()){if(clearTimeout(e),b.content.css("visibility","hidden"),a=b._getItemToZoom(),!a)return void k();f=j(a),f.css(b._getOffset()),b.wrap.append(f),e=setTimeout(function(){f.css(b._getOffset(!0)),e=setTimeout(function(){k(),setTimeout(function(){f.remove(),a=f=null,y("ZoomAnimationEnded")},16)},g)},16)}}),w(i+d,function(){if(b._allowZoom()){if(clearTimeout(e),b.st.removalDelay=g,!a){if(a=b._getItemToZoom(),!a)return;f=j(a)}f.css(b._getOffset(!0)),b.wrap.append(f),b.content.css("visibility","hidden"),setTimeout(function(){f.css(b._getOffset())},16)}}),w(h+d,function(){b._allowZoom()&&(k(),f&&f.remove(),a=null)})}},_allowZoom:function(){return"image"===b.currItem.type},_getItemToZoom:function(){return b.currItem.hasSize?b.currItem.img:!1},_getOffset:function(c){var d;d=c?b.currItem.img:b.st.zoom.opener(b.currItem.el||b.currItem);var e=d.offset(),f=parseInt(d.css("padding-top"),10),g=parseInt(d.css("padding-bottom"),10);e.top-=a(window).scrollTop()-f;var h={width:d.width(),height:(u?d.innerHeight():d[0].offsetHeight)-g-f};return O()?h["-moz-transform"]=h.transform="translate("+e.left+"px,"+e.top+"px)":(h.left=e.left,h.top=e.top),h}}});var P="iframe",Q="//about:blank",R=function(a){if(b.currTemplate[P]){var c=b.currTemplate[P].find("iframe");c.length&&(a||(c[0].src=Q),b.isIE8&&c.css("display",a?"block":"none"))}};a.magnificPopup.registerModule(P,{options:{markup:'
',srcAction:"iframe_src",patterns:{youtube:{index:"youtube.com",id:"v=",src:"//www.youtube.com/embed/%id%?autoplay=1"},vimeo:{index:"vimeo.com/",id:"/",src:"//player.vimeo.com/video/%id%?autoplay=1"},gmaps:{index:"//maps.google.",src:"%id%&output=embed"}}},proto:{initIframe:function(){b.types.push(P),w("BeforeChange",function(a,b,c){b!==c&&(b===P?R():c===P&&R(!0))}),w(h+"."+P,function(){R()})},getIframe:function(c,d){var e=c.src,f=b.st.iframe;a.each(f.patterns,function(){return e.indexOf(this.index)>-1?(this.id&&(e="string"==typeof this.id?e.substr(e.lastIndexOf(this.id)+this.id.length,e.length):this.id.call(this,e)),e=this.src.replace("%id%",e),!1):void 0});var g={};return f.srcAction&&(g[f.srcAction]=e),b._parseMarkup(d,g,c),b.updateStatus("ready"),d}}});var S=function(a){var c=b.items.length;return a>c-1?a-c:0>a?c+a:a},T=function(a,b,c){return a.replace(/%curr%/gi,b+1).replace(/%total%/gi,c)};a.magnificPopup.registerModule("gallery",{options:{enabled:!1,arrowMarkup:'',preload:[0,2],navigateByImgClick:!0,arrows:!0,tPrev:"Previous (Left arrow key)",tNext:"Next (Right arrow key)",tCounter:"%curr% of %total%"},proto:{initGallery:function(){var c=b.st.gallery,e=".mfp-gallery";return b.direction=!0,c&&c.enabled?(f+=" mfp-gallery",w(m+e,function(){c.navigateByImgClick&&b.wrap.on("click"+e,".mfp-img",function(){return b.items.length>1?(b.next(),!1):void 0}),d.on("keydown"+e,function(a){37===a.keyCode?b.prev():39===a.keyCode&&b.next()})}),w("UpdateStatus"+e,function(a,c){c.text&&(c.text=T(c.text,b.currItem.index,b.items.length))}),w(l+e,function(a,d,e,f){var g=b.items.length;e.counter=g>1?T(c.tCounter,f.index,g):""}),w("BuildControls"+e,function(){if(b.items.length>1&&c.arrows&&!b.arrowLeft){var d=c.arrowMarkup,e=b.arrowLeft=a(d.replace(/%title%/gi,c.tPrev).replace(/%dir%/gi,"left")).addClass(s),f=b.arrowRight=a(d.replace(/%title%/gi,c.tNext).replace(/%dir%/gi,"right")).addClass(s);e.click(function(){b.prev()}),f.click(function(){b.next()}),b.container.append(e.add(f))}}),w(n+e,function(){b._preloadTimeout&&clearTimeout(b._preloadTimeout),b._preloadTimeout=setTimeout(function(){b.preloadNearbyImages(),b._preloadTimeout=null},16)}),void w(h+e,function(){d.off(e),b.wrap.off("click"+e),b.arrowRight=b.arrowLeft=null})):!1},next:function(){b.direction=!0,b.index=S(b.index+1),b.updateItemHTML()},prev:function(){b.direction=!1,b.index=S(b.index-1),b.updateItemHTML()},goTo:function(a){b.direction=a>=b.index,b.index=a,b.updateItemHTML()},preloadNearbyImages:function(){var a,c=b.st.gallery.preload,d=Math.min(c[0],b.items.length),e=Math.min(c[1],b.items.length);for(a=1;a<=(b.direction?e:d);a++)b._preloadItem(b.index+a);for(a=1;a<=(b.direction?d:e);a++)b._preloadItem(b.index-a)},_preloadItem:function(c){if(c=S(c),!b.items[c].preloaded){var d=b.items[c];d.parsed||(d=b.parseEl(c)),y("LazyLoad",d),"image"===d.type&&(d.img=a('').on("load.mfploader",function(){d.hasSize=!0}).on("error.mfploader",function(){d.hasSize=!0,d.loadError=!0,y("LazyLoadError",d)}).attr("src",d.src)),d.preloaded=!0}}}});var U="retina";a.magnificPopup.registerModule(U,{options:{replaceSrc:function(a){return a.src.replace(/\.\w+$/,function(a){return"@2x"+a})},ratio:1},proto:{initRetina:function(){if(window.devicePixelRatio>1){var a=b.st.retina,c=a.ratio;c=isNaN(c)?c():c,c>1&&(w("ImageHasSize."+U,function(a,b){b.img.css({"max-width":b.img[0].naturalWidth/c,width:"100%"})}),w("ElementParse."+U,function(b,d){d.src=a.replaceSrc(d,c)}))}}}}),A()}); \ No newline at end of file diff --git a/themes/openpowerfoundation/static/lib/semantic-ui/.versions b/themes/openpowerfoundation/static/lib/semantic-ui/.versions new file mode 100644 index 0000000..6237b36 --- /dev/null +++ b/themes/openpowerfoundation/static/lib/semantic-ui/.versions @@ -0,0 +1,4 @@ +jquery@1.11.3_2 +meteor@1.1.6 +semantic:ui-css@2.0.7 +underscore@1.0.3 diff --git a/themes/openpowerfoundation/static/lib/semantic-ui/LICENSE b/themes/openpowerfoundation/static/lib/semantic-ui/LICENSE new file mode 100644 index 0000000..9818972 --- /dev/null +++ b/themes/openpowerfoundation/static/lib/semantic-ui/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2015 Semantic Org + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/themes/openpowerfoundation/static/lib/semantic-ui/README.md b/themes/openpowerfoundation/static/lib/semantic-ui/README.md new file mode 100644 index 0000000..8df97d0 --- /dev/null +++ b/themes/openpowerfoundation/static/lib/semantic-ui/README.md @@ -0,0 +1,7 @@ +# CSS Distribution + +This repository is automatically synced with the main [Semantic UI](https://github.com/Semantic-Org/Semantic-UI) repository to provide lightweight CSS only version of Semantic UI. + +This package **does not support theming** and includes generated CSS files of the default theme only. + +You can view more on Semantic UI at [LearnSemantic.com](http://www.learnsemantic.com) and [Semantic-UI.com](http://www.semantic-ui.com) diff --git a/themes/openpowerfoundation/static/lib/semantic-ui/components/accordion.css b/themes/openpowerfoundation/static/lib/semantic-ui/components/accordion.css new file mode 100755 index 0000000..629885d --- /dev/null +++ b/themes/openpowerfoundation/static/lib/semantic-ui/components/accordion.css @@ -0,0 +1,253 @@ +/*! + * # Semantic UI 2.3.0 - 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; + -webkit-box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), 0px 0px 0px 1px rgba(34, 36, 38, 0.15); + 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' /*rtl:'\f0d9'*/; +} + + +/******************************* + User Overrides +*******************************/ + diff --git a/themes/openpowerfoundation/static/lib/semantic-ui/components/accordion.js b/themes/openpowerfoundation/static/lib/semantic-ui/components/accordion.js new file mode 100755 index 0000000..d0223a0 --- /dev/null +++ b/themes/openpowerfoundation/static/lib/semantic-ui/components/accordion.js @@ -0,0 +1,613 @@ +/*! + * # Semantic UI 2.3.0 - 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); + settings.onChanging.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); + settings.onChanging.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 + onClosing : function(){}, // callback before closing animation + onChanging : function(){}, // callback before closing or opening animation + + onOpen : function(){}, // callback after open 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 ); + diff --git a/themes/openpowerfoundation/static/lib/semantic-ui/components/accordion.min.css b/themes/openpowerfoundation/static/lib/semantic-ui/components/accordion.min.css new file mode 100755 index 0000000..3abc52e --- /dev/null +++ b/themes/openpowerfoundation/static/lib/semantic-ui/components/accordion.min.css @@ -0,0 +1,9 @@ +/*! + * # Semantic UI 2.3.0 - Accordion + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.accordion,.ui.accordion .accordion{max-width:100%}.ui.accordion .accordion{margin:1em 0 0;padding:0}.ui.accordion .accordion .title,.ui.accordion .title{cursor:pointer}.ui.accordion .title:not(.ui){padding:.5em 0;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:1em;color:rgba(0,0,0,.87)}.ui.accordion .accordion .title~.content,.ui.accordion .title~.content{display:none}.ui.accordion:not(.styled) .accordion .title~.content:not(.ui),.ui.accordion:not(.styled) .title~.content:not(.ui){margin:'';padding:.5em 0 1em}.ui.accordion:not(.styled) .title~.content:not(.ui):last-child{padding-bottom:0}.ui.accordion .accordion .title .dropdown.icon,.ui.accordion .title .dropdown.icon{display:inline-block;float:none;opacity:1;width:1.25em;height:1em;margin:0 .25rem 0 0;padding:0;font-size:1em;-webkit-transition:opacity .1s ease,-webkit-transform .1s ease;transition:opacity .1s ease,-webkit-transform .1s ease;transition:transform .1s ease,opacity .1s ease;transition:transform .1s ease,opacity .1s ease,-webkit-transform .1s ease;vertical-align:baseline;-webkit-transform:none;transform:none}.ui.accordion.menu .item .title{display:block;padding:0}.ui.accordion.menu .item .title>.dropdown.icon{float:right;margin:.21425em 0 0 1em;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.ui.accordion .ui.header .dropdown.icon{font-size:1em;margin:0 .25rem 0 0}.ui.accordion .accordion .active.title .dropdown.icon,.ui.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)}.ui.styled.accordion{width:600px}.ui.styled.accordion,.ui.styled.accordion .accordion{border-radius:.28571429rem;background:#fff;-webkit-box-shadow:0 1px 2px 0 rgba(34,36,38,.15),0 0 0 1px rgba(34,36,38,.15);box-shadow:0 1px 2px 0 rgba(34,36,38,.15),0 0 0 1px rgba(34,36,38,.15)}.ui.styled.accordion .accordion .title,.ui.styled.accordion .title{margin:0;padding:.75em 1em;color:rgba(0,0,0,.4);font-weight:700;border-top:1px solid rgba(34,36,38,.15);-webkit-transition:background .1s ease,color .1s ease;transition:background .1s ease,color .1s ease}.ui.styled.accordion .accordion .title:first-child,.ui.styled.accordion>.title:first-child{border-top:none}.ui.styled.accordion .accordion .content,.ui.styled.accordion .content{margin:0;padding:.5em 1em 1.5em}.ui.styled.accordion .accordion .content{padding:0;padding:.5em 1em 1.5em}.ui.styled.accordion .accordion .active.title,.ui.styled.accordion .accordion .title:hover,.ui.styled.accordion .active.title,.ui.styled.accordion .title:hover{background:0 0;color:rgba(0,0,0,.87)}.ui.styled.accordion .accordion .active.title,.ui.styled.accordion .accordion .title:hover{background:0 0;color:rgba(0,0,0,.87)}.ui.styled.accordion .active.title{background:0 0;color:rgba(0,0,0,.95)}.ui.styled.accordion .accordion .active.title{background:0 0;color:rgba(0,0,0,.95)}.ui.accordion .accordion .active.content,.ui.accordion .active.content{display:block}.ui.fluid.accordion,.ui.fluid.accordion .accordion{width:100%}.ui.inverted.accordion .title:not(.ui){color:rgba(255,255,255,.9)}@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:400;font-style:normal}.ui.accordion .accordion .title .dropdown.icon,.ui.accordion .title .dropdown.icon{font-family:Accordion;line-height:1;-webkit-backface-visibility:hidden;backface-visibility:hidden;font-weight:400;font-style:normal;text-align:center}.ui.accordion .accordion .title .dropdown.icon:before,.ui.accordion .title .dropdown.icon:before{content:'\f0da'} \ No newline at end of file diff --git a/themes/openpowerfoundation/static/lib/semantic-ui/components/accordion.min.js b/themes/openpowerfoundation/static/lib/semantic-ui/components/accordion.min.js new file mode 100755 index 0000000..391e513 --- /dev/null +++ b/themes/openpowerfoundation/static/lib/semantic-ui/components/accordion.min.js @@ -0,0 +1 @@ +!function(e,n,t,i){"use strict";n=void 0!==n&&n.Math==Math?n:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")(),e.fn.accordion=function(t){var o,a=e(this),s=(new Date).getTime(),l=[],r=arguments[0],c="string"==typeof r,u=[].slice.call(arguments,1);n.requestAnimationFrame||n.mozRequestAnimationFrame||n.webkitRequestAnimationFrame||n.msRequestAnimationFrame;return a.each(function(){var d,g,f=e.isPlainObject(t)?e.extend(!0,{},e.fn.accordion.settings,t):e.extend({},e.fn.accordion.settings),m=f.className,p=f.namespace,h=f.selector,v=f.error,b="."+p,y="module-"+p,C=a.selector||"",O=e(this),x=O.find(h.title),F=O.find(h.content),A=this,q=O.data(y);g={initialize:function(){g.debug("Initializing",O),g.bind.events(),f.observeChanges&&g.observeChanges(),g.instantiate()},instantiate:function(){q=g,O.data(y,g)},destroy:function(){g.debug("Destroying previous instance",O),O.off(b).removeData(y)},refresh:function(){x=O.find(h.title),F=O.find(h.content)},observeChanges:function(){"MutationObserver"in n&&((d=new MutationObserver(function(e){g.debug("DOM tree modified, updating selector cache"),g.refresh()})).observe(A,{childList:!0,subtree:!0}),g.debug("Setting up mutation observer",d))},bind:{events:function(){g.debug("Binding delegated events"),O.on(f.on+b,h.trigger,g.event.click)}},event:{click:function(){g.toggle.call(this)}},toggle:function(n){var t=n!==i?"number"==typeof n?x.eq(n):e(n).closest(h.title):e(this).closest(h.title),o=t.next(F),a=o.hasClass(m.animating),s=o.hasClass(m.active),l=s&&!a,r=!s&&a;g.debug("Toggling visibility of content",t),l||r?f.collapsible?g.close.call(t):g.debug("Cannot close accordion content collapsing is disabled"):g.open.call(t)},open:function(n){var t=n!==i?"number"==typeof n?x.eq(n):e(n).closest(h.title):e(this).closest(h.title),o=t.next(F),a=o.hasClass(m.animating);o.hasClass(m.active)||a?g.debug("Accordion already open, skipping",o):(g.debug("Opening accordion content",t),f.onOpening.call(o),f.onChanging.call(o),f.exclusive&&g.closeOthers.call(t),t.addClass(m.active),o.stop(!0,!0).addClass(m.animating),f.animateChildren&&(e.fn.transition!==i&&O.transition("is supported")?o.children().transition({animation:"fade in",queue:!1,useFailSafe:!0,debug:f.debug,verbose:f.verbose,duration:f.duration}):o.children().stop(!0,!0).animate({opacity:1},f.duration,g.resetOpacity)),o.slideDown(f.duration,f.easing,function(){o.removeClass(m.animating).addClass(m.active),g.reset.display.call(this),f.onOpen.call(this),f.onChange.call(this)}))},close:function(n){var t=n!==i?"number"==typeof n?x.eq(n):e(n).closest(h.title):e(this).closest(h.title),o=t.next(F),a=o.hasClass(m.animating),s=o.hasClass(m.active);!s&&!(!s&&a)||s&&a||(g.debug("Closing accordion content",o),f.onClosing.call(o),f.onChanging.call(o),t.removeClass(m.active),o.stop(!0,!0).addClass(m.animating),f.animateChildren&&(e.fn.transition!==i&&O.transition("is supported")?o.children().transition({animation:"fade out",queue:!1,useFailSafe:!0,debug:f.debug,verbose:f.verbose,duration:f.duration}):o.children().stop(!0,!0).animate({opacity:0},f.duration,g.resetOpacity)),o.slideUp(f.duration,f.easing,function(){o.removeClass(m.animating).removeClass(m.active),g.reset.display.call(this),f.onClose.call(this),f.onChange.call(this)}))},closeOthers:function(n){var t,o,a,s=n!==i?x.eq(n):e(this).closest(h.title),l=s.parents(h.content).prev(h.title),r=s.closest(h.accordion),c=h.title+"."+m.active+":visible",u=h.content+"."+m.active+":visible";f.closeNested?a=(t=r.find(c).not(l)).next(F):(t=r.find(c).not(l),o=r.find(u).find(c).not(l),a=(t=t.not(o)).next(F)),t.length>0&&(g.debug("Exclusive enabled, closing other content",t),t.removeClass(m.active),a.removeClass(m.animating).stop(!0,!0),f.animateChildren&&(e.fn.transition!==i&&O.transition("is supported")?a.children().transition({animation:"fade out",useFailSafe:!0,debug:f.debug,verbose:f.verbose,duration:f.duration}):a.children().stop(!0,!0).animate({opacity:0},f.duration,g.resetOpacity)),a.slideUp(f.duration,f.easing,function(){e(this).removeClass(m.active),g.reset.display.call(this)}))},reset:{display:function(){g.verbose("Removing inline display from element",this),e(this).css("display",""),""===e(this).attr("style")&&e(this).attr("style","").removeAttr("style")},opacity:function(){g.verbose("Removing inline opacity from element",this),e(this).css("opacity",""),""===e(this).attr("style")&&e(this).attr("style","").removeAttr("style")}},setting:function(n,t){if(g.debug("Changing setting",n,t),e.isPlainObject(n))e.extend(!0,f,n);else{if(t===i)return f[n];e.isPlainObject(f[n])?e.extend(!0,f[n],t):f[n]=t}},internal:function(n,t){if(g.debug("Changing internal",n,t),t===i)return g[n];e.isPlainObject(n)?e.extend(!0,g,n):g[n]=t},debug:function(){!f.silent&&f.debug&&(f.performance?g.performance.log(arguments):(g.debug=Function.prototype.bind.call(console.info,console,f.name+":"),g.debug.apply(console,arguments)))},verbose:function(){!f.silent&&f.verbose&&f.debug&&(f.performance?g.performance.log(arguments):(g.verbose=Function.prototype.bind.call(console.info,console,f.name+":"),g.verbose.apply(console,arguments)))},error:function(){f.silent||(g.error=Function.prototype.bind.call(console.error,console,f.name+":"),g.error.apply(console,arguments))},performance:{log:function(e){var n,t;f.performance&&(t=(n=(new Date).getTime())-(s||n),s=n,l.push({Name:e[0],Arguments:[].slice.call(e,1)||"",Element:A,"Execution Time":t})),clearTimeout(g.performance.timer),g.performance.timer=setTimeout(g.performance.display,500)},display:function(){var n=f.name+":",t=0;s=!1,clearTimeout(g.performance.timer),e.each(l,function(e,n){t+=n["Execution Time"]}),n+=" "+t+"ms",C&&(n+=" '"+C+"'"),(console.group!==i||console.table!==i)&&l.length>0&&(console.groupCollapsed(n),console.table?console.table(l):e.each(l,function(e,n){console.log(n.Name+": "+n["Execution Time"]+"ms")}),console.groupEnd()),l=[]}},invoke:function(n,t,a){var s,l,r,c=q;return t=t||u,a=A||a,"string"==typeof n&&c!==i&&(n=n.split(/[\. ]/),s=n.length-1,e.each(n,function(t,o){var a=t!=s?o+n[t+1].charAt(0).toUpperCase()+n[t+1].slice(1):n;if(e.isPlainObject(c[a])&&t!=s)c=c[a];else{if(c[a]!==i)return l=c[a],!1;if(!e.isPlainObject(c[o])||t==s)return c[o]!==i?(l=c[o],!1):(g.error(v.method,n),!1);c=c[o]}})),e.isFunction(l)?r=l.apply(a,t):l!==i&&(r=l),e.isArray(o)?o.push(r):o!==i?o=[o,r]:r!==i&&(o=r),l}},c?(q===i&&g.initialize(),g.invoke(r)):(q!==i&&q.invoke("destroy"),g.initialize())}),o!==i?o:this},e.fn.accordion.settings={name:"Accordion",namespace:"accordion",silent:!1,debug:!1,verbose:!1,performance:!0,on:"click",observeChanges:!0,exclusive:!0,collapsible:!0,closeNested:!1,animateChildren:!0,duration:350,easing:"easeOutQuad",onOpening:function(){},onClosing:function(){},onChanging:function(){},onOpen:function(){},onClose:function(){},onChange:function(){},error:{method:"The method you called is not defined"},className:{active:"active",animating:"animating"},selector:{accordion:".accordion",title:".title",trigger:".title",content:".content"}},e.extend(e.easing,{easeOutQuad:function(e,n,t,i,o){return-i*(n/=o)*(n-2)+t}})}(jQuery,window,document); \ No newline at end of file diff --git a/themes/openpowerfoundation/static/lib/semantic-ui/components/ad.css b/themes/openpowerfoundation/static/lib/semantic-ui/components/ad.css new file mode 100755 index 0000000..67a94ca --- /dev/null +++ b/themes/openpowerfoundation/static/lib/semantic-ui/components/ad.css @@ -0,0 +1,275 @@ +/*! + * # Semantic UI 2.3.0 - 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 +*******************************/ + diff --git a/themes/openpowerfoundation/static/lib/semantic-ui/components/ad.min.css b/themes/openpowerfoundation/static/lib/semantic-ui/components/ad.min.css new file mode 100755 index 0000000..1370b67 --- /dev/null +++ b/themes/openpowerfoundation/static/lib/semantic-ui/components/ad.min.css @@ -0,0 +1,10 @@ +/*! + * # Semantic UI 2.3.0 - Ad + * http://github.com/semantic-org/semantic-ui/ + * + * + * Copyright 2013 Contributors + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.ad{display:block;overflow:hidden;margin:1em 0}.ui.ad:first-child{margin:0}.ui.ad:last-child{margin:0}.ui.ad iframe{margin:0;padding:0;border:none;overflow:hidden}.ui.leaderboard.ad{width:728px;height:90px}.ui[class*="medium rectangle"].ad{width:300px;height:250px}.ui[class*="large rectangle"].ad{width:336px;height:280px}.ui[class*="half page"].ad{width:300px;height:600px}.ui.square.ad{width:250px;height:250px}.ui[class*="small square"].ad{width:200px;height:200px}.ui[class*="small rectangle"].ad{width:180px;height:150px}.ui[class*="vertical rectangle"].ad{width:240px;height:400px}.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}.ui.skyscraper.ad{width:120px;height:600px}.ui[class*="wide skyscraper"].ad{width:160px}.ui.banner.ad{width:468px;height:60px}.ui[class*="vertical banner"].ad{width:120px;height:240px}.ui[class*="top banner"].ad{width:930px;height:180px}.ui[class*="half banner"].ad{width:234px;height:60px}.ui[class*="large leaderboard"].ad{width:970px;height:90px}.ui.billboard.ad{width:970px;height:250px}.ui.panorama.ad{width:980px;height:120px}.ui.netboard.ad{width:580px;height:400px}.ui[class*="large mobile banner"].ad{width:320px;height:100px}.ui[class*="mobile leaderboard"].ad{width:320px;height:50px}.ui.mobile.ad{display:none}@media only screen and (max-width:767px){.ui.mobile.ad{display:block}}.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:#fff;font-size:1em;font-weight:700}.ui.mobile.test.ad:after{font-size:.85714286em}.ui.test.ad[data-text]:after{content:attr(data-text)} \ No newline at end of file diff --git a/themes/openpowerfoundation/static/lib/semantic-ui/components/api.js b/themes/openpowerfoundation/static/lib/semantic-ui/components/api.js new file mode 100755 index 0000000..d30f6ae --- /dev/null +++ b/themes/openpowerfoundation/static/lib/semantic-ui/components/api.js @@ -0,0 +1,1167 @@ +/*! + * # Semantic UI 2.3.0 - API + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + +;(function ($, window, document, undefined) { + +"use strict"; + +var + window = (typeof window != 'undefined' && window.Math == Math) + ? window + : (typeof self != 'undefined' && self.Math == Math) + ? self + : Function('return this')() +; + +$.api = $.fn.api = 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), + + returnedValue + ; + + $allModules + .each(function() { + var + settings = ( $.isPlainObject(parameters) ) + ? $.extend(true, {}, $.fn.api.settings, parameters) + : $.extend({}, $.fn.api.settings), + + // internal aliases + namespace = settings.namespace, + metadata = settings.metadata, + selector = settings.selector, + error = settings.error, + className = settings.className, + + // define namespaces for modules + eventNamespace = '.' + namespace, + moduleNamespace = 'module-' + namespace, + + // element that creates request + $module = $(this), + $form = $module.closest(selector.form), + + // context used for state + $context = (settings.stateContext) + ? $(settings.stateContext) + : $module, + + // request details + ajaxSettings, + requestSettings, + url, + data, + requestStartTime, + + // standard module + element = this, + context = $context[0], + instance = $module.data(moduleNamespace), + module + ; + + module = { + + initialize: function() { + if(!methodInvoked) { + module.bind.events(); + } + module.instantiate(); + }, + + instantiate: function() { + module.verbose('Storing instance of module', module); + instance = module; + $module + .data(moduleNamespace, instance) + ; + }, + + destroy: function() { + module.verbose('Destroying previous module for', element); + $module + .removeData(moduleNamespace) + .off(eventNamespace) + ; + }, + + bind: { + events: function() { + var + triggerEvent = module.get.event() + ; + if( triggerEvent ) { + module.verbose('Attaching API events to element', triggerEvent); + $module + .on(triggerEvent + eventNamespace, module.event.trigger) + ; + } + else if(settings.on == 'now') { + module.debug('Querying API endpoint immediately'); + module.query(); + } + } + }, + + decode: { + json: function(response) { + if(response !== undefined && typeof response == 'string') { + try { + response = JSON.parse(response); + } + catch(e) { + // isnt json string + } + } + return response; + } + }, + + read: { + cachedResponse: function(url) { + var + response + ; + if(window.Storage === undefined) { + module.error(error.noStorage); + return; + } + response = sessionStorage.getItem(url); + module.debug('Using cached response', url, response); + response = module.decode.json(response); + return response; + } + }, + write: { + cachedResponse: function(url, response) { + if(response && response === '') { + module.debug('Response empty, not caching', response); + return; + } + if(window.Storage === undefined) { + module.error(error.noStorage); + return; + } + if( $.isPlainObject(response) ) { + response = JSON.stringify(response); + } + sessionStorage.setItem(url, response); + module.verbose('Storing cached response for url', url, response); + } + }, + + query: function() { + + if(module.is.disabled()) { + module.debug('Element is disabled API request aborted'); + return; + } + + if(module.is.loading()) { + if(settings.interruptRequests) { + module.debug('Interrupting previous request'); + module.abort(); + } + else { + module.debug('Cancelling request, previous request is still pending'); + return; + } + } + + // pass element metadata to url (value, text) + if(settings.defaultData) { + $.extend(true, settings.urlData, module.get.defaultData()); + } + + // Add form content + if(settings.serializeForm) { + settings.data = module.add.formData(settings.data); + } + + // call beforesend and get any settings changes + requestSettings = module.get.settings(); + + // check if before send cancelled request + if(requestSettings === false) { + module.cancelled = true; + module.error(error.beforeSend); + return; + } + else { + module.cancelled = false; + } + + // get url + url = module.get.templatedURL(); + + if(!url && !module.is.mocked()) { + module.error(error.missingURL); + return; + } + + // replace variables + url = module.add.urlData( url ); + // missing url parameters + if( !url && !module.is.mocked()) { + return; + } + + requestSettings.url = settings.base + url; + + // look for jQuery ajax parameters in settings + ajaxSettings = $.extend(true, {}, settings, { + type : settings.method || settings.type, + data : data, + url : settings.base + url, + beforeSend : settings.beforeXHR, + success : function() {}, + failure : function() {}, + complete : function() {} + }); + + module.debug('Querying URL', ajaxSettings.url); + module.verbose('Using AJAX settings', ajaxSettings); + if(settings.cache === 'local' && module.read.cachedResponse(url)) { + module.debug('Response returned from local cache'); + module.request = module.create.request(); + module.request.resolveWith(context, [ module.read.cachedResponse(url) ]); + return; + } + + if( !settings.throttle ) { + module.debug('Sending request', data, ajaxSettings.method); + module.send.request(); + } + else { + if(!settings.throttleFirstRequest && !module.timer) { + module.debug('Sending request', data, ajaxSettings.method); + module.send.request(); + module.timer = setTimeout(function(){}, settings.throttle); + } + else { + module.debug('Throttling request', settings.throttle); + clearTimeout(module.timer); + module.timer = setTimeout(function() { + if(module.timer) { + delete module.timer; + } + module.debug('Sending throttled request', data, ajaxSettings.method); + module.send.request(); + }, settings.throttle); + } + } + + }, + + should: { + removeError: function() { + return ( settings.hideError === true || (settings.hideError === 'auto' && !module.is.form()) ); + } + }, + + is: { + disabled: function() { + return ($module.filter(selector.disabled).length > 0); + }, + expectingJSON: function() { + return settings.dataType === 'json' || settings.dataType === 'jsonp'; + }, + form: function() { + return $module.is('form') || $context.is('form'); + }, + mocked: function() { + return (settings.mockResponse || settings.mockResponseAsync || settings.response || settings.responseAsync); + }, + input: function() { + return $module.is('input'); + }, + loading: function() { + return (module.request) + ? (module.request.state() == 'pending') + : false + ; + }, + abortedRequest: function(xhr) { + if(xhr && xhr.readyState !== undefined && xhr.readyState === 0) { + module.verbose('XHR request determined to be aborted'); + return true; + } + else { + module.verbose('XHR request was not aborted'); + return false; + } + }, + validResponse: function(response) { + if( (!module.is.expectingJSON()) || !$.isFunction(settings.successTest) ) { + module.verbose('Response is not JSON, skipping validation', settings.successTest, response); + return true; + } + module.debug('Checking JSON returned success', settings.successTest, response); + if( settings.successTest(response) ) { + module.debug('Response passed success test', response); + return true; + } + else { + module.debug('Response failed success test', response); + return false; + } + } + }, + + was: { + cancelled: function() { + return (module.cancelled || false); + }, + succesful: function() { + return (module.request && module.request.state() == 'resolved'); + }, + failure: function() { + return (module.request && module.request.state() == 'rejected'); + }, + complete: function() { + return (module.request && (module.request.state() == 'resolved' || module.request.state() == 'rejected') ); + } + }, + + add: { + urlData: function(url, urlData) { + var + requiredVariables, + optionalVariables + ; + if(url) { + requiredVariables = url.match(settings.regExp.required); + optionalVariables = url.match(settings.regExp.optional); + urlData = urlData || settings.urlData; + if(requiredVariables) { + module.debug('Looking for required URL variables', requiredVariables); + $.each(requiredVariables, function(index, templatedString) { + var + // allow legacy {$var} style + variable = (templatedString.indexOf('$') !== -1) + ? templatedString.substr(2, templatedString.length - 3) + : templatedString.substr(1, templatedString.length - 2), + value = ($.isPlainObject(urlData) && urlData[variable] !== undefined) + ? urlData[variable] + : ($module.data(variable) !== undefined) + ? $module.data(variable) + : ($context.data(variable) !== undefined) + ? $context.data(variable) + : urlData[variable] + ; + // remove value + if(value === undefined) { + module.error(error.requiredParameter, variable, url); + url = false; + return false; + } + else { + module.verbose('Found required variable', variable, value); + value = (settings.encodeParameters) + ? module.get.urlEncodedValue(value) + : value + ; + url = url.replace(templatedString, value); + } + }); + } + if(optionalVariables) { + module.debug('Looking for optional URL variables', requiredVariables); + $.each(optionalVariables, function(index, templatedString) { + var + // allow legacy {/$var} style + variable = (templatedString.indexOf('$') !== -1) + ? templatedString.substr(3, templatedString.length - 4) + : templatedString.substr(2, templatedString.length - 3), + value = ($.isPlainObject(urlData) && urlData[variable] !== undefined) + ? urlData[variable] + : ($module.data(variable) !== undefined) + ? $module.data(variable) + : ($context.data(variable) !== undefined) + ? $context.data(variable) + : urlData[variable] + ; + // optional replacement + if(value !== undefined) { + module.verbose('Optional variable Found', variable, value); + url = url.replace(templatedString, value); + } + else { + module.verbose('Optional variable not found', variable); + // remove preceding slash if set + if(url.indexOf('/' + templatedString) !== -1) { + url = url.replace('/' + templatedString, ''); + } + else { + url = url.replace(templatedString, ''); + } + } + }); + } + } + return url; + }, + formData: function(data) { + var + canSerialize = ($.fn.serializeObject !== undefined), + formData = (canSerialize) + ? $form.serializeObject() + : $form.serialize(), + hasOtherData + ; + data = data || settings.data; + hasOtherData = $.isPlainObject(data); + + if(hasOtherData) { + if(canSerialize) { + module.debug('Extending existing data with form data', data, formData); + data = $.extend(true, {}, data, formData); + } + else { + module.error(error.missingSerialize); + module.debug('Cant extend data. Replacing data with form data', data, formData); + data = formData; + } + } + else { + module.debug('Adding form data', formData); + data = formData; + } + return data; + } + }, + + send: { + request: function() { + module.set.loading(); + module.request = module.create.request(); + if( module.is.mocked() ) { + module.mockedXHR = module.create.mockedXHR(); + } + else { + module.xhr = module.create.xhr(); + } + settings.onRequest.call(context, module.request, module.xhr); + } + }, + + event: { + trigger: function(event) { + module.query(); + if(event.type == 'submit' || event.type == 'click') { + event.preventDefault(); + } + }, + xhr: { + always: function() { + // nothing special + }, + done: function(response, textStatus, xhr) { + var + context = this, + elapsedTime = (new Date().getTime() - requestStartTime), + timeLeft = (settings.loadingDuration - elapsedTime), + translatedResponse = ( $.isFunction(settings.onResponse) ) + ? module.is.expectingJSON() + ? settings.onResponse.call(context, $.extend(true, {}, response)) + : settings.onResponse.call(context, response) + : false + ; + timeLeft = (timeLeft > 0) + ? timeLeft + : 0 + ; + if(translatedResponse) { + module.debug('Modified API response in onResponse callback', settings.onResponse, translatedResponse, response); + response = translatedResponse; + } + if(timeLeft > 0) { + module.debug('Response completed early delaying state change by', timeLeft); + } + setTimeout(function() { + if( module.is.validResponse(response) ) { + module.request.resolveWith(context, [response, xhr]); + } + else { + module.request.rejectWith(context, [xhr, 'invalid']); + } + }, timeLeft); + }, + fail: function(xhr, status, httpMessage) { + var + context = this, + elapsedTime = (new Date().getTime() - requestStartTime), + timeLeft = (settings.loadingDuration - elapsedTime) + ; + timeLeft = (timeLeft > 0) + ? timeLeft + : 0 + ; + if(timeLeft > 0) { + module.debug('Response completed early delaying state change by', timeLeft); + } + setTimeout(function() { + if( module.is.abortedRequest(xhr) ) { + module.request.rejectWith(context, [xhr, 'aborted', httpMessage]); + } + else { + module.request.rejectWith(context, [xhr, 'error', status, httpMessage]); + } + }, timeLeft); + } + }, + request: { + done: function(response, xhr) { + module.debug('Successful API Response', response); + if(settings.cache === 'local' && url) { + module.write.cachedResponse(url, response); + module.debug('Saving server response locally', module.cache); + } + settings.onSuccess.call(context, response, $module, xhr); + }, + complete: function(firstParameter, secondParameter) { + var + xhr, + response + ; + // have to guess callback parameters based on request success + if( module.was.succesful() ) { + response = firstParameter; + xhr = secondParameter; + } + else { + xhr = firstParameter; + response = module.get.responseFromXHR(xhr); + } + module.remove.loading(); + settings.onComplete.call(context, response, $module, xhr); + }, + fail: function(xhr, status, httpMessage) { + var + // pull response from xhr if available + response = module.get.responseFromXHR(xhr), + errorMessage = module.get.errorFromRequest(response, status, httpMessage) + ; + if(status == 'aborted') { + module.debug('XHR Aborted (Most likely caused by page navigation or CORS Policy)', status, httpMessage); + settings.onAbort.call(context, status, $module, xhr); + return true; + } + else if(status == 'invalid') { + module.debug('JSON did not pass success test. A server-side error has most likely occurred', response); + } + else if(status == 'error') { + if(xhr !== undefined) { + module.debug('XHR produced a server error', status, httpMessage); + // make sure we have an error to display to console + if( xhr.status != 200 && httpMessage !== undefined && httpMessage !== '') { + module.error(error.statusMessage + httpMessage, ajaxSettings.url); + } + settings.onError.call(context, errorMessage, $module, xhr); + } + } + + if(settings.errorDuration && status !== 'aborted') { + module.debug('Adding error state'); + module.set.error(); + if( module.should.removeError() ) { + setTimeout(module.remove.error, settings.errorDuration); + } + } + module.debug('API Request failed', errorMessage, xhr); + settings.onFailure.call(context, response, $module, xhr); + } + } + }, + + create: { + + request: function() { + // api request promise + return $.Deferred() + .always(module.event.request.complete) + .done(module.event.request.done) + .fail(module.event.request.fail) + ; + }, + + mockedXHR: function () { + var + // xhr does not simulate these properties of xhr but must return them + textStatus = false, + status = false, + httpMessage = false, + responder = settings.mockResponse || settings.response, + asyncResponder = settings.mockResponseAsync || settings.responseAsync, + asyncCallback, + response, + mockedXHR + ; + + mockedXHR = $.Deferred() + .always(module.event.xhr.complete) + .done(module.event.xhr.done) + .fail(module.event.xhr.fail) + ; + + if(responder) { + if( $.isFunction(responder) ) { + module.debug('Using specified synchronous callback', responder); + response = responder.call(context, requestSettings); + } + else { + module.debug('Using settings specified response', responder); + response = responder; + } + // simulating response + mockedXHR.resolveWith(context, [ response, textStatus, { responseText: response }]); + } + else if( $.isFunction(asyncResponder) ) { + asyncCallback = function(response) { + module.debug('Async callback returned response', response); + + if(response) { + mockedXHR.resolveWith(context, [ response, textStatus, { responseText: response }]); + } + else { + mockedXHR.rejectWith(context, [{ responseText: response }, status, httpMessage]); + } + }; + module.debug('Using specified async response callback', asyncResponder); + asyncResponder.call(context, requestSettings, asyncCallback); + } + return mockedXHR; + }, + + xhr: function() { + var + xhr + ; + // ajax request promise + xhr = $.ajax(ajaxSettings) + .always(module.event.xhr.always) + .done(module.event.xhr.done) + .fail(module.event.xhr.fail) + ; + module.verbose('Created server request', xhr, ajaxSettings); + return xhr; + } + }, + + set: { + error: function() { + module.verbose('Adding error state to element', $context); + $context.addClass(className.error); + }, + loading: function() { + module.verbose('Adding loading state to element', $context); + $context.addClass(className.loading); + requestStartTime = new Date().getTime(); + } + }, + + remove: { + error: function() { + module.verbose('Removing error state from element', $context); + $context.removeClass(className.error); + }, + loading: function() { + module.verbose('Removing loading state from element', $context); + $context.removeClass(className.loading); + } + }, + + get: { + responseFromXHR: function(xhr) { + return $.isPlainObject(xhr) + ? (module.is.expectingJSON()) + ? module.decode.json(xhr.responseText) + : xhr.responseText + : false + ; + }, + errorFromRequest: function(response, status, httpMessage) { + return ($.isPlainObject(response) && response.error !== undefined) + ? response.error // use json error message + : (settings.error[status] !== undefined) // use server error message + ? settings.error[status] + : httpMessage + ; + }, + request: function() { + return module.request || false; + }, + xhr: function() { + return module.xhr || false; + }, + settings: function() { + var + runSettings + ; + runSettings = settings.beforeSend.call(context, settings); + if(runSettings) { + if(runSettings.success !== undefined) { + module.debug('Legacy success callback detected', runSettings); + module.error(error.legacyParameters, runSettings.success); + runSettings.onSuccess = runSettings.success; + } + if(runSettings.failure !== undefined) { + module.debug('Legacy failure callback detected', runSettings); + module.error(error.legacyParameters, runSettings.failure); + runSettings.onFailure = runSettings.failure; + } + if(runSettings.complete !== undefined) { + module.debug('Legacy complete callback detected', runSettings); + module.error(error.legacyParameters, runSettings.complete); + runSettings.onComplete = runSettings.complete; + } + } + if(runSettings === undefined) { + module.error(error.noReturnedValue); + } + if(runSettings === false) { + return runSettings; + } + return (runSettings !== undefined) + ? $.extend(true, {}, runSettings) + : $.extend(true, {}, settings) + ; + }, + urlEncodedValue: function(value) { + var + decodedValue = window.decodeURIComponent(value), + encodedValue = window.encodeURIComponent(value), + alreadyEncoded = (decodedValue !== value) + ; + if(alreadyEncoded) { + module.debug('URL value is already encoded, avoiding double encoding', value); + return value; + } + module.verbose('Encoding value using encodeURIComponent', value, encodedValue); + return encodedValue; + }, + defaultData: function() { + var + data = {} + ; + if( !$.isWindow(element) ) { + if( module.is.input() ) { + data.value = $module.val(); + } + else if( module.is.form() ) { + + } + else { + data.text = $module.text(); + } + } + return data; + }, + event: function() { + if( $.isWindow(element) || settings.on == 'now' ) { + module.debug('API called without element, no events attached'); + return false; + } + else if(settings.on == 'auto') { + if( $module.is('input') ) { + return (element.oninput !== undefined) + ? 'input' + : (element.onpropertychange !== undefined) + ? 'propertychange' + : 'keyup' + ; + } + else if( $module.is('form') ) { + return 'submit'; + } + else { + return 'click'; + } + } + else { + return settings.on; + } + }, + templatedURL: function(action) { + action = action || $module.data(metadata.action) || settings.action || false; + url = $module.data(metadata.url) || settings.url || false; + if(url) { + module.debug('Using specified url', url); + return url; + } + if(action) { + module.debug('Looking up url for action', action, settings.api); + if(settings.api[action] === undefined && !module.is.mocked()) { + module.error(error.missingAction, settings.action, settings.api); + return; + } + url = settings.api[action]; + } + else if( module.is.form() ) { + url = $module.attr('action') || $context.attr('action') || false; + module.debug('No url or action specified, defaulting to form action', url); + } + return url; + } + }, + + abort: function() { + var + xhr = module.get.xhr() + ; + if( xhr && xhr.state() !== 'resolved') { + module.debug('Cancelling API request'); + xhr.abort(); + } + }, + + // reset state + reset: function() { + module.remove.error(); + module.remove.loading(); + }, + + 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 + ; +}; + +$.api.settings = { + + name : 'API', + namespace : 'api', + + debug : false, + verbose : false, + performance : true, + + // object containing all templates endpoints + api : {}, + + // whether to cache responses + cache : true, + + // whether new requests should abort previous requests + interruptRequests : true, + + // event binding + on : 'auto', + + // context for applying state classes + stateContext : false, + + // duration for loading state + loadingDuration : 0, + + // whether to hide errors after a period of time + hideError : 'auto', + + // duration for error state + errorDuration : 2000, + + // whether parameters should be encoded with encodeURIComponent + encodeParameters : true, + + // API action to use + action : false, + + // templated URL to use + url : false, + + // base URL to apply to all endpoints + base : '', + + // data that will + urlData : {}, + + // whether to add default data to url data + defaultData : true, + + // whether to serialize closest form + serializeForm : false, + + // how long to wait before request should occur + throttle : 0, + + // whether to throttle first request or only repeated + throttleFirstRequest : true, + + // standard ajax settings + method : 'get', + data : {}, + dataType : 'json', + + // mock response + mockResponse : false, + mockResponseAsync : false, + + // aliases for mock + response : false, + responseAsync : false, + + // callbacks before request + beforeSend : function(settings) { return settings; }, + beforeXHR : function(xhr) {}, + onRequest : function(promise, xhr) {}, + + // after request + onResponse : false, // function(response) { }, + + // response was successful, if JSON passed validation + onSuccess : function(response, $module) {}, + + // request finished without aborting + onComplete : function(response, $module) {}, + + // failed JSON success test + onFailure : function(response, $module) {}, + + // server error + onError : function(errorMessage, $module) {}, + + // request aborted + onAbort : function(errorMessage, $module) {}, + + successTest : false, + + // errors + error : { + beforeSend : 'The before send function has aborted the request', + error : 'There was an error with your request', + exitConditions : 'API Request Aborted. Exit conditions met', + JSONParse : 'JSON could not be parsed during error handling', + legacyParameters : 'You are using legacy API success callback names', + method : 'The method you called is not defined', + missingAction : 'API action used but no url was defined', + missingSerialize : 'jquery-serialize-object is required to add form data to an existing data object', + missingURL : 'No URL specified for api event', + noReturnedValue : 'The beforeSend callback must return a settings object, beforeSend ignored.', + noStorage : 'Caching responses locally requires session storage', + parseError : 'There was an error parsing your request', + requiredParameter : 'Missing a required URL parameter: ', + statusMessage : 'Server gave an error: ', + timeout : 'Your request timed out' + }, + + regExp : { + required : /\{\$*[A-z0-9]+\}/g, + optional : /\{\/\$*[A-z0-9]+\}/g, + }, + + className: { + loading : 'loading', + error : 'error' + }, + + selector: { + disabled : '.disabled', + form : 'form' + }, + + metadata: { + action : 'action', + url : 'url' + } +}; + + + +})( jQuery, window, document ); diff --git a/themes/openpowerfoundation/static/lib/semantic-ui/components/api.min.js b/themes/openpowerfoundation/static/lib/semantic-ui/components/api.min.js new file mode 100755 index 0000000..aec935d --- /dev/null +++ b/themes/openpowerfoundation/static/lib/semantic-ui/components/api.min.js @@ -0,0 +1 @@ +!function(e,t,r,n){"use strict";t=void 0!==t&&t.Math==Math?t:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();e.api=e.fn.api=function(r){var o,s=e.isFunction(this)?e(t):e(this),i=s.selector||"",a=(new Date).getTime(),u=[],c=arguments[0],d="string"==typeof c,l=[].slice.call(arguments,1);return s.each(function(){var s,g,f,p,m,b,v=e.isPlainObject(r)?e.extend(!0,{},e.fn.api.settings,r):e.extend({},e.fn.api.settings),h=v.namespace,y=v.metadata,q=v.selector,R=v.error,x=v.className,S="."+h,A="module-"+h,k=e(this),T=k.closest(q.form),P=v.stateContext?e(v.stateContext):k,j=this,O=P[0],w=k.data(A);b={initialize:function(){d||b.bind.events(),b.instantiate()},instantiate:function(){b.verbose("Storing instance of module",b),w=b,k.data(A,w)},destroy:function(){b.verbose("Destroying previous module for",j),k.removeData(A).off(S)},bind:{events:function(){var e=b.get.event();e?(b.verbose("Attaching API events to element",e),k.on(e+S,b.event.trigger)):"now"==v.on&&(b.debug("Querying API endpoint immediately"),b.query())}},decode:{json:function(e){if(e!==n&&"string"==typeof e)try{e=JSON.parse(e)}catch(e){}return e}},read:{cachedResponse:function(e){var r;if(t.Storage!==n)return r=sessionStorage.getItem(e),b.debug("Using cached response",e,r),r=b.decode.json(r);b.error(R.noStorage)}},write:{cachedResponse:function(r,o){o&&""===o?b.debug("Response empty, not caching",o):t.Storage!==n?(e.isPlainObject(o)&&(o=JSON.stringify(o)),sessionStorage.setItem(r,o),b.verbose("Storing cached response for url",r,o)):b.error(R.noStorage)}},query:function(){if(b.is.disabled())b.debug("Element is disabled API request aborted");else{if(b.is.loading()){if(!v.interruptRequests)return void b.debug("Cancelling request, previous request is still pending");b.debug("Interrupting previous request"),b.abort()}if(v.defaultData&&e.extend(!0,v.urlData,b.get.defaultData()),v.serializeForm&&(v.data=b.add.formData(v.data)),!1===(g=b.get.settings()))return b.cancelled=!0,void b.error(R.beforeSend);if(b.cancelled=!1,(f=b.get.templatedURL())||b.is.mocked()){if((f=b.add.urlData(f))||b.is.mocked()){if(g.url=v.base+f,s=e.extend(!0,{},v,{type:v.method||v.type,data:p,url:v.base+f,beforeSend:v.beforeXHR,success:function(){},failure:function(){},complete:function(){}}),b.debug("Querying URL",s.url),b.verbose("Using AJAX settings",s),"local"===v.cache&&b.read.cachedResponse(f))return b.debug("Response returned from local cache"),b.request=b.create.request(),void b.request.resolveWith(O,[b.read.cachedResponse(f)]);v.throttle?v.throttleFirstRequest||b.timer?(b.debug("Throttling request",v.throttle),clearTimeout(b.timer),b.timer=setTimeout(function(){b.timer&&delete b.timer,b.debug("Sending throttled request",p,s.method),b.send.request()},v.throttle)):(b.debug("Sending request",p,s.method),b.send.request(),b.timer=setTimeout(function(){},v.throttle)):(b.debug("Sending request",p,s.method),b.send.request())}}else b.error(R.missingURL)}},should:{removeError:function(){return!0===v.hideError||"auto"===v.hideError&&!b.is.form()}},is:{disabled:function(){return k.filter(q.disabled).length>0},expectingJSON:function(){return"json"===v.dataType||"jsonp"===v.dataType},form:function(){return k.is("form")||P.is("form")},mocked:function(){return v.mockResponse||v.mockResponseAsync||v.response||v.responseAsync},input:function(){return k.is("input")},loading:function(){return!!b.request&&"pending"==b.request.state()},abortedRequest:function(e){return e&&e.readyState!==n&&0===e.readyState?(b.verbose("XHR request determined to be aborted"),!0):(b.verbose("XHR request was not aborted"),!1)},validResponse:function(t){return b.is.expectingJSON()&&e.isFunction(v.successTest)?(b.debug("Checking JSON returned success",v.successTest,t),v.successTest(t)?(b.debug("Response passed success test",t),!0):(b.debug("Response failed success test",t),!1)):(b.verbose("Response is not JSON, skipping validation",v.successTest,t),!0)}},was:{cancelled:function(){return b.cancelled||!1},succesful:function(){return b.request&&"resolved"==b.request.state()},failure:function(){return b.request&&"rejected"==b.request.state()},complete:function(){return b.request&&("resolved"==b.request.state()||"rejected"==b.request.state())}},add:{urlData:function(t,r){var o,s;return t&&(o=t.match(v.regExp.required),s=t.match(v.regExp.optional),r=r||v.urlData,o&&(b.debug("Looking for required URL variables",o),e.each(o,function(o,s){var i=-1!==s.indexOf("$")?s.substr(2,s.length-3):s.substr(1,s.length-2),a=e.isPlainObject(r)&&r[i]!==n?r[i]:k.data(i)!==n?k.data(i):P.data(i)!==n?P.data(i):r[i];if(a===n)return b.error(R.requiredParameter,i,t),t=!1,!1;b.verbose("Found required variable",i,a),a=v.encodeParameters?b.get.urlEncodedValue(a):a,t=t.replace(s,a)})),s&&(b.debug("Looking for optional URL variables",o),e.each(s,function(o,s){var i=-1!==s.indexOf("$")?s.substr(3,s.length-4):s.substr(2,s.length-3),a=e.isPlainObject(r)&&r[i]!==n?r[i]:k.data(i)!==n?k.data(i):P.data(i)!==n?P.data(i):r[i];a!==n?(b.verbose("Optional variable Found",i,a),t=t.replace(s,a)):(b.verbose("Optional variable not found",i),t=-1!==t.indexOf("/"+s)?t.replace("/"+s,""):t.replace(s,""))}))),t},formData:function(t){var r=e.fn.serializeObject!==n,o=r?T.serializeObject():T.serialize();return t=t||v.data,e.isPlainObject(t)?r?(b.debug("Extending existing data with form data",t,o),t=e.extend(!0,{},t,o)):(b.error(R.missingSerialize),b.debug("Cant extend data. Replacing data with form data",t,o),t=o):(b.debug("Adding form data",o),t=o),t}},send:{request:function(){b.set.loading(),b.request=b.create.request(),b.is.mocked()?b.mockedXHR=b.create.mockedXHR():b.xhr=b.create.xhr(),v.onRequest.call(O,b.request,b.xhr)}},event:{trigger:function(e){b.query(),"submit"!=e.type&&"click"!=e.type||e.preventDefault()},xhr:{always:function(){},done:function(t,r,n){var o=this,s=(new Date).getTime()-m,i=v.loadingDuration-s,a=!!e.isFunction(v.onResponse)&&(b.is.expectingJSON()?v.onResponse.call(o,e.extend(!0,{},t)):v.onResponse.call(o,t));i=i>0?i:0,a&&(b.debug("Modified API response in onResponse callback",v.onResponse,a,t),t=a),i>0&&b.debug("Response completed early delaying state change by",i),setTimeout(function(){b.is.validResponse(t)?b.request.resolveWith(o,[t,n]):b.request.rejectWith(o,[n,"invalid"])},i)},fail:function(e,t,r){var n=this,o=(new Date).getTime()-m,s=v.loadingDuration-o;(s=s>0?s:0)>0&&b.debug("Response completed early delaying state change by",s),setTimeout(function(){b.is.abortedRequest(e)?b.request.rejectWith(n,[e,"aborted",r]):b.request.rejectWith(n,[e,"error",t,r])},s)}},request:{done:function(e,t){b.debug("Successful API Response",e),"local"===v.cache&&f&&(b.write.cachedResponse(f,e),b.debug("Saving server response locally",b.cache)),v.onSuccess.call(O,e,k,t)},complete:function(e,t){var r,n;b.was.succesful()?(n=e,r=t):(r=e,n=b.get.responseFromXHR(r)),b.remove.loading(),v.onComplete.call(O,n,k,r)},fail:function(e,t,r){var o=b.get.responseFromXHR(e),i=b.get.errorFromRequest(o,t,r);if("aborted"==t)return b.debug("XHR Aborted (Most likely caused by page navigation or CORS Policy)",t,r),v.onAbort.call(O,t,k,e),!0;"invalid"==t?b.debug("JSON did not pass success test. A server-side error has most likely occurred",o):"error"==t&&e!==n&&(b.debug("XHR produced a server error",t,r),200!=e.status&&r!==n&&""!==r&&b.error(R.statusMessage+r,s.url),v.onError.call(O,i,k,e)),v.errorDuration&&"aborted"!==t&&(b.debug("Adding error state"),b.set.error(),b.should.removeError()&&setTimeout(b.remove.error,v.errorDuration)),b.debug("API Request failed",i,e),v.onFailure.call(O,o,k,e)}}},create:{request:function(){return e.Deferred().always(b.event.request.complete).done(b.event.request.done).fail(b.event.request.fail)},mockedXHR:function(){var t,r,n,o=v.mockResponse||v.response,s=v.mockResponseAsync||v.responseAsync;return n=e.Deferred().always(b.event.xhr.complete).done(b.event.xhr.done).fail(b.event.xhr.fail),o?(e.isFunction(o)?(b.debug("Using specified synchronous callback",o),r=o.call(O,g)):(b.debug("Using settings specified response",o),r=o),n.resolveWith(O,[r,!1,{responseText:r}])):e.isFunction(s)&&(t=function(e){b.debug("Async callback returned response",e),e?n.resolveWith(O,[e,!1,{responseText:e}]):n.rejectWith(O,[{responseText:e},!1,!1])},b.debug("Using specified async response callback",s),s.call(O,g,t)),n},xhr:function(){var t;return t=e.ajax(s).always(b.event.xhr.always).done(b.event.xhr.done).fail(b.event.xhr.fail),b.verbose("Created server request",t,s),t}},set:{error:function(){b.verbose("Adding error state to element",P),P.addClass(x.error)},loading:function(){b.verbose("Adding loading state to element",P),P.addClass(x.loading),m=(new Date).getTime()}},remove:{error:function(){b.verbose("Removing error state from element",P),P.removeClass(x.error)},loading:function(){b.verbose("Removing loading state from element",P),P.removeClass(x.loading)}},get:{responseFromXHR:function(t){return!!e.isPlainObject(t)&&(b.is.expectingJSON()?b.decode.json(t.responseText):t.responseText)},errorFromRequest:function(t,r,o){return e.isPlainObject(t)&&t.error!==n?t.error:v.error[r]!==n?v.error[r]:o},request:function(){return b.request||!1},xhr:function(){return b.xhr||!1},settings:function(){var t;return(t=v.beforeSend.call(O,v))&&(t.success!==n&&(b.debug("Legacy success callback detected",t),b.error(R.legacyParameters,t.success),t.onSuccess=t.success),t.failure!==n&&(b.debug("Legacy failure callback detected",t),b.error(R.legacyParameters,t.failure),t.onFailure=t.failure),t.complete!==n&&(b.debug("Legacy complete callback detected",t),b.error(R.legacyParameters,t.complete),t.onComplete=t.complete)),t===n&&b.error(R.noReturnedValue),!1===t?t:t!==n?e.extend(!0,{},t):e.extend(!0,{},v)},urlEncodedValue:function(e){var r=t.decodeURIComponent(e),n=t.encodeURIComponent(e);return r!==e?(b.debug("URL value is already encoded, avoiding double encoding",e),e):(b.verbose("Encoding value using encodeURIComponent",e,n),n)},defaultData:function(){var t={};return e.isWindow(j)||(b.is.input()?t.value=k.val():b.is.form()||(t.text=k.text())),t},event:function(){return e.isWindow(j)||"now"==v.on?(b.debug("API called without element, no events attached"),!1):"auto"==v.on?k.is("input")?j.oninput!==n?"input":j.onpropertychange!==n?"propertychange":"keyup":k.is("form")?"submit":"click":v.on},templatedURL:function(e){if(e=e||k.data(y.action)||v.action||!1,f=k.data(y.url)||v.url||!1)return b.debug("Using specified url",f),f;if(e){if(b.debug("Looking up url for action",e,v.api),v.api[e]===n&&!b.is.mocked())return void b.error(R.missingAction,v.action,v.api);f=v.api[e]}else b.is.form()&&(f=k.attr("action")||P.attr("action")||!1,b.debug("No url or action specified, defaulting to form action",f));return f}},abort:function(){var e=b.get.xhr();e&&"resolved"!==e.state()&&(b.debug("Cancelling API request"),e.abort())},reset:function(){b.remove.error(),b.remove.loading()},setting:function(t,r){if(b.debug("Changing setting",t,r),e.isPlainObject(t))e.extend(!0,v,t);else{if(r===n)return v[t];e.isPlainObject(v[t])?e.extend(!0,v[t],r):v[t]=r}},internal:function(t,r){if(e.isPlainObject(t))e.extend(!0,b,t);else{if(r===n)return b[t];b[t]=r}},debug:function(){!v.silent&&v.debug&&(v.performance?b.performance.log(arguments):(b.debug=Function.prototype.bind.call(console.info,console,v.name+":"),b.debug.apply(console,arguments)))},verbose:function(){!v.silent&&v.verbose&&v.debug&&(v.performance?b.performance.log(arguments):(b.verbose=Function.prototype.bind.call(console.info,console,v.name+":"),b.verbose.apply(console,arguments)))},error:function(){v.silent||(b.error=Function.prototype.bind.call(console.error,console,v.name+":"),b.error.apply(console,arguments))},performance:{log:function(e){var t,r;v.performance&&(r=(t=(new Date).getTime())-(a||t),a=t,u.push({Name:e[0],Arguments:[].slice.call(e,1)||"","Execution Time":r})),clearTimeout(b.performance.timer),b.performance.timer=setTimeout(b.performance.display,500)},display:function(){var t=v.name+":",r=0;a=!1,clearTimeout(b.performance.timer),e.each(u,function(e,t){r+=t["Execution Time"]}),t+=" "+r+"ms",i&&(t+=" '"+i+"'"),(console.group!==n||console.table!==n)&&u.length>0&&(console.groupCollapsed(t),console.table?console.table(u):e.each(u,function(e,t){console.log(t.Name+": "+t["Execution Time"]+"ms")}),console.groupEnd()),u=[]}},invoke:function(t,r,s){var i,a,u,c=w;return r=r||l,s=j||s,"string"==typeof t&&c!==n&&(t=t.split(/[\. ]/),i=t.length-1,e.each(t,function(r,o){var s=r!=i?o+t[r+1].charAt(0).toUpperCase()+t[r+1].slice(1):t;if(e.isPlainObject(c[s])&&r!=i)c=c[s];else{if(c[s]!==n)return a=c[s],!1;if(!e.isPlainObject(c[o])||r==i)return c[o]!==n?(a=c[o],!1):(b.error(R.method,t),!1);c=c[o]}})),e.isFunction(a)?u=a.apply(s,r):a!==n&&(u=a),e.isArray(o)?o.push(u):o!==n?o=[o,u]:u!==n&&(o=u),a}},d?(w===n&&b.initialize(),b.invoke(c)):(w!==n&&w.invoke("destroy"),b.initialize())}),o!==n?o:this},e.api.settings={name:"API",namespace:"api",debug:!1,verbose:!1,performance:!0,api:{},cache:!0,interruptRequests:!0,on:"auto",stateContext:!1,loadingDuration:0,hideError:"auto",errorDuration:2e3,encodeParameters:!0,action:!1,url:!1,base:"",urlData:{},defaultData:!0,serializeForm:!1,throttle:0,throttleFirstRequest:!0,method:"get",data:{},dataType:"json",mockResponse:!1,mockResponseAsync:!1,response:!1,responseAsync:!1,beforeSend:function(e){return e},beforeXHR:function(e){},onRequest:function(e,t){},onResponse:!1,onSuccess:function(e,t){},onComplete:function(e,t){},onFailure:function(e,t){},onError:function(e,t){},onAbort:function(e,t){},successTest:!1,error:{beforeSend:"The before send function has aborted the request",error:"There was an error with your request",exitConditions:"API Request Aborted. Exit conditions met",JSONParse:"JSON could not be parsed during error handling",legacyParameters:"You are using legacy API success callback names",method:"The method you called is not defined",missingAction:"API action used but no url was defined",missingSerialize:"jquery-serialize-object is required to add form data to an existing data object",missingURL:"No URL specified for api event",noReturnedValue:"The beforeSend callback must return a settings object, beforeSend ignored.",noStorage:"Caching responses locally requires session storage",parseError:"There was an error parsing your request",requiredParameter:"Missing a required URL parameter: ",statusMessage:"Server gave an error: ",timeout:"Your request timed out"},regExp:{required:/\{\$*[A-z0-9]+\}/g,optional:/\{\/\$*[A-z0-9]+\}/g},className:{loading:"loading",error:"error"},selector:{disabled:".disabled",form:"form"},metadata:{action:"action",url:"url"}}}(jQuery,window,document); \ No newline at end of file diff --git a/themes/openpowerfoundation/static/lib/semantic-ui/components/breadcrumb.css b/themes/openpowerfoundation/static/lib/semantic-ui/components/breadcrumb.css new file mode 100755 index 0000000..dca380f --- /dev/null +++ b/themes/openpowerfoundation/static/lib/semantic-ui/components/breadcrumb.css @@ -0,0 +1,124 @@ +/*! + * # Semantic UI 2.3.0 - 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 +*******************************/ + diff --git a/themes/openpowerfoundation/static/lib/semantic-ui/components/breadcrumb.min.css b/themes/openpowerfoundation/static/lib/semantic-ui/components/breadcrumb.min.css new file mode 100755 index 0000000..cb43595 --- /dev/null +++ b/themes/openpowerfoundation/static/lib/semantic-ui/components/breadcrumb.min.css @@ -0,0 +1,9 @@ +/*! + * # Semantic UI 2.3.0 - Breadcrumb + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.breadcrumb{line-height:1;display:inline-block;margin:0 0;vertical-align:middle}.ui.breadcrumb:first-child{margin-top:0}.ui.breadcrumb:last-child{margin-bottom:0}.ui.breadcrumb .divider{display:inline-block;opacity:.7;margin:0 .21428571rem 0;font-size:.92857143em;color:rgba(0,0,0,.4);vertical-align:baseline}.ui.breadcrumb a{color:#4183c4}.ui.breadcrumb a:hover{color:#1e70bf}.ui.breadcrumb .icon.divider{font-size:.85714286em;vertical-align:baseline}.ui.breadcrumb a.section{cursor:pointer}.ui.breadcrumb .section{display:inline-block;margin:0;padding:0}.ui.breadcrumb.segment{display:inline-block;padding:.78571429em 1em}.ui.breadcrumb .active.section{font-weight:700}.ui.mini.breadcrumb{font-size:.78571429rem}.ui.tiny.breadcrumb{font-size:.85714286rem}.ui.small.breadcrumb{font-size:.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} \ No newline at end of file diff --git a/themes/openpowerfoundation/static/lib/semantic-ui/components/button.css b/themes/openpowerfoundation/static/lib/semantic-ui/components/button.css new file mode 100755 index 0000000..b203cd9 --- /dev/null +++ b/themes/openpowerfoundation/static/lib/semantic-ui/components/button.css @@ -0,0 +1,3688 @@ +/*! + * # Semantic UI 2.3.0 - Button + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + + +/******************************* + Button +*******************************/ + +.ui.button { + cursor: pointer; + display: inline-block; + min-height: 1em; + outline: none; + border: none; + vertical-align: baseline; + background: #E0E1E2 none; + color: rgba(0, 0, 0, 0.6); + font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; + margin: 0em 0.25em 0em 0em; + padding: 0.78571429em 1.5em 0.78571429em; + text-transform: none; + text-shadow: none; + font-weight: bold; + line-height: 1em; + font-style: normal; + text-align: center; + text-decoration: none; + border-radius: 0.28571429rem; + -webkit-box-shadow: 0px 0px 0px 1px transparent inset, 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0px 0px 0px 1px transparent inset, 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-transition: opacity 0.1s ease, background-color 0.1s ease, color 0.1s ease, background 0.1s ease, -webkit-box-shadow 0.1s ease; + transition: opacity 0.1s ease, background-color 0.1s ease, color 0.1s ease, background 0.1s ease, -webkit-box-shadow 0.1s ease; + transition: opacity 0.1s ease, background-color 0.1s ease, color 0.1s ease, box-shadow 0.1s ease, background 0.1s ease; + transition: opacity 0.1s ease, background-color 0.1s ease, color 0.1s ease, box-shadow 0.1s ease, background 0.1s ease, -webkit-box-shadow 0.1s ease; + will-change: ''; + -webkit-tap-highlight-color: transparent; +} + + +/******************************* + States +*******************************/ + + +/*-------------- + Hover +---------------*/ + +.ui.button:hover { + background-color: #CACBCD; + background-image: none; + -webkit-box-shadow: 0px 0px 0px 1px transparent inset, 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0px 0px 0px 1px transparent inset, 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; + color: rgba(0, 0, 0, 0.8); +} +.ui.button:hover .icon { + opacity: 0.85; +} + +/*-------------- + Focus +---------------*/ + +.ui.button:focus { + background-color: #CACBCD; + color: rgba(0, 0, 0, 0.8); + background-image: '' !important; + -webkit-box-shadow: '' !important; + box-shadow: '' !important; +} +.ui.button:focus .icon { + opacity: 0.85; +} + +/*-------------- + Down +---------------*/ + +.ui.button:active, +.ui.active.button:active { + background-color: #BABBBC; + background-image: ''; + color: rgba(0, 0, 0, 0.9); + -webkit-box-shadow: 0px 0px 0px 1px transparent inset, none; + box-shadow: 0px 0px 0px 1px transparent inset, none; +} + +/*-------------- + Active +---------------*/ + +.ui.active.button { + background-color: #C0C1C2; + background-image: none; + -webkit-box-shadow: 0px 0px 0px 1px transparent inset; + box-shadow: 0px 0px 0px 1px transparent inset; + color: rgba(0, 0, 0, 0.95); +} +.ui.active.button:hover { + background-color: #C0C1C2; + background-image: none; + color: rgba(0, 0, 0, 0.95); +} +.ui.active.button:active { + background-color: #C0C1C2; + background-image: none; +} + +/*-------------- + Loading +---------------*/ + + +/* Specificity hack */ +.ui.loading.loading.loading.loading.loading.loading.button { + position: relative; + cursor: default; + text-shadow: none !important; + color: transparent !important; + opacity: 1; + pointer-events: auto; + -webkit-transition: all 0s linear, opacity 0.1s ease; + transition: all 0s linear, opacity 0.1s ease; +} +.ui.loading.button: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.15); +} +.ui.loading.button: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: #FFFFFF transparent transparent; + border-style: solid; + border-width: 0.2em; + -webkit-box-shadow: 0px 0px 0px 1px transparent; + box-shadow: 0px 0px 0px 1px transparent; +} +.ui.labeled.icon.loading.button .icon { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; +} +@-webkit-keyframes button-spin { + from { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +@keyframes button-spin { + from { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +.ui.basic.loading.button:not(.inverted):before { + border-color: rgba(0, 0, 0, 0.1); +} +.ui.basic.loading.button:not(.inverted):after { + border-top-color: #767676; +} + +/*------------------- + Disabled +--------------------*/ + +.ui.buttons .disabled.button, +.ui.disabled.button, +.ui.button:disabled, +.ui.disabled.button:hover, +.ui.disabled.active.button { + cursor: default; + opacity: 0.45 !important; + background-image: none !important; + -webkit-box-shadow: none !important; + box-shadow: none !important; + pointer-events: none !important; +} + +/* Basic Group With Disabled */ +.ui.basic.buttons .ui.disabled.button { + border-color: rgba(34, 36, 38, 0.5); +} + + +/******************************* + Types +*******************************/ + + +/*------------------- + Animated +--------------------*/ + +.ui.animated.button { + position: relative; + overflow: hidden; + padding-right: 0em !important; + vertical-align: middle; + z-index: 1; +} +.ui.animated.button .content { + will-change: transform, opacity; +} +.ui.animated.button .visible.content { + position: relative; + margin-right: 1.5em; +} +.ui.animated.button .hidden.content { + position: absolute; + width: 100%; +} + +/* Horizontal */ +.ui.animated.button .visible.content, +.ui.animated.button .hidden.content { + -webkit-transition: right 0.3s ease 0s; + transition: right 0.3s ease 0s; +} +.ui.animated.button .visible.content { + left: auto; + right: 0%; +} +.ui.animated.button .hidden.content { + top: 50%; + left: auto; + right: -100%; + margin-top: -0.5em; +} +.ui.animated.button:focus .visible.content, +.ui.animated.button:hover .visible.content { + left: auto; + right: 200%; +} +.ui.animated.button:focus .hidden.content, +.ui.animated.button:hover .hidden.content { + left: auto; + right: 0%; +} + +/* Vertical */ +.ui.vertical.animated.button .visible.content, +.ui.vertical.animated.button .hidden.content { + -webkit-transition: top 0.3s ease, -webkit-transform 0.3s ease; + transition: top 0.3s ease, -webkit-transform 0.3s ease; + transition: top 0.3s ease, transform 0.3s ease; + transition: top 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease; +} +.ui.vertical.animated.button .visible.content { + -webkit-transform: translateY(0%); + transform: translateY(0%); + right: auto; +} +.ui.vertical.animated.button .hidden.content { + top: -50%; + left: 0%; + right: auto; +} +.ui.vertical.animated.button:focus .visible.content, +.ui.vertical.animated.button:hover .visible.content { + -webkit-transform: translateY(200%); + transform: translateY(200%); + right: auto; +} +.ui.vertical.animated.button:focus .hidden.content, +.ui.vertical.animated.button:hover .hidden.content { + top: 50%; + right: auto; +} + +/* Fade */ +.ui.fade.animated.button .visible.content, +.ui.fade.animated.button .hidden.content { + -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease; + transition: opacity 0.3s ease, -webkit-transform 0.3s ease; + transition: opacity 0.3s ease, transform 0.3s ease; + transition: opacity 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease; +} +.ui.fade.animated.button .visible.content { + left: auto; + right: auto; + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); +} +.ui.fade.animated.button .hidden.content { + opacity: 0; + left: 0%; + right: auto; + -webkit-transform: scale(1.5); + transform: scale(1.5); +} +.ui.fade.animated.button:focus .visible.content, +.ui.fade.animated.button:hover .visible.content { + left: auto; + right: auto; + opacity: 0; + -webkit-transform: scale(0.75); + transform: scale(0.75); +} +.ui.fade.animated.button:focus .hidden.content, +.ui.fade.animated.button:hover .hidden.content { + left: 0%; + right: auto; + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); +} + +/*------------------- + Inverted +--------------------*/ + +.ui.inverted.button { + -webkit-box-shadow: 0px 0px 0px 2px #FFFFFF inset !important; + box-shadow: 0px 0px 0px 2px #FFFFFF inset !important; + background: transparent none; + color: #FFFFFF; + text-shadow: none !important; +} + +/* Group */ +.ui.inverted.buttons .button { + margin: 0px 0px 0px -2px; +} +.ui.inverted.buttons .button:first-child { + margin-left: 0em; +} +.ui.inverted.vertical.buttons .button { + margin: 0px 0px -2px 0px; +} +.ui.inverted.vertical.buttons .button:first-child { + margin-top: 0em; +} + +/* States */ + +/* Hover */ +.ui.inverted.button:hover { + background: #FFFFFF; + -webkit-box-shadow: 0px 0px 0px 2px #FFFFFF inset !important; + box-shadow: 0px 0px 0px 2px #FFFFFF inset !important; + color: rgba(0, 0, 0, 0.8); +} + +/* Active / Focus */ +.ui.inverted.button:focus, +.ui.inverted.button.active { + background: #FFFFFF; + -webkit-box-shadow: 0px 0px 0px 2px #FFFFFF inset !important; + box-shadow: 0px 0px 0px 2px #FFFFFF inset !important; + color: rgba(0, 0, 0, 0.8); +} + +/* Active Focus */ +.ui.inverted.button.active:focus { + background: #DCDDDE; + -webkit-box-shadow: 0px 0px 0px 2px #DCDDDE inset !important; + box-shadow: 0px 0px 0px 2px #DCDDDE inset !important; + color: rgba(0, 0, 0, 0.8); +} + +/*------------------- + Labeled Button +--------------------*/ + +.ui.labeled.button:not(.icon) { + 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; + background: none !important; + padding: 0px !important; + border: none !important; + -webkit-box-shadow: none !important; + box-shadow: none !important; +} +.ui.labeled.button > .button { + margin: 0px; +} +.ui.labeled.button > .label { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + margin: 0px 0px 0px -1px !important; + padding: ''; + font-size: 1em; + border-color: rgba(34, 36, 38, 0.15); +} + +/* Tag */ +.ui.labeled.button > .tag.label:before { + width: 1.85em; + height: 1.85em; +} + +/* Right */ +.ui.labeled.button:not([class*="left labeled"]) > .button { + border-top-right-radius: 0px; + border-bottom-right-radius: 0px; +} +.ui.labeled.button:not([class*="left labeled"]) > .label { + border-top-left-radius: 0px; + border-bottom-left-radius: 0px; +} + +/* Left Side */ +.ui[class*="left labeled"].button > .button { + border-top-left-radius: 0px; + border-bottom-left-radius: 0px; +} +.ui[class*="left labeled"].button > .label { + border-top-right-radius: 0px; + border-bottom-right-radius: 0px; +} + +/*------------------- + Social +--------------------*/ + + +/* Facebook */ +.ui.facebook.button { + background-color: #3B5998; + color: #FFFFFF; + text-shadow: none; + background-image: none; + -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} +.ui.facebook.button:hover { + background-color: #304d8a; + color: #FFFFFF; + text-shadow: none; +} +.ui.facebook.button:active { + background-color: #2d4373; + color: #FFFFFF; + text-shadow: none; +} + +/* Twitter */ +.ui.twitter.button { + background-color: #55ACEE; + color: #FFFFFF; + text-shadow: none; + background-image: none; + -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} +.ui.twitter.button:hover { + background-color: #35a2f4; + color: #FFFFFF; + text-shadow: none; +} +.ui.twitter.button:active { + background-color: #2795e9; + color: #FFFFFF; + text-shadow: none; +} + +/* Google Plus */ +.ui.google.plus.button { + background-color: #DD4B39; + color: #FFFFFF; + text-shadow: none; + background-image: none; + -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} +.ui.google.plus.button:hover { + background-color: #e0321c; + color: #FFFFFF; + text-shadow: none; +} +.ui.google.plus.button:active { + background-color: #c23321; + color: #FFFFFF; + text-shadow: none; +} + +/* Linked In */ +.ui.linkedin.button { + background-color: #1F88BE; + color: #FFFFFF; + text-shadow: none; +} +.ui.linkedin.button:hover { + background-color: #147baf; + color: #FFFFFF; + text-shadow: none; +} +.ui.linkedin.button:active { + background-color: #186992; + color: #FFFFFF; + text-shadow: none; +} + +/* YouTube */ +.ui.youtube.button { + background-color: #FF0000; + color: #FFFFFF; + text-shadow: none; + background-image: none; + -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} +.ui.youtube.button:hover { + background-color: #e60000; + color: #FFFFFF; + text-shadow: none; +} +.ui.youtube.button:active { + background-color: #cc0000; + color: #FFFFFF; + text-shadow: none; +} + +/* Instagram */ +.ui.instagram.button { + background-color: #49769C; + color: #FFFFFF; + text-shadow: none; + background-image: none; + -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} +.ui.instagram.button:hover { + background-color: #3d698e; + color: #FFFFFF; + text-shadow: none; +} +.ui.instagram.button:active { + background-color: #395c79; + color: #FFFFFF; + text-shadow: none; +} + +/* Pinterest */ +.ui.pinterest.button { + background-color: #BD081C; + color: #FFFFFF; + text-shadow: none; + background-image: none; + -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} +.ui.pinterest.button:hover { + background-color: #ac0013; + color: #FFFFFF; + text-shadow: none; +} +.ui.pinterest.button:active { + background-color: #8c0615; + color: #FFFFFF; + text-shadow: none; +} + +/* VK */ +.ui.vk.button { + background-color: #4D7198; + color: #FFFFFF; + background-image: none; + -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} +.ui.vk.button:hover { + background-color: #41648a; + color: #FFFFFF; +} +.ui.vk.button:active { + background-color: #3c5876; + color: #FFFFFF; +} + +/*-------------- + Icon +---------------*/ + +.ui.button > .icon:not(.button) { + height: 0.85714286em; + opacity: 0.8; + margin: 0em 0.42857143em 0em -0.21428571em; + -webkit-transition: opacity 0.1s ease; + transition: opacity 0.1s ease; + vertical-align: ''; + color: ''; +} +.ui.button:not(.icon) > .icon:not(.button):not(.dropdown) { + margin: 0em 0.42857143em 0em -0.21428571em; +} +.ui.button:not(.icon) > .right.icon:not(.button):not(.dropdown) { + margin: 0em -0.21428571em 0em 0.42857143em; +} + + +/******************************* + Variations +*******************************/ + + +/*------------------- + Floated +--------------------*/ + +.ui[class*="left floated"].buttons, +.ui[class*="left floated"].button { + float: left; + margin-left: 0em; + margin-right: 0.25em; +} +.ui[class*="right floated"].buttons, +.ui[class*="right floated"].button { + float: right; + margin-right: 0em; + margin-left: 0.25em; +} + +/*------------------- + Compact +--------------------*/ + +.ui.compact.buttons .button, +.ui.compact.button { + padding: 0.58928571em 1.125em 0.58928571em; +} +.ui.compact.icon.buttons .button, +.ui.compact.icon.button { + padding: 0.58928571em 0.58928571em 0.58928571em; +} +.ui.compact.labeled.icon.buttons .button, +.ui.compact.labeled.icon.button { + padding: 0.58928571em 3.69642857em 0.58928571em; +} + +/*------------------- + Sizes +--------------------*/ + +.ui.mini.buttons .button, +.ui.mini.buttons .or, +.ui.mini.button { + font-size: 0.78571429rem; +} +.ui.tiny.buttons .button, +.ui.tiny.buttons .or, +.ui.tiny.button { + font-size: 0.85714286rem; +} +.ui.small.buttons .button, +.ui.small.buttons .or, +.ui.small.button { + font-size: 0.92857143rem; +} +.ui.buttons .button, +.ui.buttons .or, +.ui.button { + font-size: 1rem; +} +.ui.large.buttons .button, +.ui.large.buttons .or, +.ui.large.button { + font-size: 1.14285714rem; +} +.ui.big.buttons .button, +.ui.big.buttons .or, +.ui.big.button { + font-size: 1.28571429rem; +} +.ui.huge.buttons .button, +.ui.huge.buttons .or, +.ui.huge.button { + font-size: 1.42857143rem; +} +.ui.massive.buttons .button, +.ui.massive.buttons .or, +.ui.massive.button { + font-size: 1.71428571rem; +} + +/*-------------- + Icon Only +---------------*/ + +.ui.icon.buttons .button, +.ui.icon.button { + padding: 0.78571429em 0.78571429em 0.78571429em; +} +.ui.icon.buttons .button > .icon, +.ui.icon.button > .icon { + opacity: 0.9; + margin: 0em !important; + vertical-align: top; +} + +/*------------------- + Basic +--------------------*/ + +.ui.basic.buttons .button, +.ui.basic.button { + background: transparent none !important; + color: rgba(0, 0, 0, 0.6) !important; + font-weight: normal; + border-radius: 0.28571429rem; + text-transform: none; + text-shadow: none !important; + -webkit-box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset; +} +.ui.basic.buttons { + -webkit-box-shadow: none; + box-shadow: none; + border: 1px solid rgba(34, 36, 38, 0.15); + border-radius: 0.28571429rem; +} +.ui.basic.buttons .button { + border-radius: 0em; +} +.ui.basic.buttons .button:hover, +.ui.basic.button:hover { + background: #FFFFFF !important; + color: rgba(0, 0, 0, 0.8) !important; + -webkit-box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.35) inset, 0px 0px 0px 0px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.35) inset, 0px 0px 0px 0px rgba(34, 36, 38, 0.15) inset; +} +.ui.basic.buttons .button:focus, +.ui.basic.button:focus { + background: #FFFFFF !important; + color: rgba(0, 0, 0, 0.8) !important; + -webkit-box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.35) inset, 0px 0px 0px 0px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.35) inset, 0px 0px 0px 0px rgba(34, 36, 38, 0.15) inset; +} +.ui.basic.buttons .button:active, +.ui.basic.button:active { + background: #F8F8F8 !important; + color: rgba(0, 0, 0, 0.9) !important; + -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.15) inset, 0px 1px 4px 0px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.15) inset, 0px 1px 4px 0px rgba(34, 36, 38, 0.15) inset; +} +.ui.basic.buttons .active.button, +.ui.basic.active.button { + background: rgba(0, 0, 0, 0.05) !important; + -webkit-box-shadow: '' !important; + box-shadow: '' !important; + color: rgba(0, 0, 0, 0.95) !important; +} +.ui.basic.buttons .active.button:hover, +.ui.basic.active.button:hover { + background-color: rgba(0, 0, 0, 0.05); +} + +/* Vertical */ +.ui.basic.buttons .button:hover { + -webkit-box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.35) inset, 0px 0px 0px 0px rgba(34, 36, 38, 0.15) inset inset; + box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.35) inset, 0px 0px 0px 0px rgba(34, 36, 38, 0.15) inset inset; +} +.ui.basic.buttons .button:active { + -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.15) inset, 0px 1px 4px 0px rgba(34, 36, 38, 0.15) inset inset; + box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.15) inset, 0px 1px 4px 0px rgba(34, 36, 38, 0.15) inset inset; +} +.ui.basic.buttons .active.button { + -webkit-box-shadow: '' !important; + box-shadow: '' !important; +} + +/* Standard Basic Inverted */ +.ui.basic.inverted.buttons .button, +.ui.basic.inverted.button { + background-color: transparent !important; + color: #F9FAFB !important; + -webkit-box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; +} +.ui.basic.inverted.buttons .button:hover, +.ui.basic.inverted.button:hover { + color: #FFFFFF !important; + -webkit-box-shadow: 0px 0px 0px 2px #ffffff inset !important; + box-shadow: 0px 0px 0px 2px #ffffff inset !important; +} +.ui.basic.inverted.buttons .button:focus, +.ui.basic.inverted.button:focus { + color: #FFFFFF !important; + -webkit-box-shadow: 0px 0px 0px 2px #ffffff inset !important; + box-shadow: 0px 0px 0px 2px #ffffff inset !important; +} +.ui.basic.inverted.buttons .button:active, +.ui.basic.inverted.button:active { + background-color: rgba(255, 255, 255, 0.08) !important; + color: #FFFFFF !important; + -webkit-box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.9) inset !important; + box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.9) inset !important; +} +.ui.basic.inverted.buttons .active.button, +.ui.basic.inverted.active.button { + background-color: rgba(255, 255, 255, 0.08); + color: #FFFFFF; + text-shadow: none; + -webkit-box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.7) inset; + box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.7) inset; +} +.ui.basic.inverted.buttons .active.button:hover, +.ui.basic.inverted.active.button:hover { + background-color: rgba(255, 255, 255, 0.15); + -webkit-box-shadow: 0px 0px 0px 2px #ffffff inset !important; + box-shadow: 0px 0px 0px 2px #ffffff inset !important; +} + +/* Basic Group */ +.ui.basic.buttons .button { + border-left: 1px solid rgba(34, 36, 38, 0.15); + -webkit-box-shadow: none; + box-shadow: none; +} +.ui.basic.vertical.buttons .button { + border-left: none; +} +.ui.basic.vertical.buttons .button { + border-left-width: 0px; + border-top: 1px solid rgba(34, 36, 38, 0.15); +} +.ui.basic.vertical.buttons .button:first-child { + border-top-width: 0px; +} + +/*-------------- + Labeled Icon +---------------*/ + +.ui.labeled.icon.buttons .button, +.ui.labeled.icon.button { + position: relative; + padding-left: 4.07142857em !important; + padding-right: 1.5em !important; +} + +/* Left Labeled */ +.ui.labeled.icon.buttons > .button > .icon, +.ui.labeled.icon.button > .icon { + position: absolute; + height: 100%; + line-height: 1; + border-radius: 0px; + border-top-left-radius: inherit; + border-bottom-left-radius: inherit; + text-align: center; + margin: 0em; + width: 2.57142857em; + background-color: rgba(0, 0, 0, 0.05); + color: ''; + -webkit-box-shadow: -1px 0px 0px 0px transparent inset; + box-shadow: -1px 0px 0px 0px transparent inset; +} + +/* Left Labeled */ +.ui.labeled.icon.buttons > .button > .icon, +.ui.labeled.icon.button > .icon { + top: 0em; + left: 0em; +} + +/* Right Labeled */ +.ui[class*="right labeled"].icon.button { + padding-right: 4.07142857em !important; + padding-left: 1.5em !important; +} +.ui[class*="right labeled"].icon.button > .icon { + left: auto; + right: 0em; + border-radius: 0px; + border-top-right-radius: inherit; + border-bottom-right-radius: inherit; + -webkit-box-shadow: 1px 0px 0px 0px transparent inset; + box-shadow: 1px 0px 0px 0px transparent inset; +} +.ui.labeled.icon.buttons > .button > .icon:before, +.ui.labeled.icon.button > .icon:before, +.ui.labeled.icon.buttons > .button > .icon:after, +.ui.labeled.icon.button > .icon:after { + display: block; + position: absolute; + width: 100%; + top: 50%; + text-align: center; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); +} +.ui.labeled.icon.buttons .button > .icon { + border-radius: 0em; +} +.ui.labeled.icon.buttons .button:first-child > .icon { + border-top-left-radius: 0.28571429rem; + border-bottom-left-radius: 0.28571429rem; +} +.ui.labeled.icon.buttons .button:last-child > .icon { + border-top-right-radius: 0.28571429rem; + border-bottom-right-radius: 0.28571429rem; +} +.ui.vertical.labeled.icon.buttons .button:first-child > .icon { + border-radius: 0em; + border-top-left-radius: 0.28571429rem; +} +.ui.vertical.labeled.icon.buttons .button:last-child > .icon { + border-radius: 0em; + border-bottom-left-radius: 0.28571429rem; +} + +/* Fluid Labeled */ +.ui.fluid[class*="left labeled"].icon.button, +.ui.fluid[class*="right labeled"].icon.button { + padding-left: 1.5em !important; + padding-right: 1.5em !important; +} + +/*-------------- + Toggle +---------------*/ + + +/* Toggle (Modifies active state to give affordances) */ +.ui.toggle.buttons .active.button, +.ui.buttons .button.toggle.active, +.ui.button.toggle.active { + background-color: #21BA45 !important; + -webkit-box-shadow: none !important; + box-shadow: none !important; + text-shadow: none; + color: #FFFFFF !important; +} +.ui.button.toggle.active:hover { + background-color: #16ab39 !important; + text-shadow: none; + color: #FFFFFF !important; +} + +/*-------------- + Circular +---------------*/ + +.ui.circular.button { + border-radius: 10em; +} +.ui.circular.button > .icon { + width: 1em; + vertical-align: baseline; +} + +/*------------------- + Or Buttons +--------------------*/ + +.ui.buttons .or { + position: relative; + width: 0.3em; + height: 2.57142857em; + z-index: 3; +} +.ui.buttons .or:before { + position: absolute; + text-align: center; + border-radius: 500rem; + content: 'or'; + top: 50%; + left: 50%; + background-color: #FFFFFF; + text-shadow: none; + margin-top: -0.89285714em; + margin-left: -0.89285714em; + width: 1.78571429em; + height: 1.78571429em; + line-height: 1.78571429em; + color: rgba(0, 0, 0, 0.4); + font-style: normal; + font-weight: bold; + -webkit-box-shadow: 0px 0px 0px 1px transparent inset; + box-shadow: 0px 0px 0px 1px transparent inset; +} +.ui.buttons .or[data-text]:before { + content: attr(data-text); +} + +/* Fluid Or */ +.ui.fluid.buttons .or { + width: 0em !important; +} +.ui.fluid.buttons .or:after { + display: none; +} + +/*------------------- + Attached +--------------------*/ + + +/* Singular */ +.ui.attached.button { + position: relative; + display: block; + margin: 0em; + border-radius: 0em; + -webkit-box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.15) !important; + box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.15) !important; +} + +/* Top / Bottom */ +.ui.attached.top.button { + border-radius: 0.28571429rem 0.28571429rem 0em 0em; +} +.ui.attached.bottom.button { + border-radius: 0em 0em 0.28571429rem 0.28571429rem; +} + +/* Left / Right */ +.ui.left.attached.button { + display: inline-block; + border-left: none; + text-align: right; + padding-right: 0.75em; + border-radius: 0.28571429rem 0em 0em 0.28571429rem; +} +.ui.right.attached.button { + display: inline-block; + text-align: left; + padding-left: 0.75em; + border-radius: 0em 0.28571429rem 0.28571429rem 0em; +} + +/* Plural */ +.ui.attached.buttons { + position: relative; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + border-radius: 0em; + width: auto !important; + z-index: 2; + margin-left: -1px; + margin-right: -1px; +} +.ui.attached.buttons .button { + margin: 0em; +} +.ui.attached.buttons .button:first-child { + border-radius: 0em; +} +.ui.attached.buttons .button:last-child { + border-radius: 0em; +} + +/* Top / Bottom */ +.ui[class*="top attached"].buttons { + margin-bottom: -1px; + border-radius: 0.28571429rem 0.28571429rem 0em 0em; +} +.ui[class*="top attached"].buttons .button:first-child { + border-radius: 0.28571429rem 0em 0em 0em; +} +.ui[class*="top attached"].buttons .button:last-child { + border-radius: 0em 0.28571429rem 0em 0em; +} +.ui[class*="bottom attached"].buttons { + margin-top: -1px; + border-radius: 0em 0em 0.28571429rem 0.28571429rem; +} +.ui[class*="bottom attached"].buttons .button:first-child { + border-radius: 0em 0em 0em 0.28571429rem; +} +.ui[class*="bottom attached"].buttons .button:last-child { + border-radius: 0em 0em 0.28571429rem 0em; +} + +/* Left / Right */ +.ui[class*="left attached"].buttons { + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + margin-right: 0em; + margin-left: -1px; + border-radius: 0em 0.28571429rem 0.28571429rem 0em; +} +.ui[class*="left attached"].buttons .button:first-child { + margin-left: -1px; + border-radius: 0em 0.28571429rem 0em 0em; +} +.ui[class*="left attached"].buttons .button:last-child { + margin-left: -1px; + border-radius: 0em 0em 0.28571429rem 0em; +} +.ui[class*="right attached"].buttons { + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + margin-left: 0em; + margin-right: -1px; + border-radius: 0.28571429rem 0em 0em 0.28571429rem; +} +.ui[class*="right attached"].buttons .button:first-child { + margin-left: -1px; + border-radius: 0.28571429rem 0em 0em 0em; +} +.ui[class*="right attached"].buttons .button:last-child { + margin-left: -1px; + border-radius: 0em 0em 0em 0.28571429rem; +} + +/*------------------- + Fluid +--------------------*/ + +.ui.fluid.buttons, +.ui.fluid.button { + width: 100%; +} +.ui.fluid.button { + display: block; +} +.ui.two.buttons { + width: 100%; +} +.ui.two.buttons > .button { + width: 50%; +} +.ui.three.buttons { + width: 100%; +} +.ui.three.buttons > .button { + width: 33.333%; +} +.ui.four.buttons { + width: 100%; +} +.ui.four.buttons > .button { + width: 25%; +} +.ui.five.buttons { + width: 100%; +} +.ui.five.buttons > .button { + width: 20%; +} +.ui.six.buttons { + width: 100%; +} +.ui.six.buttons > .button { + width: 16.666%; +} +.ui.seven.buttons { + width: 100%; +} +.ui.seven.buttons > .button { + width: 14.285%; +} +.ui.eight.buttons { + width: 100%; +} +.ui.eight.buttons > .button { + width: 12.500%; +} +.ui.nine.buttons { + width: 100%; +} +.ui.nine.buttons > .button { + width: 11.11%; +} +.ui.ten.buttons { + width: 100%; +} +.ui.ten.buttons > .button { + width: 10%; +} +.ui.eleven.buttons { + width: 100%; +} +.ui.eleven.buttons > .button { + width: 9.09%; +} +.ui.twelve.buttons { + width: 100%; +} +.ui.twelve.buttons > .button { + width: 8.3333%; +} + +/* Fluid Vertical Buttons */ +.ui.fluid.vertical.buttons, +.ui.fluid.vertical.buttons > .button { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + width: auto; +} +.ui.two.vertical.buttons > .button { + height: 50%; +} +.ui.three.vertical.buttons > .button { + height: 33.333%; +} +.ui.four.vertical.buttons > .button { + height: 25%; +} +.ui.five.vertical.buttons > .button { + height: 20%; +} +.ui.six.vertical.buttons > .button { + height: 16.666%; +} +.ui.seven.vertical.buttons > .button { + height: 14.285%; +} +.ui.eight.vertical.buttons > .button { + height: 12.500%; +} +.ui.nine.vertical.buttons > .button { + height: 11.11%; +} +.ui.ten.vertical.buttons > .button { + height: 10%; +} +.ui.eleven.vertical.buttons > .button { + height: 9.09%; +} +.ui.twelve.vertical.buttons > .button { + height: 8.3333%; +} + +/*------------------- + Colors +--------------------*/ + + +/*--- Black ---*/ + +.ui.black.buttons .button, +.ui.black.button { + background-color: #1B1C1D; + color: #FFFFFF; + text-shadow: none; + background-image: none; +} +.ui.black.button { + -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} +.ui.black.buttons .button:hover, +.ui.black.button:hover { + background-color: #27292a; + color: #FFFFFF; + text-shadow: none; +} +.ui.black.buttons .button:focus, +.ui.black.button:focus { + background-color: #2f3032; + color: #FFFFFF; + text-shadow: none; +} +.ui.black.buttons .button:active, +.ui.black.button:active { + background-color: #343637; + color: #FFFFFF; + text-shadow: none; +} +.ui.black.buttons .active.button, +.ui.black.buttons .active.button:active, +.ui.black.active.button, +.ui.black.button .active.button:active { + background-color: #0f0f10; + color: #FFFFFF; + text-shadow: none; +} + +/* Basic */ +.ui.basic.black.buttons .button, +.ui.basic.black.button { + -webkit-box-shadow: 0px 0px 0px 1px #1B1C1D inset !important; + box-shadow: 0px 0px 0px 1px #1B1C1D inset !important; + color: #1B1C1D !important; +} +.ui.basic.black.buttons .button:hover, +.ui.basic.black.button:hover { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #27292a inset !important; + box-shadow: 0px 0px 0px 1px #27292a inset !important; + color: #27292a !important; +} +.ui.basic.black.buttons .button:focus, +.ui.basic.black.button:focus { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #2f3032 inset !important; + box-shadow: 0px 0px 0px 1px #2f3032 inset !important; + color: #27292a !important; +} +.ui.basic.black.buttons .active.button, +.ui.basic.black.active.button { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #0f0f10 inset !important; + box-shadow: 0px 0px 0px 1px #0f0f10 inset !important; + color: #343637 !important; +} +.ui.basic.black.buttons .button:active, +.ui.basic.black.button:active { + -webkit-box-shadow: 0px 0px 0px 1px #343637 inset !important; + box-shadow: 0px 0px 0px 1px #343637 inset !important; + color: #343637 !important; +} +.ui.buttons:not(.vertical) > .basic.black.button:not(:first-child) { + margin-left: -1px; +} + +/* Inverted */ +.ui.inverted.black.buttons .button, +.ui.inverted.black.button { + background-color: transparent; + -webkit-box-shadow: 0px 0px 0px 2px #D4D4D5 inset !important; + box-shadow: 0px 0px 0px 2px #D4D4D5 inset !important; + color: #FFFFFF; +} +.ui.inverted.black.buttons .button:hover, +.ui.inverted.black.button:hover, +.ui.inverted.black.buttons .button:focus, +.ui.inverted.black.button:focus, +.ui.inverted.black.buttons .button.active, +.ui.inverted.black.button.active, +.ui.inverted.black.buttons .button:active, +.ui.inverted.black.button:active { + -webkit-box-shadow: none !important; + box-shadow: none !important; + color: #FFFFFF; +} +.ui.inverted.black.buttons .button:hover, +.ui.inverted.black.button:hover { + background-color: #000000; +} +.ui.inverted.black.buttons .button:focus, +.ui.inverted.black.button:focus { + background-color: #000000; +} +.ui.inverted.black.buttons .active.button, +.ui.inverted.black.active.button { + background-color: #000000; +} +.ui.inverted.black.buttons .button:active, +.ui.inverted.black.button:active { + background-color: #000000; +} + +/* Inverted Basic */ +.ui.inverted.black.basic.buttons .button, +.ui.inverted.black.buttons .basic.button, +.ui.inverted.black.basic.button { + background-color: transparent; + -webkit-box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + color: #FFFFFF !important; +} +.ui.inverted.black.basic.buttons .button:hover, +.ui.inverted.black.buttons .basic.button:hover, +.ui.inverted.black.basic.button:hover { + -webkit-box-shadow: 0px 0px 0px 2px #000000 inset !important; + box-shadow: 0px 0px 0px 2px #000000 inset !important; + color: #FFFFFF !important; +} +.ui.inverted.black.basic.buttons .button:focus, +.ui.inverted.black.basic.buttons .button:focus, +.ui.inverted.black.basic.button:focus { + -webkit-box-shadow: 0px 0px 0px 2px #000000 inset !important; + box-shadow: 0px 0px 0px 2px #000000 inset !important; + color: #545454 !important; +} +.ui.inverted.black.basic.buttons .active.button, +.ui.inverted.black.buttons .basic.active.button, +.ui.inverted.black.basic.active.button { + -webkit-box-shadow: 0px 0px 0px 2px #000000 inset !important; + box-shadow: 0px 0px 0px 2px #000000 inset !important; + color: #FFFFFF !important; +} +.ui.inverted.black.basic.buttons .button:active, +.ui.inverted.black.buttons .basic.button:active, +.ui.inverted.black.basic.button:active { + -webkit-box-shadow: 0px 0px 0px 2px #000000 inset !important; + box-shadow: 0px 0px 0px 2px #000000 inset !important; + color: #FFFFFF !important; +} + +/*--- Grey ---*/ + +.ui.grey.buttons .button, +.ui.grey.button { + background-color: #767676; + color: #FFFFFF; + text-shadow: none; + background-image: none; +} +.ui.grey.button { + -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} +.ui.grey.buttons .button:hover, +.ui.grey.button:hover { + background-color: #838383; + color: #FFFFFF; + text-shadow: none; +} +.ui.grey.buttons .button:focus, +.ui.grey.button:focus { + background-color: #8a8a8a; + color: #FFFFFF; + text-shadow: none; +} +.ui.grey.buttons .button:active, +.ui.grey.button:active { + background-color: #909090; + color: #FFFFFF; + text-shadow: none; +} +.ui.grey.buttons .active.button, +.ui.grey.buttons .active.button:active, +.ui.grey.active.button, +.ui.grey.button .active.button:active { + background-color: #696969; + color: #FFFFFF; + text-shadow: none; +} + +/* Basic */ +.ui.basic.grey.buttons .button, +.ui.basic.grey.button { + -webkit-box-shadow: 0px 0px 0px 1px #767676 inset !important; + box-shadow: 0px 0px 0px 1px #767676 inset !important; + color: #767676 !important; +} +.ui.basic.grey.buttons .button:hover, +.ui.basic.grey.button:hover { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #838383 inset !important; + box-shadow: 0px 0px 0px 1px #838383 inset !important; + color: #838383 !important; +} +.ui.basic.grey.buttons .button:focus, +.ui.basic.grey.button:focus { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #8a8a8a inset !important; + box-shadow: 0px 0px 0px 1px #8a8a8a inset !important; + color: #838383 !important; +} +.ui.basic.grey.buttons .active.button, +.ui.basic.grey.active.button { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #696969 inset !important; + box-shadow: 0px 0px 0px 1px #696969 inset !important; + color: #909090 !important; +} +.ui.basic.grey.buttons .button:active, +.ui.basic.grey.button:active { + -webkit-box-shadow: 0px 0px 0px 1px #909090 inset !important; + box-shadow: 0px 0px 0px 1px #909090 inset !important; + color: #909090 !important; +} +.ui.buttons:not(.vertical) > .basic.grey.button:not(:first-child) { + margin-left: -1px; +} + +/* Inverted */ +.ui.inverted.grey.buttons .button, +.ui.inverted.grey.button { + background-color: transparent; + -webkit-box-shadow: 0px 0px 0px 2px #D4D4D5 inset !important; + box-shadow: 0px 0px 0px 2px #D4D4D5 inset !important; + color: #FFFFFF; +} +.ui.inverted.grey.buttons .button:hover, +.ui.inverted.grey.button:hover, +.ui.inverted.grey.buttons .button:focus, +.ui.inverted.grey.button:focus, +.ui.inverted.grey.buttons .button.active, +.ui.inverted.grey.button.active, +.ui.inverted.grey.buttons .button:active, +.ui.inverted.grey.button:active { + -webkit-box-shadow: none !important; + box-shadow: none !important; + color: rgba(0, 0, 0, 0.6); +} +.ui.inverted.grey.buttons .button:hover, +.ui.inverted.grey.button:hover { + background-color: #cfd0d2; +} +.ui.inverted.grey.buttons .button:focus, +.ui.inverted.grey.button:focus { + background-color: #c7c9cb; +} +.ui.inverted.grey.buttons .active.button, +.ui.inverted.grey.active.button { + background-color: #cfd0d2; +} +.ui.inverted.grey.buttons .button:active, +.ui.inverted.grey.button:active { + background-color: #c2c4c5; +} + +/* Inverted Basic */ +.ui.inverted.grey.basic.buttons .button, +.ui.inverted.grey.buttons .basic.button, +.ui.inverted.grey.basic.button { + background-color: transparent; + -webkit-box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + color: #FFFFFF !important; +} +.ui.inverted.grey.basic.buttons .button:hover, +.ui.inverted.grey.buttons .basic.button:hover, +.ui.inverted.grey.basic.button:hover { + -webkit-box-shadow: 0px 0px 0px 2px #cfd0d2 inset !important; + box-shadow: 0px 0px 0px 2px #cfd0d2 inset !important; + color: #FFFFFF !important; +} +.ui.inverted.grey.basic.buttons .button:focus, +.ui.inverted.grey.basic.buttons .button:focus, +.ui.inverted.grey.basic.button:focus { + -webkit-box-shadow: 0px 0px 0px 2px #c7c9cb inset !important; + box-shadow: 0px 0px 0px 2px #c7c9cb inset !important; + color: #DCDDDE !important; +} +.ui.inverted.grey.basic.buttons .active.button, +.ui.inverted.grey.buttons .basic.active.button, +.ui.inverted.grey.basic.active.button { + -webkit-box-shadow: 0px 0px 0px 2px #cfd0d2 inset !important; + box-shadow: 0px 0px 0px 2px #cfd0d2 inset !important; + color: #FFFFFF !important; +} +.ui.inverted.grey.basic.buttons .button:active, +.ui.inverted.grey.buttons .basic.button:active, +.ui.inverted.grey.basic.button:active { + -webkit-box-shadow: 0px 0px 0px 2px #c2c4c5 inset !important; + box-shadow: 0px 0px 0px 2px #c2c4c5 inset !important; + color: #FFFFFF !important; +} + +/*--- Brown ---*/ + +.ui.brown.buttons .button, +.ui.brown.button { + background-color: #A5673F; + color: #FFFFFF; + text-shadow: none; + background-image: none; +} +.ui.brown.button { + -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} +.ui.brown.buttons .button:hover, +.ui.brown.button:hover { + background-color: #975b33; + color: #FFFFFF; + text-shadow: none; +} +.ui.brown.buttons .button:focus, +.ui.brown.button:focus { + background-color: #90532b; + color: #FFFFFF; + text-shadow: none; +} +.ui.brown.buttons .button:active, +.ui.brown.button:active { + background-color: #805031; + color: #FFFFFF; + text-shadow: none; +} +.ui.brown.buttons .active.button, +.ui.brown.buttons .active.button:active, +.ui.brown.active.button, +.ui.brown.button .active.button:active { + background-color: #995a31; + color: #FFFFFF; + text-shadow: none; +} + +/* Basic */ +.ui.basic.brown.buttons .button, +.ui.basic.brown.button { + -webkit-box-shadow: 0px 0px 0px 1px #A5673F inset !important; + box-shadow: 0px 0px 0px 1px #A5673F inset !important; + color: #A5673F !important; +} +.ui.basic.brown.buttons .button:hover, +.ui.basic.brown.button:hover { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #975b33 inset !important; + box-shadow: 0px 0px 0px 1px #975b33 inset !important; + color: #975b33 !important; +} +.ui.basic.brown.buttons .button:focus, +.ui.basic.brown.button:focus { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #90532b inset !important; + box-shadow: 0px 0px 0px 1px #90532b inset !important; + color: #975b33 !important; +} +.ui.basic.brown.buttons .active.button, +.ui.basic.brown.active.button { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #995a31 inset !important; + box-shadow: 0px 0px 0px 1px #995a31 inset !important; + color: #805031 !important; +} +.ui.basic.brown.buttons .button:active, +.ui.basic.brown.button:active { + -webkit-box-shadow: 0px 0px 0px 1px #805031 inset !important; + box-shadow: 0px 0px 0px 1px #805031 inset !important; + color: #805031 !important; +} +.ui.buttons:not(.vertical) > .basic.brown.button:not(:first-child) { + margin-left: -1px; +} + +/* Inverted */ +.ui.inverted.brown.buttons .button, +.ui.inverted.brown.button { + background-color: transparent; + -webkit-box-shadow: 0px 0px 0px 2px #D67C1C inset !important; + box-shadow: 0px 0px 0px 2px #D67C1C inset !important; + color: #D67C1C; +} +.ui.inverted.brown.buttons .button:hover, +.ui.inverted.brown.button:hover, +.ui.inverted.brown.buttons .button:focus, +.ui.inverted.brown.button:focus, +.ui.inverted.brown.buttons .button.active, +.ui.inverted.brown.button.active, +.ui.inverted.brown.buttons .button:active, +.ui.inverted.brown.button:active { + -webkit-box-shadow: none !important; + box-shadow: none !important; + color: #FFFFFF; +} +.ui.inverted.brown.buttons .button:hover, +.ui.inverted.brown.button:hover { + background-color: #c86f11; +} +.ui.inverted.brown.buttons .button:focus, +.ui.inverted.brown.button:focus { + background-color: #c16808; +} +.ui.inverted.brown.buttons .active.button, +.ui.inverted.brown.active.button { + background-color: #cc6f0d; +} +.ui.inverted.brown.buttons .button:active, +.ui.inverted.brown.button:active { + background-color: #a96216; +} + +/* Inverted Basic */ +.ui.inverted.brown.basic.buttons .button, +.ui.inverted.brown.buttons .basic.button, +.ui.inverted.brown.basic.button { + background-color: transparent; + -webkit-box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + color: #FFFFFF !important; +} +.ui.inverted.brown.basic.buttons .button:hover, +.ui.inverted.brown.buttons .basic.button:hover, +.ui.inverted.brown.basic.button:hover { + -webkit-box-shadow: 0px 0px 0px 2px #c86f11 inset !important; + box-shadow: 0px 0px 0px 2px #c86f11 inset !important; + color: #D67C1C !important; +} +.ui.inverted.brown.basic.buttons .button:focus, +.ui.inverted.brown.basic.buttons .button:focus, +.ui.inverted.brown.basic.button:focus { + -webkit-box-shadow: 0px 0px 0px 2px #c16808 inset !important; + box-shadow: 0px 0px 0px 2px #c16808 inset !important; + color: #D67C1C !important; +} +.ui.inverted.brown.basic.buttons .active.button, +.ui.inverted.brown.buttons .basic.active.button, +.ui.inverted.brown.basic.active.button { + -webkit-box-shadow: 0px 0px 0px 2px #cc6f0d inset !important; + box-shadow: 0px 0px 0px 2px #cc6f0d inset !important; + color: #D67C1C !important; +} +.ui.inverted.brown.basic.buttons .button:active, +.ui.inverted.brown.buttons .basic.button:active, +.ui.inverted.brown.basic.button:active { + -webkit-box-shadow: 0px 0px 0px 2px #a96216 inset !important; + box-shadow: 0px 0px 0px 2px #a96216 inset !important; + color: #D67C1C !important; +} + +/*--- Blue ---*/ + +.ui.blue.buttons .button, +.ui.blue.button { + background-color: #2185D0; + color: #FFFFFF; + text-shadow: none; + background-image: none; +} +.ui.blue.button { + -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} +.ui.blue.buttons .button:hover, +.ui.blue.button:hover { + background-color: #1678c2; + color: #FFFFFF; + text-shadow: none; +} +.ui.blue.buttons .button:focus, +.ui.blue.button:focus { + background-color: #0d71bb; + color: #FFFFFF; + text-shadow: none; +} +.ui.blue.buttons .button:active, +.ui.blue.button:active { + background-color: #1a69a4; + color: #FFFFFF; + text-shadow: none; +} +.ui.blue.buttons .active.button, +.ui.blue.buttons .active.button:active, +.ui.blue.active.button, +.ui.blue.button .active.button:active { + background-color: #1279c6; + color: #FFFFFF; + text-shadow: none; +} + +/* Basic */ +.ui.basic.blue.buttons .button, +.ui.basic.blue.button { + -webkit-box-shadow: 0px 0px 0px 1px #2185D0 inset !important; + box-shadow: 0px 0px 0px 1px #2185D0 inset !important; + color: #2185D0 !important; +} +.ui.basic.blue.buttons .button:hover, +.ui.basic.blue.button:hover { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #1678c2 inset !important; + box-shadow: 0px 0px 0px 1px #1678c2 inset !important; + color: #1678c2 !important; +} +.ui.basic.blue.buttons .button:focus, +.ui.basic.blue.button:focus { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #0d71bb inset !important; + box-shadow: 0px 0px 0px 1px #0d71bb inset !important; + color: #1678c2 !important; +} +.ui.basic.blue.buttons .active.button, +.ui.basic.blue.active.button { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #1279c6 inset !important; + box-shadow: 0px 0px 0px 1px #1279c6 inset !important; + color: #1a69a4 !important; +} +.ui.basic.blue.buttons .button:active, +.ui.basic.blue.button:active { + -webkit-box-shadow: 0px 0px 0px 1px #1a69a4 inset !important; + box-shadow: 0px 0px 0px 1px #1a69a4 inset !important; + color: #1a69a4 !important; +} +.ui.buttons:not(.vertical) > .basic.blue.button:not(:first-child) { + margin-left: -1px; +} + +/* Inverted */ +.ui.inverted.blue.buttons .button, +.ui.inverted.blue.button { + background-color: transparent; + -webkit-box-shadow: 0px 0px 0px 2px #54C8FF inset !important; + box-shadow: 0px 0px 0px 2px #54C8FF inset !important; + color: #54C8FF; +} +.ui.inverted.blue.buttons .button:hover, +.ui.inverted.blue.button:hover, +.ui.inverted.blue.buttons .button:focus, +.ui.inverted.blue.button:focus, +.ui.inverted.blue.buttons .button.active, +.ui.inverted.blue.button.active, +.ui.inverted.blue.buttons .button:active, +.ui.inverted.blue.button:active { + -webkit-box-shadow: none !important; + box-shadow: none !important; + color: #FFFFFF; +} +.ui.inverted.blue.buttons .button:hover, +.ui.inverted.blue.button:hover { + background-color: #3ac0ff; +} +.ui.inverted.blue.buttons .button:focus, +.ui.inverted.blue.button:focus { + background-color: #2bbbff; +} +.ui.inverted.blue.buttons .active.button, +.ui.inverted.blue.active.button { + background-color: #3ac0ff; +} +.ui.inverted.blue.buttons .button:active, +.ui.inverted.blue.button:active { + background-color: #21b8ff; +} + +/* Inverted Basic */ +.ui.inverted.blue.basic.buttons .button, +.ui.inverted.blue.buttons .basic.button, +.ui.inverted.blue.basic.button { + background-color: transparent; + -webkit-box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + color: #FFFFFF !important; +} +.ui.inverted.blue.basic.buttons .button:hover, +.ui.inverted.blue.buttons .basic.button:hover, +.ui.inverted.blue.basic.button:hover { + -webkit-box-shadow: 0px 0px 0px 2px #3ac0ff inset !important; + box-shadow: 0px 0px 0px 2px #3ac0ff inset !important; + color: #54C8FF !important; +} +.ui.inverted.blue.basic.buttons .button:focus, +.ui.inverted.blue.basic.buttons .button:focus, +.ui.inverted.blue.basic.button:focus { + -webkit-box-shadow: 0px 0px 0px 2px #2bbbff inset !important; + box-shadow: 0px 0px 0px 2px #2bbbff inset !important; + color: #54C8FF !important; +} +.ui.inverted.blue.basic.buttons .active.button, +.ui.inverted.blue.buttons .basic.active.button, +.ui.inverted.blue.basic.active.button { + -webkit-box-shadow: 0px 0px 0px 2px #3ac0ff inset !important; + box-shadow: 0px 0px 0px 2px #3ac0ff inset !important; + color: #54C8FF !important; +} +.ui.inverted.blue.basic.buttons .button:active, +.ui.inverted.blue.buttons .basic.button:active, +.ui.inverted.blue.basic.button:active { + -webkit-box-shadow: 0px 0px 0px 2px #21b8ff inset !important; + box-shadow: 0px 0px 0px 2px #21b8ff inset !important; + color: #54C8FF !important; +} + +/*--- Green ---*/ + +.ui.green.buttons .button, +.ui.green.button { + background-color: #21BA45; + color: #FFFFFF; + text-shadow: none; + background-image: none; +} +.ui.green.button { + -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} +.ui.green.buttons .button:hover, +.ui.green.button:hover { + background-color: #16ab39; + color: #FFFFFF; + text-shadow: none; +} +.ui.green.buttons .button:focus, +.ui.green.button:focus { + background-color: #0ea432; + color: #FFFFFF; + text-shadow: none; +} +.ui.green.buttons .button:active, +.ui.green.button:active { + background-color: #198f35; + color: #FFFFFF; + text-shadow: none; +} +.ui.green.buttons .active.button, +.ui.green.buttons .active.button:active, +.ui.green.active.button, +.ui.green.button .active.button:active { + background-color: #13ae38; + color: #FFFFFF; + text-shadow: none; +} + +/* Basic */ +.ui.basic.green.buttons .button, +.ui.basic.green.button { + -webkit-box-shadow: 0px 0px 0px 1px #21BA45 inset !important; + box-shadow: 0px 0px 0px 1px #21BA45 inset !important; + color: #21BA45 !important; +} +.ui.basic.green.buttons .button:hover, +.ui.basic.green.button:hover { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #16ab39 inset !important; + box-shadow: 0px 0px 0px 1px #16ab39 inset !important; + color: #16ab39 !important; +} +.ui.basic.green.buttons .button:focus, +.ui.basic.green.button:focus { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #0ea432 inset !important; + box-shadow: 0px 0px 0px 1px #0ea432 inset !important; + color: #16ab39 !important; +} +.ui.basic.green.buttons .active.button, +.ui.basic.green.active.button { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #13ae38 inset !important; + box-shadow: 0px 0px 0px 1px #13ae38 inset !important; + color: #198f35 !important; +} +.ui.basic.green.buttons .button:active, +.ui.basic.green.button:active { + -webkit-box-shadow: 0px 0px 0px 1px #198f35 inset !important; + box-shadow: 0px 0px 0px 1px #198f35 inset !important; + color: #198f35 !important; +} +.ui.buttons:not(.vertical) > .basic.green.button:not(:first-child) { + margin-left: -1px; +} + +/* Inverted */ +.ui.inverted.green.buttons .button, +.ui.inverted.green.button { + background-color: transparent; + -webkit-box-shadow: 0px 0px 0px 2px #2ECC40 inset !important; + box-shadow: 0px 0px 0px 2px #2ECC40 inset !important; + color: #2ECC40; +} +.ui.inverted.green.buttons .button:hover, +.ui.inverted.green.button:hover, +.ui.inverted.green.buttons .button:focus, +.ui.inverted.green.button:focus, +.ui.inverted.green.buttons .button.active, +.ui.inverted.green.button.active, +.ui.inverted.green.buttons .button:active, +.ui.inverted.green.button:active { + -webkit-box-shadow: none !important; + box-shadow: none !important; + color: #FFFFFF; +} +.ui.inverted.green.buttons .button:hover, +.ui.inverted.green.button:hover { + background-color: #22be34; +} +.ui.inverted.green.buttons .button:focus, +.ui.inverted.green.button:focus { + background-color: #19b82b; +} +.ui.inverted.green.buttons .active.button, +.ui.inverted.green.active.button { + background-color: #1fc231; +} +.ui.inverted.green.buttons .button:active, +.ui.inverted.green.button:active { + background-color: #25a233; +} + +/* Inverted Basic */ +.ui.inverted.green.basic.buttons .button, +.ui.inverted.green.buttons .basic.button, +.ui.inverted.green.basic.button { + background-color: transparent; + -webkit-box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + color: #FFFFFF !important; +} +.ui.inverted.green.basic.buttons .button:hover, +.ui.inverted.green.buttons .basic.button:hover, +.ui.inverted.green.basic.button:hover { + -webkit-box-shadow: 0px 0px 0px 2px #22be34 inset !important; + box-shadow: 0px 0px 0px 2px #22be34 inset !important; + color: #2ECC40 !important; +} +.ui.inverted.green.basic.buttons .button:focus, +.ui.inverted.green.basic.buttons .button:focus, +.ui.inverted.green.basic.button:focus { + -webkit-box-shadow: 0px 0px 0px 2px #19b82b inset !important; + box-shadow: 0px 0px 0px 2px #19b82b inset !important; + color: #2ECC40 !important; +} +.ui.inverted.green.basic.buttons .active.button, +.ui.inverted.green.buttons .basic.active.button, +.ui.inverted.green.basic.active.button { + -webkit-box-shadow: 0px 0px 0px 2px #1fc231 inset !important; + box-shadow: 0px 0px 0px 2px #1fc231 inset !important; + color: #2ECC40 !important; +} +.ui.inverted.green.basic.buttons .button:active, +.ui.inverted.green.buttons .basic.button:active, +.ui.inverted.green.basic.button:active { + -webkit-box-shadow: 0px 0px 0px 2px #25a233 inset !important; + box-shadow: 0px 0px 0px 2px #25a233 inset !important; + color: #2ECC40 !important; +} + +/*--- Orange ---*/ + +.ui.orange.buttons .button, +.ui.orange.button { + background-color: #F2711C; + color: #FFFFFF; + text-shadow: none; + background-image: none; +} +.ui.orange.button { + -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} +.ui.orange.buttons .button:hover, +.ui.orange.button:hover { + background-color: #f26202; + color: #FFFFFF; + text-shadow: none; +} +.ui.orange.buttons .button:focus, +.ui.orange.button:focus { + background-color: #e55b00; + color: #FFFFFF; + text-shadow: none; +} +.ui.orange.buttons .button:active, +.ui.orange.button:active { + background-color: #cf590c; + color: #FFFFFF; + text-shadow: none; +} +.ui.orange.buttons .active.button, +.ui.orange.buttons .active.button:active, +.ui.orange.active.button, +.ui.orange.button .active.button:active { + background-color: #f56100; + color: #FFFFFF; + text-shadow: none; +} + +/* Basic */ +.ui.basic.orange.buttons .button, +.ui.basic.orange.button { + -webkit-box-shadow: 0px 0px 0px 1px #F2711C inset !important; + box-shadow: 0px 0px 0px 1px #F2711C inset !important; + color: #F2711C !important; +} +.ui.basic.orange.buttons .button:hover, +.ui.basic.orange.button:hover { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #f26202 inset !important; + box-shadow: 0px 0px 0px 1px #f26202 inset !important; + color: #f26202 !important; +} +.ui.basic.orange.buttons .button:focus, +.ui.basic.orange.button:focus { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #e55b00 inset !important; + box-shadow: 0px 0px 0px 1px #e55b00 inset !important; + color: #f26202 !important; +} +.ui.basic.orange.buttons .active.button, +.ui.basic.orange.active.button { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #f56100 inset !important; + box-shadow: 0px 0px 0px 1px #f56100 inset !important; + color: #cf590c !important; +} +.ui.basic.orange.buttons .button:active, +.ui.basic.orange.button:active { + -webkit-box-shadow: 0px 0px 0px 1px #cf590c inset !important; + box-shadow: 0px 0px 0px 1px #cf590c inset !important; + color: #cf590c !important; +} +.ui.buttons:not(.vertical) > .basic.orange.button:not(:first-child) { + margin-left: -1px; +} + +/* Inverted */ +.ui.inverted.orange.buttons .button, +.ui.inverted.orange.button { + background-color: transparent; + -webkit-box-shadow: 0px 0px 0px 2px #FF851B inset !important; + box-shadow: 0px 0px 0px 2px #FF851B inset !important; + color: #FF851B; +} +.ui.inverted.orange.buttons .button:hover, +.ui.inverted.orange.button:hover, +.ui.inverted.orange.buttons .button:focus, +.ui.inverted.orange.button:focus, +.ui.inverted.orange.buttons .button.active, +.ui.inverted.orange.button.active, +.ui.inverted.orange.buttons .button:active, +.ui.inverted.orange.button:active { + -webkit-box-shadow: none !important; + box-shadow: none !important; + color: #FFFFFF; +} +.ui.inverted.orange.buttons .button:hover, +.ui.inverted.orange.button:hover { + background-color: #ff7701; +} +.ui.inverted.orange.buttons .button:focus, +.ui.inverted.orange.button:focus { + background-color: #f17000; +} +.ui.inverted.orange.buttons .active.button, +.ui.inverted.orange.active.button { + background-color: #ff7701; +} +.ui.inverted.orange.buttons .button:active, +.ui.inverted.orange.button:active { + background-color: #e76b00; +} + +/* Inverted Basic */ +.ui.inverted.orange.basic.buttons .button, +.ui.inverted.orange.buttons .basic.button, +.ui.inverted.orange.basic.button { + background-color: transparent; + -webkit-box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + color: #FFFFFF !important; +} +.ui.inverted.orange.basic.buttons .button:hover, +.ui.inverted.orange.buttons .basic.button:hover, +.ui.inverted.orange.basic.button:hover { + -webkit-box-shadow: 0px 0px 0px 2px #ff7701 inset !important; + box-shadow: 0px 0px 0px 2px #ff7701 inset !important; + color: #FF851B !important; +} +.ui.inverted.orange.basic.buttons .button:focus, +.ui.inverted.orange.basic.buttons .button:focus, +.ui.inverted.orange.basic.button:focus { + -webkit-box-shadow: 0px 0px 0px 2px #f17000 inset !important; + box-shadow: 0px 0px 0px 2px #f17000 inset !important; + color: #FF851B !important; +} +.ui.inverted.orange.basic.buttons .active.button, +.ui.inverted.orange.buttons .basic.active.button, +.ui.inverted.orange.basic.active.button { + -webkit-box-shadow: 0px 0px 0px 2px #ff7701 inset !important; + box-shadow: 0px 0px 0px 2px #ff7701 inset !important; + color: #FF851B !important; +} +.ui.inverted.orange.basic.buttons .button:active, +.ui.inverted.orange.buttons .basic.button:active, +.ui.inverted.orange.basic.button:active { + -webkit-box-shadow: 0px 0px 0px 2px #e76b00 inset !important; + box-shadow: 0px 0px 0px 2px #e76b00 inset !important; + color: #FF851B !important; +} + +/*--- Pink ---*/ + +.ui.pink.buttons .button, +.ui.pink.button { + background-color: #E03997; + color: #FFFFFF; + text-shadow: none; + background-image: none; +} +.ui.pink.button { + -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} +.ui.pink.buttons .button:hover, +.ui.pink.button:hover { + background-color: #e61a8d; + color: #FFFFFF; + text-shadow: none; +} +.ui.pink.buttons .button:focus, +.ui.pink.button:focus { + background-color: #e10f85; + color: #FFFFFF; + text-shadow: none; +} +.ui.pink.buttons .button:active, +.ui.pink.button:active { + background-color: #c71f7e; + color: #FFFFFF; + text-shadow: none; +} +.ui.pink.buttons .active.button, +.ui.pink.buttons .active.button:active, +.ui.pink.active.button, +.ui.pink.button .active.button:active { + background-color: #ea158d; + color: #FFFFFF; + text-shadow: none; +} + +/* Basic */ +.ui.basic.pink.buttons .button, +.ui.basic.pink.button { + -webkit-box-shadow: 0px 0px 0px 1px #E03997 inset !important; + box-shadow: 0px 0px 0px 1px #E03997 inset !important; + color: #E03997 !important; +} +.ui.basic.pink.buttons .button:hover, +.ui.basic.pink.button:hover { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #e61a8d inset !important; + box-shadow: 0px 0px 0px 1px #e61a8d inset !important; + color: #e61a8d !important; +} +.ui.basic.pink.buttons .button:focus, +.ui.basic.pink.button:focus { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #e10f85 inset !important; + box-shadow: 0px 0px 0px 1px #e10f85 inset !important; + color: #e61a8d !important; +} +.ui.basic.pink.buttons .active.button, +.ui.basic.pink.active.button { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #ea158d inset !important; + box-shadow: 0px 0px 0px 1px #ea158d inset !important; + color: #c71f7e !important; +} +.ui.basic.pink.buttons .button:active, +.ui.basic.pink.button:active { + -webkit-box-shadow: 0px 0px 0px 1px #c71f7e inset !important; + box-shadow: 0px 0px 0px 1px #c71f7e inset !important; + color: #c71f7e !important; +} +.ui.buttons:not(.vertical) > .basic.pink.button:not(:first-child) { + margin-left: -1px; +} + +/* Inverted */ +.ui.inverted.pink.buttons .button, +.ui.inverted.pink.button { + background-color: transparent; + -webkit-box-shadow: 0px 0px 0px 2px #FF8EDF inset !important; + box-shadow: 0px 0px 0px 2px #FF8EDF inset !important; + color: #FF8EDF; +} +.ui.inverted.pink.buttons .button:hover, +.ui.inverted.pink.button:hover, +.ui.inverted.pink.buttons .button:focus, +.ui.inverted.pink.button:focus, +.ui.inverted.pink.buttons .button.active, +.ui.inverted.pink.button.active, +.ui.inverted.pink.buttons .button:active, +.ui.inverted.pink.button:active { + -webkit-box-shadow: none !important; + box-shadow: none !important; + color: #FFFFFF; +} +.ui.inverted.pink.buttons .button:hover, +.ui.inverted.pink.button:hover { + background-color: #ff74d8; +} +.ui.inverted.pink.buttons .button:focus, +.ui.inverted.pink.button:focus { + background-color: #ff65d3; +} +.ui.inverted.pink.buttons .active.button, +.ui.inverted.pink.active.button { + background-color: #ff74d8; +} +.ui.inverted.pink.buttons .button:active, +.ui.inverted.pink.button:active { + background-color: #ff5bd1; +} + +/* Inverted Basic */ +.ui.inverted.pink.basic.buttons .button, +.ui.inverted.pink.buttons .basic.button, +.ui.inverted.pink.basic.button { + background-color: transparent; + -webkit-box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + color: #FFFFFF !important; +} +.ui.inverted.pink.basic.buttons .button:hover, +.ui.inverted.pink.buttons .basic.button:hover, +.ui.inverted.pink.basic.button:hover { + -webkit-box-shadow: 0px 0px 0px 2px #ff74d8 inset !important; + box-shadow: 0px 0px 0px 2px #ff74d8 inset !important; + color: #FF8EDF !important; +} +.ui.inverted.pink.basic.buttons .button:focus, +.ui.inverted.pink.basic.buttons .button:focus, +.ui.inverted.pink.basic.button:focus { + -webkit-box-shadow: 0px 0px 0px 2px #ff65d3 inset !important; + box-shadow: 0px 0px 0px 2px #ff65d3 inset !important; + color: #FF8EDF !important; +} +.ui.inverted.pink.basic.buttons .active.button, +.ui.inverted.pink.buttons .basic.active.button, +.ui.inverted.pink.basic.active.button { + -webkit-box-shadow: 0px 0px 0px 2px #ff74d8 inset !important; + box-shadow: 0px 0px 0px 2px #ff74d8 inset !important; + color: #FF8EDF !important; +} +.ui.inverted.pink.basic.buttons .button:active, +.ui.inverted.pink.buttons .basic.button:active, +.ui.inverted.pink.basic.button:active { + -webkit-box-shadow: 0px 0px 0px 2px #ff5bd1 inset !important; + box-shadow: 0px 0px 0px 2px #ff5bd1 inset !important; + color: #FF8EDF !important; +} + +/*--- Violet ---*/ + +.ui.violet.buttons .button, +.ui.violet.button { + background-color: #6435C9; + color: #FFFFFF; + text-shadow: none; + background-image: none; +} +.ui.violet.button { + -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} +.ui.violet.buttons .button:hover, +.ui.violet.button:hover { + background-color: #5829bb; + color: #FFFFFF; + text-shadow: none; +} +.ui.violet.buttons .button:focus, +.ui.violet.button:focus { + background-color: #4f20b5; + color: #FFFFFF; + text-shadow: none; +} +.ui.violet.buttons .button:active, +.ui.violet.button:active { + background-color: #502aa1; + color: #FFFFFF; + text-shadow: none; +} +.ui.violet.buttons .active.button, +.ui.violet.buttons .active.button:active, +.ui.violet.active.button, +.ui.violet.button .active.button:active { + background-color: #5626bf; + color: #FFFFFF; + text-shadow: none; +} + +/* Basic */ +.ui.basic.violet.buttons .button, +.ui.basic.violet.button { + -webkit-box-shadow: 0px 0px 0px 1px #6435C9 inset !important; + box-shadow: 0px 0px 0px 1px #6435C9 inset !important; + color: #6435C9 !important; +} +.ui.basic.violet.buttons .button:hover, +.ui.basic.violet.button:hover { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #5829bb inset !important; + box-shadow: 0px 0px 0px 1px #5829bb inset !important; + color: #5829bb !important; +} +.ui.basic.violet.buttons .button:focus, +.ui.basic.violet.button:focus { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #4f20b5 inset !important; + box-shadow: 0px 0px 0px 1px #4f20b5 inset !important; + color: #5829bb !important; +} +.ui.basic.violet.buttons .active.button, +.ui.basic.violet.active.button { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #5626bf inset !important; + box-shadow: 0px 0px 0px 1px #5626bf inset !important; + color: #502aa1 !important; +} +.ui.basic.violet.buttons .button:active, +.ui.basic.violet.button:active { + -webkit-box-shadow: 0px 0px 0px 1px #502aa1 inset !important; + box-shadow: 0px 0px 0px 1px #502aa1 inset !important; + color: #502aa1 !important; +} +.ui.buttons:not(.vertical) > .basic.violet.button:not(:first-child) { + margin-left: -1px; +} + +/* Inverted */ +.ui.inverted.violet.buttons .button, +.ui.inverted.violet.button { + background-color: transparent; + -webkit-box-shadow: 0px 0px 0px 2px #A291FB inset !important; + box-shadow: 0px 0px 0px 2px #A291FB inset !important; + color: #A291FB; +} +.ui.inverted.violet.buttons .button:hover, +.ui.inverted.violet.button:hover, +.ui.inverted.violet.buttons .button:focus, +.ui.inverted.violet.button:focus, +.ui.inverted.violet.buttons .button.active, +.ui.inverted.violet.button.active, +.ui.inverted.violet.buttons .button:active, +.ui.inverted.violet.button:active { + -webkit-box-shadow: none !important; + box-shadow: none !important; + color: #FFFFFF; +} +.ui.inverted.violet.buttons .button:hover, +.ui.inverted.violet.button:hover { + background-color: #8a73ff; +} +.ui.inverted.violet.buttons .button:focus, +.ui.inverted.violet.button:focus { + background-color: #7d64ff; +} +.ui.inverted.violet.buttons .active.button, +.ui.inverted.violet.active.button { + background-color: #8a73ff; +} +.ui.inverted.violet.buttons .button:active, +.ui.inverted.violet.button:active { + background-color: #7860f9; +} + +/* Inverted Basic */ +.ui.inverted.violet.basic.buttons .button, +.ui.inverted.violet.buttons .basic.button, +.ui.inverted.violet.basic.button { + background-color: transparent; + -webkit-box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + color: #FFFFFF !important; +} +.ui.inverted.violet.basic.buttons .button:hover, +.ui.inverted.violet.buttons .basic.button:hover, +.ui.inverted.violet.basic.button:hover { + -webkit-box-shadow: 0px 0px 0px 2px #8a73ff inset !important; + box-shadow: 0px 0px 0px 2px #8a73ff inset !important; + color: #A291FB !important; +} +.ui.inverted.violet.basic.buttons .button:focus, +.ui.inverted.violet.basic.buttons .button:focus, +.ui.inverted.violet.basic.button:focus { + -webkit-box-shadow: 0px 0px 0px 2px #7d64ff inset !important; + box-shadow: 0px 0px 0px 2px #7d64ff inset !important; + color: #A291FB !important; +} +.ui.inverted.violet.basic.buttons .active.button, +.ui.inverted.violet.buttons .basic.active.button, +.ui.inverted.violet.basic.active.button { + -webkit-box-shadow: 0px 0px 0px 2px #8a73ff inset !important; + box-shadow: 0px 0px 0px 2px #8a73ff inset !important; + color: #A291FB !important; +} +.ui.inverted.violet.basic.buttons .button:active, +.ui.inverted.violet.buttons .basic.button:active, +.ui.inverted.violet.basic.button:active { + -webkit-box-shadow: 0px 0px 0px 2px #7860f9 inset !important; + box-shadow: 0px 0px 0px 2px #7860f9 inset !important; + color: #A291FB !important; +} + +/*--- Purple ---*/ + +.ui.purple.buttons .button, +.ui.purple.button { + background-color: #A333C8; + color: #FFFFFF; + text-shadow: none; + background-image: none; +} +.ui.purple.button { + -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} +.ui.purple.buttons .button:hover, +.ui.purple.button:hover { + background-color: #9627ba; + color: #FFFFFF; + text-shadow: none; +} +.ui.purple.buttons .button:focus, +.ui.purple.button:focus { + background-color: #8f1eb4; + color: #FFFFFF; + text-shadow: none; +} +.ui.purple.buttons .button:active, +.ui.purple.button:active { + background-color: #82299f; + color: #FFFFFF; + text-shadow: none; +} +.ui.purple.buttons .active.button, +.ui.purple.buttons .active.button:active, +.ui.purple.active.button, +.ui.purple.button .active.button:active { + background-color: #9724be; + color: #FFFFFF; + text-shadow: none; +} + +/* Basic */ +.ui.basic.purple.buttons .button, +.ui.basic.purple.button { + -webkit-box-shadow: 0px 0px 0px 1px #A333C8 inset !important; + box-shadow: 0px 0px 0px 1px #A333C8 inset !important; + color: #A333C8 !important; +} +.ui.basic.purple.buttons .button:hover, +.ui.basic.purple.button:hover { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #9627ba inset !important; + box-shadow: 0px 0px 0px 1px #9627ba inset !important; + color: #9627ba !important; +} +.ui.basic.purple.buttons .button:focus, +.ui.basic.purple.button:focus { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #8f1eb4 inset !important; + box-shadow: 0px 0px 0px 1px #8f1eb4 inset !important; + color: #9627ba !important; +} +.ui.basic.purple.buttons .active.button, +.ui.basic.purple.active.button { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #9724be inset !important; + box-shadow: 0px 0px 0px 1px #9724be inset !important; + color: #82299f !important; +} +.ui.basic.purple.buttons .button:active, +.ui.basic.purple.button:active { + -webkit-box-shadow: 0px 0px 0px 1px #82299f inset !important; + box-shadow: 0px 0px 0px 1px #82299f inset !important; + color: #82299f !important; +} +.ui.buttons:not(.vertical) > .basic.purple.button:not(:first-child) { + margin-left: -1px; +} + +/* Inverted */ +.ui.inverted.purple.buttons .button, +.ui.inverted.purple.button { + background-color: transparent; + -webkit-box-shadow: 0px 0px 0px 2px #DC73FF inset !important; + box-shadow: 0px 0px 0px 2px #DC73FF inset !important; + color: #DC73FF; +} +.ui.inverted.purple.buttons .button:hover, +.ui.inverted.purple.button:hover, +.ui.inverted.purple.buttons .button:focus, +.ui.inverted.purple.button:focus, +.ui.inverted.purple.buttons .button.active, +.ui.inverted.purple.button.active, +.ui.inverted.purple.buttons .button:active, +.ui.inverted.purple.button:active { + -webkit-box-shadow: none !important; + box-shadow: none !important; + color: #FFFFFF; +} +.ui.inverted.purple.buttons .button:hover, +.ui.inverted.purple.button:hover { + background-color: #d65aff; +} +.ui.inverted.purple.buttons .button:focus, +.ui.inverted.purple.button:focus { + background-color: #d24aff; +} +.ui.inverted.purple.buttons .active.button, +.ui.inverted.purple.active.button { + background-color: #d65aff; +} +.ui.inverted.purple.buttons .button:active, +.ui.inverted.purple.button:active { + background-color: #cf40ff; +} + +/* Inverted Basic */ +.ui.inverted.purple.basic.buttons .button, +.ui.inverted.purple.buttons .basic.button, +.ui.inverted.purple.basic.button { + background-color: transparent; + -webkit-box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + color: #FFFFFF !important; +} +.ui.inverted.purple.basic.buttons .button:hover, +.ui.inverted.purple.buttons .basic.button:hover, +.ui.inverted.purple.basic.button:hover { + -webkit-box-shadow: 0px 0px 0px 2px #d65aff inset !important; + box-shadow: 0px 0px 0px 2px #d65aff inset !important; + color: #DC73FF !important; +} +.ui.inverted.purple.basic.buttons .button:focus, +.ui.inverted.purple.basic.buttons .button:focus, +.ui.inverted.purple.basic.button:focus { + -webkit-box-shadow: 0px 0px 0px 2px #d24aff inset !important; + box-shadow: 0px 0px 0px 2px #d24aff inset !important; + color: #DC73FF !important; +} +.ui.inverted.purple.basic.buttons .active.button, +.ui.inverted.purple.buttons .basic.active.button, +.ui.inverted.purple.basic.active.button { + -webkit-box-shadow: 0px 0px 0px 2px #d65aff inset !important; + box-shadow: 0px 0px 0px 2px #d65aff inset !important; + color: #DC73FF !important; +} +.ui.inverted.purple.basic.buttons .button:active, +.ui.inverted.purple.buttons .basic.button:active, +.ui.inverted.purple.basic.button:active { + -webkit-box-shadow: 0px 0px 0px 2px #cf40ff inset !important; + box-shadow: 0px 0px 0px 2px #cf40ff inset !important; + color: #DC73FF !important; +} + +/*--- Red ---*/ + +.ui.red.buttons .button, +.ui.red.button { + background-color: #DB2828; + color: #FFFFFF; + text-shadow: none; + background-image: none; +} +.ui.red.button { + -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} +.ui.red.buttons .button:hover, +.ui.red.button:hover { + background-color: #d01919; + color: #FFFFFF; + text-shadow: none; +} +.ui.red.buttons .button:focus, +.ui.red.button:focus { + background-color: #ca1010; + color: #FFFFFF; + text-shadow: none; +} +.ui.red.buttons .button:active, +.ui.red.button:active { + background-color: #b21e1e; + color: #FFFFFF; + text-shadow: none; +} +.ui.red.buttons .active.button, +.ui.red.buttons .active.button:active, +.ui.red.active.button, +.ui.red.button .active.button:active { + background-color: #d41515; + color: #FFFFFF; + text-shadow: none; +} + +/* Basic */ +.ui.basic.red.buttons .button, +.ui.basic.red.button { + -webkit-box-shadow: 0px 0px 0px 1px #DB2828 inset !important; + box-shadow: 0px 0px 0px 1px #DB2828 inset !important; + color: #DB2828 !important; +} +.ui.basic.red.buttons .button:hover, +.ui.basic.red.button:hover { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #d01919 inset !important; + box-shadow: 0px 0px 0px 1px #d01919 inset !important; + color: #d01919 !important; +} +.ui.basic.red.buttons .button:focus, +.ui.basic.red.button:focus { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #ca1010 inset !important; + box-shadow: 0px 0px 0px 1px #ca1010 inset !important; + color: #d01919 !important; +} +.ui.basic.red.buttons .active.button, +.ui.basic.red.active.button { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #d41515 inset !important; + box-shadow: 0px 0px 0px 1px #d41515 inset !important; + color: #b21e1e !important; +} +.ui.basic.red.buttons .button:active, +.ui.basic.red.button:active { + -webkit-box-shadow: 0px 0px 0px 1px #b21e1e inset !important; + box-shadow: 0px 0px 0px 1px #b21e1e inset !important; + color: #b21e1e !important; +} +.ui.buttons:not(.vertical) > .basic.red.button:not(:first-child) { + margin-left: -1px; +} + +/* Inverted */ +.ui.inverted.red.buttons .button, +.ui.inverted.red.button { + background-color: transparent; + -webkit-box-shadow: 0px 0px 0px 2px #FF695E inset !important; + box-shadow: 0px 0px 0px 2px #FF695E inset !important; + color: #FF695E; +} +.ui.inverted.red.buttons .button:hover, +.ui.inverted.red.button:hover, +.ui.inverted.red.buttons .button:focus, +.ui.inverted.red.button:focus, +.ui.inverted.red.buttons .button.active, +.ui.inverted.red.button.active, +.ui.inverted.red.buttons .button:active, +.ui.inverted.red.button:active { + -webkit-box-shadow: none !important; + box-shadow: none !important; + color: #FFFFFF; +} +.ui.inverted.red.buttons .button:hover, +.ui.inverted.red.button:hover { + background-color: #ff5144; +} +.ui.inverted.red.buttons .button:focus, +.ui.inverted.red.button:focus { + background-color: #ff4335; +} +.ui.inverted.red.buttons .active.button, +.ui.inverted.red.active.button { + background-color: #ff5144; +} +.ui.inverted.red.buttons .button:active, +.ui.inverted.red.button:active { + background-color: #ff392b; +} + +/* Inverted Basic */ +.ui.inverted.red.basic.buttons .button, +.ui.inverted.red.buttons .basic.button, +.ui.inverted.red.basic.button { + background-color: transparent; + -webkit-box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + color: #FFFFFF !important; +} +.ui.inverted.red.basic.buttons .button:hover, +.ui.inverted.red.buttons .basic.button:hover, +.ui.inverted.red.basic.button:hover { + -webkit-box-shadow: 0px 0px 0px 2px #ff5144 inset !important; + box-shadow: 0px 0px 0px 2px #ff5144 inset !important; + color: #FF695E !important; +} +.ui.inverted.red.basic.buttons .button:focus, +.ui.inverted.red.basic.buttons .button:focus, +.ui.inverted.red.basic.button:focus { + -webkit-box-shadow: 0px 0px 0px 2px #ff4335 inset !important; + box-shadow: 0px 0px 0px 2px #ff4335 inset !important; + color: #FF695E !important; +} +.ui.inverted.red.basic.buttons .active.button, +.ui.inverted.red.buttons .basic.active.button, +.ui.inverted.red.basic.active.button { + -webkit-box-shadow: 0px 0px 0px 2px #ff5144 inset !important; + box-shadow: 0px 0px 0px 2px #ff5144 inset !important; + color: #FF695E !important; +} +.ui.inverted.red.basic.buttons .button:active, +.ui.inverted.red.buttons .basic.button:active, +.ui.inverted.red.basic.button:active { + -webkit-box-shadow: 0px 0px 0px 2px #ff392b inset !important; + box-shadow: 0px 0px 0px 2px #ff392b inset !important; + color: #FF695E !important; +} + +/*--- Teal ---*/ + +.ui.teal.buttons .button, +.ui.teal.button { + background-color: #00B5AD; + color: #FFFFFF; + text-shadow: none; + background-image: none; +} +.ui.teal.button { + -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} +.ui.teal.buttons .button:hover, +.ui.teal.button:hover { + background-color: #009c95; + color: #FFFFFF; + text-shadow: none; +} +.ui.teal.buttons .button:focus, +.ui.teal.button:focus { + background-color: #008c86; + color: #FFFFFF; + text-shadow: none; +} +.ui.teal.buttons .button:active, +.ui.teal.button:active { + background-color: #00827c; + color: #FFFFFF; + text-shadow: none; +} +.ui.teal.buttons .active.button, +.ui.teal.buttons .active.button:active, +.ui.teal.active.button, +.ui.teal.button .active.button:active { + background-color: #009c95; + color: #FFFFFF; + text-shadow: none; +} + +/* Basic */ +.ui.basic.teal.buttons .button, +.ui.basic.teal.button { + -webkit-box-shadow: 0px 0px 0px 1px #00B5AD inset !important; + box-shadow: 0px 0px 0px 1px #00B5AD inset !important; + color: #00B5AD !important; +} +.ui.basic.teal.buttons .button:hover, +.ui.basic.teal.button:hover { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #009c95 inset !important; + box-shadow: 0px 0px 0px 1px #009c95 inset !important; + color: #009c95 !important; +} +.ui.basic.teal.buttons .button:focus, +.ui.basic.teal.button:focus { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #008c86 inset !important; + box-shadow: 0px 0px 0px 1px #008c86 inset !important; + color: #009c95 !important; +} +.ui.basic.teal.buttons .active.button, +.ui.basic.teal.active.button { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #009c95 inset !important; + box-shadow: 0px 0px 0px 1px #009c95 inset !important; + color: #00827c !important; +} +.ui.basic.teal.buttons .button:active, +.ui.basic.teal.button:active { + -webkit-box-shadow: 0px 0px 0px 1px #00827c inset !important; + box-shadow: 0px 0px 0px 1px #00827c inset !important; + color: #00827c !important; +} +.ui.buttons:not(.vertical) > .basic.teal.button:not(:first-child) { + margin-left: -1px; +} + +/* Inverted */ +.ui.inverted.teal.buttons .button, +.ui.inverted.teal.button { + background-color: transparent; + -webkit-box-shadow: 0px 0px 0px 2px #6DFFFF inset !important; + box-shadow: 0px 0px 0px 2px #6DFFFF inset !important; + color: #6DFFFF; +} +.ui.inverted.teal.buttons .button:hover, +.ui.inverted.teal.button:hover, +.ui.inverted.teal.buttons .button:focus, +.ui.inverted.teal.button:focus, +.ui.inverted.teal.buttons .button.active, +.ui.inverted.teal.button.active, +.ui.inverted.teal.buttons .button:active, +.ui.inverted.teal.button:active { + -webkit-box-shadow: none !important; + box-shadow: none !important; + color: rgba(0, 0, 0, 0.6); +} +.ui.inverted.teal.buttons .button:hover, +.ui.inverted.teal.button:hover { + background-color: #54ffff; +} +.ui.inverted.teal.buttons .button:focus, +.ui.inverted.teal.button:focus { + background-color: #44ffff; +} +.ui.inverted.teal.buttons .active.button, +.ui.inverted.teal.active.button { + background-color: #54ffff; +} +.ui.inverted.teal.buttons .button:active, +.ui.inverted.teal.button:active { + background-color: #3affff; +} + +/* Inverted Basic */ +.ui.inverted.teal.basic.buttons .button, +.ui.inverted.teal.buttons .basic.button, +.ui.inverted.teal.basic.button { + background-color: transparent; + -webkit-box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + color: #FFFFFF !important; +} +.ui.inverted.teal.basic.buttons .button:hover, +.ui.inverted.teal.buttons .basic.button:hover, +.ui.inverted.teal.basic.button:hover { + -webkit-box-shadow: 0px 0px 0px 2px #54ffff inset !important; + box-shadow: 0px 0px 0px 2px #54ffff inset !important; + color: #6DFFFF !important; +} +.ui.inverted.teal.basic.buttons .button:focus, +.ui.inverted.teal.basic.buttons .button:focus, +.ui.inverted.teal.basic.button:focus { + -webkit-box-shadow: 0px 0px 0px 2px #44ffff inset !important; + box-shadow: 0px 0px 0px 2px #44ffff inset !important; + color: #6DFFFF !important; +} +.ui.inverted.teal.basic.buttons .active.button, +.ui.inverted.teal.buttons .basic.active.button, +.ui.inverted.teal.basic.active.button { + -webkit-box-shadow: 0px 0px 0px 2px #54ffff inset !important; + box-shadow: 0px 0px 0px 2px #54ffff inset !important; + color: #6DFFFF !important; +} +.ui.inverted.teal.basic.buttons .button:active, +.ui.inverted.teal.buttons .basic.button:active, +.ui.inverted.teal.basic.button:active { + -webkit-box-shadow: 0px 0px 0px 2px #3affff inset !important; + box-shadow: 0px 0px 0px 2px #3affff inset !important; + color: #6DFFFF !important; +} + +/*--- Olive ---*/ + +.ui.olive.buttons .button, +.ui.olive.button { + background-color: #B5CC18; + color: #FFFFFF; + text-shadow: none; + background-image: none; +} +.ui.olive.button { + -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} +.ui.olive.buttons .button:hover, +.ui.olive.button:hover { + background-color: #a7bd0d; + color: #FFFFFF; + text-shadow: none; +} +.ui.olive.buttons .button:focus, +.ui.olive.button:focus { + background-color: #a0b605; + color: #FFFFFF; + text-shadow: none; +} +.ui.olive.buttons .button:active, +.ui.olive.button:active { + background-color: #8d9e13; + color: #FFFFFF; + text-shadow: none; +} +.ui.olive.buttons .active.button, +.ui.olive.buttons .active.button:active, +.ui.olive.active.button, +.ui.olive.button .active.button:active { + background-color: #aac109; + color: #FFFFFF; + text-shadow: none; +} + +/* Basic */ +.ui.basic.olive.buttons .button, +.ui.basic.olive.button { + -webkit-box-shadow: 0px 0px 0px 1px #B5CC18 inset !important; + box-shadow: 0px 0px 0px 1px #B5CC18 inset !important; + color: #B5CC18 !important; +} +.ui.basic.olive.buttons .button:hover, +.ui.basic.olive.button:hover { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #a7bd0d inset !important; + box-shadow: 0px 0px 0px 1px #a7bd0d inset !important; + color: #a7bd0d !important; +} +.ui.basic.olive.buttons .button:focus, +.ui.basic.olive.button:focus { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #a0b605 inset !important; + box-shadow: 0px 0px 0px 1px #a0b605 inset !important; + color: #a7bd0d !important; +} +.ui.basic.olive.buttons .active.button, +.ui.basic.olive.active.button { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #aac109 inset !important; + box-shadow: 0px 0px 0px 1px #aac109 inset !important; + color: #8d9e13 !important; +} +.ui.basic.olive.buttons .button:active, +.ui.basic.olive.button:active { + -webkit-box-shadow: 0px 0px 0px 1px #8d9e13 inset !important; + box-shadow: 0px 0px 0px 1px #8d9e13 inset !important; + color: #8d9e13 !important; +} +.ui.buttons:not(.vertical) > .basic.olive.button:not(:first-child) { + margin-left: -1px; +} + +/* Inverted */ +.ui.inverted.olive.buttons .button, +.ui.inverted.olive.button { + background-color: transparent; + -webkit-box-shadow: 0px 0px 0px 2px #D9E778 inset !important; + box-shadow: 0px 0px 0px 2px #D9E778 inset !important; + color: #D9E778; +} +.ui.inverted.olive.buttons .button:hover, +.ui.inverted.olive.button:hover, +.ui.inverted.olive.buttons .button:focus, +.ui.inverted.olive.button:focus, +.ui.inverted.olive.buttons .button.active, +.ui.inverted.olive.button.active, +.ui.inverted.olive.buttons .button:active, +.ui.inverted.olive.button:active { + -webkit-box-shadow: none !important; + box-shadow: none !important; + color: rgba(0, 0, 0, 0.6); +} +.ui.inverted.olive.buttons .button:hover, +.ui.inverted.olive.button:hover { + background-color: #d8ea5c; +} +.ui.inverted.olive.buttons .button:focus, +.ui.inverted.olive.button:focus { + background-color: #daef47; +} +.ui.inverted.olive.buttons .active.button, +.ui.inverted.olive.active.button { + background-color: #daed59; +} +.ui.inverted.olive.buttons .button:active, +.ui.inverted.olive.button:active { + background-color: #cddf4d; +} + +/* Inverted Basic */ +.ui.inverted.olive.basic.buttons .button, +.ui.inverted.olive.buttons .basic.button, +.ui.inverted.olive.basic.button { + background-color: transparent; + -webkit-box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + color: #FFFFFF !important; +} +.ui.inverted.olive.basic.buttons .button:hover, +.ui.inverted.olive.buttons .basic.button:hover, +.ui.inverted.olive.basic.button:hover { + -webkit-box-shadow: 0px 0px 0px 2px #d8ea5c inset !important; + box-shadow: 0px 0px 0px 2px #d8ea5c inset !important; + color: #D9E778 !important; +} +.ui.inverted.olive.basic.buttons .button:focus, +.ui.inverted.olive.basic.buttons .button:focus, +.ui.inverted.olive.basic.button:focus { + -webkit-box-shadow: 0px 0px 0px 2px #daef47 inset !important; + box-shadow: 0px 0px 0px 2px #daef47 inset !important; + color: #D9E778 !important; +} +.ui.inverted.olive.basic.buttons .active.button, +.ui.inverted.olive.buttons .basic.active.button, +.ui.inverted.olive.basic.active.button { + -webkit-box-shadow: 0px 0px 0px 2px #daed59 inset !important; + box-shadow: 0px 0px 0px 2px #daed59 inset !important; + color: #D9E778 !important; +} +.ui.inverted.olive.basic.buttons .button:active, +.ui.inverted.olive.buttons .basic.button:active, +.ui.inverted.olive.basic.button:active { + -webkit-box-shadow: 0px 0px 0px 2px #cddf4d inset !important; + box-shadow: 0px 0px 0px 2px #cddf4d inset !important; + color: #D9E778 !important; +} + +/*--- Yellow ---*/ + +.ui.yellow.buttons .button, +.ui.yellow.button { + background-color: #FBBD08; + color: #FFFFFF; + text-shadow: none; + background-image: none; +} +.ui.yellow.button { + -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} +.ui.yellow.buttons .button:hover, +.ui.yellow.button:hover { + background-color: #eaae00; + color: #FFFFFF; + text-shadow: none; +} +.ui.yellow.buttons .button:focus, +.ui.yellow.button:focus { + background-color: #daa300; + color: #FFFFFF; + text-shadow: none; +} +.ui.yellow.buttons .button:active, +.ui.yellow.button:active { + background-color: #cd9903; + color: #FFFFFF; + text-shadow: none; +} +.ui.yellow.buttons .active.button, +.ui.yellow.buttons .active.button:active, +.ui.yellow.active.button, +.ui.yellow.button .active.button:active { + background-color: #eaae00; + color: #FFFFFF; + text-shadow: none; +} + +/* Basic */ +.ui.basic.yellow.buttons .button, +.ui.basic.yellow.button { + -webkit-box-shadow: 0px 0px 0px 1px #FBBD08 inset !important; + box-shadow: 0px 0px 0px 1px #FBBD08 inset !important; + color: #FBBD08 !important; +} +.ui.basic.yellow.buttons .button:hover, +.ui.basic.yellow.button:hover { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #eaae00 inset !important; + box-shadow: 0px 0px 0px 1px #eaae00 inset !important; + color: #eaae00 !important; +} +.ui.basic.yellow.buttons .button:focus, +.ui.basic.yellow.button:focus { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #daa300 inset !important; + box-shadow: 0px 0px 0px 1px #daa300 inset !important; + color: #eaae00 !important; +} +.ui.basic.yellow.buttons .active.button, +.ui.basic.yellow.active.button { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #eaae00 inset !important; + box-shadow: 0px 0px 0px 1px #eaae00 inset !important; + color: #cd9903 !important; +} +.ui.basic.yellow.buttons .button:active, +.ui.basic.yellow.button:active { + -webkit-box-shadow: 0px 0px 0px 1px #cd9903 inset !important; + box-shadow: 0px 0px 0px 1px #cd9903 inset !important; + color: #cd9903 !important; +} +.ui.buttons:not(.vertical) > .basic.yellow.button:not(:first-child) { + margin-left: -1px; +} + +/* Inverted */ +.ui.inverted.yellow.buttons .button, +.ui.inverted.yellow.button { + background-color: transparent; + -webkit-box-shadow: 0px 0px 0px 2px #FFE21F inset !important; + box-shadow: 0px 0px 0px 2px #FFE21F inset !important; + color: #FFE21F; +} +.ui.inverted.yellow.buttons .button:hover, +.ui.inverted.yellow.button:hover, +.ui.inverted.yellow.buttons .button:focus, +.ui.inverted.yellow.button:focus, +.ui.inverted.yellow.buttons .button.active, +.ui.inverted.yellow.button.active, +.ui.inverted.yellow.buttons .button:active, +.ui.inverted.yellow.button:active { + -webkit-box-shadow: none !important; + box-shadow: none !important; + color: rgba(0, 0, 0, 0.6); +} +.ui.inverted.yellow.buttons .button:hover, +.ui.inverted.yellow.button:hover { + background-color: #ffdf05; +} +.ui.inverted.yellow.buttons .button:focus, +.ui.inverted.yellow.button:focus { + background-color: #f5d500; +} +.ui.inverted.yellow.buttons .active.button, +.ui.inverted.yellow.active.button { + background-color: #ffdf05; +} +.ui.inverted.yellow.buttons .button:active, +.ui.inverted.yellow.button:active { + background-color: #ebcd00; +} + +/* Inverted Basic */ +.ui.inverted.yellow.basic.buttons .button, +.ui.inverted.yellow.buttons .basic.button, +.ui.inverted.yellow.basic.button { + background-color: transparent; + -webkit-box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important; + color: #FFFFFF !important; +} +.ui.inverted.yellow.basic.buttons .button:hover, +.ui.inverted.yellow.buttons .basic.button:hover, +.ui.inverted.yellow.basic.button:hover { + -webkit-box-shadow: 0px 0px 0px 2px #ffdf05 inset !important; + box-shadow: 0px 0px 0px 2px #ffdf05 inset !important; + color: #FFE21F !important; +} +.ui.inverted.yellow.basic.buttons .button:focus, +.ui.inverted.yellow.basic.buttons .button:focus, +.ui.inverted.yellow.basic.button:focus { + -webkit-box-shadow: 0px 0px 0px 2px #f5d500 inset !important; + box-shadow: 0px 0px 0px 2px #f5d500 inset !important; + color: #FFE21F !important; +} +.ui.inverted.yellow.basic.buttons .active.button, +.ui.inverted.yellow.buttons .basic.active.button, +.ui.inverted.yellow.basic.active.button { + -webkit-box-shadow: 0px 0px 0px 2px #ffdf05 inset !important; + box-shadow: 0px 0px 0px 2px #ffdf05 inset !important; + color: #FFE21F !important; +} +.ui.inverted.yellow.basic.buttons .button:active, +.ui.inverted.yellow.buttons .basic.button:active, +.ui.inverted.yellow.basic.button:active { + -webkit-box-shadow: 0px 0px 0px 2px #ebcd00 inset !important; + box-shadow: 0px 0px 0px 2px #ebcd00 inset !important; + color: #FFE21F !important; +} + +/*------------------- + Primary +--------------------*/ + + +/*--- Standard ---*/ + +.ui.primary.buttons .button, +.ui.primary.button { + background-color: #2185D0; + color: #FFFFFF; + text-shadow: none; + background-image: none; +} +.ui.primary.button { + -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} +.ui.primary.buttons .button:hover, +.ui.primary.button:hover { + background-color: #1678c2; + color: #FFFFFF; + text-shadow: none; +} +.ui.primary.buttons .button:focus, +.ui.primary.button:focus { + background-color: #0d71bb; + color: #FFFFFF; + text-shadow: none; +} +.ui.primary.buttons .button:active, +.ui.primary.button:active { + background-color: #1a69a4; + color: #FFFFFF; + text-shadow: none; +} +.ui.primary.buttons .active.button, +.ui.primary.buttons .active.button:active, +.ui.primary.active.button, +.ui.primary.button .active.button:active { + background-color: #1279c6; + color: #FFFFFF; + text-shadow: none; +} + +/* Basic */ +.ui.basic.primary.buttons .button, +.ui.basic.primary.button { + -webkit-box-shadow: 0px 0px 0px 1px #2185D0 inset !important; + box-shadow: 0px 0px 0px 1px #2185D0 inset !important; + color: #2185D0 !important; +} +.ui.basic.primary.buttons .button:hover, +.ui.basic.primary.button:hover { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #1678c2 inset !important; + box-shadow: 0px 0px 0px 1px #1678c2 inset !important; + color: #1678c2 !important; +} +.ui.basic.primary.buttons .button:focus, +.ui.basic.primary.button:focus { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #0d71bb inset !important; + box-shadow: 0px 0px 0px 1px #0d71bb inset !important; + color: #1678c2 !important; +} +.ui.basic.primary.buttons .active.button, +.ui.basic.primary.active.button { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #1279c6 inset !important; + box-shadow: 0px 0px 0px 1px #1279c6 inset !important; + color: #1a69a4 !important; +} +.ui.basic.primary.buttons .button:active, +.ui.basic.primary.button:active { + -webkit-box-shadow: 0px 0px 0px 1px #1a69a4 inset !important; + box-shadow: 0px 0px 0px 1px #1a69a4 inset !important; + color: #1a69a4 !important; +} +.ui.buttons:not(.vertical) > .basic.primary.button:not(:first-child) { + margin-left: -1px; +} + +/*------------------- + Secondary +--------------------*/ + + +/* Standard */ +.ui.secondary.buttons .button, +.ui.secondary.button { + background-color: #1B1C1D; + color: #FFFFFF; + text-shadow: none; + background-image: none; +} +.ui.secondary.button { + -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} +.ui.secondary.buttons .button:hover, +.ui.secondary.button:hover { + background-color: #27292a; + color: #FFFFFF; + text-shadow: none; +} +.ui.secondary.buttons .button:focus, +.ui.secondary.button:focus { + background-color: #2e3032; + color: #FFFFFF; + text-shadow: none; +} +.ui.secondary.buttons .button:active, +.ui.secondary.button:active { + background-color: #343637; + color: #FFFFFF; + text-shadow: none; +} +.ui.secondary.buttons .active.button, +.ui.secondary.buttons .active.button:active, +.ui.secondary.active.button, +.ui.secondary.button .active.button:active { + background-color: #27292a; + color: #FFFFFF; + text-shadow: none; +} + +/* Basic */ +.ui.basic.secondary.buttons .button, +.ui.basic.secondary.button { + -webkit-box-shadow: 0px 0px 0px 1px #1B1C1D inset !important; + box-shadow: 0px 0px 0px 1px #1B1C1D inset !important; + color: #1B1C1D !important; +} +.ui.basic.secondary.buttons .button:hover, +.ui.basic.secondary.button:hover { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #27292a inset !important; + box-shadow: 0px 0px 0px 1px #27292a inset !important; + color: #27292a !important; +} +.ui.basic.secondary.buttons .button:focus, +.ui.basic.secondary.button:focus { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #2e3032 inset !important; + box-shadow: 0px 0px 0px 1px #2e3032 inset !important; + color: #27292a !important; +} +.ui.basic.secondary.buttons .active.button, +.ui.basic.secondary.active.button { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #27292a inset !important; + box-shadow: 0px 0px 0px 1px #27292a inset !important; + color: #343637 !important; +} +.ui.basic.secondary.buttons .button:active, +.ui.basic.secondary.button:active { + -webkit-box-shadow: 0px 0px 0px 1px #343637 inset !important; + box-shadow: 0px 0px 0px 1px #343637 inset !important; + color: #343637 !important; +} +.ui.buttons:not(.vertical) > .basic.primary.button:not(:first-child) { + margin-left: -1px; +} + +/*--------------- + Positive +----------------*/ + + +/* Standard */ +.ui.positive.buttons .button, +.ui.positive.button { + background-color: #21BA45; + color: #FFFFFF; + text-shadow: none; + background-image: none; +} +.ui.positive.button { + -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} +.ui.positive.buttons .button:hover, +.ui.positive.button:hover { + background-color: #16ab39; + color: #FFFFFF; + text-shadow: none; +} +.ui.positive.buttons .button:focus, +.ui.positive.button:focus { + background-color: #0ea432; + color: #FFFFFF; + text-shadow: none; +} +.ui.positive.buttons .button:active, +.ui.positive.button:active { + background-color: #198f35; + color: #FFFFFF; + text-shadow: none; +} +.ui.positive.buttons .active.button, +.ui.positive.buttons .active.button:active, +.ui.positive.active.button, +.ui.positive.button .active.button:active { + background-color: #13ae38; + color: #FFFFFF; + text-shadow: none; +} + +/* Basic */ +.ui.basic.positive.buttons .button, +.ui.basic.positive.button { + -webkit-box-shadow: 0px 0px 0px 1px #21BA45 inset !important; + box-shadow: 0px 0px 0px 1px #21BA45 inset !important; + color: #21BA45 !important; +} +.ui.basic.positive.buttons .button:hover, +.ui.basic.positive.button:hover { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #16ab39 inset !important; + box-shadow: 0px 0px 0px 1px #16ab39 inset !important; + color: #16ab39 !important; +} +.ui.basic.positive.buttons .button:focus, +.ui.basic.positive.button:focus { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #0ea432 inset !important; + box-shadow: 0px 0px 0px 1px #0ea432 inset !important; + color: #16ab39 !important; +} +.ui.basic.positive.buttons .active.button, +.ui.basic.positive.active.button { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #13ae38 inset !important; + box-shadow: 0px 0px 0px 1px #13ae38 inset !important; + color: #198f35 !important; +} +.ui.basic.positive.buttons .button:active, +.ui.basic.positive.button:active { + -webkit-box-shadow: 0px 0px 0px 1px #198f35 inset !important; + box-shadow: 0px 0px 0px 1px #198f35 inset !important; + color: #198f35 !important; +} +.ui.buttons:not(.vertical) > .basic.primary.button:not(:first-child) { + margin-left: -1px; +} + +/*--------------- + Negative +----------------*/ + + +/* Standard */ +.ui.negative.buttons .button, +.ui.negative.button { + background-color: #DB2828; + color: #FFFFFF; + text-shadow: none; + background-image: none; +} +.ui.negative.button { + -webkit-box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} +.ui.negative.buttons .button:hover, +.ui.negative.button:hover { + background-color: #d01919; + color: #FFFFFF; + text-shadow: none; +} +.ui.negative.buttons .button:focus, +.ui.negative.button:focus { + background-color: #ca1010; + color: #FFFFFF; + text-shadow: none; +} +.ui.negative.buttons .button:active, +.ui.negative.button:active { + background-color: #b21e1e; + color: #FFFFFF; + text-shadow: none; +} +.ui.negative.buttons .active.button, +.ui.negative.buttons .active.button:active, +.ui.negative.active.button, +.ui.negative.button .active.button:active { + background-color: #d41515; + color: #FFFFFF; + text-shadow: none; +} + +/* Basic */ +.ui.basic.negative.buttons .button, +.ui.basic.negative.button { + -webkit-box-shadow: 0px 0px 0px 1px #DB2828 inset !important; + box-shadow: 0px 0px 0px 1px #DB2828 inset !important; + color: #DB2828 !important; +} +.ui.basic.negative.buttons .button:hover, +.ui.basic.negative.button:hover { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #d01919 inset !important; + box-shadow: 0px 0px 0px 1px #d01919 inset !important; + color: #d01919 !important; +} +.ui.basic.negative.buttons .button:focus, +.ui.basic.negative.button:focus { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #ca1010 inset !important; + box-shadow: 0px 0px 0px 1px #ca1010 inset !important; + color: #d01919 !important; +} +.ui.basic.negative.buttons .active.button, +.ui.basic.negative.active.button { + background: transparent !important; + -webkit-box-shadow: 0px 0px 0px 1px #d41515 inset !important; + box-shadow: 0px 0px 0px 1px #d41515 inset !important; + color: #b21e1e !important; +} +.ui.basic.negative.buttons .button:active, +.ui.basic.negative.button:active { + -webkit-box-shadow: 0px 0px 0px 1px #b21e1e inset !important; + box-shadow: 0px 0px 0px 1px #b21e1e inset !important; + color: #b21e1e !important; +} +.ui.buttons:not(.vertical) > .basic.primary.button:not(:first-child) { + margin-left: -1px; +} + + +/******************************* + Groups +*******************************/ + +.ui.buttons { + 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; + font-size: 0em; + vertical-align: baseline; + margin: 0em 0.25em 0em 0em; +} +.ui.buttons:not(.basic):not(.inverted) { + -webkit-box-shadow: none; + box-shadow: none; +} + +/* Clearfix */ +.ui.buttons:after { + content: "."; + display: block; + height: 0; + clear: both; + visibility: hidden; +} + +/* Standard Group */ +.ui.buttons .button { + -webkit-box-flex: 1; + -ms-flex: 1 0 auto; + flex: 1 0 auto; + margin: 0em; + border-radius: 0em; + margin: 0px 0px 0px 0px; +} +.ui.buttons > .ui.button:not(.basic):not(.inverted), +.ui.buttons:not(.basic):not(.inverted) > .button { + -webkit-box-shadow: 0px 0px 0px 1px transparent inset, 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0px 0px 0px 1px transparent inset, 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset; +} +.ui.buttons .button:first-child { + border-left: none; + margin-left: 0em; + border-top-left-radius: 0.28571429rem; + border-bottom-left-radius: 0.28571429rem; +} +.ui.buttons .button:last-child { + border-top-right-radius: 0.28571429rem; + border-bottom-right-radius: 0.28571429rem; +} + +/* Vertical Style */ +.ui.vertical.buttons { + 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; +} +.ui.vertical.buttons .button { + display: block; + float: none; + width: 100%; + margin: 0px 0px 0px 0px; + -webkit-box-shadow: none; + box-shadow: none; + border-radius: 0em; +} +.ui.vertical.buttons .button:first-child { + border-top-left-radius: 0.28571429rem; + border-top-right-radius: 0.28571429rem; +} +.ui.vertical.buttons .button:last-child { + margin-bottom: 0px; + border-bottom-left-radius: 0.28571429rem; + border-bottom-right-radius: 0.28571429rem; +} +.ui.vertical.buttons .button:only-child { + border-radius: 0.28571429rem; +} + + +/******************************* + Theme Overrides +*******************************/ + + + +/******************************* + Site Overrides +*******************************/ + diff --git a/themes/openpowerfoundation/static/lib/semantic-ui/components/button.min.css b/themes/openpowerfoundation/static/lib/semantic-ui/components/button.min.css new file mode 100755 index 0000000..5f48d1a --- /dev/null +++ b/themes/openpowerfoundation/static/lib/semantic-ui/components/button.min.css @@ -0,0 +1,9 @@ +/*! + * # Semantic UI 2.3.0 - Button + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.button{cursor:pointer;display:inline-block;min-height:1em;outline:0;border:none;vertical-align:baseline;background:#e0e1e2 none;color:rgba(0,0,0,.6);font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;margin:0 .25em 0 0;padding:.78571429em 1.5em .78571429em;text-transform:none;text-shadow:none;font-weight:700;line-height:1em;font-style:normal;text-align:center;text-decoration:none;border-radius:.28571429rem;-webkit-box-shadow:0 0 0 1px transparent inset,0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 1px transparent inset,0 0 0 0 rgba(34,36,38,.15) inset;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:opacity .1s ease,background-color .1s ease,color .1s ease,background .1s ease,-webkit-box-shadow .1s ease;transition:opacity .1s ease,background-color .1s ease,color .1s ease,background .1s ease,-webkit-box-shadow .1s ease;transition:opacity .1s ease,background-color .1s ease,color .1s ease,box-shadow .1s ease,background .1s ease;transition:opacity .1s ease,background-color .1s ease,color .1s ease,box-shadow .1s ease,background .1s ease,-webkit-box-shadow .1s ease;will-change:'';-webkit-tap-highlight-color:transparent}.ui.button:hover{background-color:#cacbcd;background-image:none;-webkit-box-shadow:0 0 0 1px transparent inset,0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 1px transparent inset,0 0 0 0 rgba(34,36,38,.15) inset;color:rgba(0,0,0,.8)}.ui.button:hover .icon{opacity:.85}.ui.button:focus{background-color:#cacbcd;color:rgba(0,0,0,.8);background-image:''!important;-webkit-box-shadow:''!important;box-shadow:''!important}.ui.button:focus .icon{opacity:.85}.ui.active.button:active,.ui.button:active{background-color:#babbbc;background-image:'';color:rgba(0,0,0,.9);-webkit-box-shadow:0 0 0 1px transparent inset,none;box-shadow:0 0 0 1px transparent inset,none}.ui.active.button{background-color:#c0c1c2;background-image:none;-webkit-box-shadow:0 0 0 1px transparent inset;box-shadow:0 0 0 1px transparent inset;color:rgba(0,0,0,.95)}.ui.active.button:hover{background-color:#c0c1c2;background-image:none;color:rgba(0,0,0,.95)}.ui.active.button:active{background-color:#c0c1c2;background-image:none}.ui.loading.loading.loading.loading.loading.loading.button{position:relative;cursor:default;text-shadow:none!important;color:transparent!important;opacity:1;pointer-events:auto;-webkit-transition:all 0s linear,opacity .1s ease;transition:all 0s linear,opacity .1s ease}.ui.loading.button:before{position:absolute;content:'';top:50%;left:50%;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;border-radius:500rem;border:.2em solid rgba(0,0,0,.15)}.ui.loading.button:after{position:absolute;content:'';top:50%;left:50%;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;-webkit-animation:button-spin .6s linear;animation:button-spin .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#fff transparent transparent;border-style:solid;border-width:.2em;-webkit-box-shadow:0 0 0 1px transparent;box-shadow:0 0 0 1px transparent}.ui.labeled.icon.loading.button .icon{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}@-webkit-keyframes button-spin{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes button-spin{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.ui.basic.loading.button:not(.inverted):before{border-color:rgba(0,0,0,.1)}.ui.basic.loading.button:not(.inverted):after{border-top-color:#767676}.ui.button:disabled,.ui.buttons .disabled.button,.ui.disabled.active.button,.ui.disabled.button,.ui.disabled.button:hover{cursor:default;opacity:.45!important;background-image:none!important;-webkit-box-shadow:none!important;box-shadow:none!important;pointer-events:none!important}.ui.basic.buttons .ui.disabled.button{border-color:rgba(34,36,38,.5)}.ui.animated.button{position:relative;overflow:hidden;padding-right:0!important;vertical-align:middle;z-index:1}.ui.animated.button .content{will-change:transform,opacity}.ui.animated.button .visible.content{position:relative;margin-right:1.5em}.ui.animated.button .hidden.content{position:absolute;width:100%}.ui.animated.button .hidden.content,.ui.animated.button .visible.content{-webkit-transition:right .3s ease 0s;transition:right .3s ease 0s}.ui.animated.button .visible.content{left:auto;right:0}.ui.animated.button .hidden.content{top:50%;left:auto;right:-100%;margin-top:-.5em}.ui.animated.button:focus .visible.content,.ui.animated.button:hover .visible.content{left:auto;right:200%}.ui.animated.button:focus .hidden.content,.ui.animated.button:hover .hidden.content{left:auto;right:0}.ui.vertical.animated.button .hidden.content,.ui.vertical.animated.button .visible.content{-webkit-transition:top .3s ease,-webkit-transform .3s ease;transition:top .3s ease,-webkit-transform .3s ease;transition:top .3s ease,transform .3s ease;transition:top .3s ease,transform .3s ease,-webkit-transform .3s ease}.ui.vertical.animated.button .visible.content{-webkit-transform:translateY(0);transform:translateY(0);right:auto}.ui.vertical.animated.button .hidden.content{top:-50%;left:0;right:auto}.ui.vertical.animated.button:focus .visible.content,.ui.vertical.animated.button:hover .visible.content{-webkit-transform:translateY(200%);transform:translateY(200%);right:auto}.ui.vertical.animated.button:focus .hidden.content,.ui.vertical.animated.button:hover .hidden.content{top:50%;right:auto}.ui.fade.animated.button .hidden.content,.ui.fade.animated.button .visible.content{-webkit-transition:opacity .3s ease,-webkit-transform .3s ease;transition:opacity .3s ease,-webkit-transform .3s ease;transition:opacity .3s ease,transform .3s ease;transition:opacity .3s ease,transform .3s ease,-webkit-transform .3s ease}.ui.fade.animated.button .visible.content{left:auto;right:auto;opacity:1;-webkit-transform:scale(1);transform:scale(1)}.ui.fade.animated.button .hidden.content{opacity:0;left:0;right:auto;-webkit-transform:scale(1.5);transform:scale(1.5)}.ui.fade.animated.button:focus .visible.content,.ui.fade.animated.button:hover .visible.content{left:auto;right:auto;opacity:0;-webkit-transform:scale(.75);transform:scale(.75)}.ui.fade.animated.button:focus .hidden.content,.ui.fade.animated.button:hover .hidden.content{left:0;right:auto;opacity:1;-webkit-transform:scale(1);transform:scale(1)}.ui.inverted.button{-webkit-box-shadow:0 0 0 2px #fff inset!important;box-shadow:0 0 0 2px #fff inset!important;background:transparent none;color:#fff;text-shadow:none!important}.ui.inverted.buttons .button{margin:0 0 0 -2px}.ui.inverted.buttons .button:first-child{margin-left:0}.ui.inverted.vertical.buttons .button{margin:0 0 -2px 0}.ui.inverted.vertical.buttons .button:first-child{margin-top:0}.ui.inverted.button:hover{background:#fff;-webkit-box-shadow:0 0 0 2px #fff inset!important;box-shadow:0 0 0 2px #fff inset!important;color:rgba(0,0,0,.8)}.ui.inverted.button.active,.ui.inverted.button:focus{background:#fff;-webkit-box-shadow:0 0 0 2px #fff inset!important;box-shadow:0 0 0 2px #fff inset!important;color:rgba(0,0,0,.8)}.ui.inverted.button.active:focus{background:#dcddde;-webkit-box-shadow:0 0 0 2px #dcddde inset!important;box-shadow:0 0 0 2px #dcddde inset!important;color:rgba(0,0,0,.8)}.ui.labeled.button:not(.icon){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;background:0 0!important;padding:0!important;border:none!important;-webkit-box-shadow:none!important;box-shadow:none!important}.ui.labeled.button>.button{margin:0}.ui.labeled.button>.label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0 0 0 -1px!important;padding:'';font-size:1em;border-color:rgba(34,36,38,.15)}.ui.labeled.button>.tag.label:before{width:1.85em;height:1.85em}.ui.labeled.button:not([class*="left labeled"])>.button{border-top-right-radius:0;border-bottom-right-radius:0}.ui.labeled.button:not([class*="left labeled"])>.label{border-top-left-radius:0;border-bottom-left-radius:0}.ui[class*="left labeled"].button>.button{border-top-left-radius:0;border-bottom-left-radius:0}.ui[class*="left labeled"].button>.label{border-top-right-radius:0;border-bottom-right-radius:0}.ui.facebook.button{background-color:#3b5998;color:#fff;text-shadow:none;background-image:none;-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.facebook.button:hover{background-color:#304d8a;color:#fff;text-shadow:none}.ui.facebook.button:active{background-color:#2d4373;color:#fff;text-shadow:none}.ui.twitter.button{background-color:#55acee;color:#fff;text-shadow:none;background-image:none;-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.twitter.button:hover{background-color:#35a2f4;color:#fff;text-shadow:none}.ui.twitter.button:active{background-color:#2795e9;color:#fff;text-shadow:none}.ui.google.plus.button{background-color:#dd4b39;color:#fff;text-shadow:none;background-image:none;-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.google.plus.button:hover{background-color:#e0321c;color:#fff;text-shadow:none}.ui.google.plus.button:active{background-color:#c23321;color:#fff;text-shadow:none}.ui.linkedin.button{background-color:#1f88be;color:#fff;text-shadow:none}.ui.linkedin.button:hover{background-color:#147baf;color:#fff;text-shadow:none}.ui.linkedin.button:active{background-color:#186992;color:#fff;text-shadow:none}.ui.youtube.button{background-color:red;color:#fff;text-shadow:none;background-image:none;-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.youtube.button:hover{background-color:#e60000;color:#fff;text-shadow:none}.ui.youtube.button:active{background-color:#c00;color:#fff;text-shadow:none}.ui.instagram.button{background-color:#49769c;color:#fff;text-shadow:none;background-image:none;-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.instagram.button:hover{background-color:#3d698e;color:#fff;text-shadow:none}.ui.instagram.button:active{background-color:#395c79;color:#fff;text-shadow:none}.ui.pinterest.button{background-color:#bd081c;color:#fff;text-shadow:none;background-image:none;-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.pinterest.button:hover{background-color:#ac0013;color:#fff;text-shadow:none}.ui.pinterest.button:active{background-color:#8c0615;color:#fff;text-shadow:none}.ui.vk.button{background-color:#4d7198;color:#fff;background-image:none;-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.vk.button:hover{background-color:#41648a;color:#fff}.ui.vk.button:active{background-color:#3c5876;color:#fff}.ui.button>.icon:not(.button){height:.85714286em;opacity:.8;margin:0 .42857143em 0 -.21428571em;-webkit-transition:opacity .1s ease;transition:opacity .1s ease;vertical-align:'';color:''}.ui.button:not(.icon)>.icon:not(.button):not(.dropdown){margin:0 .42857143em 0 -.21428571em}.ui.button:not(.icon)>.right.icon:not(.button):not(.dropdown){margin:0 -.21428571em 0 .42857143em}.ui[class*="left floated"].button,.ui[class*="left floated"].buttons{float:left;margin-left:0;margin-right:.25em}.ui[class*="right floated"].button,.ui[class*="right floated"].buttons{float:right;margin-right:0;margin-left:.25em}.ui.compact.button,.ui.compact.buttons .button{padding:.58928571em 1.125em .58928571em}.ui.compact.icon.button,.ui.compact.icon.buttons .button{padding:.58928571em .58928571em .58928571em}.ui.compact.labeled.icon.button,.ui.compact.labeled.icon.buttons .button{padding:.58928571em 3.69642857em .58928571em}.ui.mini.button,.ui.mini.buttons .button,.ui.mini.buttons .or{font-size:.78571429rem}.ui.tiny.button,.ui.tiny.buttons .button,.ui.tiny.buttons .or{font-size:.85714286rem}.ui.small.button,.ui.small.buttons .button,.ui.small.buttons .or{font-size:.92857143rem}.ui.button,.ui.buttons .button,.ui.buttons .or{font-size:1rem}.ui.large.button,.ui.large.buttons .button,.ui.large.buttons .or{font-size:1.14285714rem}.ui.big.button,.ui.big.buttons .button,.ui.big.buttons .or{font-size:1.28571429rem}.ui.huge.button,.ui.huge.buttons .button,.ui.huge.buttons .or{font-size:1.42857143rem}.ui.massive.button,.ui.massive.buttons .button,.ui.massive.buttons .or{font-size:1.71428571rem}.ui.icon.button,.ui.icon.buttons .button{padding:.78571429em .78571429em .78571429em}.ui.icon.button>.icon,.ui.icon.buttons .button>.icon{opacity:.9;margin:0!important;vertical-align:top}.ui.basic.button,.ui.basic.buttons .button{background:transparent none!important;color:rgba(0,0,0,.6)!important;font-weight:400;border-radius:.28571429rem;text-transform:none;text-shadow:none!important;-webkit-box-shadow:0 0 0 1px rgba(34,36,38,.15) inset;box-shadow:0 0 0 1px rgba(34,36,38,.15) inset}.ui.basic.buttons{-webkit-box-shadow:none;box-shadow:none;border:1px solid rgba(34,36,38,.15);border-radius:.28571429rem}.ui.basic.buttons .button{border-radius:0}.ui.basic.button:hover,.ui.basic.buttons .button:hover{background:#fff!important;color:rgba(0,0,0,.8)!important;-webkit-box-shadow:0 0 0 1px rgba(34,36,38,.35) inset,0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 1px rgba(34,36,38,.35) inset,0 0 0 0 rgba(34,36,38,.15) inset}.ui.basic.button:focus,.ui.basic.buttons .button:focus{background:#fff!important;color:rgba(0,0,0,.8)!important;-webkit-box-shadow:0 0 0 1px rgba(34,36,38,.35) inset,0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 1px rgba(34,36,38,.35) inset,0 0 0 0 rgba(34,36,38,.15) inset}.ui.basic.button:active,.ui.basic.buttons .button:active{background:#f8f8f8!important;color:rgba(0,0,0,.9)!important;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 1px 4px 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 1px 4px 0 rgba(34,36,38,.15) inset}.ui.basic.active.button,.ui.basic.buttons .active.button{background:rgba(0,0,0,.05)!important;-webkit-box-shadow:''!important;box-shadow:''!important;color:rgba(0,0,0,.95)!important}.ui.basic.active.button:hover,.ui.basic.buttons .active.button:hover{background-color:rgba(0,0,0,.05)}.ui.basic.buttons .button:hover{-webkit-box-shadow:0 0 0 1px rgba(34,36,38,.35) inset,0 0 0 0 rgba(34,36,38,.15) inset inset;box-shadow:0 0 0 1px rgba(34,36,38,.35) inset,0 0 0 0 rgba(34,36,38,.15) inset inset}.ui.basic.buttons .button:active{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 1px 4px 0 rgba(34,36,38,.15) inset inset;box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 1px 4px 0 rgba(34,36,38,.15) inset inset}.ui.basic.buttons .active.button{-webkit-box-shadow:''!important;box-shadow:''!important}.ui.basic.inverted.button,.ui.basic.inverted.buttons .button{background-color:transparent!important;color:#f9fafb!important;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important}.ui.basic.inverted.button:hover,.ui.basic.inverted.buttons .button:hover{color:#fff!important;-webkit-box-shadow:0 0 0 2px #fff inset!important;box-shadow:0 0 0 2px #fff inset!important}.ui.basic.inverted.button:focus,.ui.basic.inverted.buttons .button:focus{color:#fff!important;-webkit-box-shadow:0 0 0 2px #fff inset!important;box-shadow:0 0 0 2px #fff inset!important}.ui.basic.inverted.button:active,.ui.basic.inverted.buttons .button:active{background-color:rgba(255,255,255,.08)!important;color:#fff!important;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.9) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.9) inset!important}.ui.basic.inverted.active.button,.ui.basic.inverted.buttons .active.button{background-color:rgba(255,255,255,.08);color:#fff;text-shadow:none;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.7) inset;box-shadow:0 0 0 2px rgba(255,255,255,.7) inset}.ui.basic.inverted.active.button:hover,.ui.basic.inverted.buttons .active.button:hover{background-color:rgba(255,255,255,.15);-webkit-box-shadow:0 0 0 2px #fff inset!important;box-shadow:0 0 0 2px #fff inset!important}.ui.basic.buttons .button{border-left:1px solid rgba(34,36,38,.15);-webkit-box-shadow:none;box-shadow:none}.ui.basic.vertical.buttons .button{border-left:none}.ui.basic.vertical.buttons .button{border-left-width:0;border-top:1px solid rgba(34,36,38,.15)}.ui.basic.vertical.buttons .button:first-child{border-top-width:0}.ui.labeled.icon.button,.ui.labeled.icon.buttons .button{position:relative;padding-left:4.07142857em!important;padding-right:1.5em!important}.ui.labeled.icon.button>.icon,.ui.labeled.icon.buttons>.button>.icon{position:absolute;height:100%;line-height:1;border-radius:0;border-top-left-radius:inherit;border-bottom-left-radius:inherit;text-align:center;margin:0;width:2.57142857em;background-color:rgba(0,0,0,.05);color:'';-webkit-box-shadow:-1px 0 0 0 transparent inset;box-shadow:-1px 0 0 0 transparent inset}.ui.labeled.icon.button>.icon,.ui.labeled.icon.buttons>.button>.icon{top:0;left:0}.ui[class*="right labeled"].icon.button{padding-right:4.07142857em!important;padding-left:1.5em!important}.ui[class*="right labeled"].icon.button>.icon{left:auto;right:0;border-radius:0;border-top-right-radius:inherit;border-bottom-right-radius:inherit;-webkit-box-shadow:1px 0 0 0 transparent inset;box-shadow:1px 0 0 0 transparent inset}.ui.labeled.icon.button>.icon:after,.ui.labeled.icon.button>.icon:before,.ui.labeled.icon.buttons>.button>.icon:after,.ui.labeled.icon.buttons>.button>.icon:before{display:block;position:absolute;width:100%;top:50%;text-align:center;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.ui.labeled.icon.buttons .button>.icon{border-radius:0}.ui.labeled.icon.buttons .button:first-child>.icon{border-top-left-radius:.28571429rem;border-bottom-left-radius:.28571429rem}.ui.labeled.icon.buttons .button:last-child>.icon{border-top-right-radius:.28571429rem;border-bottom-right-radius:.28571429rem}.ui.vertical.labeled.icon.buttons .button:first-child>.icon{border-radius:0;border-top-left-radius:.28571429rem}.ui.vertical.labeled.icon.buttons .button:last-child>.icon{border-radius:0;border-bottom-left-radius:.28571429rem}.ui.fluid[class*="left labeled"].icon.button,.ui.fluid[class*="right labeled"].icon.button{padding-left:1.5em!important;padding-right:1.5em!important}.ui.button.toggle.active,.ui.buttons .button.toggle.active,.ui.toggle.buttons .active.button{background-color:#21ba45!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none;color:#fff!important}.ui.button.toggle.active:hover{background-color:#16ab39!important;text-shadow:none;color:#fff!important}.ui.circular.button{border-radius:10em}.ui.circular.button>.icon{width:1em;vertical-align:baseline}.ui.buttons .or{position:relative;width:.3em;height:2.57142857em;z-index:3}.ui.buttons .or:before{position:absolute;text-align:center;border-radius:500rem;content:'or';top:50%;left:50%;background-color:#fff;text-shadow:none;margin-top:-.89285714em;margin-left:-.89285714em;width:1.78571429em;height:1.78571429em;line-height:1.78571429em;color:rgba(0,0,0,.4);font-style:normal;font-weight:700;-webkit-box-shadow:0 0 0 1px transparent inset;box-shadow:0 0 0 1px transparent inset}.ui.buttons .or[data-text]:before{content:attr(data-text)}.ui.fluid.buttons .or{width:0!important}.ui.fluid.buttons .or:after{display:none}.ui.attached.button{position:relative;display:block;margin:0;border-radius:0;-webkit-box-shadow:0 0 0 1px rgba(34,36,38,.15)!important;box-shadow:0 0 0 1px rgba(34,36,38,.15)!important}.ui.attached.top.button{border-radius:.28571429rem .28571429rem 0 0}.ui.attached.bottom.button{border-radius:0 0 .28571429rem .28571429rem}.ui.left.attached.button{display:inline-block;border-left:none;text-align:right;padding-right:.75em;border-radius:.28571429rem 0 0 .28571429rem}.ui.right.attached.button{display:inline-block;text-align:left;padding-left:.75em;border-radius:0 .28571429rem .28571429rem 0}.ui.attached.buttons{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;border-radius:0;width:auto!important;z-index:2;margin-left:-1px;margin-right:-1px}.ui.attached.buttons .button{margin:0}.ui.attached.buttons .button:first-child{border-radius:0}.ui.attached.buttons .button:last-child{border-radius:0}.ui[class*="top attached"].buttons{margin-bottom:-1px;border-radius:.28571429rem .28571429rem 0 0}.ui[class*="top attached"].buttons .button:first-child{border-radius:.28571429rem 0 0 0}.ui[class*="top attached"].buttons .button:last-child{border-radius:0 .28571429rem 0 0}.ui[class*="bottom attached"].buttons{margin-top:-1px;border-radius:0 0 .28571429rem .28571429rem}.ui[class*="bottom attached"].buttons .button:first-child{border-radius:0 0 0 .28571429rem}.ui[class*="bottom attached"].buttons .button:last-child{border-radius:0 0 .28571429rem 0}.ui[class*="left attached"].buttons{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;margin-right:0;margin-left:-1px;border-radius:0 .28571429rem .28571429rem 0}.ui[class*="left attached"].buttons .button:first-child{margin-left:-1px;border-radius:0 .28571429rem 0 0}.ui[class*="left attached"].buttons .button:last-child{margin-left:-1px;border-radius:0 0 .28571429rem 0}.ui[class*="right attached"].buttons{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;margin-left:0;margin-right:-1px;border-radius:.28571429rem 0 0 .28571429rem}.ui[class*="right attached"].buttons .button:first-child{margin-left:-1px;border-radius:.28571429rem 0 0 0}.ui[class*="right attached"].buttons .button:last-child{margin-left:-1px;border-radius:0 0 0 .28571429rem}.ui.fluid.button,.ui.fluid.buttons{width:100%}.ui.fluid.button{display:block}.ui.two.buttons{width:100%}.ui.two.buttons>.button{width:50%}.ui.three.buttons{width:100%}.ui.three.buttons>.button{width:33.333%}.ui.four.buttons{width:100%}.ui.four.buttons>.button{width:25%}.ui.five.buttons{width:100%}.ui.five.buttons>.button{width:20%}.ui.six.buttons{width:100%}.ui.six.buttons>.button{width:16.666%}.ui.seven.buttons{width:100%}.ui.seven.buttons>.button{width:14.285%}.ui.eight.buttons{width:100%}.ui.eight.buttons>.button{width:12.5%}.ui.nine.buttons{width:100%}.ui.nine.buttons>.button{width:11.11%}.ui.ten.buttons{width:100%}.ui.ten.buttons>.button{width:10%}.ui.eleven.buttons{width:100%}.ui.eleven.buttons>.button{width:9.09%}.ui.twelve.buttons{width:100%}.ui.twelve.buttons>.button{width:8.3333%}.ui.fluid.vertical.buttons,.ui.fluid.vertical.buttons>.button{display:-webkit-box;display:-ms-flexbox;display:flex;width:auto}.ui.two.vertical.buttons>.button{height:50%}.ui.three.vertical.buttons>.button{height:33.333%}.ui.four.vertical.buttons>.button{height:25%}.ui.five.vertical.buttons>.button{height:20%}.ui.six.vertical.buttons>.button{height:16.666%}.ui.seven.vertical.buttons>.button{height:14.285%}.ui.eight.vertical.buttons>.button{height:12.5%}.ui.nine.vertical.buttons>.button{height:11.11%}.ui.ten.vertical.buttons>.button{height:10%}.ui.eleven.vertical.buttons>.button{height:9.09%}.ui.twelve.vertical.buttons>.button{height:8.3333%}.ui.black.button,.ui.black.buttons .button{background-color:#1b1c1d;color:#fff;text-shadow:none;background-image:none}.ui.black.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.black.button:hover,.ui.black.buttons .button:hover{background-color:#27292a;color:#fff;text-shadow:none}.ui.black.button:focus,.ui.black.buttons .button:focus{background-color:#2f3032;color:#fff;text-shadow:none}.ui.black.button:active,.ui.black.buttons .button:active{background-color:#343637;color:#fff;text-shadow:none}.ui.black.active.button,.ui.black.button .active.button:active,.ui.black.buttons .active.button,.ui.black.buttons .active.button:active{background-color:#0f0f10;color:#fff;text-shadow:none}.ui.basic.black.button,.ui.basic.black.buttons .button{-webkit-box-shadow:0 0 0 1px #1b1c1d inset!important;box-shadow:0 0 0 1px #1b1c1d inset!important;color:#1b1c1d!important}.ui.basic.black.button:hover,.ui.basic.black.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #27292a inset!important;box-shadow:0 0 0 1px #27292a inset!important;color:#27292a!important}.ui.basic.black.button:focus,.ui.basic.black.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #2f3032 inset!important;box-shadow:0 0 0 1px #2f3032 inset!important;color:#27292a!important}.ui.basic.black.active.button,.ui.basic.black.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #0f0f10 inset!important;box-shadow:0 0 0 1px #0f0f10 inset!important;color:#343637!important}.ui.basic.black.button:active,.ui.basic.black.buttons .button:active{-webkit-box-shadow:0 0 0 1px #343637 inset!important;box-shadow:0 0 0 1px #343637 inset!important;color:#343637!important}.ui.buttons:not(.vertical)>.basic.black.button:not(:first-child){margin-left:-1px}.ui.inverted.black.button,.ui.inverted.black.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #d4d4d5 inset!important;box-shadow:0 0 0 2px #d4d4d5 inset!important;color:#fff}.ui.inverted.black.button.active,.ui.inverted.black.button:active,.ui.inverted.black.button:focus,.ui.inverted.black.button:hover,.ui.inverted.black.buttons .button.active,.ui.inverted.black.buttons .button:active,.ui.inverted.black.buttons .button:focus,.ui.inverted.black.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:#fff}.ui.inverted.black.button:hover,.ui.inverted.black.buttons .button:hover{background-color:#000}.ui.inverted.black.button:focus,.ui.inverted.black.buttons .button:focus{background-color:#000}.ui.inverted.black.active.button,.ui.inverted.black.buttons .active.button{background-color:#000}.ui.inverted.black.button:active,.ui.inverted.black.buttons .button:active{background-color:#000}.ui.inverted.black.basic.button,.ui.inverted.black.basic.buttons .button,.ui.inverted.black.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.black.basic.button:hover,.ui.inverted.black.basic.buttons .button:hover,.ui.inverted.black.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #000 inset!important;box-shadow:0 0 0 2px #000 inset!important;color:#fff!important}.ui.inverted.black.basic.button:focus,.ui.inverted.black.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #000 inset!important;box-shadow:0 0 0 2px #000 inset!important;color:#545454!important}.ui.inverted.black.basic.active.button,.ui.inverted.black.basic.buttons .active.button,.ui.inverted.black.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #000 inset!important;box-shadow:0 0 0 2px #000 inset!important;color:#fff!important}.ui.inverted.black.basic.button:active,.ui.inverted.black.basic.buttons .button:active,.ui.inverted.black.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #000 inset!important;box-shadow:0 0 0 2px #000 inset!important;color:#fff!important}.ui.grey.button,.ui.grey.buttons .button{background-color:#767676;color:#fff;text-shadow:none;background-image:none}.ui.grey.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.grey.button:hover,.ui.grey.buttons .button:hover{background-color:#838383;color:#fff;text-shadow:none}.ui.grey.button:focus,.ui.grey.buttons .button:focus{background-color:#8a8a8a;color:#fff;text-shadow:none}.ui.grey.button:active,.ui.grey.buttons .button:active{background-color:#909090;color:#fff;text-shadow:none}.ui.grey.active.button,.ui.grey.button .active.button:active,.ui.grey.buttons .active.button,.ui.grey.buttons .active.button:active{background-color:#696969;color:#fff;text-shadow:none}.ui.basic.grey.button,.ui.basic.grey.buttons .button{-webkit-box-shadow:0 0 0 1px #767676 inset!important;box-shadow:0 0 0 1px #767676 inset!important;color:#767676!important}.ui.basic.grey.button:hover,.ui.basic.grey.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #838383 inset!important;box-shadow:0 0 0 1px #838383 inset!important;color:#838383!important}.ui.basic.grey.button:focus,.ui.basic.grey.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #8a8a8a inset!important;box-shadow:0 0 0 1px #8a8a8a inset!important;color:#838383!important}.ui.basic.grey.active.button,.ui.basic.grey.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #696969 inset!important;box-shadow:0 0 0 1px #696969 inset!important;color:#909090!important}.ui.basic.grey.button:active,.ui.basic.grey.buttons .button:active{-webkit-box-shadow:0 0 0 1px #909090 inset!important;box-shadow:0 0 0 1px #909090 inset!important;color:#909090!important}.ui.buttons:not(.vertical)>.basic.grey.button:not(:first-child){margin-left:-1px}.ui.inverted.grey.button,.ui.inverted.grey.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #d4d4d5 inset!important;box-shadow:0 0 0 2px #d4d4d5 inset!important;color:#fff}.ui.inverted.grey.button.active,.ui.inverted.grey.button:active,.ui.inverted.grey.button:focus,.ui.inverted.grey.button:hover,.ui.inverted.grey.buttons .button.active,.ui.inverted.grey.buttons .button:active,.ui.inverted.grey.buttons .button:focus,.ui.inverted.grey.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:rgba(0,0,0,.6)}.ui.inverted.grey.button:hover,.ui.inverted.grey.buttons .button:hover{background-color:#cfd0d2}.ui.inverted.grey.button:focus,.ui.inverted.grey.buttons .button:focus{background-color:#c7c9cb}.ui.inverted.grey.active.button,.ui.inverted.grey.buttons .active.button{background-color:#cfd0d2}.ui.inverted.grey.button:active,.ui.inverted.grey.buttons .button:active{background-color:#c2c4c5}.ui.inverted.grey.basic.button,.ui.inverted.grey.basic.buttons .button,.ui.inverted.grey.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.grey.basic.button:hover,.ui.inverted.grey.basic.buttons .button:hover,.ui.inverted.grey.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #cfd0d2 inset!important;box-shadow:0 0 0 2px #cfd0d2 inset!important;color:#fff!important}.ui.inverted.grey.basic.button:focus,.ui.inverted.grey.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #c7c9cb inset!important;box-shadow:0 0 0 2px #c7c9cb inset!important;color:#dcddde!important}.ui.inverted.grey.basic.active.button,.ui.inverted.grey.basic.buttons .active.button,.ui.inverted.grey.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #cfd0d2 inset!important;box-shadow:0 0 0 2px #cfd0d2 inset!important;color:#fff!important}.ui.inverted.grey.basic.button:active,.ui.inverted.grey.basic.buttons .button:active,.ui.inverted.grey.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #c2c4c5 inset!important;box-shadow:0 0 0 2px #c2c4c5 inset!important;color:#fff!important}.ui.brown.button,.ui.brown.buttons .button{background-color:#a5673f;color:#fff;text-shadow:none;background-image:none}.ui.brown.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.brown.button:hover,.ui.brown.buttons .button:hover{background-color:#975b33;color:#fff;text-shadow:none}.ui.brown.button:focus,.ui.brown.buttons .button:focus{background-color:#90532b;color:#fff;text-shadow:none}.ui.brown.button:active,.ui.brown.buttons .button:active{background-color:#805031;color:#fff;text-shadow:none}.ui.brown.active.button,.ui.brown.button .active.button:active,.ui.brown.buttons .active.button,.ui.brown.buttons .active.button:active{background-color:#995a31;color:#fff;text-shadow:none}.ui.basic.brown.button,.ui.basic.brown.buttons .button{-webkit-box-shadow:0 0 0 1px #a5673f inset!important;box-shadow:0 0 0 1px #a5673f inset!important;color:#a5673f!important}.ui.basic.brown.button:hover,.ui.basic.brown.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #975b33 inset!important;box-shadow:0 0 0 1px #975b33 inset!important;color:#975b33!important}.ui.basic.brown.button:focus,.ui.basic.brown.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #90532b inset!important;box-shadow:0 0 0 1px #90532b inset!important;color:#975b33!important}.ui.basic.brown.active.button,.ui.basic.brown.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #995a31 inset!important;box-shadow:0 0 0 1px #995a31 inset!important;color:#805031!important}.ui.basic.brown.button:active,.ui.basic.brown.buttons .button:active{-webkit-box-shadow:0 0 0 1px #805031 inset!important;box-shadow:0 0 0 1px #805031 inset!important;color:#805031!important}.ui.buttons:not(.vertical)>.basic.brown.button:not(:first-child){margin-left:-1px}.ui.inverted.brown.button,.ui.inverted.brown.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #d67c1c inset!important;box-shadow:0 0 0 2px #d67c1c inset!important;color:#d67c1c}.ui.inverted.brown.button.active,.ui.inverted.brown.button:active,.ui.inverted.brown.button:focus,.ui.inverted.brown.button:hover,.ui.inverted.brown.buttons .button.active,.ui.inverted.brown.buttons .button:active,.ui.inverted.brown.buttons .button:focus,.ui.inverted.brown.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:#fff}.ui.inverted.brown.button:hover,.ui.inverted.brown.buttons .button:hover{background-color:#c86f11}.ui.inverted.brown.button:focus,.ui.inverted.brown.buttons .button:focus{background-color:#c16808}.ui.inverted.brown.active.button,.ui.inverted.brown.buttons .active.button{background-color:#cc6f0d}.ui.inverted.brown.button:active,.ui.inverted.brown.buttons .button:active{background-color:#a96216}.ui.inverted.brown.basic.button,.ui.inverted.brown.basic.buttons .button,.ui.inverted.brown.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.brown.basic.button:hover,.ui.inverted.brown.basic.buttons .button:hover,.ui.inverted.brown.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #c86f11 inset!important;box-shadow:0 0 0 2px #c86f11 inset!important;color:#d67c1c!important}.ui.inverted.brown.basic.button:focus,.ui.inverted.brown.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #c16808 inset!important;box-shadow:0 0 0 2px #c16808 inset!important;color:#d67c1c!important}.ui.inverted.brown.basic.active.button,.ui.inverted.brown.basic.buttons .active.button,.ui.inverted.brown.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #cc6f0d inset!important;box-shadow:0 0 0 2px #cc6f0d inset!important;color:#d67c1c!important}.ui.inverted.brown.basic.button:active,.ui.inverted.brown.basic.buttons .button:active,.ui.inverted.brown.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #a96216 inset!important;box-shadow:0 0 0 2px #a96216 inset!important;color:#d67c1c!important}.ui.blue.button,.ui.blue.buttons .button{background-color:#2185d0;color:#fff;text-shadow:none;background-image:none}.ui.blue.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.blue.button:hover,.ui.blue.buttons .button:hover{background-color:#1678c2;color:#fff;text-shadow:none}.ui.blue.button:focus,.ui.blue.buttons .button:focus{background-color:#0d71bb;color:#fff;text-shadow:none}.ui.blue.button:active,.ui.blue.buttons .button:active{background-color:#1a69a4;color:#fff;text-shadow:none}.ui.blue.active.button,.ui.blue.button .active.button:active,.ui.blue.buttons .active.button,.ui.blue.buttons .active.button:active{background-color:#1279c6;color:#fff;text-shadow:none}.ui.basic.blue.button,.ui.basic.blue.buttons .button{-webkit-box-shadow:0 0 0 1px #2185d0 inset!important;box-shadow:0 0 0 1px #2185d0 inset!important;color:#2185d0!important}.ui.basic.blue.button:hover,.ui.basic.blue.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #1678c2 inset!important;box-shadow:0 0 0 1px #1678c2 inset!important;color:#1678c2!important}.ui.basic.blue.button:focus,.ui.basic.blue.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #0d71bb inset!important;box-shadow:0 0 0 1px #0d71bb inset!important;color:#1678c2!important}.ui.basic.blue.active.button,.ui.basic.blue.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #1279c6 inset!important;box-shadow:0 0 0 1px #1279c6 inset!important;color:#1a69a4!important}.ui.basic.blue.button:active,.ui.basic.blue.buttons .button:active{-webkit-box-shadow:0 0 0 1px #1a69a4 inset!important;box-shadow:0 0 0 1px #1a69a4 inset!important;color:#1a69a4!important}.ui.buttons:not(.vertical)>.basic.blue.button:not(:first-child){margin-left:-1px}.ui.inverted.blue.button,.ui.inverted.blue.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #54c8ff inset!important;box-shadow:0 0 0 2px #54c8ff inset!important;color:#54c8ff}.ui.inverted.blue.button.active,.ui.inverted.blue.button:active,.ui.inverted.blue.button:focus,.ui.inverted.blue.button:hover,.ui.inverted.blue.buttons .button.active,.ui.inverted.blue.buttons .button:active,.ui.inverted.blue.buttons .button:focus,.ui.inverted.blue.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:#fff}.ui.inverted.blue.button:hover,.ui.inverted.blue.buttons .button:hover{background-color:#3ac0ff}.ui.inverted.blue.button:focus,.ui.inverted.blue.buttons .button:focus{background-color:#2bbbff}.ui.inverted.blue.active.button,.ui.inverted.blue.buttons .active.button{background-color:#3ac0ff}.ui.inverted.blue.button:active,.ui.inverted.blue.buttons .button:active{background-color:#21b8ff}.ui.inverted.blue.basic.button,.ui.inverted.blue.basic.buttons .button,.ui.inverted.blue.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.blue.basic.button:hover,.ui.inverted.blue.basic.buttons .button:hover,.ui.inverted.blue.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #3ac0ff inset!important;box-shadow:0 0 0 2px #3ac0ff inset!important;color:#54c8ff!important}.ui.inverted.blue.basic.button:focus,.ui.inverted.blue.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #2bbbff inset!important;box-shadow:0 0 0 2px #2bbbff inset!important;color:#54c8ff!important}.ui.inverted.blue.basic.active.button,.ui.inverted.blue.basic.buttons .active.button,.ui.inverted.blue.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #3ac0ff inset!important;box-shadow:0 0 0 2px #3ac0ff inset!important;color:#54c8ff!important}.ui.inverted.blue.basic.button:active,.ui.inverted.blue.basic.buttons .button:active,.ui.inverted.blue.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #21b8ff inset!important;box-shadow:0 0 0 2px #21b8ff inset!important;color:#54c8ff!important}.ui.green.button,.ui.green.buttons .button{background-color:#21ba45;color:#fff;text-shadow:none;background-image:none}.ui.green.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.green.button:hover,.ui.green.buttons .button:hover{background-color:#16ab39;color:#fff;text-shadow:none}.ui.green.button:focus,.ui.green.buttons .button:focus{background-color:#0ea432;color:#fff;text-shadow:none}.ui.green.button:active,.ui.green.buttons .button:active{background-color:#198f35;color:#fff;text-shadow:none}.ui.green.active.button,.ui.green.button .active.button:active,.ui.green.buttons .active.button,.ui.green.buttons .active.button:active{background-color:#13ae38;color:#fff;text-shadow:none}.ui.basic.green.button,.ui.basic.green.buttons .button{-webkit-box-shadow:0 0 0 1px #21ba45 inset!important;box-shadow:0 0 0 1px #21ba45 inset!important;color:#21ba45!important}.ui.basic.green.button:hover,.ui.basic.green.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #16ab39 inset!important;box-shadow:0 0 0 1px #16ab39 inset!important;color:#16ab39!important}.ui.basic.green.button:focus,.ui.basic.green.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #0ea432 inset!important;box-shadow:0 0 0 1px #0ea432 inset!important;color:#16ab39!important}.ui.basic.green.active.button,.ui.basic.green.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #13ae38 inset!important;box-shadow:0 0 0 1px #13ae38 inset!important;color:#198f35!important}.ui.basic.green.button:active,.ui.basic.green.buttons .button:active{-webkit-box-shadow:0 0 0 1px #198f35 inset!important;box-shadow:0 0 0 1px #198f35 inset!important;color:#198f35!important}.ui.buttons:not(.vertical)>.basic.green.button:not(:first-child){margin-left:-1px}.ui.inverted.green.button,.ui.inverted.green.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #2ecc40 inset!important;box-shadow:0 0 0 2px #2ecc40 inset!important;color:#2ecc40}.ui.inverted.green.button.active,.ui.inverted.green.button:active,.ui.inverted.green.button:focus,.ui.inverted.green.button:hover,.ui.inverted.green.buttons .button.active,.ui.inverted.green.buttons .button:active,.ui.inverted.green.buttons .button:focus,.ui.inverted.green.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:#fff}.ui.inverted.green.button:hover,.ui.inverted.green.buttons .button:hover{background-color:#22be34}.ui.inverted.green.button:focus,.ui.inverted.green.buttons .button:focus{background-color:#19b82b}.ui.inverted.green.active.button,.ui.inverted.green.buttons .active.button{background-color:#1fc231}.ui.inverted.green.button:active,.ui.inverted.green.buttons .button:active{background-color:#25a233}.ui.inverted.green.basic.button,.ui.inverted.green.basic.buttons .button,.ui.inverted.green.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.green.basic.button:hover,.ui.inverted.green.basic.buttons .button:hover,.ui.inverted.green.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #22be34 inset!important;box-shadow:0 0 0 2px #22be34 inset!important;color:#2ecc40!important}.ui.inverted.green.basic.button:focus,.ui.inverted.green.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #19b82b inset!important;box-shadow:0 0 0 2px #19b82b inset!important;color:#2ecc40!important}.ui.inverted.green.basic.active.button,.ui.inverted.green.basic.buttons .active.button,.ui.inverted.green.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #1fc231 inset!important;box-shadow:0 0 0 2px #1fc231 inset!important;color:#2ecc40!important}.ui.inverted.green.basic.button:active,.ui.inverted.green.basic.buttons .button:active,.ui.inverted.green.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #25a233 inset!important;box-shadow:0 0 0 2px #25a233 inset!important;color:#2ecc40!important}.ui.orange.button,.ui.orange.buttons .button{background-color:#f2711c;color:#fff;text-shadow:none;background-image:none}.ui.orange.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.orange.button:hover,.ui.orange.buttons .button:hover{background-color:#f26202;color:#fff;text-shadow:none}.ui.orange.button:focus,.ui.orange.buttons .button:focus{background-color:#e55b00;color:#fff;text-shadow:none}.ui.orange.button:active,.ui.orange.buttons .button:active{background-color:#cf590c;color:#fff;text-shadow:none}.ui.orange.active.button,.ui.orange.button .active.button:active,.ui.orange.buttons .active.button,.ui.orange.buttons .active.button:active{background-color:#f56100;color:#fff;text-shadow:none}.ui.basic.orange.button,.ui.basic.orange.buttons .button{-webkit-box-shadow:0 0 0 1px #f2711c inset!important;box-shadow:0 0 0 1px #f2711c inset!important;color:#f2711c!important}.ui.basic.orange.button:hover,.ui.basic.orange.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #f26202 inset!important;box-shadow:0 0 0 1px #f26202 inset!important;color:#f26202!important}.ui.basic.orange.button:focus,.ui.basic.orange.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #e55b00 inset!important;box-shadow:0 0 0 1px #e55b00 inset!important;color:#f26202!important}.ui.basic.orange.active.button,.ui.basic.orange.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #f56100 inset!important;box-shadow:0 0 0 1px #f56100 inset!important;color:#cf590c!important}.ui.basic.orange.button:active,.ui.basic.orange.buttons .button:active{-webkit-box-shadow:0 0 0 1px #cf590c inset!important;box-shadow:0 0 0 1px #cf590c inset!important;color:#cf590c!important}.ui.buttons:not(.vertical)>.basic.orange.button:not(:first-child){margin-left:-1px}.ui.inverted.orange.button,.ui.inverted.orange.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #ff851b inset!important;box-shadow:0 0 0 2px #ff851b inset!important;color:#ff851b}.ui.inverted.orange.button.active,.ui.inverted.orange.button:active,.ui.inverted.orange.button:focus,.ui.inverted.orange.button:hover,.ui.inverted.orange.buttons .button.active,.ui.inverted.orange.buttons .button:active,.ui.inverted.orange.buttons .button:focus,.ui.inverted.orange.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:#fff}.ui.inverted.orange.button:hover,.ui.inverted.orange.buttons .button:hover{background-color:#ff7701}.ui.inverted.orange.button:focus,.ui.inverted.orange.buttons .button:focus{background-color:#f17000}.ui.inverted.orange.active.button,.ui.inverted.orange.buttons .active.button{background-color:#ff7701}.ui.inverted.orange.button:active,.ui.inverted.orange.buttons .button:active{background-color:#e76b00}.ui.inverted.orange.basic.button,.ui.inverted.orange.basic.buttons .button,.ui.inverted.orange.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.orange.basic.button:hover,.ui.inverted.orange.basic.buttons .button:hover,.ui.inverted.orange.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #ff7701 inset!important;box-shadow:0 0 0 2px #ff7701 inset!important;color:#ff851b!important}.ui.inverted.orange.basic.button:focus,.ui.inverted.orange.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #f17000 inset!important;box-shadow:0 0 0 2px #f17000 inset!important;color:#ff851b!important}.ui.inverted.orange.basic.active.button,.ui.inverted.orange.basic.buttons .active.button,.ui.inverted.orange.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #ff7701 inset!important;box-shadow:0 0 0 2px #ff7701 inset!important;color:#ff851b!important}.ui.inverted.orange.basic.button:active,.ui.inverted.orange.basic.buttons .button:active,.ui.inverted.orange.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #e76b00 inset!important;box-shadow:0 0 0 2px #e76b00 inset!important;color:#ff851b!important}.ui.pink.button,.ui.pink.buttons .button{background-color:#e03997;color:#fff;text-shadow:none;background-image:none}.ui.pink.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.pink.button:hover,.ui.pink.buttons .button:hover{background-color:#e61a8d;color:#fff;text-shadow:none}.ui.pink.button:focus,.ui.pink.buttons .button:focus{background-color:#e10f85;color:#fff;text-shadow:none}.ui.pink.button:active,.ui.pink.buttons .button:active{background-color:#c71f7e;color:#fff;text-shadow:none}.ui.pink.active.button,.ui.pink.button .active.button:active,.ui.pink.buttons .active.button,.ui.pink.buttons .active.button:active{background-color:#ea158d;color:#fff;text-shadow:none}.ui.basic.pink.button,.ui.basic.pink.buttons .button{-webkit-box-shadow:0 0 0 1px #e03997 inset!important;box-shadow:0 0 0 1px #e03997 inset!important;color:#e03997!important}.ui.basic.pink.button:hover,.ui.basic.pink.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #e61a8d inset!important;box-shadow:0 0 0 1px #e61a8d inset!important;color:#e61a8d!important}.ui.basic.pink.button:focus,.ui.basic.pink.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #e10f85 inset!important;box-shadow:0 0 0 1px #e10f85 inset!important;color:#e61a8d!important}.ui.basic.pink.active.button,.ui.basic.pink.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #ea158d inset!important;box-shadow:0 0 0 1px #ea158d inset!important;color:#c71f7e!important}.ui.basic.pink.button:active,.ui.basic.pink.buttons .button:active{-webkit-box-shadow:0 0 0 1px #c71f7e inset!important;box-shadow:0 0 0 1px #c71f7e inset!important;color:#c71f7e!important}.ui.buttons:not(.vertical)>.basic.pink.button:not(:first-child){margin-left:-1px}.ui.inverted.pink.button,.ui.inverted.pink.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #ff8edf inset!important;box-shadow:0 0 0 2px #ff8edf inset!important;color:#ff8edf}.ui.inverted.pink.button.active,.ui.inverted.pink.button:active,.ui.inverted.pink.button:focus,.ui.inverted.pink.button:hover,.ui.inverted.pink.buttons .button.active,.ui.inverted.pink.buttons .button:active,.ui.inverted.pink.buttons .button:focus,.ui.inverted.pink.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:#fff}.ui.inverted.pink.button:hover,.ui.inverted.pink.buttons .button:hover{background-color:#ff74d8}.ui.inverted.pink.button:focus,.ui.inverted.pink.buttons .button:focus{background-color:#ff65d3}.ui.inverted.pink.active.button,.ui.inverted.pink.buttons .active.button{background-color:#ff74d8}.ui.inverted.pink.button:active,.ui.inverted.pink.buttons .button:active{background-color:#ff5bd1}.ui.inverted.pink.basic.button,.ui.inverted.pink.basic.buttons .button,.ui.inverted.pink.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.pink.basic.button:hover,.ui.inverted.pink.basic.buttons .button:hover,.ui.inverted.pink.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #ff74d8 inset!important;box-shadow:0 0 0 2px #ff74d8 inset!important;color:#ff8edf!important}.ui.inverted.pink.basic.button:focus,.ui.inverted.pink.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #ff65d3 inset!important;box-shadow:0 0 0 2px #ff65d3 inset!important;color:#ff8edf!important}.ui.inverted.pink.basic.active.button,.ui.inverted.pink.basic.buttons .active.button,.ui.inverted.pink.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #ff74d8 inset!important;box-shadow:0 0 0 2px #ff74d8 inset!important;color:#ff8edf!important}.ui.inverted.pink.basic.button:active,.ui.inverted.pink.basic.buttons .button:active,.ui.inverted.pink.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #ff5bd1 inset!important;box-shadow:0 0 0 2px #ff5bd1 inset!important;color:#ff8edf!important}.ui.violet.button,.ui.violet.buttons .button{background-color:#6435c9;color:#fff;text-shadow:none;background-image:none}.ui.violet.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.violet.button:hover,.ui.violet.buttons .button:hover{background-color:#5829bb;color:#fff;text-shadow:none}.ui.violet.button:focus,.ui.violet.buttons .button:focus{background-color:#4f20b5;color:#fff;text-shadow:none}.ui.violet.button:active,.ui.violet.buttons .button:active{background-color:#502aa1;color:#fff;text-shadow:none}.ui.violet.active.button,.ui.violet.button .active.button:active,.ui.violet.buttons .active.button,.ui.violet.buttons .active.button:active{background-color:#5626bf;color:#fff;text-shadow:none}.ui.basic.violet.button,.ui.basic.violet.buttons .button{-webkit-box-shadow:0 0 0 1px #6435c9 inset!important;box-shadow:0 0 0 1px #6435c9 inset!important;color:#6435c9!important}.ui.basic.violet.button:hover,.ui.basic.violet.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #5829bb inset!important;box-shadow:0 0 0 1px #5829bb inset!important;color:#5829bb!important}.ui.basic.violet.button:focus,.ui.basic.violet.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #4f20b5 inset!important;box-shadow:0 0 0 1px #4f20b5 inset!important;color:#5829bb!important}.ui.basic.violet.active.button,.ui.basic.violet.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #5626bf inset!important;box-shadow:0 0 0 1px #5626bf inset!important;color:#502aa1!important}.ui.basic.violet.button:active,.ui.basic.violet.buttons .button:active{-webkit-box-shadow:0 0 0 1px #502aa1 inset!important;box-shadow:0 0 0 1px #502aa1 inset!important;color:#502aa1!important}.ui.buttons:not(.vertical)>.basic.violet.button:not(:first-child){margin-left:-1px}.ui.inverted.violet.button,.ui.inverted.violet.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #a291fb inset!important;box-shadow:0 0 0 2px #a291fb inset!important;color:#a291fb}.ui.inverted.violet.button.active,.ui.inverted.violet.button:active,.ui.inverted.violet.button:focus,.ui.inverted.violet.button:hover,.ui.inverted.violet.buttons .button.active,.ui.inverted.violet.buttons .button:active,.ui.inverted.violet.buttons .button:focus,.ui.inverted.violet.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:#fff}.ui.inverted.violet.button:hover,.ui.inverted.violet.buttons .button:hover{background-color:#8a73ff}.ui.inverted.violet.button:focus,.ui.inverted.violet.buttons .button:focus{background-color:#7d64ff}.ui.inverted.violet.active.button,.ui.inverted.violet.buttons .active.button{background-color:#8a73ff}.ui.inverted.violet.button:active,.ui.inverted.violet.buttons .button:active{background-color:#7860f9}.ui.inverted.violet.basic.button,.ui.inverted.violet.basic.buttons .button,.ui.inverted.violet.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.violet.basic.button:hover,.ui.inverted.violet.basic.buttons .button:hover,.ui.inverted.violet.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #8a73ff inset!important;box-shadow:0 0 0 2px #8a73ff inset!important;color:#a291fb!important}.ui.inverted.violet.basic.button:focus,.ui.inverted.violet.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #7d64ff inset!important;box-shadow:0 0 0 2px #7d64ff inset!important;color:#a291fb!important}.ui.inverted.violet.basic.active.button,.ui.inverted.violet.basic.buttons .active.button,.ui.inverted.violet.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #8a73ff inset!important;box-shadow:0 0 0 2px #8a73ff inset!important;color:#a291fb!important}.ui.inverted.violet.basic.button:active,.ui.inverted.violet.basic.buttons .button:active,.ui.inverted.violet.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #7860f9 inset!important;box-shadow:0 0 0 2px #7860f9 inset!important;color:#a291fb!important}.ui.purple.button,.ui.purple.buttons .button{background-color:#a333c8;color:#fff;text-shadow:none;background-image:none}.ui.purple.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.purple.button:hover,.ui.purple.buttons .button:hover{background-color:#9627ba;color:#fff;text-shadow:none}.ui.purple.button:focus,.ui.purple.buttons .button:focus{background-color:#8f1eb4;color:#fff;text-shadow:none}.ui.purple.button:active,.ui.purple.buttons .button:active{background-color:#82299f;color:#fff;text-shadow:none}.ui.purple.active.button,.ui.purple.button .active.button:active,.ui.purple.buttons .active.button,.ui.purple.buttons .active.button:active{background-color:#9724be;color:#fff;text-shadow:none}.ui.basic.purple.button,.ui.basic.purple.buttons .button{-webkit-box-shadow:0 0 0 1px #a333c8 inset!important;box-shadow:0 0 0 1px #a333c8 inset!important;color:#a333c8!important}.ui.basic.purple.button:hover,.ui.basic.purple.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #9627ba inset!important;box-shadow:0 0 0 1px #9627ba inset!important;color:#9627ba!important}.ui.basic.purple.button:focus,.ui.basic.purple.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #8f1eb4 inset!important;box-shadow:0 0 0 1px #8f1eb4 inset!important;color:#9627ba!important}.ui.basic.purple.active.button,.ui.basic.purple.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #9724be inset!important;box-shadow:0 0 0 1px #9724be inset!important;color:#82299f!important}.ui.basic.purple.button:active,.ui.basic.purple.buttons .button:active{-webkit-box-shadow:0 0 0 1px #82299f inset!important;box-shadow:0 0 0 1px #82299f inset!important;color:#82299f!important}.ui.buttons:not(.vertical)>.basic.purple.button:not(:first-child){margin-left:-1px}.ui.inverted.purple.button,.ui.inverted.purple.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #dc73ff inset!important;box-shadow:0 0 0 2px #dc73ff inset!important;color:#dc73ff}.ui.inverted.purple.button.active,.ui.inverted.purple.button:active,.ui.inverted.purple.button:focus,.ui.inverted.purple.button:hover,.ui.inverted.purple.buttons .button.active,.ui.inverted.purple.buttons .button:active,.ui.inverted.purple.buttons .button:focus,.ui.inverted.purple.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:#fff}.ui.inverted.purple.button:hover,.ui.inverted.purple.buttons .button:hover{background-color:#d65aff}.ui.inverted.purple.button:focus,.ui.inverted.purple.buttons .button:focus{background-color:#d24aff}.ui.inverted.purple.active.button,.ui.inverted.purple.buttons .active.button{background-color:#d65aff}.ui.inverted.purple.button:active,.ui.inverted.purple.buttons .button:active{background-color:#cf40ff}.ui.inverted.purple.basic.button,.ui.inverted.purple.basic.buttons .button,.ui.inverted.purple.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.purple.basic.button:hover,.ui.inverted.purple.basic.buttons .button:hover,.ui.inverted.purple.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #d65aff inset!important;box-shadow:0 0 0 2px #d65aff inset!important;color:#dc73ff!important}.ui.inverted.purple.basic.button:focus,.ui.inverted.purple.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #d24aff inset!important;box-shadow:0 0 0 2px #d24aff inset!important;color:#dc73ff!important}.ui.inverted.purple.basic.active.button,.ui.inverted.purple.basic.buttons .active.button,.ui.inverted.purple.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #d65aff inset!important;box-shadow:0 0 0 2px #d65aff inset!important;color:#dc73ff!important}.ui.inverted.purple.basic.button:active,.ui.inverted.purple.basic.buttons .button:active,.ui.inverted.purple.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #cf40ff inset!important;box-shadow:0 0 0 2px #cf40ff inset!important;color:#dc73ff!important}.ui.red.button,.ui.red.buttons .button{background-color:#db2828;color:#fff;text-shadow:none;background-image:none}.ui.red.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.red.button:hover,.ui.red.buttons .button:hover{background-color:#d01919;color:#fff;text-shadow:none}.ui.red.button:focus,.ui.red.buttons .button:focus{background-color:#ca1010;color:#fff;text-shadow:none}.ui.red.button:active,.ui.red.buttons .button:active{background-color:#b21e1e;color:#fff;text-shadow:none}.ui.red.active.button,.ui.red.button .active.button:active,.ui.red.buttons .active.button,.ui.red.buttons .active.button:active{background-color:#d41515;color:#fff;text-shadow:none}.ui.basic.red.button,.ui.basic.red.buttons .button{-webkit-box-shadow:0 0 0 1px #db2828 inset!important;box-shadow:0 0 0 1px #db2828 inset!important;color:#db2828!important}.ui.basic.red.button:hover,.ui.basic.red.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #d01919 inset!important;box-shadow:0 0 0 1px #d01919 inset!important;color:#d01919!important}.ui.basic.red.button:focus,.ui.basic.red.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #ca1010 inset!important;box-shadow:0 0 0 1px #ca1010 inset!important;color:#d01919!important}.ui.basic.red.active.button,.ui.basic.red.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #d41515 inset!important;box-shadow:0 0 0 1px #d41515 inset!important;color:#b21e1e!important}.ui.basic.red.button:active,.ui.basic.red.buttons .button:active{-webkit-box-shadow:0 0 0 1px #b21e1e inset!important;box-shadow:0 0 0 1px #b21e1e inset!important;color:#b21e1e!important}.ui.buttons:not(.vertical)>.basic.red.button:not(:first-child){margin-left:-1px}.ui.inverted.red.button,.ui.inverted.red.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #ff695e inset!important;box-shadow:0 0 0 2px #ff695e inset!important;color:#ff695e}.ui.inverted.red.button.active,.ui.inverted.red.button:active,.ui.inverted.red.button:focus,.ui.inverted.red.button:hover,.ui.inverted.red.buttons .button.active,.ui.inverted.red.buttons .button:active,.ui.inverted.red.buttons .button:focus,.ui.inverted.red.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:#fff}.ui.inverted.red.button:hover,.ui.inverted.red.buttons .button:hover{background-color:#ff5144}.ui.inverted.red.button:focus,.ui.inverted.red.buttons .button:focus{background-color:#ff4335}.ui.inverted.red.active.button,.ui.inverted.red.buttons .active.button{background-color:#ff5144}.ui.inverted.red.button:active,.ui.inverted.red.buttons .button:active{background-color:#ff392b}.ui.inverted.red.basic.button,.ui.inverted.red.basic.buttons .button,.ui.inverted.red.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.red.basic.button:hover,.ui.inverted.red.basic.buttons .button:hover,.ui.inverted.red.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #ff5144 inset!important;box-shadow:0 0 0 2px #ff5144 inset!important;color:#ff695e!important}.ui.inverted.red.basic.button:focus,.ui.inverted.red.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #ff4335 inset!important;box-shadow:0 0 0 2px #ff4335 inset!important;color:#ff695e!important}.ui.inverted.red.basic.active.button,.ui.inverted.red.basic.buttons .active.button,.ui.inverted.red.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #ff5144 inset!important;box-shadow:0 0 0 2px #ff5144 inset!important;color:#ff695e!important}.ui.inverted.red.basic.button:active,.ui.inverted.red.basic.buttons .button:active,.ui.inverted.red.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #ff392b inset!important;box-shadow:0 0 0 2px #ff392b inset!important;color:#ff695e!important}.ui.teal.button,.ui.teal.buttons .button{background-color:#00b5ad;color:#fff;text-shadow:none;background-image:none}.ui.teal.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.teal.button:hover,.ui.teal.buttons .button:hover{background-color:#009c95;color:#fff;text-shadow:none}.ui.teal.button:focus,.ui.teal.buttons .button:focus{background-color:#008c86;color:#fff;text-shadow:none}.ui.teal.button:active,.ui.teal.buttons .button:active{background-color:#00827c;color:#fff;text-shadow:none}.ui.teal.active.button,.ui.teal.button .active.button:active,.ui.teal.buttons .active.button,.ui.teal.buttons .active.button:active{background-color:#009c95;color:#fff;text-shadow:none}.ui.basic.teal.button,.ui.basic.teal.buttons .button{-webkit-box-shadow:0 0 0 1px #00b5ad inset!important;box-shadow:0 0 0 1px #00b5ad inset!important;color:#00b5ad!important}.ui.basic.teal.button:hover,.ui.basic.teal.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #009c95 inset!important;box-shadow:0 0 0 1px #009c95 inset!important;color:#009c95!important}.ui.basic.teal.button:focus,.ui.basic.teal.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #008c86 inset!important;box-shadow:0 0 0 1px #008c86 inset!important;color:#009c95!important}.ui.basic.teal.active.button,.ui.basic.teal.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #009c95 inset!important;box-shadow:0 0 0 1px #009c95 inset!important;color:#00827c!important}.ui.basic.teal.button:active,.ui.basic.teal.buttons .button:active{-webkit-box-shadow:0 0 0 1px #00827c inset!important;box-shadow:0 0 0 1px #00827c inset!important;color:#00827c!important}.ui.buttons:not(.vertical)>.basic.teal.button:not(:first-child){margin-left:-1px}.ui.inverted.teal.button,.ui.inverted.teal.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #6dffff inset!important;box-shadow:0 0 0 2px #6dffff inset!important;color:#6dffff}.ui.inverted.teal.button.active,.ui.inverted.teal.button:active,.ui.inverted.teal.button:focus,.ui.inverted.teal.button:hover,.ui.inverted.teal.buttons .button.active,.ui.inverted.teal.buttons .button:active,.ui.inverted.teal.buttons .button:focus,.ui.inverted.teal.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:rgba(0,0,0,.6)}.ui.inverted.teal.button:hover,.ui.inverted.teal.buttons .button:hover{background-color:#54ffff}.ui.inverted.teal.button:focus,.ui.inverted.teal.buttons .button:focus{background-color:#4ff}.ui.inverted.teal.active.button,.ui.inverted.teal.buttons .active.button{background-color:#54ffff}.ui.inverted.teal.button:active,.ui.inverted.teal.buttons .button:active{background-color:#3affff}.ui.inverted.teal.basic.button,.ui.inverted.teal.basic.buttons .button,.ui.inverted.teal.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.teal.basic.button:hover,.ui.inverted.teal.basic.buttons .button:hover,.ui.inverted.teal.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #54ffff inset!important;box-shadow:0 0 0 2px #54ffff inset!important;color:#6dffff!important}.ui.inverted.teal.basic.button:focus,.ui.inverted.teal.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #4ff inset!important;box-shadow:0 0 0 2px #4ff inset!important;color:#6dffff!important}.ui.inverted.teal.basic.active.button,.ui.inverted.teal.basic.buttons .active.button,.ui.inverted.teal.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #54ffff inset!important;box-shadow:0 0 0 2px #54ffff inset!important;color:#6dffff!important}.ui.inverted.teal.basic.button:active,.ui.inverted.teal.basic.buttons .button:active,.ui.inverted.teal.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #3affff inset!important;box-shadow:0 0 0 2px #3affff inset!important;color:#6dffff!important}.ui.olive.button,.ui.olive.buttons .button{background-color:#b5cc18;color:#fff;text-shadow:none;background-image:none}.ui.olive.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.olive.button:hover,.ui.olive.buttons .button:hover{background-color:#a7bd0d;color:#fff;text-shadow:none}.ui.olive.button:focus,.ui.olive.buttons .button:focus{background-color:#a0b605;color:#fff;text-shadow:none}.ui.olive.button:active,.ui.olive.buttons .button:active{background-color:#8d9e13;color:#fff;text-shadow:none}.ui.olive.active.button,.ui.olive.button .active.button:active,.ui.olive.buttons .active.button,.ui.olive.buttons .active.button:active{background-color:#aac109;color:#fff;text-shadow:none}.ui.basic.olive.button,.ui.basic.olive.buttons .button{-webkit-box-shadow:0 0 0 1px #b5cc18 inset!important;box-shadow:0 0 0 1px #b5cc18 inset!important;color:#b5cc18!important}.ui.basic.olive.button:hover,.ui.basic.olive.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #a7bd0d inset!important;box-shadow:0 0 0 1px #a7bd0d inset!important;color:#a7bd0d!important}.ui.basic.olive.button:focus,.ui.basic.olive.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #a0b605 inset!important;box-shadow:0 0 0 1px #a0b605 inset!important;color:#a7bd0d!important}.ui.basic.olive.active.button,.ui.basic.olive.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #aac109 inset!important;box-shadow:0 0 0 1px #aac109 inset!important;color:#8d9e13!important}.ui.basic.olive.button:active,.ui.basic.olive.buttons .button:active{-webkit-box-shadow:0 0 0 1px #8d9e13 inset!important;box-shadow:0 0 0 1px #8d9e13 inset!important;color:#8d9e13!important}.ui.buttons:not(.vertical)>.basic.olive.button:not(:first-child){margin-left:-1px}.ui.inverted.olive.button,.ui.inverted.olive.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #d9e778 inset!important;box-shadow:0 0 0 2px #d9e778 inset!important;color:#d9e778}.ui.inverted.olive.button.active,.ui.inverted.olive.button:active,.ui.inverted.olive.button:focus,.ui.inverted.olive.button:hover,.ui.inverted.olive.buttons .button.active,.ui.inverted.olive.buttons .button:active,.ui.inverted.olive.buttons .button:focus,.ui.inverted.olive.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:rgba(0,0,0,.6)}.ui.inverted.olive.button:hover,.ui.inverted.olive.buttons .button:hover{background-color:#d8ea5c}.ui.inverted.olive.button:focus,.ui.inverted.olive.buttons .button:focus{background-color:#daef47}.ui.inverted.olive.active.button,.ui.inverted.olive.buttons .active.button{background-color:#daed59}.ui.inverted.olive.button:active,.ui.inverted.olive.buttons .button:active{background-color:#cddf4d}.ui.inverted.olive.basic.button,.ui.inverted.olive.basic.buttons .button,.ui.inverted.olive.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.olive.basic.button:hover,.ui.inverted.olive.basic.buttons .button:hover,.ui.inverted.olive.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #d8ea5c inset!important;box-shadow:0 0 0 2px #d8ea5c inset!important;color:#d9e778!important}.ui.inverted.olive.basic.button:focus,.ui.inverted.olive.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #daef47 inset!important;box-shadow:0 0 0 2px #daef47 inset!important;color:#d9e778!important}.ui.inverted.olive.basic.active.button,.ui.inverted.olive.basic.buttons .active.button,.ui.inverted.olive.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #daed59 inset!important;box-shadow:0 0 0 2px #daed59 inset!important;color:#d9e778!important}.ui.inverted.olive.basic.button:active,.ui.inverted.olive.basic.buttons .button:active,.ui.inverted.olive.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #cddf4d inset!important;box-shadow:0 0 0 2px #cddf4d inset!important;color:#d9e778!important}.ui.yellow.button,.ui.yellow.buttons .button{background-color:#fbbd08;color:#fff;text-shadow:none;background-image:none}.ui.yellow.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.yellow.button:hover,.ui.yellow.buttons .button:hover{background-color:#eaae00;color:#fff;text-shadow:none}.ui.yellow.button:focus,.ui.yellow.buttons .button:focus{background-color:#daa300;color:#fff;text-shadow:none}.ui.yellow.button:active,.ui.yellow.buttons .button:active{background-color:#cd9903;color:#fff;text-shadow:none}.ui.yellow.active.button,.ui.yellow.button .active.button:active,.ui.yellow.buttons .active.button,.ui.yellow.buttons .active.button:active{background-color:#eaae00;color:#fff;text-shadow:none}.ui.basic.yellow.button,.ui.basic.yellow.buttons .button{-webkit-box-shadow:0 0 0 1px #fbbd08 inset!important;box-shadow:0 0 0 1px #fbbd08 inset!important;color:#fbbd08!important}.ui.basic.yellow.button:hover,.ui.basic.yellow.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #eaae00 inset!important;box-shadow:0 0 0 1px #eaae00 inset!important;color:#eaae00!important}.ui.basic.yellow.button:focus,.ui.basic.yellow.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #daa300 inset!important;box-shadow:0 0 0 1px #daa300 inset!important;color:#eaae00!important}.ui.basic.yellow.active.button,.ui.basic.yellow.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #eaae00 inset!important;box-shadow:0 0 0 1px #eaae00 inset!important;color:#cd9903!important}.ui.basic.yellow.button:active,.ui.basic.yellow.buttons .button:active{-webkit-box-shadow:0 0 0 1px #cd9903 inset!important;box-shadow:0 0 0 1px #cd9903 inset!important;color:#cd9903!important}.ui.buttons:not(.vertical)>.basic.yellow.button:not(:first-child){margin-left:-1px}.ui.inverted.yellow.button,.ui.inverted.yellow.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #ffe21f inset!important;box-shadow:0 0 0 2px #ffe21f inset!important;color:#ffe21f}.ui.inverted.yellow.button.active,.ui.inverted.yellow.button:active,.ui.inverted.yellow.button:focus,.ui.inverted.yellow.button:hover,.ui.inverted.yellow.buttons .button.active,.ui.inverted.yellow.buttons .button:active,.ui.inverted.yellow.buttons .button:focus,.ui.inverted.yellow.buttons .button:hover{-webkit-box-shadow:none!important;box-shadow:none!important;color:rgba(0,0,0,.6)}.ui.inverted.yellow.button:hover,.ui.inverted.yellow.buttons .button:hover{background-color:#ffdf05}.ui.inverted.yellow.button:focus,.ui.inverted.yellow.buttons .button:focus{background-color:#f5d500}.ui.inverted.yellow.active.button,.ui.inverted.yellow.buttons .active.button{background-color:#ffdf05}.ui.inverted.yellow.button:active,.ui.inverted.yellow.buttons .button:active{background-color:#ebcd00}.ui.inverted.yellow.basic.button,.ui.inverted.yellow.basic.buttons .button,.ui.inverted.yellow.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.yellow.basic.button:hover,.ui.inverted.yellow.basic.buttons .button:hover,.ui.inverted.yellow.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #ffdf05 inset!important;box-shadow:0 0 0 2px #ffdf05 inset!important;color:#ffe21f!important}.ui.inverted.yellow.basic.button:focus,.ui.inverted.yellow.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #f5d500 inset!important;box-shadow:0 0 0 2px #f5d500 inset!important;color:#ffe21f!important}.ui.inverted.yellow.basic.active.button,.ui.inverted.yellow.basic.buttons .active.button,.ui.inverted.yellow.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #ffdf05 inset!important;box-shadow:0 0 0 2px #ffdf05 inset!important;color:#ffe21f!important}.ui.inverted.yellow.basic.button:active,.ui.inverted.yellow.basic.buttons .button:active,.ui.inverted.yellow.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #ebcd00 inset!important;box-shadow:0 0 0 2px #ebcd00 inset!important;color:#ffe21f!important}.ui.primary.button,.ui.primary.buttons .button{background-color:#2185d0;color:#fff;text-shadow:none;background-image:none}.ui.primary.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.primary.button:hover,.ui.primary.buttons .button:hover{background-color:#1678c2;color:#fff;text-shadow:none}.ui.primary.button:focus,.ui.primary.buttons .button:focus{background-color:#0d71bb;color:#fff;text-shadow:none}.ui.primary.button:active,.ui.primary.buttons .button:active{background-color:#1a69a4;color:#fff;text-shadow:none}.ui.primary.active.button,.ui.primary.button .active.button:active,.ui.primary.buttons .active.button,.ui.primary.buttons .active.button:active{background-color:#1279c6;color:#fff;text-shadow:none}.ui.basic.primary.button,.ui.basic.primary.buttons .button{-webkit-box-shadow:0 0 0 1px #2185d0 inset!important;box-shadow:0 0 0 1px #2185d0 inset!important;color:#2185d0!important}.ui.basic.primary.button:hover,.ui.basic.primary.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #1678c2 inset!important;box-shadow:0 0 0 1px #1678c2 inset!important;color:#1678c2!important}.ui.basic.primary.button:focus,.ui.basic.primary.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #0d71bb inset!important;box-shadow:0 0 0 1px #0d71bb inset!important;color:#1678c2!important}.ui.basic.primary.active.button,.ui.basic.primary.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #1279c6 inset!important;box-shadow:0 0 0 1px #1279c6 inset!important;color:#1a69a4!important}.ui.basic.primary.button:active,.ui.basic.primary.buttons .button:active{-webkit-box-shadow:0 0 0 1px #1a69a4 inset!important;box-shadow:0 0 0 1px #1a69a4 inset!important;color:#1a69a4!important}.ui.buttons:not(.vertical)>.basic.primary.button:not(:first-child){margin-left:-1px}.ui.secondary.button,.ui.secondary.buttons .button{background-color:#1b1c1d;color:#fff;text-shadow:none;background-image:none}.ui.secondary.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.secondary.button:hover,.ui.secondary.buttons .button:hover{background-color:#27292a;color:#fff;text-shadow:none}.ui.secondary.button:focus,.ui.secondary.buttons .button:focus{background-color:#2e3032;color:#fff;text-shadow:none}.ui.secondary.button:active,.ui.secondary.buttons .button:active{background-color:#343637;color:#fff;text-shadow:none}.ui.secondary.active.button,.ui.secondary.button .active.button:active,.ui.secondary.buttons .active.button,.ui.secondary.buttons .active.button:active{background-color:#27292a;color:#fff;text-shadow:none}.ui.basic.secondary.button,.ui.basic.secondary.buttons .button{-webkit-box-shadow:0 0 0 1px #1b1c1d inset!important;box-shadow:0 0 0 1px #1b1c1d inset!important;color:#1b1c1d!important}.ui.basic.secondary.button:hover,.ui.basic.secondary.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #27292a inset!important;box-shadow:0 0 0 1px #27292a inset!important;color:#27292a!important}.ui.basic.secondary.button:focus,.ui.basic.secondary.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #2e3032 inset!important;box-shadow:0 0 0 1px #2e3032 inset!important;color:#27292a!important}.ui.basic.secondary.active.button,.ui.basic.secondary.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #27292a inset!important;box-shadow:0 0 0 1px #27292a inset!important;color:#343637!important}.ui.basic.secondary.button:active,.ui.basic.secondary.buttons .button:active{-webkit-box-shadow:0 0 0 1px #343637 inset!important;box-shadow:0 0 0 1px #343637 inset!important;color:#343637!important}.ui.buttons:not(.vertical)>.basic.primary.button:not(:first-child){margin-left:-1px}.ui.positive.button,.ui.positive.buttons .button{background-color:#21ba45;color:#fff;text-shadow:none;background-image:none}.ui.positive.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.positive.button:hover,.ui.positive.buttons .button:hover{background-color:#16ab39;color:#fff;text-shadow:none}.ui.positive.button:focus,.ui.positive.buttons .button:focus{background-color:#0ea432;color:#fff;text-shadow:none}.ui.positive.button:active,.ui.positive.buttons .button:active{background-color:#198f35;color:#fff;text-shadow:none}.ui.positive.active.button,.ui.positive.button .active.button:active,.ui.positive.buttons .active.button,.ui.positive.buttons .active.button:active{background-color:#13ae38;color:#fff;text-shadow:none}.ui.basic.positive.button,.ui.basic.positive.buttons .button{-webkit-box-shadow:0 0 0 1px #21ba45 inset!important;box-shadow:0 0 0 1px #21ba45 inset!important;color:#21ba45!important}.ui.basic.positive.button:hover,.ui.basic.positive.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #16ab39 inset!important;box-shadow:0 0 0 1px #16ab39 inset!important;color:#16ab39!important}.ui.basic.positive.button:focus,.ui.basic.positive.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #0ea432 inset!important;box-shadow:0 0 0 1px #0ea432 inset!important;color:#16ab39!important}.ui.basic.positive.active.button,.ui.basic.positive.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #13ae38 inset!important;box-shadow:0 0 0 1px #13ae38 inset!important;color:#198f35!important}.ui.basic.positive.button:active,.ui.basic.positive.buttons .button:active{-webkit-box-shadow:0 0 0 1px #198f35 inset!important;box-shadow:0 0 0 1px #198f35 inset!important;color:#198f35!important}.ui.buttons:not(.vertical)>.basic.primary.button:not(:first-child){margin-left:-1px}.ui.negative.button,.ui.negative.buttons .button{background-color:#db2828;color:#fff;text-shadow:none;background-image:none}.ui.negative.button{-webkit-box-shadow:0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.negative.button:hover,.ui.negative.buttons .button:hover{background-color:#d01919;color:#fff;text-shadow:none}.ui.negative.button:focus,.ui.negative.buttons .button:focus{background-color:#ca1010;color:#fff;text-shadow:none}.ui.negative.button:active,.ui.negative.buttons .button:active{background-color:#b21e1e;color:#fff;text-shadow:none}.ui.negative.active.button,.ui.negative.button .active.button:active,.ui.negative.buttons .active.button,.ui.negative.buttons .active.button:active{background-color:#d41515;color:#fff;text-shadow:none}.ui.basic.negative.button,.ui.basic.negative.buttons .button{-webkit-box-shadow:0 0 0 1px #db2828 inset!important;box-shadow:0 0 0 1px #db2828 inset!important;color:#db2828!important}.ui.basic.negative.button:hover,.ui.basic.negative.buttons .button:hover{background:0 0!important;-webkit-box-shadow:0 0 0 1px #d01919 inset!important;box-shadow:0 0 0 1px #d01919 inset!important;color:#d01919!important}.ui.basic.negative.button:focus,.ui.basic.negative.buttons .button:focus{background:0 0!important;-webkit-box-shadow:0 0 0 1px #ca1010 inset!important;box-shadow:0 0 0 1px #ca1010 inset!important;color:#d01919!important}.ui.basic.negative.active.button,.ui.basic.negative.buttons .active.button{background:0 0!important;-webkit-box-shadow:0 0 0 1px #d41515 inset!important;box-shadow:0 0 0 1px #d41515 inset!important;color:#b21e1e!important}.ui.basic.negative.button:active,.ui.basic.negative.buttons .button:active{-webkit-box-shadow:0 0 0 1px #b21e1e inset!important;box-shadow:0 0 0 1px #b21e1e inset!important;color:#b21e1e!important}.ui.buttons:not(.vertical)>.basic.primary.button:not(:first-child){margin-left:-1px}.ui.buttons{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;font-size:0;vertical-align:baseline;margin:0 .25em 0 0}.ui.buttons:not(.basic):not(.inverted){-webkit-box-shadow:none;box-shadow:none}.ui.buttons:after{content:".";display:block;height:0;clear:both;visibility:hidden}.ui.buttons .button{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;margin:0;border-radius:0;margin:0}.ui.buttons:not(.basic):not(.inverted)>.button,.ui.buttons>.ui.button:not(.basic):not(.inverted){-webkit-box-shadow:0 0 0 1px transparent inset,0 0 0 0 rgba(34,36,38,.15) inset;box-shadow:0 0 0 1px transparent inset,0 0 0 0 rgba(34,36,38,.15) inset}.ui.buttons .button:first-child{border-left:none;margin-left:0;border-top-left-radius:.28571429rem;border-bottom-left-radius:.28571429rem}.ui.buttons .button:last-child{border-top-right-radius:.28571429rem;border-bottom-right-radius:.28571429rem}.ui.vertical.buttons{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}.ui.vertical.buttons .button{display:block;float:none;width:100%;margin:0;-webkit-box-shadow:none;box-shadow:none;border-radius:0}.ui.vertical.buttons .button:first-child{border-top-left-radius:.28571429rem;border-top-right-radius:.28571429rem}.ui.vertical.buttons .button:last-child{margin-bottom:0;border-bottom-left-radius:.28571429rem;border-bottom-right-radius:.28571429rem}.ui.vertical.buttons .button:only-child{border-radius:.28571429rem} \ No newline at end of file diff --git a/themes/openpowerfoundation/static/lib/semantic-ui/components/card.css b/themes/openpowerfoundation/static/lib/semantic-ui/components/card.css new file mode 100755 index 0000000..58eae46 --- /dev/null +++ b/themes/openpowerfoundation/static/lib/semantic-ui/components/card.css @@ -0,0 +1,997 @@ +/*! + * # Semantic UI 2.3.0 - 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; + -webkit-box-shadow: 0px 1px 3px 0px #D4D4D5, 0px 0px 0px 1px #D4D4D5; + box-shadow: 0px 1px 3px 0px #D4D4D5, 0px 0px 0px 1px #D4D4D5; + -webkit-transition: -webkit-box-shadow 0.1s ease, -webkit-transform 0.1s ease; + transition: -webkit-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-box-shadow 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; + -webkit-box-shadow: none; + 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); + -webkit-box-shadow: none; + 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 { + -webkit-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); + 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 { + -webkit-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); + 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 { + -webkit-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); + 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; + -webkit-box-shadow: 0px 1px 3px 0px #BCBDBD, 0px 0px 0px 1px #D4D4D5; + 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 { + -webkit-box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #DB2828, 0px 1px 3px 0px #D4D4D5; + 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 { + -webkit-box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #d01919, 0px 1px 3px 0px #BCBDBD; + 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 { + -webkit-box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #F2711C, 0px 1px 3px 0px #D4D4D5; + 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 { + -webkit-box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #f26202, 0px 1px 3px 0px #BCBDBD; + 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 { + -webkit-box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #FBBD08, 0px 1px 3px 0px #D4D4D5; + 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 { + -webkit-box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #eaae00, 0px 1px 3px 0px #BCBDBD; + 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 { + -webkit-box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #B5CC18, 0px 1px 3px 0px #D4D4D5; + 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 { + -webkit-box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #a7bd0d, 0px 1px 3px 0px #BCBDBD; + 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 { + -webkit-box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #21BA45, 0px 1px 3px 0px #D4D4D5; + 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 { + -webkit-box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #16ab39, 0px 1px 3px 0px #BCBDBD; + 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 { + -webkit-box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #00B5AD, 0px 1px 3px 0px #D4D4D5; + 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 { + -webkit-box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #009c95, 0px 1px 3px 0px #BCBDBD; + 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 { + -webkit-box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #2185D0, 0px 1px 3px 0px #D4D4D5; + 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 { + -webkit-box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #1678c2, 0px 1px 3px 0px #BCBDBD; + 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 { + -webkit-box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #6435C9, 0px 1px 3px 0px #D4D4D5; + 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 { + -webkit-box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #5829bb, 0px 1px 3px 0px #BCBDBD; + 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 { + -webkit-box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #A333C8, 0px 1px 3px 0px #D4D4D5; + 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 { + -webkit-box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #9627ba, 0px 1px 3px 0px #BCBDBD; + 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 { + -webkit-box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #E03997, 0px 1px 3px 0px #D4D4D5; + 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 { + -webkit-box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #e61a8d, 0px 1px 3px 0px #BCBDBD; + 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 { + -webkit-box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #A5673F, 0px 1px 3px 0px #D4D4D5; + 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 { + -webkit-box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #975b33, 0px 1px 3px 0px #BCBDBD; + 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 { + -webkit-box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #767676, 0px 1px 3px 0px #D4D4D5; + 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 { + -webkit-box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #838383, 0px 1px 3px 0px #BCBDBD; + 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 { + -webkit-box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #1B1C1D, 0px 1px 3px 0px #D4D4D5; + 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 { + -webkit-box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #27292a, 0px 1px 3px 0px #BCBDBD; + 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 +*******************************/ + diff --git a/themes/openpowerfoundation/static/lib/semantic-ui/components/card.min.css b/themes/openpowerfoundation/static/lib/semantic-ui/components/card.min.css new file mode 100755 index 0000000..ad6d5b2 --- /dev/null +++ b/themes/openpowerfoundation/static/lib/semantic-ui/components/card.min.css @@ -0,0 +1,9 @@ +/*! + * # Semantic UI 2.3.0 - Item + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */.ui.card,.ui.cards>.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:0;background:#fff;padding:0;border:none;border-radius:.28571429rem;-webkit-box-shadow:0 1px 3px 0 #d4d4d5,0 0 0 1px #d4d4d5;box-shadow:0 1px 3px 0 #d4d4d5,0 0 0 1px #d4d4d5;-webkit-transition:-webkit-box-shadow .1s ease,-webkit-transform .1s ease;transition:-webkit-box-shadow .1s ease,-webkit-transform .1s ease;transition:box-shadow .1s ease,transform .1s ease;transition:box-shadow .1s ease,transform .1s ease,-webkit-box-shadow .1s ease,-webkit-transform .1s ease;z-index:''}.ui.card{margin:1em 0}.ui.card a,.ui.cards>.card a{cursor:pointer}.ui.card:first-child{margin-top:0}.ui.card:last-child{margin-bottom:0}.ui.cards{display:-webkit-box;display:-ms-flexbox;display:flex;margin:-.875em -.5em;-ms-flex-wrap:wrap;flex-wrap:wrap}.ui.cards>.card{display:-webkit-box;display:-ms-flexbox;display:flex;margin:.875em .5em;float:none}.ui.card:after,.ui.cards:after{display:block;content:' ';height:0;clear:both;overflow:hidden;visibility:hidden}.ui.cards~.ui.cards{margin-top:.875em}.ui.card>:first-child,.ui.cards>.card>:first-child{border-radius:.28571429rem .28571429rem 0 0!important;border-top:none!important}.ui.card>:last-child,.ui.cards>.card>:last-child{border-radius:0 0 .28571429rem .28571429rem!important}.ui.card>:only-child,.ui.cards>.card>:only-child{border-radius:.28571429rem!important}.ui.card>.image,.ui.cards>.card>.image{position:relative;display:block;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;padding:0;background:rgba(0,0,0,.05)}.ui.card>.image>img,.ui.cards>.card>.image>img{display:block;width:100%;height:auto;border-radius:inherit}.ui.card>.image:not(.ui)>img,.ui.cards>.card>.image:not(.ui)>img{border:none}.ui.card>.content,.ui.cards>.card>.content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;border:none;border-top:1px solid rgba(34,36,38,.1);background:0 0;margin:0;padding:1em 1em;-webkit-box-shadow:none;box-shadow:none;font-size:1em;border-radius:0}.ui.card>.content:after,.ui.cards>.card>.content:after{display:block;content:' ';height:0;clear:both;overflow:hidden;visibility:hidden}.ui.card>.content>.header,.ui.cards>.card>.content>.header{display:block;margin:'';font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;color:rgba(0,0,0,.85)}.ui.card>.content>.header:not(.ui),.ui.cards>.card>.content>.header:not(.ui){font-weight:700;font-size:1.28571429em;margin-top:-.21425em;line-height:1.28571429em}.ui.card>.content>.header+.description,.ui.card>.content>.meta+.description,.ui.cards>.card>.content>.header+.description,.ui.cards>.card>.content>.meta+.description{margin-top:.5em}.ui.card [class*="left floated"],.ui.cards>.card [class*="left floated"]{float:left}.ui.card [class*="right floated"],.ui.cards>.card [class*="right floated"]{float:right}.ui.card [class*="left aligned"],.ui.cards>.card [class*="left aligned"]{text-align:left}.ui.card [class*="center aligned"],.ui.cards>.card [class*="center aligned"]{text-align:center}.ui.card [class*="right aligned"],.ui.cards>.card [class*="right aligned"]{text-align:right}.ui.card .content img,.ui.cards>.card .content img{display:inline-block;vertical-align:middle;width:''}.ui.card .avatar img,.ui.card img.avatar,.ui.cards>.card .avatar img,.ui.cards>.card img.avatar{width:2em;height:2em;border-radius:500rem}.ui.card>.content>.description,.ui.cards>.card>.content>.description{clear:both;color:rgba(0,0,0,.68)}.ui.card>.content p,.ui.cards>.card>.content p{margin:0 0 .5em}.ui.card>.content p:last-child,.ui.cards>.card>.content p:last-child{margin-bottom:0}.ui.card .meta,.ui.cards>.card .meta{font-size:1em;color:rgba(0,0,0,.4)}.ui.card .meta *,.ui.cards>.card .meta *{margin-right:.3em}.ui.card .meta :last-child,.ui.cards>.card .meta :last-child{margin-right:0}.ui.card .meta [class*="right floated"],.ui.cards>.card .meta [class*="right floated"]{margin-right:0;margin-left:.3em}.ui.card>.content a:not(.ui),.ui.cards>.card>.content a:not(.ui){color:'';-webkit-transition:color .1s ease;transition:color .1s ease}.ui.card>.content a:not(.ui):hover,.ui.cards>.card>.content a:not(.ui):hover{color:''}.ui.card>.content>a.header,.ui.cards>.card>.content>a.header{color:rgba(0,0,0,.85)}.ui.card>.content>a.header:hover,.ui.cards>.card>.content>a.header:hover{color:#1e70bf}.ui.card .meta>a:not(.ui),.ui.cards>.card .meta>a:not(.ui){color:rgba(0,0,0,.4)}.ui.card .meta>a:not(.ui):hover,.ui.cards>.card .meta>a:not(.ui):hover{color:rgba(0,0,0,.87)}.ui.card>.button,.ui.card>.buttons,.ui.cards>.card>.button,.ui.cards>.card>.buttons{margin:0 -1px;width:calc(100% + 2px)}.ui.card .dimmer,.ui.cards>.card .dimmer{background-color:'';z-index:10}.ui.card>.content .star.icon,.ui.cards>.card>.content .star.icon{cursor:pointer;opacity:.75;-webkit-transition:color .1s ease;transition:color .1s ease}.ui.card>.content .star.icon:hover,.ui.cards>.card>.content .star.icon:hover{opacity:1;color:#ffb70a}.ui.card>.content .active.star.icon,.ui.cards>.card>.content .active.star.icon{color:#ffe623}.ui.card>.content .like.icon,.ui.cards>.card>.content .like.icon{cursor:pointer;opacity:.75;-webkit-transition:color .1s ease;transition:color .1s ease}.ui.card>.content .like.icon:hover,.ui.cards>.card>.content .like.icon:hover{opacity:1;color:#ff2733}.ui.card>.content .active.like.icon,.ui.cards>.card>.content .active.like.icon{color:#ff2733}.ui.card>.extra,.ui.cards>.card>.extra{max-width:100%;min-height:0!important;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;border-top:1px solid rgba(0,0,0,.05)!important;position:static;background:0 0;width:auto;margin:0 0;padding:.75em 1em;top:0;left:0;color:rgba(0,0,0,.4);-webkit-box-shadow:none;box-shadow:none;-webkit-transition:color .1s ease;transition:color .1s ease}.ui.card>.extra a:not(.ui),.ui.cards>.card>.extra a:not(.ui){color:rgba(0,0,0,.4)}.ui.card>.extra a:not(.ui):hover,.ui.cards>.card>.extra a:not(.ui):hover{color:#1e70bf}.ui.raised.card,.ui.raised.cards>.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15);box-shadow:0 0 0 1px #d4d4d5,0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15)}.ui.link.cards .raised.card:hover,.ui.link.raised.card:hover,.ui.raised.cards a.card:hover,a.ui.raised.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 4px 0 rgba(34,36,38,.15),0 2px 10px 0 rgba(34,36,38,.25);box-shadow:0 0 0 1px #d4d4d5,0 2px 4px 0 rgba(34,36,38,.15),0 2px 10px 0 rgba(34,36,38,.25)}.ui.raised.card,.ui.raised.cards>.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15);box-shadow:0 0 0 1px #d4d4d5,0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15)}.ui.centered.cards{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.ui.centered.card{margin-left:auto;margin-right:auto}.ui.fluid.card{width:100%;max-width:9999px}.ui.cards a.card,.ui.link.card,.ui.link.cards .card,a.ui.card{-webkit-transform:none;transform:none}.ui.cards a.card:hover,.ui.link.card:hover,.ui.link.cards .card:hover,a.ui.card:hover{cursor:pointer;z-index:5;background:#fff;border:none;-webkit-box-shadow:0 1px 3px 0 #bcbdbd,0 0 0 1px #d4d4d5;box-shadow:0 1px 3px 0 #bcbdbd,0 0 0 1px #d4d4d5;-webkit-transform:translateY(-3px);transform:translateY(-3px)}.ui.cards>.red.card,.ui.red.card,.ui.red.cards>.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #db2828,0 1px 3px 0 #d4d4d5;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #db2828,0 1px 3px 0 #d4d4d5}.ui.cards>.red.card:hover,.ui.red.card:hover,.ui.red.cards>.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #d01919,0 1px 3px 0 #bcbdbd;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #d01919,0 1px 3px 0 #bcbdbd}.ui.cards>.orange.card,.ui.orange.card,.ui.orange.cards>.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #f2711c,0 1px 3px 0 #d4d4d5;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #f2711c,0 1px 3px 0 #d4d4d5}.ui.cards>.orange.card:hover,.ui.orange.card:hover,.ui.orange.cards>.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #f26202,0 1px 3px 0 #bcbdbd;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #f26202,0 1px 3px 0 #bcbdbd}.ui.cards>.yellow.card,.ui.yellow.card,.ui.yellow.cards>.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #fbbd08,0 1px 3px 0 #d4d4d5;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #fbbd08,0 1px 3px 0 #d4d4d5}.ui.cards>.yellow.card:hover,.ui.yellow.card:hover,.ui.yellow.cards>.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #eaae00,0 1px 3px 0 #bcbdbd;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #eaae00,0 1px 3px 0 #bcbdbd}.ui.cards>.olive.card,.ui.olive.card,.ui.olive.cards>.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #b5cc18,0 1px 3px 0 #d4d4d5;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #b5cc18,0 1px 3px 0 #d4d4d5}.ui.cards>.olive.card:hover,.ui.olive.card:hover,.ui.olive.cards>.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #a7bd0d,0 1px 3px 0 #bcbdbd;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #a7bd0d,0 1px 3px 0 #bcbdbd}.ui.cards>.green.card,.ui.green.card,.ui.green.cards>.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #21ba45,0 1px 3px 0 #d4d4d5;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #21ba45,0 1px 3px 0 #d4d4d5}.ui.cards>.green.card:hover,.ui.green.card:hover,.ui.green.cards>.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #16ab39,0 1px 3px 0 #bcbdbd;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #16ab39,0 1px 3px 0 #bcbdbd}.ui.cards>.teal.card,.ui.teal.card,.ui.teal.cards>.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #00b5ad,0 1px 3px 0 #d4d4d5;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #00b5ad,0 1px 3px 0 #d4d4d5}.ui.cards>.teal.card:hover,.ui.teal.card:hover,.ui.teal.cards>.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #009c95,0 1px 3px 0 #bcbdbd;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #009c95,0 1px 3px 0 #bcbdbd}.ui.blue.card,.ui.blue.cards>.card,.ui.cards>.blue.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #2185d0,0 1px 3px 0 #d4d4d5;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #2185d0,0 1px 3px 0 #d4d4d5}.ui.blue.card:hover,.ui.blue.cards>.card:hover,.ui.cards>.blue.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #1678c2,0 1px 3px 0 #bcbdbd;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #1678c2,0 1px 3px 0 #bcbdbd}.ui.cards>.violet.card,.ui.violet.card,.ui.violet.cards>.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #6435c9,0 1px 3px 0 #d4d4d5;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #6435c9,0 1px 3px 0 #d4d4d5}.ui.cards>.violet.card:hover,.ui.violet.card:hover,.ui.violet.cards>.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #5829bb,0 1px 3px 0 #bcbdbd;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #5829bb,0 1px 3px 0 #bcbdbd}.ui.cards>.purple.card,.ui.purple.card,.ui.purple.cards>.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #a333c8,0 1px 3px 0 #d4d4d5;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #a333c8,0 1px 3px 0 #d4d4d5}.ui.cards>.purple.card:hover,.ui.purple.card:hover,.ui.purple.cards>.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #9627ba,0 1px 3px 0 #bcbdbd;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #9627ba,0 1px 3px 0 #bcbdbd}.ui.cards>.pink.card,.ui.pink.card,.ui.pink.cards>.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #e03997,0 1px 3px 0 #d4d4d5;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #e03997,0 1px 3px 0 #d4d4d5}.ui.cards>.pink.card:hover,.ui.pink.card:hover,.ui.pink.cards>.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #e61a8d,0 1px 3px 0 #bcbdbd;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #e61a8d,0 1px 3px 0 #bcbdbd}.ui.brown.card,.ui.brown.cards>.card,.ui.cards>.brown.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #a5673f,0 1px 3px 0 #d4d4d5;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #a5673f,0 1px 3px 0 #d4d4d5}.ui.brown.card:hover,.ui.brown.cards>.card:hover,.ui.cards>.brown.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #975b33,0 1px 3px 0 #bcbdbd;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #975b33,0 1px 3px 0 #bcbdbd}.ui.cards>.grey.card,.ui.grey.card,.ui.grey.cards>.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #767676,0 1px 3px 0 #d4d4d5;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #767676,0 1px 3px 0 #d4d4d5}.ui.cards>.grey.card:hover,.ui.grey.card:hover,.ui.grey.cards>.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #838383,0 1px 3px 0 #bcbdbd;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #838383,0 1px 3px 0 #bcbdbd}.ui.black.card,.ui.black.cards>.card,.ui.cards>.black.card{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #1b1c1d,0 1px 3px 0 #d4d4d5;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #1b1c1d,0 1px 3px 0 #d4d4d5}.ui.black.card:hover,.ui.black.cards>.card:hover,.ui.cards>.black.card:hover{-webkit-box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #27292a,0 1px 3px 0 #bcbdbd;box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #27292a,0 1px 3px 0 #bcbdbd}.ui.one.cards{margin-left:0;margin-right:0}.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:-.75em;margin-right:-.75em}.ui.four.cards>.card{width:calc(25% - 1.5em);margin-left:.75em;margin-right:.75em}.ui.five.cards{margin-left:-.75em;margin-right:-.75em}.ui.five.cards>.card{width:calc(20% - 1.5em);margin-left:.75em;margin-right:.75em}.ui.six.cards{margin-left:-.75em;margin-right:-.75em}.ui.six.cards>.card{width:calc(16.66666667% - 1.5em);margin-left:.75em;margin-right:.75em}.ui.seven.cards{margin-left:-.5em;margin-right:-.5em}.ui.seven.cards>.card{width:calc(14.28571429% - 1em);margin-left:.5em;margin-right:.5em}.ui.eight.cards{margin-left:-.5em;margin-right:-.5em}.ui.eight.cards>.card{width:calc(12.5% - 1em);margin-left:.5em;margin-right:.5em;font-size:11px}.ui.nine.cards{margin-left:-.5em;margin-right:-.5em}.ui.nine.cards>.card{width:calc(11.11111111% - 1em);margin-left:.5em;margin-right:.5em;font-size:10px}.ui.ten.cards{margin-left:-.5em;margin-right:-.5em}.ui.ten.cards>.card{width:calc(10% - 1em);margin-left:.5em;margin-right:.5em}@media only screen and (max-width:767px){.ui.two.doubling.cards{margin-left:0;margin-right:0}.ui.two.doubling.cards>.card{width:100%;margin-left:0;margin-right:0}.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}}@media only screen and (min-width:768px) and (max-width:991px){.ui.two.doubling.cards{margin-left:0;margin-right:0}.ui.two.doubling.cards>.card{width:100%;margin-left:0;margin-right:0}.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:-.75em;margin-right:-.75em}.ui.eight.doubling.cards>.card{width:calc(25% - 1.5em);margin-left:.75em;margin-right:.75em}.ui.nine.doubling.cards{margin-left:-.75em;margin-right:-.75em}.ui.nine.doubling.cards>.card{width:calc(25% - 1.5em);margin-left:.75em;margin-right:.75em}.ui.ten.doubling.cards{margin-left:-.75em;margin-right:-.75em}.ui.ten.doubling.cards>.card{width:calc(20% - 1.5em);margin-left:.75em;margin-right:.75em}}@media only screen and (max-width:767px){.ui.stackable.cards{display:block!important}.ui.stackable.cards .card:first-child{margin-top:0!important}.ui.stackable.cards>.card{display:block!important;height:auto!important;margin:1em 1em;padding:0!important;width:calc(100% - 2em)!important}}.ui.cards>.card{font-size:1em} \ No newline at end of file diff --git a/themes/openpowerfoundation/static/lib/semantic-ui/components/checkbox.css b/themes/openpowerfoundation/static/lib/semantic-ui/components/checkbox.css new file mode 100755 index 0000000..ffea3ef --- /dev/null +++ b/themes/openpowerfoundation/static/lib/semantic-ui/components/checkbox.css @@ -0,0 +1,632 @@ +/*! + * # Semantic UI 2.3.0 - Checkbox + * http://github.com/semantic-org/semantic-ui/ + * + * + * Released under the MIT license + * http://opensource.org/licenses/MIT + * + */ + + +/******************************* + Checkbox +*******************************/ + + +/*-------------- + Content +---------------*/ + +.ui.checkbox { + position: relative; + display: inline-block; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + outline: none; + vertical-align: baseline; + font-style: normal; + min-height: 17px; + font-size: 1rem; + line-height: 17px; + min-width: 17px; +} + +/* HTML Checkbox */ +.ui.checkbox input[type="checkbox"], +.ui.checkbox input[type="radio"] { + cursor: pointer; + position: absolute; + top: 0px; + left: 0px; + opacity: 0 !important; + outline: none; + z-index: 3; + width: 17px; + height: 17px; +} + +/*-------------- + Box +---------------*/ + +.ui.checkbox .box, +.ui.checkbox label { + cursor: auto; + position: relative; + display: block; + padding-left: 1.85714em; + outline: none; + font-size: 1em; +} +.ui.checkbox .box:before, +.ui.checkbox label:before { + position: absolute; + top: 0px; + left: 0px; + width: 17px; + height: 17px; + content: ''; + background: #FFFFFF; + border-radius: 0.21428571rem; + -webkit-transition: border 0.1s ease, opacity 0.1s ease, -webkit-transform 0.1s ease, -webkit-box-shadow 0.1s ease; + transition: border 0.1s ease, opacity 0.1s ease, -webkit-transform 0.1s ease, -webkit-box-shadow 0.1s ease; + transition: border 0.1s ease, opacity 0.1s ease, transform 0.1s ease, box-shadow 0.1s ease; + transition: border 0.1s ease, opacity 0.1s ease, transform 0.1s ease, box-shadow 0.1s ease, -webkit-transform 0.1s ease, -webkit-box-shadow 0.1s ease; + border: 1px solid #D4D4D5; +} + +/*-------------- + Checkmark +---------------*/ + +.ui.checkbox .box:after, +.ui.checkbox label:after { + position: absolute; + font-size: 14px; + top: 0px; + left: 0px; + width: 17px; + height: 17px; + text-align: center; + opacity: 0; + color: rgba(0, 0, 0, 0.87); + -webkit-transition: border 0.1s ease, opacity 0.1s ease, -webkit-transform 0.1s ease, -webkit-box-shadow 0.1s ease; + transition: border 0.1s ease, opacity 0.1s ease, -webkit-transform 0.1s ease, -webkit-box-shadow 0.1s ease; + transition: border 0.1s ease, opacity 0.1s ease, transform 0.1s ease, box-shadow 0.1s ease; + transition: border 0.1s ease, opacity 0.1s ease, transform 0.1s ease, box-shadow 0.1s ease, -webkit-transform 0.1s ease, -webkit-box-shadow 0.1s ease; +} + +/*-------------- + Label +---------------*/ + + +/* Inside */ +.ui.checkbox label, +.ui.checkbox + label { + color: rgba(0, 0, 0, 0.87); + -webkit-transition: color 0.1s ease; + transition: color 0.1s ease; +} + +/* Outside */ +.ui.checkbox + label { + vertical-align: middle; +} + + +/******************************* + States +*******************************/ + + +/*-------------- + Hover +---------------*/ + +.ui.checkbox .box:hover::before, +.ui.checkbox label:hover::before { + background: #FFFFFF; + border-color: rgba(34, 36, 38, 0.35); +} +.ui.checkbox label:hover, +.ui.checkbox + label:hover { + color: rgba(0, 0, 0, 0.8); +} + +/*-------------- + Down +---------------*/ + +.ui.checkbox .box:active::before, +.ui.checkbox label:active::before { + background: #F9FAFB; + border-color: rgba(34, 36, 38, 0.35); +} +.ui.checkbox .box:active::after, +.ui.checkbox label:active::after { + color: rgba(0, 0, 0, 0.95); +} +.ui.checkbox input:active ~ label { + color: rgba(0, 0, 0, 0.95); +} + +/*-------------- + Focus +---------------*/ + +.ui.checkbox input:focus ~ .box:before, +.ui.checkbox input:focus ~ label:before { + background: #FFFFFF; + border-color: #96C8DA; +} +.ui.checkbox input:focus ~ .box:after, +.ui.checkbox input:focus ~ label:after { + color: rgba(0, 0, 0, 0.95); +} +.ui.checkbox input:focus ~ label { + color: rgba(0, 0, 0, 0.95); +} + +/*-------------- + Active +---------------*/ + +.ui.checkbox input:checked ~ .box:before, +.ui.checkbox input:checked ~ label:before { + background: #FFFFFF; + border-color: rgba(34, 36, 38, 0.35); +} +.ui.checkbox input:checked ~ .box:after, +.ui.checkbox input:checked ~ label:after { + opacity: 1; + color: rgba(0, 0, 0, 0.95); +} + +/*-------------- + Indeterminate +---------------*/ + +.ui.checkbox input:not([type=radio]):indeterminate ~ .box:before, +.ui.checkbox input:not([type=radio]):indeterminate ~ label:before { + background: #FFFFFF; + border-color: rgba(34, 36, 38, 0.35); +} +.ui.checkbox input:not([type=radio]):indeterminate ~ .box:after, +.ui.checkbox input:not([type=radio]):indeterminate ~ label:after { + opacity: 1; + color: rgba(0, 0, 0, 0.95); +} + +/*-------------- + Active Focus +---------------*/ + +.ui.checkbox input:not([type=radio]):indeterminate:focus ~ .box:before, +.ui.checkbox input:not([type=radio]):indeterminate:focus ~ label:before, +.ui.checkbox input:checked:focus ~ .box:before, +.ui.checkbox input:checked:focus ~ label:before { + background: #FFFFFF; + border-color: #96C8DA; +} +.ui.checkbox input:not([type=radio]):indeterminate:focus ~ .box:after, +.ui.checkbox input:not([type=radio]):indeterminate:focus ~ label:after, +.ui.checkbox input:checked:focus ~ .box:after, +.ui.checkbox input:checked:focus ~ label:after { + color: rgba(0, 0, 0, 0.95); +} + +/*-------------- + Read-Only +---------------*/ + +.ui.read-only.checkbox, +.ui.read-only.checkbox label { + cursor: default; +} + +/*-------------- + Disabled +---------------*/ + +.ui.disabled.checkbox .box:after, +.ui.disabled.checkbox label, +.ui.checkbox input[disabled] ~ .box:after, +.ui.checkbox input[disabled] ~ label { + cursor: default !important; + opacity: 0.5; + color: #000000; +} + +/*-------------- + Hidden +---------------*/ + + +/* Initialized checkbox moves input below element + to prevent manually triggering */ +.ui.checkbox input.hidden { + z-index: -1; +} + +/* Selectable Label */ +.ui.checkbox input.hidden + label { + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + + +/******************************* + Types +*******************************/ + + +/*-------------- + Radio +---------------*/ + +.ui.radio.checkbox { + min-height: 15px; +} +.ui.radio.checkbox .box, +.ui.radio.checkbox label { + padding-left: 1.85714em; +} + +/* Box */ +.ui.radio.checkbox .box:before, +.ui.radio.checkbox label:before { + content: ''; + -webkit-transform: none; + transform: none; + width: 15px; + height: 15px; + border-radius: 500rem; + top: 1px; + left: 0px; +} + +/* Bullet */ +.ui.radio.checkbox .box:after, +.ui.radio.checkbox label:after { + border: none; + content: '' !important; + width: 15px; + height: 15px; + line-height: 15px; +} + +/* Radio Checkbox */ +.ui.radio.checkbox .box:after, +.ui.radio.checkbox label:after { + top: 1px; + left: 0px; + width: 15px; + height: 15px; + border-radius: 500rem; + -webkit-transform: scale(0.46666667); + transform: scale(0.46666667); + background-color: rgba(0, 0, 0, 0.87); +} + +/* Focus */ +.ui.radio.checkbox input:focus ~ .box:before, +.ui.radio.checkbox input:focus ~ label:before { + background-color: #FFFFFF; +} +.ui.radio.checkbox input:focus ~ .box:after, +.ui.radio.checkbox input:focus ~ label:after { + background-color: rgba(0, 0, 0, 0.95); +} + +/* Indeterminate */ +.ui.radio.checkbox input:indeterminate ~ .box:after, +.ui.radio.checkbox input:indeterminate ~ label:after { + opacity: 0; +} + +/* Active */ +.ui.radio.checkbox input:checked ~ .box:before, +.ui.radio.checkbox input:checked ~ label:before { + background-color: #FFFFFF; +} +.ui.radio.checkbox input:checked ~ .box:after, +.ui.radio.checkbox input:checked ~ label:after { + background-color: rgba(0, 0, 0, 0.95); +} + +/* Active Focus */ +.ui.radio.checkbox input:focus:checked ~ .box:before, +.ui.radio.checkbox input:focus:checked ~ label:before { + background-color: #FFFFFF; +} +.ui.radio.checkbox input:focus:checked ~ .box:after, +.ui.radio.checkbox input:focus:checked ~ label:after { + background-color: rgba(0, 0, 0, 0.95); +} + +/*-------------- + Slider +---------------*/ + +.ui.slider.checkbox { + min-height: 1.25rem; +} + +/* Input */ +.ui.slider.checkbox input { + width: 3.5rem; + height: 1.25rem; +} + +/* Label */ +.ui.slider.checkbox .box, +.ui.slider.checkbox label { + padding-left: 4.5rem; + line-height: 1rem; + color: rgba(0, 0, 0, 0.4); +} + +/* Line */ +.ui.slider.checkbox .box:before, +.ui.slider.checkbox label:before { + display: block; + position: absolute; + content: ''; + border: none !important; + left: 0em; + z-index: 1; + top: 0.4rem; + background-color: rgba(0, 0, 0, 0.05); + width: 3.5rem; + height: 0.21428571rem; + -webkit-transform: none; + transform: none; + border-radius: 500rem; + -webkit-transition: background 0.3s ease; + transition: background 0.3s ease; +} + +/* Handle */ +.ui.slider.checkbox .box:after, +.ui.slider.checkbox label:after { + background: #FFFFFF -webkit-gradient(linear, left top, left bottom, from(transparent), to(rgba(0, 0, 0, 0.05))); + background: #FFFFFF -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05)); + background: #FFFFFF linear-gradient(transparent, rgba(0, 0, 0, 0.05)); + position: absolute; + content: '' !important; + opacity: 1; + z-index: 2; + border: none; + -webkit-box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset; + width: 1.5rem; + height: 1.5rem; + top: -0.25rem; + left: 0em; + -webkit-transform: none; + transform: none; + border-radius: 500rem; + -webkit-transition: left 0.3s ease; + transition: left 0.3s ease; +} + +/* Focus */ +.ui.slider.checkbox input:focus ~ .box:before, +.ui.slider.checkbox input:focus ~ label:before { + background-color: rgba(0, 0, 0, 0.15); + border: none; +} + +/* Hover */ +.ui.slider.checkbox .box:hover, +.ui.slider.checkbox label:hover { + color: rgba(0, 0, 0, 0.8); +} +.ui.slider.checkbox .box:hover::before, +.ui.slider.checkbox label:hover::before { + background: rgba(0, 0, 0, 0.15); +} + +/* Active */ +.ui.slider.checkbox input:checked ~ .box, +.ui.slider.checkbox input:checked ~ label { + color: rgba(0, 0, 0, 0.95) !important; +} +.ui.slider.checkbox input:checked ~ .box:before, +.ui.slider.checkbox input:checked ~ label:before { + background-color: #545454 !important; +} +.ui.slider.checkbox input:checked ~ .box:after, +.ui.slider.checkbox input:checked ~ label:after { + left: 2rem; +} + +/* Active Focus */ +.ui.slider.checkbox input:focus:checked ~ .box, +.ui.slider.checkbox input:focus:checked ~ label { + color: rgba(0, 0, 0, 0.95) !important; +} +.ui.slider.checkbox input:focus:checked ~ .box:before, +.ui.slider.checkbox input:focus:checked ~ label:before { + background-color: #000000 !important; +} + +/*-------------- + Toggle +---------------*/ + +.ui.toggle.checkbox { + min-height: 1.5rem; +} + +/* Input */ +.ui.toggle.checkbox input { + width: 3.5rem; + height: 1.5rem; +} + +/* Label */ +.ui.toggle.checkbox .box, +.ui.toggle.checkbox label { + min-height: 1.5rem; + padding-left: 4.5rem; + color: rgba(0, 0, 0, 0.87); +} +.ui.toggle.checkbox label { + padding-top: 0.15em; +} + +/* Switch */ +.ui.toggle.checkbox .box:before, +.ui.toggle.checkbox label:before { + display: block; + position: absolute; + content: ''; + z-index: 1; + -webkit-transform: none; + transform: none; + border: none; + top: 0rem; + background: rgba(0, 0, 0, 0.05); + -webkit-box-shadow: none; + box-shadow: none; + width: 3.5rem; + height: 1.5rem; + border-radius: 500rem; +} + +/* Handle */ +.ui.toggle.checkbox .box:after, +.ui.toggle.checkbox label:after { + background: #FFFFFF -webkit-gradient(linear, left top, left bottom, from(transparent), to(rgba(0, 0, 0, 0.05))); + background: #FFFFFF -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05)); + background: #FFFFFF linear-gradient(transparent, rgba(0, 0, 0, 0.05)); + position: absolute; + content: '' !important; + opacity: 1; + z-index: 2; + border: none; + -webkit-box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset; + width: 1.5rem; + height: 1.5rem; + top: 0rem; + left: 0em; + border-radius: 500rem; + -webkit-transition: background 0.3s ease, left 0.3s ease; + transition: background 0.3s ease, left 0.3s ease; +} +.ui.toggle.checkbox input ~ .box:after, +.ui.toggle.checkbox input ~ label:after { + left: -0.05rem; + -webkit-box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset; +} + +/* Focus */ +.ui.toggle.checkbox input:focus ~ .box:before, +.ui.toggle.checkbox input:focus ~ label:before { + background-color: rgba(0, 0, 0, 0.15); + border: none; +} + +/* Hover */ +.ui.toggle.checkbox .box:hover::before, +.ui.toggle.checkbox label:hover::before { + background-color: rgba(0, 0, 0, 0.15); + border: none; +} + +/* Active */ +.ui.toggle.checkbox input:checked ~ .box, +.ui.toggle.checkbox input:checked ~ label { + color: rgba(0, 0, 0, 0.95) !important; +} +.ui.toggle.checkbox input:checked ~ .box:before, +.ui.toggle.checkbox input:checked ~ label:before { + background-color: #2185D0 !important; +} +.ui.toggle.checkbox input:checked ~ .box:after, +.ui.toggle.checkbox input:checked ~ label:after { + left: 2.15rem; + -webkit-box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset; +} + +/* Active Focus */ +.ui.toggle.checkbox input:focus:checked ~ .box, +.ui.toggle.checkbox input:focus:checked ~ label { + color: rgba(0, 0, 0, 0.95) !important; +} +.ui.toggle.checkbox input:focus:checked ~ .box:before, +.ui.toggle.checkbox input:focus:checked ~ label:before { + background-color: #0d71bb !important; +} + + +/******************************* + Variations +*******************************/ + + +/*-------------- + Fitted +---------------*/ + +.ui.fitted.checkbox .box, +.ui.fitted.checkbox label { + padding-left: 0em !important; +} +.ui.fitted.toggle.checkbox, +.ui.fitted.toggle.checkbox { + width: 3.5rem; +} +.ui.fitted.slider.checkbox, +.ui.fitted.slider.checkbox { + width: 3.5rem; +} + + +/******************************* + Theme Overrides +*******************************/ + +@font-face { + font-family: 'Checkbox'; + src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBD8AAAC8AAAAYGNtYXAYVtCJAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5Zn4huwUAAAF4AAABYGhlYWQGPe1ZAAAC2AAAADZoaGVhB30DyAAAAxAAAAAkaG10eBBKAEUAAAM0AAAAHGxvY2EAmgESAAADUAAAABBtYXhwAAkALwAAA2AAAAAgbmFtZSC8IugAAAOAAAABknBvc3QAAwAAAAAFFAAAACAAAwMTAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADoAgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6AL//f//AAAAAAAg6AD//f//AAH/4xgEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAEUAUQO7AvgAGgAAARQHAQYjIicBJjU0PwE2MzIfAQE2MzIfARYVA7sQ/hQQFhcQ/uMQEE4QFxcQqAF2EBcXEE4QAnMWEP4UEBABHRAXFhBOEBCoAXcQEE4QFwAAAAABAAABbgMlAkkAFAAAARUUBwYjISInJj0BNDc2MyEyFxYVAyUQEBf9SRcQEBAQFwK3FxAQAhJtFxAQEBAXbRcQEBAQFwAAAAABAAAASQMlA24ALAAAARUUBwYrARUUBwYrASInJj0BIyInJj0BNDc2OwE1NDc2OwEyFxYdATMyFxYVAyUQEBfuEBAXbhYQEO4XEBAQEBfuEBAWbhcQEO4XEBACEm0XEBDuFxAQEBAX7hAQF20XEBDuFxAQEBAX7hAQFwAAAQAAAAIAAHRSzT9fDzz1AAsEAAAAAADRsdR3AAAAANGx1HcAAAAAA7sDbgAAAAgAAgAAAAAAAAABAAADwP/AAAAEAAAAAAADuwABAAAAAAAAAAAAAAAAAAAABwQAAAAAAAAAAAAAAAIAAAAEAABFAyUAAAMlAAAAAAAAAAoAFAAeAE4AcgCwAAEAAAAHAC0AAQAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOAK4AAQAAAAAAAQAIAAAAAQAAAAAAAgAHAGkAAQAAAAAAAwAIADkAAQAAAAAABAAIAH4AAQAAAAAABQALABgAAQAAAAAABgAIAFEAAQAAAAAACgAaAJYAAwABBAkAAQAQAAgAAwABBAkAAgAOAHAAAwABBAkAAwAQAEEAAwABBAkABAAQAIYAAwABBAkABQAWACMAAwABBAkABgAQAFkAAwABBAkACgA0ALBDaGVja2JveABDAGgAZQBjAGsAYgBvAHhWZXJzaW9uIDIuMABWAGUAcgBzAGkAbwBuACAAMgAuADBDaGVja2JveABDAGgAZQBjAGsAYgBvAHhDaGVja2JveABDAGgAZQBjAGsAYgBvAHhSZWd1bGFyAFIAZQBnAHUAbABhAHJDaGVja2JveABDAGgAZQBjAGsAYgBvAHhGb250IGdlbmVyYXRlZCBieSBJY29Nb29uLgBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('truetype'); +} + +/* Checkmark */ +.ui.checkbox label:after, +.ui.checkbox .box:after { + font-family: 'Checkbox'; +} + +/* Checked */ +.ui.checkbox input:checked ~ .box:after, +.ui.checkbox input:checked ~ label:after { + content: '\e800'; +} + +/* Indeterminate */ +.ui.checkbox input:indeterminate ~ .box:after, +.ui.checkbox input:indeterminate ~ label:after { + font-size: 12px; + content: '\e801'; +} +/* UTF Reference +.check:before { content: '\e800'; } +.dash:before { content: '\e801'; } +.plus:before { content: '\e802'; } +*/ + + +/******************************* + Site Overrides +*******************************/ + diff --git a/themes/openpowerfoundation/static/lib/semantic-ui/components/checkbox.js b/themes/openpowerfoundation/static/lib/semantic-ui/components/checkbox.js new file mode 100755 index 0000000..54218fc --- /dev/null +++ b/themes/openpowerfoundation/static/lib/semantic-ui/components/checkbox.js @@ -0,0 +1,831 @@ +/*! + * # Semantic UI 2.3.0 - Checkbox + * 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.checkbox = 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 = $.extend(true, {}, $.fn.checkbox.settings, parameters), + + className = settings.className, + namespace = settings.namespace, + selector = settings.selector, + error = settings.error, + + eventNamespace = '.' + namespace, + moduleNamespace = 'module-' + namespace, + + $module = $(this), + $label = $(this).children(selector.label), + $input = $(this).children(selector.input), + input = $input[0], + + initialLoad = false, + shortcutPressed = false, + instance = $module.data(moduleNamespace), + + observer, + element = this, + module + ; + + module = { + + initialize: function() { + module.verbose('Initializing checkbox', settings); + + module.create.label(); + module.bind.events(); + + module.set.tabbable(); + module.hide.input(); + + module.observeChanges(); + module.instantiate(); + module.setup(); + }, + + instantiate: function() { + module.verbose('Storing instance of module', module); + instance = module; + $module + .data(moduleNamespace, module) + ; + }, + + destroy: function() { + module.verbose('Destroying module'); + module.unbind.events(); + module.show.input(); + $module.removeData(moduleNamespace); + }, + + fix: { + reference: function() { + if( $module.is(selector.input) ) { + module.debug('Behavior called on adjusting invoked element'); + $module = $module.closest(selector.checkbox); + module.refresh(); + } + } + }, + + setup: function() { + module.set.initialLoad(); + if( module.is.indeterminate() ) { + module.debug('Initial value is indeterminate'); + module.indeterminate(); + } + else if( module.is.checked() ) { + module.debug('Initial value is checked'); + module.check(); + } + else { + module.debug('Initial value is unchecked'); + module.uncheck(); + } + module.remove.initialLoad(); + }, + + refresh: function() { + $label = $module.children(selector.label); + $input = $module.children(selector.input); + input = $input[0]; + }, + + hide: { + input: function() { + module.verbose('Modifying z-index to be unselectable'); + $input.addClass(className.hidden); + } + }, + show: { + input: function() { + module.verbose('Modifying z-index to be selectable'); + $input.removeClass(className.hidden); + } + }, + + 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); + } + }, + + attachEvents: function(selector, event) { + var + $element = $(selector) + ; + event = $.isFunction(module[event]) + ? module[event] + : module.toggle + ; + if($element.length > 0) { + module.debug('Attaching checkbox events to element', selector, event); + $element + .on('click' + eventNamespace, event) + ; + } + else { + module.error(error.notFound); + } + }, + + event: { + click: function(event) { + var + $target = $(event.target) + ; + if( $target.is(selector.input) ) { + module.verbose('Using default check action on initialized checkbox'); + return; + } + if( $target.is(selector.link) ) { + module.debug('Clicking link inside checkbox, skipping toggle'); + return; + } + module.toggle(); + $input.focus(); + event.preventDefault(); + }, + keydown: function(event) { + var + key = event.which, + keyCode = { + enter : 13, + space : 32, + escape : 27 + } + ; + if(key == keyCode.escape) { + module.verbose('Escape key pressed blurring field'); + $input.blur(); + shortcutPressed = true; + } + else if(!event.ctrlKey && ( key == keyCode.space || key == keyCode.enter) ) { + module.verbose('Enter/space key pressed, toggling checkbox'); + module.toggle(); + shortcutPressed = true; + } + else { + shortcutPressed = false; + } + }, + keyup: function(event) { + if(shortcutPressed) { + event.preventDefault(); + } + } + }, + + check: function() { + if( !module.should.allowCheck() ) { + return; + } + module.debug('Checking checkbox', $input); + module.set.checked(); + if( !module.should.ignoreCallbacks() ) { + settings.onChecked.call(input); + settings.onChange.call(input); + } + }, + + uncheck: function() { + if( !module.should.allowUncheck() ) { + return; + } + module.debug('Unchecking checkbox'); + module.set.unchecked(); + if( !module.should.ignoreCallbacks() ) { + settings.onUnchecked.call(input); + settings.onChange.call(input); + } + }, + + indeterminate: function() { + if( module.should.allowIndeterminate() ) { + module.debug('Checkbox is already indeterminate'); + return; + } + module.debug('Making checkbox indeterminate'); + module.set.indeterminate(); + if( !module.should.ignoreCallbacks() ) { + settings.onIndeterminate.call(input); + settings.onChange.call(input); + } + }, + + determinate: function() { + if( module.should.allowDeterminate() ) { + module.debug('Checkbox is already determinate'); + return; + } + module.debug('Making checkbox determinate'); + module.set.determinate(); + if( !module.should.ignoreCallbacks() ) { + settings.onDeterminate.call(input); + settings.onChange.call(input); + } + }, + + enable: function() { + if( module.is.enabled() ) { + module.debug('Checkbox is already enabled'); + return; + } + module.debug('Enabling checkbox'); + module.set.enabled(); + settings.onEnable.call(input); + // preserve legacy callbacks + settings.onEnabled.call(input); + }, + + disable: function() { + if( module.is.disabled() ) { + module.debug('Checkbox is already disabled'); + return; + } + module.debug('Disabling checkbox'); + module.set.disabled(); + settings.onDisable.call(input); + // preserve legacy callbacks + settings.onDisabled.call(input); + }, + + get: { + radios: function() { + var + name = module.get.name() + ; + return $('input[name="' + name + '"]').closest(selector.checkbox); + }, + otherRadios: function() { + return module.get.radios().not($module); + }, + name: function() { + return $input.attr('name'); + } + }, + + is: { + initialLoad: function() { + return initialLoad; + }, + radio: function() { + return ($input.hasClass(className.radio) || $input.attr('type') == 'radio'); + }, + indeterminate: function() { + return $input.prop('indeterminate') !== undefined && $input.prop('indeterminate'); + }, + checked: function() { + return $input.prop('checked') !== undefined && $input.prop('checked'); + }, + disabled: function() { + return $input.prop('disabled') !== undefined && $input.prop('disabled'); + }, + enabled: function() { + return !module.is.disabled(); + }, + determinate: function() { + return !module.is.indeterminate(); + }, + unchecked: function() { + return !module.is.checked(); + } + }, + + should: { + allowCheck: function() { + if(module.is.determinate() && module.is.checked() && !module.should.forceCallbacks() ) { + module.debug('Should not allow check, checkbox is already checked'); + return false; + } + if(settings.beforeChecked.apply(input) === false) { + module.debug('Should not allow check, beforeChecked cancelled'); + return false; + } + return true; + }, + allowUncheck: function() { + if(module.is.determinate() && module.is.unchecked() && !module.should.forceCallbacks() ) { + module.debug('Should not allow uncheck, checkbox is already unchecked'); + return false; + } + if(settings.beforeUnchecked.apply(input) === false) { + module.debug('Should not allow uncheck, beforeUnchecked cancelled'); + return false; + } + return true; + }, + allowIndeterminate: function() { + if(module.is.indeterminate() && !module.should.forceCallbacks() ) { + module.debug('Should not allow indeterminate, checkbox is already indeterminate'); + return false; + } + if(settings.beforeIndeterminate.apply(input) === false) { + module.debug('Should not allow indeterminate, beforeIndeterminate cancelled'); + return false; + } + return true; + }, + allowDeterminate: function() { + if(module.is.determinate() && !module.should.forceCallbacks() ) { + module.debug('Should not allow determinate, checkbox is already determinate'); + return false; + } + if(settings.beforeDeterminate.apply(input) === false) { + module.debug('Should not allow determinate, beforeDeterminate cancelled'); + return false; + } + return true; + }, + forceCallbacks: function() { + return (module.is.initialLoad() && settings.fireOnInit); + }, + ignoreCallbacks: function() { + return (initialLoad && !settings.fireOnInit); + } + }, + + can: { + change: function() { + return !( $module.hasClass(className.disabled) || $module.hasClass(className.readOnly) || $input.prop('disabled') || $input.prop('readonly') ); + }, + uncheck: function() { + return (typeof settings.uncheckable === 'boolean') + ? settings.uncheckable + : !module.is.radio() + ; + } + }, + + set: { + initialLoad: function() { + initialLoad = true; + }, + checked: function() { + module.verbose('Setting class to checked'); + $module + .removeClass(className.indeterminate) + .addClass(className.checked) + ; + if( module.is.radio() ) { + module.uncheckOthers(); + } + if(!module.is.indeterminate() && module.is.checked()) { + module.debug('Input is already checked, skipping input property change'); + return; + } + module.verbose('Setting state to checked', input); + $input + .prop('indeterminate', false) + .prop('checked', true) + ; + module.trigger.change(); + }, + unchecked: function() { + module.verbose('Removing checked class'); + $module + .removeClass(className.indeterminate) + .removeClass(className.checked) + ; + if(!module.is.indeterminate() && module.is.unchecked() ) { + module.debug('Input is already unchecked'); + return; + } + module.debug('Setting state to unchecked'); + $input + .prop('indeterminate', false) + .prop('checked', false) + ; + module.trigger.change(); + }, + indeterminate: function() { + module.verbose('Setting class to indeterminate'); + $module + .addClass(className.indeterminate) + ; + if( module.is.indeterminate() ) { + module.debug('Input is already indeterminate, skipping input property change'); + return; + } + module.debug('Setting state to indeterminate'); + $input + .prop('indeterminate', true) + ; + module.trigger.change(); + }, + determinate: function() { + module.verbose('Removing indeterminate class'); + $module + .removeClass(className.indeterminate) + ; + if( module.is.determinate() ) { + module.debug('Input is already determinate, skipping input property change'); + return; + } + module.debug('Setting state to determinate'); + $input + .prop('indeterminate', false) + ; + }, + disabled: function() { + module.verbose('Setting class to disabled'); + $module + .addClass(className.disabled) + ; + if( module.is.disabled() ) { + module.debug('Input is already disabled, skipping input property change'); + return; + } + module.debug('Setting state to disabled'); + $input + .prop('disabled', 'disabled') + ; + module.trigger.change(); + }, + enabled: function() { + module.verbose('Removing disabled class'); + $module.removeClass(className.disabled); + if( module.is.enabled() ) { + module.debug('Input is already enabled, skipping input property change'); + return; + } + module.debug('Setting state to enabled'); + $input + .prop('disabled', false) + ; + module.trigger.change(); + }, + tabbable: function() { + module.verbose('Adding tabindex to checkbox'); + if( $input.attr('tabindex') === undefined) { + $input.attr('tabindex', 0); + } + } + }, + + remove: { + initialLoad: function() { + initialLoad = false; + } + }, + + trigger: { + change: function() { + var + events = document.createEvent('HTMLEvents'), + inputElement = $input[0] + ; + if(inputElement) { + module.verbose('Triggering native change event'); + events.initEvent('change', true, false); + inputElement.dispatchEvent(events); + } + } + }, + + + create: { + label: function() { + if($input.prevAll(selector.label).length > 0) { + $input.prev(selector.label).detach().insertAfter($input); + module.debug('Moving existing label', $label); + } + else if( !module.has.label() ) { + $label = $('