From 79a0c8c509d9135aa1bd9984cb9f75836d080707 Mon Sep 17 00:00:00 2001 From: Xprofi <30517582+Xprofi@users.noreply.github.com> Date: Wed, 26 Jun 2024 19:50:52 +0300 Subject: [PATCH] Update fomantic 2.9.3 (#619) Co-authored-by: Ian Clarke --- .../plugins/fomantic/components/accordion.css | 270 +- .../plugins/fomantic/components/accordion.js | 1157 +- .../fomantic/components/accordion.min.css | 8 +- .../fomantic/components/accordion.min.js | 12 +- .../static/plugins/fomantic/components/ad.css | 89 +- .../plugins/fomantic/components/ad.min.css | 8 +- .../static/plugins/fomantic/components/api.js | 2280 +- .../plugins/fomantic/components/api.min.js | 12 +- .../fomantic/components/breadcrumb.css | 14 +- .../fomantic/components/breadcrumb.min.css | 8 +- .../plugins/fomantic/components/button.css | 2114 +- .../fomantic/components/button.min.css | 8 +- .../plugins/fomantic/components/calendar.css | 220 +- .../plugins/fomantic/components/calendar.js | 3532 +- .../fomantic/components/calendar.min.css | 8 +- .../fomantic/components/calendar.min.js | 12 +- .../plugins/fomantic/components/card.css | 1443 +- .../plugins/fomantic/components/card.min.css | 8 +- .../plugins/fomantic/components/checkbox.css | 632 +- .../plugins/fomantic/components/checkbox.js | 1716 +- .../fomantic/components/checkbox.min.css | 8 +- .../fomantic/components/checkbox.min.js | 12 +- .../plugins/fomantic/components/comment.css | 111 +- .../fomantic/components/comment.min.css | 8 +- .../plugins/fomantic/components/container.css | 163 +- .../fomantic/components/container.min.css | 8 +- .../plugins/fomantic/components/dimmer.css | 292 +- .../plugins/fomantic/components/dimmer.js | 1411 +- .../fomantic/components/dimmer.min.css | 8 +- .../plugins/fomantic/components/dimmer.min.js | 12 +- .../plugins/fomantic/components/divider.css | 168 +- .../fomantic/components/divider.min.css | 8 +- .../plugins/fomantic/components/dropdown.css | 1023 +- .../plugins/fomantic/components/dropdown.js | 8289 +-- .../fomantic/components/dropdown.min.css | 8 +- .../fomantic/components/dropdown.min.js | 12 +- .../plugins/fomantic/components/embed.css | 65 +- .../plugins/fomantic/components/embed.js | 1317 +- .../plugins/fomantic/components/embed.min.css | 8 +- .../plugins/fomantic/components/embed.min.js | 12 +- .../plugins/fomantic/components/emoji.css | 20790 +++--- .../plugins/fomantic/components/emoji.min.css | 6 +- .../plugins/fomantic/components/feed.css | 619 +- .../plugins/fomantic/components/feed.min.css | 8 +- .../plugins/fomantic/components/flag.css | 1979 +- .../plugins/fomantic/components/flag.min.css | 8 +- .../plugins/fomantic/components/flyout.css | 546 + .../plugins/fomantic/components/flyout.js | 1549 + .../fomantic/components/flyout.min.css | 9 + .../plugins/fomantic/components/flyout.min.js | 11 + .../plugins/fomantic/components/form.css | 1055 +- .../plugins/fomantic/components/form.js | 4025 +- .../plugins/fomantic/components/form.min.css | 8 +- .../plugins/fomantic/components/form.min.js | 12 +- .../plugins/fomantic/components/grid.css | 765 +- .../plugins/fomantic/components/grid.min.css | 8 +- .../plugins/fomantic/components/header.css | 291 +- .../fomantic/components/header.min.css | 8 +- .../plugins/fomantic/components/icon.css | 5761 +- .../plugins/fomantic/components/icon.min.css | 8 +- .../plugins/fomantic/components/image.css | 103 +- .../plugins/fomantic/components/image.min.css | 8 +- .../plugins/fomantic/components/input.css | 1268 +- .../plugins/fomantic/components/input.min.css | 8 +- .../plugins/fomantic/components/item.css | 232 +- .../plugins/fomantic/components/item.min.css | 8 +- .../plugins/fomantic/components/label.css | 932 +- .../plugins/fomantic/components/label.min.css | 8 +- .../plugins/fomantic/components/list.css | 229 +- .../plugins/fomantic/components/list.min.css | 8 +- .../plugins/fomantic/components/loader.css | 988 +- .../fomantic/components/loader.min.css | 8 +- .../plugins/fomantic/components/menu.css | 926 +- .../plugins/fomantic/components/menu.min.css | 10 +- .../plugins/fomantic/components/message.css | 399 +- .../fomantic/components/message.min.css | 8 +- .../plugins/fomantic/components/modal.css | 341 +- .../plugins/fomantic/components/modal.js | 2722 +- .../plugins/fomantic/components/modal.min.css | 8 +- .../plugins/fomantic/components/modal.min.js | 12 +- .../plugins/fomantic/components/nag.css | 224 +- .../static/plugins/fomantic/components/nag.js | 1004 +- .../plugins/fomantic/components/nag.min.css | 8 +- .../plugins/fomantic/components/nag.min.js | 12 +- .../fomantic/components/placeholder.css | 132 +- .../fomantic/components/placeholder.min.css | 8 +- .../plugins/fomantic/components/popup.css | 1034 +- .../plugins/fomantic/components/popup.js | 2944 +- .../plugins/fomantic/components/popup.min.css | 8 +- .../plugins/fomantic/components/popup.min.js | 12 +- .../plugins/fomantic/components/progress.css | 331 +- .../plugins/fomantic/components/progress.js | 1942 +- .../fomantic/components/progress.min.css | 8 +- .../fomantic/components/progress.min.js | 12 +- .../plugins/fomantic/components/rail.css | 39 +- .../plugins/fomantic/components/rail.min.css | 6 +- .../plugins/fomantic/components/range.css | 192 - .../plugins/fomantic/components/range.js | 278 - .../plugins/fomantic/components/range.min.css | 9 - .../plugins/fomantic/components/range.min.js | 1 - .../plugins/fomantic/components/rating.css | 273 +- .../plugins/fomantic/components/rating.js | 1026 +- .../fomantic/components/rating.min.css | 8 +- .../plugins/fomantic/components/rating.min.js | 12 +- .../plugins/fomantic/components/reset.css | 29 +- .../plugins/fomantic/components/reset.min.css | 8 +- .../plugins/fomantic/components/reveal.css | 131 +- .../fomantic/components/reveal.min.css | 8 +- .../plugins/fomantic/components/search.css | 200 +- .../plugins/fomantic/components/search.js | 3025 +- .../fomantic/components/search.min.css | 8 +- .../plugins/fomantic/components/search.min.js | 12 +- .../plugins/fomantic/components/segment.css | 755 +- .../fomantic/components/segment.min.css | 8 +- .../plugins/fomantic/components/shape.css | 48 +- .../plugins/fomantic/components/shape.js | 1571 +- .../plugins/fomantic/components/shape.min.css | 8 +- .../plugins/fomantic/components/shape.min.js | 12 +- .../plugins/fomantic/components/sidebar.css | 344 +- .../plugins/fomantic/components/sidebar.js | 2030 +- .../fomantic/components/sidebar.min.css | 8 +- .../fomantic/components/sidebar.min.js | 12 +- .../plugins/fomantic/components/site.css | 171 +- .../plugins/fomantic/components/site.js | 916 +- .../plugins/fomantic/components/site.min.css | 8 +- .../plugins/fomantic/components/site.min.js | 12 +- .../plugins/fomantic/components/slider.css | 268 +- .../plugins/fomantic/components/slider.js | 2680 +- .../fomantic/components/slider.min.css | 10 +- .../plugins/fomantic/components/slider.min.js | 12 +- .../plugins/fomantic/components/state.js | 1310 +- .../plugins/fomantic/components/state.min.js | 12 +- .../plugins/fomantic/components/statistic.css | 205 +- .../fomantic/components/statistic.min.css | 8 +- .../plugins/fomantic/components/step.css | 301 +- .../plugins/fomantic/components/step.min.css | 8 +- .../plugins/fomantic/components/sticky.css | 11 +- .../plugins/fomantic/components/sticky.js | 1742 +- .../fomantic/components/sticky.min.css | 8 +- .../plugins/fomantic/components/sticky.min.js | 12 +- .../plugins/fomantic/components/tab.css | 36 +- .../static/plugins/fomantic/components/tab.js | 1844 +- .../plugins/fomantic/components/tab.min.css | 8 +- .../plugins/fomantic/components/tab.min.js | 12 +- .../plugins/fomantic/components/table.css | 3021 +- .../plugins/fomantic/components/table.min.css | 8 +- .../plugins/fomantic/components/text.css | 72 +- .../plugins/fomantic/components/text.min.css | 8 +- .../plugins/fomantic/components/toast.css | 336 +- .../plugins/fomantic/components/toast.js | 1754 +- .../plugins/fomantic/components/toast.min.css | 8 +- .../plugins/fomantic/components/toast.min.js | 12 +- .../fomantic/components/transition.css | 1653 +- .../plugins/fomantic/components/transition.js | 2069 +- .../fomantic/components/transition.min.css | 8 +- .../fomantic/components/transition.min.js | 12 +- .../plugins/fomantic/components/visibility.js | 2479 +- .../fomantic/components/visibility.min.js | 12 +- .../kweb/static/plugins/fomantic/semantic.css | 58475 +++++++++------- .../kweb/static/plugins/fomantic/semantic.js | 56015 ++++++++------- .../static/plugins/fomantic/semantic.min.css | 405 +- .../static/plugins/fomantic/semantic.min.js | 12 +- .../themes/basic/assets/fonts/icons.eot | Bin 40166 -> 0 bytes .../themes/basic/assets/fonts/icons.svg | 450 - .../themes/basic/assets/fonts/icons.ttf | Bin 39924 -> 0 bytes .../themes/basic/assets/fonts/icons.woff2 | Bin 0 -> 20444 bytes .../default/assets/fonts/Lato-Bold.woff | Bin 0 -> 291164 bytes .../default/assets/fonts/Lato-Bold.woff2 | Bin 0 -> 178868 bytes .../default/assets/fonts/Lato-BoldItalic.woff | Bin 0 -> 303376 bytes .../assets/fonts/Lato-BoldItalic.woff2 | Bin 0 -> 188332 bytes .../default/assets/fonts/Lato-Italic.woff | Bin 0 -> 308540 bytes .../default/assets/fonts/Lato-Italic.woff2 | Bin 0 -> 190608 bytes .../default/assets/fonts/Lato-Regular.woff | Bin 0 -> 290956 bytes .../default/assets/fonts/Lato-Regular.woff2 | Bin 0 -> 178044 bytes .../default/assets/fonts/LatoLatin-Bold.woff | Bin 0 -> 45416 bytes .../default/assets/fonts/LatoLatin-Bold.woff2 | Bin 0 -> 33616 bytes .../assets/fonts/LatoLatin-BoldItalic.woff | Bin 0 -> 46468 bytes .../assets/fonts/LatoLatin-BoldItalic.woff2 | Bin 0 -> 34752 bytes .../assets/fonts/LatoLatin-Italic.woff | Bin 0 -> 46980 bytes .../assets/fonts/LatoLatin-Italic.woff2 | Bin 0 -> 34848 bytes .../assets/fonts/LatoLatin-Regular.woff | Bin 0 -> 45632 bytes .../assets/fonts/LatoLatin-Regular.woff2 | Bin 0 -> 33828 bytes .../default/assets/fonts/brand-icons.eot | Bin 133034 -> 0 bytes .../default/assets/fonts/brand-icons.svg | 3570 - .../default/assets/fonts/brand-icons.ttf | Bin 132728 -> 0 bytes .../default/assets/fonts/brand-icons.woff | Bin 89824 -> 89988 bytes .../default/assets/fonts/brand-icons.woff2 | Bin 76612 -> 76736 bytes .../themes/default/assets/fonts/icons.eot | Bin 202902 -> 0 bytes .../themes/default/assets/fonts/icons.svg | 4938 -- .../themes/default/assets/fonts/icons.ttf | Bin 202616 -> 0 bytes .../themes/default/assets/fonts/icons.woff | Bin 103300 -> 101648 bytes .../themes/default/assets/fonts/icons.woff2 | Bin 79444 -> 78268 bytes .../default/assets/fonts/outline-icons.eot | Bin 34390 -> 0 bytes .../default/assets/fonts/outline-icons.svg | 803 - .../default/assets/fonts/outline-icons.ttf | Bin 34092 -> 0 bytes .../default/assets/fonts/outline-icons.woff | Bin 16800 -> 16276 bytes .../default/assets/fonts/outline-icons.woff2 | Bin 13584 -> 13224 bytes .../assets/images/flags.png | Bin .../github/assets/fonts/octicons-local.ttf | Bin 53604 -> 0 bytes .../themes/github/assets/fonts/octicons.svg | 200 - .../themes/github/assets/fonts/octicons.ttf | Bin 31740 -> 0 bytes .../themes/github/assets/fonts/octicons.woff2 | Bin 0 -> 14136 bytes .../themes/material/assets/fonts/icons.eot | Bin 143258 -> 0 bytes .../themes/material/assets/fonts/icons.svg | 2373 - .../themes/material/assets/fonts/icons.ttf | Bin 128180 -> 0 bytes 205 files changed, 121791 insertions(+), 116422 deletions(-) create mode 100644 src/main/resources/kweb/static/plugins/fomantic/components/flyout.css create mode 100644 src/main/resources/kweb/static/plugins/fomantic/components/flyout.js create mode 100644 src/main/resources/kweb/static/plugins/fomantic/components/flyout.min.css create mode 100644 src/main/resources/kweb/static/plugins/fomantic/components/flyout.min.js delete mode 100644 src/main/resources/kweb/static/plugins/fomantic/components/range.css delete mode 100644 src/main/resources/kweb/static/plugins/fomantic/components/range.js delete mode 100644 src/main/resources/kweb/static/plugins/fomantic/components/range.min.css delete mode 100644 src/main/resources/kweb/static/plugins/fomantic/components/range.min.js delete mode 100644 src/main/resources/kweb/static/plugins/fomantic/themes/basic/assets/fonts/icons.eot delete mode 100644 src/main/resources/kweb/static/plugins/fomantic/themes/basic/assets/fonts/icons.svg delete mode 100644 src/main/resources/kweb/static/plugins/fomantic/themes/basic/assets/fonts/icons.ttf create mode 100644 src/main/resources/kweb/static/plugins/fomantic/themes/basic/assets/fonts/icons.woff2 create mode 100644 src/main/resources/kweb/static/plugins/fomantic/themes/default/assets/fonts/Lato-Bold.woff create mode 100644 src/main/resources/kweb/static/plugins/fomantic/themes/default/assets/fonts/Lato-Bold.woff2 create mode 100644 src/main/resources/kweb/static/plugins/fomantic/themes/default/assets/fonts/Lato-BoldItalic.woff create mode 100644 src/main/resources/kweb/static/plugins/fomantic/themes/default/assets/fonts/Lato-BoldItalic.woff2 create mode 100644 src/main/resources/kweb/static/plugins/fomantic/themes/default/assets/fonts/Lato-Italic.woff create mode 100644 src/main/resources/kweb/static/plugins/fomantic/themes/default/assets/fonts/Lato-Italic.woff2 create mode 100644 src/main/resources/kweb/static/plugins/fomantic/themes/default/assets/fonts/Lato-Regular.woff create mode 100644 src/main/resources/kweb/static/plugins/fomantic/themes/default/assets/fonts/Lato-Regular.woff2 create mode 100644 src/main/resources/kweb/static/plugins/fomantic/themes/default/assets/fonts/LatoLatin-Bold.woff create mode 100644 src/main/resources/kweb/static/plugins/fomantic/themes/default/assets/fonts/LatoLatin-Bold.woff2 create mode 100644 src/main/resources/kweb/static/plugins/fomantic/themes/default/assets/fonts/LatoLatin-BoldItalic.woff create mode 100644 src/main/resources/kweb/static/plugins/fomantic/themes/default/assets/fonts/LatoLatin-BoldItalic.woff2 create mode 100644 src/main/resources/kweb/static/plugins/fomantic/themes/default/assets/fonts/LatoLatin-Italic.woff create mode 100644 src/main/resources/kweb/static/plugins/fomantic/themes/default/assets/fonts/LatoLatin-Italic.woff2 create mode 100644 src/main/resources/kweb/static/plugins/fomantic/themes/default/assets/fonts/LatoLatin-Regular.woff create mode 100644 src/main/resources/kweb/static/plugins/fomantic/themes/default/assets/fonts/LatoLatin-Regular.woff2 delete mode 100644 src/main/resources/kweb/static/plugins/fomantic/themes/default/assets/fonts/brand-icons.eot delete mode 100644 src/main/resources/kweb/static/plugins/fomantic/themes/default/assets/fonts/brand-icons.svg delete mode 100644 src/main/resources/kweb/static/plugins/fomantic/themes/default/assets/fonts/brand-icons.ttf delete mode 100644 src/main/resources/kweb/static/plugins/fomantic/themes/default/assets/fonts/icons.eot delete mode 100644 src/main/resources/kweb/static/plugins/fomantic/themes/default/assets/fonts/icons.svg delete mode 100644 src/main/resources/kweb/static/plugins/fomantic/themes/default/assets/fonts/icons.ttf delete mode 100644 src/main/resources/kweb/static/plugins/fomantic/themes/default/assets/fonts/outline-icons.eot delete mode 100644 src/main/resources/kweb/static/plugins/fomantic/themes/default/assets/fonts/outline-icons.svg delete mode 100644 src/main/resources/kweb/static/plugins/fomantic/themes/default/assets/fonts/outline-icons.ttf rename src/main/resources/kweb/static/plugins/fomantic/themes/{default => famfamfam}/assets/images/flags.png (100%) delete mode 100644 src/main/resources/kweb/static/plugins/fomantic/themes/github/assets/fonts/octicons-local.ttf delete mode 100644 src/main/resources/kweb/static/plugins/fomantic/themes/github/assets/fonts/octicons.svg delete mode 100644 src/main/resources/kweb/static/plugins/fomantic/themes/github/assets/fonts/octicons.ttf create mode 100644 src/main/resources/kweb/static/plugins/fomantic/themes/github/assets/fonts/octicons.woff2 delete mode 100644 src/main/resources/kweb/static/plugins/fomantic/themes/material/assets/fonts/icons.eot delete mode 100644 src/main/resources/kweb/static/plugins/fomantic/themes/material/assets/fonts/icons.svg delete mode 100644 src/main/resources/kweb/static/plugins/fomantic/themes/material/assets/fonts/icons.ttf diff --git a/src/main/resources/kweb/static/plugins/fomantic/components/accordion.css b/src/main/resources/kweb/static/plugins/fomantic/components/accordion.css index afbbd35375..c54ef43d86 100644 --- a/src/main/resources/kweb/static/plugins/fomantic/components/accordion.css +++ b/src/main/resources/kweb/static/plugins/fomantic/components/accordion.css @@ -1,10 +1,10 @@ /*! - * # Fomantic-UI - Accordion - * http://github.com/fomantic/Fomantic-UI/ + * # Fomantic-UI 2.9.3 - Accordion + * https://github.com/fomantic/Fomantic-UI/ * * * Released under the MIT license - * http://opensource.org/licenses/MIT + * https://opensource.org/licenses/MIT * */ @@ -23,32 +23,32 @@ } /* Title */ -.ui.accordion .title, -.ui.accordion .accordion .title { +.ui.accordion.menu .item > .title, +.ui.accordion > .title, +.ui.accordion .accordion > .title { cursor: pointer; -} - -/* Default Styling */ -.ui.accordion .title:not(.ui) { padding: 0.5em 0; - font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; + font-family: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 1em; color: rgba(0, 0, 0, 0.87); + list-style: none; + line-height: 1; } /* Default Styling */ -.ui.accordion:not(.styled) .title ~ .content:not(.ui), -.ui.accordion:not(.styled) .accordion .title ~ .content:not(.ui) { - margin: ''; +.ui.accordion:not(.styled) .title ~ .content, +.ui.accordion:not(.styled) .accordion .title ~ .content { + margin: ""; padding: 0.5em 0 1em; } -.ui.accordion:not(.styled) .title ~ .content:not(.ui):last-child { +.ui.accordion:not(.styled) .title ~ .content:last-child { padding-bottom: 0; } /* Arrow */ -.ui.accordion .title .dropdown.icon, -.ui.accordion .accordion .title .dropdown.icon { +.ui.accordion .ui.header > .dropdown.icon, +.ui.accordion .title > .dropdown.icon, +.ui.accordion .accordion .title > .dropdown.icon { display: inline-block; float: none; opacity: 1; @@ -57,19 +57,20 @@ margin: 0 0.25rem 0 0; padding: 0; 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; + transform: none; +} +.ui.accordion .ui.header > .dropdown.icon.right, +.ui.accordion .title > .dropdown.icon.right, +.ui.accordion .accordion .title > .dropdown.icon.right { + float: right; + transform: rotate(180deg); } -/*-------------- +/* -------------- Coupling ----------------*/ - +--------------- */ /* Menu */ .ui.accordion.menu .item .title { @@ -78,13 +79,12 @@ } .ui.accordion.menu .item .title > .dropdown.icon { float: right; - margin: 0.21425em 0 0 1em; - -webkit-transform: rotate(180deg); - transform: rotate(180deg); + margin: 0 0.25rem 0 0; + transform: rotate(180deg); } /* Header */ -.ui.accordion .ui.header .dropdown.icon { +.ui.accordion .ui.header > .dropdown.icon { font-size: 1em; margin: 0 0.25rem 0 0; } @@ -94,14 +94,14 @@ States *******************************/ -.ui.accordion .active.title .dropdown.icon, -.ui.accordion .accordion .active.title .dropdown.icon { - -webkit-transform: rotate(90deg); - transform: rotate(90deg); +.ui.accordion[open] > .title > .dropdown.icon, +.ui.accordion .accordion[open] > .title > .dropdown.icon, +.ui.accordion .active.title > .dropdown.icon, +.ui.accordion .accordion .active.title > .dropdown.icon { + transform: rotate(90deg); } .ui.accordion.menu .item .active.title > .dropdown.icon { - -webkit-transform: rotate(90deg); - transform: rotate(90deg); + transform: rotate(90deg); } @@ -110,82 +110,119 @@ *******************************/ -/*-------------- - Styled - ---------------*/ - +/* -------------- + Styled + --------------- */ .ui.styled.accordion { width: 600px; } .ui.styled.accordion, .ui.styled.accordion .accordion { border-radius: 0.28571429rem; - background: #FFFFFF; - -webkit-box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15), 0 0 0 1px rgba(34, 36, 38, 0.15); - box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15), 0 0 0 1px rgba(34, 36, 38, 0.15); + background: #fff; + box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15), 0 0 0 1px rgba(34, 36, 38, 0.15); } -.ui.styled.accordion .title, -.ui.styled.accordion .accordion .title { +.ui.styled.accordion > .title, +.ui.styled.accordion .accordion > .title { margin: 0; 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 { +.ui.styled.accordion .accordion > .title:first-child { border-top: none; } /* Content */ -.ui.styled.accordion .content, -.ui.styled.accordion .accordion .content { +.ui.styled.accordion > .content { margin: 0; padding: 0.5em 1em 1.5em; } -.ui.styled.accordion .accordion .content { +.ui.styled.accordion .accordion > .content { margin: 0; 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 { +.ui.styled.accordion > .title:hover { background: transparent; color: rgba(0, 0, 0, 0.87); } -.ui.styled.accordion .accordion .title:hover, -.ui.styled.accordion .accordion .active.title { +.ui.styled.accordion .accordion > .title:hover { background: transparent; color: rgba(0, 0, 0, 0.87); } /* Active */ +.ui.styled.accordion[open] > .title, .ui.styled.accordion .active.title { background: transparent; color: rgba(0, 0, 0, 0.95); } +.ui.styled.accordion .accordion[open] > .title, .ui.styled.accordion .accordion .active.title { background: transparent; color: rgba(0, 0, 0, 0.95); } +/* -------------- + Compact + --------------- */ + +/* Default Styling */ +.ui.compact.accordion:not(.styled) > .title, +.ui.compact.accordion:not(.styled) .accordion > .title { + padding: 0.25em 0; +} +.ui.compact.accordion:not(.styled) .title ~ .content, +.ui.compact.accordion:not(.styled) .accordion .title ~ .content { + padding: 0.25em 0 0.5em; +} + +/* Styled */ +.ui.compact.styled.accordion > .title, +.ui.compact.styled.accordion .accordion > .title { + padding: 0.375em 0.5em; +} +.ui.compact.styled.accordion .title ~ .content, +.ui.compact.styled.accordion .accordion .title ~ .content { + padding: 0.25em 0.5em 0.75em; +} + +/* -------------- + Very Compact + --------------- */ +.ui[class*="very compact"].accordion:not(.styled) > .title, +.ui[class*="very compact"].accordion:not(.styled) .accordion > .title { + padding: 0.125em 0; +} +.ui[class*="very compact"].accordion:not(.styled) .title ~ .content, +.ui[class*="very compact"].accordion:not(.styled) .accordion .title ~ .content { + padding: 0.125em 0 0.25em; +} +.ui[class*="very compact"].styled.accordion > .title, +.ui[class*="very compact"].styled.accordion .accordion > .title { + padding: 0.1875em 0.25em; +} +.ui[class*="very compact"].styled.accordion .title ~ .content, +.ui[class*="very compact"].styled.accordion .accordion .title ~ .content { + padding: 0.125em 0.25em 0.375em; +} + /******************************* States *******************************/ -/*-------------- +/* -------------- Not Active ----------------*/ - -.ui.accordion .title ~ .content:not(.active), -.ui.accordion .accordion .title ~ .content:not(.active) { +--------------- */ +.ui.accordion:not(details) .title ~ .content:not(.active), +.ui.accordion .accordion:not(details) .title ~ .content:not(.active) { display: none; } @@ -195,22 +232,104 @@ *******************************/ -/*-------------- - Fluid - ---------------*/ - +/* -------------- + Fluid + --------------- */ .ui.fluid.accordion, .ui.fluid.accordion .accordion { width: 100%; } -/*-------------- - Inverted - ---------------*/ +/* -------------- + Inverted + --------------- */ +.ui.inverted.accordion.menu .item > .title, +.ui.inverted.accordion > .title, +.ui.inverted.accordion .accordion > .title { + color: rgba(255, 255, 255, 0.9); +} +.ui.inverted.styled.accordion, +.ui.inverted.styled.accordion .accordion { + background: #1b1c1d; + box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15), 0 0 0 1px rgba(255, 255, 255, 0.1); +} +.ui.inverted.styled.accordion > .title, +.ui.inverted.styled.accordion .accordion > .title { + color: rgba(255, 255, 255, 0.5); + border-top: 1px solid rgba(255, 255, 255, 0.1); +} + +/* Hover */ +.ui.inverted.styled.accordion > .title:hover { + background: transparent; + color: rgba(255, 255, 255, 0.9); +} +.ui.inverted.styled.accordion .accordion > .title:hover { + background: transparent; + color: rgba(255, 255, 255, 0.9); +} -.ui.inverted.accordion .title:not(.ui) { +/* Active */ +.ui.inverted.styled.accordion[open] > .title, +.ui.inverted.styled.accordion .active.title { + background: transparent; + color: #ffffff; +} +.ui.inverted.styled.accordion .accordion[open] > .title, +.ui.inverted.styled.accordion .accordion .active.title { + background: transparent; + color: #ffffff; +} +.ui.basic.styled.accordion, +.ui.basic.styled.accordion .accordion { + background: transparent; + box-shadow: none; +} +.ui.basic.styled.accordion > .title, +.ui.basic.styled.accordion .accordion > .title { + border: none; + color: rgba(0, 0, 0, 0.6); +} +.ui.basic.styled.accordion > .title:hover, +.ui.basic.styled.accordion .accordion > .title:hover { + background: transparent; + color: rgba(0, 0, 0, 0.87); +} +.ui.basic.styled.accordion[open] > .title, +.ui.basic.styled.accordion .active.title, +.ui.basic.styled.accordion .accordion[open] > .title, +.ui.basic.styled.accordion .accordion .active.title { + background: transparent; + color: rgba(0, 0, 0, 0.95); +} +.ui.inverted.basic.styled.accordion > .title, +.ui.inverted.basic.styled.accordion .accordion > .title { + background: transparent; + color: rgba(255, 255, 255, 0.8); +} +.ui.inverted.basic.styled.accordion > .title:hover, +.ui.inverted.basic.styled.accordion .accordion > .title:hover { + background: transparent; color: rgba(255, 255, 255, 0.9); } +.ui.inverted.basic.styled.accordion[open] > .title, +.ui.inverted.basic.styled.accordion .active.title, +.ui.inverted.basic.styled.accordion .accordion[open] > .title, +.ui.inverted.basic.styled.accordion .accordion .active.title { + background: transparent; + color: #ffffff; +} +.ui.tree.accordion:not(.styled) .title ~ .content, +.ui.tree.accordion:not(.styled) .accordion .title ~ .content { + padding: 0; +} +.ui.tree.accordion > .content, +.ui.tree.accordion .accordion > .content { + margin-left: 1.7em; +} +.ui.tree.accordion .accordion { + margin-top: 0; +} /******************************* @@ -218,15 +337,16 @@ *******************************/ @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-family: Accordion; + src: url("data:application/font-woff;base64,d09GRk9UVE8AAAREAAsAAAAABkAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAC7AAAAQoAAAE/j/fxwUZGVE0AAAQUAAAAHAAAAByNqvxQR0RFRgAAA/gAAAAcAAAAIAAnABhPUy8yAAABYAAAAEIAAABgTadW5mNtYXAAAAKMAAAAUQAAAWAFZuKDaGVhZAAAAQgAAAAyAAAANg8zT8toaGVhAAABPAAAABoAAAAkApkA5mhtdHgAAAQwAAAAEwAAABYBtwASbWF4cAAAAVgAAAAGAAAABgAGUABuYW1lAAABpAAAAOYAAAGq/HAhWXBvc3QAAALgAAAADAAAACAAAwAAeJxjYGRgYADi8KWRsvH8Nl8ZuJkYQOD838XvQPT9hGxNIOXJsJ0xD0hzMIClARzsCcoAAHicY2BkYGB88P8BkGQAg+0wBhywAgBgjgOAAAAAAFAAAAYAAHicY2BmOM84gYGVgYHRhzGNgYHBHUp/ZZBkaGFABYwCSJyANNcUBgcGhg+3GB/8fwCUfMCgAFIDV6AAhIwARVcMJwAAeJx1jrFOwzAURU/SNKgFIVgQ6uSRKWolZjaQOnQBqQNb2lpRpMqW3HTowhew8U9I/BU37WOjtmyfd/3utYEbvsn4G7lxRsmtcc4FD8YD6U/GhfjNeMglybjU/DQeM+FHrqwY2QsnzrgSnTjnmnvjgfSpcSF+Nh5yx7txKf3DeMwjX31soqajJdCoqLs26HzFq9yz1WVS6Zv9tk5nmv8Vl0pI7CRHXThmVPofS592bQxuVk3PGF+Ohk6WRhHhGNO3eTbSVhy0z1mra6HV91YyxdC5xgevFL9xq4Obr+MixlDxC/HTOrsAAHicY2BgYGaAYBkGRgYQiALyGMF8FgY7IM3FwMHABISMDAofbv3/+/8/WJXCh5tgNuP/x2A+RC8bUC0DUB8rWIgNiJkY8AJm/NJDHgAALqoOxgAAAHicY2BmwAsAAH0ABHicPY7BSsNAEIZnkk2zlhg1JKAYxOrJi6RepMdC8SKefAJP4kVBzCtkNw7ZjeK1j9C38Rn6CO5CDrppigwMM8P/f/8gMAaIGL4+vD09PwJ6gLCwp2AnaM88e+7bQ0aRTxE7GcPRffJL9D9EIX2bW+sFOXzu5QD7OSwPcuA5Xiew05N8CIDDLiSQuTqGSVmU0/KqKG+Kxaxv8+llMURvHwBAgRJrfEeCEaLns9HdRxzHP/FqaV4yaptWK25SkwZKu4Va0rUSWjYVVbz7CqmqhZBSiNodqGqk5l2vFqrW1PJ4tWbGqZxVKa31htA6gmN2aTBwBobzuYsU1YYkGheyZVBqLjKKxn8cSmvuAAB4nGNgZGBg4AFiAQYJBiYgzQLEIJoRggEFbQBAAAAAAQAAAADeTO04AAAAAM/9o+4AAAAA32BrKXicY2BAAEYQsZ1BiIEBAAPpAMsA") format("woff"); font-weight: normal; font-style: normal; } /* Dropdown Icon */ -.ui.accordion .title .dropdown.icon, -.ui.accordion .accordion .title .dropdown.icon { +.ui.accordion .ui.header > .dropdown.icon, +.ui.accordion .title > .dropdown.icon, +.ui.accordion .accordion .title > .dropdown.icon { font-family: Accordion; line-height: 1; -webkit-backface-visibility: hidden; @@ -235,9 +355,11 @@ font-style: normal; text-align: center; } -.ui.accordion .title .dropdown.icon:before, -.ui.accordion .accordion .title .dropdown.icon:before { - content: '\f0da' /*rtl:'\f0d9'*/; +.ui.accordion .ui.header > .dropdown.icon::before, +.ui.accordion .title > .dropdown.icon::before, +.ui.accordion .accordion .title > .dropdown.icon::before { + content: "\f0da" +/* rtl: "\f0d9" */; } diff --git a/src/main/resources/kweb/static/plugins/fomantic/components/accordion.js b/src/main/resources/kweb/static/plugins/fomantic/components/accordion.js index 392d498a64..89994abfb0 100644 --- a/src/main/resources/kweb/static/plugins/fomantic/components/accordion.js +++ b/src/main/resources/kweb/static/plugins/fomantic/components/accordion.js @@ -1,618 +1,593 @@ /*! - * # Fomantic-UI - Accordion - * http://github.com/fomantic/Fomantic-UI/ + * # Fomantic-UI 2.9.3 - Accordion + * https://github.com/fomantic/Fomantic-UI/ * * * Released under the MIT license - * http://opensource.org/licenses/MIT + * https://opensource.org/licenses/MIT * */ -;(function ($, window, document, undefined) { - -'use strict'; - -$.isFunction = $.isFunction || function(obj) { - return typeof obj === "function" && typeof obj.nodeType !== "number"; -}; - -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), - - 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(); - }, +(function ($, window, document) { + 'use strict'; - instantiate: function() { - instance = module; - $module - .data(moduleNamespace, module) - ; - }, + function isFunction(obj) { + return typeof obj === 'function' && typeof obj.nodeType !== 'number'; + } - destroy: function() { - module.debug('Destroying previous instance', $module); - $module - .off(eventNamespace) - .removeData(moduleNamespace) - ; - }, + window = window !== undefined && window.Math === Math + ? window + : globalThis; - refresh: function() { - $title = $module.find(selector.title); - $content = $module.find(selector.content); - }, + $.fn.accordion = function (parameters) { + var + $allModules = $(this), - 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); - } - }, + time = Date.now(), + performance = [], - bind: { - events: function() { - module.debug('Binding delegated events'); - $module - .on(settings.on + eventNamespace, selector.trigger, module.event.click) - ; - } - }, + query = arguments[0], + methodInvoked = typeof query === 'string', + queryArguments = [].slice.call(arguments, 1), - event: { - click: function() { - module.toggle.call(this); - } - }, + 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, + + $module = $(this), + $title = $module.find(selector.title), + $content = $module.find(selector.content), + + element = this, + instance = $module.data(moduleNamespace), + observer, + module + ; - 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); - } - }, + module = { - 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, - skipInlineHidden : true, - onComplete: function() { - $activeContent.children().removeClass(className.transition); + 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 (event) { + if ($(event.target).closest(selector.ignore).length === 0) { + 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) { + $activeContent + .children() + .transition({ + animation: 'fade in', + queue: false, + useFailSafe: true, + debug: settings.debug, + verbose: settings.verbose, + silent: settings.silent, + duration: settings.duration, + skipInlineHidden: true, + onComplete: function () { + $activeContent.children().removeClass(className.transition); + }, + }) + ; + } 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) { + $activeContent + .children() + .transition({ + animation: 'fade out', + queue: false, + useFailSafe: true, + debug: settings.debug, + verbose: settings.verbose, + silent: settings.silent, + duration: settings.duration, + skipInlineHidden: true, + }) + ; + } 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) { + $openContents + .children() + .transition({ + animation: 'fade out', + useFailSafe: true, + debug: settings.debug, + verbose: settings.verbose, + silent: settings.silent, + duration: settings.duration, + skipInlineHidden: true, + }) + ; + } 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); + var $element = $(this); + $element.css('display', ''); + if ($element.attr('style') === '') { + $element + .attr('style', '') + .removeAttr('style') + ; + } + }, + + opacity: function () { + module.verbose('Removing inline opacity from element', this); + var $element = $(this); + $element.css('opacity', ''); + if ($element.attr('style') === '') { + $element + .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 = Date.now(); + 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(function () { 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 (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 = context || element; + 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 (Array.isArray(returnedValue)) { + returnedValue.push(response); + } else if (returnedValue !== undefined) { + returnedValue = [returnedValue, response]; + } else if (response !== undefined) { + returnedValue = response; } - }) - ; - } - 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, - skipInlineHidden : true - }) - ; - } - else { - $activeContent - .children() - .stop(true, true) - .animate({ - opacity: 0 - }, settings.duration, module.resetOpacity) - ; - } + return found; + }, + }; + if (methodInvoked) { + if (instance === undefined) { + module.initialize(); + } + module.invoke(query); + } else { + if (instance !== undefined) { + instance.invoke('destroy'); + } + module.initialize(); } - $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, - skipInlineHidden : true - }) - ; - } - 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); - }) - ; - } - }, + return returnedValue !== undefined + ? returnedValue + : this; + }; - reset: { + $.fn.accordion.settings = { - 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') - ; - } - }, + name: 'Accordion', + namespace: 'accordion', - }, + silent: false, + debug: false, + verbose: false, + performance: true, - setting: function(name, value) { - module.debug('Changing setting', name, value); - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else if(value !== undefined) { - if($.isPlainObject(settings[name])) { - $.extend(true, settings[name], value); - } - else { - settings[name] = value; - } - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - 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); - } - } + 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', }, - error: function() { - if(!settings.silent) { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - } + + className: { + active: 'active', + animating: 'animating', + transition: 'transition', }, - 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 = []; - } + + selector: { + accordion: '.accordion', + title: '.title', + trigger: '.title', + ignore: '.ui.dropdown', + content: '.content', }, - 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(Array.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', - transition: 'transition' - }, - - 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 ); + }; + + // Adds easing + $.extend($.easing, { + easeOutQuad: function (x) { + return 1 - (1 - x) * (1 - x); + }, + }); +})(jQuery, window, document); diff --git a/src/main/resources/kweb/static/plugins/fomantic/components/accordion.min.css b/src/main/resources/kweb/static/plugins/fomantic/components/accordion.min.css index fd2456fee3..0972dc8df5 100644 --- a/src/main/resources/kweb/static/plugins/fomantic/components/accordion.min.css +++ b/src/main/resources/kweb/static/plugins/fomantic/components/accordion.min.css @@ -1,9 +1,9 @@ /*! - * # Fomantic-UI - Accordion - * http://github.com/fomantic/Fomantic-UI/ + * # Fomantic-UI 2.9.3 - Accordion + * https://github.com/fomantic/Fomantic-UI/ * * * Released under the MIT license - * http://opensource.org/licenses/MIT + * https://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: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{margin: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 .title~.content:not(.active),.ui.accordion .title~.content:not(.active){display:none}.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 + */.ui.accordion,.ui.accordion .accordion{max-width:100%}.ui.accordion .accordion{margin:1em 0 0;padding:0}.ui.accordion .accordion>.title,.ui.accordion.menu .item>.title,.ui.accordion>.title{cursor:pointer;padding:.5em 0;font-family:Lato,system-ui,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1em;color:rgba(0,0,0,.87);list-style:none;line-height:1}.ui.accordion:not(.styled) .accordion .title~.content,.ui.accordion:not(.styled) .title~.content{margin:"";padding:.5em 0 1em}.ui.accordion:not(.styled) .title~.content:last-child{padding-bottom:0}.ui.accordion .accordion .title>.dropdown.icon,.ui.accordion .title>.dropdown.icon,.ui.accordion .ui.header>.dropdown.icon{display:inline-block;float:none;opacity:1;width:1.25em;height:1em;margin:0 .25rem 0 0;padding:0;font-size:1em;transition:transform .1s ease,opacity .1s ease;vertical-align:baseline;transform:none}.ui.accordion .accordion .title>.dropdown.icon.right,.ui.accordion .title>.dropdown.icon.right,.ui.accordion .ui.header>.dropdown.icon.right{float:right;transform:rotate(180deg)}.ui.accordion.menu .item .title{display:block;padding:0}.ui.accordion.menu .item .title>.dropdown.icon{float:right;margin:0 .25rem 0 0;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 .accordion[open]>.title>.dropdown.icon,.ui.accordion .active.title>.dropdown.icon,.ui.accordion[open]>.title>.dropdown.icon{transform:rotate(90deg)}.ui.accordion.menu .item .active.title>.dropdown.icon{transform:rotate(90deg)}.ui.styled.accordion{width:600px}.ui.styled.accordion,.ui.styled.accordion .accordion{border-radius:.28571429rem;background:#fff;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);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>.content{margin:0;padding:.5em 1em 1.5em}.ui.styled.accordion .accordion>.content{margin:0;padding:.5em 1em 1.5em}.ui.styled.accordion>.title:hover{background:0 0;color:rgba(0,0,0,.87)}.ui.styled.accordion .accordion>.title:hover{background:0 0;color:rgba(0,0,0,.87)}.ui.styled.accordion .active.title,.ui.styled.accordion[open]>.title{background:0 0;color:rgba(0,0,0,.95)}.ui.styled.accordion .accordion .active.title,.ui.styled.accordion .accordion[open]>.title{background:0 0;color:rgba(0,0,0,.95)}.ui.compact.accordion:not(.styled) .accordion>.title,.ui.compact.accordion:not(.styled)>.title{padding:.25em 0}.ui.compact.accordion:not(.styled) .accordion .title~.content,.ui.compact.accordion:not(.styled) .title~.content{padding:.25em 0 .5em}.ui.compact.styled.accordion .accordion>.title,.ui.compact.styled.accordion>.title{padding:.375em .5em}.ui.compact.styled.accordion .accordion .title~.content,.ui.compact.styled.accordion .title~.content{padding:.25em .5em .75em}.ui[class*="very compact"].accordion:not(.styled) .accordion>.title,.ui[class*="very compact"].accordion:not(.styled)>.title{padding:.125em 0}.ui[class*="very compact"].accordion:not(.styled) .accordion .title~.content,.ui[class*="very compact"].accordion:not(.styled) .title~.content{padding:.125em 0 .25em}.ui[class*="very compact"].styled.accordion .accordion>.title,.ui[class*="very compact"].styled.accordion>.title{padding:.1875em .25em}.ui[class*="very compact"].styled.accordion .accordion .title~.content,.ui[class*="very compact"].styled.accordion .title~.content{padding:.125em .25em .375em}.ui.accordion .accordion:not(details) .title~.content:not(.active),.ui.accordion:not(details) .title~.content:not(.active){display:none}.ui.fluid.accordion,.ui.fluid.accordion .accordion{width:100%}.ui.inverted.accordion .accordion>.title,.ui.inverted.accordion.menu .item>.title,.ui.inverted.accordion>.title{color:rgba(255,255,255,.9)}.ui.inverted.styled.accordion,.ui.inverted.styled.accordion .accordion{background:#1b1c1d;box-shadow:0 1px 2px 0 rgba(34,36,38,.15),0 0 0 1px rgba(255,255,255,.1)}.ui.inverted.styled.accordion .accordion>.title,.ui.inverted.styled.accordion>.title{color:rgba(255,255,255,.5);border-top:1px solid rgba(255,255,255,.1)}.ui.inverted.styled.accordion>.title:hover{background:0 0;color:rgba(255,255,255,.9)}.ui.inverted.styled.accordion .accordion>.title:hover{background:0 0;color:rgba(255,255,255,.9)}.ui.inverted.styled.accordion .active.title,.ui.inverted.styled.accordion[open]>.title{background:0 0;color:#fff}.ui.inverted.styled.accordion .accordion .active.title,.ui.inverted.styled.accordion .accordion[open]>.title{background:0 0;color:#fff}.ui.basic.styled.accordion,.ui.basic.styled.accordion .accordion{background:0 0;box-shadow:none}.ui.basic.styled.accordion .accordion>.title,.ui.basic.styled.accordion>.title{border:none;color:rgba(0,0,0,.6)}.ui.basic.styled.accordion .accordion>.title:hover,.ui.basic.styled.accordion>.title:hover{background:0 0;color:rgba(0,0,0,.87)}.ui.basic.styled.accordion .accordion .active.title,.ui.basic.styled.accordion .accordion[open]>.title,.ui.basic.styled.accordion .active.title,.ui.basic.styled.accordion[open]>.title{background:0 0;color:rgba(0,0,0,.95)}.ui.inverted.basic.styled.accordion .accordion>.title,.ui.inverted.basic.styled.accordion>.title{background:0 0;color:rgba(255,255,255,.8)}.ui.inverted.basic.styled.accordion .accordion>.title:hover,.ui.inverted.basic.styled.accordion>.title:hover{background:0 0;color:rgba(255,255,255,.9)}.ui.inverted.basic.styled.accordion .accordion .active.title,.ui.inverted.basic.styled.accordion .accordion[open]>.title,.ui.inverted.basic.styled.accordion .active.title,.ui.inverted.basic.styled.accordion[open]>.title{background:0 0;color:#fff}.ui.tree.accordion:not(.styled) .accordion .title~.content,.ui.tree.accordion:not(.styled) .title~.content{padding:0}.ui.tree.accordion .accordion>.content,.ui.tree.accordion>.content{margin-left:1.7em}.ui.tree.accordion .accordion{margin-top:0}@font-face{font-family:Accordion;src:url(data:application/font-woff;base64,d09GRk9UVE8AAAREAAsAAAAABkAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAC7AAAAQoAAAE/j/fxwUZGVE0AAAQUAAAAHAAAAByNqvxQR0RFRgAAA/gAAAAcAAAAIAAnABhPUy8yAAABYAAAAEIAAABgTadW5mNtYXAAAAKMAAAAUQAAAWAFZuKDaGVhZAAAAQgAAAAyAAAANg8zT8toaGVhAAABPAAAABoAAAAkApkA5mhtdHgAAAQwAAAAEwAAABYBtwASbWF4cAAAAVgAAAAGAAAABgAGUABuYW1lAAABpAAAAOYAAAGq/HAhWXBvc3QAAALgAAAADAAAACAAAwAAeJxjYGRgYADi8KWRsvH8Nl8ZuJkYQOD838XvQPT9hGxNIOXJsJ0xD0hzMIClARzsCcoAAHicY2BkYGB88P8BkGQAg+0wBhywAgBgjgOAAAAAAFAAAAYAAHicY2BmOM84gYGVgYHRhzGNgYHBHUp/ZZBkaGFABYwCSJyANNcUBgcGhg+3GB/8fwCUfMCgAFIDV6AAhIwARVcMJwAAeJx1jrFOwzAURU/SNKgFIVgQ6uSRKWolZjaQOnQBqQNb2lpRpMqW3HTowhew8U9I/BU37WOjtmyfd/3utYEbvsn4G7lxRsmtcc4FD8YD6U/GhfjNeMglybjU/DQeM+FHrqwY2QsnzrgSnTjnmnvjgfSpcSF+Nh5yx7txKf3DeMwjX31soqajJdCoqLs26HzFq9yz1WVS6Zv9tk5nmv8Vl0pI7CRHXThmVPofS592bQxuVk3PGF+Ohk6WRhHhGNO3eTbSVhy0z1mra6HV91YyxdC5xgevFL9xq4Obr+MixlDxC/HTOrsAAHicY2BgYGaAYBkGRgYQiALyGMF8FgY7IM3FwMHABISMDAofbv3/+/8/WJXCh5tgNuP/x2A+RC8bUC0DUB8rWIgNiJkY8AJm/NJDHgAALqoOxgAAAHicY2BmwAsAAH0ABHicPY7BSsNAEIZnkk2zlhg1JKAYxOrJi6RepMdC8SKefAJP4kVBzCtkNw7ZjeK1j9C38Rn6CO5CDrppigwMM8P/f/8gMAaIGL4+vD09PwJ6gLCwp2AnaM88e+7bQ0aRTxE7GcPRffJL9D9EIX2bW+sFOXzu5QD7OSwPcuA5Xiew05N8CIDDLiSQuTqGSVmU0/KqKG+Kxaxv8+llMURvHwBAgRJrfEeCEaLns9HdRxzHP/FqaV4yaptWK25SkwZKu4Va0rUSWjYVVbz7CqmqhZBSiNodqGqk5l2vFqrW1PJ4tWbGqZxVKa31htA6gmN2aTBwBobzuYsU1YYkGheyZVBqLjKKxn8cSmvuAAB4nGNgZGBg4AFiAQYJBiYgzQLEIJoRggEFbQBAAAAAAQAAAADeTO04AAAAAM/9o+4AAAAA32BrKXicY2BAAEYQsZ1BiIEBAAPpAMsA) format("woff");font-weight:400;font-style:normal}.ui.accordion .accordion .title>.dropdown.icon,.ui.accordion .title>.dropdown.icon,.ui.accordion .ui.header>.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,.ui.accordion .ui.header>.dropdown.icon::before{content:"\f0da"} \ No newline at end of file diff --git a/src/main/resources/kweb/static/plugins/fomantic/components/accordion.min.js b/src/main/resources/kweb/static/plugins/fomantic/components/accordion.min.js index 6f54bb479e..b87eac6b78 100644 --- a/src/main/resources/kweb/static/plugins/fomantic/components/accordion.min.js +++ b/src/main/resources/kweb/static/plugins/fomantic/components/accordion.min.js @@ -1,11 +1,11 @@ - /* - * # Fomantic UI - 2.8.6 +/* + * # Fomantic UI - 2.9.3 * https://github.com/fomantic/Fomantic-UI - * http://fomantic-ui.com/ + * https://fomantic-ui.com/ * - * Copyright 2014 Contributors + * Copyright 2023 Contributors * Released under the MIT license - * http://opensource.org/licenses/MIT + * https://opensource.org/licenses/MIT * */ -!function(T,k,e,F){"use strict";T.isFunction=T.isFunction||function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},k=void 0!==k&&k.Math==Math?k:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")(),T.fn.accordion=function(s){var v,a=T(this),b=(new Date).getTime(),y=[],C=s,O="string"==typeof C,x=[].slice.call(arguments,1);return a.each(function(){var e,r,d=T.isPlainObject(s)?T.extend(!0,{},T.fn.accordion.settings,s):T.extend({},T.fn.accordion.settings),u=d.className,n=d.namespace,g=d.selector,l=d.error,t="."+n,i="module-"+n,o=a.selector||"",f=T(this),p=f.find(g.title),m=f.find(g.content),c=this,h=f.data(i);r={initialize:function(){r.debug("Initializing",f),r.bind.events(),d.observeChanges&&r.observeChanges(),r.instantiate()},instantiate:function(){h=r,f.data(i,r)},destroy:function(){r.debug("Destroying previous instance",f),f.off(t).removeData(i)},refresh:function(){p=f.find(g.title),m=f.find(g.content)},observeChanges:function(){"MutationObserver"in k&&((e=new MutationObserver(function(e){r.debug("DOM tree modified, updating selector cache"),r.refresh()})).observe(c,{childList:!0,subtree:!0}),r.debug("Setting up mutation observer",e))},bind:{events:function(){r.debug("Binding delegated events"),f.on(d.on+t,g.trigger,r.event.click)}},event:{click:function(){r.toggle.call(this)}},toggle:function(e){var n=e!==F?"number"==typeof e?p.eq(e):T(e).closest(g.title):T(this).closest(g.title),t=n.next(m),i=t.hasClass(u.animating),o=t.hasClass(u.active),s=o&&!i,a=!o&&i;r.debug("Toggling visibility of content",n),s||a?d.collapsible?r.close.call(n):r.debug("Cannot close accordion content collapsing is disabled"):r.open.call(n)},open:function(e){var n=e!==F?"number"==typeof e?p.eq(e):T(e).closest(g.title):T(this).closest(g.title),t=n.next(m),i=t.hasClass(u.animating);t.hasClass(u.active)||i?r.debug("Accordion already open, skipping",t):(r.debug("Opening accordion content",n),d.onOpening.call(t),d.onChanging.call(t),d.exclusive&&r.closeOthers.call(n),n.addClass(u.active),t.stop(!0,!0).addClass(u.animating),d.animateChildren&&(T.fn.transition!==F&&f.transition("is supported")?t.children().transition({animation:"fade in",queue:!1,useFailSafe:!0,debug:d.debug,verbose:d.verbose,duration:d.duration,skipInlineHidden:!0,onComplete:function(){t.children().removeClass(u.transition)}}):t.children().stop(!0,!0).animate({opacity:1},d.duration,r.resetOpacity)),t.slideDown(d.duration,d.easing,function(){t.removeClass(u.animating).addClass(u.active),r.reset.display.call(this),d.onOpen.call(this),d.onChange.call(this)}))},close:function(e){var n=e!==F?"number"==typeof e?p.eq(e):T(e).closest(g.title):T(this).closest(g.title),t=n.next(m),i=t.hasClass(u.animating),o=t.hasClass(u.active);!o&&!(!o&&i)||o&&i||(r.debug("Closing accordion content",t),d.onClosing.call(t),d.onChanging.call(t),n.removeClass(u.active),t.stop(!0,!0).addClass(u.animating),d.animateChildren&&(T.fn.transition!==F&&f.transition("is supported")?t.children().transition({animation:"fade out",queue:!1,useFailSafe:!0,debug:d.debug,verbose:d.verbose,duration:d.duration,skipInlineHidden:!0}):t.children().stop(!0,!0).animate({opacity:0},d.duration,r.resetOpacity)),t.slideUp(d.duration,d.easing,function(){t.removeClass(u.animating).removeClass(u.active),r.reset.display.call(this),d.onClose.call(this),d.onChange.call(this)}))},closeOthers:function(e){var n,t,i,o=e!==F?p.eq(e):T(this).closest(g.title),s=o.parents(g.content).prev(g.title),a=o.closest(g.accordion),l=g.title+"."+u.active+":visible",c=g.content+"."+u.active+":visible";i=d.closeNested?(n=a.find(l).not(s)).next(m):(n=a.find(l).not(s),t=a.find(c).find(l).not(s),(n=n.not(t)).next(m)),0= 0) { + $context = $(context); + } else { + $context = $(win.document).find(context); + if ($context.length === 0) { + $context = win.frameElement ? contextCheck(context, win.parent) : window; + } + } - destroy: function() { - module.verbose('Destroying previous module for', element); - $module - .removeData(moduleNamespace) - .off(eventNamespace) - ; - }, + return $context; + }, + returnedValue + ; - bind: { - events: function() { + $allModules.each(function () { var - triggerEvent = module.get.event() + settings = $.isPlainObject(parameters) + ? $.extend(true, {}, $.fn.api.settings, parameters) + : $.extend({}, $.fn.api.settings), + + // internal aliases + regExp = settings.regExp, + 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 ? contextCheck(settings.stateContext, window) : $module, + + // request details + ajaxSettings, + requestSettings, + url, + data, + requestStartTime, + originalData, + + // standard module + element = this, + context = $context[0], + instance = $module.data(moduleNamespace), + module ; - 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; - } - }, + module = { - 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); - } - }, + initialize: function () { + if (!methodInvoked) { + originalData = settings.data; + module.bind.events(); + } + module.instantiate(); + }, + + instantiate: function () { + module.verbose('Storing instance of module', module); + instance = module; + $module + .data(moduleNamespace, instance) + ; + }, - query: function() { + 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) { + // isn't json string + } + } + + return response; + }, + }, + + read: { + cachedResponse: function (url) { + var + response + ; + if (window.Storage === undefined) { + module.error(error.noStorage); + + return; + } + response = sessionStorage.getItem(url + module.get.normalizedData()); + module.debug('Using cached response', url, settings.data, response); + response = module.decode.json(response); + + return response; + }, + }, + write: { + cachedResponse: function (url, response) { + if (window.Storage === undefined) { + module.error(error.noStorage); + + return; + } + if ($.isPlainObject(response)) { + response = JSON.stringify(response); + } + sessionStorage.setItem(url + module.get.normalizedData(), response); + module.verbose('Storing cached response for url', url, settings.data, response); + }, + }, + + query: function () { + if (module.is.disabled()) { + module.debug('Element is disabled API request aborted'); + + return; + } - 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'); - 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); - } - } + return; + } + } - }, + // pass element metadata to url (value, text) + if (settings.defaultData) { + $.extend(true, settings.urlData, module.get.defaultData()); + } - should: { - removeError: function() { - return ( settings.hideError === true || (settings.hideError === 'auto' && !module.is.form()) ); - } - }, + // Add form content + if (settings.serializeForm) { + settings.data = module.add.formData(originalData || settings.data); + } - 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; - } - } - }, + // call beforesend and get any settings changes + requestSettings = module.get.settings(); - was: { - cancelled: function() { - return (module.cancelled || false); - }, - succesful: function() { - module.verbose('This behavior will be deleted due to typo. Use "was successful" instead.'); - return module.was.successful(); - }, - successful: 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') ); - } - }, + // check if before send cancelled request + if (requestSettings === false) { + module.cancelled = true; + module.error(error.beforeSend); - 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 + return; + } + + 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; + } + + 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; + } + + module.debug('Response failed success test', response); + + return false; + }, + }, + + was: { + cancelled: function () { + return module.cancelled || false; + }, + successful: 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(regExp.required); + optionalVariables = url.match(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.slice(2, -1) + : templatedString.slice(1, -1), + value = $.isPlainObject(urlData) && urlData[variable] !== undefined + ? urlData[variable] + : ($module.data(variable) !== undefined + ? $module.data(variable) + : ($context.data(variable) !== undefined // eslint-disable-line unicorn/no-nested-ternary + ? $context.data(variable) + : urlData[variable])) + ; + // remove value + if (value === undefined) { + module.error(error.requiredParameter, variable, url); + url = false; + + return false; + } + + 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.slice(3, -1) + : templatedString.slice(2, -1), + value = $.isPlainObject(urlData) && urlData[variable] !== undefined + ? urlData[variable] + : ($module.data(variable) !== undefined + ? $module.data(variable) + : ($context.data(variable) !== undefined // eslint-disable-line unicorn/no-nested-ternary + ? $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 + url = url.indexOf('/' + templatedString) !== -1 + ? url.replace('/' + templatedString, '') + : url.replace(templatedString, ''); + } + }); + } + } + + return url; + }, + formData: function (data) { + var + formData = {}, + hasOtherData, + useFormDataApi = settings.serializeForm === 'formdata' + ; + data = data || originalData || settings.data; + hasOtherData = $.isPlainObject(data); + + if (useFormDataApi) { + formData = new FormData($form[0]); + settings.processData = settings.processData !== undefined ? settings.processData : false; + settings.contentType = settings.contentType !== undefined ? settings.contentType : false; + } else { + var + formArray = $form.serializeArray(), + pushes = {}, + pushValues = {}, + build = function (base, key, value) { + base[key] = value; + + return base; + } + ; + // add files + $.each($('input[type="file"]', $form), function (i, tag) { + $.each($(tag)[0].files, function (j, file) { + formArray.push({ name: tag.name, value: file }); + }); + }); + $.each(formArray, function (i, el) { + if (!regExp.validate.test(el.name)) { + return; + } + var + isCheckbox = $('[name="' + el.name + '"]', $form).attr('type') === 'checkbox', + floatValue = parseFloat(el.value), + value = (isCheckbox && el.value === 'on') + || el.value === 'true' + || (String(floatValue) === el.value + ? floatValue + : (el.value === 'false' ? false : el.value)), + nameKeys = el.name.match(regExp.key) || [], + pushKey = el.name.replace(/\[]$/, '') + ; + if (!(pushKey in pushes)) { + pushes[pushKey] = 0; + pushValues[pushKey] = value; + } else if (Array.isArray(pushValues[pushKey])) { + pushValues[pushKey].push(value); + } else { + pushValues[pushKey] = [pushValues[pushKey], value]; + } + if (pushKey.indexOf('[]') === -1) { + value = pushValues[pushKey]; + } + + while (nameKeys.length > 0) { + var k = nameKeys.pop(); + + if (k === '' && !Array.isArray(value)) { // foo[] + value = build([], pushes[pushKey]++, value); + } else if (regExp.fixed.test(k)) { // foo[n] + value = build([], k, value); + } else if (regExp.named.test(k)) { // foo; foo[bar] + value = build({}, k, value); + } + } + formData = $.extend(true, formData, value); + }); + } + + if (hasOtherData) { + module.debug('Extending existing data with form data', data, formData); + if (useFormDataApi) { + $.each(Object.keys(data), function (i, el) { + formData.append(el, data[el]); + }); + data = formData; + } else { + data = $.extend(true, {}, 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 = Date.now() - requestStartTime, + timeLeft = settings.loadingDuration - elapsedTime, + translatedResponse = isFunction(settings.onResponse) + ? (module.is.expectingJSON() && !settings.rawResponse + ? 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 = Date.now() - 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.successful()) { + 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; + } + 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 || xhr.status >= 300) && 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(function () { 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 = Date.now(); + }, + }, + + 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: { + normalizedData: function () { + return typeof settings.data === 'string' ? settings.data : JSON.stringify(settings.data, Object.keys(settings.data).sort()); + }, + 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($module, 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()) { + 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; + } + if (settings.on === 'auto') { + if ($module.is('input')) { + return element.oninput !== undefined + ? 'input' + : (element.onpropertychange !== undefined + ? 'propertychange' + : 'keyup'); + } + if ($module.is('form')) { + return 'submit'; + } + + return 'click'; + } + + return settings.on; + }, + templatedURL: function (action) { + action = action || settings.action || $module.data(metadata.action) || false; + url = settings.url || $module.data(metadata.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() ; - 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, ''); + if (xhr && xhr.state() !== 'resolved') { + module.debug('Cancelling API request'); + xhr.abort(); } - else { - url = url.replace(templatedString, ''); + }, + + // 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 = Date.now(); + 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(function () { 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 (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 = context || element; + 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 (Array.isArray(returnedValue)) { + returnedValue.push(response); + } else if (returnedValue !== undefined) { + returnedValue = [returnedValue, response]; + } else if (response !== undefined) { + returnedValue = response; } - } - }); - } - } - 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); - } - }, + return found; + }, + }; - 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.rawResponse - ? 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]); + if (methodInvoked) { + if (instance === undefined) { + module.initialize(); } - else { - module.request.rejectWith(context, [xhr, 'error', status, httpMessage]); + module.invoke(query); + } else { + if (instance !== undefined) { + instance.invoke('destroy'); } - }, timeLeft); + module.initialize(); } - }, - 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.successful() ) { - 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 || xhr.status >= 300) && 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); - } - } - }, + return returnedValue !== undefined + ? returnedValue + : this; + }; + $.api = $.fn.api; - create: { + $.api.settings = { - request: function() { - // api request promise - return $.Deferred() - .always(module.event.request.complete) - .done(module.event.request.done) - .fail(module.event.request.fail) - ; - }, + name: 'API', + namespace: 'api', - 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 - ; + debug: false, + verbose: false, + performance: true, - mockedXHR = $.Deferred() - .always(module.event.xhr.complete) - .done(module.event.xhr.done) - .fail(module.event.xhr.fail) - ; + // object containing all templates endpoints + api: {}, - 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); + // whether to cache responses + cache: true, - 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; - }, + // whether new requests should abort previous requests + interruptRequests: true, - 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; - } - }, + // event binding + on: 'auto', - 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(); - } - }, + // context for applying state classes + stateContext: false, - 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); - } - }, + // duration for loading state + loadingDuration: 0, - 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($module, 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; - } - }, + // whether to hide errors after a period of time + hideError: 'auto', - abort: function() { - var - xhr = module.get.xhr() - ; - if( xhr && xhr.state() !== 'resolved') { - module.debug('Cancelling API request'); - xhr.abort(); - } - }, + // duration for error state + errorDuration: 2000, - // reset state - reset: function() { - module.remove.error(); - module.remove.loading(); - }, + // whether parameters should be encoded with encodeURIComponent + encodeParameters: true, - setting: function(name, value) { - module.debug('Changing setting', name, value); - if( $.isPlainObject(name) ) { - $.extend(true, settings, name); - } - else if(value !== undefined) { - if($.isPlainObject(settings[name])) { - $.extend(true, settings[name], value); - } - else { - settings[name] = value; - } - } - else { - return settings[name]; - } - }, - internal: function(name, value) { - if( $.isPlainObject(name) ) { - $.extend(true, module, name); - } - else if(value !== undefined) { - module[name] = value; - } - else { - return module[name]; - } - }, - debug: function() { - if(!settings.silent && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.debug.apply(console, arguments); - } - } - }, - verbose: function() { - if(!settings.silent && settings.verbose && settings.debug) { - if(settings.performance) { - module.performance.log(arguments); - } - else { - module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); - module.verbose.apply(console, arguments); - } - } - }, - error: function() { - if(!settings.silent) { - module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); - module.error.apply(console, arguments); - } - }, - performance: { - log: function(message) { - var - currentTime, - executionTime, - previousTime - ; - if(settings.performance) { - currentTime = new Date().getTime(); - previousTime = time || currentTime; - executionTime = currentTime - previousTime; - time = currentTime; - performance.push({ - 'Name' : message[0], - 'Arguments' : [].slice.call(message, 1) || '', - //'Element' : element, - 'Execution Time' : executionTime - }); - } - clearTimeout(module.performance.timer); - module.performance.timer = setTimeout(module.performance.display, 500); - }, - display: function() { - var - title = settings.name + ':', - totalTime = 0 - ; - time = false; - clearTimeout(module.performance.timer); - $.each(performance, function(index, data) { - totalTime += data['Execution Time']; - }); - title += ' ' + totalTime + 'ms'; - if(moduleSelector) { - title += ' \'' + moduleSelector + '\''; - } - if( (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(Array.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, - -// whether onResponse should work with response value without force converting into an object - rawResponse : false, + // API action to use + action: false, - // callbacks before request - beforeSend : function(settings) { return settings; }, - beforeXHR : function(xhr) {}, - onRequest : function(promise, xhr) {}, + // templated URL to use + url: false, - // after request - onResponse : false, // function(response) { }, + // base URL to apply to all endpoints + base: '', - // response was successful, if JSON passed validation - onSuccess : function(response, $module) {}, + // data that will + urlData: {}, - // request finished without aborting - onComplete : function(response, $module) {}, + // whether to add default data to url data + defaultData: true, - // failed JSON success test - onFailure : function(response, $module) {}, + // whether to serialize closest form + // use true to convert complex named keys like a[b][1][c][] into a nested object + // use 'formdata' for formdata web api + serializeForm: false, - // server error - onError : function(errorMessage, $module) {}, + // how long to wait before request should occur + throttle: 0, - // request aborted - onAbort : function(errorMessage, $module) {}, + // whether to throttle first request or only repeated + throttleFirstRequest: true, - successTest : false, + // standard ajax settings + method: 'get', + data: {}, + dataType: 'json', - // 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' - }, + // mock response + mockResponse: false, + mockResponseAsync: false, - regExp : { - required : /\{\$*[A-z0-9]+\}/g, - optional : /\{\/\$*[A-z0-9]+\}/g, - }, + // aliases for mock + response: false, + responseAsync: false, - className: { - loading : 'loading', - error : 'error' - }, + // whether onResponse should work with response value without force converting into an object + rawResponse: true, - selector: { - disabled : '.disabled', - form : 'form' - }, + // 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', + 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', + }, - metadata: { - action : 'action', - url : 'url' - } -}; + regExp: { + required: /{\$*[\da-z]+}/gi, + optional: /{\/\$*[\da-z]+}/gi, + validate: /^[_a-z][\w-]*(?:\[[\w-]*])*$/i, + key: /[\w-]+|(?=\[])/gi, + push: /^$/, + fixed: /^\d+$/, + named: /^[\w-]+$/i, + }, + className: { + loading: 'loading', + error: 'error', + }, + selector: { + disabled: '.disabled', + form: 'form', + }, -})( jQuery, window, document ); + metadata: { + action: 'action', + url: 'url', + }, + }; +})(jQuery, window, document); diff --git a/src/main/resources/kweb/static/plugins/fomantic/components/api.min.js b/src/main/resources/kweb/static/plugins/fomantic/components/api.min.js index 4cd81ce172..b9a6cd1677 100644 --- a/src/main/resources/kweb/static/plugins/fomantic/components/api.min.js +++ b/src/main/resources/kweb/static/plugins/fomantic/components/api.min.js @@ -1,11 +1,11 @@ - /* - * # Fomantic UI - 2.8.6 +/* + * # Fomantic UI - 2.9.3 * https://github.com/fomantic/Fomantic-UI - * http://fomantic-ui.com/ + * https://fomantic-ui.com/ * - * Copyright 2014 Contributors + * Copyright 2023 Contributors * Released under the MIT license - * http://opensource.org/licenses/MIT + * https://opensource.org/licenses/MIT * */ -!function(P,j,e,O){"use strict";P.isWindow=P.isWindow||function(e){return null!=e&&e===e.window},j=void 0!==j&&j.Math==Math?j:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")(),P.api=P.fn.api=function(R){var q,e=P.isFunction(this)?P(j):P(this),x=e.selector||"",S=(new Date).getTime(),A=[],w=R,T="string"==typeof w,k=[].slice.call(arguments,1);return e.each(function(){var s,i,r,e,a,u,c=P.isPlainObject(R)?P.extend(!0,{},P.fn.api.settings,R):P.extend({},P.fn.api.settings),t=c.namespace,n=c.metadata,o=c.selector,d=c.error,l=c.className,f="."+t,g="module-"+t,p=P(this),m=p.closest(o.form),b=c.stateContext?P(c.stateContext):p,v=this,h=b[0],y=p.data(g);u={initialize:function(){T||u.bind.events(),u.instantiate()},instantiate:function(){u.verbose("Storing instance of module",u),y=u,p.data(g,y)},destroy:function(){u.verbose("Destroying previous module for",v),p.removeData(g).off(f)},bind:{events:function(){var e=u.get.event();e?(u.verbose("Attaching API events to element",e),p.on(e+f,u.event.trigger)):"now"==c.on&&(u.debug("Querying API endpoint immediately"),u.query())}},decode:{json:function(e){if(e!==O&&"string"==typeof e)try{e=JSON.parse(e)}catch(e){}return e}},read:{cachedResponse:function(e){var t;if(j.Storage!==O)return t=sessionStorage.getItem(e),u.debug("Using cached response",e,t),t=u.decode.json(t);u.error(d.noStorage)}},write:{cachedResponse:function(e,t){t&&""===t?u.debug("Response empty, not caching",t):j.Storage!==O?(P.isPlainObject(t)&&(t=JSON.stringify(t)),sessionStorage.setItem(e,t),u.verbose("Storing cached response for url",e,t)):u.error(d.noStorage)}},query:function(){if(u.is.disabled())u.debug("Element is disabled API request aborted");else{if(u.is.loading()){if(!c.interruptRequests)return void u.debug("Cancelling request, previous request is still pending");u.debug("Interrupting previous request"),u.abort()}if(c.defaultData&&P.extend(!0,c.urlData,u.get.defaultData()),c.serializeForm&&(c.data=u.add.formData(c.data)),!1===(i=u.get.settings()))return u.cancelled=!0,void u.error(d.beforeSend);if(u.cancelled=!1,(r=u.get.templatedURL())||u.is.mocked()){if((r=u.add.urlData(r))||u.is.mocked()){if(i.url=c.base+r,s=P.extend(!0,{},c,{type:c.method||c.type,data:e,url:c.base+r,beforeSend:c.beforeXHR,success:function(){},failure:function(){},complete:function(){}}),u.debug("Querying URL",s.url),u.verbose("Using AJAX settings",s),"local"===c.cache&&u.read.cachedResponse(r))return u.debug("Response returned from local cache"),u.request=u.create.request(),void u.request.resolveWith(h,[u.read.cachedResponse(r)]);c.throttle?c.throttleFirstRequest||u.timer?(u.debug("Throttling request",c.throttle),clearTimeout(u.timer),u.timer=setTimeout(function(){u.timer&&delete u.timer,u.debug("Sending throttled request",e,s.method),u.send.request()},c.throttle)):(u.debug("Sending request",e,s.method),u.send.request(),u.timer=setTimeout(function(){},c.throttle)):(u.debug("Sending request",e,s.method),u.send.request())}}else u.error(d.missingURL)}},should:{removeError:function(){return!0===c.hideError||"auto"===c.hideError&&!u.is.form()}},is:{disabled:function(){return 0 .active.section { - color: #FFFFFF; + color: #fff; } .ui.inverted.breadcrumb > .divider { color: rgba(255, 255, 255, 0.7); diff --git a/src/main/resources/kweb/static/plugins/fomantic/components/breadcrumb.min.css b/src/main/resources/kweb/static/plugins/fomantic/components/breadcrumb.min.css index 56f2750544..cc206b861c 100644 --- a/src/main/resources/kweb/static/plugins/fomantic/components/breadcrumb.min.css +++ b/src/main/resources/kweb/static/plugins/fomantic/components/breadcrumb.min.css @@ -1,9 +1,9 @@ /*! - * # Fomantic-UI - Breadcrumb - * http://github.com/fomantic/Fomantic-UI/ + * # Fomantic-UI 2.9.3 - Breadcrumb + * https://github.com/fomantic/Fomantic-UI/ * * * Released under the MIT license - * http://opensource.org/licenses/MIT + * https://opensource.org/licenses/MIT * - */.ui.breadcrumb{line-height:1.4285em;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.inverted.breadcrumb{color:#dcddde}.ui.inverted.breadcrumb>.active.section{color:#fff}.ui.inverted.breadcrumb>.divider{color:rgba(255,255,255,.7)}.ui.breadcrumb .active.section{font-weight:700}.ui.breadcrumb{font-size:1rem}.ui.mini.breadcrumb{font-size:.78571429rem}.ui.tiny.breadcrumb{font-size:.85714286rem}.ui.small.breadcrumb{font-size:.92857143rem}.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 + */.ui.breadcrumb{line-height:1.4285em;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;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.inverted.breadcrumb{color:#dcddde}.ui.inverted.breadcrumb>.active.section{color:#fff}.ui.inverted.breadcrumb>.divider{color:rgba(255,255,255,.7)}.ui.breadcrumb .active.section{font-weight:700}.ui.breadcrumb{font-size:1rem}.ui.mini.breadcrumb{font-size:.78571429rem}.ui.tiny.breadcrumb{font-size:.85714286rem}.ui.small.breadcrumb{font-size:.92857143rem}.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/src/main/resources/kweb/static/plugins/fomantic/components/button.css b/src/main/resources/kweb/static/plugins/fomantic/components/button.css index 5560c03244..6a35100f59 100644 --- a/src/main/resources/kweb/static/plugins/fomantic/components/button.css +++ b/src/main/resources/kweb/static/plugins/fomantic/components/button.css @@ -1,10 +1,10 @@ /*! - * # Fomantic-UI - Button - * http://github.com/fomantic/Fomantic-UI/ + * # Fomantic-UI 2.9.3 - Button + * https://github.com/fomantic/Fomantic-UI/ * * * Released under the MIT license - * http://opensource.org/licenses/MIT + * https://opensource.org/licenses/MIT * */ @@ -20,9 +20,9 @@ outline: none; border: none; vertical-align: baseline; - background: #E0E1E2 none; + background: #e0e1e2 none; color: rgba(0, 0, 0, 0.6); - font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; + font-family: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; margin: 0 0.25em 0 0; padding: 0.78571429em 1.5em 0.78571429em; text-transform: none; @@ -33,16 +33,11 @@ text-align: center; text-decoration: none; border-radius: 0.28571429rem; - -webkit-box-shadow: 0 0 0 1px transparent inset, 0 0 0 0 rgba(34, 36, 38, 0.15) inset; - box-shadow: 0 0 0 1px transparent inset, 0 0 0 0 rgba(34, 36, 38, 0.15) inset; + box-shadow: 0 0 0 1px transparent inset, 0 0 0 0 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: auto; -webkit-tap-highlight-color: transparent; } @@ -53,89 +48,79 @@ *******************************/ -/*-------------- +/* -------------- Hover ----------------*/ - +--------------- */ .ui.button:hover { - background-color: #CACBCD; + background-color: #cacbcd; background-image: none; - -webkit-box-shadow: 0 0 0 1px transparent inset, 0 0 0 0 rgba(34, 36, 38, 0.15) inset; - box-shadow: 0 0 0 1px transparent inset, 0 0 0 0 rgba(34, 36, 38, 0.15) inset; + box-shadow: 0 0 0 1px transparent inset, 0 0 0 0 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; + background-color: #cacbcd; color: rgba(0, 0, 0, 0.8); background-image: none; - -webkit-box-shadow: ''; - box-shadow: ''; + box-shadow: ""; } .ui.button:focus .icon { opacity: 0.85; } -/*-------------- +/* -------------- Down ----------------*/ - +--------------- */ .ui.button:active, .ui.active.button:active { - background-color: #BABBBC; - background-image: ''; + background-color: #babbbc; + background-image: ""; color: rgba(0, 0, 0, 0.9); - -webkit-box-shadow: 0 0 0 1px transparent inset, none; - box-shadow: 0 0 0 1px transparent inset, none; + box-shadow: none; } -/*-------------- +/* -------------- Active ----------------*/ - +--------------- */ .ui.active.button { - background-color: #C0C1C2; + background-color: #c0c1c2; background-image: none; - -webkit-box-shadow: 0 0 0 1px transparent inset; - box-shadow: 0 0 0 1px transparent inset; + box-shadow: 0 0 0 1px transparent inset; color: rgba(0, 0, 0, 0.95); } .ui.active.button:hover { - background-color: #C0C1C2; + background-color: #c0c1c2; background-image: none; color: rgba(0, 0, 0, 0.95); } .ui.active.button:active { - background-color: #C0C1C2; + background-color: #c0c1c2; background-image: none; } -/*-------------- - Loading ----------------*/ - +/* -------------- + Loading + --------------- */ /* Specificity hack */ -.ui.loading.loading.loading.loading.loading.loading.button { +.ui.ui.ui.ui.ui.ui.loading.button { position: relative; cursor: default; text-shadow: none !important; color: transparent; 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 { +.ui.loading.button::before { position: absolute; - content: ''; + content: ""; top: 50%; left: 50%; margin: -0.64285714em 0 0 -0.64285714em; @@ -144,38 +129,39 @@ border-radius: 500rem; border: 0.2em solid rgba(0, 0, 0, 0.15); } -.ui.loading.button:after { +.ui.loading.button::after { position: absolute; - content: ''; + content: ""; top: 50%; left: 50%; margin: -0.64285714em 0 0 -0.64285714em; width: 1.28571429em; height: 1.28571429em; border-radius: 500rem; - -webkit-animation: loader 0.6s infinite linear; - animation: loader 0.6s infinite linear; + animation: loader 0.6s infinite linear; border: 0.2em solid currentColor; - color: #FFFFFF; - -webkit-box-shadow: 0 0 0 1px transparent; - box-shadow: 0 0 0 1px transparent; + color: #fff; + box-shadow: 0 0 0 1px transparent; +} +.ui.ui.ui.loading.button .label { + background-color: transparent; + border-color: transparent; + color: transparent; } .ui.labeled.icon.loading.button .icon { background-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; + box-shadow: none; } -.ui.basic.loading.button:not(.inverted):before { +.ui.basic.loading.button:not(.inverted)::before { border-color: rgba(0, 0, 0, 0.1); } -.ui.basic.loading.button:not(.inverted):after { +.ui.basic.loading.button:not(.inverted)::after { border-color: #767676; } -/*------------------- - Disabled - --------------------*/ - +/* ------------------- + Disabled + -------------------- */ .ui.buttons .disabled.button:not(.basic), .ui.disabled.button, .ui.button:disabled, @@ -184,8 +170,7 @@ cursor: default; opacity: 0.45 !important; background-image: none; - -webkit-box-shadow: none; - box-shadow: none; + box-shadow: none; pointer-events: none !important; } @@ -200,10 +185,9 @@ *******************************/ -/*------------------- - Animated - --------------------*/ - +/* ------------------- + Animated + -------------------- */ .ui.animated.button { position: relative; overflow: hidden; @@ -226,7 +210,6 @@ /* 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 { @@ -253,14 +236,10 @@ /* 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%); + transform: translateY(0); right: auto; } .ui.vertical.animated.button .hidden.content { @@ -270,8 +249,7 @@ } .ui.vertical.animated.button:focus .visible.content, .ui.vertical.animated.button:hover .visible.content { - -webkit-transform: translateY(200%); - transform: translateY(200%); + transform: translateY(200%); right: auto; } .ui.vertical.animated.button:focus .hidden.content, @@ -283,51 +261,42 @@ /* 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); + transform: scale(1); } .ui.fade.animated.button .hidden.content { opacity: 0; left: 0; right: auto; - -webkit-transform: scale(1.5); - 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); + 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); + transform: scale(1); } -/*------------------- - Inverted - --------------------*/ - +/* ------------------- + Inverted + -------------------- */ .ui.inverted.button { - -webkit-box-shadow: 0 0 0 2px #FFFFFF inset; - box-shadow: 0 0 0 2px #FFFFFF inset; + box-shadow: 0 0 0 2px #fff inset; background: transparent none; - color: #FFFFFF; + color: #fff; text-shadow: none !important; } @@ -349,65 +318,51 @@ /* Hover */ .ui.inverted.button:hover { - background: #FFFFFF; - -webkit-box-shadow: 0 0 0 2px #FFFFFF inset; - box-shadow: 0 0 0 2px #FFFFFF inset; + background: #fff; + box-shadow: 0 0 0 2px #fff inset; color: rgba(0, 0, 0, 0.8); } /* Active / Focus */ .ui.inverted.button:focus, .ui.inverted.button.active { - background: #FFFFFF; - -webkit-box-shadow: 0 0 0 2px #FFFFFF inset; - box-shadow: 0 0 0 2px #FFFFFF inset; + background: #fff; + box-shadow: 0 0 0 2px #fff inset; color: rgba(0, 0, 0, 0.8); } /* Active Focus */ .ui.inverted.button.active:focus { - background: #DCDDDE; - -webkit-box-shadow: 0 0 0 2px #DCDDDE inset; - box-shadow: 0 0 0 2px #DCDDDE inset; + background: #dcddde; + box-shadow: 0 0 0 2px #dcddde inset; color: rgba(0, 0, 0, 0.8); } -/*------------------- - Labeled Button - --------------------*/ - +/* ------------------- + 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; + flex-direction: row; background: none; padding: 0 !important; border: none; - -webkit-box-shadow: none; - box-shadow: none; + box-shadow: none; } .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; + align-items: center; margin: 0 0 0 -1px !important; font-size: 1em; - padding: ''; + padding: ""; border-color: rgba(34, 36, 38, 0.15); } /* Tag */ -.ui.labeled.button > .tag.label:before { +.ui.labeled.button > .tag.label::before { width: 1.85em; height: 1.85em; } @@ -432,209 +387,197 @@ border-bottom-right-radius: 0; } -/*------------------- - Social - --------------------*/ - +/* ------------------- + Social + -------------------- */ /* Facebook */ .ui.facebook.button { - background-color: #3B5998; - color: #FFFFFF; + background-color: #3b5998; + color: #fff; text-shadow: none; background-image: none; - -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; + box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; } .ui.facebook.button:hover { background-color: #304d8a; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.facebook.button:active { background-color: #2d4373; - color: #FFFFFF; + color: #fff; text-shadow: none; } /* Twitter */ .ui.twitter.button { - background-color: #1DA1F2; - color: #FFFFFF; + background-color: #1da1f2; + color: #fff; text-shadow: none; background-image: none; - -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; + box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; } .ui.twitter.button:hover { background-color: #0298f3; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.twitter.button:active { background-color: #0c85d0; - color: #FFFFFF; + color: #fff; text-shadow: none; } /* Google Plus */ .ui.google.plus.button { - background-color: #DD4B39; - color: #FFFFFF; + background-color: #dd4b39; + color: #fff; text-shadow: none; background-image: none; - -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; + box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; } .ui.google.plus.button:hover { background-color: #e0321c; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.google.plus.button:active { background-color: #c23321; - color: #FFFFFF; + color: #fff; text-shadow: none; } /* Linked In */ .ui.linkedin.button { - background-color: #0077B5; - color: #FFFFFF; + background-color: #0077b5; + color: #fff; text-shadow: none; } .ui.linkedin.button:hover { background-color: #00669c; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.linkedin.button:active { background-color: #005582; - color: #FFFFFF; + color: #fff; text-shadow: none; } /* YouTube */ .ui.youtube.button { - background-color: #FF0000; - color: #FFFFFF; + background-color: #f00; + color: #fff; text-shadow: none; background-image: none; - -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; + box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; } .ui.youtube.button:hover { background-color: #e60000; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.youtube.button:active { background-color: #cc0000; - color: #FFFFFF; + color: #fff; text-shadow: none; } /* Instagram */ .ui.instagram.button { - background-color: #49769C; - color: #FFFFFF; + background-color: #49769c; + color: #fff; text-shadow: none; background-image: none; - -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; + box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; } .ui.instagram.button:hover { background-color: #3d698e; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.instagram.button:active { background-color: #395c79; - color: #FFFFFF; + color: #fff; text-shadow: none; } /* Pinterest */ .ui.pinterest.button { - background-color: #BD081C; - color: #FFFFFF; + background-color: #bd081c; + color: #fff; text-shadow: none; background-image: none; - -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; + box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; } .ui.pinterest.button:hover { background-color: #ac0013; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.pinterest.button:active { background-color: #8c0615; - color: #FFFFFF; + color: #fff; text-shadow: none; } /* VK */ .ui.vk.button { - background-color: #45668E; - color: #FFFFFF; + background-color: #45668e; + color: #fff; background-image: none; - -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; + box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; } .ui.vk.button:hover { background-color: #395980; - color: #FFFFFF; + color: #fff; } .ui.vk.button:active { background-color: #344d6c; - color: #FFFFFF; + color: #fff; } /* WhatsApp */ .ui.whatsapp.button { - background-color: #25D366; - color: #FFFFFF; + background-color: #25d366; + color: #fff; background-image: none; - -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; + box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; } .ui.whatsapp.button:hover { background-color: #19c55a; - color: #FFFFFF; + color: #fff; } .ui.whatsapp.button:active { background-color: #1da851; - color: #FFFFFF; + color: #fff; } /* Telegram */ .ui.telegram.button { - background-color: #0088CC; - color: #FFFFFF; + background-color: #08c; + color: #fff; background-image: none; - -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; + box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; } .ui.telegram.button:hover { background-color: #0077b3; - color: #FFFFFF; + color: #fff; } .ui.telegram.button:active { background-color: #006699; - color: #FFFFFF; + color: #fff; } -/*-------------- +/* -------------- Icon ----------------*/ - +--------------- */ .ui.button > .icon:not(.button) { height: auto; opacity: 0.8; - -webkit-transition: opacity 0.1s ease; transition: opacity 0.1s ease; - color: ''; + color: ""; } .ui.button:not(.icon) > .icon:not(.button):not(.dropdown), .ui.button:not(.icon) > .icons:not(.button):not(.dropdown) { @@ -654,10 +597,32 @@ *******************************/ -/*------------------- - Floated - --------------------*/ - +/* -------------- + Stackable + --------------- */ + +/* Tablet Or Below */ +@media only screen and (max-width: 767.98px) { + .ui.stackable.buttons { + flex-direction: column; + width: 100%; + } + .ui.stackable.buttons .button:first-child { + border-bottom-left-radius: 0; + border-top-right-radius: 0.28571429rem; + } + .ui.stackable.buttons .button:last-child { + border-bottom-left-radius: 0.28571429rem; + border-top-right-radius: 0; + } + .ui.stackable.buttons .button:only-child { + border-radius: 0.28571429rem; + } +} + +/* ------------------- + Floated + -------------------- */ .ui[class*="left floated"].buttons, .ui[class*="left floated"].button { float: left; @@ -671,10 +636,9 @@ margin-left: 0.25em; } -/*------------------- - Compact - --------------------*/ - +/* ------------------- + Compact + -------------------- */ .ui.compact.buttons .button, .ui.compact.button { padding: 0.58928571em 1.125em 0.58928571em; @@ -689,13 +653,12 @@ } .ui.compact.labeled.icon.buttons .button > .icon, .ui.compact.labeled.icon.button > .icon { - padding: 0.58928571em 0 0.58928571em 0; + padding: 0.58928571em 0; } -/*------------------- +/* ------------------- Sizes ---------------------*/ - +-------------------- */ .ui.buttons .button, .ui.buttons .or, .ui.button { @@ -751,12 +714,11 @@ font-size: 1.71428571rem; } -/*-------------- - Icon Only ----------------*/ - +/* -------------- + Icon Only + --------------- */ .ui.icon.buttons .button, -.ui.icon.button:not(.animated) { +.ui.icon.button:not(.animated):not(.compact):not(.labeled) { padding: 0.78571429em 0.78571429em 0.78571429em; } .ui.animated.icon.button > .content > .icon, @@ -770,10 +732,9 @@ vertical-align: top; } -/*------------------- - Basic - --------------------*/ - +/* ------------------- + Basic + -------------------- */ .ui.basic.buttons .button, .ui.basic.button { background: transparent none; @@ -782,163 +743,139 @@ border-radius: 0.28571429rem; text-transform: none; text-shadow: none !important; - -webkit-box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.15) inset; - box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.15) inset; } .ui.basic.buttons { - -webkit-box-shadow: none; - box-shadow: none; + box-shadow: none; border: 1px solid rgba(34, 36, 38, 0.15); border-radius: 0.28571429rem; + border-right: none; } .ui.basic.buttons .button { border-radius: 0; } .ui.basic.buttons .button:hover, .ui.basic.button:hover { - background: #FFFFFF; + background: #fff; color: rgba(0, 0, 0, 0.8); - -webkit-box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.35) inset, 0 0 0 0 rgba(34, 36, 38, 0.15) inset; - box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.35) inset, 0 0 0 0 rgba(34, 36, 38, 0.15) inset; + box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.35) inset, 0 0 0 0 rgba(34, 36, 38, 0.15) inset; } .ui.basic.buttons .button:focus, .ui.basic.button:focus { - background: #FFFFFF; + background: #fff; color: rgba(0, 0, 0, 0.8); - -webkit-box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.35) inset, 0 0 0 0 rgba(34, 36, 38, 0.15) inset; - box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.35) inset, 0 0 0 0 rgba(34, 36, 38, 0.15) inset; + box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.35) inset, 0 0 0 0 rgba(34, 36, 38, 0.15) inset; } .ui.basic.buttons .button:active, .ui.basic.button:active { - background: #F8F8F8; + background: #f8f8f8; color: rgba(0, 0, 0, 0.9); - -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15) inset, 0 1px 4px 0 rgba(34, 36, 38, 0.15) inset; - box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15) inset, 0 1px 4px 0 rgba(34, 36, 38, 0.15) inset; + box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15) inset, 0 1px 4px 0 rgba(34, 36, 38, 0.15) inset; } .ui.basic.buttons .active.button, .ui.basic.active.button { background: rgba(0, 0, 0, 0.05); - -webkit-box-shadow: ''; - box-shadow: ''; + box-shadow: ""; color: rgba(0, 0, 0, 0.95); } .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: 0 0 0 1px rgba(34, 36, 38, 0.35) inset, 0 0 0 0 rgba(34, 36, 38, 0.15) inset inset; - box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.35) inset, 0 0 0 0 rgba(34, 36, 38, 0.15) inset inset; + box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.35) inset, 0 0 0 0 rgba(34, 36, 38, 0.15) inset; } .ui.basic.buttons .button:active { - -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15) inset, 0 1px 4px 0 rgba(34, 36, 38, 0.15) inset inset; - box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15) inset, 0 1px 4px 0 rgba(34, 36, 38, 0.15) inset inset; + box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15) inset, 0 1px 4px 0 rgba(34, 36, 38, 0.15) inset; } .ui.basic.buttons .active.button { - -webkit-box-shadow: ''; - box-shadow: ''; + box-shadow: ""; } /* Standard Basic Inverted */ .ui.basic.inverted.buttons .button, .ui.basic.inverted.button { background-color: transparent; - color: #F9FAFB; - -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; - box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; + color: #f9fafb; + box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; } .ui.basic.inverted.buttons .button:hover, .ui.basic.inverted.button:hover { - color: #FFFFFF; - -webkit-box-shadow: 0 0 0 2px #ffffff inset; - box-shadow: 0 0 0 2px #ffffff inset; + color: #fff; + box-shadow: 0 0 0 2px #ffffff inset; } .ui.basic.inverted.buttons .button:focus, .ui.basic.inverted.button:focus { - color: #FFFFFF; - -webkit-box-shadow: 0 0 0 2px #ffffff inset; - box-shadow: 0 0 0 2px #ffffff inset; + color: #fff; + box-shadow: 0 0 0 2px #ffffff inset; } .ui.basic.inverted.buttons .button:active, .ui.basic.inverted.button:active { background-color: rgba(255, 255, 255, 0.08); - color: #FFFFFF; - -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.9) inset; - box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.9) inset; + color: #fff; + box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.9) inset; } .ui.basic.inverted.buttons .active.button, .ui.basic.inverted.active.button { background-color: rgba(255, 255, 255, 0.08); - color: #FFFFFF; + color: #fff; text-shadow: none; - -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.7) inset; - box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.7) inset; + box-shadow: 0 0 0 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: 0 0 0 2px #ffffff inset; - box-shadow: 0 0 0 2px #ffffff inset; + box-shadow: 0 0 0 2px #ffffff inset; } /* 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.buttons:not(.inverted) .button:not(.basic) { + border-right: 1px solid rgba(34, 36, 38, 0.15); + box-shadow: none; } .ui.basic.vertical.buttons .button { border-left: none; border-left-width: 0; border-top: 1px solid rgba(34, 36, 38, 0.15); } -.ui.basic.vertical.buttons .button:first-child { - border-top-width: 0; +.ui.basic.vertical.buttons:not(.spaced) .button:first-child { + border-top: none; } -/*------------------- - Tertiary - --------------------*/ - +/* ------------------- + Tertiary + -------------------- */ /* Overline Mixin */ .ui.tertiary.button { - -webkit-transition: color 0.1s ease !important; transition: color 0.1s ease !important; border-radius: 0; margin: 0.28571429em 0.25em 0.28571429em 0 !important; - padding: 0.5em !important; - -webkit-box-shadow: none; - box-shadow: none; + padding: 0.5em 0.5em !important; + box-shadow: none; color: rgba(0, 0, 0, 0.6); background: none; } .ui.tertiary.button:hover { - -webkit-box-shadow: inset 0 -0.2em 0 #666666; - box-shadow: inset 0 -0.2em 0 #666666; + box-shadow: inset 0 -0.2em 0 #666666; color: #333333; background: none; } .ui.tertiary.button:focus { - -webkit-box-shadow: inset 0 -0.2em 0 #666666; - box-shadow: inset 0 -0.2em 0 #666666; + box-shadow: inset 0 -0.2em 0 #666666; color: #333333; background: none; } .ui.tertiary.button:active { - -webkit-box-shadow: inset 0 -0.2em 0 #999999; - box-shadow: inset 0 -0.2em 0 #999999; + box-shadow: inset 0 -0.2em 0 #999999; border-radius: 0.28571429rem 0.28571429rem 0 0; color: #666666; background: none; } -/*-------------- - Labeled Icon - ---------------*/ - +/* -------------- + Labeled Icon + --------------- */ .ui.labeled.icon.buttons .button, .ui.labeled.icon.button { position: relative; @@ -958,15 +895,13 @@ border-top-left-radius: inherit; border-bottom-left-radius: inherit; text-align: center; - -webkit-animation: none; - animation: none; - padding: 0.78571429em 0 0.78571429em 0; + animation: none; + padding: 0.78571429em 0; margin: 0; width: 2.57142857em; background-color: rgba(0, 0, 0, 0.05); - color: ''; - -webkit-box-shadow: -1px 0 0 0 transparent inset; - box-shadow: -1px 0 0 0 transparent inset; + color: ""; + box-shadow: -1px 0 0 0 transparent inset; } /* Right Labeled */ @@ -980,13 +915,12 @@ 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; + box-shadow: 1px 0 0 0 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 { +.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: relative; width: 100%; @@ -1014,36 +948,32 @@ } /* Loading Icon in Labeled Button */ -.ui.labeled.icon.button > .loading.icon:before { - -webkit-animation: loader 2s linear infinite; - animation: loader 2s linear infinite; +.ui.labeled.icon.button > .loading.icon::before { + animation: loader 2s linear infinite; } -/*-------------- - Toggle - ---------------*/ - +/* -------------- + 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; - -webkit-box-shadow: none; - box-shadow: none; + background-color: #21ba45; + box-shadow: none; text-shadow: none; - color: #FFFFFF; + color: #fff; } .ui.button.toggle.active:hover { background-color: #16ab39; text-shadow: none; - color: #FFFFFF; + color: #fff; } -/*-------------- - Circular - ---------------*/ - +/* -------------- + Circular + --------------- */ .ui.circular.button { border-radius: 10em; } @@ -1052,24 +982,23 @@ vertical-align: baseline; } -/*------------------- - Or Buttons - --------------------*/ - +/* ------------------- + Or Buttons + -------------------- */ .ui.buttons .or { position: relative; width: 0.3em; height: 2.57142857em; z-index: 3; } -.ui.buttons .or:before { +.ui.buttons .or::before { position: absolute; text-align: center; border-radius: 500rem; - content: 'or'; + content: "or"; top: 50%; left: 50%; - background-color: #FFFFFF; + background-color: #fff; text-shadow: none; margin-top: -0.89285714em; margin-left: -0.89285714em; @@ -1079,10 +1008,9 @@ color: rgba(0, 0, 0, 0.4); font-style: normal; font-weight: bold; - -webkit-box-shadow: 0 0 0 1px transparent inset; - box-shadow: 0 0 0 1px transparent inset; + box-shadow: 0 0 0 1px transparent inset; } -.ui.buttons .or[data-text]:before { +.ui.buttons .or[data-text]::before { content: attr(data-text); } @@ -1090,14 +1018,13 @@ .ui.fluid.buttons .or { width: 0 !important; } -.ui.fluid.buttons .or:after { +.ui.fluid.buttons .or::after { display: none; } -/*------------------- - Attached - --------------------*/ - +/* ------------------- + Attached + -------------------- */ /* Singular */ .ui.attached.button { @@ -1105,8 +1032,7 @@ display: block; margin: 0; border-radius: 0; - -webkit-box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.15); - box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.15); + box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.15); } /* Top / Bottom */ @@ -1135,8 +1061,6 @@ /* Plural */ .ui.attached.buttons { position: relative; - display: -webkit-box; - display: -ms-flexbox; display: flex; border-radius: 0; width: auto !important; @@ -1156,7 +1080,7 @@ /* Top / Bottom */ .ui[class*="top attached"].buttons { - margin-bottom: -1px; + margin-bottom: 0; border-radius: 0.28571429rem 0.28571429rem 0 0; } .ui[class*="top attached"].buttons .button:first-child { @@ -1178,8 +1102,6 @@ /* Left / Right */ .ui[class*="left attached"].buttons { - display: -webkit-inline-box; - display: -ms-inline-flexbox; display: inline-flex; margin-right: 0; margin-left: -1px; @@ -1194,8 +1116,6 @@ border-radius: 0 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; @@ -1210,10 +1130,9 @@ border-radius: 0 0 0 0.28571429rem; } -/*------------------- - Fluid - --------------------*/ - +/* ------------------- + Fluid + -------------------- */ .ui.fluid.buttons, .ui.fluid.button { width: 100%; @@ -1291,13 +1210,9 @@ /* Fluid Vertical Buttons */ .ui.fluid.vertical.buttons, .ui.fluid.vertical.buttons > .button { - display: -webkit-box; - display: -ms-flexbox; display: flex; width: auto; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; + justify-content: center; } .ui.two.vertical.buttons > .button { height: 50%; @@ -1333,37 +1248,35 @@ height: 8.3333%; } -/*------------------- +/* ------------------- Colors ---------------------*/ - +-------------------- */ .ui.primary.buttons .button, .ui.primary.button { - background-color: #2185D0; - color: #FFFFFF; + 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, 0.15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; + box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; } .ui.primary.buttons .button:hover, .ui.primary.button:hover { background-color: #1678c2; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.primary.buttons .button:focus, .ui.primary.button:focus { background-color: #0d71bb; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.primary.buttons .button:active, .ui.primary.button:active { background-color: #1a69a4; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.primary.buttons .active.button, @@ -1371,7 +1284,7 @@ .ui.primary.active.button, .ui.primary.button .active.button:active { background-color: #1279c6; - color: #FFFFFF; + color: #fff; text-shadow: none; } @@ -1379,48 +1292,39 @@ .ui.basic.primary.buttons .button, .ui.basic.primary.button { background: transparent; - -webkit-box-shadow: 0 0 0 1px #2185D0 inset; - box-shadow: 0 0 0 1px #2185D0 inset; - color: #2185D0; + box-shadow: 0 0 0 1px #2185d0 inset; + color: #2185d0; } .ui.basic.primary.buttons .button:hover, .ui.basic.primary.button:hover { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #1678c2 inset; - box-shadow: 0 0 0 1px #1678c2 inset; + background: transparent; + box-shadow: 0 0 0 1px #1678c2 inset; color: #1678c2; } .ui.basic.primary.buttons .button:focus, .ui.basic.primary.button:focus { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #0d71bb inset; - box-shadow: 0 0 0 1px #0d71bb inset; + background: transparent; + box-shadow: 0 0 0 1px #0d71bb inset; color: #1678c2; } .ui.basic.primary.buttons .active.button, .ui.basic.primary.active.button { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #1279c6 inset; - box-shadow: 0 0 0 1px #1279c6 inset; + background: transparent; + box-shadow: 0 0 0 1px #1279c6 inset; color: #1a69a4; } .ui.basic.primary.buttons .button:active, .ui.basic.primary.button:active { - -webkit-box-shadow: 0 0 0 1px #1a69a4 inset; - box-shadow: 0 0 0 1px #1a69a4 inset; + box-shadow: 0 0 0 1px #1a69a4 inset; color: #1a69a4; } -.ui.buttons:not(.vertical) > .basic.primary.button:not(:first-child) { - margin-left: -1px; -} /* Inverted */ .ui.inverted.primary.buttons .button, .ui.inverted.primary.button { background-color: transparent; - -webkit-box-shadow: 0 0 0 2px #54C8FF inset; - box-shadow: 0 0 0 2px #54C8FF inset; - color: #54C8FF; + box-shadow: 0 0 0 2px #54c8ff inset; + color: #54c8ff; } .ui.inverted.primary.buttons .button:hover, .ui.inverted.primary.button:hover, @@ -1430,9 +1334,8 @@ .ui.inverted.primary.button.active, .ui.inverted.primary.buttons .button:active, .ui.inverted.primary.button:active { - -webkit-box-shadow: none ; - box-shadow: none ; - color: #FFFFFF; + box-shadow: none; + color: #fff; } .ui.inverted.primary.buttons .button:hover, .ui.inverted.primary.button:hover { @@ -1456,37 +1359,32 @@ .ui.inverted.primary.buttons .basic.button, .ui.inverted.primary.basic.button { background-color: transparent; - -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; - box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; - color: #FFFFFF; + box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; + color: #fff; } .ui.inverted.primary.basic.buttons .button:hover, .ui.inverted.primary.buttons .basic.button:hover, .ui.inverted.primary.basic.button:hover { - -webkit-box-shadow: 0 0 0 2px #21b8ff inset; - box-shadow: 0 0 0 2px #21b8ff inset; - color: #54C8FF; + box-shadow: 0 0 0 2px #21b8ff inset; + color: #54c8ff; } .ui.inverted.primary.basic.buttons .button:focus, .ui.inverted.primary.basic.buttons .button:focus, .ui.inverted.primary.basic.button:focus { - -webkit-box-shadow: 0 0 0 2px #2bbbff inset; - box-shadow: 0 0 0 2px #2bbbff inset; - color: #54C8FF; + box-shadow: 0 0 0 2px #2bbbff inset; + color: #54c8ff; } .ui.inverted.primary.basic.buttons .active.button, .ui.inverted.primary.buttons .basic.active.button, .ui.inverted.primary.basic.active.button { - -webkit-box-shadow: 0 0 0 2px #3ac0ff inset; - box-shadow: 0 0 0 2px #3ac0ff inset; - color: #54C8FF; + box-shadow: 0 0 0 2px #3ac0ff inset; + color: #54c8ff; } .ui.inverted.primary.basic.buttons .button:active, .ui.inverted.primary.buttons .basic.button:active, .ui.inverted.primary.basic.button:active { - -webkit-box-shadow: 0 0 0 2px #21b8ff inset; - box-shadow: 0 0 0 2px #21b8ff inset; - color: #54C8FF; + box-shadow: 0 0 0 2px #21b8ff inset; + color: #54c8ff; } /* Tertiary */ @@ -1494,22 +1392,19 @@ .ui.tertiary.primary.buttons .tertiary.button, .ui.tertiary.primary.button { background: transparent; - -webkit-box-shadow: none; - box-shadow: none; - color: #2185D0; + box-shadow: none; + color: #2185d0; } .ui.tertiary.primary.buttons .button:hover, .ui.tertiary.primary.buttons button:hover, .ui.tertiary.primary.button:hover { - -webkit-box-shadow: inset 0 -0.2em 0 #2b75ac; - box-shadow: inset 0 -0.2em 0 #2b75ac; + box-shadow: inset 0 -0.2em 0 #2b75ac; color: #2b75ac; } .ui.tertiary.primary.buttons .button:focus, .ui.tertiary.primary.buttons .tertiary.button:focus, .ui.tertiary.primary.button:focus { - -webkit-box-shadow: inset 0 -0.2em 0 #216ea7; - box-shadow: inset 0 -0.2em 0 #216ea7; + box-shadow: inset 0 -0.2em 0 #216ea7; color: #216ea7; } .ui.tertiary.primary.buttons .active.button, @@ -1518,37 +1413,35 @@ .ui.tertiary.primary.buttons .button:active, .ui.tertiary.primary.buttons .tertiary.button:active, .ui.tertiary.primary.button:active { - -webkit-box-shadow: inset 0 -0.2em 0 #007bd8; - box-shadow: inset 0 -0.2em 0 #007bd8; + box-shadow: inset 0 -0.2em 0 #007bd8; color: #1279c6; } .ui.secondary.buttons .button, .ui.secondary.button { - background-color: #1B1C1D; - color: #FFFFFF; + 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, 0.15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; + box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; } .ui.secondary.buttons .button:hover, .ui.secondary.button:hover { background-color: #27292a; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.secondary.buttons .button:focus, .ui.secondary.button:focus { background-color: #2e3032; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.secondary.buttons .button:active, .ui.secondary.button:active { background-color: #343637; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.secondary.buttons .active.button, @@ -1556,7 +1449,7 @@ .ui.secondary.active.button, .ui.secondary.button .active.button:active { background-color: #27292a; - color: #FFFFFF; + color: #fff; text-shadow: none; } @@ -1564,47 +1457,38 @@ .ui.basic.secondary.buttons .button, .ui.basic.secondary.button { background: transparent; - -webkit-box-shadow: 0 0 0 1px #1B1C1D inset; - box-shadow: 0 0 0 1px #1B1C1D inset; - color: #1B1C1D; + box-shadow: 0 0 0 1px #1b1c1d inset; + color: #1b1c1d; } .ui.basic.secondary.buttons .button:hover, .ui.basic.secondary.button:hover { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #27292a inset; - box-shadow: 0 0 0 1px #27292a inset; + background: transparent; + box-shadow: 0 0 0 1px #27292a inset; color: #27292a; } .ui.basic.secondary.buttons .button:focus, .ui.basic.secondary.button:focus { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #2e3032 inset; - box-shadow: 0 0 0 1px #2e3032 inset; + background: transparent; + box-shadow: 0 0 0 1px #2e3032 inset; color: #27292a; } .ui.basic.secondary.buttons .active.button, .ui.basic.secondary.active.button { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #27292a inset; - box-shadow: 0 0 0 1px #27292a inset; + background: transparent; + box-shadow: 0 0 0 1px #27292a inset; color: #343637; } .ui.basic.secondary.buttons .button:active, .ui.basic.secondary.button:active { - -webkit-box-shadow: 0 0 0 1px #343637 inset; - box-shadow: 0 0 0 1px #343637 inset; + box-shadow: 0 0 0 1px #343637 inset; color: #343637; } -.ui.buttons:not(.vertical) > .basic.secondary.button:not(:first-child) { - margin-left: -1px; -} /* Inverted */ .ui.inverted.secondary.buttons .button, .ui.inverted.secondary.button { background-color: transparent; - -webkit-box-shadow: 0 0 0 2px #545454 inset; - box-shadow: 0 0 0 2px #545454 inset; + box-shadow: 0 0 0 2px #545454 inset; color: #545454; } .ui.inverted.secondary.buttons .button:hover, @@ -1615,9 +1499,8 @@ .ui.inverted.secondary.button.active, .ui.inverted.secondary.buttons .button:active, .ui.inverted.secondary.button:active { - -webkit-box-shadow: none ; - box-shadow: none ; - color: #FFFFFF; + box-shadow: none; + color: #fff; } .ui.inverted.secondary.buttons .button:hover, .ui.inverted.secondary.button:hover { @@ -1641,36 +1524,31 @@ .ui.inverted.secondary.buttons .basic.button, .ui.inverted.secondary.basic.button { background-color: transparent; - -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; - box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; - color: #FFFFFF; + box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; + color: #fff; } .ui.inverted.secondary.basic.buttons .button:hover, .ui.inverted.secondary.buttons .basic.button:hover, .ui.inverted.secondary.basic.button:hover { - -webkit-box-shadow: 0 0 0 2px #6e6e6e inset; - box-shadow: 0 0 0 2px #6e6e6e inset; + box-shadow: 0 0 0 2px #6e6e6e inset; color: #545454; } .ui.inverted.secondary.basic.buttons .button:focus, .ui.inverted.secondary.basic.buttons .button:focus, .ui.inverted.secondary.basic.button:focus { - -webkit-box-shadow: 0 0 0 2px #686868 inset; - box-shadow: 0 0 0 2px #686868 inset; + box-shadow: 0 0 0 2px #686868 inset; color: #545454; } .ui.inverted.secondary.basic.buttons .active.button, .ui.inverted.secondary.buttons .basic.active.button, .ui.inverted.secondary.basic.active.button { - -webkit-box-shadow: 0 0 0 2px #616161 inset; - box-shadow: 0 0 0 2px #616161 inset; + box-shadow: 0 0 0 2px #616161 inset; color: #545454; } .ui.inverted.secondary.basic.buttons .button:active, .ui.inverted.secondary.buttons .basic.button:active, .ui.inverted.secondary.basic.button:active { - -webkit-box-shadow: 0 0 0 2px #6e6e6e inset; - box-shadow: 0 0 0 2px #6e6e6e inset; + box-shadow: 0 0 0 2px #6e6e6e inset; color: #545454; } @@ -1679,22 +1557,19 @@ .ui.tertiary.secondary.buttons .tertiary.button, .ui.tertiary.secondary.button { background: transparent; - -webkit-box-shadow: none; - box-shadow: none; - color: #1B1C1D; + box-shadow: none; + color: #1b1c1d; } .ui.tertiary.secondary.buttons .button:hover, .ui.tertiary.secondary.buttons button:hover, .ui.tertiary.secondary.button:hover { - -webkit-box-shadow: inset 0 -0.2em 0 #292929; - box-shadow: inset 0 -0.2em 0 #292929; + box-shadow: inset 0 -0.2em 0 #292929; color: #292929; } .ui.tertiary.secondary.buttons .button:focus, .ui.tertiary.secondary.buttons .tertiary.button:focus, .ui.tertiary.secondary.button:focus { - -webkit-box-shadow: inset 0 -0.2em 0 #303030; - box-shadow: inset 0 -0.2em 0 #303030; + box-shadow: inset 0 -0.2em 0 #303030; color: #303030; } .ui.tertiary.secondary.buttons .active.button, @@ -1703,37 +1578,35 @@ .ui.tertiary.secondary.buttons .button:active, .ui.tertiary.secondary.buttons .tertiary.button:active, .ui.tertiary.secondary.button:active { - -webkit-box-shadow: inset 0 -0.2em 0 #1f2933; - box-shadow: inset 0 -0.2em 0 #1f2933; + box-shadow: inset 0 -0.2em 0 #1f2933; color: #27292a; } .ui.red.buttons .button, .ui.red.button { - background-color: #DB2828; - color: #FFFFFF; + 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, 0.15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; + box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; } .ui.red.buttons .button:hover, .ui.red.button:hover { background-color: #d01919; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.red.buttons .button:focus, .ui.red.button:focus { background-color: #ca1010; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.red.buttons .button:active, .ui.red.button:active { background-color: #b21e1e; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.red.buttons .active.button, @@ -1741,7 +1614,7 @@ .ui.red.active.button, .ui.red.button .active.button:active { background-color: #d41515; - color: #FFFFFF; + color: #fff; text-shadow: none; } @@ -1749,48 +1622,39 @@ .ui.basic.red.buttons .button, .ui.basic.red.button { background: transparent; - -webkit-box-shadow: 0 0 0 1px #DB2828 inset; - box-shadow: 0 0 0 1px #DB2828 inset; - color: #DB2828; + box-shadow: 0 0 0 1px #db2828 inset; + color: #db2828; } .ui.basic.red.buttons .button:hover, .ui.basic.red.button:hover { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #d01919 inset; - box-shadow: 0 0 0 1px #d01919 inset; + background: transparent; + box-shadow: 0 0 0 1px #d01919 inset; color: #d01919; } .ui.basic.red.buttons .button:focus, .ui.basic.red.button:focus { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #ca1010 inset; - box-shadow: 0 0 0 1px #ca1010 inset; + background: transparent; + box-shadow: 0 0 0 1px #ca1010 inset; color: #d01919; } .ui.basic.red.buttons .active.button, .ui.basic.red.active.button { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #d41515 inset; - box-shadow: 0 0 0 1px #d41515 inset; + background: transparent; + box-shadow: 0 0 0 1px #d41515 inset; color: #b21e1e; } .ui.basic.red.buttons .button:active, .ui.basic.red.button:active { - -webkit-box-shadow: 0 0 0 1px #b21e1e inset; - box-shadow: 0 0 0 1px #b21e1e inset; + box-shadow: 0 0 0 1px #b21e1e inset; color: #b21e1e; } -.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: 0 0 0 2px #FF695E inset; - box-shadow: 0 0 0 2px #FF695E inset; - color: #FF695E; + box-shadow: 0 0 0 2px #ff695e inset; + color: #ff695e; } .ui.inverted.red.buttons .button:hover, .ui.inverted.red.button:hover, @@ -1800,9 +1664,8 @@ .ui.inverted.red.button.active, .ui.inverted.red.buttons .button:active, .ui.inverted.red.button:active { - -webkit-box-shadow: none ; - box-shadow: none ; - color: #FFFFFF; + box-shadow: none; + color: #fff; } .ui.inverted.red.buttons .button:hover, .ui.inverted.red.button:hover { @@ -1826,37 +1689,32 @@ .ui.inverted.red.buttons .basic.button, .ui.inverted.red.basic.button { background-color: transparent; - -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; - box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; - color: #FFFFFF; + box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; + color: #fff; } .ui.inverted.red.basic.buttons .button:hover, .ui.inverted.red.buttons .basic.button:hover, .ui.inverted.red.basic.button:hover { - -webkit-box-shadow: 0 0 0 2px #ff392b inset; - box-shadow: 0 0 0 2px #ff392b inset; - color: #FF695E; + box-shadow: 0 0 0 2px #ff392b inset; + color: #ff695e; } .ui.inverted.red.basic.buttons .button:focus, .ui.inverted.red.basic.buttons .button:focus, .ui.inverted.red.basic.button:focus { - -webkit-box-shadow: 0 0 0 2px #ff4335 inset; - box-shadow: 0 0 0 2px #ff4335 inset; - color: #FF695E; + box-shadow: 0 0 0 2px #ff4335 inset; + color: #ff695e; } .ui.inverted.red.basic.buttons .active.button, .ui.inverted.red.buttons .basic.active.button, .ui.inverted.red.basic.active.button { - -webkit-box-shadow: 0 0 0 2px #ff5144 inset; - box-shadow: 0 0 0 2px #ff5144 inset; - color: #FF695E; + box-shadow: 0 0 0 2px #ff5144 inset; + color: #ff695e; } .ui.inverted.red.basic.buttons .button:active, .ui.inverted.red.buttons .basic.button:active, .ui.inverted.red.basic.button:active { - -webkit-box-shadow: 0 0 0 2px #ff392b inset; - box-shadow: 0 0 0 2px #ff392b inset; - color: #FF695E; + box-shadow: 0 0 0 2px #ff392b inset; + color: #ff695e; } /* Tertiary */ @@ -1864,22 +1722,19 @@ .ui.tertiary.red.buttons .tertiary.button, .ui.tertiary.red.button { background: transparent; - -webkit-box-shadow: none; - box-shadow: none; - color: #DB2828; + box-shadow: none; + color: #db2828; } .ui.tertiary.red.buttons .button:hover, .ui.tertiary.red.buttons button:hover, .ui.tertiary.red.button:hover { - -webkit-box-shadow: inset 0 -0.2em 0 #b93131; - box-shadow: inset 0 -0.2em 0 #b93131; + box-shadow: inset 0 -0.2em 0 #b93131; color: #b93131; } .ui.tertiary.red.buttons .button:focus, .ui.tertiary.red.buttons .tertiary.button:focus, .ui.tertiary.red.button:focus { - -webkit-box-shadow: inset 0 -0.2em 0 #b52626; - box-shadow: inset 0 -0.2em 0 #b52626; + box-shadow: inset 0 -0.2em 0 #b52626; color: #b52626; } .ui.tertiary.red.buttons .active.button, @@ -1888,37 +1743,35 @@ .ui.tertiary.red.buttons .button:active, .ui.tertiary.red.buttons .tertiary.button:active, .ui.tertiary.red.button:active { - -webkit-box-shadow: inset 0 -0.2em 0 #ea0000; - box-shadow: inset 0 -0.2em 0 #ea0000; + box-shadow: inset 0 -0.2em 0 #ea0000; color: #d41515; } .ui.orange.buttons .button, .ui.orange.button { - background-color: #F2711C; - color: #FFFFFF; + 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, 0.15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; + box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; } .ui.orange.buttons .button:hover, .ui.orange.button:hover { background-color: #f26202; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.orange.buttons .button:focus, .ui.orange.button:focus { background-color: #e55b00; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.orange.buttons .button:active, .ui.orange.button:active { background-color: #cf590c; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.orange.buttons .active.button, @@ -1926,7 +1779,7 @@ .ui.orange.active.button, .ui.orange.button .active.button:active { background-color: #f56100; - color: #FFFFFF; + color: #fff; text-shadow: none; } @@ -1934,48 +1787,39 @@ .ui.basic.orange.buttons .button, .ui.basic.orange.button { background: transparent; - -webkit-box-shadow: 0 0 0 1px #F2711C inset; - box-shadow: 0 0 0 1px #F2711C inset; - color: #F2711C; + box-shadow: 0 0 0 1px #f2711c inset; + color: #f2711c; } .ui.basic.orange.buttons .button:hover, .ui.basic.orange.button:hover { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #f26202 inset; - box-shadow: 0 0 0 1px #f26202 inset; + background: transparent; + box-shadow: 0 0 0 1px #f26202 inset; color: #f26202; } .ui.basic.orange.buttons .button:focus, .ui.basic.orange.button:focus { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #e55b00 inset; - box-shadow: 0 0 0 1px #e55b00 inset; + background: transparent; + box-shadow: 0 0 0 1px #e55b00 inset; color: #f26202; } .ui.basic.orange.buttons .active.button, .ui.basic.orange.active.button { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #f56100 inset; - box-shadow: 0 0 0 1px #f56100 inset; + background: transparent; + box-shadow: 0 0 0 1px #f56100 inset; color: #cf590c; } .ui.basic.orange.buttons .button:active, .ui.basic.orange.button:active { - -webkit-box-shadow: 0 0 0 1px #cf590c inset; - box-shadow: 0 0 0 1px #cf590c inset; + box-shadow: 0 0 0 1px #cf590c inset; color: #cf590c; } -.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: 0 0 0 2px #FF851B inset; - box-shadow: 0 0 0 2px #FF851B inset; - color: #FF851B; + box-shadow: 0 0 0 2px #ff851b inset; + color: #ff851b; } .ui.inverted.orange.buttons .button:hover, .ui.inverted.orange.button:hover, @@ -1985,9 +1829,8 @@ .ui.inverted.orange.button.active, .ui.inverted.orange.buttons .button:active, .ui.inverted.orange.button:active { - -webkit-box-shadow: none ; - box-shadow: none ; - color: #FFFFFF; + box-shadow: none; + color: #fff; } .ui.inverted.orange.buttons .button:hover, .ui.inverted.orange.button:hover { @@ -2011,37 +1854,32 @@ .ui.inverted.orange.buttons .basic.button, .ui.inverted.orange.basic.button { background-color: transparent; - -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; - box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; - color: #FFFFFF; + box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; + color: #fff; } .ui.inverted.orange.basic.buttons .button:hover, .ui.inverted.orange.buttons .basic.button:hover, .ui.inverted.orange.basic.button:hover { - -webkit-box-shadow: 0 0 0 2px #e76b00 inset; - box-shadow: 0 0 0 2px #e76b00 inset; - color: #FF851B; + box-shadow: 0 0 0 2px #e76b00 inset; + color: #ff851b; } .ui.inverted.orange.basic.buttons .button:focus, .ui.inverted.orange.basic.buttons .button:focus, .ui.inverted.orange.basic.button:focus { - -webkit-box-shadow: 0 0 0 2px #f17000 inset; - box-shadow: 0 0 0 2px #f17000 inset; - color: #FF851B; + box-shadow: 0 0 0 2px #f17000 inset; + color: #ff851b; } .ui.inverted.orange.basic.buttons .active.button, .ui.inverted.orange.buttons .basic.active.button, .ui.inverted.orange.basic.active.button { - -webkit-box-shadow: 0 0 0 2px #ff7701 inset; - box-shadow: 0 0 0 2px #ff7701 inset; - color: #FF851B; + box-shadow: 0 0 0 2px #ff7701 inset; + color: #ff851b; } .ui.inverted.orange.basic.buttons .button:active, .ui.inverted.orange.buttons .basic.button:active, .ui.inverted.orange.basic.button:active { - -webkit-box-shadow: 0 0 0 2px #e76b00 inset; - box-shadow: 0 0 0 2px #e76b00 inset; - color: #FF851B; + box-shadow: 0 0 0 2px #e76b00 inset; + color: #ff851b; } /* Tertiary */ @@ -2049,22 +1887,19 @@ .ui.tertiary.orange.buttons .tertiary.button, .ui.tertiary.orange.button { background: transparent; - -webkit-box-shadow: none; - box-shadow: none; - color: #F2711C; + box-shadow: none; + color: #f2711c; } .ui.tertiary.orange.buttons .button:hover, .ui.tertiary.orange.buttons button:hover, .ui.tertiary.orange.button:hover { - -webkit-box-shadow: inset 0 -0.2em 0 #da671b; - box-shadow: inset 0 -0.2em 0 #da671b; + box-shadow: inset 0 -0.2em 0 #da671b; color: #da671b; } .ui.tertiary.orange.buttons .button:focus, .ui.tertiary.orange.buttons .tertiary.button:focus, .ui.tertiary.orange.button:focus { - -webkit-box-shadow: inset 0 -0.2em 0 #ce6017; - box-shadow: inset 0 -0.2em 0 #ce6017; + box-shadow: inset 0 -0.2em 0 #ce6017; color: #ce6017; } .ui.tertiary.orange.buttons .active.button, @@ -2073,37 +1908,35 @@ .ui.tertiary.orange.buttons .button:active, .ui.tertiary.orange.buttons .tertiary.button:active, .ui.tertiary.orange.button:active { - -webkit-box-shadow: inset 0 -0.2em 0 #f56100; - box-shadow: inset 0 -0.2em 0 #f56100; + box-shadow: inset 0 -0.2em 0 #f56100; color: #f56100; } .ui.yellow.buttons .button, .ui.yellow.button { - background-color: #FBBD08; - color: #FFFFFF; + 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, 0.15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; + box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; } .ui.yellow.buttons .button:hover, .ui.yellow.button:hover { background-color: #eaae00; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.yellow.buttons .button:focus, .ui.yellow.button:focus { background-color: #daa300; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.yellow.buttons .button:active, .ui.yellow.button:active { background-color: #cd9903; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.yellow.buttons .active.button, @@ -2111,7 +1944,7 @@ .ui.yellow.active.button, .ui.yellow.button .active.button:active { background-color: #eaae00; - color: #FFFFFF; + color: #fff; text-shadow: none; } @@ -2119,48 +1952,39 @@ .ui.basic.yellow.buttons .button, .ui.basic.yellow.button { background: transparent; - -webkit-box-shadow: 0 0 0 1px #FBBD08 inset; - box-shadow: 0 0 0 1px #FBBD08 inset; - color: #FBBD08; + box-shadow: 0 0 0 1px #fbbd08 inset; + color: #fbbd08; } .ui.basic.yellow.buttons .button:hover, .ui.basic.yellow.button:hover { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #eaae00 inset; - box-shadow: 0 0 0 1px #eaae00 inset; + background: transparent; + box-shadow: 0 0 0 1px #eaae00 inset; color: #eaae00; } .ui.basic.yellow.buttons .button:focus, .ui.basic.yellow.button:focus { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #daa300 inset; - box-shadow: 0 0 0 1px #daa300 inset; + background: transparent; + box-shadow: 0 0 0 1px #daa300 inset; color: #eaae00; } .ui.basic.yellow.buttons .active.button, .ui.basic.yellow.active.button { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #eaae00 inset; - box-shadow: 0 0 0 1px #eaae00 inset; + background: transparent; + box-shadow: 0 0 0 1px #eaae00 inset; color: #cd9903; } .ui.basic.yellow.buttons .button:active, .ui.basic.yellow.button:active { - -webkit-box-shadow: 0 0 0 1px #cd9903 inset; - box-shadow: 0 0 0 1px #cd9903 inset; + box-shadow: 0 0 0 1px #cd9903 inset; color: #cd9903; } -.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: 0 0 0 2px #FFE21F inset; - box-shadow: 0 0 0 2px #FFE21F inset; - color: #FFE21F; + box-shadow: 0 0 0 2px #ffe21f inset; + color: #ffe21f; } .ui.inverted.yellow.buttons .button:hover, .ui.inverted.yellow.button:hover, @@ -2170,8 +1994,7 @@ .ui.inverted.yellow.button.active, .ui.inverted.yellow.buttons .button:active, .ui.inverted.yellow.button:active { - -webkit-box-shadow: none ; - box-shadow: none ; + box-shadow: none; color: rgba(0, 0, 0, 0.6); } .ui.inverted.yellow.buttons .button:hover, @@ -2196,37 +2019,32 @@ .ui.inverted.yellow.buttons .basic.button, .ui.inverted.yellow.basic.button { background-color: transparent; - -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; - box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; - color: #FFFFFF; + box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; + color: #fff; } .ui.inverted.yellow.basic.buttons .button:hover, .ui.inverted.yellow.buttons .basic.button:hover, .ui.inverted.yellow.basic.button:hover { - -webkit-box-shadow: 0 0 0 2px #ebcd00 inset; - box-shadow: 0 0 0 2px #ebcd00 inset; - color: #FFE21F; + box-shadow: 0 0 0 2px #ebcd00 inset; + color: #ffe21f; } .ui.inverted.yellow.basic.buttons .button:focus, .ui.inverted.yellow.basic.buttons .button:focus, .ui.inverted.yellow.basic.button:focus { - -webkit-box-shadow: 0 0 0 2px #f5d500 inset; - box-shadow: 0 0 0 2px #f5d500 inset; - color: #FFE21F; + box-shadow: 0 0 0 2px #f5d500 inset; + color: #ffe21f; } .ui.inverted.yellow.basic.buttons .active.button, .ui.inverted.yellow.buttons .basic.active.button, .ui.inverted.yellow.basic.active.button { - -webkit-box-shadow: 0 0 0 2px #ffdf05 inset; - box-shadow: 0 0 0 2px #ffdf05 inset; - color: #FFE21F; + box-shadow: 0 0 0 2px #ffdf05 inset; + color: #ffe21f; } .ui.inverted.yellow.basic.buttons .button:active, .ui.inverted.yellow.buttons .basic.button:active, .ui.inverted.yellow.basic.button:active { - -webkit-box-shadow: 0 0 0 2px #ebcd00 inset; - box-shadow: 0 0 0 2px #ebcd00 inset; - color: #FFE21F; + box-shadow: 0 0 0 2px #ebcd00 inset; + color: #ffe21f; } /* Tertiary */ @@ -2234,22 +2052,19 @@ .ui.tertiary.yellow.buttons .tertiary.button, .ui.tertiary.yellow.button { background: transparent; - -webkit-box-shadow: none; - box-shadow: none; - color: #FBBD08; + box-shadow: none; + color: #fbbd08; } .ui.tertiary.yellow.buttons .button:hover, .ui.tertiary.yellow.buttons button:hover, .ui.tertiary.yellow.button:hover { - -webkit-box-shadow: inset 0 -0.2em 0 #d2a217; - box-shadow: inset 0 -0.2em 0 #d2a217; + box-shadow: inset 0 -0.2em 0 #d2a217; color: #d2a217; } .ui.tertiary.yellow.buttons .button:focus, .ui.tertiary.yellow.buttons .tertiary.button:focus, .ui.tertiary.yellow.button:focus { - -webkit-box-shadow: inset 0 -0.2em 0 #c49816; - box-shadow: inset 0 -0.2em 0 #c49816; + box-shadow: inset 0 -0.2em 0 #c49816; color: #c49816; } .ui.tertiary.yellow.buttons .active.button, @@ -2258,37 +2073,35 @@ .ui.tertiary.yellow.buttons .button:active, .ui.tertiary.yellow.buttons .tertiary.button:active, .ui.tertiary.yellow.button:active { - -webkit-box-shadow: inset 0 -0.2em 0 #eaae00; - box-shadow: inset 0 -0.2em 0 #eaae00; + box-shadow: inset 0 -0.2em 0 #eaae00; color: #eaae00; } .ui.olive.buttons .button, .ui.olive.button { - background-color: #B5CC18; - color: #FFFFFF; + 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, 0.15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; + box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; } .ui.olive.buttons .button:hover, .ui.olive.button:hover { background-color: #a7bd0d; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.olive.buttons .button:focus, .ui.olive.button:focus { background-color: #a0b605; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.olive.buttons .button:active, .ui.olive.button:active { background-color: #8d9e13; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.olive.buttons .active.button, @@ -2296,7 +2109,7 @@ .ui.olive.active.button, .ui.olive.button .active.button:active { background-color: #aac109; - color: #FFFFFF; + color: #fff; text-shadow: none; } @@ -2304,48 +2117,39 @@ .ui.basic.olive.buttons .button, .ui.basic.olive.button { background: transparent; - -webkit-box-shadow: 0 0 0 1px #B5CC18 inset; - box-shadow: 0 0 0 1px #B5CC18 inset; - color: #B5CC18; + box-shadow: 0 0 0 1px #b5cc18 inset; + color: #b5cc18; } .ui.basic.olive.buttons .button:hover, .ui.basic.olive.button:hover { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #a7bd0d inset; - box-shadow: 0 0 0 1px #a7bd0d inset; + background: transparent; + box-shadow: 0 0 0 1px #a7bd0d inset; color: #a7bd0d; } .ui.basic.olive.buttons .button:focus, .ui.basic.olive.button:focus { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #a0b605 inset; - box-shadow: 0 0 0 1px #a0b605 inset; + background: transparent; + box-shadow: 0 0 0 1px #a0b605 inset; color: #a7bd0d; } .ui.basic.olive.buttons .active.button, .ui.basic.olive.active.button { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #aac109 inset; - box-shadow: 0 0 0 1px #aac109 inset; + background: transparent; + box-shadow: 0 0 0 1px #aac109 inset; color: #8d9e13; } .ui.basic.olive.buttons .button:active, .ui.basic.olive.button:active { - -webkit-box-shadow: 0 0 0 1px #8d9e13 inset; - box-shadow: 0 0 0 1px #8d9e13 inset; + box-shadow: 0 0 0 1px #8d9e13 inset; color: #8d9e13; } -.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: 0 0 0 2px #D9E778 inset; - box-shadow: 0 0 0 2px #D9E778 inset; - color: #D9E778; + box-shadow: 0 0 0 2px #d9e778 inset; + color: #d9e778; } .ui.inverted.olive.buttons .button:hover, .ui.inverted.olive.button:hover, @@ -2355,8 +2159,7 @@ .ui.inverted.olive.button.active, .ui.inverted.olive.buttons .button:active, .ui.inverted.olive.button:active { - -webkit-box-shadow: none ; - box-shadow: none ; + box-shadow: none; color: rgba(0, 0, 0, 0.6); } .ui.inverted.olive.buttons .button:hover, @@ -2381,37 +2184,32 @@ .ui.inverted.olive.buttons .basic.button, .ui.inverted.olive.basic.button { background-color: transparent; - -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; - box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; - color: #FFFFFF; + box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; + color: #fff; } .ui.inverted.olive.basic.buttons .button:hover, .ui.inverted.olive.buttons .basic.button:hover, .ui.inverted.olive.basic.button:hover { - -webkit-box-shadow: 0 0 0 2px #d2e745 inset; - box-shadow: 0 0 0 2px #d2e745 inset; - color: #D9E778; + box-shadow: 0 0 0 2px #d2e745 inset; + color: #d9e778; } .ui.inverted.olive.basic.buttons .button:focus, .ui.inverted.olive.basic.buttons .button:focus, .ui.inverted.olive.basic.button:focus { - -webkit-box-shadow: 0 0 0 2px #daef47 inset; - box-shadow: 0 0 0 2px #daef47 inset; - color: #D9E778; + box-shadow: 0 0 0 2px #daef47 inset; + color: #d9e778; } .ui.inverted.olive.basic.buttons .active.button, .ui.inverted.olive.buttons .basic.active.button, .ui.inverted.olive.basic.active.button { - -webkit-box-shadow: 0 0 0 2px #daed59 inset; - box-shadow: 0 0 0 2px #daed59 inset; - color: #D9E778; + box-shadow: 0 0 0 2px #daed59 inset; + color: #d9e778; } .ui.inverted.olive.basic.buttons .button:active, .ui.inverted.olive.buttons .basic.button:active, .ui.inverted.olive.basic.button:active { - -webkit-box-shadow: 0 0 0 2px #cddf4d inset; - box-shadow: 0 0 0 2px #cddf4d inset; - color: #D9E778; + box-shadow: 0 0 0 2px #cddf4d inset; + color: #d9e778; } /* Tertiary */ @@ -2419,22 +2217,19 @@ .ui.tertiary.olive.buttons .tertiary.button, .ui.tertiary.olive.button { background: transparent; - -webkit-box-shadow: none; - box-shadow: none; - color: #B5CC18; + box-shadow: none; + color: #b5cc18; } .ui.tertiary.olive.buttons .button:hover, .ui.tertiary.olive.buttons button:hover, .ui.tertiary.olive.button:hover { - -webkit-box-shadow: inset 0 -0.2em 0 #98a922; - box-shadow: inset 0 -0.2em 0 #98a922; + box-shadow: inset 0 -0.2em 0 #98a922; color: #98a922; } .ui.tertiary.olive.buttons .button:focus, .ui.tertiary.olive.buttons .tertiary.button:focus, .ui.tertiary.olive.button:focus { - -webkit-box-shadow: inset 0 -0.2em 0 #92a418; - box-shadow: inset 0 -0.2em 0 #92a418; + box-shadow: inset 0 -0.2em 0 #92a418; color: #92a418; } .ui.tertiary.olive.buttons .active.button, @@ -2443,37 +2238,35 @@ .ui.tertiary.olive.buttons .button:active, .ui.tertiary.olive.buttons .tertiary.button:active, .ui.tertiary.olive.button:active { - -webkit-box-shadow: inset 0 -0.2em 0 #b1cb00; - box-shadow: inset 0 -0.2em 0 #b1cb00; + box-shadow: inset 0 -0.2em 0 #b1cb00; color: #aac109; } .ui.green.buttons .button, .ui.green.button { - background-color: #21BA45; - color: #FFFFFF; + 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, 0.15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; + box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; } .ui.green.buttons .button:hover, .ui.green.button:hover { background-color: #16ab39; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.green.buttons .button:focus, .ui.green.button:focus { background-color: #0ea432; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.green.buttons .button:active, .ui.green.button:active { background-color: #198f35; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.green.buttons .active.button, @@ -2481,7 +2274,7 @@ .ui.green.active.button, .ui.green.button .active.button:active { background-color: #13ae38; - color: #FFFFFF; + color: #fff; text-shadow: none; } @@ -2489,48 +2282,39 @@ .ui.basic.green.buttons .button, .ui.basic.green.button { background: transparent; - -webkit-box-shadow: 0 0 0 1px #21BA45 inset; - box-shadow: 0 0 0 1px #21BA45 inset; - color: #21BA45; + box-shadow: 0 0 0 1px #21ba45 inset; + color: #21ba45; } .ui.basic.green.buttons .button:hover, .ui.basic.green.button:hover { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #16ab39 inset; - box-shadow: 0 0 0 1px #16ab39 inset; + background: transparent; + box-shadow: 0 0 0 1px #16ab39 inset; color: #16ab39; } .ui.basic.green.buttons .button:focus, .ui.basic.green.button:focus { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #0ea432 inset; - box-shadow: 0 0 0 1px #0ea432 inset; + background: transparent; + box-shadow: 0 0 0 1px #0ea432 inset; color: #16ab39; } .ui.basic.green.buttons .active.button, .ui.basic.green.active.button { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #13ae38 inset; - box-shadow: 0 0 0 1px #13ae38 inset; + background: transparent; + box-shadow: 0 0 0 1px #13ae38 inset; color: #198f35; } .ui.basic.green.buttons .button:active, .ui.basic.green.button:active { - -webkit-box-shadow: 0 0 0 1px #198f35 inset; - box-shadow: 0 0 0 1px #198f35 inset; + box-shadow: 0 0 0 1px #198f35 inset; color: #198f35; } -.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: 0 0 0 2px #2ECC40 inset; - box-shadow: 0 0 0 2px #2ECC40 inset; - color: #2ECC40; + box-shadow: 0 0 0 2px #2ecc40 inset; + color: #2ecc40; } .ui.inverted.green.buttons .button:hover, .ui.inverted.green.button:hover, @@ -2540,9 +2324,8 @@ .ui.inverted.green.button.active, .ui.inverted.green.buttons .button:active, .ui.inverted.green.button:active { - -webkit-box-shadow: none ; - box-shadow: none ; - color: #FFFFFF; + box-shadow: none; + color: #fff; } .ui.inverted.green.buttons .button:hover, .ui.inverted.green.button:hover { @@ -2566,37 +2349,32 @@ .ui.inverted.green.buttons .basic.button, .ui.inverted.green.basic.button { background-color: transparent; - -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; - box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; - color: #FFFFFF; + box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; + color: #fff; } .ui.inverted.green.basic.buttons .button:hover, .ui.inverted.green.buttons .basic.button:hover, .ui.inverted.green.basic.button:hover { - -webkit-box-shadow: 0 0 0 2px #1ea92e inset; - box-shadow: 0 0 0 2px #1ea92e inset; - color: #2ECC40; + box-shadow: 0 0 0 2px #1ea92e inset; + color: #2ecc40; } .ui.inverted.green.basic.buttons .button:focus, .ui.inverted.green.basic.buttons .button:focus, .ui.inverted.green.basic.button:focus { - -webkit-box-shadow: 0 0 0 2px #19b82b inset; - box-shadow: 0 0 0 2px #19b82b inset; - color: #2ECC40; + box-shadow: 0 0 0 2px #19b82b inset; + color: #2ecc40; } .ui.inverted.green.basic.buttons .active.button, .ui.inverted.green.buttons .basic.active.button, .ui.inverted.green.basic.active.button { - -webkit-box-shadow: 0 0 0 2px #1fc231 inset; - box-shadow: 0 0 0 2px #1fc231 inset; - color: #2ECC40; + box-shadow: 0 0 0 2px #1fc231 inset; + color: #2ecc40; } .ui.inverted.green.basic.buttons .button:active, .ui.inverted.green.buttons .basic.button:active, .ui.inverted.green.basic.button:active { - -webkit-box-shadow: 0 0 0 2px #25a233 inset; - box-shadow: 0 0 0 2px #25a233 inset; - color: #2ECC40; + box-shadow: 0 0 0 2px #25a233 inset; + color: #2ecc40; } /* Tertiary */ @@ -2604,22 +2382,19 @@ .ui.tertiary.green.buttons .tertiary.button, .ui.tertiary.green.button { background: transparent; - -webkit-box-shadow: none; - box-shadow: none; - color: #21BA45; + box-shadow: none; + color: #21ba45; } .ui.tertiary.green.buttons .button:hover, .ui.tertiary.green.buttons button:hover, .ui.tertiary.green.button:hover { - -webkit-box-shadow: inset 0 -0.2em 0 #2a9844; - box-shadow: inset 0 -0.2em 0 #2a9844; + box-shadow: inset 0 -0.2em 0 #2a9844; color: #2a9844; } .ui.tertiary.green.buttons .button:focus, .ui.tertiary.green.buttons .tertiary.button:focus, .ui.tertiary.green.button:focus { - -webkit-box-shadow: inset 0 -0.2em 0 #20923b; - box-shadow: inset 0 -0.2em 0 #20923b; + box-shadow: inset 0 -0.2em 0 #20923b; color: #20923b; } .ui.tertiary.green.buttons .active.button, @@ -2628,37 +2403,35 @@ .ui.tertiary.green.buttons .button:active, .ui.tertiary.green.buttons .tertiary.button:active, .ui.tertiary.green.button:active { - -webkit-box-shadow: inset 0 -0.2em 0 #00c22e; - box-shadow: inset 0 -0.2em 0 #00c22e; + box-shadow: inset 0 -0.2em 0 #00c22e; color: #13ae38; } .ui.teal.buttons .button, .ui.teal.button { - background-color: #00B5AD; - color: #FFFFFF; + 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, 0.15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; + box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; } .ui.teal.buttons .button:hover, .ui.teal.button:hover { background-color: #009c95; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.teal.buttons .button:focus, .ui.teal.button:focus { background-color: #008c86; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.teal.buttons .button:active, .ui.teal.button:active { background-color: #00827c; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.teal.buttons .active.button, @@ -2666,7 +2439,7 @@ .ui.teal.active.button, .ui.teal.button .active.button:active { background-color: #009c95; - color: #FFFFFF; + color: #fff; text-shadow: none; } @@ -2674,48 +2447,39 @@ .ui.basic.teal.buttons .button, .ui.basic.teal.button { background: transparent; - -webkit-box-shadow: 0 0 0 1px #00B5AD inset; - box-shadow: 0 0 0 1px #00B5AD inset; - color: #00B5AD; + box-shadow: 0 0 0 1px #00b5ad inset; + color: #00b5ad; } .ui.basic.teal.buttons .button:hover, .ui.basic.teal.button:hover { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #009c95 inset; - box-shadow: 0 0 0 1px #009c95 inset; + background: transparent; + box-shadow: 0 0 0 1px #009c95 inset; color: #009c95; } .ui.basic.teal.buttons .button:focus, .ui.basic.teal.button:focus { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #008c86 inset; - box-shadow: 0 0 0 1px #008c86 inset; + background: transparent; + box-shadow: 0 0 0 1px #008c86 inset; color: #009c95; } .ui.basic.teal.buttons .active.button, .ui.basic.teal.active.button { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #009c95 inset; - box-shadow: 0 0 0 1px #009c95 inset; + background: transparent; + box-shadow: 0 0 0 1px #009c95 inset; color: #00827c; } .ui.basic.teal.buttons .button:active, .ui.basic.teal.button:active { - -webkit-box-shadow: 0 0 0 1px #00827c inset; - box-shadow: 0 0 0 1px #00827c inset; + box-shadow: 0 0 0 1px #00827c inset; color: #00827c; } -.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: 0 0 0 2px #6DFFFF inset; - box-shadow: 0 0 0 2px #6DFFFF inset; - color: #6DFFFF; + box-shadow: 0 0 0 2px #6dffff inset; + color: #6dffff; } .ui.inverted.teal.buttons .button:hover, .ui.inverted.teal.button:hover, @@ -2725,8 +2489,7 @@ .ui.inverted.teal.button.active, .ui.inverted.teal.buttons .button:active, .ui.inverted.teal.button:active { - -webkit-box-shadow: none ; - box-shadow: none ; + box-shadow: none; color: rgba(0, 0, 0, 0.6); } .ui.inverted.teal.buttons .button:hover, @@ -2751,37 +2514,32 @@ .ui.inverted.teal.buttons .basic.button, .ui.inverted.teal.basic.button { background-color: transparent; - -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; - box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; - color: #FFFFFF; + box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; + color: #fff; } .ui.inverted.teal.basic.buttons .button:hover, .ui.inverted.teal.buttons .basic.button:hover, .ui.inverted.teal.basic.button:hover { - -webkit-box-shadow: 0 0 0 2px #3affff inset; - box-shadow: 0 0 0 2px #3affff inset; - color: #6DFFFF; + box-shadow: 0 0 0 2px #3affff inset; + color: #6dffff; } .ui.inverted.teal.basic.buttons .button:focus, .ui.inverted.teal.basic.buttons .button:focus, .ui.inverted.teal.basic.button:focus { - -webkit-box-shadow: 0 0 0 2px #44ffff inset; - box-shadow: 0 0 0 2px #44ffff inset; - color: #6DFFFF; + box-shadow: 0 0 0 2px #44ffff inset; + color: #6dffff; } .ui.inverted.teal.basic.buttons .active.button, .ui.inverted.teal.buttons .basic.active.button, .ui.inverted.teal.basic.active.button { - -webkit-box-shadow: 0 0 0 2px #54ffff inset; - box-shadow: 0 0 0 2px #54ffff inset; - color: #6DFFFF; + box-shadow: 0 0 0 2px #54ffff inset; + color: #6dffff; } .ui.inverted.teal.basic.buttons .button:active, .ui.inverted.teal.buttons .basic.button:active, .ui.inverted.teal.basic.button:active { - -webkit-box-shadow: 0 0 0 2px #3affff inset; - box-shadow: 0 0 0 2px #3affff inset; - color: #6DFFFF; + box-shadow: 0 0 0 2px #3affff inset; + color: #6dffff; } /* Tertiary */ @@ -2789,22 +2547,19 @@ .ui.tertiary.teal.buttons .tertiary.button, .ui.tertiary.teal.button { background: transparent; - -webkit-box-shadow: none; - box-shadow: none; - color: #00B5AD; + box-shadow: none; + color: #00b5ad; } .ui.tertiary.teal.buttons .button:hover, .ui.tertiary.teal.buttons button:hover, .ui.tertiary.teal.button:hover { - -webkit-box-shadow: inset 0 -0.2em 0 #108c86; - box-shadow: inset 0 -0.2em 0 #108c86; + box-shadow: inset 0 -0.2em 0 #108c86; color: #108c86; } .ui.tertiary.teal.buttons .button:focus, .ui.tertiary.teal.buttons .tertiary.button:focus, .ui.tertiary.teal.button:focus { - -webkit-box-shadow: inset 0 -0.2em 0 #0e7e79; - box-shadow: inset 0 -0.2em 0 #0e7e79; + box-shadow: inset 0 -0.2em 0 #0e7e79; color: #0e7e79; } .ui.tertiary.teal.buttons .active.button, @@ -2813,37 +2568,35 @@ .ui.tertiary.teal.buttons .button:active, .ui.tertiary.teal.buttons .tertiary.button:active, .ui.tertiary.teal.button:active { - -webkit-box-shadow: inset 0 -0.2em 0 #009c95; - box-shadow: inset 0 -0.2em 0 #009c95; + box-shadow: inset 0 -0.2em 0 #009c95; color: #009c95; } .ui.blue.buttons .button, .ui.blue.button { - background-color: #2185D0; - color: #FFFFFF; + 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, 0.15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; + box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; } .ui.blue.buttons .button:hover, .ui.blue.button:hover { background-color: #1678c2; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.blue.buttons .button:focus, .ui.blue.button:focus { background-color: #0d71bb; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.blue.buttons .button:active, .ui.blue.button:active { background-color: #1a69a4; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.blue.buttons .active.button, @@ -2851,7 +2604,7 @@ .ui.blue.active.button, .ui.blue.button .active.button:active { background-color: #1279c6; - color: #FFFFFF; + color: #fff; text-shadow: none; } @@ -2859,48 +2612,39 @@ .ui.basic.blue.buttons .button, .ui.basic.blue.button { background: transparent; - -webkit-box-shadow: 0 0 0 1px #2185D0 inset; - box-shadow: 0 0 0 1px #2185D0 inset; - color: #2185D0; + box-shadow: 0 0 0 1px #2185d0 inset; + color: #2185d0; } .ui.basic.blue.buttons .button:hover, .ui.basic.blue.button:hover { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #1678c2 inset; - box-shadow: 0 0 0 1px #1678c2 inset; + background: transparent; + box-shadow: 0 0 0 1px #1678c2 inset; color: #1678c2; } .ui.basic.blue.buttons .button:focus, .ui.basic.blue.button:focus { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #0d71bb inset; - box-shadow: 0 0 0 1px #0d71bb inset; + background: transparent; + box-shadow: 0 0 0 1px #0d71bb inset; color: #1678c2; } .ui.basic.blue.buttons .active.button, .ui.basic.blue.active.button { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #1279c6 inset; - box-shadow: 0 0 0 1px #1279c6 inset; + background: transparent; + box-shadow: 0 0 0 1px #1279c6 inset; color: #1a69a4; } .ui.basic.blue.buttons .button:active, .ui.basic.blue.button:active { - -webkit-box-shadow: 0 0 0 1px #1a69a4 inset; - box-shadow: 0 0 0 1px #1a69a4 inset; + box-shadow: 0 0 0 1px #1a69a4 inset; color: #1a69a4; } -.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: 0 0 0 2px #54C8FF inset; - box-shadow: 0 0 0 2px #54C8FF inset; - color: #54C8FF; + box-shadow: 0 0 0 2px #54c8ff inset; + color: #54c8ff; } .ui.inverted.blue.buttons .button:hover, .ui.inverted.blue.button:hover, @@ -2910,9 +2654,8 @@ .ui.inverted.blue.button.active, .ui.inverted.blue.buttons .button:active, .ui.inverted.blue.button:active { - -webkit-box-shadow: none ; - box-shadow: none ; - color: #FFFFFF; + box-shadow: none; + color: #fff; } .ui.inverted.blue.buttons .button:hover, .ui.inverted.blue.button:hover { @@ -2936,37 +2679,32 @@ .ui.inverted.blue.buttons .basic.button, .ui.inverted.blue.basic.button { background-color: transparent; - -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; - box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; - color: #FFFFFF; + box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; + color: #fff; } .ui.inverted.blue.basic.buttons .button:hover, .ui.inverted.blue.buttons .basic.button:hover, .ui.inverted.blue.basic.button:hover { - -webkit-box-shadow: 0 0 0 2px #21b8ff inset; - box-shadow: 0 0 0 2px #21b8ff inset; - color: #54C8FF; + box-shadow: 0 0 0 2px #21b8ff inset; + color: #54c8ff; } .ui.inverted.blue.basic.buttons .button:focus, .ui.inverted.blue.basic.buttons .button:focus, .ui.inverted.blue.basic.button:focus { - -webkit-box-shadow: 0 0 0 2px #2bbbff inset; - box-shadow: 0 0 0 2px #2bbbff inset; - color: #54C8FF; + box-shadow: 0 0 0 2px #2bbbff inset; + color: #54c8ff; } .ui.inverted.blue.basic.buttons .active.button, .ui.inverted.blue.buttons .basic.active.button, .ui.inverted.blue.basic.active.button { - -webkit-box-shadow: 0 0 0 2px #3ac0ff inset; - box-shadow: 0 0 0 2px #3ac0ff inset; - color: #54C8FF; + box-shadow: 0 0 0 2px #3ac0ff inset; + color: #54c8ff; } .ui.inverted.blue.basic.buttons .button:active, .ui.inverted.blue.buttons .basic.button:active, .ui.inverted.blue.basic.button:active { - -webkit-box-shadow: 0 0 0 2px #21b8ff inset; - box-shadow: 0 0 0 2px #21b8ff inset; - color: #54C8FF; + box-shadow: 0 0 0 2px #21b8ff inset; + color: #54c8ff; } /* Tertiary */ @@ -2974,22 +2712,19 @@ .ui.tertiary.blue.buttons .tertiary.button, .ui.tertiary.blue.button { background: transparent; - -webkit-box-shadow: none; - box-shadow: none; - color: #2185D0; + box-shadow: none; + color: #2185d0; } .ui.tertiary.blue.buttons .button:hover, .ui.tertiary.blue.buttons button:hover, .ui.tertiary.blue.button:hover { - -webkit-box-shadow: inset 0 -0.2em 0 #2b75ac; - box-shadow: inset 0 -0.2em 0 #2b75ac; + box-shadow: inset 0 -0.2em 0 #2b75ac; color: #2b75ac; } .ui.tertiary.blue.buttons .button:focus, .ui.tertiary.blue.buttons .tertiary.button:focus, .ui.tertiary.blue.button:focus { - -webkit-box-shadow: inset 0 -0.2em 0 #216ea7; - box-shadow: inset 0 -0.2em 0 #216ea7; + box-shadow: inset 0 -0.2em 0 #216ea7; color: #216ea7; } .ui.tertiary.blue.buttons .active.button, @@ -2998,37 +2733,35 @@ .ui.tertiary.blue.buttons .button:active, .ui.tertiary.blue.buttons .tertiary.button:active, .ui.tertiary.blue.button:active { - -webkit-box-shadow: inset 0 -0.2em 0 #007bd8; - box-shadow: inset 0 -0.2em 0 #007bd8; + box-shadow: inset 0 -0.2em 0 #007bd8; color: #1279c6; } .ui.violet.buttons .button, .ui.violet.button { - background-color: #6435C9; - color: #FFFFFF; + 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, 0.15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; + box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; } .ui.violet.buttons .button:hover, .ui.violet.button:hover { background-color: #5829bb; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.violet.buttons .button:focus, .ui.violet.button:focus { background-color: #4f20b5; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.violet.buttons .button:active, .ui.violet.button:active { background-color: #502aa1; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.violet.buttons .active.button, @@ -3036,7 +2769,7 @@ .ui.violet.active.button, .ui.violet.button .active.button:active { background-color: #5626bf; - color: #FFFFFF; + color: #fff; text-shadow: none; } @@ -3044,48 +2777,39 @@ .ui.basic.violet.buttons .button, .ui.basic.violet.button { background: transparent; - -webkit-box-shadow: 0 0 0 1px #6435C9 inset; - box-shadow: 0 0 0 1px #6435C9 inset; - color: #6435C9; + box-shadow: 0 0 0 1px #6435c9 inset; + color: #6435c9; } .ui.basic.violet.buttons .button:hover, .ui.basic.violet.button:hover { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #5829bb inset; - box-shadow: 0 0 0 1px #5829bb inset; + background: transparent; + box-shadow: 0 0 0 1px #5829bb inset; color: #5829bb; } .ui.basic.violet.buttons .button:focus, .ui.basic.violet.button:focus { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #4f20b5 inset; - box-shadow: 0 0 0 1px #4f20b5 inset; + background: transparent; + box-shadow: 0 0 0 1px #4f20b5 inset; color: #5829bb; } .ui.basic.violet.buttons .active.button, .ui.basic.violet.active.button { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #5626bf inset; - box-shadow: 0 0 0 1px #5626bf inset; + background: transparent; + box-shadow: 0 0 0 1px #5626bf inset; color: #502aa1; } .ui.basic.violet.buttons .button:active, .ui.basic.violet.button:active { - -webkit-box-shadow: 0 0 0 1px #502aa1 inset; - box-shadow: 0 0 0 1px #502aa1 inset; + box-shadow: 0 0 0 1px #502aa1 inset; color: #502aa1; } -.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: 0 0 0 2px #A291FB inset; - box-shadow: 0 0 0 2px #A291FB inset; - color: #A291FB; + box-shadow: 0 0 0 2px #a291fb inset; + color: #a291fb; } .ui.inverted.violet.buttons .button:hover, .ui.inverted.violet.button:hover, @@ -3095,9 +2819,8 @@ .ui.inverted.violet.button.active, .ui.inverted.violet.buttons .button:active, .ui.inverted.violet.button:active { - -webkit-box-shadow: none ; - box-shadow: none ; - color: #FFFFFF; + box-shadow: none; + color: #fff; } .ui.inverted.violet.buttons .button:hover, .ui.inverted.violet.button:hover { @@ -3121,37 +2844,32 @@ .ui.inverted.violet.buttons .basic.button, .ui.inverted.violet.basic.button { background-color: transparent; - -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; - box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; - color: #FFFFFF; + box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; + color: #fff; } .ui.inverted.violet.basic.buttons .button:hover, .ui.inverted.violet.buttons .basic.button:hover, .ui.inverted.violet.basic.button:hover { - -webkit-box-shadow: 0 0 0 2px #745aff inset; - box-shadow: 0 0 0 2px #745aff inset; - color: #A291FB; + box-shadow: 0 0 0 2px #745aff inset; + color: #a291fb; } .ui.inverted.violet.basic.buttons .button:focus, .ui.inverted.violet.basic.buttons .button:focus, .ui.inverted.violet.basic.button:focus { - -webkit-box-shadow: 0 0 0 2px #7d64ff inset; - box-shadow: 0 0 0 2px #7d64ff inset; - color: #A291FB; + box-shadow: 0 0 0 2px #7d64ff inset; + color: #a291fb; } .ui.inverted.violet.basic.buttons .active.button, .ui.inverted.violet.buttons .basic.active.button, .ui.inverted.violet.basic.active.button { - -webkit-box-shadow: 0 0 0 2px #8a73ff inset; - box-shadow: 0 0 0 2px #8a73ff inset; - color: #A291FB; + box-shadow: 0 0 0 2px #8a73ff inset; + color: #a291fb; } .ui.inverted.violet.basic.buttons .button:active, .ui.inverted.violet.buttons .basic.button:active, .ui.inverted.violet.basic.button:active { - -webkit-box-shadow: 0 0 0 2px #7860f9 inset; - box-shadow: 0 0 0 2px #7860f9 inset; - color: #A291FB; + box-shadow: 0 0 0 2px #7860f9 inset; + color: #a291fb; } /* Tertiary */ @@ -3159,22 +2877,19 @@ .ui.tertiary.violet.buttons .tertiary.button, .ui.tertiary.violet.button { background: transparent; - -webkit-box-shadow: none; - box-shadow: none; - color: #6435C9; + box-shadow: none; + color: #6435c9; } .ui.tertiary.violet.buttons .button:hover, .ui.tertiary.violet.buttons button:hover, .ui.tertiary.violet.button:hover { - -webkit-box-shadow: inset 0 -0.2em 0 #6040a5; - box-shadow: inset 0 -0.2em 0 #6040a5; + box-shadow: inset 0 -0.2em 0 #6040a5; color: #6040a5; } .ui.tertiary.violet.buttons .button:focus, .ui.tertiary.violet.buttons .tertiary.button:focus, .ui.tertiary.violet.button:focus { - -webkit-box-shadow: inset 0 -0.2em 0 #5735a0; - box-shadow: inset 0 -0.2em 0 #5735a0; + box-shadow: inset 0 -0.2em 0 #5735a0; color: #5735a0; } .ui.tertiary.violet.buttons .active.button, @@ -3183,37 +2898,35 @@ .ui.tertiary.violet.buttons .button:active, .ui.tertiary.violet.buttons .tertiary.button:active, .ui.tertiary.violet.button:active { - -webkit-box-shadow: inset 0 -0.2em 0 #4e0fd6; - box-shadow: inset 0 -0.2em 0 #4e0fd6; + box-shadow: inset 0 -0.2em 0 #4e0fd6; color: #5626bf; } .ui.purple.buttons .button, .ui.purple.button { - background-color: #A333C8; - color: #FFFFFF; + 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, 0.15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; + box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; } .ui.purple.buttons .button:hover, .ui.purple.button:hover { background-color: #9627ba; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.purple.buttons .button:focus, .ui.purple.button:focus { background-color: #8f1eb4; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.purple.buttons .button:active, .ui.purple.button:active { background-color: #82299f; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.purple.buttons .active.button, @@ -3221,7 +2934,7 @@ .ui.purple.active.button, .ui.purple.button .active.button:active { background-color: #9724be; - color: #FFFFFF; + color: #fff; text-shadow: none; } @@ -3229,48 +2942,39 @@ .ui.basic.purple.buttons .button, .ui.basic.purple.button { background: transparent; - -webkit-box-shadow: 0 0 0 1px #A333C8 inset; - box-shadow: 0 0 0 1px #A333C8 inset; - color: #A333C8; + box-shadow: 0 0 0 1px #a333c8 inset; + color: #a333c8; } .ui.basic.purple.buttons .button:hover, .ui.basic.purple.button:hover { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #9627ba inset; - box-shadow: 0 0 0 1px #9627ba inset; + background: transparent; + box-shadow: 0 0 0 1px #9627ba inset; color: #9627ba; } .ui.basic.purple.buttons .button:focus, .ui.basic.purple.button:focus { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #8f1eb4 inset; - box-shadow: 0 0 0 1px #8f1eb4 inset; + background: transparent; + box-shadow: 0 0 0 1px #8f1eb4 inset; color: #9627ba; } .ui.basic.purple.buttons .active.button, .ui.basic.purple.active.button { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #9724be inset; - box-shadow: 0 0 0 1px #9724be inset; + background: transparent; + box-shadow: 0 0 0 1px #9724be inset; color: #82299f; } .ui.basic.purple.buttons .button:active, .ui.basic.purple.button:active { - -webkit-box-shadow: 0 0 0 1px #82299f inset; - box-shadow: 0 0 0 1px #82299f inset; + box-shadow: 0 0 0 1px #82299f inset; color: #82299f; } -.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: 0 0 0 2px #DC73FF inset; - box-shadow: 0 0 0 2px #DC73FF inset; - color: #DC73FF; + box-shadow: 0 0 0 2px #dc73ff inset; + color: #dc73ff; } .ui.inverted.purple.buttons .button:hover, .ui.inverted.purple.button:hover, @@ -3280,9 +2984,8 @@ .ui.inverted.purple.button.active, .ui.inverted.purple.buttons .button:active, .ui.inverted.purple.button:active { - -webkit-box-shadow: none ; - box-shadow: none ; - color: #FFFFFF; + box-shadow: none; + color: #fff; } .ui.inverted.purple.buttons .button:hover, .ui.inverted.purple.button:hover { @@ -3306,37 +3009,32 @@ .ui.inverted.purple.buttons .basic.button, .ui.inverted.purple.basic.button { background-color: transparent; - -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; - box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; - color: #FFFFFF; + box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; + color: #fff; } .ui.inverted.purple.basic.buttons .button:hover, .ui.inverted.purple.buttons .basic.button:hover, .ui.inverted.purple.basic.button:hover { - -webkit-box-shadow: 0 0 0 2px #cf40ff inset; - box-shadow: 0 0 0 2px #cf40ff inset; - color: #DC73FF; + box-shadow: 0 0 0 2px #cf40ff inset; + color: #dc73ff; } .ui.inverted.purple.basic.buttons .button:focus, .ui.inverted.purple.basic.buttons .button:focus, .ui.inverted.purple.basic.button:focus { - -webkit-box-shadow: 0 0 0 2px #d24aff inset; - box-shadow: 0 0 0 2px #d24aff inset; - color: #DC73FF; + box-shadow: 0 0 0 2px #d24aff inset; + color: #dc73ff; } .ui.inverted.purple.basic.buttons .active.button, .ui.inverted.purple.buttons .basic.active.button, .ui.inverted.purple.basic.active.button { - -webkit-box-shadow: 0 0 0 2px #d65aff inset; - box-shadow: 0 0 0 2px #d65aff inset; - color: #DC73FF; + box-shadow: 0 0 0 2px #d65aff inset; + color: #dc73ff; } .ui.inverted.purple.basic.buttons .button:active, .ui.inverted.purple.buttons .basic.button:active, .ui.inverted.purple.basic.button:active { - -webkit-box-shadow: 0 0 0 2px #cf40ff inset; - box-shadow: 0 0 0 2px #cf40ff inset; - color: #DC73FF; + box-shadow: 0 0 0 2px #cf40ff inset; + color: #dc73ff; } /* Tertiary */ @@ -3344,22 +3042,19 @@ .ui.tertiary.purple.buttons .tertiary.button, .ui.tertiary.purple.button { background: transparent; - -webkit-box-shadow: none; - box-shadow: none; - color: #A333C8; + box-shadow: none; + color: #a333c8; } .ui.tertiary.purple.buttons .button:hover, .ui.tertiary.purple.buttons button:hover, .ui.tertiary.purple.button:hover { - -webkit-box-shadow: inset 0 -0.2em 0 #8a3ea4; - box-shadow: inset 0 -0.2em 0 #8a3ea4; + box-shadow: inset 0 -0.2em 0 #8a3ea4; color: #8a3ea4; } .ui.tertiary.purple.buttons .button:focus, .ui.tertiary.purple.buttons .tertiary.button:focus, .ui.tertiary.purple.button:focus { - -webkit-box-shadow: inset 0 -0.2em 0 #84339f; - box-shadow: inset 0 -0.2em 0 #84339f; + box-shadow: inset 0 -0.2em 0 #84339f; color: #84339f; } .ui.tertiary.purple.buttons .active.button, @@ -3368,37 +3063,35 @@ .ui.tertiary.purple.buttons .button:active, .ui.tertiary.purple.buttons .tertiary.button:active, .ui.tertiary.purple.button:active { - -webkit-box-shadow: inset 0 -0.2em 0 #a30dd4; - box-shadow: inset 0 -0.2em 0 #a30dd4; + box-shadow: inset 0 -0.2em 0 #a30dd4; color: #9724be; } .ui.pink.buttons .button, .ui.pink.button { - background-color: #E03997; - color: #FFFFFF; + 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, 0.15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; + box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; } .ui.pink.buttons .button:hover, .ui.pink.button:hover { background-color: #e61a8d; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.pink.buttons .button:focus, .ui.pink.button:focus { background-color: #e10f85; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.pink.buttons .button:active, .ui.pink.button:active { background-color: #c71f7e; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.pink.buttons .active.button, @@ -3406,7 +3099,7 @@ .ui.pink.active.button, .ui.pink.button .active.button:active { background-color: #ea158d; - color: #FFFFFF; + color: #fff; text-shadow: none; } @@ -3414,48 +3107,39 @@ .ui.basic.pink.buttons .button, .ui.basic.pink.button { background: transparent; - -webkit-box-shadow: 0 0 0 1px #E03997 inset; - box-shadow: 0 0 0 1px #E03997 inset; - color: #E03997; + box-shadow: 0 0 0 1px #e03997 inset; + color: #e03997; } .ui.basic.pink.buttons .button:hover, .ui.basic.pink.button:hover { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #e61a8d inset; - box-shadow: 0 0 0 1px #e61a8d inset; + background: transparent; + box-shadow: 0 0 0 1px #e61a8d inset; color: #e61a8d; } .ui.basic.pink.buttons .button:focus, .ui.basic.pink.button:focus { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #e10f85 inset; - box-shadow: 0 0 0 1px #e10f85 inset; + background: transparent; + box-shadow: 0 0 0 1px #e10f85 inset; color: #e61a8d; } .ui.basic.pink.buttons .active.button, .ui.basic.pink.active.button { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #ea158d inset; - box-shadow: 0 0 0 1px #ea158d inset; + background: transparent; + box-shadow: 0 0 0 1px #ea158d inset; color: #c71f7e; } .ui.basic.pink.buttons .button:active, .ui.basic.pink.button:active { - -webkit-box-shadow: 0 0 0 1px #c71f7e inset; - box-shadow: 0 0 0 1px #c71f7e inset; + box-shadow: 0 0 0 1px #c71f7e inset; color: #c71f7e; } -.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: 0 0 0 2px #FF8EDF inset; - box-shadow: 0 0 0 2px #FF8EDF inset; - color: #FF8EDF; + box-shadow: 0 0 0 2px #ff8edf inset; + color: #ff8edf; } .ui.inverted.pink.buttons .button:hover, .ui.inverted.pink.button:hover, @@ -3465,9 +3149,8 @@ .ui.inverted.pink.button.active, .ui.inverted.pink.buttons .button:active, .ui.inverted.pink.button:active { - -webkit-box-shadow: none ; - box-shadow: none ; - color: #FFFFFF; + box-shadow: none; + color: #fff; } .ui.inverted.pink.buttons .button:hover, .ui.inverted.pink.button:hover { @@ -3491,37 +3174,32 @@ .ui.inverted.pink.buttons .basic.button, .ui.inverted.pink.basic.button { background-color: transparent; - -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; - box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; - color: #FFFFFF; + box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; + color: #fff; } .ui.inverted.pink.basic.buttons .button:hover, .ui.inverted.pink.buttons .basic.button:hover, .ui.inverted.pink.basic.button:hover { - -webkit-box-shadow: 0 0 0 2px #ff5bd1 inset; - box-shadow: 0 0 0 2px #ff5bd1 inset; - color: #FF8EDF; + box-shadow: 0 0 0 2px #ff5bd1 inset; + color: #ff8edf; } .ui.inverted.pink.basic.buttons .button:focus, .ui.inverted.pink.basic.buttons .button:focus, .ui.inverted.pink.basic.button:focus { - -webkit-box-shadow: 0 0 0 2px #ff65d3 inset; - box-shadow: 0 0 0 2px #ff65d3 inset; - color: #FF8EDF; + box-shadow: 0 0 0 2px #ff65d3 inset; + color: #ff8edf; } .ui.inverted.pink.basic.buttons .active.button, .ui.inverted.pink.buttons .basic.active.button, .ui.inverted.pink.basic.active.button { - -webkit-box-shadow: 0 0 0 2px #ff74d8 inset; - box-shadow: 0 0 0 2px #ff74d8 inset; - color: #FF8EDF; + box-shadow: 0 0 0 2px #ff74d8 inset; + color: #ff8edf; } .ui.inverted.pink.basic.buttons .button:active, .ui.inverted.pink.buttons .basic.button:active, .ui.inverted.pink.basic.button:active { - -webkit-box-shadow: 0 0 0 2px #ff5bd1 inset; - box-shadow: 0 0 0 2px #ff5bd1 inset; - color: #FF8EDF; + box-shadow: 0 0 0 2px #ff5bd1 inset; + color: #ff8edf; } /* Tertiary */ @@ -3529,22 +3207,19 @@ .ui.tertiary.pink.buttons .tertiary.button, .ui.tertiary.pink.button { background: transparent; - -webkit-box-shadow: none; - box-shadow: none; - color: #E03997; + box-shadow: none; + color: #e03997; } .ui.tertiary.pink.buttons .button:hover, .ui.tertiary.pink.buttons button:hover, .ui.tertiary.pink.button:hover { - -webkit-box-shadow: inset 0 -0.2em 0 #cc3389; - box-shadow: inset 0 -0.2em 0 #cc3389; + box-shadow: inset 0 -0.2em 0 #cc3389; color: #cc3389; } .ui.tertiary.pink.buttons .button:focus, .ui.tertiary.pink.buttons .tertiary.button:focus, .ui.tertiary.pink.button:focus { - -webkit-box-shadow: inset 0 -0.2em 0 #c92782; - box-shadow: inset 0 -0.2em 0 #c92782; + box-shadow: inset 0 -0.2em 0 #c92782; color: #c92782; } .ui.tertiary.pink.buttons .active.button, @@ -3553,37 +3228,35 @@ .ui.tertiary.pink.buttons .button:active, .ui.tertiary.pink.buttons .tertiary.button:active, .ui.tertiary.pink.button:active { - -webkit-box-shadow: inset 0 -0.2em 0 #ff0090; - box-shadow: inset 0 -0.2em 0 #ff0090; + box-shadow: inset 0 -0.2em 0 #ff0090; color: #ea158d; } .ui.brown.buttons .button, .ui.brown.button { - background-color: #A5673F; - color: #FFFFFF; + 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, 0.15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; + box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; } .ui.brown.buttons .button:hover, .ui.brown.button:hover { background-color: #975b33; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.brown.buttons .button:focus, .ui.brown.button:focus { background-color: #90532b; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.brown.buttons .button:active, .ui.brown.button:active { background-color: #805031; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.brown.buttons .active.button, @@ -3591,7 +3264,7 @@ .ui.brown.active.button, .ui.brown.button .active.button:active { background-color: #995a31; - color: #FFFFFF; + color: #fff; text-shadow: none; } @@ -3599,48 +3272,39 @@ .ui.basic.brown.buttons .button, .ui.basic.brown.button { background: transparent; - -webkit-box-shadow: 0 0 0 1px #A5673F inset; - box-shadow: 0 0 0 1px #A5673F inset; - color: #A5673F; + box-shadow: 0 0 0 1px #a5673f inset; + color: #a5673f; } .ui.basic.brown.buttons .button:hover, .ui.basic.brown.button:hover { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #975b33 inset; - box-shadow: 0 0 0 1px #975b33 inset; + background: transparent; + box-shadow: 0 0 0 1px #975b33 inset; color: #975b33; } .ui.basic.brown.buttons .button:focus, .ui.basic.brown.button:focus { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #90532b inset; - box-shadow: 0 0 0 1px #90532b inset; + background: transparent; + box-shadow: 0 0 0 1px #90532b inset; color: #975b33; } .ui.basic.brown.buttons .active.button, .ui.basic.brown.active.button { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #995a31 inset; - box-shadow: 0 0 0 1px #995a31 inset; + background: transparent; + box-shadow: 0 0 0 1px #995a31 inset; color: #805031; } .ui.basic.brown.buttons .button:active, .ui.basic.brown.button:active { - -webkit-box-shadow: 0 0 0 1px #805031 inset; - box-shadow: 0 0 0 1px #805031 inset; + box-shadow: 0 0 0 1px #805031 inset; color: #805031; } -.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: 0 0 0 2px #D67C1C inset; - box-shadow: 0 0 0 2px #D67C1C inset; - color: #D67C1C; + box-shadow: 0 0 0 2px #d67c1c inset; + color: #d67c1c; } .ui.inverted.brown.buttons .button:hover, .ui.inverted.brown.button:hover, @@ -3650,9 +3314,8 @@ .ui.inverted.brown.button.active, .ui.inverted.brown.buttons .button:active, .ui.inverted.brown.button:active { - -webkit-box-shadow: none ; - box-shadow: none ; - color: #FFFFFF; + box-shadow: none; + color: #fff; } .ui.inverted.brown.buttons .button:hover, .ui.inverted.brown.button:hover { @@ -3676,37 +3339,32 @@ .ui.inverted.brown.buttons .basic.button, .ui.inverted.brown.basic.button { background-color: transparent; - -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; - box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; - color: #FFFFFF; + box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; + color: #fff; } .ui.inverted.brown.basic.buttons .button:hover, .ui.inverted.brown.buttons .basic.button:hover, .ui.inverted.brown.basic.button:hover { - -webkit-box-shadow: 0 0 0 2px #b0620f inset; - box-shadow: 0 0 0 2px #b0620f inset; - color: #D67C1C; + box-shadow: 0 0 0 2px #b0620f inset; + color: #d67c1c; } .ui.inverted.brown.basic.buttons .button:focus, .ui.inverted.brown.basic.buttons .button:focus, .ui.inverted.brown.basic.button:focus { - -webkit-box-shadow: 0 0 0 2px #c16808 inset; - box-shadow: 0 0 0 2px #c16808 inset; - color: #D67C1C; + box-shadow: 0 0 0 2px #c16808 inset; + color: #d67c1c; } .ui.inverted.brown.basic.buttons .active.button, .ui.inverted.brown.buttons .basic.active.button, .ui.inverted.brown.basic.active.button { - -webkit-box-shadow: 0 0 0 2px #cc6f0d inset; - box-shadow: 0 0 0 2px #cc6f0d inset; - color: #D67C1C; + box-shadow: 0 0 0 2px #cc6f0d inset; + color: #d67c1c; } .ui.inverted.brown.basic.buttons .button:active, .ui.inverted.brown.buttons .basic.button:active, .ui.inverted.brown.basic.button:active { - -webkit-box-shadow: 0 0 0 2px #a96216 inset; - box-shadow: 0 0 0 2px #a96216 inset; - color: #D67C1C; + box-shadow: 0 0 0 2px #a96216 inset; + color: #d67c1c; } /* Tertiary */ @@ -3714,22 +3372,19 @@ .ui.tertiary.brown.buttons .tertiary.button, .ui.tertiary.brown.button { background: transparent; - -webkit-box-shadow: none; - box-shadow: none; - color: #A5673F; + box-shadow: none; + color: #a5673f; } .ui.tertiary.brown.buttons .button:hover, .ui.tertiary.brown.buttons button:hover, .ui.tertiary.brown.button:hover { - -webkit-box-shadow: inset 0 -0.2em 0 #835f48; - box-shadow: inset 0 -0.2em 0 #835f48; + box-shadow: inset 0 -0.2em 0 #835f48; color: #835f48; } .ui.tertiary.brown.buttons .button:focus, .ui.tertiary.brown.buttons .tertiary.button:focus, .ui.tertiary.brown.button:focus { - -webkit-box-shadow: inset 0 -0.2em 0 #7d573e; - box-shadow: inset 0 -0.2em 0 #7d573e; + box-shadow: inset 0 -0.2em 0 #7d573e; color: #7d573e; } .ui.tertiary.brown.buttons .active.button, @@ -3738,37 +3393,35 @@ .ui.tertiary.brown.buttons .button:active, .ui.tertiary.brown.buttons .tertiary.button:active, .ui.tertiary.brown.button:active { - -webkit-box-shadow: inset 0 -0.2em 0 #ae561d; - box-shadow: inset 0 -0.2em 0 #ae561d; + box-shadow: inset 0 -0.2em 0 #ae561d; color: #995a31; } .ui.grey.buttons .button, .ui.grey.button { background-color: #767676; - color: #FFFFFF; + color: #fff; text-shadow: none; background-image: none; } .ui.grey.button { - -webkit-box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; + box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; } .ui.grey.buttons .button:hover, .ui.grey.button:hover { background-color: #838383; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.grey.buttons .button:focus, .ui.grey.button:focus { background-color: #8a8a8a; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.grey.buttons .button:active, .ui.grey.button:active { background-color: #909090; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.grey.buttons .active.button, @@ -3776,7 +3429,7 @@ .ui.grey.active.button, .ui.grey.button .active.button:active { background-color: #696969; - color: #FFFFFF; + color: #fff; text-shadow: none; } @@ -3784,48 +3437,39 @@ .ui.basic.grey.buttons .button, .ui.basic.grey.button { background: transparent; - -webkit-box-shadow: 0 0 0 1px #767676 inset; - box-shadow: 0 0 0 1px #767676 inset; + box-shadow: 0 0 0 1px #767676 inset; color: #767676; } .ui.basic.grey.buttons .button:hover, .ui.basic.grey.button:hover { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #838383 inset; - box-shadow: 0 0 0 1px #838383 inset; + background: transparent; + box-shadow: 0 0 0 1px #838383 inset; color: #838383; } .ui.basic.grey.buttons .button:focus, .ui.basic.grey.button:focus { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #8a8a8a inset; - box-shadow: 0 0 0 1px #8a8a8a inset; + background: transparent; + box-shadow: 0 0 0 1px #8a8a8a inset; color: #838383; } .ui.basic.grey.buttons .active.button, .ui.basic.grey.active.button { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #696969 inset; - box-shadow: 0 0 0 1px #696969 inset; + background: transparent; + box-shadow: 0 0 0 1px #696969 inset; color: #909090; } .ui.basic.grey.buttons .button:active, .ui.basic.grey.button:active { - -webkit-box-shadow: 0 0 0 1px #909090 inset; - box-shadow: 0 0 0 1px #909090 inset; + box-shadow: 0 0 0 1px #909090 inset; color: #909090; } -.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: 0 0 0 2px #D4D4D5 inset; - box-shadow: 0 0 0 2px #D4D4D5 inset; - color: #FFFFFF; + box-shadow: 0 0 0 2px #d4d4d5 inset; + color: #fff; } .ui.inverted.grey.buttons .button:hover, .ui.inverted.grey.button:hover, @@ -3835,8 +3479,7 @@ .ui.inverted.grey.button.active, .ui.inverted.grey.buttons .button:active, .ui.inverted.grey.button:active { - -webkit-box-shadow: none ; - box-shadow: none ; + box-shadow: none; color: rgba(0, 0, 0, 0.6); } .ui.inverted.grey.buttons .button:hover, @@ -3861,37 +3504,32 @@ .ui.inverted.grey.buttons .basic.button, .ui.inverted.grey.basic.button { background-color: transparent; - -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; - box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; - color: #FFFFFF; + box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; + color: #fff; } .ui.inverted.grey.basic.buttons .button:hover, .ui.inverted.grey.buttons .basic.button:hover, .ui.inverted.grey.basic.button:hover { - -webkit-box-shadow: 0 0 0 2px #c2c4c5 inset; - box-shadow: 0 0 0 2px #c2c4c5 inset; - color: #FFFFFF; + box-shadow: 0 0 0 2px #c2c4c5 inset; + color: #fff; } .ui.inverted.grey.basic.buttons .button:focus, .ui.inverted.grey.basic.buttons .button:focus, .ui.inverted.grey.basic.button:focus { - -webkit-box-shadow: 0 0 0 2px #c7c9cb inset; - box-shadow: 0 0 0 2px #c7c9cb inset; - color: #DCDDDE; + box-shadow: 0 0 0 2px #c7c9cb inset; + color: #dcddde; } .ui.inverted.grey.basic.buttons .active.button, .ui.inverted.grey.buttons .basic.active.button, .ui.inverted.grey.basic.active.button { - -webkit-box-shadow: 0 0 0 2px #cfd0d2 inset; - box-shadow: 0 0 0 2px #cfd0d2 inset; - color: #FFFFFF; + box-shadow: 0 0 0 2px #cfd0d2 inset; + color: #fff; } .ui.inverted.grey.basic.buttons .button:active, .ui.inverted.grey.buttons .basic.button:active, .ui.inverted.grey.basic.button:active { - -webkit-box-shadow: 0 0 0 2px #c2c4c5 inset; - box-shadow: 0 0 0 2px #c2c4c5 inset; - color: #FFFFFF; + box-shadow: 0 0 0 2px #c2c4c5 inset; + color: #fff; } /* Tertiary */ @@ -3899,23 +3537,20 @@ .ui.tertiary.grey.buttons .tertiary.button, .ui.tertiary.grey.button { background: transparent; - -webkit-box-shadow: none; - box-shadow: none; + box-shadow: none; color: #767676; } .ui.tertiary.grey.buttons .button:hover, .ui.tertiary.grey.buttons button:hover, .ui.tertiary.grey.button:hover { - -webkit-box-shadow: inset 0 -0.2em 0 #838383; - box-shadow: inset 0 -0.2em 0 #838383; - color: #838383; + box-shadow: inset 0 -0.2em 0 #909090; + color: #909090; } .ui.tertiary.grey.buttons .button:focus, .ui.tertiary.grey.buttons .tertiary.button:focus, .ui.tertiary.grey.button:focus { - -webkit-box-shadow: inset 0 -0.2em 0 #8a8a8a; - box-shadow: inset 0 -0.2em 0 #8a8a8a; - color: #8a8a8a; + box-shadow: inset 0 -0.2em 0 #9f9f9f; + color: #9f9f9f; } .ui.tertiary.grey.buttons .active.button, .ui.tertiary.grey.buttons .tertiary.active.button, @@ -3923,37 +3558,35 @@ .ui.tertiary.grey.buttons .button:active, .ui.tertiary.grey.buttons .tertiary.button:active, .ui.tertiary.grey.button:active { - -webkit-box-shadow: inset 0 -0.2em 0 #7e5454; - box-shadow: inset 0 -0.2em 0 #7e5454; + box-shadow: inset 0 -0.2em 0 #5d5d5d; color: #696969; } .ui.black.buttons .button, .ui.black.button { - background-color: #1B1C1D; - color: #FFFFFF; + 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, 0.15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; + box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; } .ui.black.buttons .button:hover, .ui.black.button:hover { background-color: #27292a; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.black.buttons .button:focus, .ui.black.button:focus { background-color: #2f3032; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.black.buttons .button:active, .ui.black.button:active { background-color: #343637; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.black.buttons .active.button, @@ -3961,7 +3594,7 @@ .ui.black.active.button, .ui.black.button .active.button:active { background-color: #0f0f10; - color: #FFFFFF; + color: #fff; text-shadow: none; } @@ -3969,48 +3602,39 @@ .ui.basic.black.buttons .button, .ui.basic.black.button { background: transparent; - -webkit-box-shadow: 0 0 0 1px #1B1C1D inset; - box-shadow: 0 0 0 1px #1B1C1D inset; - color: #1B1C1D; + box-shadow: 0 0 0 1px #1b1c1d inset; + color: #1b1c1d; } .ui.basic.black.buttons .button:hover, .ui.basic.black.button:hover { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #27292a inset; - box-shadow: 0 0 0 1px #27292a inset; + background: transparent; + box-shadow: 0 0 0 1px #27292a inset; color: #27292a; } .ui.basic.black.buttons .button:focus, .ui.basic.black.button:focus { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #2f3032 inset; - box-shadow: 0 0 0 1px #2f3032 inset; + background: transparent; + box-shadow: 0 0 0 1px #2f3032 inset; color: #27292a; } .ui.basic.black.buttons .active.button, .ui.basic.black.active.button { - background: transparent ; - -webkit-box-shadow: 0 0 0 1px #0f0f10 inset; - box-shadow: 0 0 0 1px #0f0f10 inset; + background: transparent; + box-shadow: 0 0 0 1px #0f0f10 inset; color: #343637; } .ui.basic.black.buttons .button:active, .ui.basic.black.button:active { - -webkit-box-shadow: 0 0 0 1px #343637 inset; - box-shadow: 0 0 0 1px #343637 inset; + box-shadow: 0 0 0 1px #343637 inset; color: #343637; } -.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: 0 0 0 2px #D4D4D5 inset; - box-shadow: 0 0 0 2px #D4D4D5 inset; - color: #FFFFFF; + box-shadow: 0 0 0 2px #d4d4d5 inset; + color: #fff; } .ui.inverted.black.buttons .button:hover, .ui.inverted.black.button:hover, @@ -4020,9 +3644,8 @@ .ui.inverted.black.button.active, .ui.inverted.black.buttons .button:active, .ui.inverted.black.button:active { - -webkit-box-shadow: none ; - box-shadow: none ; - color: #FFFFFF; + box-shadow: none; + color: #fff; } .ui.inverted.black.buttons .button:hover, .ui.inverted.black.button:hover { @@ -4046,37 +3669,32 @@ .ui.inverted.black.buttons .basic.button, .ui.inverted.black.basic.button { background-color: transparent; - -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; - box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; - color: #FFFFFF; + box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) inset; + color: #fff; } .ui.inverted.black.basic.buttons .button:hover, .ui.inverted.black.buttons .basic.button:hover, .ui.inverted.black.basic.button:hover { - -webkit-box-shadow: 0 0 0 2px #000000 inset; - box-shadow: 0 0 0 2px #000000 inset; - color: #FFFFFF; + box-shadow: 0 0 0 2px #000000 inset; + color: #fff; } .ui.inverted.black.basic.buttons .button:focus, .ui.inverted.black.basic.buttons .button:focus, .ui.inverted.black.basic.button:focus { - -webkit-box-shadow: 0 0 0 2px #000000 inset; - box-shadow: 0 0 0 2px #000000 inset; + box-shadow: 0 0 0 2px #000000 inset; color: #545454; } .ui.inverted.black.basic.buttons .active.button, .ui.inverted.black.buttons .basic.active.button, .ui.inverted.black.basic.active.button { - -webkit-box-shadow: 0 0 0 2px #000000 inset; - box-shadow: 0 0 0 2px #000000 inset; - color: #FFFFFF; + box-shadow: 0 0 0 2px #000000 inset; + color: #fff; } .ui.inverted.black.basic.buttons .button:active, .ui.inverted.black.buttons .basic.button:active, .ui.inverted.black.basic.button:active { - -webkit-box-shadow: 0 0 0 2px #000000 inset; - box-shadow: 0 0 0 2px #000000 inset; - color: #FFFFFF; + box-shadow: 0 0 0 2px #000000 inset; + color: #fff; } /* Tertiary */ @@ -4084,22 +3702,19 @@ .ui.tertiary.black.buttons .tertiary.button, .ui.tertiary.black.button { background: transparent; - -webkit-box-shadow: none; - box-shadow: none; - color: #1B1C1D; + box-shadow: none; + color: #1b1c1d; } .ui.tertiary.black.buttons .button:hover, .ui.tertiary.black.buttons button:hover, .ui.tertiary.black.button:hover { - -webkit-box-shadow: inset 0 -0.2em 0 #8b8f93; - box-shadow: inset 0 -0.2em 0 #8b8f93; + box-shadow: inset 0 -0.2em 0 #8b8f93; color: #8b8f93; } .ui.tertiary.black.buttons .button:focus, .ui.tertiary.black.buttons .tertiary.button:focus, .ui.tertiary.black.button:focus { - -webkit-box-shadow: inset 0 -0.2em 0 #93969a; - box-shadow: inset 0 -0.2em 0 #93969a; + box-shadow: inset 0 -0.2em 0 #93969a; color: #93969a; } .ui.tertiary.black.buttons .active.button, @@ -4108,44 +3723,37 @@ .ui.tertiary.black.buttons .button:active, .ui.tertiary.black.buttons .tertiary.button:active, .ui.tertiary.black.button:active { - -webkit-box-shadow: inset 0 -0.2em 0 #404245; - box-shadow: inset 0 -0.2em 0 #404245; + box-shadow: inset 0 -0.2em 0 #404245; color: #0f0f10; } -/*--------------- - Positive -----------------*/ - - /* Standard */ .ui.positive.buttons .button, .ui.positive.button { - background-color: #21BA45; - color: #FFFFFF; + 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, 0.15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; + box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; } .ui.positive.buttons .button:hover, .ui.positive.button:hover { background-color: #16ab39; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.positive.buttons .button:focus, .ui.positive.button:focus { background-color: #0ea432; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.positive.buttons .button:active, .ui.positive.button:active { background-color: #198f35; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.positive.buttons .active.button, @@ -4153,7 +3761,7 @@ .ui.positive.active.button, .ui.positive.button .active.button:active { background-color: #13ae38; - color: #FFFFFF; + color: #fff; text-shadow: none; } @@ -4161,74 +3769,63 @@ .ui.basic.positive.buttons .button, .ui.basic.positive.button { background: transparent; - -webkit-box-shadow: 0 0 0 1px #21BA45 inset; - box-shadow: 0 0 0 1px #21BA45 inset; - color: #21BA45; + box-shadow: 0 0 0 1px #21ba45 inset; + color: #21ba45; } .ui.basic.positive.buttons .button:hover, .ui.basic.positive.button:hover { background: transparent; - -webkit-box-shadow: 0 0 0 1px #16ab39 inset; - box-shadow: 0 0 0 1px #16ab39 inset; + box-shadow: 0 0 0 1px #16ab39 inset; color: #16ab39; } .ui.basic.positive.buttons .button:focus, .ui.basic.positive.button:focus { background: transparent; - -webkit-box-shadow: 0 0 0 1px #0ea432 inset; - box-shadow: 0 0 0 1px #0ea432 inset; + box-shadow: 0 0 0 1px #0ea432 inset; color: #16ab39; } .ui.basic.positive.buttons .active.button, .ui.basic.positive.active.button { background: transparent; - -webkit-box-shadow: 0 0 0 1px #13ae38 inset; - box-shadow: 0 0 0 1px #13ae38 inset; + box-shadow: 0 0 0 1px #13ae38 inset; color: #198f35; } .ui.basic.positive.buttons .button:active, .ui.basic.positive.button:active { - -webkit-box-shadow: 0 0 0 1px #198f35 inset; - box-shadow: 0 0 0 1px #198f35 inset; + box-shadow: 0 0 0 1px #198f35 inset; color: #198f35; } .ui.buttons:not(.vertical) > .basic.positive.button:not(:first-child) { margin-left: -1px; } -/*--------------- - Negative -----------------*/ - - /* Standard */ .ui.negative.buttons .button, .ui.negative.button { - background-color: #DB2828; - color: #FFFFFF; + 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, 0.15) inset; - box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; + box-shadow: 0 0 0 0 rgba(34, 36, 38, 0.15) inset; } .ui.negative.buttons .button:hover, .ui.negative.button:hover { background-color: #d01919; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.negative.buttons .button:focus, .ui.negative.button:focus { background-color: #ca1010; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.negative.buttons .button:active, .ui.negative.button:active { background-color: #b21e1e; - color: #FFFFFF; + color: #fff; text-shadow: none; } .ui.negative.buttons .active.button, @@ -4236,7 +3833,7 @@ .ui.negative.active.button, .ui.negative.button .active.button:active { background-color: #d41515; - color: #FFFFFF; + color: #fff; text-shadow: none; } @@ -4244,35 +3841,30 @@ .ui.basic.negative.buttons .button, .ui.basic.negative.button { background: transparent; - -webkit-box-shadow: 0 0 0 1px #DB2828 inset; - box-shadow: 0 0 0 1px #DB2828 inset; - color: #DB2828; + box-shadow: 0 0 0 1px #db2828 inset; + color: #db2828; } .ui.basic.negative.buttons .button:hover, .ui.basic.negative.button:hover { background: transparent; - -webkit-box-shadow: 0 0 0 1px #d01919 inset; - box-shadow: 0 0 0 1px #d01919 inset; + box-shadow: 0 0 0 1px #d01919 inset; color: #d01919; } .ui.basic.negative.buttons .button:focus, .ui.basic.negative.button:focus { background: transparent; - -webkit-box-shadow: 0 0 0 1px #ca1010 inset; - box-shadow: 0 0 0 1px #ca1010 inset; + box-shadow: 0 0 0 1px #ca1010 inset; color: #d01919; } .ui.basic.negative.buttons .active.button, .ui.basic.negative.active.button { background: transparent; - -webkit-box-shadow: 0 0 0 1px #d41515 inset; - box-shadow: 0 0 0 1px #d41515 inset; + box-shadow: 0 0 0 1px #d41515 inset; color: #b21e1e; } .ui.basic.negative.buttons .button:active, .ui.basic.negative.button:active { - -webkit-box-shadow: 0 0 0 1px #b21e1e inset; - box-shadow: 0 0 0 1px #b21e1e inset; + box-shadow: 0 0 0 1px #b21e1e inset; color: #b21e1e; } .ui.buttons:not(.vertical) > .basic.negative.button:not(:first-child) { @@ -4281,28 +3873,22 @@ /******************************* - Groups - *******************************/ + 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; + flex-direction: row; font-size: 0; vertical-align: baseline; margin: 0 0.25em 0 0; } .ui.buttons:not(.basic):not(.inverted) { - -webkit-box-shadow: none; - box-shadow: none; + box-shadow: none; } /* Clearfix */ -.ui.buttons:after { +.ui.buttons::after { content: "."; display: block; height: 0; @@ -4312,15 +3898,12 @@ /* Standard Group */ .ui.buttons .button { - -webkit-box-flex: 1; - -ms-flex: 1 0 auto; - flex: 1 0 auto; + flex: 1 0 auto; border-radius: 0; - margin: 0 0 0 0; + margin: 0; } .ui.buttons:not(.basic):not(.inverted) > .button:not(.basic):not(.inverted) { - -webkit-box-shadow: 0 0 0 1px transparent inset, 0 0 0 0 rgba(34, 36, 38, 0.15) inset; - box-shadow: 0 0 0 1px transparent inset, 0 0 0 0 rgba(34, 36, 38, 0.15) inset; + box-shadow: 0 0 0 1px transparent inset, 0 0 0 0 rgba(34, 36, 38, 0.15) inset; } .ui.buttons .button:first-child { border-left: none; @@ -4333,25 +3916,21 @@ border-bottom-right-radius: 0.28571429rem; } -/* Vertical Style */ +/* 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; + flex-direction: column; } .ui.vertical.buttons .button { display: block; float: none; width: 100%; - margin: 0 0 0 0; - -webkit-box-shadow: none; - box-shadow: none; + margin: 0; border-radius: 0; } +.ui.vertical.buttons .button:not(.basic) { + box-shadow: none; +} .ui.vertical.buttons .button:first-child { border-top-left-radius: 0.28571429rem; border-top-right-radius: 0.28571429rem; @@ -4364,6 +3943,89 @@ .ui.vertical.buttons .button:only-child { border-radius: 0.28571429rem; } +.ui.vertical.buttons .basic.button:not(:first-child) { + border-top: none; +} +.ui.wrapping.buttons { + flex-wrap: wrap; +} +.ui.wrapping.basic.buttons { + border-bottom: none; +} +.ui.wrapping.basic.buttons .button { + border-bottom: 1px solid rgba(34, 36, 38, 0.15); +} +.ui.wrapping.basic.buttons .button:hover { + background: transparent !important; +} +.ui.compact.wrapping.buttons .button { + flex: none; +} +.ui.wrapped.buttons:not(.spaced) { + border-top-right-radius: 0; +} +.ui.wrapped.buttons:not(.spaced) .button:first-child { + border-radius: 0.28571429rem 0 0 0; +} +.ui.wrapped.buttons:not(.spaced) .button:last-child { + border-radius: 0 0 0.28571429rem 0; +} +.ui.wrapped[class*="top attached"].buttons { + border-radius: 0.28571429rem 0 0 0; +} +.ui.wrapped[class*="top attached"].buttons .button:last-child { + border-radius: 0; +} +.ui.wrapped[class*="bottom attached"].buttons { + border-radius: 0 0 0 0.28571429rem; +} +.ui.wrapped[class*="bottom attached"].buttons .button:first-child { + border-radius: 0; +} +.ui.spaced.buttons .ui.button { + margin-bottom: 1em; + margin-right: 1em; + border-radius: 0.28571429rem; +} +.ui.spaced.basic.buttons { + border: none; +} +.ui.spaced.basic.buttons .button { + border: 1px solid rgba(34, 36, 38, 0.15); +} +.ui.spaced.basic.buttons .button.basic { + border: none; +} +.ui.spaced.basic.vertical.buttons .button:first-child { + border-top: 1px solid rgba(34, 36, 38, 0.15); +} +.ui.spaced.basic.wrapping.buttons .button:not(.basic) { + border-top: 1px solid rgba(34, 36, 38, 0.15); + border-right: 1px solid rgba(34, 36, 38, 0.15); +} +.ui.spaced.basic.wrapping.buttons .button:not(.basic):first-child { + border-left: 1px solid rgba(34, 36, 38, 0.15); +} +.ui.spaced.basic.inverted.buttons .basic.button { + margin-bottom: calc(1em + 1px); + margin-top: 1px; +} +.ui.basic.buttons:not(.vertical).inverted .button, +.ui.basic.buttons:not(.vertical) .basic.button { + margin-left: -1px; + border-right: none; +} +.ui.basic.buttons:not(.vertical):not(.spaced):not(.inverted) .basic.button { + margin-top: -1px; + border-bottom: none; +} +.ui.inverted.basic.buttons:not(.spaced) .button, +.ui.attached.basic.buttons:not(.wrapping):not(.inverted) .basic.button { + margin-bottom: -1px; +} +.ui.basic.buttons:not(.vertical):not(.attached):not(.spaced):not(.wrapping):not(.inverted) .basic.button { + margin-bottom: -1px; +} /******************************* diff --git a/src/main/resources/kweb/static/plugins/fomantic/components/button.min.css b/src/main/resources/kweb/static/plugins/fomantic/components/button.min.css index 97cc3df457..291b06f786 100644 --- a/src/main/resources/kweb/static/plugins/fomantic/components/button.min.css +++ b/src/main/resources/kweb/static/plugins/fomantic/components/button.min.css @@ -1,9 +1,9 @@ /*! - * # Fomantic-UI - Button - * http://github.com/fomantic/Fomantic-UI/ + * # Fomantic-UI 2.9.3 - Button + * https://github.com/fomantic/Fomantic-UI/ * * * Released under the MIT license - * http://opensource.org/licenses/MIT + * https://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:auto;-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:none;-webkit-box-shadow:'';box-shadow:''}.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;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;border-radius:500rem;-webkit-animation:loader .6s infinite linear;animation:loader .6s infinite linear;border:.2em solid currentColor;color:#fff;-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}.ui.basic.loading.button:not(.inverted):before{border-color:rgba(0,0,0,.1)}.ui.basic.loading.button:not(.inverted):after{border-color:#767676}.ui.button:disabled,.ui.buttons .disabled.button:not(.basic),.ui.disabled.active.button,.ui.disabled.button,.ui.disabled.button:hover{cursor:default;opacity:.45!important;background-image:none;-webkit-box-shadow:none;box-shadow:none;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;box-shadow:0 0 0 2px #fff inset;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;box-shadow:0 0 0 2px #fff inset;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;box-shadow:0 0 0 2px #fff inset;color:rgba(0,0,0,.8)}.ui.inverted.button.active:focus{background:#dcddde;-webkit-box-shadow:0 0 0 2px #dcddde inset;box-shadow:0 0 0 2px #dcddde inset;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;padding:0!important;border:none;-webkit-box-shadow:none;box-shadow:none}.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;font-size:1em;padding:'';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:#1da1f2;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:#0298f3;color:#fff;text-shadow:none}.ui.twitter.button:active{background-color:#0c85d0;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:#0077b5;color:#fff;text-shadow:none}.ui.linkedin.button:hover{background-color:#00669c;color:#fff;text-shadow:none}.ui.linkedin.button:active{background-color:#005582;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:#45668e;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:#395980;color:#fff}.ui.vk.button:active{background-color:#344d6c;color:#fff}.ui.whatsapp.button{background-color:#25d366;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.whatsapp.button:hover{background-color:#19c55a;color:#fff}.ui.whatsapp.button:active{background-color:#1da851;color:#fff}.ui.telegram.button{background-color:#08c;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.telegram.button:hover{background-color:#0077b3;color:#fff}.ui.telegram.button:active{background-color:#069;color:#fff}.ui.button>.icon:not(.button){height:auto;opacity:.8;-webkit-transition:opacity .1s ease;transition:opacity .1s ease;color:''}.ui.button:not(.icon)>.icon:not(.button):not(.dropdown),.ui.button:not(.icon)>.icons:not(.button):not(.dropdown){margin:0 .42857143em 0 -.21428571em;vertical-align:baseline}.ui.button:not(.icon)>.icons:not(.button):not(.dropdown)>.icon{vertical-align:baseline}.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.compact.labeled.icon.button>.icon,.ui.compact.labeled.icon.buttons .button>.icon{padding:.58928571em 0 .58928571em 0}.ui.button,.ui.buttons .button,.ui.buttons .or{font-size:1rem}.ui.mini.buttons .button,.ui.mini.buttons .dropdown,.ui.mini.buttons .dropdown .menu>.item,.ui.mini.buttons .or,.ui.ui.ui.ui.mini.button{font-size:.78571429rem}.ui.tiny.buttons .button,.ui.tiny.buttons .dropdown,.ui.tiny.buttons .dropdown .menu>.item,.ui.tiny.buttons .or,.ui.ui.ui.ui.tiny.button{font-size:.85714286rem}.ui.small.buttons .button,.ui.small.buttons .dropdown,.ui.small.buttons .dropdown .menu>.item,.ui.small.buttons .or,.ui.ui.ui.ui.small.button{font-size:.92857143rem}.ui.large.buttons .button,.ui.large.buttons .dropdown,.ui.large.buttons .dropdown .menu>.item,.ui.large.buttons .or,.ui.ui.ui.ui.large.button{font-size:1.14285714rem}.ui.big.buttons .button,.ui.big.buttons .dropdown,.ui.big.buttons .dropdown .menu>.item,.ui.big.buttons .or,.ui.ui.ui.ui.big.button{font-size:1.28571429rem}.ui.huge.buttons .button,.ui.huge.buttons .dropdown,.ui.huge.buttons .dropdown .menu>.item,.ui.huge.buttons .or,.ui.ui.ui.ui.huge.button{font-size:1.42857143rem}.ui.massive.buttons .button,.ui.massive.buttons .dropdown,.ui.massive.buttons .dropdown .menu>.item,.ui.massive.buttons .or,.ui.ui.ui.ui.massive.button{font-size:1.71428571rem}.ui.icon.button:not(.animated),.ui.icon.buttons .button{padding:.78571429em .78571429em .78571429em}.ui.animated.icon.button>.content>.icon,.ui.icon.button>.icon,.ui.icon.buttons .button>.icon{opacity:.9;margin:0!important;vertical-align:top}.ui.animated.button>.content>.icon{vertical-align:top}.ui.basic.button,.ui.basic.buttons .button{background:transparent none;color:rgba(0,0,0,.6);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;color:rgba(0,0,0,.8);-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;color:rgba(0,0,0,.8);-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;color:rgba(0,0,0,.9);-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);-webkit-box-shadow:'';box-shadow:'';color:rgba(0,0,0,.95)}.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:'';box-shadow:''}.ui.basic.inverted.button,.ui.basic.inverted.buttons .button{background-color:transparent;color:#f9fafb;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset}.ui.basic.inverted.button:hover,.ui.basic.inverted.buttons .button:hover{color:#fff;-webkit-box-shadow:0 0 0 2px #fff inset;box-shadow:0 0 0 2px #fff inset}.ui.basic.inverted.button:focus,.ui.basic.inverted.buttons .button:focus{color:#fff;-webkit-box-shadow:0 0 0 2px #fff inset;box-shadow:0 0 0 2px #fff inset}.ui.basic.inverted.button:active,.ui.basic.inverted.buttons .button:active{background-color:rgba(255,255,255,.08);color:#fff;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.9) inset;box-shadow:0 0 0 2px rgba(255,255,255,.9) inset}.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;box-shadow:0 0 0 2px #fff inset}.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;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.tertiary.button{-webkit-transition:color .1s ease!important;transition:color .1s ease!important;border-radius:0;margin:.28571429em .25em .28571429em 0!important;padding:.5em!important;-webkit-box-shadow:none;box-shadow:none;color:rgba(0,0,0,.6);background:0 0}.ui.tertiary.button:hover{-webkit-box-shadow:inset 0 -.2em 0 #666;box-shadow:inset 0 -.2em 0 #666;color:#333;background:0 0}.ui.tertiary.button:focus{-webkit-box-shadow:inset 0 -.2em 0 #666;box-shadow:inset 0 -.2em 0 #666;color:#333;background:0 0}.ui.tertiary.button:active{-webkit-box-shadow:inset 0 -.2em 0 #999;box-shadow:inset 0 -.2em 0 #999;border-radius:.28571429rem .28571429rem 0 0;color:#666;background:0 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;top:0;left:0;height:100%;line-height:1;border-radius:0;border-top-left-radius:inherit;border-bottom-left-radius:inherit;text-align:center;-webkit-animation:none;animation:none;padding:.78571429em 0 .78571429em 0;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[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:relative;width:100%;top:0;text-align:center}.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.labeled.icon.button>.loading.icon:before{-webkit-animation:loader 2s linear infinite;animation:loader 2s linear infinite}.ui.button.toggle.active,.ui.buttons .button.toggle.active,.ui.toggle.buttons .active.button{background-color:#21ba45;-webkit-box-shadow:none;box-shadow:none;text-shadow:none;color:#fff}.ui.button.toggle.active:hover{background-color:#16ab39;text-shadow:none;color:#fff}.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);box-shadow:0 0 0 1px rgba(34,36,38,.15)}.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:auto;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;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.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.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{background:0 0;-webkit-box-shadow:0 0 0 1px #2185d0 inset;box-shadow:0 0 0 1px #2185d0 inset;color:#2185d0}.ui.basic.primary.button:hover,.ui.basic.primary.buttons .button:hover{background:0 0;-webkit-box-shadow:0 0 0 1px #1678c2 inset;box-shadow:0 0 0 1px #1678c2 inset;color:#1678c2}.ui.basic.primary.button:focus,.ui.basic.primary.buttons .button:focus{background:0 0;-webkit-box-shadow:0 0 0 1px #0d71bb inset;box-shadow:0 0 0 1px #0d71bb inset;color:#1678c2}.ui.basic.primary.active.button,.ui.basic.primary.buttons .active.button{background:0 0;-webkit-box-shadow:0 0 0 1px #1279c6 inset;box-shadow:0 0 0 1px #1279c6 inset;color:#1a69a4}.ui.basic.primary.button:active,.ui.basic.primary.buttons .button:active{-webkit-box-shadow:0 0 0 1px #1a69a4 inset;box-shadow:0 0 0 1px #1a69a4 inset;color:#1a69a4}.ui.buttons:not(.vertical)>.basic.primary.button:not(:first-child){margin-left:-1px}.ui.inverted.primary.button,.ui.inverted.primary.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #54c8ff inset;box-shadow:0 0 0 2px #54c8ff inset;color:#54c8ff}.ui.inverted.primary.button.active,.ui.inverted.primary.button:active,.ui.inverted.primary.button:focus,.ui.inverted.primary.button:hover,.ui.inverted.primary.buttons .button.active,.ui.inverted.primary.buttons .button:active,.ui.inverted.primary.buttons .button:focus,.ui.inverted.primary.buttons .button:hover{-webkit-box-shadow:none;box-shadow:none;color:#fff}.ui.inverted.primary.button:hover,.ui.inverted.primary.buttons .button:hover{background-color:#21b8ff}.ui.inverted.primary.button:focus,.ui.inverted.primary.buttons .button:focus{background-color:#2bbbff}.ui.inverted.primary.active.button,.ui.inverted.primary.buttons .active.button{background-color:#3ac0ff}.ui.inverted.primary.button:active,.ui.inverted.primary.buttons .button:active{background-color:#21b8ff}.ui.inverted.primary.basic.button,.ui.inverted.primary.basic.buttons .button,.ui.inverted.primary.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset;color:#fff}.ui.inverted.primary.basic.button:hover,.ui.inverted.primary.basic.buttons .button:hover,.ui.inverted.primary.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #21b8ff inset;box-shadow:0 0 0 2px #21b8ff inset;color:#54c8ff}.ui.inverted.primary.basic.button:focus,.ui.inverted.primary.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #2bbbff inset;box-shadow:0 0 0 2px #2bbbff inset;color:#54c8ff}.ui.inverted.primary.basic.active.button,.ui.inverted.primary.basic.buttons .active.button,.ui.inverted.primary.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #3ac0ff inset;box-shadow:0 0 0 2px #3ac0ff inset;color:#54c8ff}.ui.inverted.primary.basic.button:active,.ui.inverted.primary.basic.buttons .button:active,.ui.inverted.primary.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #21b8ff inset;box-shadow:0 0 0 2px #21b8ff inset;color:#54c8ff}.ui.tertiary.primary.button,.ui.tertiary.primary.buttons .button,.ui.tertiary.primary.buttons .tertiary.button{background:0 0;-webkit-box-shadow:none;box-shadow:none;color:#2185d0}.ui.tertiary.primary.button:hover,.ui.tertiary.primary.buttons .button:hover,.ui.tertiary.primary.buttons button:hover{-webkit-box-shadow:inset 0 -.2em 0 #2b75ac;box-shadow:inset 0 -.2em 0 #2b75ac;color:#2b75ac}.ui.tertiary.primary.button:focus,.ui.tertiary.primary.buttons .button:focus,.ui.tertiary.primary.buttons .tertiary.button:focus{-webkit-box-shadow:inset 0 -.2em 0 #216ea7;box-shadow:inset 0 -.2em 0 #216ea7;color:#216ea7}.ui.tertiary.primary.active.button,.ui.tertiary.primary.button:active,.ui.tertiary.primary.buttons .active.button,.ui.tertiary.primary.buttons .button:active,.ui.tertiary.primary.buttons .tertiary.active.button,.ui.tertiary.primary.buttons .tertiary.button:active{-webkit-box-shadow:inset 0 -.2em 0 #007bd8;box-shadow:inset 0 -.2em 0 #007bd8;color:#1279c6}.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{background:0 0;-webkit-box-shadow:0 0 0 1px #1b1c1d inset;box-shadow:0 0 0 1px #1b1c1d inset;color:#1b1c1d}.ui.basic.secondary.button:hover,.ui.basic.secondary.buttons .button:hover{background:0 0;-webkit-box-shadow:0 0 0 1px #27292a inset;box-shadow:0 0 0 1px #27292a inset;color:#27292a}.ui.basic.secondary.button:focus,.ui.basic.secondary.buttons .button:focus{background:0 0;-webkit-box-shadow:0 0 0 1px #2e3032 inset;box-shadow:0 0 0 1px #2e3032 inset;color:#27292a}.ui.basic.secondary.active.button,.ui.basic.secondary.buttons .active.button{background:0 0;-webkit-box-shadow:0 0 0 1px #27292a inset;box-shadow:0 0 0 1px #27292a inset;color:#343637}.ui.basic.secondary.button:active,.ui.basic.secondary.buttons .button:active{-webkit-box-shadow:0 0 0 1px #343637 inset;box-shadow:0 0 0 1px #343637 inset;color:#343637}.ui.buttons:not(.vertical)>.basic.secondary.button:not(:first-child){margin-left:-1px}.ui.inverted.secondary.button,.ui.inverted.secondary.buttons .button{background-color:transparent;-webkit-box-shadow:0 0 0 2px #545454 inset;box-shadow:0 0 0 2px #545454 inset;color:#545454}.ui.inverted.secondary.button.active,.ui.inverted.secondary.button:active,.ui.inverted.secondary.button:focus,.ui.inverted.secondary.button:hover,.ui.inverted.secondary.buttons .button.active,.ui.inverted.secondary.buttons .button:active,.ui.inverted.secondary.buttons .button:focus,.ui.inverted.secondary.buttons .button:hover{-webkit-box-shadow:none;box-shadow:none;color:#fff}.ui.inverted.secondary.button:hover,.ui.inverted.secondary.buttons .button:hover{background-color:#6e6e6e}.ui.inverted.secondary.button:focus,.ui.inverted.secondary.buttons .button:focus{background-color:#686868}.ui.inverted.secondary.active.button,.ui.inverted.secondary.buttons .active.button{background-color:#616161}.ui.inverted.secondary.button:active,.ui.inverted.secondary.buttons .button:active{background-color:#6e6e6e}.ui.inverted.secondary.basic.button,.ui.inverted.secondary.basic.buttons .button,.ui.inverted.secondary.buttons .basic.button{background-color:transparent;-webkit-box-shadow:0 0 0 2px rgba(255,255,255,.5) inset;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset;color:#fff}.ui.inverted.secondary.basic.button:hover,.ui.inverted.secondary.basic.buttons .button:hover,.ui.inverted.secondary.buttons .basic.button:hover{-webkit-box-shadow:0 0 0 2px #6e6e6e inset;box-shadow:0 0 0 2px #6e6e6e inset;color:#545454}.ui.inverted.secondary.basic.button:focus,.ui.inverted.secondary.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #686868 inset;box-shadow:0 0 0 2px #686868 inset;color:#545454}.ui.inverted.secondary.basic.active.button,.ui.inverted.secondary.basic.buttons .active.button,.ui.inverted.secondary.buttons .basic.active.button{-webkit-box-shadow:0 0 0 2px #616161 inset;box-shadow:0 0 0 2px #616161 inset;color:#545454}.ui.inverted.secondary.basic.button:active,.ui.inverted.secondary.basic.buttons .button:active,.ui.inverted.secondary.buttons .basic.button:active{-webkit-box-shadow:0 0 0 2px #6e6e6e inset;box-shadow:0 0 0 2px #6e6e6e inset;color:#545454}.ui.tertiary.secondary.button,.ui.tertiary.secondary.buttons .button,.ui.tertiary.secondary.buttons .tertiary.button{background:0 0;-webkit-box-shadow:none;box-shadow:none;color:#1b1c1d}.ui.tertiary.secondary.button:hover,.ui.tertiary.secondary.buttons .button:hover,.ui.tertiary.secondary.buttons button:hover{-webkit-box-shadow:inset 0 -.2em 0 #292929;box-shadow:inset 0 -.2em 0 #292929;color:#292929}.ui.tertiary.secondary.button:focus,.ui.tertiary.secondary.buttons .button:focus,.ui.tertiary.secondary.buttons .tertiary.button:focus{-webkit-box-shadow:inset 0 -.2em 0 #303030;box-shadow:inset 0 -.2em 0 #303030;color:#303030}.ui.tertiary.secondary.active.button,.ui.tertiary.secondary.button:active,.ui.tertiary.secondary.buttons .active.button,.ui.tertiary.secondary.buttons .button:active,.ui.tertiary.secondary.buttons .tertiary.active.button,.ui.tertiary.secondary.buttons .tertiary.button:active{-webkit-box-shadow:inset 0 -.2em 0 #1f2933;box-shadow:inset 0 -.2em 0 #1f2933;color:#27292a}.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{background:0 0;-webkit-box-shadow:0 0 0 1px #db2828 inset;box-shadow:0 0 0 1px #db2828 inset;color:#db2828}.ui.basic.red.button:hover,.ui.basic.red.buttons .button:hover{background:0 0;-webkit-box-shadow:0 0 0 1px #d01919 inset;box-shadow:0 0 0 1px #d01919 inset;color:#d01919}.ui.basic.red.button:focus,.ui.basic.red.buttons .button:focus{background:0 0;-webkit-box-shadow:0 0 0 1px #ca1010 inset;box-shadow:0 0 0 1px #ca1010 inset;color:#d01919}.ui.basic.red.active.button,.ui.basic.red.buttons .active.button{background:0 0;-webkit-box-shadow:0 0 0 1px #d41515 inset;box-shadow:0 0 0 1px #d41515 inset;color:#b21e1e}.ui.basic.red.button:active,.ui.basic.red.buttons .button:active{-webkit-box-shadow:0 0 0 1px #b21e1e inset;box-shadow:0 0 0 1px #b21e1e inset;color:#b21e1e}.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;box-shadow:0 0 0 2px #ff695e inset;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;box-shadow:none;color:#fff}.ui.inverted.red.button:hover,.ui.inverted.red.buttons .button:hover{background-color:#ff392b}.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;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset;color:#fff}.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 #ff392b inset;box-shadow:0 0 0 2px #ff392b inset;color:#ff695e}.ui.inverted.red.basic.button:focus,.ui.inverted.red.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #ff4335 inset;box-shadow:0 0 0 2px #ff4335 inset;color:#ff695e}.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;box-shadow:0 0 0 2px #ff5144 inset;color:#ff695e}.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;box-shadow:0 0 0 2px #ff392b inset;color:#ff695e}.ui.tertiary.red.button,.ui.tertiary.red.buttons .button,.ui.tertiary.red.buttons .tertiary.button{background:0 0;-webkit-box-shadow:none;box-shadow:none;color:#db2828}.ui.tertiary.red.button:hover,.ui.tertiary.red.buttons .button:hover,.ui.tertiary.red.buttons button:hover{-webkit-box-shadow:inset 0 -.2em 0 #b93131;box-shadow:inset 0 -.2em 0 #b93131;color:#b93131}.ui.tertiary.red.button:focus,.ui.tertiary.red.buttons .button:focus,.ui.tertiary.red.buttons .tertiary.button:focus{-webkit-box-shadow:inset 0 -.2em 0 #b52626;box-shadow:inset 0 -.2em 0 #b52626;color:#b52626}.ui.tertiary.red.active.button,.ui.tertiary.red.button:active,.ui.tertiary.red.buttons .active.button,.ui.tertiary.red.buttons .button:active,.ui.tertiary.red.buttons .tertiary.active.button,.ui.tertiary.red.buttons .tertiary.button:active{-webkit-box-shadow:inset 0 -.2em 0 #ea0000;box-shadow:inset 0 -.2em 0 #ea0000;color:#d41515}.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{background:0 0;-webkit-box-shadow:0 0 0 1px #f2711c inset;box-shadow:0 0 0 1px #f2711c inset;color:#f2711c}.ui.basic.orange.button:hover,.ui.basic.orange.buttons .button:hover{background:0 0;-webkit-box-shadow:0 0 0 1px #f26202 inset;box-shadow:0 0 0 1px #f26202 inset;color:#f26202}.ui.basic.orange.button:focus,.ui.basic.orange.buttons .button:focus{background:0 0;-webkit-box-shadow:0 0 0 1px #e55b00 inset;box-shadow:0 0 0 1px #e55b00 inset;color:#f26202}.ui.basic.orange.active.button,.ui.basic.orange.buttons .active.button{background:0 0;-webkit-box-shadow:0 0 0 1px #f56100 inset;box-shadow:0 0 0 1px #f56100 inset;color:#cf590c}.ui.basic.orange.button:active,.ui.basic.orange.buttons .button:active{-webkit-box-shadow:0 0 0 1px #cf590c inset;box-shadow:0 0 0 1px #cf590c inset;color:#cf590c}.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;box-shadow:0 0 0 2px #ff851b inset;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;box-shadow:none;color:#fff}.ui.inverted.orange.button:hover,.ui.inverted.orange.buttons .button:hover{background-color:#e76b00}.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;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset;color:#fff}.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 #e76b00 inset;box-shadow:0 0 0 2px #e76b00 inset;color:#ff851b}.ui.inverted.orange.basic.button:focus,.ui.inverted.orange.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #f17000 inset;box-shadow:0 0 0 2px #f17000 inset;color:#ff851b}.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;box-shadow:0 0 0 2px #ff7701 inset;color:#ff851b}.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;box-shadow:0 0 0 2px #e76b00 inset;color:#ff851b}.ui.tertiary.orange.button,.ui.tertiary.orange.buttons .button,.ui.tertiary.orange.buttons .tertiary.button{background:0 0;-webkit-box-shadow:none;box-shadow:none;color:#f2711c}.ui.tertiary.orange.button:hover,.ui.tertiary.orange.buttons .button:hover,.ui.tertiary.orange.buttons button:hover{-webkit-box-shadow:inset 0 -.2em 0 #da671b;box-shadow:inset 0 -.2em 0 #da671b;color:#da671b}.ui.tertiary.orange.button:focus,.ui.tertiary.orange.buttons .button:focus,.ui.tertiary.orange.buttons .tertiary.button:focus{-webkit-box-shadow:inset 0 -.2em 0 #ce6017;box-shadow:inset 0 -.2em 0 #ce6017;color:#ce6017}.ui.tertiary.orange.active.button,.ui.tertiary.orange.button:active,.ui.tertiary.orange.buttons .active.button,.ui.tertiary.orange.buttons .button:active,.ui.tertiary.orange.buttons .tertiary.active.button,.ui.tertiary.orange.buttons .tertiary.button:active{-webkit-box-shadow:inset 0 -.2em 0 #f56100;box-shadow:inset 0 -.2em 0 #f56100;color:#f56100}.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{background:0 0;-webkit-box-shadow:0 0 0 1px #fbbd08 inset;box-shadow:0 0 0 1px #fbbd08 inset;color:#fbbd08}.ui.basic.yellow.button:hover,.ui.basic.yellow.buttons .button:hover{background:0 0;-webkit-box-shadow:0 0 0 1px #eaae00 inset;box-shadow:0 0 0 1px #eaae00 inset;color:#eaae00}.ui.basic.yellow.button:focus,.ui.basic.yellow.buttons .button:focus{background:0 0;-webkit-box-shadow:0 0 0 1px #daa300 inset;box-shadow:0 0 0 1px #daa300 inset;color:#eaae00}.ui.basic.yellow.active.button,.ui.basic.yellow.buttons .active.button{background:0 0;-webkit-box-shadow:0 0 0 1px #eaae00 inset;box-shadow:0 0 0 1px #eaae00 inset;color:#cd9903}.ui.basic.yellow.button:active,.ui.basic.yellow.buttons .button:active{-webkit-box-shadow:0 0 0 1px #cd9903 inset;box-shadow:0 0 0 1px #cd9903 inset;color:#cd9903}.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;box-shadow:0 0 0 2px #ffe21f inset;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;box-shadow:none;color:rgba(0,0,0,.6)}.ui.inverted.yellow.button:hover,.ui.inverted.yellow.buttons .button:hover{background-color:#ebcd00}.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;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset;color:#fff}.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 #ebcd00 inset;box-shadow:0 0 0 2px #ebcd00 inset;color:#ffe21f}.ui.inverted.yellow.basic.button:focus,.ui.inverted.yellow.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #f5d500 inset;box-shadow:0 0 0 2px #f5d500 inset;color:#ffe21f}.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;box-shadow:0 0 0 2px #ffdf05 inset;color:#ffe21f}.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;box-shadow:0 0 0 2px #ebcd00 inset;color:#ffe21f}.ui.tertiary.yellow.button,.ui.tertiary.yellow.buttons .button,.ui.tertiary.yellow.buttons .tertiary.button{background:0 0;-webkit-box-shadow:none;box-shadow:none;color:#fbbd08}.ui.tertiary.yellow.button:hover,.ui.tertiary.yellow.buttons .button:hover,.ui.tertiary.yellow.buttons button:hover{-webkit-box-shadow:inset 0 -.2em 0 #d2a217;box-shadow:inset 0 -.2em 0 #d2a217;color:#d2a217}.ui.tertiary.yellow.button:focus,.ui.tertiary.yellow.buttons .button:focus,.ui.tertiary.yellow.buttons .tertiary.button:focus{-webkit-box-shadow:inset 0 -.2em 0 #c49816;box-shadow:inset 0 -.2em 0 #c49816;color:#c49816}.ui.tertiary.yellow.active.button,.ui.tertiary.yellow.button:active,.ui.tertiary.yellow.buttons .active.button,.ui.tertiary.yellow.buttons .button:active,.ui.tertiary.yellow.buttons .tertiary.active.button,.ui.tertiary.yellow.buttons .tertiary.button:active{-webkit-box-shadow:inset 0 -.2em 0 #eaae00;box-shadow:inset 0 -.2em 0 #eaae00;color:#eaae00}.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{background:0 0;-webkit-box-shadow:0 0 0 1px #b5cc18 inset;box-shadow:0 0 0 1px #b5cc18 inset;color:#b5cc18}.ui.basic.olive.button:hover,.ui.basic.olive.buttons .button:hover{background:0 0;-webkit-box-shadow:0 0 0 1px #a7bd0d inset;box-shadow:0 0 0 1px #a7bd0d inset;color:#a7bd0d}.ui.basic.olive.button:focus,.ui.basic.olive.buttons .button:focus{background:0 0;-webkit-box-shadow:0 0 0 1px #a0b605 inset;box-shadow:0 0 0 1px #a0b605 inset;color:#a7bd0d}.ui.basic.olive.active.button,.ui.basic.olive.buttons .active.button{background:0 0;-webkit-box-shadow:0 0 0 1px #aac109 inset;box-shadow:0 0 0 1px #aac109 inset;color:#8d9e13}.ui.basic.olive.button:active,.ui.basic.olive.buttons .button:active{-webkit-box-shadow:0 0 0 1px #8d9e13 inset;box-shadow:0 0 0 1px #8d9e13 inset;color:#8d9e13}.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;box-shadow:0 0 0 2px #d9e778 inset;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;box-shadow:none;color:rgba(0,0,0,.6)}.ui.inverted.olive.button:hover,.ui.inverted.olive.buttons .button:hover{background-color:#d2e745}.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;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset;color:#fff}.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 #d2e745 inset;box-shadow:0 0 0 2px #d2e745 inset;color:#d9e778}.ui.inverted.olive.basic.button:focus,.ui.inverted.olive.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #daef47 inset;box-shadow:0 0 0 2px #daef47 inset;color:#d9e778}.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;box-shadow:0 0 0 2px #daed59 inset;color:#d9e778}.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;box-shadow:0 0 0 2px #cddf4d inset;color:#d9e778}.ui.tertiary.olive.button,.ui.tertiary.olive.buttons .button,.ui.tertiary.olive.buttons .tertiary.button{background:0 0;-webkit-box-shadow:none;box-shadow:none;color:#b5cc18}.ui.tertiary.olive.button:hover,.ui.tertiary.olive.buttons .button:hover,.ui.tertiary.olive.buttons button:hover{-webkit-box-shadow:inset 0 -.2em 0 #98a922;box-shadow:inset 0 -.2em 0 #98a922;color:#98a922}.ui.tertiary.olive.button:focus,.ui.tertiary.olive.buttons .button:focus,.ui.tertiary.olive.buttons .tertiary.button:focus{-webkit-box-shadow:inset 0 -.2em 0 #92a418;box-shadow:inset 0 -.2em 0 #92a418;color:#92a418}.ui.tertiary.olive.active.button,.ui.tertiary.olive.button:active,.ui.tertiary.olive.buttons .active.button,.ui.tertiary.olive.buttons .button:active,.ui.tertiary.olive.buttons .tertiary.active.button,.ui.tertiary.olive.buttons .tertiary.button:active{-webkit-box-shadow:inset 0 -.2em 0 #b1cb00;box-shadow:inset 0 -.2em 0 #b1cb00;color:#aac109}.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{background:0 0;-webkit-box-shadow:0 0 0 1px #21ba45 inset;box-shadow:0 0 0 1px #21ba45 inset;color:#21ba45}.ui.basic.green.button:hover,.ui.basic.green.buttons .button:hover{background:0 0;-webkit-box-shadow:0 0 0 1px #16ab39 inset;box-shadow:0 0 0 1px #16ab39 inset;color:#16ab39}.ui.basic.green.button:focus,.ui.basic.green.buttons .button:focus{background:0 0;-webkit-box-shadow:0 0 0 1px #0ea432 inset;box-shadow:0 0 0 1px #0ea432 inset;color:#16ab39}.ui.basic.green.active.button,.ui.basic.green.buttons .active.button{background:0 0;-webkit-box-shadow:0 0 0 1px #13ae38 inset;box-shadow:0 0 0 1px #13ae38 inset;color:#198f35}.ui.basic.green.button:active,.ui.basic.green.buttons .button:active{-webkit-box-shadow:0 0 0 1px #198f35 inset;box-shadow:0 0 0 1px #198f35 inset;color:#198f35}.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;box-shadow:0 0 0 2px #2ecc40 inset;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;box-shadow:none;color:#fff}.ui.inverted.green.button:hover,.ui.inverted.green.buttons .button:hover{background-color:#1ea92e}.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;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset;color:#fff}.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 #1ea92e inset;box-shadow:0 0 0 2px #1ea92e inset;color:#2ecc40}.ui.inverted.green.basic.button:focus,.ui.inverted.green.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #19b82b inset;box-shadow:0 0 0 2px #19b82b inset;color:#2ecc40}.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;box-shadow:0 0 0 2px #1fc231 inset;color:#2ecc40}.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;box-shadow:0 0 0 2px #25a233 inset;color:#2ecc40}.ui.tertiary.green.button,.ui.tertiary.green.buttons .button,.ui.tertiary.green.buttons .tertiary.button{background:0 0;-webkit-box-shadow:none;box-shadow:none;color:#21ba45}.ui.tertiary.green.button:hover,.ui.tertiary.green.buttons .button:hover,.ui.tertiary.green.buttons button:hover{-webkit-box-shadow:inset 0 -.2em 0 #2a9844;box-shadow:inset 0 -.2em 0 #2a9844;color:#2a9844}.ui.tertiary.green.button:focus,.ui.tertiary.green.buttons .button:focus,.ui.tertiary.green.buttons .tertiary.button:focus{-webkit-box-shadow:inset 0 -.2em 0 #20923b;box-shadow:inset 0 -.2em 0 #20923b;color:#20923b}.ui.tertiary.green.active.button,.ui.tertiary.green.button:active,.ui.tertiary.green.buttons .active.button,.ui.tertiary.green.buttons .button:active,.ui.tertiary.green.buttons .tertiary.active.button,.ui.tertiary.green.buttons .tertiary.button:active{-webkit-box-shadow:inset 0 -.2em 0 #00c22e;box-shadow:inset 0 -.2em 0 #00c22e;color:#13ae38}.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{background:0 0;-webkit-box-shadow:0 0 0 1px #00b5ad inset;box-shadow:0 0 0 1px #00b5ad inset;color:#00b5ad}.ui.basic.teal.button:hover,.ui.basic.teal.buttons .button:hover{background:0 0;-webkit-box-shadow:0 0 0 1px #009c95 inset;box-shadow:0 0 0 1px #009c95 inset;color:#009c95}.ui.basic.teal.button:focus,.ui.basic.teal.buttons .button:focus{background:0 0;-webkit-box-shadow:0 0 0 1px #008c86 inset;box-shadow:0 0 0 1px #008c86 inset;color:#009c95}.ui.basic.teal.active.button,.ui.basic.teal.buttons .active.button{background:0 0;-webkit-box-shadow:0 0 0 1px #009c95 inset;box-shadow:0 0 0 1px #009c95 inset;color:#00827c}.ui.basic.teal.button:active,.ui.basic.teal.buttons .button:active{-webkit-box-shadow:0 0 0 1px #00827c inset;box-shadow:0 0 0 1px #00827c inset;color:#00827c}.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;box-shadow:0 0 0 2px #6dffff inset;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;box-shadow:none;color:rgba(0,0,0,.6)}.ui.inverted.teal.button:hover,.ui.inverted.teal.buttons .button:hover{background-color:#3affff}.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;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset;color:#fff}.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 #3affff inset;box-shadow:0 0 0 2px #3affff inset;color:#6dffff}.ui.inverted.teal.basic.button:focus,.ui.inverted.teal.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #4ff inset;box-shadow:0 0 0 2px #4ff inset;color:#6dffff}.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;box-shadow:0 0 0 2px #54ffff inset;color:#6dffff}.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;box-shadow:0 0 0 2px #3affff inset;color:#6dffff}.ui.tertiary.teal.button,.ui.tertiary.teal.buttons .button,.ui.tertiary.teal.buttons .tertiary.button{background:0 0;-webkit-box-shadow:none;box-shadow:none;color:#00b5ad}.ui.tertiary.teal.button:hover,.ui.tertiary.teal.buttons .button:hover,.ui.tertiary.teal.buttons button:hover{-webkit-box-shadow:inset 0 -.2em 0 #108c86;box-shadow:inset 0 -.2em 0 #108c86;color:#108c86}.ui.tertiary.teal.button:focus,.ui.tertiary.teal.buttons .button:focus,.ui.tertiary.teal.buttons .tertiary.button:focus{-webkit-box-shadow:inset 0 -.2em 0 #0e7e79;box-shadow:inset 0 -.2em 0 #0e7e79;color:#0e7e79}.ui.tertiary.teal.active.button,.ui.tertiary.teal.button:active,.ui.tertiary.teal.buttons .active.button,.ui.tertiary.teal.buttons .button:active,.ui.tertiary.teal.buttons .tertiary.active.button,.ui.tertiary.teal.buttons .tertiary.button:active{-webkit-box-shadow:inset 0 -.2em 0 #009c95;box-shadow:inset 0 -.2em 0 #009c95;color:#009c95}.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{background:0 0;-webkit-box-shadow:0 0 0 1px #2185d0 inset;box-shadow:0 0 0 1px #2185d0 inset;color:#2185d0}.ui.basic.blue.button:hover,.ui.basic.blue.buttons .button:hover{background:0 0;-webkit-box-shadow:0 0 0 1px #1678c2 inset;box-shadow:0 0 0 1px #1678c2 inset;color:#1678c2}.ui.basic.blue.button:focus,.ui.basic.blue.buttons .button:focus{background:0 0;-webkit-box-shadow:0 0 0 1px #0d71bb inset;box-shadow:0 0 0 1px #0d71bb inset;color:#1678c2}.ui.basic.blue.active.button,.ui.basic.blue.buttons .active.button{background:0 0;-webkit-box-shadow:0 0 0 1px #1279c6 inset;box-shadow:0 0 0 1px #1279c6 inset;color:#1a69a4}.ui.basic.blue.button:active,.ui.basic.blue.buttons .button:active{-webkit-box-shadow:0 0 0 1px #1a69a4 inset;box-shadow:0 0 0 1px #1a69a4 inset;color:#1a69a4}.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;box-shadow:0 0 0 2px #54c8ff inset;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;box-shadow:none;color:#fff}.ui.inverted.blue.button:hover,.ui.inverted.blue.buttons .button:hover{background-color:#21b8ff}.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;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset;color:#fff}.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 #21b8ff inset;box-shadow:0 0 0 2px #21b8ff inset;color:#54c8ff}.ui.inverted.blue.basic.button:focus,.ui.inverted.blue.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #2bbbff inset;box-shadow:0 0 0 2px #2bbbff inset;color:#54c8ff}.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;box-shadow:0 0 0 2px #3ac0ff inset;color:#54c8ff}.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;box-shadow:0 0 0 2px #21b8ff inset;color:#54c8ff}.ui.tertiary.blue.button,.ui.tertiary.blue.buttons .button,.ui.tertiary.blue.buttons .tertiary.button{background:0 0;-webkit-box-shadow:none;box-shadow:none;color:#2185d0}.ui.tertiary.blue.button:hover,.ui.tertiary.blue.buttons .button:hover,.ui.tertiary.blue.buttons button:hover{-webkit-box-shadow:inset 0 -.2em 0 #2b75ac;box-shadow:inset 0 -.2em 0 #2b75ac;color:#2b75ac}.ui.tertiary.blue.button:focus,.ui.tertiary.blue.buttons .button:focus,.ui.tertiary.blue.buttons .tertiary.button:focus{-webkit-box-shadow:inset 0 -.2em 0 #216ea7;box-shadow:inset 0 -.2em 0 #216ea7;color:#216ea7}.ui.tertiary.blue.active.button,.ui.tertiary.blue.button:active,.ui.tertiary.blue.buttons .active.button,.ui.tertiary.blue.buttons .button:active,.ui.tertiary.blue.buttons .tertiary.active.button,.ui.tertiary.blue.buttons .tertiary.button:active{-webkit-box-shadow:inset 0 -.2em 0 #007bd8;box-shadow:inset 0 -.2em 0 #007bd8;color:#1279c6}.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{background:0 0;-webkit-box-shadow:0 0 0 1px #6435c9 inset;box-shadow:0 0 0 1px #6435c9 inset;color:#6435c9}.ui.basic.violet.button:hover,.ui.basic.violet.buttons .button:hover{background:0 0;-webkit-box-shadow:0 0 0 1px #5829bb inset;box-shadow:0 0 0 1px #5829bb inset;color:#5829bb}.ui.basic.violet.button:focus,.ui.basic.violet.buttons .button:focus{background:0 0;-webkit-box-shadow:0 0 0 1px #4f20b5 inset;box-shadow:0 0 0 1px #4f20b5 inset;color:#5829bb}.ui.basic.violet.active.button,.ui.basic.violet.buttons .active.button{background:0 0;-webkit-box-shadow:0 0 0 1px #5626bf inset;box-shadow:0 0 0 1px #5626bf inset;color:#502aa1}.ui.basic.violet.button:active,.ui.basic.violet.buttons .button:active{-webkit-box-shadow:0 0 0 1px #502aa1 inset;box-shadow:0 0 0 1px #502aa1 inset;color:#502aa1}.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;box-shadow:0 0 0 2px #a291fb inset;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;box-shadow:none;color:#fff}.ui.inverted.violet.button:hover,.ui.inverted.violet.buttons .button:hover{background-color:#745aff}.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;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset;color:#fff}.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 #745aff inset;box-shadow:0 0 0 2px #745aff inset;color:#a291fb}.ui.inverted.violet.basic.button:focus,.ui.inverted.violet.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #7d64ff inset;box-shadow:0 0 0 2px #7d64ff inset;color:#a291fb}.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;box-shadow:0 0 0 2px #8a73ff inset;color:#a291fb}.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;box-shadow:0 0 0 2px #7860f9 inset;color:#a291fb}.ui.tertiary.violet.button,.ui.tertiary.violet.buttons .button,.ui.tertiary.violet.buttons .tertiary.button{background:0 0;-webkit-box-shadow:none;box-shadow:none;color:#6435c9}.ui.tertiary.violet.button:hover,.ui.tertiary.violet.buttons .button:hover,.ui.tertiary.violet.buttons button:hover{-webkit-box-shadow:inset 0 -.2em 0 #6040a5;box-shadow:inset 0 -.2em 0 #6040a5;color:#6040a5}.ui.tertiary.violet.button:focus,.ui.tertiary.violet.buttons .button:focus,.ui.tertiary.violet.buttons .tertiary.button:focus{-webkit-box-shadow:inset 0 -.2em 0 #5735a0;box-shadow:inset 0 -.2em 0 #5735a0;color:#5735a0}.ui.tertiary.violet.active.button,.ui.tertiary.violet.button:active,.ui.tertiary.violet.buttons .active.button,.ui.tertiary.violet.buttons .button:active,.ui.tertiary.violet.buttons .tertiary.active.button,.ui.tertiary.violet.buttons .tertiary.button:active{-webkit-box-shadow:inset 0 -.2em 0 #4e0fd6;box-shadow:inset 0 -.2em 0 #4e0fd6;color:#5626bf}.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{background:0 0;-webkit-box-shadow:0 0 0 1px #a333c8 inset;box-shadow:0 0 0 1px #a333c8 inset;color:#a333c8}.ui.basic.purple.button:hover,.ui.basic.purple.buttons .button:hover{background:0 0;-webkit-box-shadow:0 0 0 1px #9627ba inset;box-shadow:0 0 0 1px #9627ba inset;color:#9627ba}.ui.basic.purple.button:focus,.ui.basic.purple.buttons .button:focus{background:0 0;-webkit-box-shadow:0 0 0 1px #8f1eb4 inset;box-shadow:0 0 0 1px #8f1eb4 inset;color:#9627ba}.ui.basic.purple.active.button,.ui.basic.purple.buttons .active.button{background:0 0;-webkit-box-shadow:0 0 0 1px #9724be inset;box-shadow:0 0 0 1px #9724be inset;color:#82299f}.ui.basic.purple.button:active,.ui.basic.purple.buttons .button:active{-webkit-box-shadow:0 0 0 1px #82299f inset;box-shadow:0 0 0 1px #82299f inset;color:#82299f}.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;box-shadow:0 0 0 2px #dc73ff inset;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;box-shadow:none;color:#fff}.ui.inverted.purple.button:hover,.ui.inverted.purple.buttons .button:hover{background-color:#cf40ff}.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;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset;color:#fff}.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 #cf40ff inset;box-shadow:0 0 0 2px #cf40ff inset;color:#dc73ff}.ui.inverted.purple.basic.button:focus,.ui.inverted.purple.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #d24aff inset;box-shadow:0 0 0 2px #d24aff inset;color:#dc73ff}.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;box-shadow:0 0 0 2px #d65aff inset;color:#dc73ff}.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;box-shadow:0 0 0 2px #cf40ff inset;color:#dc73ff}.ui.tertiary.purple.button,.ui.tertiary.purple.buttons .button,.ui.tertiary.purple.buttons .tertiary.button{background:0 0;-webkit-box-shadow:none;box-shadow:none;color:#a333c8}.ui.tertiary.purple.button:hover,.ui.tertiary.purple.buttons .button:hover,.ui.tertiary.purple.buttons button:hover{-webkit-box-shadow:inset 0 -.2em 0 #8a3ea4;box-shadow:inset 0 -.2em 0 #8a3ea4;color:#8a3ea4}.ui.tertiary.purple.button:focus,.ui.tertiary.purple.buttons .button:focus,.ui.tertiary.purple.buttons .tertiary.button:focus{-webkit-box-shadow:inset 0 -.2em 0 #84339f;box-shadow:inset 0 -.2em 0 #84339f;color:#84339f}.ui.tertiary.purple.active.button,.ui.tertiary.purple.button:active,.ui.tertiary.purple.buttons .active.button,.ui.tertiary.purple.buttons .button:active,.ui.tertiary.purple.buttons .tertiary.active.button,.ui.tertiary.purple.buttons .tertiary.button:active{-webkit-box-shadow:inset 0 -.2em 0 #a30dd4;box-shadow:inset 0 -.2em 0 #a30dd4;color:#9724be}.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{background:0 0;-webkit-box-shadow:0 0 0 1px #e03997 inset;box-shadow:0 0 0 1px #e03997 inset;color:#e03997}.ui.basic.pink.button:hover,.ui.basic.pink.buttons .button:hover{background:0 0;-webkit-box-shadow:0 0 0 1px #e61a8d inset;box-shadow:0 0 0 1px #e61a8d inset;color:#e61a8d}.ui.basic.pink.button:focus,.ui.basic.pink.buttons .button:focus{background:0 0;-webkit-box-shadow:0 0 0 1px #e10f85 inset;box-shadow:0 0 0 1px #e10f85 inset;color:#e61a8d}.ui.basic.pink.active.button,.ui.basic.pink.buttons .active.button{background:0 0;-webkit-box-shadow:0 0 0 1px #ea158d inset;box-shadow:0 0 0 1px #ea158d inset;color:#c71f7e}.ui.basic.pink.button:active,.ui.basic.pink.buttons .button:active{-webkit-box-shadow:0 0 0 1px #c71f7e inset;box-shadow:0 0 0 1px #c71f7e inset;color:#c71f7e}.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;box-shadow:0 0 0 2px #ff8edf inset;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;box-shadow:none;color:#fff}.ui.inverted.pink.button:hover,.ui.inverted.pink.buttons .button:hover{background-color:#ff5bd1}.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;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset;color:#fff}.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 #ff5bd1 inset;box-shadow:0 0 0 2px #ff5bd1 inset;color:#ff8edf}.ui.inverted.pink.basic.button:focus,.ui.inverted.pink.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #ff65d3 inset;box-shadow:0 0 0 2px #ff65d3 inset;color:#ff8edf}.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;box-shadow:0 0 0 2px #ff74d8 inset;color:#ff8edf}.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;box-shadow:0 0 0 2px #ff5bd1 inset;color:#ff8edf}.ui.tertiary.pink.button,.ui.tertiary.pink.buttons .button,.ui.tertiary.pink.buttons .tertiary.button{background:0 0;-webkit-box-shadow:none;box-shadow:none;color:#e03997}.ui.tertiary.pink.button:hover,.ui.tertiary.pink.buttons .button:hover,.ui.tertiary.pink.buttons button:hover{-webkit-box-shadow:inset 0 -.2em 0 #cc3389;box-shadow:inset 0 -.2em 0 #cc3389;color:#cc3389}.ui.tertiary.pink.button:focus,.ui.tertiary.pink.buttons .button:focus,.ui.tertiary.pink.buttons .tertiary.button:focus{-webkit-box-shadow:inset 0 -.2em 0 #c92782;box-shadow:inset 0 -.2em 0 #c92782;color:#c92782}.ui.tertiary.pink.active.button,.ui.tertiary.pink.button:active,.ui.tertiary.pink.buttons .active.button,.ui.tertiary.pink.buttons .button:active,.ui.tertiary.pink.buttons .tertiary.active.button,.ui.tertiary.pink.buttons .tertiary.button:active{-webkit-box-shadow:inset 0 -.2em 0 #ff0090;box-shadow:inset 0 -.2em 0 #ff0090;color:#ea158d}.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{background:0 0;-webkit-box-shadow:0 0 0 1px #a5673f inset;box-shadow:0 0 0 1px #a5673f inset;color:#a5673f}.ui.basic.brown.button:hover,.ui.basic.brown.buttons .button:hover{background:0 0;-webkit-box-shadow:0 0 0 1px #975b33 inset;box-shadow:0 0 0 1px #975b33 inset;color:#975b33}.ui.basic.brown.button:focus,.ui.basic.brown.buttons .button:focus{background:0 0;-webkit-box-shadow:0 0 0 1px #90532b inset;box-shadow:0 0 0 1px #90532b inset;color:#975b33}.ui.basic.brown.active.button,.ui.basic.brown.buttons .active.button{background:0 0;-webkit-box-shadow:0 0 0 1px #995a31 inset;box-shadow:0 0 0 1px #995a31 inset;color:#805031}.ui.basic.brown.button:active,.ui.basic.brown.buttons .button:active{-webkit-box-shadow:0 0 0 1px #805031 inset;box-shadow:0 0 0 1px #805031 inset;color:#805031}.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;box-shadow:0 0 0 2px #d67c1c inset;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;box-shadow:none;color:#fff}.ui.inverted.brown.button:hover,.ui.inverted.brown.buttons .button:hover{background-color:#b0620f}.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;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset;color:#fff}.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 #b0620f inset;box-shadow:0 0 0 2px #b0620f inset;color:#d67c1c}.ui.inverted.brown.basic.button:focus,.ui.inverted.brown.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #c16808 inset;box-shadow:0 0 0 2px #c16808 inset;color:#d67c1c}.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;box-shadow:0 0 0 2px #cc6f0d inset;color:#d67c1c}.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;box-shadow:0 0 0 2px #a96216 inset;color:#d67c1c}.ui.tertiary.brown.button,.ui.tertiary.brown.buttons .button,.ui.tertiary.brown.buttons .tertiary.button{background:0 0;-webkit-box-shadow:none;box-shadow:none;color:#a5673f}.ui.tertiary.brown.button:hover,.ui.tertiary.brown.buttons .button:hover,.ui.tertiary.brown.buttons button:hover{-webkit-box-shadow:inset 0 -.2em 0 #835f48;box-shadow:inset 0 -.2em 0 #835f48;color:#835f48}.ui.tertiary.brown.button:focus,.ui.tertiary.brown.buttons .button:focus,.ui.tertiary.brown.buttons .tertiary.button:focus{-webkit-box-shadow:inset 0 -.2em 0 #7d573e;box-shadow:inset 0 -.2em 0 #7d573e;color:#7d573e}.ui.tertiary.brown.active.button,.ui.tertiary.brown.button:active,.ui.tertiary.brown.buttons .active.button,.ui.tertiary.brown.buttons .button:active,.ui.tertiary.brown.buttons .tertiary.active.button,.ui.tertiary.brown.buttons .tertiary.button:active{-webkit-box-shadow:inset 0 -.2em 0 #ae561d;box-shadow:inset 0 -.2em 0 #ae561d;color:#995a31}.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{background:0 0;-webkit-box-shadow:0 0 0 1px #767676 inset;box-shadow:0 0 0 1px #767676 inset;color:#767676}.ui.basic.grey.button:hover,.ui.basic.grey.buttons .button:hover{background:0 0;-webkit-box-shadow:0 0 0 1px #838383 inset;box-shadow:0 0 0 1px #838383 inset;color:#838383}.ui.basic.grey.button:focus,.ui.basic.grey.buttons .button:focus{background:0 0;-webkit-box-shadow:0 0 0 1px #8a8a8a inset;box-shadow:0 0 0 1px #8a8a8a inset;color:#838383}.ui.basic.grey.active.button,.ui.basic.grey.buttons .active.button{background:0 0;-webkit-box-shadow:0 0 0 1px #696969 inset;box-shadow:0 0 0 1px #696969 inset;color:#909090}.ui.basic.grey.button:active,.ui.basic.grey.buttons .button:active{-webkit-box-shadow:0 0 0 1px #909090 inset;box-shadow:0 0 0 1px #909090 inset;color:#909090}.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;box-shadow:0 0 0 2px #d4d4d5 inset;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;box-shadow:none;color:rgba(0,0,0,.6)}.ui.inverted.grey.button:hover,.ui.inverted.grey.buttons .button:hover{background-color:#c2c4c5}.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;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset;color:#fff}.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 #c2c4c5 inset;box-shadow:0 0 0 2px #c2c4c5 inset;color:#fff}.ui.inverted.grey.basic.button:focus,.ui.inverted.grey.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #c7c9cb inset;box-shadow:0 0 0 2px #c7c9cb inset;color:#dcddde}.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;box-shadow:0 0 0 2px #cfd0d2 inset;color:#fff}.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;box-shadow:0 0 0 2px #c2c4c5 inset;color:#fff}.ui.tertiary.grey.button,.ui.tertiary.grey.buttons .button,.ui.tertiary.grey.buttons .tertiary.button{background:0 0;-webkit-box-shadow:none;box-shadow:none;color:#767676}.ui.tertiary.grey.button:hover,.ui.tertiary.grey.buttons .button:hover,.ui.tertiary.grey.buttons button:hover{-webkit-box-shadow:inset 0 -.2em 0 #838383;box-shadow:inset 0 -.2em 0 #838383;color:#838383}.ui.tertiary.grey.button:focus,.ui.tertiary.grey.buttons .button:focus,.ui.tertiary.grey.buttons .tertiary.button:focus{-webkit-box-shadow:inset 0 -.2em 0 #8a8a8a;box-shadow:inset 0 -.2em 0 #8a8a8a;color:#8a8a8a}.ui.tertiary.grey.active.button,.ui.tertiary.grey.button:active,.ui.tertiary.grey.buttons .active.button,.ui.tertiary.grey.buttons .button:active,.ui.tertiary.grey.buttons .tertiary.active.button,.ui.tertiary.grey.buttons .tertiary.button:active{-webkit-box-shadow:inset 0 -.2em 0 #7e5454;box-shadow:inset 0 -.2em 0 #7e5454;color:#696969}.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{background:0 0;-webkit-box-shadow:0 0 0 1px #1b1c1d inset;box-shadow:0 0 0 1px #1b1c1d inset;color:#1b1c1d}.ui.basic.black.button:hover,.ui.basic.black.buttons .button:hover{background:0 0;-webkit-box-shadow:0 0 0 1px #27292a inset;box-shadow:0 0 0 1px #27292a inset;color:#27292a}.ui.basic.black.button:focus,.ui.basic.black.buttons .button:focus{background:0 0;-webkit-box-shadow:0 0 0 1px #2f3032 inset;box-shadow:0 0 0 1px #2f3032 inset;color:#27292a}.ui.basic.black.active.button,.ui.basic.black.buttons .active.button{background:0 0;-webkit-box-shadow:0 0 0 1px #0f0f10 inset;box-shadow:0 0 0 1px #0f0f10 inset;color:#343637}.ui.basic.black.button:active,.ui.basic.black.buttons .button:active{-webkit-box-shadow:0 0 0 1px #343637 inset;box-shadow:0 0 0 1px #343637 inset;color:#343637}.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;box-shadow:0 0 0 2px #d4d4d5 inset;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;box-shadow:none;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;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset;color:#fff}.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;box-shadow:0 0 0 2px #000 inset;color:#fff}.ui.inverted.black.basic.button:focus,.ui.inverted.black.basic.buttons .button:focus{-webkit-box-shadow:0 0 0 2px #000 inset;box-shadow:0 0 0 2px #000 inset;color:#545454}.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;box-shadow:0 0 0 2px #000 inset;color:#fff}.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;box-shadow:0 0 0 2px #000 inset;color:#fff}.ui.tertiary.black.button,.ui.tertiary.black.buttons .button,.ui.tertiary.black.buttons .tertiary.button{background:0 0;-webkit-box-shadow:none;box-shadow:none;color:#1b1c1d}.ui.tertiary.black.button:hover,.ui.tertiary.black.buttons .button:hover,.ui.tertiary.black.buttons button:hover{-webkit-box-shadow:inset 0 -.2em 0 #8b8f93;box-shadow:inset 0 -.2em 0 #8b8f93;color:#8b8f93}.ui.tertiary.black.button:focus,.ui.tertiary.black.buttons .button:focus,.ui.tertiary.black.buttons .tertiary.button:focus{-webkit-box-shadow:inset 0 -.2em 0 #93969a;box-shadow:inset 0 -.2em 0 #93969a;color:#93969a}.ui.tertiary.black.active.button,.ui.tertiary.black.button:active,.ui.tertiary.black.buttons .active.button,.ui.tertiary.black.buttons .button:active,.ui.tertiary.black.buttons .tertiary.active.button,.ui.tertiary.black.buttons .tertiary.button:active{-webkit-box-shadow:inset 0 -.2em 0 #404245;box-shadow:inset 0 -.2em 0 #404245;color:#0f0f10}.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{background:0 0;-webkit-box-shadow:0 0 0 1px #21ba45 inset;box-shadow:0 0 0 1px #21ba45 inset;color:#21ba45}.ui.basic.positive.button:hover,.ui.basic.positive.buttons .button:hover{background:0 0;-webkit-box-shadow:0 0 0 1px #16ab39 inset;box-shadow:0 0 0 1px #16ab39 inset;color:#16ab39}.ui.basic.positive.button:focus,.ui.basic.positive.buttons .button:focus{background:0 0;-webkit-box-shadow:0 0 0 1px #0ea432 inset;box-shadow:0 0 0 1px #0ea432 inset;color:#16ab39}.ui.basic.positive.active.button,.ui.basic.positive.buttons .active.button{background:0 0;-webkit-box-shadow:0 0 0 1px #13ae38 inset;box-shadow:0 0 0 1px #13ae38 inset;color:#198f35}.ui.basic.positive.button:active,.ui.basic.positive.buttons .button:active{-webkit-box-shadow:0 0 0 1px #198f35 inset;box-shadow:0 0 0 1px #198f35 inset;color:#198f35}.ui.buttons:not(.vertical)>.basic.positive.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{background:0 0;-webkit-box-shadow:0 0 0 1px #db2828 inset;box-shadow:0 0 0 1px #db2828 inset;color:#db2828}.ui.basic.negative.button:hover,.ui.basic.negative.buttons .button:hover{background:0 0;-webkit-box-shadow:0 0 0 1px #d01919 inset;box-shadow:0 0 0 1px #d01919 inset;color:#d01919}.ui.basic.negative.button:focus,.ui.basic.negative.buttons .button:focus{background:0 0;-webkit-box-shadow:0 0 0 1px #ca1010 inset;box-shadow:0 0 0 1px #ca1010 inset;color:#d01919}.ui.basic.negative.active.button,.ui.basic.negative.buttons .active.button{background:0 0;-webkit-box-shadow:0 0 0 1px #d41515 inset;box-shadow:0 0 0 1px #d41515 inset;color:#b21e1e}.ui.basic.negative.button:active,.ui.basic.negative.buttons .button:active{-webkit-box-shadow:0 0 0 1px #b21e1e inset;box-shadow:0 0 0 1px #b21e1e inset;color:#b21e1e}.ui.buttons:not(.vertical)>.basic.negative.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;border-radius:0;margin:0}.ui.buttons:not(.basic):not(.inverted)>.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 + */.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,system-ui,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";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;box-shadow:0 0 0 1px transparent inset,0 0 0 0 rgba(34,36,38,.15) inset;-webkit-user-select:none;-ms-user-select:none;user-select:none;transition:opacity .1s ease,background-color .1s ease,color .1s ease,box-shadow .1s ease,background .1s ease;will-change:auto;-webkit-tap-highlight-color:transparent}.ui.button:hover{background-color:#cacbcd;background-image:none;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:none;box-shadow:""}.ui.button:focus .icon{opacity:.85}.ui.active.button:active,.ui.button:active{background-color:#babbbc;background-image:"";color:rgba(0,0,0,.9);box-shadow:none}.ui.active.button{background-color:#c0c1c2;background-image:none;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.ui.ui.ui.ui.ui.loading.button{position:relative;cursor:default;text-shadow:none!important;color:transparent;opacity:1;pointer-events:auto;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;border-radius:500rem;animation:loader .6s infinite linear;border:.2em solid currentColor;color:#fff;box-shadow:0 0 0 1px transparent}.ui.ui.ui.loading.button .label{background-color:transparent;border-color:transparent;color:transparent}.ui.labeled.icon.loading.button .icon{background-color:transparent;box-shadow:none}.ui.basic.loading.button:not(.inverted)::before{border-color:rgba(0,0,0,.1)}.ui.basic.loading.button:not(.inverted)::after{border-color:#767676}.ui.button:disabled,.ui.buttons .disabled.button:not(.basic),.ui.disabled.active.button,.ui.disabled.button,.ui.disabled.button:hover{cursor:default;opacity:.45!important;background-image:none;box-shadow:none;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{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{transition:top .3s ease,transform .3s ease}.ui.vertical.animated.button .visible.content{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{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{transition:opacity .3s ease,transform .3s ease}.ui.fade.animated.button .visible.content{left:auto;right:auto;opacity:1;transform:scale(1)}.ui.fade.animated.button .hidden.content{opacity:0;left:0;right:auto;transform:scale(1.5)}.ui.fade.animated.button:focus .visible.content,.ui.fade.animated.button:hover .visible.content{left:auto;right:auto;opacity:0;transform:scale(.75)}.ui.fade.animated.button:focus .hidden.content,.ui.fade.animated.button:hover .hidden.content{left:0;right:auto;opacity:1;transform:scale(1)}.ui.inverted.button{box-shadow:0 0 0 2px #fff inset;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;box-shadow:0 0 0 2px #fff inset;color:rgba(0,0,0,.8)}.ui.inverted.button.active,.ui.inverted.button:focus{background:#fff;box-shadow:0 0 0 2px #fff inset;color:rgba(0,0,0,.8)}.ui.inverted.button.active:focus{background:#dcddde;box-shadow:0 0 0 2px #dcddde inset;color:rgba(0,0,0,.8)}.ui.labeled.button:not(.icon){display:inline-flex;flex-direction:row;background:0 0;padding:0!important;border:none;box-shadow:none}.ui.labeled.button>.button{margin:0}.ui.labeled.button>.label{display:flex;align-items:center;margin:0 0 0 -1px!important;font-size:1em;padding:"";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;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:#1da1f2;color:#fff;text-shadow:none;background-image:none;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.twitter.button:hover{background-color:#0298f3;color:#fff;text-shadow:none}.ui.twitter.button:active{background-color:#0c85d0;color:#fff;text-shadow:none}.ui.google.plus.button{background-color:#dd4b39;color:#fff;text-shadow:none;background-image:none;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:#0077b5;color:#fff;text-shadow:none}.ui.linkedin.button:hover{background-color:#00669c;color:#fff;text-shadow:none}.ui.linkedin.button:active{background-color:#005582;color:#fff;text-shadow:none}.ui.youtube.button{background-color:red;color:#fff;text-shadow:none;background-image:none;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;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;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:#45668e;color:#fff;background-image:none;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.vk.button:hover{background-color:#395980;color:#fff}.ui.vk.button:active{background-color:#344d6c;color:#fff}.ui.whatsapp.button{background-color:#25d366;color:#fff;background-image:none;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.whatsapp.button:hover{background-color:#19c55a;color:#fff}.ui.whatsapp.button:active{background-color:#1da851;color:#fff}.ui.telegram.button{background-color:#08c;color:#fff;background-image:none;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.telegram.button:hover{background-color:#0077b3;color:#fff}.ui.telegram.button:active{background-color:#069;color:#fff}.ui.button>.icon:not(.button){height:auto;opacity:.8;transition:opacity .1s ease;color:""}.ui.button:not(.icon)>.icon:not(.button):not(.dropdown),.ui.button:not(.icon)>.icons:not(.button):not(.dropdown){margin:0 .42857143em 0 -.21428571em;vertical-align:baseline}.ui.button:not(.icon)>.icons:not(.button):not(.dropdown)>.icon{vertical-align:baseline}.ui.button:not(.icon)>.right.icon:not(.button):not(.dropdown){margin:0 -.21428571em 0 .42857143em}@media only screen and (max-width:767.98px){.ui.stackable.buttons{flex-direction:column;width:100%}.ui.stackable.buttons .button:first-child{border-bottom-left-radius:0;border-top-right-radius:.28571429rem}.ui.stackable.buttons .button:last-child{border-bottom-left-radius:.28571429rem;border-top-right-radius:0}.ui.stackable.buttons .button:only-child{border-radius:.28571429rem}}.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.compact.labeled.icon.button>.icon,.ui.compact.labeled.icon.buttons .button>.icon{padding:.58928571em 0}.ui.button,.ui.buttons .button,.ui.buttons .or{font-size:1rem}.ui.mini.buttons .button,.ui.mini.buttons .dropdown,.ui.mini.buttons .dropdown .menu>.item,.ui.mini.buttons .or,.ui.ui.ui.ui.mini.button{font-size:.78571429rem}.ui.tiny.buttons .button,.ui.tiny.buttons .dropdown,.ui.tiny.buttons .dropdown .menu>.item,.ui.tiny.buttons .or,.ui.ui.ui.ui.tiny.button{font-size:.85714286rem}.ui.small.buttons .button,.ui.small.buttons .dropdown,.ui.small.buttons .dropdown .menu>.item,.ui.small.buttons .or,.ui.ui.ui.ui.small.button{font-size:.92857143rem}.ui.large.buttons .button,.ui.large.buttons .dropdown,.ui.large.buttons .dropdown .menu>.item,.ui.large.buttons .or,.ui.ui.ui.ui.large.button{font-size:1.14285714rem}.ui.big.buttons .button,.ui.big.buttons .dropdown,.ui.big.buttons .dropdown .menu>.item,.ui.big.buttons .or,.ui.ui.ui.ui.big.button{font-size:1.28571429rem}.ui.huge.buttons .button,.ui.huge.buttons .dropdown,.ui.huge.buttons .dropdown .menu>.item,.ui.huge.buttons .or,.ui.ui.ui.ui.huge.button{font-size:1.42857143rem}.ui.massive.buttons .button,.ui.massive.buttons .dropdown,.ui.massive.buttons .dropdown .menu>.item,.ui.massive.buttons .or,.ui.ui.ui.ui.massive.button{font-size:1.71428571rem}.ui.icon.button:not(.animated):not(.compact):not(.labeled),.ui.icon.buttons .button{padding:.78571429em .78571429em .78571429em}.ui.animated.icon.button>.content>.icon,.ui.icon.button>.icon,.ui.icon.buttons .button>.icon{opacity:.9;margin:0!important;vertical-align:top}.ui.animated.button>.content>.icon{vertical-align:top}.ui.basic.button,.ui.basic.buttons .button{background:transparent none;color:rgba(0,0,0,.6);font-weight:400;border-radius:.28571429rem;text-transform:none;text-shadow:none!important;box-shadow:0 0 0 1px rgba(34,36,38,.15) inset}.ui.basic.buttons{box-shadow:none;border:1px solid rgba(34,36,38,.15);border-radius:.28571429rem;border-right:none}.ui.basic.buttons .button{border-radius:0}.ui.basic.button:hover,.ui.basic.buttons .button:hover{background:#fff;color:rgba(0,0,0,.8);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;color:rgba(0,0,0,.8);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;color:rgba(0,0,0,.9);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);box-shadow:"";color:rgba(0,0,0,.95)}.ui.basic.active.button:hover,.ui.basic.buttons .active.button:hover{background-color:rgba(0,0,0,.05)}.ui.basic.buttons .button:hover{box-shadow:0 0 0 1px rgba(34,36,38,.35) inset,0 0 0 0 rgba(34,36,38,.15) inset}.ui.basic.buttons .button:active{box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 1px 4px 0 rgba(34,36,38,.15) inset}.ui.basic.buttons .active.button{box-shadow:""}.ui.basic.inverted.button,.ui.basic.inverted.buttons .button{background-color:transparent;color:#f9fafb;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset}.ui.basic.inverted.button:hover,.ui.basic.inverted.buttons .button:hover{color:#fff;box-shadow:0 0 0 2px #fff inset}.ui.basic.inverted.button:focus,.ui.basic.inverted.buttons .button:focus{color:#fff;box-shadow:0 0 0 2px #fff inset}.ui.basic.inverted.button:active,.ui.basic.inverted.buttons .button:active{background-color:rgba(255,255,255,.08);color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.9) inset}.ui.basic.inverted.active.button,.ui.basic.inverted.buttons .active.button{background-color:rgba(255,255,255,.08);color:#fff;text-shadow:none;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);box-shadow:0 0 0 2px #fff inset}.ui.basic.buttons:not(.inverted) .button:not(.basic){border-right:1px solid rgba(34,36,38,.15);box-shadow:none}.ui.basic.vertical.buttons .button{border-left:none;border-left-width:0;border-top:1px solid rgba(34,36,38,.15)}.ui.basic.vertical.buttons:not(.spaced) .button:first-child{border-top:none}.ui.tertiary.button{transition:color .1s ease!important;border-radius:0;margin:.28571429em .25em .28571429em 0!important;padding:.5em .5em!important;box-shadow:none;color:rgba(0,0,0,.6);background:0 0}.ui.tertiary.button:hover{box-shadow:inset 0 -.2em 0 #666;color:#333;background:0 0}.ui.tertiary.button:focus{box-shadow:inset 0 -.2em 0 #666;color:#333;background:0 0}.ui.tertiary.button:active{box-shadow:inset 0 -.2em 0 #999;border-radius:.28571429rem .28571429rem 0 0;color:#666;background:0 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;top:0;left:0;height:100%;line-height:1;border-radius:0;border-top-left-radius:inherit;border-bottom-left-radius:inherit;text-align:center;animation:none;padding:.78571429em 0;margin:0;width:2.57142857em;background-color:rgba(0,0,0,.05);color:"";box-shadow:-1px 0 0 0 transparent inset}.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;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:relative;width:100%;top:0;text-align:center}.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.labeled.icon.button>.loading.icon::before{animation:loader 2s linear infinite}.ui.button.toggle.active,.ui.buttons .button.toggle.active,.ui.toggle.buttons .active.button{background-color:#21ba45;box-shadow:none;text-shadow:none;color:#fff}.ui.button.toggle.active:hover{background-color:#16ab39;text-shadow:none;color:#fff}.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;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;box-shadow:0 0 0 1px rgba(34,36,38,.15)}.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:flex;border-radius:0;width:auto!important;z-index:auto;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:0;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: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: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:flex;width:auto;justify-content:center}.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.primary.button,.ui.primary.buttons .button{background-color:#2185d0;color:#fff;text-shadow:none;background-image:none}.ui.primary.button{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{background:0 0;box-shadow:0 0 0 1px #2185d0 inset;color:#2185d0}.ui.basic.primary.button:hover,.ui.basic.primary.buttons .button:hover{background:0 0;box-shadow:0 0 0 1px #1678c2 inset;color:#1678c2}.ui.basic.primary.button:focus,.ui.basic.primary.buttons .button:focus{background:0 0;box-shadow:0 0 0 1px #0d71bb inset;color:#1678c2}.ui.basic.primary.active.button,.ui.basic.primary.buttons .active.button{background:0 0;box-shadow:0 0 0 1px #1279c6 inset;color:#1a69a4}.ui.basic.primary.button:active,.ui.basic.primary.buttons .button:active{box-shadow:0 0 0 1px #1a69a4 inset;color:#1a69a4}.ui.inverted.primary.button,.ui.inverted.primary.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #54c8ff inset;color:#54c8ff}.ui.inverted.primary.button.active,.ui.inverted.primary.button:active,.ui.inverted.primary.button:focus,.ui.inverted.primary.button:hover,.ui.inverted.primary.buttons .button.active,.ui.inverted.primary.buttons .button:active,.ui.inverted.primary.buttons .button:focus,.ui.inverted.primary.buttons .button:hover{box-shadow:none;color:#fff}.ui.inverted.primary.button:hover,.ui.inverted.primary.buttons .button:hover{background-color:#21b8ff}.ui.inverted.primary.button:focus,.ui.inverted.primary.buttons .button:focus{background-color:#2bbbff}.ui.inverted.primary.active.button,.ui.inverted.primary.buttons .active.button{background-color:#3ac0ff}.ui.inverted.primary.button:active,.ui.inverted.primary.buttons .button:active{background-color:#21b8ff}.ui.inverted.primary.basic.button,.ui.inverted.primary.basic.buttons .button,.ui.inverted.primary.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset;color:#fff}.ui.inverted.primary.basic.button:hover,.ui.inverted.primary.basic.buttons .button:hover,.ui.inverted.primary.buttons .basic.button:hover{box-shadow:0 0 0 2px #21b8ff inset;color:#54c8ff}.ui.inverted.primary.basic.button:focus,.ui.inverted.primary.basic.buttons .button:focus{box-shadow:0 0 0 2px #2bbbff inset;color:#54c8ff}.ui.inverted.primary.basic.active.button,.ui.inverted.primary.basic.buttons .active.button,.ui.inverted.primary.buttons .basic.active.button{box-shadow:0 0 0 2px #3ac0ff inset;color:#54c8ff}.ui.inverted.primary.basic.button:active,.ui.inverted.primary.basic.buttons .button:active,.ui.inverted.primary.buttons .basic.button:active{box-shadow:0 0 0 2px #21b8ff inset;color:#54c8ff}.ui.tertiary.primary.button,.ui.tertiary.primary.buttons .button,.ui.tertiary.primary.buttons .tertiary.button{background:0 0;box-shadow:none;color:#2185d0}.ui.tertiary.primary.button:hover,.ui.tertiary.primary.buttons .button:hover,.ui.tertiary.primary.buttons button:hover{box-shadow:inset 0 -.2em 0 #2b75ac;color:#2b75ac}.ui.tertiary.primary.button:focus,.ui.tertiary.primary.buttons .button:focus,.ui.tertiary.primary.buttons .tertiary.button:focus{box-shadow:inset 0 -.2em 0 #216ea7;color:#216ea7}.ui.tertiary.primary.active.button,.ui.tertiary.primary.button:active,.ui.tertiary.primary.buttons .active.button,.ui.tertiary.primary.buttons .button:active,.ui.tertiary.primary.buttons .tertiary.active.button,.ui.tertiary.primary.buttons .tertiary.button:active{box-shadow:inset 0 -.2em 0 #007bd8;color:#1279c6}.ui.secondary.button,.ui.secondary.buttons .button{background-color:#1b1c1d;color:#fff;text-shadow:none;background-image:none}.ui.secondary.button{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{background:0 0;box-shadow:0 0 0 1px #1b1c1d inset;color:#1b1c1d}.ui.basic.secondary.button:hover,.ui.basic.secondary.buttons .button:hover{background:0 0;box-shadow:0 0 0 1px #27292a inset;color:#27292a}.ui.basic.secondary.button:focus,.ui.basic.secondary.buttons .button:focus{background:0 0;box-shadow:0 0 0 1px #2e3032 inset;color:#27292a}.ui.basic.secondary.active.button,.ui.basic.secondary.buttons .active.button{background:0 0;box-shadow:0 0 0 1px #27292a inset;color:#343637}.ui.basic.secondary.button:active,.ui.basic.secondary.buttons .button:active{box-shadow:0 0 0 1px #343637 inset;color:#343637}.ui.inverted.secondary.button,.ui.inverted.secondary.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #545454 inset;color:#545454}.ui.inverted.secondary.button.active,.ui.inverted.secondary.button:active,.ui.inverted.secondary.button:focus,.ui.inverted.secondary.button:hover,.ui.inverted.secondary.buttons .button.active,.ui.inverted.secondary.buttons .button:active,.ui.inverted.secondary.buttons .button:focus,.ui.inverted.secondary.buttons .button:hover{box-shadow:none;color:#fff}.ui.inverted.secondary.button:hover,.ui.inverted.secondary.buttons .button:hover{background-color:#6e6e6e}.ui.inverted.secondary.button:focus,.ui.inverted.secondary.buttons .button:focus{background-color:#686868}.ui.inverted.secondary.active.button,.ui.inverted.secondary.buttons .active.button{background-color:#616161}.ui.inverted.secondary.button:active,.ui.inverted.secondary.buttons .button:active{background-color:#6e6e6e}.ui.inverted.secondary.basic.button,.ui.inverted.secondary.basic.buttons .button,.ui.inverted.secondary.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset;color:#fff}.ui.inverted.secondary.basic.button:hover,.ui.inverted.secondary.basic.buttons .button:hover,.ui.inverted.secondary.buttons .basic.button:hover{box-shadow:0 0 0 2px #6e6e6e inset;color:#545454}.ui.inverted.secondary.basic.button:focus,.ui.inverted.secondary.basic.buttons .button:focus{box-shadow:0 0 0 2px #686868 inset;color:#545454}.ui.inverted.secondary.basic.active.button,.ui.inverted.secondary.basic.buttons .active.button,.ui.inverted.secondary.buttons .basic.active.button{box-shadow:0 0 0 2px #616161 inset;color:#545454}.ui.inverted.secondary.basic.button:active,.ui.inverted.secondary.basic.buttons .button:active,.ui.inverted.secondary.buttons .basic.button:active{box-shadow:0 0 0 2px #6e6e6e inset;color:#545454}.ui.tertiary.secondary.button,.ui.tertiary.secondary.buttons .button,.ui.tertiary.secondary.buttons .tertiary.button{background:0 0;box-shadow:none;color:#1b1c1d}.ui.tertiary.secondary.button:hover,.ui.tertiary.secondary.buttons .button:hover,.ui.tertiary.secondary.buttons button:hover{box-shadow:inset 0 -.2em 0 #292929;color:#292929}.ui.tertiary.secondary.button:focus,.ui.tertiary.secondary.buttons .button:focus,.ui.tertiary.secondary.buttons .tertiary.button:focus{box-shadow:inset 0 -.2em 0 #303030;color:#303030}.ui.tertiary.secondary.active.button,.ui.tertiary.secondary.button:active,.ui.tertiary.secondary.buttons .active.button,.ui.tertiary.secondary.buttons .button:active,.ui.tertiary.secondary.buttons .tertiary.active.button,.ui.tertiary.secondary.buttons .tertiary.button:active{box-shadow:inset 0 -.2em 0 #1f2933;color:#27292a}.ui.red.button,.ui.red.buttons .button{background-color:#db2828;color:#fff;text-shadow:none;background-image:none}.ui.red.button{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{background:0 0;box-shadow:0 0 0 1px #db2828 inset;color:#db2828}.ui.basic.red.button:hover,.ui.basic.red.buttons .button:hover{background:0 0;box-shadow:0 0 0 1px #d01919 inset;color:#d01919}.ui.basic.red.button:focus,.ui.basic.red.buttons .button:focus{background:0 0;box-shadow:0 0 0 1px #ca1010 inset;color:#d01919}.ui.basic.red.active.button,.ui.basic.red.buttons .active.button{background:0 0;box-shadow:0 0 0 1px #d41515 inset;color:#b21e1e}.ui.basic.red.button:active,.ui.basic.red.buttons .button:active{box-shadow:0 0 0 1px #b21e1e inset;color:#b21e1e}.ui.inverted.red.button,.ui.inverted.red.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #ff695e inset;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{box-shadow:none;color:#fff}.ui.inverted.red.button:hover,.ui.inverted.red.buttons .button:hover{background-color:#ff392b}.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;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset;color:#fff}.ui.inverted.red.basic.button:hover,.ui.inverted.red.basic.buttons .button:hover,.ui.inverted.red.buttons .basic.button:hover{box-shadow:0 0 0 2px #ff392b inset;color:#ff695e}.ui.inverted.red.basic.button:focus,.ui.inverted.red.basic.buttons .button:focus{box-shadow:0 0 0 2px #ff4335 inset;color:#ff695e}.ui.inverted.red.basic.active.button,.ui.inverted.red.basic.buttons .active.button,.ui.inverted.red.buttons .basic.active.button{box-shadow:0 0 0 2px #ff5144 inset;color:#ff695e}.ui.inverted.red.basic.button:active,.ui.inverted.red.basic.buttons .button:active,.ui.inverted.red.buttons .basic.button:active{box-shadow:0 0 0 2px #ff392b inset;color:#ff695e}.ui.tertiary.red.button,.ui.tertiary.red.buttons .button,.ui.tertiary.red.buttons .tertiary.button{background:0 0;box-shadow:none;color:#db2828}.ui.tertiary.red.button:hover,.ui.tertiary.red.buttons .button:hover,.ui.tertiary.red.buttons button:hover{box-shadow:inset 0 -.2em 0 #b93131;color:#b93131}.ui.tertiary.red.button:focus,.ui.tertiary.red.buttons .button:focus,.ui.tertiary.red.buttons .tertiary.button:focus{box-shadow:inset 0 -.2em 0 #b52626;color:#b52626}.ui.tertiary.red.active.button,.ui.tertiary.red.button:active,.ui.tertiary.red.buttons .active.button,.ui.tertiary.red.buttons .button:active,.ui.tertiary.red.buttons .tertiary.active.button,.ui.tertiary.red.buttons .tertiary.button:active{box-shadow:inset 0 -.2em 0 #ea0000;color:#d41515}.ui.orange.button,.ui.orange.buttons .button{background-color:#f2711c;color:#fff;text-shadow:none;background-image:none}.ui.orange.button{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{background:0 0;box-shadow:0 0 0 1px #f2711c inset;color:#f2711c}.ui.basic.orange.button:hover,.ui.basic.orange.buttons .button:hover{background:0 0;box-shadow:0 0 0 1px #f26202 inset;color:#f26202}.ui.basic.orange.button:focus,.ui.basic.orange.buttons .button:focus{background:0 0;box-shadow:0 0 0 1px #e55b00 inset;color:#f26202}.ui.basic.orange.active.button,.ui.basic.orange.buttons .active.button{background:0 0;box-shadow:0 0 0 1px #f56100 inset;color:#cf590c}.ui.basic.orange.button:active,.ui.basic.orange.buttons .button:active{box-shadow:0 0 0 1px #cf590c inset;color:#cf590c}.ui.inverted.orange.button,.ui.inverted.orange.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #ff851b inset;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{box-shadow:none;color:#fff}.ui.inverted.orange.button:hover,.ui.inverted.orange.buttons .button:hover{background-color:#e76b00}.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;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset;color:#fff}.ui.inverted.orange.basic.button:hover,.ui.inverted.orange.basic.buttons .button:hover,.ui.inverted.orange.buttons .basic.button:hover{box-shadow:0 0 0 2px #e76b00 inset;color:#ff851b}.ui.inverted.orange.basic.button:focus,.ui.inverted.orange.basic.buttons .button:focus{box-shadow:0 0 0 2px #f17000 inset;color:#ff851b}.ui.inverted.orange.basic.active.button,.ui.inverted.orange.basic.buttons .active.button,.ui.inverted.orange.buttons .basic.active.button{box-shadow:0 0 0 2px #ff7701 inset;color:#ff851b}.ui.inverted.orange.basic.button:active,.ui.inverted.orange.basic.buttons .button:active,.ui.inverted.orange.buttons .basic.button:active{box-shadow:0 0 0 2px #e76b00 inset;color:#ff851b}.ui.tertiary.orange.button,.ui.tertiary.orange.buttons .button,.ui.tertiary.orange.buttons .tertiary.button{background:0 0;box-shadow:none;color:#f2711c}.ui.tertiary.orange.button:hover,.ui.tertiary.orange.buttons .button:hover,.ui.tertiary.orange.buttons button:hover{box-shadow:inset 0 -.2em 0 #da671b;color:#da671b}.ui.tertiary.orange.button:focus,.ui.tertiary.orange.buttons .button:focus,.ui.tertiary.orange.buttons .tertiary.button:focus{box-shadow:inset 0 -.2em 0 #ce6017;color:#ce6017}.ui.tertiary.orange.active.button,.ui.tertiary.orange.button:active,.ui.tertiary.orange.buttons .active.button,.ui.tertiary.orange.buttons .button:active,.ui.tertiary.orange.buttons .tertiary.active.button,.ui.tertiary.orange.buttons .tertiary.button:active{box-shadow:inset 0 -.2em 0 #f56100;color:#f56100}.ui.yellow.button,.ui.yellow.buttons .button{background-color:#fbbd08;color:#fff;text-shadow:none;background-image:none}.ui.yellow.button{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{background:0 0;box-shadow:0 0 0 1px #fbbd08 inset;color:#fbbd08}.ui.basic.yellow.button:hover,.ui.basic.yellow.buttons .button:hover{background:0 0;box-shadow:0 0 0 1px #eaae00 inset;color:#eaae00}.ui.basic.yellow.button:focus,.ui.basic.yellow.buttons .button:focus{background:0 0;box-shadow:0 0 0 1px #daa300 inset;color:#eaae00}.ui.basic.yellow.active.button,.ui.basic.yellow.buttons .active.button{background:0 0;box-shadow:0 0 0 1px #eaae00 inset;color:#cd9903}.ui.basic.yellow.button:active,.ui.basic.yellow.buttons .button:active{box-shadow:0 0 0 1px #cd9903 inset;color:#cd9903}.ui.inverted.yellow.button,.ui.inverted.yellow.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #ffe21f inset;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{box-shadow:none;color:rgba(0,0,0,.6)}.ui.inverted.yellow.button:hover,.ui.inverted.yellow.buttons .button:hover{background-color:#ebcd00}.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;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset;color:#fff}.ui.inverted.yellow.basic.button:hover,.ui.inverted.yellow.basic.buttons .button:hover,.ui.inverted.yellow.buttons .basic.button:hover{box-shadow:0 0 0 2px #ebcd00 inset;color:#ffe21f}.ui.inverted.yellow.basic.button:focus,.ui.inverted.yellow.basic.buttons .button:focus{box-shadow:0 0 0 2px #f5d500 inset;color:#ffe21f}.ui.inverted.yellow.basic.active.button,.ui.inverted.yellow.basic.buttons .active.button,.ui.inverted.yellow.buttons .basic.active.button{box-shadow:0 0 0 2px #ffdf05 inset;color:#ffe21f}.ui.inverted.yellow.basic.button:active,.ui.inverted.yellow.basic.buttons .button:active,.ui.inverted.yellow.buttons .basic.button:active{box-shadow:0 0 0 2px #ebcd00 inset;color:#ffe21f}.ui.tertiary.yellow.button,.ui.tertiary.yellow.buttons .button,.ui.tertiary.yellow.buttons .tertiary.button{background:0 0;box-shadow:none;color:#fbbd08}.ui.tertiary.yellow.button:hover,.ui.tertiary.yellow.buttons .button:hover,.ui.tertiary.yellow.buttons button:hover{box-shadow:inset 0 -.2em 0 #d2a217;color:#d2a217}.ui.tertiary.yellow.button:focus,.ui.tertiary.yellow.buttons .button:focus,.ui.tertiary.yellow.buttons .tertiary.button:focus{box-shadow:inset 0 -.2em 0 #c49816;color:#c49816}.ui.tertiary.yellow.active.button,.ui.tertiary.yellow.button:active,.ui.tertiary.yellow.buttons .active.button,.ui.tertiary.yellow.buttons .button:active,.ui.tertiary.yellow.buttons .tertiary.active.button,.ui.tertiary.yellow.buttons .tertiary.button:active{box-shadow:inset 0 -.2em 0 #eaae00;color:#eaae00}.ui.olive.button,.ui.olive.buttons .button{background-color:#b5cc18;color:#fff;text-shadow:none;background-image:none}.ui.olive.button{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{background:0 0;box-shadow:0 0 0 1px #b5cc18 inset;color:#b5cc18}.ui.basic.olive.button:hover,.ui.basic.olive.buttons .button:hover{background:0 0;box-shadow:0 0 0 1px #a7bd0d inset;color:#a7bd0d}.ui.basic.olive.button:focus,.ui.basic.olive.buttons .button:focus{background:0 0;box-shadow:0 0 0 1px #a0b605 inset;color:#a7bd0d}.ui.basic.olive.active.button,.ui.basic.olive.buttons .active.button{background:0 0;box-shadow:0 0 0 1px #aac109 inset;color:#8d9e13}.ui.basic.olive.button:active,.ui.basic.olive.buttons .button:active{box-shadow:0 0 0 1px #8d9e13 inset;color:#8d9e13}.ui.inverted.olive.button,.ui.inverted.olive.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #d9e778 inset;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{box-shadow:none;color:rgba(0,0,0,.6)}.ui.inverted.olive.button:hover,.ui.inverted.olive.buttons .button:hover{background-color:#d2e745}.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;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset;color:#fff}.ui.inverted.olive.basic.button:hover,.ui.inverted.olive.basic.buttons .button:hover,.ui.inverted.olive.buttons .basic.button:hover{box-shadow:0 0 0 2px #d2e745 inset;color:#d9e778}.ui.inverted.olive.basic.button:focus,.ui.inverted.olive.basic.buttons .button:focus{box-shadow:0 0 0 2px #daef47 inset;color:#d9e778}.ui.inverted.olive.basic.active.button,.ui.inverted.olive.basic.buttons .active.button,.ui.inverted.olive.buttons .basic.active.button{box-shadow:0 0 0 2px #daed59 inset;color:#d9e778}.ui.inverted.olive.basic.button:active,.ui.inverted.olive.basic.buttons .button:active,.ui.inverted.olive.buttons .basic.button:active{box-shadow:0 0 0 2px #cddf4d inset;color:#d9e778}.ui.tertiary.olive.button,.ui.tertiary.olive.buttons .button,.ui.tertiary.olive.buttons .tertiary.button{background:0 0;box-shadow:none;color:#b5cc18}.ui.tertiary.olive.button:hover,.ui.tertiary.olive.buttons .button:hover,.ui.tertiary.olive.buttons button:hover{box-shadow:inset 0 -.2em 0 #98a922;color:#98a922}.ui.tertiary.olive.button:focus,.ui.tertiary.olive.buttons .button:focus,.ui.tertiary.olive.buttons .tertiary.button:focus{box-shadow:inset 0 -.2em 0 #92a418;color:#92a418}.ui.tertiary.olive.active.button,.ui.tertiary.olive.button:active,.ui.tertiary.olive.buttons .active.button,.ui.tertiary.olive.buttons .button:active,.ui.tertiary.olive.buttons .tertiary.active.button,.ui.tertiary.olive.buttons .tertiary.button:active{box-shadow:inset 0 -.2em 0 #b1cb00;color:#aac109}.ui.green.button,.ui.green.buttons .button{background-color:#21ba45;color:#fff;text-shadow:none;background-image:none}.ui.green.button{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{background:0 0;box-shadow:0 0 0 1px #21ba45 inset;color:#21ba45}.ui.basic.green.button:hover,.ui.basic.green.buttons .button:hover{background:0 0;box-shadow:0 0 0 1px #16ab39 inset;color:#16ab39}.ui.basic.green.button:focus,.ui.basic.green.buttons .button:focus{background:0 0;box-shadow:0 0 0 1px #0ea432 inset;color:#16ab39}.ui.basic.green.active.button,.ui.basic.green.buttons .active.button{background:0 0;box-shadow:0 0 0 1px #13ae38 inset;color:#198f35}.ui.basic.green.button:active,.ui.basic.green.buttons .button:active{box-shadow:0 0 0 1px #198f35 inset;color:#198f35}.ui.inverted.green.button,.ui.inverted.green.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #2ecc40 inset;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{box-shadow:none;color:#fff}.ui.inverted.green.button:hover,.ui.inverted.green.buttons .button:hover{background-color:#1ea92e}.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;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset;color:#fff}.ui.inverted.green.basic.button:hover,.ui.inverted.green.basic.buttons .button:hover,.ui.inverted.green.buttons .basic.button:hover{box-shadow:0 0 0 2px #1ea92e inset;color:#2ecc40}.ui.inverted.green.basic.button:focus,.ui.inverted.green.basic.buttons .button:focus{box-shadow:0 0 0 2px #19b82b inset;color:#2ecc40}.ui.inverted.green.basic.active.button,.ui.inverted.green.basic.buttons .active.button,.ui.inverted.green.buttons .basic.active.button{box-shadow:0 0 0 2px #1fc231 inset;color:#2ecc40}.ui.inverted.green.basic.button:active,.ui.inverted.green.basic.buttons .button:active,.ui.inverted.green.buttons .basic.button:active{box-shadow:0 0 0 2px #25a233 inset;color:#2ecc40}.ui.tertiary.green.button,.ui.tertiary.green.buttons .button,.ui.tertiary.green.buttons .tertiary.button{background:0 0;box-shadow:none;color:#21ba45}.ui.tertiary.green.button:hover,.ui.tertiary.green.buttons .button:hover,.ui.tertiary.green.buttons button:hover{box-shadow:inset 0 -.2em 0 #2a9844;color:#2a9844}.ui.tertiary.green.button:focus,.ui.tertiary.green.buttons .button:focus,.ui.tertiary.green.buttons .tertiary.button:focus{box-shadow:inset 0 -.2em 0 #20923b;color:#20923b}.ui.tertiary.green.active.button,.ui.tertiary.green.button:active,.ui.tertiary.green.buttons .active.button,.ui.tertiary.green.buttons .button:active,.ui.tertiary.green.buttons .tertiary.active.button,.ui.tertiary.green.buttons .tertiary.button:active{box-shadow:inset 0 -.2em 0 #00c22e;color:#13ae38}.ui.teal.button,.ui.teal.buttons .button{background-color:#00b5ad;color:#fff;text-shadow:none;background-image:none}.ui.teal.button{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{background:0 0;box-shadow:0 0 0 1px #00b5ad inset;color:#00b5ad}.ui.basic.teal.button:hover,.ui.basic.teal.buttons .button:hover{background:0 0;box-shadow:0 0 0 1px #009c95 inset;color:#009c95}.ui.basic.teal.button:focus,.ui.basic.teal.buttons .button:focus{background:0 0;box-shadow:0 0 0 1px #008c86 inset;color:#009c95}.ui.basic.teal.active.button,.ui.basic.teal.buttons .active.button{background:0 0;box-shadow:0 0 0 1px #009c95 inset;color:#00827c}.ui.basic.teal.button:active,.ui.basic.teal.buttons .button:active{box-shadow:0 0 0 1px #00827c inset;color:#00827c}.ui.inverted.teal.button,.ui.inverted.teal.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #6dffff inset;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{box-shadow:none;color:rgba(0,0,0,.6)}.ui.inverted.teal.button:hover,.ui.inverted.teal.buttons .button:hover{background-color:#3affff}.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;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset;color:#fff}.ui.inverted.teal.basic.button:hover,.ui.inverted.teal.basic.buttons .button:hover,.ui.inverted.teal.buttons .basic.button:hover{box-shadow:0 0 0 2px #3affff inset;color:#6dffff}.ui.inverted.teal.basic.button:focus,.ui.inverted.teal.basic.buttons .button:focus{box-shadow:0 0 0 2px #4ff inset;color:#6dffff}.ui.inverted.teal.basic.active.button,.ui.inverted.teal.basic.buttons .active.button,.ui.inverted.teal.buttons .basic.active.button{box-shadow:0 0 0 2px #54ffff inset;color:#6dffff}.ui.inverted.teal.basic.button:active,.ui.inverted.teal.basic.buttons .button:active,.ui.inverted.teal.buttons .basic.button:active{box-shadow:0 0 0 2px #3affff inset;color:#6dffff}.ui.tertiary.teal.button,.ui.tertiary.teal.buttons .button,.ui.tertiary.teal.buttons .tertiary.button{background:0 0;box-shadow:none;color:#00b5ad}.ui.tertiary.teal.button:hover,.ui.tertiary.teal.buttons .button:hover,.ui.tertiary.teal.buttons button:hover{box-shadow:inset 0 -.2em 0 #108c86;color:#108c86}.ui.tertiary.teal.button:focus,.ui.tertiary.teal.buttons .button:focus,.ui.tertiary.teal.buttons .tertiary.button:focus{box-shadow:inset 0 -.2em 0 #0e7e79;color:#0e7e79}.ui.tertiary.teal.active.button,.ui.tertiary.teal.button:active,.ui.tertiary.teal.buttons .active.button,.ui.tertiary.teal.buttons .button:active,.ui.tertiary.teal.buttons .tertiary.active.button,.ui.tertiary.teal.buttons .tertiary.button:active{box-shadow:inset 0 -.2em 0 #009c95;color:#009c95}.ui.blue.button,.ui.blue.buttons .button{background-color:#2185d0;color:#fff;text-shadow:none;background-image:none}.ui.blue.button{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{background:0 0;box-shadow:0 0 0 1px #2185d0 inset;color:#2185d0}.ui.basic.blue.button:hover,.ui.basic.blue.buttons .button:hover{background:0 0;box-shadow:0 0 0 1px #1678c2 inset;color:#1678c2}.ui.basic.blue.button:focus,.ui.basic.blue.buttons .button:focus{background:0 0;box-shadow:0 0 0 1px #0d71bb inset;color:#1678c2}.ui.basic.blue.active.button,.ui.basic.blue.buttons .active.button{background:0 0;box-shadow:0 0 0 1px #1279c6 inset;color:#1a69a4}.ui.basic.blue.button:active,.ui.basic.blue.buttons .button:active{box-shadow:0 0 0 1px #1a69a4 inset;color:#1a69a4}.ui.inverted.blue.button,.ui.inverted.blue.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #54c8ff inset;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{box-shadow:none;color:#fff}.ui.inverted.blue.button:hover,.ui.inverted.blue.buttons .button:hover{background-color:#21b8ff}.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;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset;color:#fff}.ui.inverted.blue.basic.button:hover,.ui.inverted.blue.basic.buttons .button:hover,.ui.inverted.blue.buttons .basic.button:hover{box-shadow:0 0 0 2px #21b8ff inset;color:#54c8ff}.ui.inverted.blue.basic.button:focus,.ui.inverted.blue.basic.buttons .button:focus{box-shadow:0 0 0 2px #2bbbff inset;color:#54c8ff}.ui.inverted.blue.basic.active.button,.ui.inverted.blue.basic.buttons .active.button,.ui.inverted.blue.buttons .basic.active.button{box-shadow:0 0 0 2px #3ac0ff inset;color:#54c8ff}.ui.inverted.blue.basic.button:active,.ui.inverted.blue.basic.buttons .button:active,.ui.inverted.blue.buttons .basic.button:active{box-shadow:0 0 0 2px #21b8ff inset;color:#54c8ff}.ui.tertiary.blue.button,.ui.tertiary.blue.buttons .button,.ui.tertiary.blue.buttons .tertiary.button{background:0 0;box-shadow:none;color:#2185d0}.ui.tertiary.blue.button:hover,.ui.tertiary.blue.buttons .button:hover,.ui.tertiary.blue.buttons button:hover{box-shadow:inset 0 -.2em 0 #2b75ac;color:#2b75ac}.ui.tertiary.blue.button:focus,.ui.tertiary.blue.buttons .button:focus,.ui.tertiary.blue.buttons .tertiary.button:focus{box-shadow:inset 0 -.2em 0 #216ea7;color:#216ea7}.ui.tertiary.blue.active.button,.ui.tertiary.blue.button:active,.ui.tertiary.blue.buttons .active.button,.ui.tertiary.blue.buttons .button:active,.ui.tertiary.blue.buttons .tertiary.active.button,.ui.tertiary.blue.buttons .tertiary.button:active{box-shadow:inset 0 -.2em 0 #007bd8;color:#1279c6}.ui.violet.button,.ui.violet.buttons .button{background-color:#6435c9;color:#fff;text-shadow:none;background-image:none}.ui.violet.button{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{background:0 0;box-shadow:0 0 0 1px #6435c9 inset;color:#6435c9}.ui.basic.violet.button:hover,.ui.basic.violet.buttons .button:hover{background:0 0;box-shadow:0 0 0 1px #5829bb inset;color:#5829bb}.ui.basic.violet.button:focus,.ui.basic.violet.buttons .button:focus{background:0 0;box-shadow:0 0 0 1px #4f20b5 inset;color:#5829bb}.ui.basic.violet.active.button,.ui.basic.violet.buttons .active.button{background:0 0;box-shadow:0 0 0 1px #5626bf inset;color:#502aa1}.ui.basic.violet.button:active,.ui.basic.violet.buttons .button:active{box-shadow:0 0 0 1px #502aa1 inset;color:#502aa1}.ui.inverted.violet.button,.ui.inverted.violet.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #a291fb inset;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{box-shadow:none;color:#fff}.ui.inverted.violet.button:hover,.ui.inverted.violet.buttons .button:hover{background-color:#745aff}.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;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset;color:#fff}.ui.inverted.violet.basic.button:hover,.ui.inverted.violet.basic.buttons .button:hover,.ui.inverted.violet.buttons .basic.button:hover{box-shadow:0 0 0 2px #745aff inset;color:#a291fb}.ui.inverted.violet.basic.button:focus,.ui.inverted.violet.basic.buttons .button:focus{box-shadow:0 0 0 2px #7d64ff inset;color:#a291fb}.ui.inverted.violet.basic.active.button,.ui.inverted.violet.basic.buttons .active.button,.ui.inverted.violet.buttons .basic.active.button{box-shadow:0 0 0 2px #8a73ff inset;color:#a291fb}.ui.inverted.violet.basic.button:active,.ui.inverted.violet.basic.buttons .button:active,.ui.inverted.violet.buttons .basic.button:active{box-shadow:0 0 0 2px #7860f9 inset;color:#a291fb}.ui.tertiary.violet.button,.ui.tertiary.violet.buttons .button,.ui.tertiary.violet.buttons .tertiary.button{background:0 0;box-shadow:none;color:#6435c9}.ui.tertiary.violet.button:hover,.ui.tertiary.violet.buttons .button:hover,.ui.tertiary.violet.buttons button:hover{box-shadow:inset 0 -.2em 0 #6040a5;color:#6040a5}.ui.tertiary.violet.button:focus,.ui.tertiary.violet.buttons .button:focus,.ui.tertiary.violet.buttons .tertiary.button:focus{box-shadow:inset 0 -.2em 0 #5735a0;color:#5735a0}.ui.tertiary.violet.active.button,.ui.tertiary.violet.button:active,.ui.tertiary.violet.buttons .active.button,.ui.tertiary.violet.buttons .button:active,.ui.tertiary.violet.buttons .tertiary.active.button,.ui.tertiary.violet.buttons .tertiary.button:active{box-shadow:inset 0 -.2em 0 #4e0fd6;color:#5626bf}.ui.purple.button,.ui.purple.buttons .button{background-color:#a333c8;color:#fff;text-shadow:none;background-image:none}.ui.purple.button{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{background:0 0;box-shadow:0 0 0 1px #a333c8 inset;color:#a333c8}.ui.basic.purple.button:hover,.ui.basic.purple.buttons .button:hover{background:0 0;box-shadow:0 0 0 1px #9627ba inset;color:#9627ba}.ui.basic.purple.button:focus,.ui.basic.purple.buttons .button:focus{background:0 0;box-shadow:0 0 0 1px #8f1eb4 inset;color:#9627ba}.ui.basic.purple.active.button,.ui.basic.purple.buttons .active.button{background:0 0;box-shadow:0 0 0 1px #9724be inset;color:#82299f}.ui.basic.purple.button:active,.ui.basic.purple.buttons .button:active{box-shadow:0 0 0 1px #82299f inset;color:#82299f}.ui.inverted.purple.button,.ui.inverted.purple.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #dc73ff inset;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{box-shadow:none;color:#fff}.ui.inverted.purple.button:hover,.ui.inverted.purple.buttons .button:hover{background-color:#cf40ff}.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;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset;color:#fff}.ui.inverted.purple.basic.button:hover,.ui.inverted.purple.basic.buttons .button:hover,.ui.inverted.purple.buttons .basic.button:hover{box-shadow:0 0 0 2px #cf40ff inset;color:#dc73ff}.ui.inverted.purple.basic.button:focus,.ui.inverted.purple.basic.buttons .button:focus{box-shadow:0 0 0 2px #d24aff inset;color:#dc73ff}.ui.inverted.purple.basic.active.button,.ui.inverted.purple.basic.buttons .active.button,.ui.inverted.purple.buttons .basic.active.button{box-shadow:0 0 0 2px #d65aff inset;color:#dc73ff}.ui.inverted.purple.basic.button:active,.ui.inverted.purple.basic.buttons .button:active,.ui.inverted.purple.buttons .basic.button:active{box-shadow:0 0 0 2px #cf40ff inset;color:#dc73ff}.ui.tertiary.purple.button,.ui.tertiary.purple.buttons .button,.ui.tertiary.purple.buttons .tertiary.button{background:0 0;box-shadow:none;color:#a333c8}.ui.tertiary.purple.button:hover,.ui.tertiary.purple.buttons .button:hover,.ui.tertiary.purple.buttons button:hover{box-shadow:inset 0 -.2em 0 #8a3ea4;color:#8a3ea4}.ui.tertiary.purple.button:focus,.ui.tertiary.purple.buttons .button:focus,.ui.tertiary.purple.buttons .tertiary.button:focus{box-shadow:inset 0 -.2em 0 #84339f;color:#84339f}.ui.tertiary.purple.active.button,.ui.tertiary.purple.button:active,.ui.tertiary.purple.buttons .active.button,.ui.tertiary.purple.buttons .button:active,.ui.tertiary.purple.buttons .tertiary.active.button,.ui.tertiary.purple.buttons .tertiary.button:active{box-shadow:inset 0 -.2em 0 #a30dd4;color:#9724be}.ui.pink.button,.ui.pink.buttons .button{background-color:#e03997;color:#fff;text-shadow:none;background-image:none}.ui.pink.button{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{background:0 0;box-shadow:0 0 0 1px #e03997 inset;color:#e03997}.ui.basic.pink.button:hover,.ui.basic.pink.buttons .button:hover{background:0 0;box-shadow:0 0 0 1px #e61a8d inset;color:#e61a8d}.ui.basic.pink.button:focus,.ui.basic.pink.buttons .button:focus{background:0 0;box-shadow:0 0 0 1px #e10f85 inset;color:#e61a8d}.ui.basic.pink.active.button,.ui.basic.pink.buttons .active.button{background:0 0;box-shadow:0 0 0 1px #ea158d inset;color:#c71f7e}.ui.basic.pink.button:active,.ui.basic.pink.buttons .button:active{box-shadow:0 0 0 1px #c71f7e inset;color:#c71f7e}.ui.inverted.pink.button,.ui.inverted.pink.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #ff8edf inset;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{box-shadow:none;color:#fff}.ui.inverted.pink.button:hover,.ui.inverted.pink.buttons .button:hover{background-color:#ff5bd1}.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;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset;color:#fff}.ui.inverted.pink.basic.button:hover,.ui.inverted.pink.basic.buttons .button:hover,.ui.inverted.pink.buttons .basic.button:hover{box-shadow:0 0 0 2px #ff5bd1 inset;color:#ff8edf}.ui.inverted.pink.basic.button:focus,.ui.inverted.pink.basic.buttons .button:focus{box-shadow:0 0 0 2px #ff65d3 inset;color:#ff8edf}.ui.inverted.pink.basic.active.button,.ui.inverted.pink.basic.buttons .active.button,.ui.inverted.pink.buttons .basic.active.button{box-shadow:0 0 0 2px #ff74d8 inset;color:#ff8edf}.ui.inverted.pink.basic.button:active,.ui.inverted.pink.basic.buttons .button:active,.ui.inverted.pink.buttons .basic.button:active{box-shadow:0 0 0 2px #ff5bd1 inset;color:#ff8edf}.ui.tertiary.pink.button,.ui.tertiary.pink.buttons .button,.ui.tertiary.pink.buttons .tertiary.button{background:0 0;box-shadow:none;color:#e03997}.ui.tertiary.pink.button:hover,.ui.tertiary.pink.buttons .button:hover,.ui.tertiary.pink.buttons button:hover{box-shadow:inset 0 -.2em 0 #cc3389;color:#cc3389}.ui.tertiary.pink.button:focus,.ui.tertiary.pink.buttons .button:focus,.ui.tertiary.pink.buttons .tertiary.button:focus{box-shadow:inset 0 -.2em 0 #c92782;color:#c92782}.ui.tertiary.pink.active.button,.ui.tertiary.pink.button:active,.ui.tertiary.pink.buttons .active.button,.ui.tertiary.pink.buttons .button:active,.ui.tertiary.pink.buttons .tertiary.active.button,.ui.tertiary.pink.buttons .tertiary.button:active{box-shadow:inset 0 -.2em 0 #ff0090;color:#ea158d}.ui.brown.button,.ui.brown.buttons .button{background-color:#a5673f;color:#fff;text-shadow:none;background-image:none}.ui.brown.button{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{background:0 0;box-shadow:0 0 0 1px #a5673f inset;color:#a5673f}.ui.basic.brown.button:hover,.ui.basic.brown.buttons .button:hover{background:0 0;box-shadow:0 0 0 1px #975b33 inset;color:#975b33}.ui.basic.brown.button:focus,.ui.basic.brown.buttons .button:focus{background:0 0;box-shadow:0 0 0 1px #90532b inset;color:#975b33}.ui.basic.brown.active.button,.ui.basic.brown.buttons .active.button{background:0 0;box-shadow:0 0 0 1px #995a31 inset;color:#805031}.ui.basic.brown.button:active,.ui.basic.brown.buttons .button:active{box-shadow:0 0 0 1px #805031 inset;color:#805031}.ui.inverted.brown.button,.ui.inverted.brown.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #d67c1c inset;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{box-shadow:none;color:#fff}.ui.inverted.brown.button:hover,.ui.inverted.brown.buttons .button:hover{background-color:#b0620f}.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;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset;color:#fff}.ui.inverted.brown.basic.button:hover,.ui.inverted.brown.basic.buttons .button:hover,.ui.inverted.brown.buttons .basic.button:hover{box-shadow:0 0 0 2px #b0620f inset;color:#d67c1c}.ui.inverted.brown.basic.button:focus,.ui.inverted.brown.basic.buttons .button:focus{box-shadow:0 0 0 2px #c16808 inset;color:#d67c1c}.ui.inverted.brown.basic.active.button,.ui.inverted.brown.basic.buttons .active.button,.ui.inverted.brown.buttons .basic.active.button{box-shadow:0 0 0 2px #cc6f0d inset;color:#d67c1c}.ui.inverted.brown.basic.button:active,.ui.inverted.brown.basic.buttons .button:active,.ui.inverted.brown.buttons .basic.button:active{box-shadow:0 0 0 2px #a96216 inset;color:#d67c1c}.ui.tertiary.brown.button,.ui.tertiary.brown.buttons .button,.ui.tertiary.brown.buttons .tertiary.button{background:0 0;box-shadow:none;color:#a5673f}.ui.tertiary.brown.button:hover,.ui.tertiary.brown.buttons .button:hover,.ui.tertiary.brown.buttons button:hover{box-shadow:inset 0 -.2em 0 #835f48;color:#835f48}.ui.tertiary.brown.button:focus,.ui.tertiary.brown.buttons .button:focus,.ui.tertiary.brown.buttons .tertiary.button:focus{box-shadow:inset 0 -.2em 0 #7d573e;color:#7d573e}.ui.tertiary.brown.active.button,.ui.tertiary.brown.button:active,.ui.tertiary.brown.buttons .active.button,.ui.tertiary.brown.buttons .button:active,.ui.tertiary.brown.buttons .tertiary.active.button,.ui.tertiary.brown.buttons .tertiary.button:active{box-shadow:inset 0 -.2em 0 #ae561d;color:#995a31}.ui.grey.button,.ui.grey.buttons .button{background-color:#767676;color:#fff;text-shadow:none;background-image:none}.ui.grey.button{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{background:0 0;box-shadow:0 0 0 1px #767676 inset;color:#767676}.ui.basic.grey.button:hover,.ui.basic.grey.buttons .button:hover{background:0 0;box-shadow:0 0 0 1px #838383 inset;color:#838383}.ui.basic.grey.button:focus,.ui.basic.grey.buttons .button:focus{background:0 0;box-shadow:0 0 0 1px #8a8a8a inset;color:#838383}.ui.basic.grey.active.button,.ui.basic.grey.buttons .active.button{background:0 0;box-shadow:0 0 0 1px #696969 inset;color:#909090}.ui.basic.grey.button:active,.ui.basic.grey.buttons .button:active{box-shadow:0 0 0 1px #909090 inset;color:#909090}.ui.inverted.grey.button,.ui.inverted.grey.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #d4d4d5 inset;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{box-shadow:none;color:rgba(0,0,0,.6)}.ui.inverted.grey.button:hover,.ui.inverted.grey.buttons .button:hover{background-color:#c2c4c5}.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;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset;color:#fff}.ui.inverted.grey.basic.button:hover,.ui.inverted.grey.basic.buttons .button:hover,.ui.inverted.grey.buttons .basic.button:hover{box-shadow:0 0 0 2px #c2c4c5 inset;color:#fff}.ui.inverted.grey.basic.button:focus,.ui.inverted.grey.basic.buttons .button:focus{box-shadow:0 0 0 2px #c7c9cb inset;color:#dcddde}.ui.inverted.grey.basic.active.button,.ui.inverted.grey.basic.buttons .active.button,.ui.inverted.grey.buttons .basic.active.button{box-shadow:0 0 0 2px #cfd0d2 inset;color:#fff}.ui.inverted.grey.basic.button:active,.ui.inverted.grey.basic.buttons .button:active,.ui.inverted.grey.buttons .basic.button:active{box-shadow:0 0 0 2px #c2c4c5 inset;color:#fff}.ui.tertiary.grey.button,.ui.tertiary.grey.buttons .button,.ui.tertiary.grey.buttons .tertiary.button{background:0 0;box-shadow:none;color:#767676}.ui.tertiary.grey.button:hover,.ui.tertiary.grey.buttons .button:hover,.ui.tertiary.grey.buttons button:hover{box-shadow:inset 0 -.2em 0 #909090;color:#909090}.ui.tertiary.grey.button:focus,.ui.tertiary.grey.buttons .button:focus,.ui.tertiary.grey.buttons .tertiary.button:focus{box-shadow:inset 0 -.2em 0 #9f9f9f;color:#9f9f9f}.ui.tertiary.grey.active.button,.ui.tertiary.grey.button:active,.ui.tertiary.grey.buttons .active.button,.ui.tertiary.grey.buttons .button:active,.ui.tertiary.grey.buttons .tertiary.active.button,.ui.tertiary.grey.buttons .tertiary.button:active{box-shadow:inset 0 -.2em 0 #5d5d5d;color:#696969}.ui.black.button,.ui.black.buttons .button{background-color:#1b1c1d;color:#fff;text-shadow:none;background-image:none}.ui.black.button{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{background:0 0;box-shadow:0 0 0 1px #1b1c1d inset;color:#1b1c1d}.ui.basic.black.button:hover,.ui.basic.black.buttons .button:hover{background:0 0;box-shadow:0 0 0 1px #27292a inset;color:#27292a}.ui.basic.black.button:focus,.ui.basic.black.buttons .button:focus{background:0 0;box-shadow:0 0 0 1px #2f3032 inset;color:#27292a}.ui.basic.black.active.button,.ui.basic.black.buttons .active.button{background:0 0;box-shadow:0 0 0 1px #0f0f10 inset;color:#343637}.ui.basic.black.button:active,.ui.basic.black.buttons .button:active{box-shadow:0 0 0 1px #343637 inset;color:#343637}.ui.inverted.black.button,.ui.inverted.black.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #d4d4d5 inset;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{box-shadow:none;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;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset;color:#fff}.ui.inverted.black.basic.button:hover,.ui.inverted.black.basic.buttons .button:hover,.ui.inverted.black.buttons .basic.button:hover{box-shadow:0 0 0 2px #000 inset;color:#fff}.ui.inverted.black.basic.button:focus,.ui.inverted.black.basic.buttons .button:focus{box-shadow:0 0 0 2px #000 inset;color:#545454}.ui.inverted.black.basic.active.button,.ui.inverted.black.basic.buttons .active.button,.ui.inverted.black.buttons .basic.active.button{box-shadow:0 0 0 2px #000 inset;color:#fff}.ui.inverted.black.basic.button:active,.ui.inverted.black.basic.buttons .button:active,.ui.inverted.black.buttons .basic.button:active{box-shadow:0 0 0 2px #000 inset;color:#fff}.ui.tertiary.black.button,.ui.tertiary.black.buttons .button,.ui.tertiary.black.buttons .tertiary.button{background:0 0;box-shadow:none;color:#1b1c1d}.ui.tertiary.black.button:hover,.ui.tertiary.black.buttons .button:hover,.ui.tertiary.black.buttons button:hover{box-shadow:inset 0 -.2em 0 #8b8f93;color:#8b8f93}.ui.tertiary.black.button:focus,.ui.tertiary.black.buttons .button:focus,.ui.tertiary.black.buttons .tertiary.button:focus{box-shadow:inset 0 -.2em 0 #93969a;color:#93969a}.ui.tertiary.black.active.button,.ui.tertiary.black.button:active,.ui.tertiary.black.buttons .active.button,.ui.tertiary.black.buttons .button:active,.ui.tertiary.black.buttons .tertiary.active.button,.ui.tertiary.black.buttons .tertiary.button:active{box-shadow:inset 0 -.2em 0 #404245;color:#0f0f10}.ui.positive.button,.ui.positive.buttons .button{background-color:#21ba45;color:#fff;text-shadow:none;background-image:none}.ui.positive.button{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{background:0 0;box-shadow:0 0 0 1px #21ba45 inset;color:#21ba45}.ui.basic.positive.button:hover,.ui.basic.positive.buttons .button:hover{background:0 0;box-shadow:0 0 0 1px #16ab39 inset;color:#16ab39}.ui.basic.positive.button:focus,.ui.basic.positive.buttons .button:focus{background:0 0;box-shadow:0 0 0 1px #0ea432 inset;color:#16ab39}.ui.basic.positive.active.button,.ui.basic.positive.buttons .active.button{background:0 0;box-shadow:0 0 0 1px #13ae38 inset;color:#198f35}.ui.basic.positive.button:active,.ui.basic.positive.buttons .button:active{box-shadow:0 0 0 1px #198f35 inset;color:#198f35}.ui.buttons:not(.vertical)>.basic.positive.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{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{background:0 0;box-shadow:0 0 0 1px #db2828 inset;color:#db2828}.ui.basic.negative.button:hover,.ui.basic.negative.buttons .button:hover{background:0 0;box-shadow:0 0 0 1px #d01919 inset;color:#d01919}.ui.basic.negative.button:focus,.ui.basic.negative.buttons .button:focus{background:0 0;box-shadow:0 0 0 1px #ca1010 inset;color:#d01919}.ui.basic.negative.active.button,.ui.basic.negative.buttons .active.button{background:0 0;box-shadow:0 0 0 1px #d41515 inset;color:#b21e1e}.ui.basic.negative.button:active,.ui.basic.negative.buttons .button:active{box-shadow:0 0 0 1px #b21e1e inset;color:#b21e1e}.ui.buttons:not(.vertical)>.basic.negative.button:not(:first-child){margin-left:-1px}.ui.buttons{display:inline-flex;flex-direction:row;font-size:0;vertical-align:baseline;margin:0 .25em 0 0}.ui.buttons:not(.basic):not(.inverted){box-shadow:none}.ui.buttons::after{content:".";display:block;height:0;clear:both;visibility:hidden}.ui.buttons .button{flex:1 0 auto;border-radius:0;margin:0}.ui.buttons:not(.basic):not(.inverted)>.button:not(.basic):not(.inverted){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:inline-flex;flex-direction:column}.ui.vertical.buttons .button{display:block;float:none;width:100%;margin:0;border-radius:0}.ui.vertical.buttons .button:not(.basic){box-shadow:none}.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}.ui.vertical.buttons .basic.button:not(:first-child){border-top:none}.ui.wrapping.buttons{flex-wrap:wrap}.ui.wrapping.basic.buttons{border-bottom:none}.ui.wrapping.basic.buttons .button{border-bottom:1px solid rgba(34,36,38,.15)}.ui.wrapping.basic.buttons .button:hover{background:0 0!important}.ui.compact.wrapping.buttons .button{flex:none}.ui.wrapped.buttons:not(.spaced){border-top-right-radius:0}.ui.wrapped.buttons:not(.spaced) .button:first-child{border-radius:.28571429rem 0 0 0}.ui.wrapped.buttons:not(.spaced) .button:last-child{border-radius:0 0 .28571429rem 0}.ui.wrapped[class*="top attached"].buttons{border-radius:.28571429rem 0 0 0}.ui.wrapped[class*="top attached"].buttons .button:last-child{border-radius:0}.ui.wrapped[class*="bottom attached"].buttons{border-radius:0 0 0 .28571429rem}.ui.wrapped[class*="bottom attached"].buttons .button:first-child{border-radius:0}.ui.spaced.buttons .ui.button{margin-bottom:1em;margin-right:1em;border-radius:.28571429rem}.ui.spaced.basic.buttons{border:none}.ui.spaced.basic.buttons .button{border:1px solid rgba(34,36,38,.15)}.ui.spaced.basic.buttons .button.basic{border:none}.ui.spaced.basic.vertical.buttons .button:first-child{border-top:1px solid rgba(34,36,38,.15)}.ui.spaced.basic.wrapping.buttons .button:not(.basic){border-top:1px solid rgba(34,36,38,.15);border-right:1px solid rgba(34,36,38,.15)}.ui.spaced.basic.wrapping.buttons .button:not(.basic):first-child{border-left:1px solid rgba(34,36,38,.15)}.ui.spaced.basic.inverted.buttons .basic.button{margin-bottom:calc(1em + 1px);margin-top:1px}.ui.basic.buttons:not(.vertical) .basic.button,.ui.basic.buttons:not(.vertical).inverted .button{margin-left:-1px;border-right:none}.ui.basic.buttons:not(.vertical):not(.spaced):not(.inverted) .basic.button{margin-top:-1px;border-bottom:none}.ui.attached.basic.buttons:not(.wrapping):not(.inverted) .basic.button,.ui.inverted.basic.buttons:not(.spaced) .button{margin-bottom:-1px}.ui.basic.buttons:not(.vertical):not(.attached):not(.spaced):not(.wrapping):not(.inverted) .basic.button{margin-bottom:-1px} \ No newline at end of file diff --git a/src/main/resources/kweb/static/plugins/fomantic/components/calendar.css b/src/main/resources/kweb/static/plugins/fomantic/components/calendar.css index 3b50375aec..9687b60392 100644 --- a/src/main/resources/kweb/static/plugins/fomantic/components/calendar.css +++ b/src/main/resources/kweb/static/plugins/fomantic/components/calendar.css @@ -1,10 +1,10 @@ /*! - * # Fomantic-UI - Calendar - * http://github.com/fomantic/Fomantic-UI/ + * # Fomantic-UI 2.9.3 - Calendar + * https://github.com/fomantic/Fomantic-UI/ * * * Released under the MIT license - * http://opensource.org/licenses/MIT + * https://opensource.org/licenses/MIT * */ @@ -13,22 +13,25 @@ Popup *******************************/ -.ui.calendar .ui.popup { +.ui.calendar.popup { max-width: none; padding: 0; border: none; -webkit-user-select: none; - -moz-user-select: none; -ms-user-select: none; user-select: none; } +.ui.calendar.popup.inverted::before { + background: #2b2b2b; +} /******************************* Calendar *******************************/ -.ui.calendar .calendar:focus { +.ui.calendar .calendar:focus, +.ui.calendar.popup:focus { outline: 0; } @@ -37,11 +40,11 @@ Grid *******************************/ -.ui.calendar .ui.popup .ui.grid { +.ui.calendar.popup .ui.grid { display: block; white-space: nowrap; } -.ui.calendar .ui.popup .ui.grid > .column { +.ui.calendar.popup .ui.grid > .column { width: auto; } @@ -72,7 +75,7 @@ .ui.calendar .ui.table tr th { border-left: none; } -.ui.calendar .ui.table tr th .icon { +.ui.calendar .ui.table tr th i.icon { margin: 0; } .ui.calendar .ui.table tr:first-child th { @@ -104,44 +107,200 @@ position: absolute; right: 0; } -.ui.calendar .ui.table tr .disabled { +.ui.ui.calendar .ui.table tr .disabled { pointer-events: auto; cursor: default; color: rgba(40, 40, 40, 0.3); } -.ui.calendar .ui.table tr .adjacent:not(.disabled) { +.ui.calendar .ui.table tr .adjacent:not(.disabled):not(.active) { color: rgba(0, 0, 0, 0.6); background: rgba(0, 0, 0, 0.03); } -/*-------------- +/* -------------- States ----------------*/ - +--------------- */ .ui.calendar .ui.table tr td.today { font-weight: bold; } .ui.calendar .ui.table tr td.range { background: rgba(0, 0, 0, 0.05); color: rgba(0, 0, 0, 0.95); - -webkit-box-shadow: none; - box-shadow: none; + box-shadow: none; +} +.ui.calendar:not(.disabled):focus .ui.table tbody tr td.focus, +.ui.calendar:not(.disabled).popup.active .ui.table tbody tr td.focus { + box-shadow: inset 0 0 0 1px #85b7d9; } -.ui.calendar .ui.table.inverted tr td.range { +.ui.inverted.calendar .ui.table.inverted tr td.range { background: rgba(255, 255, 255, 0.08); color: #ffffff; - -webkit-box-shadow: none; - box-shadow: none; + box-shadow: none; +} +.ui.inverted.calendar:not(.disabled) .calendar:focus .ui.table.inverted tbody tr td.focus, +.ui.inverted.calendar:not(.disabled).popup.active .ui.table.inverted tbody tr td.focus { + box-shadow: inset 0 0 0 1px #85b7d9; +} +.ui.inverted.calendar .ui.ui.ui.inverted.table tr .disabled { + color: rgba(225, 225, 225, 0.3); +} +.ui.inverted.calendar .ui.inverted.table tr .adjacent:not(.disabled):not(.active) { + color: rgba(255, 255, 255, 0.8); + background: rgba(255, 255, 255, 0.02); +} +.ui.ui.ui.calendar.popup > .ui.ui.grid { + margin: -1rem; +} +.ui.ui.ui.calendar.popup > .ui.ui.grid > .column:not(:first-child) { + padding-left: 0; +} +.ui.ui.ui.calendar.popup > .ui.ui.grid > .column:not(:first-child) > .ui.table { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.ui.ui.ui.calendar.popup > .ui.ui.grid > .column:not(:last-child) { + padding-right: 0; +} +.ui.ui.ui.calendar.popup > .ui.ui.grid > .column:not(:last-child) > .ui.table { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +/* -------------------- + Sizes +--------------------- */ +.ui.mini.calendar, +.ui.mini.calendar .ui.table tr th, +.ui.mini.calendar .ui.table tr td { + font-size: 0.78571429rem; +} +.ui.mini.calendar .ui.table.year, +.ui.mini.calendar .ui.table.month, +.ui.mini.calendar .ui.table.minute { + min-width: 11.78571429em; +} +.ui.mini.calendar .ui.table.day { + min-width: 14.14285714em; +} +.ui.mini.calendar .ui.table.day.andweek { + min-width: 17.28571429em; +} +.ui.mini.calendar .ui.table.hour { + min-width: 15.71428571em; +} +.ui.tiny.calendar, +.ui.tiny.calendar .ui.table tr th, +.ui.tiny.calendar .ui.table tr td { + font-size: 0.85714286rem; +} +.ui.tiny.calendar .ui.table.year, +.ui.tiny.calendar .ui.table.month, +.ui.tiny.calendar .ui.table.minute { + min-width: 12.85714286em; +} +.ui.tiny.calendar .ui.table.day { + min-width: 15.42857143em; +} +.ui.tiny.calendar .ui.table.day.andweek { + min-width: 18.85714286em; +} +.ui.tiny.calendar .ui.table.hour { + min-width: 17.14285714em; } -.ui.calendar:not(.disabled) .calendar:focus .ui.table tbody tr td.focus, -.ui.calendar:not(.disabled) .calendar.active .ui.table tbody tr td.focus { - -webkit-box-shadow: inset 0 0 0 1px #85B7D9; - box-shadow: inset 0 0 0 1px #85B7D9; +.ui.small.calendar, +.ui.small.calendar .ui.table tr th, +.ui.small.calendar .ui.table tr td { + font-size: 0.92857143rem; } -.ui.calendar:not(.disabled) .calendar:focus .ui.table.inverted tbody tr td.focus, -.ui.calendar:not(.disabled) .calendar.active .ui.table.inverted tbody tr td.focus { - -webkit-box-shadow: inset 0 0 0 1px #85B7D9; - box-shadow: inset 0 0 0 1px #85B7D9; +.ui.small.calendar .ui.table.year, +.ui.small.calendar .ui.table.month, +.ui.small.calendar .ui.table.minute { + min-width: 13.92857143em; +} +.ui.small.calendar .ui.table.day { + min-width: 16.71428571em; +} +.ui.small.calendar .ui.table.day.andweek { + min-width: 20.42857143em; +} +.ui.small.calendar .ui.table.hour { + min-width: 18.57142857em; +} +.ui.large.calendar, +.ui.large.calendar .ui.table tr th, +.ui.large.calendar .ui.table tr td { + font-size: 1.14285714rem; +} +.ui.large.calendar .ui.table.year, +.ui.large.calendar .ui.table.month, +.ui.large.calendar .ui.table.minute { + min-width: 17.14285714em; +} +.ui.large.calendar .ui.table.day { + min-width: 20.57142857em; +} +.ui.large.calendar .ui.table.day.andweek { + min-width: 25.14285714em; +} +.ui.large.calendar .ui.table.hour { + min-width: 22.85714286em; +} +.ui.big.calendar, +.ui.big.calendar .ui.table tr th, +.ui.big.calendar .ui.table tr td { + font-size: 1.28571429rem; +} +.ui.big.calendar .ui.table.year, +.ui.big.calendar .ui.table.month, +.ui.big.calendar .ui.table.minute { + min-width: 19.28571429em; +} +.ui.big.calendar .ui.table.day { + min-width: 23.14285714em; +} +.ui.big.calendar .ui.table.day.andweek { + min-width: 28.28571429em; +} +.ui.big.calendar .ui.table.hour { + min-width: 25.71428571em; +} +.ui.huge.calendar, +.ui.huge.calendar .ui.table tr th, +.ui.huge.calendar .ui.table tr td { + font-size: 1.42857143rem; +} +.ui.huge.calendar .ui.table.year, +.ui.huge.calendar .ui.table.month, +.ui.huge.calendar .ui.table.minute { + min-width: 21.42857143em; +} +.ui.huge.calendar .ui.table.day { + min-width: 25.71428571em; +} +.ui.huge.calendar .ui.table.day.andweek { + min-width: 31.42857143em; +} +.ui.huge.calendar .ui.table.hour { + min-width: 28.57142857em; +} +.ui.massive.calendar, +.ui.massive.calendar .ui.table tr th, +.ui.massive.calendar .ui.table tr td { + font-size: 1.71428571rem; +} +.ui.massive.calendar .ui.table.year, +.ui.massive.calendar .ui.table.month, +.ui.massive.calendar .ui.table.minute { + min-width: 25.71428571em; +} +.ui.massive.calendar .ui.table.day { + min-width: 30.85714286em; +} +.ui.massive.calendar .ui.table.day.andweek { + min-width: 37.71428571em; +} +.ui.massive.calendar .ui.table.hour { + min-width: 34.28571429em; } @@ -150,10 +309,9 @@ *******************************/ -/*-------------------- - Disabled - ---------------------*/ - +/* -------------------- + Disabled + --------------------- */ .ui.disabled.calendar { opacity: 0.45; } diff --git a/src/main/resources/kweb/static/plugins/fomantic/components/calendar.js b/src/main/resources/kweb/static/plugins/fomantic/components/calendar.js index 7cb9377ee0..fbcf783956 100644 --- a/src/main/resources/kweb/static/plugins/fomantic/components/calendar.js +++ b/src/main/resources/kweb/static/plugins/fomantic/components/calendar.js @@ -1,1648 +1,2010 @@ /*! - * # Fomantic-UI - Calendar - * http://github.com/fomantic/Fomantic-UI/ + * # Fomantic-UI 2.9.3 - Calendar + * https://github.com/fomantic/Fomantic-UI/ * * * Released under the MIT license - * http://opensource.org/licenses/MIT + * https://opensource.org/licenses/MIT * */ -;(function ($, window, document, undefined) { +(function ($, window, document) { + 'use strict'; -'use strict'; + function isFunction(obj) { + return typeof obj === 'function' && typeof obj.nodeType !== 'number'; + } -$.isFunction = $.isFunction || function(obj) { - return typeof obj === "function" && typeof obj.nodeType !== "number"; -}; + window = window !== undefined && window.Math === Math + ? window + : globalThis; + + $.fn.calendar = function (parameters) { + var + $allModules = $(this), + $document = $(document), + + time = Date.now(), + performance = [], + + query = arguments[0], + methodInvoked = typeof query === 'string', + queryArguments = [].slice.call(arguments, 1), + returnedValue, + timeGapTable = { + 5: { row: 4, column: 3 }, + 10: { row: 3, column: 2 }, + 15: { row: 2, column: 2 }, + 20: { row: 3, column: 1 }, + 30: { row: 2, column: 1 }, + }, + numberText = ['', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight'] + ; + + $allModules.each(function () { + var + settings = $.isPlainObject(parameters) + ? $.extend(true, {}, $.fn.calendar.settings, parameters) + : $.extend({}, $.fn.calendar.settings), + + className = settings.className, + namespace = settings.namespace, + selector = settings.selector, + formatter = settings.formatter, + parser = settings.parser, + metadata = settings.metadata, + timeGap = timeGapTable[settings.minTimeGap], + error = settings.error, + + eventNamespace = '.' + namespace, + moduleNamespace = 'module-' + namespace, + + $module = $(this), + $input = $module.find(selector.input), + $activator = $module.find(selector.activator), + + element = this, + instance = $module.data(moduleNamespace), + $container = instance && instance.popupId ? $document.find('#' + instance.popupId) : $module.find(selector.popup), + + isTouch, + isTouchDown = false, + isInverted = $module.hasClass(className.inverted), + focusDateUsedForRange = false, + selectionComplete = false, + classObserver, + module + ; -window = (typeof window != 'undefined' && window.Math == Math) - ? window - : (typeof self != 'undefined' && self.Math == Math) - ? self - : Function('return this')() -; + module = { + + initialize: function () { + module.debug('Initializing calendar for', element, $module); + + isTouch = module.get.isTouch(); + module.setup.config(); + module.setup.popup(); + module.setup.inline(); + module.setup.input(); + module.setup.date(); + module.create.calendar(); + + module.bind.events(); + module.observeChanges(); + module.instantiate(); + }, + + instantiate: function () { + module.verbose('Storing instance of calendar'); + instance = module; + $module.data(moduleNamespace, instance); + }, + + destroy: function () { + module.verbose('Destroying previous calendar for', element); + $module.removeData(moduleNamespace); + module.unbind.events(); + module.disconnect.classObserver(); + }, + + setup: { + config: function () { + if (module.get.minDate() !== null) { + module.set.minDate($module.data(metadata.minDate)); + } + if (module.get.maxDate() !== null) { + module.set.maxDate($module.data(metadata.maxDate)); + } + module.setting('type', module.get.type()); + module.setting('on', settings.on || 'click'); + }, + popup: function () { + if (settings.inline) { + return; + } + if ($activator.length === 0) { + $activator = $module.children().first(); + if ($activator.length === 0) { + return; + } + } + if ($.fn.popup === undefined) { + module.error(error.popup); + + return; + } + if ($container.length === 0) { + if (settings.context) { + module.popupId = namespace + '_popup_' + (Math.random().toString(16) + '000000000').slice(2, 10); + $container = $('
', { id: module.popupId }).addClass(className.popup).appendTo($document.find(settings.context)); + } else { + // prepend the popup element to the activator's parent so that it has less chance of messing with + // the styling (eg input action button needs to be the last child to have correct border radius) + var + $activatorParent = $activator.parent(), + domPositionFunction = $activatorParent.closest(selector.append).length > 0 ? 'appendTo' : 'prependTo' + ; + $container = $('
').addClass(className.popup)[domPositionFunction]($activatorParent); + } + } + $container.addClass(className.calendar); + if (isInverted) { + $container.addClass(className.inverted); + } + var onVisible = function () { + module.refreshTooltips(); + + return settings.onVisible.apply($container, arguments); + }; + var onHidden = function () { + module.blur(); + + return settings.onHidden.apply($container, arguments); + }; + if ($input.length === 0) { + // no input, $container has to handle focus/blur + $container.attr('tabindex', '0'); + onVisible = function () { + module.refreshTooltips(); + module.focus(); + + return settings.onVisible.apply($container, arguments); + }; + } + var onShow = function () { + // reset the focus date onShow + module.set.focusDate(module.get.date()); + module.set.mode(module.get.validatedMode(settings.startMode)); + + return settings.onShow.apply($container, arguments); + }; + var on = module.setting('on'); + var options = $.extend({}, settings.popupOptions, { + popup: $container, + movePopup: !settings.context, + on: on, + hoverable: on === 'hover', + closable: on === 'click', + onShow: onShow, + onVisible: onVisible, + onHide: settings.onHide, + onHidden: onHidden, + }); + module.popup(options); + }, + inline: function () { + if ($activator.length > 0 && !settings.inline) { + return; + } + settings.inline = true; + $container = $('
').addClass(className.calendar).appendTo($module); + if ($input.length === 0) { + $container.attr('tabindex', '0'); + } + }, + input: function () { + if (settings.touchReadonly && $input.length > 0 && isTouch) { + $input.prop('readonly', true); + } + module.check.disabled(); + }, + date: function () { + var date; + if (settings.initialDate) { + date = parser.date(settings.initialDate, settings); + } else if ($module.data(metadata.date) !== undefined) { + date = parser.date($module.data(metadata.date), settings); + } else if ($input.length > 0) { + date = parser.date($input.val(), settings); + } + module.set.date(date, settings.formatInput, false); + module.set.mode(module.get.mode(), false); + }, + }, + + trigger: { + change: function () { + var + inputElement = $input[0] + ; + if (inputElement) { + var events = document.createEvent('HTMLEvents'); + module.verbose('Triggering native change event'); + events.initEvent('change', true, false); + inputElement.dispatchEvent(events); + } + }, + }, + + create: { + calendar: function () { + var + i, + r, + c, + p, + row, + cell, + pageGrid + ; + + var + mode = module.get.mode(), + today = new Date(), + date = module.get.date(), + focusDate = module.get.focusDate(), + display = module.helper.dateInRange(focusDate || date || parser.date(settings.initialDate, settings) || today) + ; + + if (!focusDate) { + focusDate = display; + module.set.focusDate(focusDate, false, false); + } + + var + isYear = mode === 'year', + isMonth = mode === 'month', + isDay = mode === 'day', + isHour = mode === 'hour', + isMinute = mode === 'minute', + isTimeOnly = settings.type === 'time' + ; + + var multiMonth = Math.max(settings.multiMonth, 1); + var monthOffset = !isDay ? 0 : module.get.monthOffset(); + + var + minute = display.getMinutes(), + hour = display.getHours(), + day = display.getDate(), + startMonth = display.getMonth() + monthOffset, + year = display.getFullYear() + ; + + var columns = isDay + ? (settings.showWeekNumbers ? 8 : 7) + : (isHour ? 4 : timeGap.column); + var rows = isDay || isHour ? 6 : timeGap.row; + var pages = isDay ? multiMonth : 1; + + var container = $container; + var tooltipPosition = container.hasClass('left') ? 'right center' : 'left center'; + container.empty(); + if (pages > 1) { + pageGrid = $('
').addClass(className.grid).appendTo(container); + } + + for (p = 0; p < pages; p++) { + if (pages > 1) { + var pageColumn = $('
').addClass(className.column).appendTo(pageGrid); + container = pageColumn; + } + + var month = startMonth + p; + var firstMonthDayColumn = (new Date(year, month, 1).getDay() - (settings.firstDayOfWeek % 7) + 7) % 7; + if (!settings.constantHeight && isDay) { + var requiredCells = new Date(year, month + 1, 0).getDate() + firstMonthDayColumn; + rows = Math.ceil(requiredCells / 7); + } + + var + yearChange = isYear ? 10 : (isMonth ? 1 : 0), + monthChange = isDay ? 1 : 0, + dayChange = isHour || isMinute ? 1 : 0, + prevNextDay = isHour || isMinute ? day : 1, + prevDate = new Date(year - yearChange, month - monthChange, prevNextDay - dayChange, hour), + nextDate = new Date(year + yearChange, month + monthChange, prevNextDay + dayChange, hour), + prevLast = isYear + ? new Date(Math.ceil(year / 10) * 10 - 9, 0, 0) + : (isMonth + ? new Date(year, 0, 0) + : (isDay // eslint-disable-line unicorn/no-nested-ternary + ? new Date(year, month, 0) + : new Date(year, month, day, -1))), + nextFirst = isYear + ? new Date(Math.ceil(year / 10) * 10 + 1, 0, 1) + : (isMonth + ? new Date(year + 1, 0, 1) + : (isDay // eslint-disable-line unicorn/no-nested-ternary + ? new Date(year, month + 1, 1) + : new Date(year, month, day + 1))) + ; + + var tempMode = mode; + if (isDay && settings.showWeekNumbers) { + tempMode += ' andweek'; + } + var table = $('').addClass(className.table).addClass(tempMode).addClass(numberText[columns] + ' column') + .appendTo(container); + if (isInverted) { + table.addClass(className.inverted); + } + var textColumns = columns; + // no header for time-only mode + if (!isTimeOnly) { + var thead = $('').appendTo(table); + + row = $('').appendTo(thead); + cell = $('').appendTo(thead); + if (settings.showWeekNumbers) { + cell = $('').appendTo(table); + i = isYear + ? Math.ceil(year / 10) * 10 - 9 + : (isDay ? 1 - firstMonthDayColumn : 0); + for (r = 0; r < rows; r++) { + row = $('').appendTo(tbody); + if (isDay && settings.showWeekNumbers) { + cell = $('').appendTo(tbody); + var todayButton = $('
').attr('colspan', '' + columns).appendTo(row); + + var headerDate = isYear || isMonth + ? new Date(year, 0, 1) + : (isDay + ? new Date(year, month, 1) + : new Date(year, month, day, hour, minute)); + var headerText = $('').addClass(className.link).appendTo(cell); + headerText.text(module.helper.dateFormat(formatter[mode + 'Header'], headerDate)); + var newMode = isMonth + ? (settings.disableYear ? 'day' : 'year') + : (isDay + ? (settings.disableMonth ? 'year' : 'month') // eslint-disable-line unicorn/no-nested-ternary + : 'day'); + headerText.data(metadata.mode, newMode); + + if (p === 0) { + var prev = $('').addClass(className.prev).appendTo(cell); + prev.data(metadata.focusDate, prevDate); + prev.toggleClass(className.disabledCell, !module.helper.isDateInRange(prevLast, mode)); + $('').addClass(className.prevIcon).appendTo(prev); + } + + if (p === pages - 1) { + var next = $('').addClass(className.next).appendTo(cell); + next.data(metadata.focusDate, nextDate); + next.toggleClass(className.disabledCell, !module.helper.isDateInRange(nextFirst, mode)); + $('').addClass(className.nextIcon).appendTo(next); + } + if (isDay) { + row = $('
').appendTo(row); + cell.text(settings.text.weekNo); + cell.addClass(className.weekCell); + textColumns--; + } + for (i = 0; i < textColumns; i++) { + cell = $('').appendTo(row); + cell.text(formatter.dayColumnHeader((i + settings.firstDayOfWeek) % 7, settings)); + } + } + } + + var tbody = $('
').appendTo(row); + cell.text(module.get.weekOfYear(year, month, i + 1 - settings.firstDayOfWeek)); + cell.addClass(className.weekCell); + } + for (c = 0; c < textColumns; c++, i++) { + var cellDate = isYear + ? new Date(i, month, 1, hour, minute) + : (isMonth + ? new Date(year, i, 1, hour, minute) + : (isDay // eslint-disable-line unicorn/no-nested-ternary + ? new Date(year, month, i, hour, minute) + : (isHour + ? new Date(year, month, day, i) + : new Date(year, month, day, hour, i * settings.minTimeGap)))); + var cellText = isYear + ? i + : (isMonth + ? settings.text.monthsShort[i] + : (isDay // eslint-disable-line unicorn/no-nested-ternary + ? cellDate.getDate() + : module.helper.dateFormat(formatter.cellTime, cellDate))); + cell = $('').addClass(className.cell).appendTo(row); + cell.text(cellText); + cell.data(metadata.date, cellDate); + var adjacent = isDay && cellDate.getMonth() !== ((month + 12) % 12); + var disabled = (!settings.selectAdjacentDays && adjacent) || !module.helper.isDateInRange(cellDate, mode) || settings.isDisabled(cellDate, mode) || module.helper.isDisabled(cellDate, mode) || !module.helper.isEnabled(cellDate, mode); + var eventDate; + if (disabled) { + var disabledDate = module.helper.findDayAsObject(cellDate, mode, settings.disabledDates); + if (disabledDate !== null && disabledDate[metadata.message]) { + cell.attr('data-tooltip', disabledDate[metadata.message]); + cell.attr('data-position', disabledDate[metadata.position] || tooltipPosition); + if (disabledDate[metadata.inverted] || (isInverted && disabledDate[metadata.inverted] === undefined)) { + cell.attr('data-inverted', ''); + } + if (disabledDate[metadata.variation]) { + cell.attr('data-variation', disabledDate[metadata.variation]); + } + } + if (mode === 'hour') { + var disabledHour = module.helper.findHourAsObject(cellDate, mode, settings.disabledHours); + if (disabledHour !== null && disabledHour[metadata.message]) { + cell.attr('data-tooltip', disabledHour[metadata.message]); + cell.attr('data-position', disabledHour[metadata.position] || tooltipPosition); + if (disabledHour[metadata.inverted] || (isInverted && disabledHour[metadata.inverted] === undefined)) { + cell.attr('data-inverted', ''); + } + if (disabledHour[metadata.variation]) { + cell.attr('data-variation', disabledHour[metadata.variation]); + } + } + } + } else { + eventDate = module.helper.findDayAsObject(cellDate, mode, settings.eventDates); + if (eventDate !== null) { + cell.addClass(eventDate[metadata.class] || settings.eventClass); + if (eventDate[metadata.message]) { + cell.attr('data-tooltip', eventDate[metadata.message]); + cell.attr('data-position', eventDate[metadata.position] || tooltipPosition); + if (eventDate[metadata.inverted] || (isInverted && eventDate[metadata.inverted] === undefined)) { + cell.attr('data-inverted', ''); + } + if (eventDate[metadata.variation]) { + cell.attr('data-variation', eventDate[metadata.variation]); + } + } + } + } + var active = module.helper.dateEqual(cellDate, date, mode); + var isToday = module.helper.dateEqual(cellDate, today, mode); + cell.toggleClass(className.adjacentCell, adjacent && !eventDate); + cell.toggleClass(className.disabledCell, disabled); + cell.toggleClass(className.activeCell, active && !(adjacent && disabled)); + if (!isHour && !isMinute) { + cell.toggleClass(className.todayCell, !adjacent && isToday); + } + + // Allow for external modifications of each cell + var cellOptions = { + mode: mode, + adjacent: adjacent, + disabled: disabled, + active: active, + today: isToday, + }; + formatter.cell(cell, cellDate, cellOptions); + + if (module.helper.dateEqual(cellDate, focusDate, mode)) { + // ensure that the focus date is exactly equal to the cell date + // so that, if selected, the correct value is set + module.set.focusDate(cellDate, false, false); + } + } + } + + if (settings.today) { + var todayRow = $('
').attr('colspan', '' + columns).addClass(className.today).appendTo(todayRow); + todayButton.text(formatter.today(settings)); + todayButton.data(metadata.date, today); + } + + module.update.focus(false, table); + + if (settings.inline) { + module.refreshTooltips(); + } + } + }, + }, + + update: { + focus: function (updateRange, container) { + container = container || $container; + var mode = module.get.mode(); + var date = module.get.date(); + var focusDate = module.get.focusDate(); + var startDate = module.get.startDate(); + var endDate = module.get.endDate(); + var rangeDate = (updateRange ? focusDate : null) || date || (!isTouch ? focusDate : null); + + container.find('td').each(function () { + var $cell = $(this); + var cellDate = $cell.data(metadata.date); + if (!cellDate) { + return; + } + var disabled = $cell.hasClass(className.disabledCell); + var active = $cell.hasClass(className.activeCell); + var adjacent = $cell.hasClass(className.adjacentCell); + var focused = module.helper.dateEqual(cellDate, focusDate, mode); + var inRange = !rangeDate + ? false + : (!!startDate && module.helper.isDateInRange(cellDate, mode, startDate, rangeDate)) + || (!!endDate && module.helper.isDateInRange(cellDate, mode, rangeDate, endDate)); + $cell.toggleClass(className.focusCell, focused && (!isTouch || isTouchDown) && (!adjacent || (settings.selectAdjacentDays && adjacent)) && !disabled); + + if (module.helper.isTodayButton($cell)) { + return; + } + $cell.toggleClass(className.rangeCell, inRange && !active && !disabled); + }); + }, + }, + + refresh: function () { + module.create.calendar(); + }, + + refreshTooltips: function () { + var winWidth = $(window).width(); + $container.find('td[data-position]').each(function () { + var $cell = $(this); + var tooltipWidth = window.getComputedStyle($cell[0], '::after').width.replace(/[^\d.]/g, ''); + var tooltipPosition = $cell.attr('data-position'); + // use a fallback width of 250 (calendar width) for IE/Edge (which return "auto") + var calcPosition = (winWidth - $cell.width() - (parseInt(tooltipWidth, 10) || 250)) > $cell.offset().left ? 'right' : 'left'; + if (tooltipPosition.indexOf(calcPosition) === -1) { + $cell.attr('data-position', tooltipPosition.replace(/(left|right)/, calcPosition)); + } + }); + }, + + bind: { + events: function () { + module.debug('Binding events'); + $container.on('mousedown' + eventNamespace, module.event.mousedown); + $container.on('touchstart' + eventNamespace, module.event.mousedown); + $container.on('mouseup' + eventNamespace, module.event.mouseup); + $container.on('touchend' + eventNamespace, module.event.mouseup); + $container.on('mouseover' + eventNamespace, module.event.mouseover); + if ($input.length > 0) { + $input.on('input' + eventNamespace, module.event.inputChange); + $input.on('focus' + eventNamespace, module.event.inputFocus); + $input.on('blur' + eventNamespace, module.event.inputBlur); + $input.on('keydown' + eventNamespace, module.event.keydown); + } else { + $container.on('keydown' + eventNamespace, module.event.keydown); + } + }, + }, + + unbind: { + events: function () { + module.debug('Unbinding events'); + $container.off(eventNamespace); + if ($input.length > 0) { + $input.off(eventNamespace); + } + }, + }, + + event: { + mouseover: function (event) { + var target = $(event.target); + var date = target.data(metadata.date); + var mousedown = event.buttons === 1; + if (date) { + module.set.focusDate(date, false, true, mousedown); + } + }, + mousedown: function (event) { + if ($input.length > 0) { + // prevent the mousedown on the calendar causing the input to lose focus + event.preventDefault(); + } + isTouchDown = event.type.indexOf('touch') >= 0; + var target = $(event.target); + var date = target.data(metadata.date); + if (date) { + module.set.focusDate(date, false, true, true); + } + }, + mouseup: function (event) { + // ensure input has focus so that it receives keydown events for calendar navigation + module.focus(); + event.preventDefault(); + event.stopPropagation(); + isTouchDown = false; + var target = $(event.target); + if (target.hasClass('disabled')) { + return; + } + var parent = target.parent(); + if (parent.data(metadata.date) || parent.data(metadata.focusDate) || parent.data(metadata.mode)) { + // clicked on a child element, switch to parent (used when clicking directly on prev/next icon element) + target = parent; + } + var date = target.data(metadata.date); + var focusDate = target.data(metadata.focusDate); + var mode = target.data(metadata.mode); + if (date && settings.onSelect.call(element, date, module.get.mode()) !== false) { + var forceSet = target.hasClass(className.today); + module.selectDate(date, forceSet); + } else if (focusDate) { + module.set.focusDate(focusDate); + } else if (mode) { + module.set.mode(mode); + } + }, + keydown: function (event) { + var keyCode = event.which; + if (keyCode === 9) { + // tab + module.popup('hide'); + } + + if (module.popup('is visible')) { + var mode = module.get.mode(); + switch (keyCode) { + // arrow keys + case 37: + case 38: + case 39: + case 40: { + var bigIncrement = mode === 'day' + ? 7 + : (mode === 'hour' + ? 4 + : (mode === 'minute' ? timeGap.column : 3)); // eslint-disable-line unicorn/no-nested-ternary + var increment = keyCode === 37 + ? -1 + : (keyCode === 38 + ? -bigIncrement + : (keyCode === 39 ? 1 : bigIncrement)); // eslint-disable-line unicorn/no-nested-ternary + increment *= mode === 'minute' ? settings.minTimeGap : 1; + var focusDate = module.get.focusDate() || module.get.date() || new Date(); + var year = focusDate.getFullYear() + (mode === 'year' ? increment : 0); + var month = focusDate.getMonth() + (mode === 'month' ? increment : 0); + var day = focusDate.getDate() + (mode === 'day' ? increment : 0); + var hour = focusDate.getHours() + (mode === 'hour' ? increment : 0); + var minute = focusDate.getMinutes() + (mode === 'minute' ? increment : 0); + var newFocusDate = new Date(year, month, day, hour, minute); + if (settings.type === 'time') { + newFocusDate = module.helper.mergeDateTime(focusDate, newFocusDate); + } + if (module.helper.isDateInRange(newFocusDate, mode)) { + module.set.focusDate(newFocusDate); + } + + break; + } + // enter key + case 13: { + var date = module.get.focusDate(); + if (date && !settings.isDisabled(date, mode) && !module.helper.isDisabled(date, mode) && module.helper.isEnabled(date, mode)) { + if (settings.onSelect.call(element, date, module.get.mode()) !== false) { + module.selectDate(date); + } + } + // disable form submission: + event.preventDefault(); + event.stopPropagation(); + + break; + } + // escape key + case 27: { + module.popup('hide'); + event.stopPropagation(); + + break; + } + } + } + + if (keyCode === 38 || keyCode === 40) { + // arrow-up || arrow-down + event.preventDefault(); // don't scroll + module.popup('show'); + } + }, + inputChange: function () { + var val = $input.val(); + var date = parser.date(val, settings); + module.set.date(date, false); + }, + inputFocus: function () { + $container.addClass(className.active); + }, + inputBlur: function () { + $container.removeClass(className.active); + if (settings.formatInput) { + var date = module.get.date(); + var text = module.helper.dateFormat(formatter[settings.type], date); + $input.val(text); + } + if (selectionComplete) { + module.trigger.change(); + selectionComplete = false; + } + }, + class: { + mutation: function (mutations) { + mutations.forEach(function (mutation) { + if (mutation.attributeName === 'class') { + module.check.disabled(); + } + }); + }, + }, + }, + + observeChanges: function () { + if ('MutationObserver' in window) { + classObserver = new MutationObserver(module.event.class.mutation); + module.debug('Setting up mutation observer', classObserver); + module.observe.class(); + } + }, + + disconnect: { + classObserver: function () { + if ($input.length > 0 && classObserver) { + classObserver.disconnect(); + } + }, + }, + + observe: { + class: function () { + if ($input.length > 0 && classObserver) { + classObserver.observe($module[0], { + attributes: true, + }); + } + }, + }, + + is: { + disabled: function () { + return $module.hasClass(className.disabled); + }, + }, + + check: { + disabled: function () { + $input.attr('tabindex', module.is.disabled() ? -1 : 0); + }, + }, + + get: { + weekOfYear: function (weekYear, weekMonth, weekDay) { + // adapted from http://www.merlyn.demon.co.uk/weekcalc.htm + var ms1d = 24 * 3600 * 1000, + ms7d = 7 * ms1d, + DC3 = Date.UTC(weekYear, weekMonth, weekDay + 3) / ms1d, // an absolute day number + AWN = Math.floor(DC3 / 7), // an absolute week number + Wyr = new Date(AWN * ms7d).getUTCFullYear() + ; + + return AWN - Math.floor(Date.UTC(Wyr, 0, 7) / ms7d) + 1; + }, + formattedDate: function (format, date) { + return module.helper.dateFormat(format || formatter[settings.type], date || module.get.date()); + }, + date: function () { + return module.helper.sanitiseDate($module.data(metadata.date)) || null; + }, + inputDate: function () { + return $input.val(); + }, + focusDate: function () { + return $module.data(metadata.focusDate) || null; + }, + startDate: function () { + var startModule = module.get.calendarModule(settings.startCalendar); + + return (startModule ? startModule.get.date() : $module.data(metadata.startDate)) || null; + }, + endDate: function () { + var endModule = module.get.calendarModule(settings.endCalendar); + + return (endModule ? endModule.get.date() : $module.data(metadata.endDate)) || null; + }, + minDate: function () { + return $module.data(metadata.minDate) || null; + }, + maxDate: function () { + return $module.data(metadata.maxDate) || null; + }, + monthOffset: function () { + return $module.data(metadata.monthOffset) || settings.monthOffset || 0; + }, + mode: function () { + // only returns valid modes for the current settings + var mode = $module.data(metadata.mode) || settings.startMode; + + return module.get.validatedMode(mode); + }, + validatedMode: function (mode) { + var validModes = module.get.validModes(); + if ($.inArray(mode, validModes) >= 0) { + return mode; + } + + return settings.type === 'time' + ? 'hour' + : (settings.type === 'month' + ? 'month' + : (settings.type === 'year' ? 'year' : 'day')); // eslint-disable-line unicorn/no-nested-ternary + }, + type: function () { + return $module.data(metadata.type) || settings.type; + }, + validModes: function () { + var validModes = []; + if (settings.type !== 'time') { + if (!settings.disableYear || settings.type === 'year') { + validModes.push('year'); + } + if (!(settings.disableMonth || settings.type === 'year') || settings.type === 'month') { + validModes.push('month'); + } + if (settings.type.indexOf('date') >= 0) { + validModes.push('day'); + } + } + if (settings.type.indexOf('time') >= 0) { + validModes.push('hour'); + if (!settings.disableMinute) { + validModes.push('minute'); + } + } + + return validModes; + }, + isTouch: function () { + try { + document.createEvent('TouchEvent'); + + return true; + } catch (e) { + return false; + } + }, + calendarModule: function (selector) { + if (!selector) { + return null; + } + if (!(selector instanceof $)) { + selector = $document.find(selector).first(); + } + + // assume range related calendars are using the same namespace + return selector.data(moduleNamespace); + }, + }, + + set: { + date: function (date, updateInput, fireChange) { + updateInput = updateInput !== false; + fireChange = fireChange !== false; + date = module.helper.sanitiseDate(date); + date = module.helper.dateInRange(date); + + var mode = module.get.mode(); + var text = module.helper.dateFormat(formatter[settings.type], date); + + if (fireChange && settings.onBeforeChange.call(element, date, text, mode) === false) { + return false; + } + + module.set.focusDate(date); + + if (settings.isDisabled(date, mode)) { + return false; + } + + var endDate = module.get.endDate(); + if (!!endDate && !!date && date > endDate) { + // selected date is greater than end date in range, so clear end date + module.set.endDate(); + } + module.set.dataKeyValue(metadata.date, date); + + if (updateInput && $input.length > 0) { + $input.val(text); + } + + if (fireChange) { + settings.onChange.call(element, date, text, mode); + } + }, + startDate: function (date, refreshCalendar) { + date = module.helper.sanitiseDate(date); + var startModule = module.get.calendarModule(settings.startCalendar); + if (startModule) { + startModule.set.date(date); + } + module.set.dataKeyValue(metadata.startDate, date, refreshCalendar); + }, + endDate: function (date, refreshCalendar) { + date = module.helper.sanitiseDate(date); + var endModule = module.get.calendarModule(settings.endCalendar); + if (endModule) { + endModule.set.date(date); + } + module.set.dataKeyValue(metadata.endDate, date, refreshCalendar); + }, + focusDate: function (date, refreshCalendar, updateFocus, updateRange) { + date = module.helper.sanitiseDate(date); + date = module.helper.dateInRange(date); + var isDay = module.get.mode() === 'day'; + var oldFocusDate = module.get.focusDate(); + if (isDay && date && oldFocusDate) { + var yearDelta = date.getFullYear() - oldFocusDate.getFullYear(); + var monthDelta = yearDelta * 12 + date.getMonth() - oldFocusDate.getMonth(); + if (monthDelta) { + var monthOffset = module.get.monthOffset() - monthDelta; + module.set.monthOffset(monthOffset, false); + } + } + var changed = module.set.dataKeyValue(metadata.focusDate, date, !!date && refreshCalendar); + updateFocus = (updateFocus !== false && changed && refreshCalendar === false) || focusDateUsedForRange != updateRange; + focusDateUsedForRange = updateRange; + if (updateFocus) { + module.update.focus(updateRange); + } + }, + minDate: function (date) { + date = module.helper.sanitiseDate(date); + if (settings.maxDate !== null && settings.maxDate <= date) { + module.verbose('Unable to set minDate variable bigger that maxDate variable', date, settings.maxDate); + } else { + module.setting('minDate', date); + module.set.dataKeyValue(metadata.minDate, date); + } + }, + maxDate: function (date) { + date = module.helper.sanitiseDate(date); + if (settings.minDate !== null && settings.minDate >= date) { + module.verbose('Unable to set maxDate variable lower that minDate variable', date, settings.minDate); + } else { + module.setting('maxDate', date); + module.set.dataKeyValue(metadata.maxDate, date); + } + }, + monthOffset: function (monthOffset, refreshCalendar) { + var multiMonth = Math.max(settings.multiMonth, 1); + monthOffset = Math.max(1 - multiMonth, Math.min(0, monthOffset)); + module.set.dataKeyValue(metadata.monthOffset, monthOffset, refreshCalendar); + }, + mode: function (mode, refreshCalendar) { + module.set.dataKeyValue(metadata.mode, mode, refreshCalendar); + }, + dataKeyValue: function (key, value, refreshCalendar) { + var oldValue = $module.data(key); + var equal = oldValue === value || (oldValue <= value && oldValue >= value); // equality test for dates and string objects + if (value) { + $module.data(key, value); + } else { + $module.removeData(key); + } + refreshCalendar = refreshCalendar !== false && !equal; + if (refreshCalendar) { + module.refresh(); + } + + return !equal; + }, + }, + + selectDate: function (date, forceSet) { + module.verbose('New date selection', date); + var mode = module.get.mode(); + var complete = forceSet || mode === 'minute' + || (settings.disableMinute && mode === 'hour') + || (settings.type === 'date' && mode === 'day') + || (settings.type === 'month' && mode === 'month') + || (settings.type === 'year' && mode === 'year'); + if (complete) { + var canceled = module.set.date(date) === false; + if (!canceled) { + selectionComplete = true; + if (settings.closable) { + module.popup('hide'); + // if this is a range calendar, focus the container or input. This will open the popup from its event listeners. + var endModule = module.get.calendarModule(settings.endCalendar); + if (endModule) { + endModule.refresh(); + if (endModule.setting('on') !== 'focus') { + endModule.popup('show'); + } + endModule.focus(); + } + } + } + } else { + var newMode = mode === 'year' + ? (!settings.disableMonth ? 'month' : 'day') + : (mode === 'month' + ? 'day' + : (mode === 'day' ? 'hour' : 'minute')); // eslint-disable-line unicorn/no-nested-ternary + module.set.mode(newMode); + if (mode === 'hour' || (mode === 'day' && module.get.date())) { + // the user has chosen enough to consider a valid date/time has been chosen + module.set.date(date, true, false); + } else { + module.set.focusDate(date); + } + } + }, -$.fn.calendar = function(parameters) { - var - $allModules = $(this), + changeDate: function (date) { + module.set.date(date); + }, - moduleSelector = $allModules.selector || '', + clear: function () { + module.set.date(); + }, - time = new Date().getTime(), - performance = [], + popup: function () { + return $activator.popup.apply($activator, arguments); + }, - query = arguments[0], - methodInvoked = (typeof query == 'string'), - queryArguments = [].slice.call(arguments, 1), - returnedValue, - timeGapTable = { - '5': {'row': 4, 'column': 3 }, - '10': {'row': 3, 'column': 2 }, - '15': {'row': 2, 'column': 2 }, - '20': {'row': 3, 'column': 1 }, - '30': {'row': 2, 'column': 1 } - } - ; - - $allModules - .each(function () { - var - settings = ( $.isPlainObject(parameters) ) - ? $.extend(true, {}, $.fn.calendar.settings, parameters) - : $.extend({}, $.fn.calendar.settings), - - className = settings.className, - namespace = settings.namespace, - selector = settings.selector, - formatter = settings.formatter, - parser = settings.parser, - metadata = settings.metadata, - timeGap = timeGapTable[settings.minTimeGap], - error = settings.error, - - eventNamespace = '.' + namespace, - moduleNamespace = 'module-' + namespace, - - $module = $(this), - $input = $module.find(selector.input), - $container = $module.find(selector.popup), - $activator = $module.find(selector.activator), - - element = this, - instance = $module.data(moduleNamespace), - - isTouch, - isTouchDown = false, - focusDateUsedForRange = false, - module - ; - - module = { - - initialize: function () { - module.debug('Initializing calendar for', element, $module); - - isTouch = module.get.isTouch(); - module.setup.config(); - module.setup.popup(); - module.setup.inline(); - module.setup.input(); - module.setup.date(); - module.create.calendar(); - - module.bind.events(); - module.instantiate(); - }, + focus: function () { + if ($input.length > 0) { + $input.trigger('focus'); + } else { + $container.trigger('focus'); + } + }, + blur: function () { + if ($input.length > 0) { + $input.trigger('blur'); + } else { + $container.trigger('blur'); + } + }, + + helper: { + dateFormat: function (format, date) { + if (!(date instanceof Date)) { + return ''; + } + if (typeof format === 'function') { + return format.call(module, date, settings); + } + + var + D = date.getDate(), + M = date.getMonth(), + Y = date.getFullYear(), + d = date.getDay(), + H = date.getHours(), + m = date.getMinutes(), + s = date.getSeconds(), + w = module.get.weekOfYear(Y, M, D + 1 - settings.firstDayOfWeek), + h = H % 12 || 12, + a = H < 12 ? settings.text.am.toLowerCase() : settings.text.pm.toLowerCase(), + tokens = { + D: D, + DD: ('0' + D).slice(-2), + M: M + 1, + MM: ('0' + (M + 1)).slice(-2), + MMM: settings.text.monthsShort[M], + MMMM: settings.text.months[M], + Y: Y, + YY: String(Y).slice(2), + YYYY: Y, + d: d, + dd: settings.text.dayNamesShort[d].slice(0, 2), + ddd: settings.text.dayNamesShort[d], + dddd: settings.text.dayNames[d], + h: h, + hh: ('0' + h).slice(-2), + H: H, + HH: ('0' + H).slice(-2), + m: m, + mm: ('0' + m).slice(-2), + s: s, + ss: ('0' + s).slice(-2), + a: a, + A: a.toUpperCase(), + S: ['th', 'st', 'nd', 'rd'][(D % 10) > 3 ? 0 : ((D % 100) - (D % 10) === 10 ? 0 : D % 10)], + w: w, + ww: ('0' + w).slice(-2), + } + ; + + return format.replace(settings.regExp.token, function (match) { + if (match in tokens) { + return tokens[match]; + } + + return match.slice(1, -1); + }); + }, + isDisabled: function (date, mode) { + return (mode === 'day' || mode === 'month' || mode === 'year' || mode === 'hour') && (((mode === 'day' && settings.disabledDaysOfWeek.indexOf(date.getDay()) !== -1) || settings.disabledDates.some(function (d) { + var blocked = false; + + if (typeof d === 'string') { + d = module.helper.sanitiseDate(d); + } + if (d instanceof Date) { + blocked = module.helper.dateEqual(date, d, mode); + } else if (d !== null && typeof d === 'object') { + if (d[metadata.year]) { + if (typeof d[metadata.year] === 'number') { + blocked = date.getFullYear() === d[metadata.year]; + } else if (Array.isArray(d[metadata.year])) { + blocked = d[metadata.year].indexOf(date.getFullYear()) > -1; + } + } else if (d[metadata.month]) { + if (typeof d[metadata.month] === 'number') { + blocked = date.getMonth() === d[metadata.month]; + } else if (Array.isArray(d[metadata.month])) { + blocked = d[metadata.month].indexOf(date.getMonth()) > -1; + } else if (d[metadata.month] instanceof Date) { + var sdate = module.helper.sanitiseDate(d[metadata.month]); + + blocked = (date.getMonth() === sdate.getMonth()) && (date.getFullYear() === sdate.getFullYear()); + } + } else if (d[metadata.date] && mode === 'day') { + if (d[metadata.date] instanceof Date) { + blocked = module.helper.dateEqual(date, module.helper.sanitiseDate(d[metadata.date]), mode); + } else if (Array.isArray(d[metadata.date])) { + blocked = d[metadata.date].some(function (idate) { + return module.helper.dateEqual(date, idate, mode); + }); + } + } + } + + return blocked; + })) || (mode === 'hour' && settings.disabledHours.some(function (d) { + var blocked = false; + + if (typeof d === 'string') { + d = module.helper.sanitiseDate(d); + } + if (d instanceof Date) { + blocked = module.helper.dateEqual(date, d, mode); + } else if (typeof d === 'number') { + blocked = date.getHours() === d; + } else if (d !== null && typeof d === 'object') { + if (d[metadata.date]) { + if (d[metadata.date] instanceof Date) { + blocked = module.helper.dateEqual(date, module.helper.sanitiseDate(d[metadata.date])); + } else if (Array.isArray(d[metadata.date])) { + blocked = d[metadata.date].some(function (idate) { + return module.helper.dateEqual(date, idate, mode); + }); + } + } + + if (d[metadata.days]) { + if (typeof d[metadata.days] === 'number') { + blocked = date.getDay() === d[metadata.days]; + } else if (Array.isArray(d[metadata.days])) { + blocked = d[metadata.days].indexOf(date.getDay()) > -1; + } + } + + if (d[metadata.hours]) { + if (typeof d[metadata.hours] === 'number') { + blocked = blocked && date.getHours() === d[metadata.hours]; + } else if (Array.isArray(d[metadata.hours])) { + blocked = blocked && d[metadata.hours].indexOf(date.getHours()) > -1; + } + } + } + + return blocked; + }))); + }, + isEnabled: function (date, mode) { + if (mode === 'day') { + return settings.enabledDates.length === 0 || settings.enabledDates.some(function (d) { + var enabled = false; + + if (typeof d === 'string') { + d = module.helper.sanitiseDate(d); + } + if (d instanceof Date) { + enabled = module.helper.dateEqual(date, d, mode); + } else if (d !== null && typeof d === 'object' && d[metadata.date]) { + enabled = module.helper.dateEqual(date, module.helper.sanitiseDate(d[metadata.date]), mode); + } + + return enabled; + }); + } + + return true; + }, + findDayAsObject: function (date, mode, dates) { + if (mode === 'day' || mode === 'month' || mode === 'year') { + var d; + for (var i = 0; i < dates.length; i++) { + d = dates[i]; + if (typeof d === 'string') { + d = module.helper.sanitiseDate(d); + } + if (d instanceof Date && module.helper.dateEqual(date, d, mode)) { + var dateObject = {}; + dateObject[metadata.date] = d; + + return dateObject; + } + if (d !== null && typeof d === 'object') { + if (d[metadata.year]) { + if (typeof d[metadata.year] === 'number' && date.getFullYear() === d[metadata.year]) { + return d; + } + if (Array.isArray(d[metadata.year])) { + if (d[metadata.year].indexOf(date.getFullYear()) > -1) { + return d; + } + } + } else if (d[metadata.month]) { + if (typeof d[metadata.month] === 'number' && date.getMonth() === d[metadata.month]) { + return d; + } + if (Array.isArray(d[metadata.month])) { + if (d[metadata.month].indexOf(date.getMonth()) > -1) { + return d; + } + } else if (d[metadata.month] instanceof Date) { + var sdate = module.helper.sanitiseDate(d[metadata.month]); + if ((date.getMonth() === sdate.getMonth()) && (date.getFullYear() === sdate.getFullYear())) { + return d; + } + } + } else if (d[metadata.date] && mode === 'day') { + if (d[metadata.date] instanceof Date && module.helper.dateEqual(date, module.helper.sanitiseDate(d[metadata.date]), mode)) { + return d; + } + if (Array.isArray(d[metadata.date])) { + if (d[metadata.date].some(function (idate) { + return module.helper.dateEqual(date, idate, mode); + })) { + return d; + } + } + } + } + } + } + + return null; + }, + findHourAsObject: function (date, mode, hours) { + if (mode === 'hour') { + var d; + var hourCheck = function (date, d) { + if (d[metadata.hours]) { + if (typeof d[metadata.hours] === 'number' && date.getHours() === d[metadata.hours]) { + return d; + } + if (Array.isArray(d[metadata.hours])) { + if (d[metadata.hours].indexOf(date.getHours()) > -1) { + return d; + } + } + } + }; + for (var i = 0; i < hours.length; i++) { + d = hours[i]; + if (typeof d === 'number' && date.getHours() === d) { + return null; + } + if (d !== null && typeof d === 'object') { + if (d[metadata.days] && hourCheck(date, d)) { + if (typeof d[metadata.days] === 'number' && date.getDay() === d[metadata.days]) { + return d; + } + if (Array.isArray(d[metadata.days])) { + if (d[metadata.days].indexOf(date.getDay()) > -1) { + return d; + } + } + } else if (d[metadata.date] && hourCheck(date, d)) { + if (d[metadata.date] instanceof Date && module.helper.dateEqual(date, module.helper.sanitiseDate(d[metadata.date]))) { + return d; + } + if (Array.isArray(d[metadata.date])) { + if (d[metadata.date].some(function (idate) { + return module.helper.dateEqual(date, idate, mode); + })) { + return d; + } + } + } else if (hourCheck(date, d)) { + return d; + } + } + } + } + + return null; + }, + sanitiseDate: function (date) { + if (!(date instanceof Date)) { + date = parser.date('' + date, settings); + } + if (!date || isNaN(date.getTime())) { + return null; + } + + return date; + }, + dateDiff: function (date1, date2, mode) { + if (!mode) { + mode = 'day'; + } + + var isTimeOnly = settings.type === 'time'; + var isYear = mode === 'year'; + var isYearOrMonth = isYear || mode === 'month'; + var isMinute = mode === 'minute'; + var isHourOrMinute = isMinute || mode === 'hour'; + // only care about a minute accuracy of settings.minTimeGap + date1 = new Date( + isTimeOnly ? 2000 : date1.getFullYear(), + isTimeOnly ? 0 : (isYear ? 0 : date1.getMonth()), + isTimeOnly ? 1 : (isYearOrMonth ? 1 : date1.getDate()), + !isHourOrMinute ? 0 : date1.getHours(), + !isMinute ? 0 : settings.minTimeGap * Math.floor(date1.getMinutes() / settings.minTimeGap) + ); + date2 = new Date( + isTimeOnly ? 2000 : date2.getFullYear(), + isTimeOnly ? 0 : (isYear ? 0 : date2.getMonth()), + isTimeOnly ? 1 : (isYearOrMonth ? 1 : date2.getDate()), + !isHourOrMinute ? 0 : date2.getHours(), + !isMinute ? 0 : settings.minTimeGap * Math.floor(date2.getMinutes() / settings.minTimeGap) + ); + + return date2.getTime() - date1.getTime(); + }, + dateEqual: function (date1, date2, mode) { + return !!date1 && !!date2 && module.helper.dateDiff(date1, date2, mode) === 0; + }, + isDateInRange: function (date, mode, minDate, maxDate) { + if (!minDate && !maxDate) { + var startDate = module.get.startDate(); + minDate = startDate && settings.minDate ? new Date(Math.max(startDate, settings.minDate)) : startDate || settings.minDate; + maxDate = settings.maxDate; + } + minDate = minDate && new Date(minDate.getFullYear(), minDate.getMonth(), minDate.getDate(), minDate.getHours(), settings.minTimeGap * Math.ceil(minDate.getMinutes() / settings.minTimeGap)); + + return !(!date + || (minDate && module.helper.dateDiff(date, minDate, mode) > 0) + || (maxDate && module.helper.dateDiff(maxDate, date, mode) > 0)); + }, + dateInRange: function (date, minDate, maxDate) { + if (!minDate && !maxDate) { + var startDate = module.get.startDate(); + minDate = startDate && settings.minDate ? new Date(Math.max(startDate, settings.minDate)) : startDate || settings.minDate; + maxDate = settings.maxDate; + } + minDate = minDate && new Date(minDate.getFullYear(), minDate.getMonth(), minDate.getDate(), minDate.getHours(), settings.minTimeGap * Math.ceil(minDate.getMinutes() / settings.minTimeGap)); + var isTimeOnly = settings.type === 'time'; + + return !date + ? date + : (minDate && module.helper.dateDiff(date, minDate, 'minute') > 0 + ? (isTimeOnly ? module.helper.mergeDateTime(date, minDate) : minDate) // eslint-disable-line unicorn/no-nested-ternary + : (maxDate && module.helper.dateDiff(maxDate, date, 'minute') > 0 // eslint-disable-line unicorn/no-nested-ternary + ? (isTimeOnly ? module.helper.mergeDateTime(date, maxDate) : maxDate) + : date)); + }, + mergeDateTime: function (date, time) { + return !date || !time + ? time + : new Date(date.getFullYear(), date.getMonth(), date.getDate(), time.getHours(), time.getMinutes()); + }, + isTodayButton: function (element) { + return element.text() === settings.text.today; + }, + }, + + 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 = Date.now(); + 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(function () { 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 (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 = context || element; + 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 (Array.isArray(returnedValue)) { + returnedValue.push(response); + } else if (returnedValue !== undefined) { + returnedValue = [returnedValue, response]; + } else if (response !== undefined) { + returnedValue = response; + } - instantiate: function () { - module.verbose('Storing instance of calendar'); - instance = module; - $module.data(moduleNamespace, instance); - }, + return found; + }, + }; - destroy: function () { - module.verbose('Destroying previous calendar for', element); - $module.removeData(moduleNamespace); - module.unbind.events(); + 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.calendar.settings = { + + name: 'Calendar', + namespace: 'calendar', + + silent: false, + debug: false, + verbose: false, + performance: true, + + context: false, + + type: 'datetime', // picker type, can be 'datetime', 'date', 'time', 'month', or 'year' + firstDayOfWeek: 0, // day for first day column (0 = Sunday) + constantHeight: true, // add rows to shorter months to keep day calendar height consistent (6 rows) + today: false, // show a 'today/now' button at the bottom of the calendar + closable: true, // close the popup after selecting a date/time + monthFirst: true, // month before day when parsing date from text + touchReadonly: true, // set input to readonly on touch devices + inline: false, // create the calendar inline instead of inside a popup + on: null, // when to show the popup (defaults to 'focus' for input, 'click' for others) + initialDate: null, // date to display initially when no date is selected (null = now) + startMode: false, // display mode to start in, can be 'year', 'month', 'day', 'hour', 'minute' (false = 'day') + minDate: null, // minimum date/time that can be selected, dates/times before are disabled + maxDate: null, // maximum date/time that can be selected, dates/times after are disabled + disableYear: false, // disable year selection mode + disableMonth: false, // disable month selection mode + disableMinute: false, // disable minute selection mode + formatInput: true, // format the input text upon input blur and module creation + startCalendar: null, // jquery object or selector for another calendar that represents the start date of a date range + endCalendar: null, // jquery object or selector for another calendar that represents the end date of a date range + multiMonth: 1, // show multiple months when in 'day' mode + monthOffset: 0, // position current month by offset when multimonth > 1 + minTimeGap: 5, + showWeekNumbers: false, // show Number of Week at the very first column of a dayView + disabledHours: [], // specific hour(s) which won't be selectable and contain additional information. + disabledDates: [], // specific day(s) which won't be selectable and contain additional information. + disabledDaysOfWeek: [], // day(s) which won't be selectable(s) (0 = Sunday) + enabledDates: [], // specific day(s) which will be selectable, all other days will be disabled + eventDates: [], // specific day(s) which will be shown in a different color and using tooltips + centuryBreak: 60, // starting short year until 99 where it will be assumed to belong to the last century + currentCentury: 2000, // century to be added to 2-digit years (00 to {centuryBreak}-1) + selectAdjacentDays: false, // The calendar can show dates from adjacent month. These adjacent month dates can also be made selectable. + // popup options ('popup', 'on', 'hoverable', and show/hide callbacks are overridden) + popupOptions: { + position: 'bottom left', + lastResort: 'bottom left', + prefer: 'opposite', + observeChanges: false, + hideOnScroll: false, }, - setup: { - config: function () { - if (module.get.minDate() !== null) { - module.set.minDate($module.data(metadata.minDate)); - } - if (module.get.maxDate() !== null) { - module.set.maxDate($module.data(metadata.maxDate)); - } - module.setting('type', module.get.type()); - module.setting('on', settings.on || ($input.length ? 'focus' : 'click')); - }, - popup: function () { - if (settings.inline) { - return; - } - if (!$activator.length) { - $activator = $module.children().first(); - if (!$activator.length) { - return; - } - } - if ($.fn.popup === undefined) { - module.error(error.popup); - return; - } - if (!$container.length) { - //prepend the popup element to the activator's parent so that it has less chance of messing with - //the styling (eg input action button needs to be the last child to have correct border radius) - var $activatorParent = $activator.parent(), - domPositionFunction = $activatorParent.closest(selector.append).length !== 0 ? 'appendTo' : 'prependTo'; - $container = $('
').addClass(className.popup)[domPositionFunction]($activatorParent); - } - $container.addClass(className.calendar); - var onVisible = settings.onVisible; - var onHidden = settings.onHidden; - if (!$input.length) { - //no input, $container has to handle focus/blur - $container.attr('tabindex', '0'); - onVisible = function () { - module.focus(); - return settings.onVisible.apply($container, arguments); - }; - onHidden = function () { - module.blur(); - return settings.onHidden.apply($container, arguments); - }; - } - var onShow = function () { - //reset the focus date onShow - module.set.focusDate(module.get.date()); - module.set.mode(settings.startMode); - return settings.onShow.apply($container, arguments); - }; - var on = module.setting('on'); - var options = $.extend({}, settings.popupOptions, { - popup: $container, - on: on, - hoverable: on === 'hover', - closable: on === 'click', - onShow: onShow, - onVisible: onVisible, - onHide: settings.onHide, - onHidden: onHidden - }); - module.popup(options); - }, - inline: function () { - if ($activator.length && !settings.inline) { - return; - } - $container = $('
').addClass(className.calendar).appendTo($module); - if (!$input.length) { - $container.attr('tabindex', '0'); - } - }, - input: function () { - if (settings.touchReadonly && $input.length && isTouch) { - $input.prop('readonly', true); - } - }, - date: function () { - var date; - if (settings.initialDate) { - date = parser.date(settings.initialDate, settings); - } else if ($module.data(metadata.date) !== undefined) { - date = parser.date($module.data(metadata.date), settings); - } else if ($input.length) { - date = parser.date($input.val(), settings); - } - module.set.date(date, settings.formatInput, false); - } + text: { + days: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], + months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + today: 'Today', + now: 'Now', + am: 'AM', + pm: 'PM', + weekNo: 'Week', }, - create: { - calendar: function () { - var i, r, c, p, row, cell, pageGrid; - - var - mode = module.get.mode(), - today = new Date(), - date = module.get.date(), - focusDate = module.get.focusDate(), - display = module.helper.dateInRange(focusDate || date || settings.initialDate || today) - ; - - if (!focusDate) { - focusDate = display; - module.set.focusDate(focusDate, false, false); - } - - var - isYear = mode === 'year', - isMonth = mode === 'month', - isDay = mode === 'day', - isHour = mode === 'hour', - isMinute = mode === 'minute', - isTimeOnly = settings.type === 'time' - ; + formatter: { + yearHeader: function (date, settings) { + var decadeYear = Math.ceil(date.getFullYear() / 10) * 10; + + return (decadeYear - 9) + ' - ' + (decadeYear + 2); + }, + monthHeader: 'YYYY', + dayHeader: 'MMMM YYYY', + hourHeader: 'MMMM D, YYYY', + minuteHeader: 'MMMM D, YYYY', + dayColumnHeader: function (day, settings) { + return settings.text.days[day]; + }, + datetime: 'MMMM D, YYYY h:mm A', + date: 'MMMM D, YYYY', + time: 'h:mm A', + cellTime: 'h:mm A', + month: 'MMMM YYYY', + year: 'YYYY', + today: function (settings) { + return settings.type === 'date' ? settings.text.today : settings.text.now; + }, + cell: function (cell, date, cellOptions) {}, + }, - var multiMonth = Math.max(settings.multiMonth, 1); - var monthOffset = !isDay ? 0 : module.get.monthOffset(); + parser: { + date: function (text, settings) { + if (text instanceof Date) { + return text; + } + if (!text) { + return null; + } + text = String(text).trim().replace(/([./:-])\s+/g, '$1').replace(/\s+([./:-])/g, '$1') + .replace(/\s+/g, ' '); + if (text.length === 0) { + return null; + } + if (/^\d{4}(?:[./-]\d{1,2}){2}$/.test(text)) { + text = text.replace(/[./-]/g, '/') + ' 00:00:00'; + } + // Reverse date and month in some cases + text = settings.monthFirst || !/^\d{1,2}[./-]/.test(text) ? text : text.replace(/[./-]/g, '/').replace(/(\d+)\/(\d+)/, '$2/$1'); + var textDate = new Date(text); + var numberOnly = text.match(/^\d+$/) !== null; + if (!numberOnly && !isNaN(textDate.getDate())) { + return textDate; + } + text = text.toLowerCase(); - var - minute = display.getMinutes(), - hour = display.getHours(), - day = display.getDate(), - startMonth = display.getMonth() + monthOffset, - year = display.getFullYear() - ; + var + i, + j, + k + ; + var + minute = -1, + hour = -1, + day = -1, + month = -1, + year = -1 + ; + var isAm; - var columns = isDay ? settings.showWeekNumbers ? 8 : 7 : isHour ? 4 : timeGap['column']; - var rows = isDay || isHour ? 6 : timeGap['row']; - var pages = isDay ? multiMonth : 1; + var isTimeOnly = settings.type === 'time'; + var isDateOnly = settings.type.indexOf('time') < 0; - var container = $container; - var tooltipPosition = container.hasClass("left") ? "right center" : "left center"; - container.empty(); - if (pages > 1) { - pageGrid = $('
').addClass(className.grid).appendTo(container); - } + var + words = text.split(settings.regExp.dateWords), + word + ; + var + numbers = text.split(settings.regExp.dateNumbers), + number + ; - for (p = 0; p < pages; p++) { - if (pages > 1) { - var pageColumn = $('
').addClass(className.column).appendTo(pageGrid); - container = pageColumn; - } - - var month = startMonth + p; - var firstMonthDayColumn = (new Date(year, month, 1).getDay() - settings.firstDayOfWeek % 7 + 7) % 7; - if (!settings.constantHeight && isDay) { - var requiredCells = new Date(year, month + 1, 0).getDate() + firstMonthDayColumn; - rows = Math.ceil(requiredCells / 7); - } - - var - yearChange = isYear ? 10 : isMonth ? 1 : 0, - monthChange = isDay ? 1 : 0, - dayChange = isHour || isMinute ? 1 : 0, - prevNextDay = isHour || isMinute ? day : 1, - prevDate = new Date(year - yearChange, month - monthChange, prevNextDay - dayChange, hour), - nextDate = new Date(year + yearChange, month + monthChange, prevNextDay + dayChange, hour), - prevLast = isYear ? new Date(Math.ceil(year / 10) * 10 - 9, 0, 0) : - isMonth ? new Date(year, 0, 0) : isDay ? new Date(year, month, 0) : new Date(year, month, day, -1), - nextFirst = isYear ? new Date(Math.ceil(year / 10) * 10 + 1, 0, 1) : - isMonth ? new Date(year + 1, 0, 1) : isDay ? new Date(year, month + 1, 1) : new Date(year, month, day + 1) - ; - - var tempMode = mode; - if (isDay && settings.showWeekNumbers){ - tempMode += ' andweek'; - } - var table = $('').addClass(className.table).addClass(tempMode).appendTo(container); - var textColumns = columns; - //no header for time-only mode - if (!isTimeOnly) { - var thead = $('').appendTo(table); - - row = $('').appendTo(thead); - cell = $('').appendTo(thead); - if(settings.showWeekNumbers) { - cell = $('').appendTo(table); - i = isYear ? Math.ceil(year / 10) * 10 - 9 : isDay ? 1 - firstMonthDayColumn : 0; - for (r = 0; r < rows; r++) { - row = $('').appendTo(tbody); - if(isDay && settings.showWeekNumbers){ - cell = $('').appendTo(tbody); - var todayButton = $('
').attr('colspan', '' + columns).appendTo(row); - - var headerDate = isYear || isMonth ? new Date(year, 0, 1) : - isDay ? new Date(year, month, 1) : new Date(year, month, day, hour, minute); - var headerText = $('').addClass(className.link).appendTo(cell); - headerText.text(formatter.header(headerDate, mode, settings)); - var newMode = isMonth ? (settings.disableYear ? 'day' : 'year') : - isDay ? (settings.disableMonth ? 'year' : 'month') : 'day'; - headerText.data(metadata.mode, newMode); - - if (p === 0) { - var prev = $('').addClass(className.prev).appendTo(cell); - prev.data(metadata.focusDate, prevDate); - prev.toggleClass(className.disabledCell, !module.helper.isDateInRange(prevLast, mode)); - $('').addClass(className.prevIcon).appendTo(prev); + var parts; + var monthString; + + if (!isDateOnly) { + // am/pm + isAm = $.inArray(settings.text.am.toLowerCase(), words) >= 0 + ? true + : ($.inArray(settings.text.pm.toLowerCase(), words) >= 0 ? false : undefined); + + // time with ':' + for (i = 0; i < numbers.length; i++) { + number = numbers[i]; + if (number.indexOf(':') >= 0) { + if (hour < 0 || minute < 0) { + parts = number.split(':'); + for (k = 0; k < Math.min(2, parts.length); k++) { + j = parseInt(parts[k], 10); + if (isNaN(j)) { + j = 0; + } + if (k === 0) { + hour = j % 24; + } else { + minute = j % 60; + } + } + } + numbers.splice(i, 1); + } + } } - if (p === pages - 1) { - var next = $('').addClass(className.next).appendTo(cell); - next.data(metadata.focusDate, nextDate); - next.toggleClass(className.disabledCell, !module.helper.isDateInRange(nextFirst, mode)); - $('').addClass(className.nextIcon).appendTo(next); - } - if (isDay) { - row = $('
').appendTo(row); - cell.text(settings.text.weekNo); - cell.addClass(className.weekCell); - textColumns--; - } - for (i = 0; i < textColumns; i++) { - cell = $('').appendTo(row); - cell.text(formatter.dayColumnHeader((i + settings.firstDayOfWeek) % 7, settings)); - } - } - } - - var tbody = $('
').appendTo(row); - cell.text(module.get.weekOfYear(year,month,i+1-settings.firstDayOfWeek)); - cell.addClass(className.weekCell); - } - for (c = 0; c < textColumns; c++, i++) { - var cellDate = isYear ? new Date(i, month, 1, hour, minute) : - isMonth ? new Date(year, i, 1, hour, minute) : isDay ? new Date(year, month, i, hour, minute) : - isHour ? new Date(year, month, day, i) : new Date(year, month, day, hour, i * settings.minTimeGap); - var cellText = isYear ? i : - isMonth ? settings.text.monthsShort[i] : isDay ? cellDate.getDate() : - formatter.time(cellDate, settings, true); - cell = $('').addClass(className.cell).appendTo(row); - cell.text(cellText); - cell.data(metadata.date, cellDate); - var adjacent = isDay && cellDate.getMonth() !== ((month + 12) % 12); - var disabled = (!settings.selectAdjacentDays && adjacent) || !module.helper.isDateInRange(cellDate, mode) || settings.isDisabled(cellDate, mode) || module.helper.isDisabled(cellDate, mode) || !module.helper.isEnabled(cellDate, mode); - if (disabled) { - var disabledDate = module.helper.findDayAsObject(cellDate, mode, settings.disabledDates); - if (disabledDate !== null && disabledDate[metadata.message]) { - cell.attr("data-tooltip", disabledDate[metadata.message]); - cell.attr("data-position", tooltipPosition); - } - } else { - var eventDate = module.helper.findDayAsObject(cellDate, mode, settings.eventDates); - if (eventDate !== null) { - cell.addClass(eventDate[metadata.class] || settings.eventClass); - if (eventDate[metadata.message]) { - cell.attr("data-tooltip", eventDate[metadata.message]); - cell.attr("data-position", tooltipPosition); - } + if (!isTimeOnly) { + // textual month + for (i = 0; i < words.length; i++) { + word = words[i]; + if (word.length <= 0) { + continue; + } + for (j = 0; j < settings.text.months.length; j++) { + monthString = settings.text.months[j]; + monthString = monthString.slice(0, word.length).toLowerCase(); + if (monthString === word) { + month = j + 1; + + break; + } + } + if (month >= 0) { + break; + } } - } - var active = module.helper.dateEqual(cellDate, date, mode); - var isToday = module.helper.dateEqual(cellDate, today, mode); - cell.toggleClass(className.adjacentCell, adjacent); - cell.toggleClass(className.disabledCell, disabled); - cell.toggleClass(className.activeCell, active && !adjacent); - if (!isHour && !isMinute) { - cell.toggleClass(className.todayCell, !adjacent && isToday); - } - - // Allow for external modifications of each cell - var cellOptions = { - mode: mode, - adjacent: adjacent, - disabled: disabled, - active: active, - today: isToday - }; - formatter.cell(cell, cellDate, cellOptions); - - if (module.helper.dateEqual(cellDate, focusDate, mode)) { - //ensure that the focus date is exactly equal to the cell date - //so that, if selected, the correct value is set - module.set.focusDate(cellDate, false, false); - } - } - } - if (settings.today) { - var todayRow = $('
').attr('colspan', '' + columns).addClass(className.today).appendTo(todayRow); - todayButton.text(formatter.today(settings)); - todayButton.data(metadata.date, today); - } + // year > settings.centuryBreak + for (i = 0; i < numbers.length; i++) { + j = parseInt(numbers[i], 10); + if (isNaN(j)) { + continue; + } + if (j >= settings.centuryBreak && i === numbers.length - 1) { + if (j <= 99) { + j += settings.currentCentury - 100; + } + year = j; + numbers.splice(i, 1); + + break; + } + } - module.update.focus(false, table); - } - } - }, + // numeric month + if (month < 0) { + for (i = 0; i < numbers.length; i++) { + k = i > 1 || settings.monthFirst + ? i + : (i === 1 ? 0 : 1); + j = parseInt(numbers[k], 10); + if (isNaN(j)) { + continue; + } + if (j >= 1 && j <= 12) { + month = j; + numbers.splice(k, 1); + + break; + } + } + } - update: { - focus: function (updateRange, container) { - container = container || $container; - var mode = module.get.mode(); - var date = module.get.date(); - var focusDate = module.get.focusDate(); - var startDate = module.get.startDate(); - var endDate = module.get.endDate(); - var rangeDate = (updateRange ? focusDate : null) || date || (!isTouch ? focusDate : null); - - container.find('td').each(function () { - var cell = $(this); - var cellDate = cell.data(metadata.date); - if (!cellDate) { - return; - } - var disabled = cell.hasClass(className.disabledCell); - var active = cell.hasClass(className.activeCell); - var adjacent = cell.hasClass(className.adjacentCell); - var focused = module.helper.dateEqual(cellDate, focusDate, mode); - var inRange = !rangeDate ? false : - ((!!startDate && module.helper.isDateInRange(cellDate, mode, startDate, rangeDate)) || - (!!endDate && module.helper.isDateInRange(cellDate, mode, rangeDate, endDate))); - cell.toggleClass(className.focusCell, focused && (!isTouch || isTouchDown) && (!adjacent || (settings.selectAdjacentDays && adjacent)) && !disabled); - - if (module.helper.isTodayButton(cell)) { - return; - } - cell.toggleClass(className.rangeCell, inRange && !active && !disabled); - }); - } - }, + // day + for (i = 0; i < numbers.length; i++) { + j = parseInt(numbers[i], 10); + if (isNaN(j)) { + continue; + } + if (j >= 1 && j <= 31) { + day = j; + numbers.splice(i, 1); + + break; + } + } - refresh: function () { - module.create.calendar(); - }, + // year <= settings.centuryBreak + if (year < 0) { + for (i = numbers.length - 1; i >= 0; i--) { + j = parseInt(numbers[i], 10); + if (isNaN(j)) { + continue; + } + if (j <= 99) { + j += settings.currentCentury; + } + year = j; + numbers.splice(i, 1); + + break; + } + } + } - bind: { - events: function () { - module.debug('Binding events'); - $container.on('mousedown' + eventNamespace, module.event.mousedown); - $container.on('touchstart' + eventNamespace, module.event.mousedown); - $container.on('mouseup' + eventNamespace, module.event.mouseup); - $container.on('touchend' + eventNamespace, module.event.mouseup); - $container.on('mouseover' + eventNamespace, module.event.mouseover); - if ($input.length) { - $input.on('input' + eventNamespace, module.event.inputChange); - $input.on('focus' + eventNamespace, module.event.inputFocus); - $input.on('blur' + eventNamespace, module.event.inputBlur); - $input.on('keydown' + eventNamespace, module.event.keydown); - } else { - $container.on('keydown' + eventNamespace, module.event.keydown); - } - } - }, + if (!isDateOnly) { + // hour + if (hour < 0) { + for (i = 0; i < numbers.length; i++) { + j = parseInt(numbers[i], 10); + if (isNaN(j)) { + continue; + } + if (j >= 0 && j <= 23) { + hour = j; + numbers.splice(i, 1); + + break; + } + } + } - unbind: { - events: function () { - module.debug('Unbinding events'); - $container.off(eventNamespace); - if ($input.length) { - $input.off(eventNamespace); - } - } - }, + // minute + if (minute < 0) { + for (i = 0; i < numbers.length; i++) { + j = parseInt(numbers[i], 10); + if (isNaN(j)) { + continue; + } + if (j >= 0 && j <= 59) { + minute = j; + numbers.splice(i, 1); + + break; + } + } + } + } - event: { - mouseover: function (event) { - var target = $(event.target); - var date = target.data(metadata.date); - var mousedown = event.buttons === 1; - if (date) { - module.set.focusDate(date, false, true, mousedown); - } - }, - mousedown: function (event) { - if ($input.length) { - //prevent the mousedown on the calendar causing the input to lose focus - event.preventDefault(); - } - isTouchDown = event.type.indexOf('touch') >= 0; - var target = $(event.target); - var date = target.data(metadata.date); - if (date) { - module.set.focusDate(date, false, true, true); - } - }, - mouseup: function (event) { - //ensure input has focus so that it receives keydown events for calendar navigation - module.focus(); - event.preventDefault(); - event.stopPropagation(); - isTouchDown = false; - var target = $(event.target); - if (target.hasClass("disabled")) { - return; - } - var parent = target.parent(); - if (parent.data(metadata.date) || parent.data(metadata.focusDate) || parent.data(metadata.mode)) { - //clicked on a child element, switch to parent (used when clicking directly on prev/next icon element) - target = parent; - } - var date = target.data(metadata.date); - var focusDate = target.data(metadata.focusDate); - var mode = target.data(metadata.mode); - if (date && settings.onSelect.call(element, date, module.get.mode()) !== false) { - var forceSet = target.hasClass(className.today); - module.selectDate(date, forceSet); - } - else if (focusDate) { - module.set.focusDate(focusDate); - } - else if (mode) { - module.set.mode(mode); - } - }, - keydown: function (event) { - var keyCode = event.which; - if (keyCode === 27 || keyCode === 9) { - //esc || tab - module.popup('hide'); - } + if (minute < 0 && hour < 0 && day < 0 && month < 0 && year < 0) { + return null; + } - if (module.popup('is visible')) { - if (keyCode === 37 || keyCode === 38 || keyCode === 39 || keyCode === 40) { - //arrow keys - var mode = module.get.mode(); - var bigIncrement = mode === 'day' ? 7 : mode === 'hour' ? 4 : mode === 'minute' ? timeGap['column'] : 3; - var increment = keyCode === 37 ? -1 : keyCode === 38 ? -bigIncrement : keyCode == 39 ? 1 : bigIncrement; - increment *= mode === 'minute' ? settings.minTimeGap : 1; - var focusDate = module.get.focusDate() || module.get.date() || new Date(); - var year = focusDate.getFullYear() + (mode === 'year' ? increment : 0); - var month = focusDate.getMonth() + (mode === 'month' ? increment : 0); - var day = focusDate.getDate() + (mode === 'day' ? increment : 0); - var hour = focusDate.getHours() + (mode === 'hour' ? increment : 0); - var minute = focusDate.getMinutes() + (mode === 'minute' ? increment : 0); - var newFocusDate = new Date(year, month, day, hour, minute); - if (settings.type === 'time') { - newFocusDate = module.helper.mergeDateTime(focusDate, newFocusDate); + if (minute < 0) { + minute = 0; } - if (module.helper.isDateInRange(newFocusDate, mode)) { - module.set.focusDate(newFocusDate); + if (hour < 0) { + hour = 0; } - } else if (keyCode === 13) { - //enter - var mode = module.get.mode(); - var date = module.get.focusDate(); - if (date && !settings.isDisabled(date, mode) && !module.helper.isDisabled(date, mode) && module.helper.isEnabled(date, mode)) { - module.selectDate(date); + if (day < 0) { + day = 1; + } + if (month < 0) { + month = 1; + } + if (year < 0) { + year = new Date().getFullYear(); } - //disable form submission: - event.preventDefault(); - event.stopPropagation(); - } - } - - if (keyCode === 38 || keyCode === 40) { - //arrow-up || arrow-down - event.preventDefault(); //don't scroll - module.popup('show'); - } - }, - inputChange: function () { - var val = $input.val(); - var date = parser.date(val, settings); - module.set.date(date, false); - }, - inputFocus: function () { - $container.addClass(className.active); - }, - inputBlur: function () { - $container.removeClass(className.active); - if (settings.formatInput) { - var date = module.get.date(); - var text = formatter.datetime(date, settings); - $input.val(text); - } - } - }, - get: { - weekOfYear: function(weekYear,weekMonth,weekDay) { - // adapted from http://www.merlyn.demon.co.uk/weekcalc.htm - var ms1d = 864e5, // milliseconds in a day - ms7d = 7 * ms1d; // milliseconds in a week - - return function() { // return a closure so constants get calculated only once - var DC3 = Date.UTC(weekYear, weekMonth, weekDay + 3) / ms1d, // an Absolute Day Number - AWN = Math.floor(DC3 / 7), // an Absolute Week Number - Wyr = new Date(AWN * ms7d).getUTCFullYear(); - - return AWN - Math.floor(Date.UTC(Wyr, 0, 7) / ms7d) + 1; - }(); - }, - date: function () { - return module.helper.sanitiseDate($module.data(metadata.date)) || null; - }, - inputDate: function() { - return $input.val(); - }, - focusDate: function () { - return $module.data(metadata.focusDate) || null; - }, - startDate: function () { - var startModule = module.get.calendarModule(settings.startCalendar); - return (startModule ? startModule.get.date() : $module.data(metadata.startDate)) || null; - }, - endDate: function () { - var endModule = module.get.calendarModule(settings.endCalendar); - return (endModule ? endModule.get.date() : $module.data(metadata.endDate)) || null; - }, - minDate: function() { - return $module.data(metadata.minDate) || null; - }, - maxDate: function() { - return $module.data(metadata.maxDate) || null; - }, - monthOffset: function () { - return $module.data(metadata.monthOffset) || 0; - }, - mode: function () { - //only returns valid modes for the current settings - var mode = $module.data(metadata.mode) || settings.startMode; - var validModes = module.get.validModes(); - if ($.inArray(mode, validModes) >= 0) { - return mode; - } - return settings.type === 'time' ? 'hour' : - settings.type === 'month' ? 'month' : - settings.type === 'year' ? 'year' : 'day'; - }, - type: function() { - return $module.data(metadata.type) || settings.type; - }, - validModes: function () { - var validModes = []; - if (settings.type !== 'time') { - if (!settings.disableYear || settings.type === 'year') { - validModes.push('year'); - } - if (!(settings.disableMonth || settings.type === 'year') || settings.type === 'month') { - validModes.push('month'); - } - if (settings.type.indexOf('date') >= 0) { - validModes.push('day'); - } - } - if (settings.type.indexOf('time') >= 0) { - validModes.push('hour'); - if (!settings.disableMinute) { - validModes.push('minute'); - } - } - return validModes; - }, - isTouch: function () { - try { - document.createEvent('TouchEvent'); - return true; - } - catch (e) { - return false; - } - }, - calendarModule: function (selector) { - if (!selector) { - return null; - } - if (!(selector instanceof $)) { - selector = $(selector).first(); - } - //assume range related calendars are using the same namespace - return selector.data(moduleNamespace); - } - }, + if (isAm !== undefined) { + if (isAm) { + if (hour === 12) { + hour = 0; + } + } else if (hour < 12) { + hour += 12; + } + } - set: { - date: function (date, updateInput, fireChange) { - updateInput = updateInput !== false; - fireChange = fireChange !== false; - date = module.helper.sanitiseDate(date); - date = module.helper.dateInRange(date); + var date = new Date(year, month - 1, day, hour, minute); + if (date.getMonth() !== month - 1 || date.getFullYear() !== year) { + // month or year don't match up, switch to last day of the month + date = new Date(year, month, 0, hour, minute); + } - var mode = module.get.mode(); - var text = formatter.datetime(date, settings); + return isNaN(date.getTime()) ? null : date; + }, + }, - if (fireChange && settings.onBeforeChange.call(element, date, text, mode) === false) { - return false; - } + // callback before date is changed, return false to cancel the change + onBeforeChange: function (date, text, mode) { + return true; + }, - module.set.focusDate(date); + // callback when date changes + onChange: function (date, text, mode) {}, - if (settings.isDisabled(date, mode)) { - return false; - } + // callback before show animation, return false to prevent show + onShow: function () {}, - var endDate = module.get.endDate(); - if (!!endDate && !!date && date > endDate) { - //selected date is greater than end date in range, so clear end date - module.set.endDate(undefined); - } - module.set.dataKeyValue(metadata.date, date); + // callback after show animation + onVisible: function () {}, - if (updateInput && $input.length) { - $input.val(text); - } + // callback before hide animation, return false to prevent hide + onHide: function () {}, - if (fireChange) { - settings.onChange.call(element, date, text, mode); - } - }, - startDate: function (date, refreshCalendar) { - date = module.helper.sanitiseDate(date); - var startModule = module.get.calendarModule(settings.startCalendar); - if (startModule) { - startModule.set.date(date); - } - module.set.dataKeyValue(metadata.startDate, date, refreshCalendar); - }, - endDate: function (date, refreshCalendar) { - date = module.helper.sanitiseDate(date); - var endModule = module.get.calendarModule(settings.endCalendar); - if (endModule) { - endModule.set.date(date); - } - module.set.dataKeyValue(metadata.endDate, date, refreshCalendar); - }, - focusDate: function (date, refreshCalendar, updateFocus, updateRange) { - date = module.helper.sanitiseDate(date); - date = module.helper.dateInRange(date); - var isDay = module.get.mode() === 'day'; - var oldFocusDate = module.get.focusDate(); - if (isDay && date && oldFocusDate) { - var yearDelta = date.getFullYear() - oldFocusDate.getFullYear(); - var monthDelta = yearDelta * 12 + date.getMonth() - oldFocusDate.getMonth(); - if (monthDelta) { - var monthOffset = module.get.monthOffset() - monthDelta; - module.set.monthOffset(monthOffset, false); - } - } - var changed = module.set.dataKeyValue(metadata.focusDate, date, refreshCalendar); - updateFocus = (updateFocus !== false && changed && refreshCalendar === false) || focusDateUsedForRange != updateRange; - focusDateUsedForRange = updateRange; - if (updateFocus) { - module.update.focus(updateRange); - } - }, - minDate: function (date) { - date = module.helper.sanitiseDate(date); - if (settings.maxDate !== null && settings.maxDate <= date) { - module.verbose('Unable to set minDate variable bigger that maxDate variable', date, settings.maxDate); - } else { - module.setting('minDate', date); - module.set.dataKeyValue(metadata.minDate, date); - } - }, - maxDate: function (date) { - date = module.helper.sanitiseDate(date); - if (settings.minDate !== null && settings.minDate >= date) { - module.verbose('Unable to set maxDate variable lower that minDate variable', date, settings.minDate); - } else { - module.setting('maxDate', date); - module.set.dataKeyValue(metadata.maxDate, date); - } - }, - monthOffset: function (monthOffset, refreshCalendar) { - var multiMonth = Math.max(settings.multiMonth, 1); - monthOffset = Math.max(1 - multiMonth, Math.min(0, monthOffset)); - module.set.dataKeyValue(metadata.monthOffset, monthOffset, refreshCalendar); - }, - mode: function (mode, refreshCalendar) { - module.set.dataKeyValue(metadata.mode, mode, refreshCalendar); - }, - dataKeyValue: function (key, value, refreshCalendar) { - var oldValue = $module.data(key); - var equal = oldValue === value || (oldValue <= value && oldValue >= value); //equality test for dates and string objects - if (value) { - $module.data(key, value); - } else { - $module.removeData(key); - } - refreshCalendar = refreshCalendar !== false && !equal; - if (refreshCalendar) { - module.refresh(); - } - return !equal; - } - }, + // callback after hide animation + onHidden: function () {}, - selectDate: function (date, forceSet) { - module.verbose('New date selection', date); - var mode = module.get.mode(); - var complete = forceSet || mode === 'minute' || - (settings.disableMinute && mode === 'hour') || - (settings.type === 'date' && mode === 'day') || - (settings.type === 'month' && mode === 'month') || - (settings.type === 'year' && mode === 'year'); - if (complete) { - var canceled = module.set.date(date) === false; - if (!canceled && settings.closable) { - module.popup('hide'); - //if this is a range calendar, focus the container or input. This will open the popup from its event listeners. - var endModule = module.get.calendarModule(settings.endCalendar); - if (endModule) { - if (endModule.setting('on') !== 'focus') { - endModule.popup('show'); - } - endModule.focus(); - } - } - } else { - var newMode = mode === 'year' ? (!settings.disableMonth ? 'month' : 'day') : - mode === 'month' ? 'day' : mode === 'day' ? 'hour' : 'minute'; - module.set.mode(newMode); - if (mode === 'hour' || (mode === 'day' && module.get.date())) { - //the user has chosen enough to consider a valid date/time has been chosen - module.set.date(date, true, false); - } else { - module.set.focusDate(date); - } - } - }, + // callback before item is selected, return false to prevent selection + onSelect: function (date, mode) {}, - changeDate: function (date) { - module.set.date(date); + // is the given date disabled? + isDisabled: function (date, mode) { + return false; }, - clear: function () { - module.set.date(undefined); + selector: { + popup: '.ui.popup', + input: 'input', + activator: 'input', + append: '.inline.field,.inline.fields', }, - popup: function () { - return $activator.popup.apply($activator, arguments); + regExp: { + dateWords: /[^A-Za-z\u00C0-\u024F]+/g, + dateNumbers: /[^\d:]+/g, + token: /d{1,4}|D{1,2}|M{1,4}|YY(?:YY)?|([Hhmsw])\1?|[ASYa]|"[^"]*"|'[^']*'/g, }, - focus: function () { - if ($input.length) { - $input.focus(); - } else { - $container.focus(); - } - }, - blur: function () { - if ($input.length) { - $input.blur(); - } else { - $container.blur(); - } + error: { + popup: 'UI Popup, a required component is not included in this page', + method: 'The method you called is not defined.', }, - helper: { - isDisabled: function(date, mode) { - return (mode === 'day' || mode === 'month' || mode === 'year') && ((settings.disabledDaysOfWeek.indexOf(date.getDay()) !== -1) || settings.disabledDates.some(function(d){ - if(typeof d === 'string') { - d = module.helper.sanitiseDate(d); - } - if (d instanceof Date) { - return module.helper.dateEqual(date, d, mode); - } - if (d !== null && typeof d === 'object') { - if (d[metadata.year]) { - if (typeof d[metadata.year] === 'number') { - return date.getFullYear() == d[metadata.year]; - } else if (Array.isArray(d[metadata.year])) { - return d[metadata.year].indexOf(date.getFullYear()) > -1; - } - } else if (d[metadata.month]) { - if (typeof d[metadata.month] === 'number') { - return date.getMonth() == d[metadata.month]; - } else if (Array.isArray(d[metadata.month])) { - return d[metadata.month].indexOf(date.getMonth()) > -1; - } else if (d[metadata.month] instanceof Date) { - var sdate = module.helper.sanitiseDate(d[metadata.month]); - return (date.getMonth() == sdate.getMonth()) && (date.getFullYear() == sdate.getFullYear()) - } - } else if (d[metadata.date] && mode === 'day') { - if (d[metadata.date] instanceof Date) { - return module.helper.dateEqual(date, module.helper.sanitiseDate(d[metadata.date]), mode); - } else if (Array.isArray(d[metadata.date])) { - return d[metadata.date].some(function(idate) { - return module.helper.dateEqual(date, idate, mode); - }); - } - } - } - })); - }, - isEnabled: function(date, mode) { - if (mode === 'day') { - return settings.enabledDates.length === 0 || settings.enabledDates.some(function(d){ - if(typeof d === 'string') { - d = module.helper.sanitiseDate(d); - } - if (d instanceof Date) { - return module.helper.dateEqual(date, d, mode); - } - if (d !== null && typeof d === 'object' && d[metadata.date]) { - return module.helper.dateEqual(date, module.helper.sanitiseDate(d[metadata.date]), mode); - } - }); - } else { - return true; - } - }, - findDayAsObject: function(date, mode, dates) { - if (mode === 'day' || mode === 'month' || mode === 'year') { - var d; - for (var i = 0; i < dates.length; i++) { - d = dates[i]; - if(typeof d === 'string') { - d = module.helper.sanitiseDate(d); - } - if (d instanceof Date && module.helper.dateEqual(date, d, mode)) { - var dateObject = {}; - dateObject[metadata.date] = d; - return dateObject; - } - else if (d !== null && typeof d === 'object') { - if (d[metadata.year]) { - if (typeof d[metadata.year] === 'number' && date.getFullYear() == d[metadata.year]) { - return d; - } else if (Array.isArray(d[metadata.year])) { - if (d[metadata.year].indexOf(date.getFullYear()) > -1) { - return d; - } - } - } else if (d[metadata.month]) { - if (typeof d[metadata.month] === 'number' && date.getMonth() == d[metadata.month]) { - return d; - } else if (Array.isArray(d[metadata.month])) { - if (d[metadata.month].indexOf(date.getMonth()) > -1) { - return d; - } - } else if (d[metadata.month] instanceof Date) { - var sdate = module.helper.sanitiseDate(d[metadata.month]); - if ((date.getMonth() == sdate.getMonth()) && (date.getFullYear() == sdate.getFullYear())) { - return d; - } - } - } else if (d[metadata.date] && mode === 'day') { - if (d[metadata.date] instanceof Date && module.helper.dateEqual(date, module.helper.sanitiseDate(d[metadata.date]), mode)) { - return d; - } else if (Array.isArray(d[metadata.date])) { - if(d[metadata.date].some(function(idate) { return module.helper.dateEqual(date, idate, mode); })) { - return d; - } - } - } - } - } - } - return null; - }, - sanitiseDate: function (date) { - if (!date) { - return undefined; - } - if (!(date instanceof Date)) { - date = parser.date('' + date, settings); - } - if (!date || date === null || isNaN(date.getTime())) { - return undefined; - } - return date; - }, - dateDiff: function (date1, date2, mode) { - mode = mode || 'day'; - var isTimeOnly = settings.type === 'time'; - var isYear = mode === 'year'; - var isYearOrMonth = isYear || mode === 'month'; - var isMinute = mode === 'minute'; - var isHourOrMinute = isMinute || mode === 'hour'; - //only care about a minute accuracy of settings.minTimeGap - date1 = new Date( - isTimeOnly ? 2000 : date1.getFullYear(), - isTimeOnly ? 0 : isYear ? 0 : date1.getMonth(), - isTimeOnly ? 1 : isYearOrMonth ? 1 : date1.getDate(), - !isHourOrMinute ? 0 : date1.getHours(), - !isMinute ? 0 : settings.minTimeGap * Math.floor(date1.getMinutes() / settings.minTimeGap)); - date2 = new Date( - isTimeOnly ? 2000 : date2.getFullYear(), - isTimeOnly ? 0 : isYear ? 0 : date2.getMonth(), - isTimeOnly ? 1 : isYearOrMonth ? 1 : date2.getDate(), - !isHourOrMinute ? 0 : date2.getHours(), - !isMinute ? 0 : settings.minTimeGap * Math.floor(date2.getMinutes() / settings.minTimeGap)); - return date2.getTime() - date1.getTime(); - }, - dateEqual: function (date1, date2, mode) { - return !!date1 && !!date2 && module.helper.dateDiff(date1, date2, mode) === 0; - }, - isDateInRange: function (date, mode, minDate, maxDate) { - if (!minDate && !maxDate) { - var startDate = module.get.startDate(); - minDate = startDate && settings.minDate ? new Date(Math.max(startDate, settings.minDate)) : startDate || settings.minDate; - maxDate = settings.maxDate; - } - minDate = minDate && new Date(minDate.getFullYear(), minDate.getMonth(), minDate.getDate(), minDate.getHours(), settings.minTimeGap * Math.ceil(minDate.getMinutes() / settings.minTimeGap)); - return !(!date || - (minDate && module.helper.dateDiff(date, minDate, mode) > 0) || - (maxDate && module.helper.dateDiff(maxDate, date, mode) > 0)); - }, - dateInRange: function (date, minDate, maxDate) { - if (!minDate && !maxDate) { - var startDate = module.get.startDate(); - minDate = startDate && settings.minDate ? new Date(Math.max(startDate, settings.minDate)) : startDate || settings.minDate; - maxDate = settings.maxDate; - } - minDate = minDate && new Date(minDate.getFullYear(), minDate.getMonth(), minDate.getDate(), minDate.getHours(), settings.minTimeGap * Math.ceil(minDate.getMinutes() / settings.minTimeGap)); - var isTimeOnly = settings.type === 'time'; - return !date ? date : - (minDate && module.helper.dateDiff(date, minDate, 'minute') > 0) ? - (isTimeOnly ? module.helper.mergeDateTime(date, minDate) : minDate) : - (maxDate && module.helper.dateDiff(maxDate, date, 'minute') > 0) ? - (isTimeOnly ? module.helper.mergeDateTime(date, maxDate) : maxDate) : - date; - }, - mergeDateTime: function (date, time) { - return (!date || !time) ? time : - new Date(date.getFullYear(), date.getMonth(), date.getDate(), time.getHours(), time.getMinutes()); - }, - isTodayButton: function(element) { - return element.text() === settings.text.today; - } + className: { + calendar: 'calendar', + active: 'active', + popup: 'ui popup', + grid: 'ui equal width grid', + column: 'column', + table: 'ui celled center aligned unstackable table', + inverted: 'inverted', + prev: 'prev link', + next: 'next link', + prevIcon: 'chevron left icon', + nextIcon: 'chevron right icon', + link: 'link', + cell: 'link', + disabledCell: 'disabled', + weekCell: 'disabled', + adjacentCell: 'adjacent', + activeCell: 'active', + rangeCell: 'range', + focusCell: 'focus', + todayCell: 'today', + today: 'today link', + disabled: 'disabled', }, - 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); - } + metadata: { + date: 'date', + focusDate: 'focusDate', + startDate: 'startDate', + endDate: 'endDate', + minDate: 'minDate', + maxDate: 'maxDate', + mode: 'mode', + type: 'type', + monthOffset: 'monthOffset', + message: 'message', + class: 'class', + inverted: 'inverted', + variation: 'variation', + position: 'position', + month: 'month', + year: 'year', + hours: 'hours', + days: 'days', }, - 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 (Array.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.calendar.settings = { - - name : 'Calendar', - namespace : 'calendar', - - silent: false, - debug: false, - verbose: false, - performance: false, - - type : 'datetime', // picker type, can be 'datetime', 'date', 'time', 'month', or 'year' - firstDayOfWeek : 0, // day for first day column (0 = Sunday) - constantHeight : true, // add rows to shorter months to keep day calendar height consistent (6 rows) - today : false, // show a 'today/now' button at the bottom of the calendar - closable : true, // close the popup after selecting a date/time - monthFirst : true, // month before day when parsing/converting date from/to text - touchReadonly : true, // set input to readonly on touch devices - inline : false, // create the calendar inline instead of inside a popup - on : null, // when to show the popup (defaults to 'focus' for input, 'click' for others) - initialDate : null, // date to display initially when no date is selected (null = now) - startMode : false, // display mode to start in, can be 'year', 'month', 'day', 'hour', 'minute' (false = 'day') - minDate : null, // minimum date/time that can be selected, dates/times before are disabled - maxDate : null, // maximum date/time that can be selected, dates/times after are disabled - ampm : true, // show am/pm in time mode - disableYear : false, // disable year selection mode - disableMonth : false, // disable month selection mode - disableMinute : false, // disable minute selection mode - formatInput : true, // format the input text upon input blur and module creation - startCalendar : null, // jquery object or selector for another calendar that represents the start date of a date range - endCalendar : null, // jquery object or selector for another calendar that represents the end date of a date range - multiMonth : 1, // show multiple months when in 'day' mode - minTimeGap : 5, - showWeekNumbers : null, // show Number of Week at the very first column of a dayView - disabledDates : [], // specific day(s) which won't be selectable and contain additional information. - disabledDaysOfWeek : [], // day(s) which won't be selectable(s) (0 = Sunday) - enabledDates : [], // specific day(s) which will be selectable, all other days will be disabled - eventDates : [], // specific day(s) which will be shown in a different color and using tooltips - centuryBreak : 60, // starting short year until 99 where it will be assumed to belong to the last century - currentCentury : 2000, // century to be added to 2-digit years (00 to {centuryBreak}-1) - selectAdjacentDays : false, // The calendar can show dates from adjacent month. These adjacent month dates can also be made selectable. - // popup options ('popup', 'on', 'hoverable', and show/hide callbacks are overridden) - popupOptions: { - position: 'bottom left', - lastResort: 'bottom left', - prefer: 'opposite', - hideOnScroll: false - }, - - text: { - days: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], - months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], - monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - today: 'Today', - now: 'Now', - am: 'AM', - pm: 'PM', - weekNo: 'Week' - }, - - formatter: { - header: function (date, mode, settings) { - return mode === 'year' ? settings.formatter.yearHeader(date, settings) : - mode === 'month' ? settings.formatter.monthHeader(date, settings) : - mode === 'day' ? settings.formatter.dayHeader(date, settings) : - mode === 'hour' ? settings.formatter.hourHeader(date, settings) : - settings.formatter.minuteHeader(date, settings); - }, - yearHeader: function (date, settings) { - var decadeYear = Math.ceil(date.getFullYear() / 10) * 10; - return (decadeYear - 9) + ' - ' + (decadeYear + 2); - }, - monthHeader: function (date, settings) { - return date.getFullYear(); - }, - dayHeader: function (date, settings) { - var month = settings.text.months[date.getMonth()]; - var year = date.getFullYear(); - return month + ' ' + year; - }, - hourHeader: function (date, settings) { - return settings.formatter.date(date, settings); - }, - minuteHeader: function (date, settings) { - return settings.formatter.date(date, settings); - }, - dayColumnHeader: function (day, settings) { - return settings.text.days[day]; - }, - datetime: function (date, settings) { - if (!date) { - return ''; - } - var day = settings.type === 'time' ? '' : settings.formatter.date(date, settings); - var time = settings.type.indexOf('time') < 0 ? '' : settings.formatter.time(date, settings, false); - var separator = settings.type === 'datetime' ? ' ' : ''; - return day + separator + time; - }, - date: function (date, settings) { - if (!date) { - return ''; - } - var day = date.getDate(); - var month = settings.text.months[date.getMonth()]; - var year = date.getFullYear(); - return settings.type === 'year' ? year : - settings.type === 'month' ? month + ' ' + year : - (settings.monthFirst ? month + ' ' + day : day + ' ' + month) + ', ' + year; - }, - time: function (date, settings, forCalendar) { - if (!date) { - return ''; - } - var hour = date.getHours(); - var minute = date.getMinutes(); - var ampm = ''; - if (settings.ampm) { - ampm = ' ' + (hour < 12 ? settings.text.am : settings.text.pm); - hour = hour === 0 ? 12 : hour > 12 ? hour - 12 : hour; - } - return hour + ':' + (minute < 10 ? '0' : '') + minute + ampm; - }, - today: function (settings) { - return settings.type === 'date' ? settings.text.today : settings.text.now; - }, - cell: function (cell, date, cellOptions) { - } - }, - - parser: { - date: function (text, settings) { - if (text instanceof Date) { - return text; - } - if (!text) { - return null; - } - text = String(text).trim(); - if (text.length === 0) { - return null; - } - if(text.match(/^[0-9]{4}[\/\-\.][0-9]{2}[\/\-\.][0-9]{2}$/)){ - text += ' 00:00:00'; - } - // Reverse date and month in some cases - text = settings.monthFirst || !text.match(/^[0-9]{2}[\/\-\.]/) ? text : text.replace(/[\/\-\.]/g,'/').replace(/([0-9]+)\/([0-9]+)/,'$2/$1'); - var textDate = new Date(text); - if(!isNaN(textDate.getDate())) { - return textDate; - } - text = text.toLowerCase(); - - var i, j, k; - var minute = -1, hour = -1, day = -1, month = -1, year = -1; - var isAm = undefined; - - var isTimeOnly = settings.type === 'time'; - var isDateOnly = settings.type.indexOf('time') < 0; - - var words = text.split(settings.regExp.dateWords), word; - var numbers = text.split(settings.regExp.dateNumbers), number; - - var parts; - var monthString; - - if (!isDateOnly) { - //am/pm - isAm = $.inArray(settings.text.am.toLowerCase(), words) >= 0 ? true : - $.inArray(settings.text.pm.toLowerCase(), words) >= 0 ? false : undefined; - - //time with ':' - for (i = 0; i < numbers.length; i++) { - number = numbers[i]; - if (number.indexOf(':') >= 0) { - if (hour < 0 || minute < 0) { - parts = number.split(':'); - for (k = 0; k < Math.min(2, parts.length); k++) { - j = parseInt(parts[k]); - if (isNaN(j)) { - j = 0; - } - if (k === 0) { - hour = j % 24; - } else { - minute = j % 60; - } - } - } - numbers.splice(i, 1); - } - } - } - - if (!isTimeOnly) { - //textual month - for (i = 0; i < words.length; i++) { - word = words[i]; - if (word.length <= 0) { - continue; - } - for (j = 0; j < settings.text.months.length; j++) { - monthString = settings.text.months[j]; - monthString = monthString.substring(0, word.length).toLowerCase(); - if (monthString === word) { - month = j + 1; - break; - } - } - if (month >= 0) { - break; - } - } - - //year > settings.centuryBreak - for (i = 0; i < numbers.length; i++) { - j = parseInt(numbers[i]); - if (isNaN(j)) { - continue; - } - if (j >= settings.centuryBreak && i === numbers.length-1) { - if (j <= 99) { - j += settings.currentCentury - 100; - } - year = j; - numbers.splice(i, 1); - break; - } - } - - //numeric month - if (month < 0) { - for (i = 0; i < numbers.length; i++) { - k = i > 1 || settings.monthFirst ? i : i === 1 ? 0 : 1; - j = parseInt(numbers[k]); - if (isNaN(j)) { - continue; - } - if (1 <= j && j <= 12) { - month = j; - numbers.splice(k, 1); - break; - } - } - } - - //day - for (i = 0; i < numbers.length; i++) { - j = parseInt(numbers[i]); - if (isNaN(j)) { - continue; - } - if (1 <= j && j <= 31) { - day = j; - numbers.splice(i, 1); - break; - } - } - - //year <= settings.centuryBreak - if (year < 0) { - for (i = numbers.length - 1; i >= 0; i--) { - j = parseInt(numbers[i]); - if (isNaN(j)) { - continue; - } - if (j <= 99) { - j += settings.currentCentury; - } - year = j; - numbers.splice(i, 1); - break; - } - } - } - - if (!isDateOnly) { - //hour - if (hour < 0) { - for (i = 0; i < numbers.length; i++) { - j = parseInt(numbers[i]); - if (isNaN(j)) { - continue; - } - if (0 <= j && j <= 23) { - hour = j; - numbers.splice(i, 1); - break; - } - } - } - - //minute - if (minute < 0) { - for (i = 0; i < numbers.length; i++) { - j = parseInt(numbers[i]); - if (isNaN(j)) { - continue; - } - if (0 <= j && j <= 59) { - minute = j; - numbers.splice(i, 1); - break; - } - } - } - } - - if (minute < 0 && hour < 0 && day < 0 && month < 0 && year < 0) { - return null; - } - - if (minute < 0) { - minute = 0; - } - if (hour < 0) { - hour = 0; - } - if (day < 0) { - day = 1; - } - if (month < 0) { - month = 1; - } - if (year < 0) { - year = new Date().getFullYear(); - } - - if (isAm !== undefined) { - if (isAm) { - if (hour === 12) { - hour = 0; - } - } else if (hour < 12) { - hour += 12; - } - } - - var date = new Date(year, month - 1, day, hour, minute); - if (date.getMonth() !== month - 1 || date.getFullYear() !== year) { - //month or year don't match up, switch to last day of the month - date = new Date(year, month, 0, hour, minute); - } - return isNaN(date.getTime()) ? null : date; - } - }, - - // callback before date is changed, return false to cancel the change - onBeforeChange: function (date, text, mode) { - return true; - }, - - // callback when date changes - onChange: function (date, text, mode) { - }, - - // callback before show animation, return false to prevent show - onShow: function () { - }, - - // callback after show animation - onVisible: function () { - }, - - // callback before hide animation, return false to prevent hide - onHide: function () { - }, - - // callback after hide animation - onHidden: function () { - }, - - // callback before item is selected, return false to prevent selection - onSelect: function (date, mode) { - }, - - // is the given date disabled? - isDisabled: function (date, mode) { - return false; - }, - - selector: { - popup: '.ui.popup', - input: 'input', - activator: 'input', - append: '.inline.field,.inline.fields' - }, - - regExp: { - dateWords: /[^A-Za-z\u00C0-\u024F]+/g, - dateNumbers: /[^\d:]+/g - }, - - error: { - popup: 'UI Popup, a required component is not included in this page', - method: 'The method you called is not defined.' - }, - - className: { - calendar: 'calendar', - active: 'active', - popup: 'ui popup', - grid: 'ui equal width grid', - column: 'column', - table: 'ui celled center aligned unstackable table', - prev: 'prev link', - next: 'next link', - prevIcon: 'chevron left icon', - nextIcon: 'chevron right icon', - link: 'link', - cell: 'link', - disabledCell: 'disabled', - weekCell: 'disabled', - adjacentCell: 'adjacent', - activeCell: 'active', - rangeCell: 'range', - focusCell: 'focus', - todayCell: 'today', - today: 'today link' - }, - - metadata: { - date: 'date', - focusDate: 'focusDate', - startDate: 'startDate', - endDate: 'endDate', - minDate: 'minDate', - maxDate: 'maxDate', - mode: 'mode', - type: 'type', - monthOffset: 'monthOffset', - message: 'message', - class: 'class', - month: 'month', - year: 'year' - }, - - eventClass: 'blue' -}; + eventClass: 'blue', + }; })(jQuery, window, document); diff --git a/src/main/resources/kweb/static/plugins/fomantic/components/calendar.min.css b/src/main/resources/kweb/static/plugins/fomantic/components/calendar.min.css index e405529186..5091c47da8 100644 --- a/src/main/resources/kweb/static/plugins/fomantic/components/calendar.min.css +++ b/src/main/resources/kweb/static/plugins/fomantic/components/calendar.min.css @@ -1,9 +1,9 @@ /*! - * # Fomantic-UI - Calendar - * http://github.com/fomantic/Fomantic-UI/ + * # Fomantic-UI 2.9.3 - Calendar + * https://github.com/fomantic/Fomantic-UI/ * * * Released under the MIT license - * http://opensource.org/licenses/MIT + * https://opensource.org/licenses/MIT * - */.ui.calendar .ui.popup{max-width:none;padding:0;border:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ui.calendar .calendar:focus{outline:0}.ui.calendar .ui.popup .ui.grid{display:block;white-space:nowrap}.ui.calendar .ui.popup .ui.grid>.column{width:auto}.ui.calendar .ui.table.minute,.ui.calendar .ui.table.month,.ui.calendar .ui.table.year{min-width:15em}.ui.calendar .ui.table.day{min-width:18em}.ui.calendar .ui.table.day.andweek{min-width:22em}.ui.calendar .ui.table.hour{min-width:20em}.ui.calendar .ui.table tr td,.ui.calendar .ui.table tr th{padding:.5em;white-space:nowrap}.ui.calendar .ui.table tr th{border-left:none}.ui.calendar .ui.table tr th .icon{margin:0}.ui.calendar .ui.table tr:first-child th{position:relative;padding-left:0;padding-right:0}.ui.calendar .ui.table.day tr:first-child th{border:none}.ui.calendar .ui.table.day tr:nth-child(2) th{padding-top:.2em;padding-bottom:.3em}.ui.calendar .ui.table tr td{padding-left:.1em;padding-right:.1em}.ui.calendar .ui.table tr .link{cursor:pointer}.ui.calendar .ui.table tr .prev.link{width:14.28571429%;position:absolute;left:0}.ui.calendar .ui.table tr .next.link{width:14.28571429%;position:absolute;right:0}.ui.calendar .ui.table tr .disabled{pointer-events:auto;cursor:default;color:rgba(40,40,40,.3)}.ui.calendar .ui.table tr .adjacent:not(.disabled){color:rgba(0,0,0,.6);background:rgba(0,0,0,.03)}.ui.calendar .ui.table tr td.today{font-weight:700}.ui.calendar .ui.table tr td.range{background:rgba(0,0,0,.05);color:rgba(0,0,0,.95);-webkit-box-shadow:none;box-shadow:none}.ui.calendar .ui.table.inverted tr td.range{background:rgba(255,255,255,.08);color:#fff;-webkit-box-shadow:none;box-shadow:none}.ui.calendar:not(.disabled) .calendar.active .ui.table tbody tr td.focus,.ui.calendar:not(.disabled) .calendar:focus .ui.table tbody tr td.focus{-webkit-box-shadow:inset 0 0 0 1px #85b7d9;box-shadow:inset 0 0 0 1px #85b7d9}.ui.calendar:not(.disabled) .calendar.active .ui.table.inverted tbody tr td.focus,.ui.calendar:not(.disabled) .calendar:focus .ui.table.inverted tbody tr td.focus{-webkit-box-shadow:inset 0 0 0 1px #85b7d9;box-shadow:inset 0 0 0 1px #85b7d9}.ui.disabled.calendar{opacity:.45}.ui.disabled.calendar .ui.table tr .link,.ui.disabled.calendar>.input{pointer-events:none} \ No newline at end of file + */.ui.calendar.popup{max-width:none;padding:0;border:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ui.calendar.popup.inverted::before{background:#2b2b2b}.ui.calendar .calendar:focus,.ui.calendar.popup:focus{outline:0}.ui.calendar.popup .ui.grid{display:block;white-space:nowrap}.ui.calendar.popup .ui.grid>.column{width:auto}.ui.calendar .ui.table.minute,.ui.calendar .ui.table.month,.ui.calendar .ui.table.year{min-width:15em}.ui.calendar .ui.table.day{min-width:18em}.ui.calendar .ui.table.day.andweek{min-width:22em}.ui.calendar .ui.table.hour{min-width:20em}.ui.calendar .ui.table tr td,.ui.calendar .ui.table tr th{padding:.5em;white-space:nowrap}.ui.calendar .ui.table tr th{border-left:none}.ui.calendar .ui.table tr th i.icon{margin:0}.ui.calendar .ui.table tr:first-child th{position:relative;padding-left:0;padding-right:0}.ui.calendar .ui.table.day tr:first-child th{border:none}.ui.calendar .ui.table.day tr:nth-child(2) th{padding-top:.2em;padding-bottom:.3em}.ui.calendar .ui.table tr td{padding-left:.1em;padding-right:.1em}.ui.calendar .ui.table tr .link{cursor:pointer}.ui.calendar .ui.table tr .prev.link{width:14.28571429%;position:absolute;left:0}.ui.calendar .ui.table tr .next.link{width:14.28571429%;position:absolute;right:0}.ui.ui.calendar .ui.table tr .disabled{pointer-events:auto;cursor:default;color:rgba(40,40,40,.3)}.ui.calendar .ui.table tr .adjacent:not(.disabled):not(.active){color:rgba(0,0,0,.6);background:rgba(0,0,0,.03)}.ui.calendar .ui.table tr td.today{font-weight:700}.ui.calendar .ui.table tr td.range{background:rgba(0,0,0,.05);color:rgba(0,0,0,.95);box-shadow:none}.ui.calendar:not(.disabled).popup.active .ui.table tbody tr td.focus,.ui.calendar:not(.disabled):focus .ui.table tbody tr td.focus{box-shadow:inset 0 0 0 1px #85b7d9}.ui.inverted.calendar .ui.table.inverted tr td.range{background:rgba(255,255,255,.08);color:#fff;box-shadow:none}.ui.inverted.calendar:not(.disabled) .calendar:focus .ui.table.inverted tbody tr td.focus,.ui.inverted.calendar:not(.disabled).popup.active .ui.table.inverted tbody tr td.focus{box-shadow:inset 0 0 0 1px #85b7d9}.ui.inverted.calendar .ui.ui.ui.inverted.table tr .disabled{color:rgba(225,225,225,.3)}.ui.inverted.calendar .ui.inverted.table tr .adjacent:not(.disabled):not(.active){color:rgba(255,255,255,.8);background:rgba(255,255,255,.02)}.ui.ui.ui.calendar.popup>.ui.ui.grid{margin:-1rem}.ui.ui.ui.calendar.popup>.ui.ui.grid>.column:not(:first-child){padding-left:0}.ui.ui.ui.calendar.popup>.ui.ui.grid>.column:not(:first-child)>.ui.table{border-top-left-radius:0;border-bottom-left-radius:0}.ui.ui.ui.calendar.popup>.ui.ui.grid>.column:not(:last-child){padding-right:0}.ui.ui.ui.calendar.popup>.ui.ui.grid>.column:not(:last-child)>.ui.table{border-top-right-radius:0;border-bottom-right-radius:0}.ui.mini.calendar,.ui.mini.calendar .ui.table tr td,.ui.mini.calendar .ui.table tr th{font-size:.78571429rem}.ui.mini.calendar .ui.table.minute,.ui.mini.calendar .ui.table.month,.ui.mini.calendar .ui.table.year{min-width:11.78571429em}.ui.mini.calendar .ui.table.day{min-width:14.14285714em}.ui.mini.calendar .ui.table.day.andweek{min-width:17.28571429em}.ui.mini.calendar .ui.table.hour{min-width:15.71428571em}.ui.tiny.calendar,.ui.tiny.calendar .ui.table tr td,.ui.tiny.calendar .ui.table tr th{font-size:.85714286rem}.ui.tiny.calendar .ui.table.minute,.ui.tiny.calendar .ui.table.month,.ui.tiny.calendar .ui.table.year{min-width:12.85714286em}.ui.tiny.calendar .ui.table.day{min-width:15.42857143em}.ui.tiny.calendar .ui.table.day.andweek{min-width:18.85714286em}.ui.tiny.calendar .ui.table.hour{min-width:17.14285714em}.ui.small.calendar,.ui.small.calendar .ui.table tr td,.ui.small.calendar .ui.table tr th{font-size:.92857143rem}.ui.small.calendar .ui.table.minute,.ui.small.calendar .ui.table.month,.ui.small.calendar .ui.table.year{min-width:13.92857143em}.ui.small.calendar .ui.table.day{min-width:16.71428571em}.ui.small.calendar .ui.table.day.andweek{min-width:20.42857143em}.ui.small.calendar .ui.table.hour{min-width:18.57142857em}.ui.large.calendar,.ui.large.calendar .ui.table tr td,.ui.large.calendar .ui.table tr th{font-size:1.14285714rem}.ui.large.calendar .ui.table.minute,.ui.large.calendar .ui.table.month,.ui.large.calendar .ui.table.year{min-width:17.14285714em}.ui.large.calendar .ui.table.day{min-width:20.57142857em}.ui.large.calendar .ui.table.day.andweek{min-width:25.14285714em}.ui.large.calendar .ui.table.hour{min-width:22.85714286em}.ui.big.calendar,.ui.big.calendar .ui.table tr td,.ui.big.calendar .ui.table tr th{font-size:1.28571429rem}.ui.big.calendar .ui.table.minute,.ui.big.calendar .ui.table.month,.ui.big.calendar .ui.table.year{min-width:19.28571429em}.ui.big.calendar .ui.table.day{min-width:23.14285714em}.ui.big.calendar .ui.table.day.andweek{min-width:28.28571429em}.ui.big.calendar .ui.table.hour{min-width:25.71428571em}.ui.huge.calendar,.ui.huge.calendar .ui.table tr td,.ui.huge.calendar .ui.table tr th{font-size:1.42857143rem}.ui.huge.calendar .ui.table.minute,.ui.huge.calendar .ui.table.month,.ui.huge.calendar .ui.table.year{min-width:21.42857143em}.ui.huge.calendar .ui.table.day{min-width:25.71428571em}.ui.huge.calendar .ui.table.day.andweek{min-width:31.42857143em}.ui.huge.calendar .ui.table.hour{min-width:28.57142857em}.ui.massive.calendar,.ui.massive.calendar .ui.table tr td,.ui.massive.calendar .ui.table tr th{font-size:1.71428571rem}.ui.massive.calendar .ui.table.minute,.ui.massive.calendar .ui.table.month,.ui.massive.calendar .ui.table.year{min-width:25.71428571em}.ui.massive.calendar .ui.table.day{min-width:30.85714286em}.ui.massive.calendar .ui.table.day.andweek{min-width:37.71428571em}.ui.massive.calendar .ui.table.hour{min-width:34.28571429em}.ui.disabled.calendar{opacity:.45}.ui.disabled.calendar .ui.table tr .link,.ui.disabled.calendar>.input{pointer-events:none} \ No newline at end of file diff --git a/src/main/resources/kweb/static/plugins/fomantic/components/calendar.min.js b/src/main/resources/kweb/static/plugins/fomantic/components/calendar.min.js index cfa5572b12..e88d314147 100644 --- a/src/main/resources/kweb/static/plugins/fomantic/components/calendar.min.js +++ b/src/main/resources/kweb/static/plugins/fomantic/components/calendar.min.js @@ -1,11 +1,11 @@ - /* - * # Fomantic UI - 2.8.6 +/* + * # Fomantic UI - 2.9.3 * https://github.com/fomantic/Fomantic-UI - * http://fomantic-ui.com/ + * https://fomantic-ui.com/ * - * Copyright 2014 Contributors + * Copyright 2023 Contributors * Released under the MIT license - * http://opensource.org/licenses/MIT + * https://opensource.org/licenses/MIT * */ -!function(he,e,M,x){"use strict";he.isFunction=he.isFunction||function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},e=void 0!==e&&e.Math==Math?e:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")(),he.fn.calendar=function(r){var g,e=he(this),o=e.selector||"",D=(new Date).getTime(),y=[],v=r,b="string"==typeof v,C=[].slice.call(arguments,1),w={5:{row:4,column:3},10:{row:3,column:2},15:{row:2,column:2},20:{row:3,column:1},30:{row:2,column:1}};return e.each(function(){var p,se,ue=he.isPlainObject(r)?he.extend(!0,{},he.fn.calendar.settings,r):he.extend({},he.fn.calendar.settings),de=ue.className,e=ue.namespace,i=ue.selector,fe=ue.formatter,a=ue.parser,pe=ue.metadata,ce=w[ue.minTimeGap],l=ue.error,t="."+e,n="module-"+e,s=he(this),u=s.find(i.input),me=s.find(i.popup),d=s.find(i.activator),f=this,c=s.data(n),m=!1,h=!1;se={initialize:function(){se.debug("Initializing calendar for",f,s),p=se.get.isTouch(),se.setup.config(),se.setup.popup(),se.setup.inline(),se.setup.input(),se.setup.date(),se.create.calendar(),se.bind.events(),se.instantiate()},instantiate:function(){se.verbose("Storing instance of calendar"),c=se,s.data(n,c)},destroy:function(){se.verbose("Destroying previous calendar for",f),s.removeData(n),se.unbind.events()},setup:{config:function(){null!==se.get.minDate()&&se.set.minDate(s.data(pe.minDate)),null!==se.get.maxDate()&&se.set.maxDate(s.data(pe.maxDate)),se.setting("type",se.get.type()),se.setting("on",ue.on||(u.length?"focus":"click"))},popup:function(){if(!ue.inline&&(d.length||(d=s.children().first()).length))if(he.fn.popup!==x){if(!me.length){var e=d.parent(),t=0!==e.closest(i.append).length?"appendTo":"prependTo";me=he("
").addClass(de.popup)[t](e)}me.addClass(de.calendar);var a=ue.onVisible,n=ue.onHidden;u.length||(me.attr("tabindex","0"),a=function(){return se.focus(),ue.onVisible.apply(me,arguments)},n=function(){return se.blur(),ue.onHidden.apply(me,arguments)});var r=se.setting("on"),o=he.extend({},ue.popupOptions,{popup:me,on:r,hoverable:"hover"===r,closable:"click"===r,onShow:function(){return se.set.focusDate(se.get.date()),se.set.mode(ue.startMode),ue.onShow.apply(me,arguments)},onVisible:a,onHide:ue.onHide,onHidden:n});se.popup(o)}else se.error(l.popup)},inline:function(){d.length&&!ue.inline||(me=he("
").addClass(de.calendar).appendTo(s),u.length||me.attr("tabindex","0"))},input:function(){ue.touchReadonly&&u.length&&p&&u.prop("readonly",!0)},date:function(){var e;ue.initialDate?e=a.date(ue.initialDate,ue):s.data(pe.date)!==x?e=a.date(s.data(pe.date),ue):u.length&&(e=a.date(u.val(),ue)),se.set.date(e,ue.formatInput,!1)}},create:{calendar:function(){var e,t,a,n,r,o,i,l=se.get.mode(),s=new Date,u=se.get.date(),d=se.get.focusDate(),f=se.helper.dateInRange(d||u||ue.initialDate||s);d||(d=f,se.set.focusDate(d,!1,!1));var p="year"===l,c="month"===l,m="day"===l,h="hour"===l,g="minute"===l,D="time"===ue.type,y=Math.max(ue.multiMonth,1),v=m?se.get.monthOffset():0,b=f.getMinutes(),C=f.getHours(),w=f.getDate(),M=f.getMonth()+v,x=f.getFullYear(),T=m?ue.showWeekNumbers?8:7:h?4:ce.column,k=m||h?6:ce.row,O=m?y:1,F=me,N=F.hasClass("left")?"right center":"left center";for(F.empty(),1").addClass(de.grid).appendTo(F)),n=0;n").addClass(de.column).appendTo(i);var A=M+n,H=(new Date(x,A,1).getDay()-ue.firstDayOfWeek%7+7)%7;if(!ue.constantHeight&&m){var Y=new Date(x,A+1,0).getDate()+H;k=Math.ceil(Y/7)}var I=p?10:c?1:0,E=m?1:0,j=h||g?1:0,q=h||g?w:1,W=new Date(x-I,A-E,q-j,C),R=new Date(x+I,A+E,q+j,C),S=p?new Date(10*Math.ceil(x/10)-9,0,0):c?new Date(x,0,0):m?new Date(x,A,0):new Date(x,A,w,-1),V=p?new Date(10*Math.ceil(x/10)+1,0,1):c?new Date(x+1,0,1):m?new Date(x,A+1,1):new Date(x,A,w+1),G=l;m&&ue.showWeekNumbers&&(G+=" andweek");var P=he("").addClass(de.table).addClass(G).appendTo(F),B=T;if(!D){var K=he("").appendTo(P);r=he("").appendTo(K),o=he("").appendTo(K),ue.showWeekNumbers&&((o=he("").appendTo(P);for(e=p?10*Math.ceil(x/10)-9:m?1-H:0,t=0;t").appendTo(Q),m&&ue.showWeekNumbers&&((o=he("").appendTo(Q),le=he("
").attr("colspan",""+T).appendTo(r);var U=p||c?new Date(x,0,1):m?new Date(x,A,1):new Date(x,A,w,C,b),J=he("").addClass(de.link).appendTo(o);J.text(fe.header(U,l,ue));var z=c?ue.disableYear?"day":"year":m?ue.disableMonth?"year":"month":"day";if(J.data(pe.mode,z),0===n){var L=he("").addClass(de.prev).appendTo(o);L.data(pe.focusDate,W),L.toggleClass(de.disabledCell,!se.helper.isDateInRange(S,l)),he("").addClass(de.prevIcon).appendTo(L)}if(n===O-1){var $=he("").addClass(de.next).appendTo(o);$.data(pe.focusDate,R),$.toggleClass(de.disabledCell,!se.helper.isDateInRange(V,l)),he("").addClass(de.nextIcon).appendTo($)}if(m)for(r=he("
").appendTo(r)).text(ue.text.weekNo),o.addClass(de.weekCell),B--),e=0;e").appendTo(r)).text(fe.dayColumnHeader((e+ue.firstDayOfWeek)%7,ue))}var Q=he("
").appendTo(r)).text(se.get.weekOfYear(x,A,e+1-ue.firstDayOfWeek)),o.addClass(de.weekCell)),a=0;a").addClass(de.cell).appendTo(r)).text(X),o.data(pe.date,Z);var _=m&&Z.getMonth()!==(A+12)%12,ee=!ue.selectAdjacentDays&&_||!se.helper.isDateInRange(Z,l)||ue.isDisabled(Z,l)||se.helper.isDisabled(Z,l)||!se.helper.isEnabled(Z,l);if(ee){var te=se.helper.findDayAsObject(Z,l,ue.disabledDates);null!==te&&te[pe.message]&&(o.attr("data-tooltip",te[pe.message]),o.attr("data-position",N))}else{var ae=se.helper.findDayAsObject(Z,l,ue.eventDates);null!==ae&&(o.addClass(ae[pe.class]||ue.eventClass),ae[pe.message]&&(o.attr("data-tooltip",ae[pe.message]),o.attr("data-position",N)))}var ne=se.helper.dateEqual(Z,u,l),re=se.helper.dateEqual(Z,s,l);o.toggleClass(de.adjacentCell,_),o.toggleClass(de.disabledCell,ee),o.toggleClass(de.activeCell,ne&&!_),h||g||o.toggleClass(de.todayCell,!_&&re);var oe={mode:l,adjacent:_,disabled:ee,active:ne,today:re};fe.cell(o,Z,oe),se.helper.dateEqual(Z,d,l)&&se.set.focusDate(Z,!1,!1)}if(ue.today){var ie=he("
").attr("colspan",""+T).addClass(de.today).appendTo(ie);le.text(fe.today(ue)),le.data(pe.date,s)}se.update.focus(!1,P)}}},update:{focus:function(e,t){t=t||me;var l=se.get.mode(),a=se.get.date(),s=se.get.focusDate(),u=se.get.startDate(),d=se.get.endDate(),f=(e?s:null)||a||(p?null:s);t.find("td").each(function(){var e=he(this),t=e.data(pe.date);if(t){var a=e.hasClass(de.disabledCell),n=e.hasClass(de.activeCell),r=e.hasClass(de.adjacentCell),o=se.helper.dateEqual(t,s,l),i=!!f&&(!!u&&se.helper.isDateInRange(t,l,u,f)||!!d&&se.helper.isDateInRange(t,l,f,d));e.toggleClass(de.focusCell,o&&(!p||m)&&(!r||ue.selectAdjacentDays&&r)&&!a),se.helper.isTodayButton(e)||e.toggleClass(de.rangeCell,i&&!n&&!a)}})}},refresh:function(){se.create.calendar()},bind:{events:function(){se.debug("Binding events"),me.on("mousedown"+t,se.event.mousedown),me.on("touchstart"+t,se.event.mousedown),me.on("mouseup"+t,se.event.mouseup),me.on("touchend"+t,se.event.mouseup),me.on("mouseover"+t,se.event.mouseover),u.length?(u.on("input"+t,se.event.inputChange),u.on("focus"+t,se.event.inputFocus),u.on("blur"+t,se.event.inputBlur),u.on("keydown"+t,se.event.keydown)):me.on("keydown"+t,se.event.keydown)}},unbind:{events:function(){se.debug("Unbinding events"),me.off(t),u.length&&u.off(t)}},event:{mouseover:function(e){var t=he(e.target).data(pe.date),a=1===e.buttons;t&&se.set.focusDate(t,!1,!0,a)},mousedown:function(e){u.length&&e.preventDefault(),m=0<=e.type.indexOf("touch");var t=he(e.target).data(pe.date);t&&se.set.focusDate(t,!1,!0,!0)},mouseup:function(e){se.focus(),e.preventDefault(),e.stopPropagation(),m=!1;var t=he(e.target);if(!t.hasClass("disabled")){var a=t.parent();(a.data(pe.date)||a.data(pe.focusDate)||a.data(pe.mode))&&(t=a);var n=t.data(pe.date),r=t.data(pe.focusDate),o=t.data(pe.mode);if(n&&!1!==ue.onSelect.call(f,n,se.get.mode())){var i=t.hasClass(de.today);se.selectDate(n,i)}else r?se.set.focusDate(r):o&&se.set.mode(o)}},keydown:function(e){var t=e.which;if(27!==t&&9!==t||se.popup("hide"),se.popup("is visible"))if(37===t||38===t||39===t||40===t){var a="day"===(f=se.get.mode())?7:"hour"===f?4:"minute"===f?ce.column:3,n=37===t?-1:38===t?-a:39==t?1:a;n*="minute"===f?ue.minTimeGap:1;var r=se.get.focusDate()||se.get.date()||new Date,o=r.getFullYear()+("year"===f?n:0),i=r.getMonth()+("month"===f?n:0),l=r.getDate()+("day"===f?n:0),s=r.getHours()+("hour"===f?n:0),u=r.getMinutes()+("minute"===f?n:0),d=new Date(o,i,l,s,u);"time"===ue.type&&(d=se.helper.mergeDateTime(r,d)),se.helper.isDateInRange(d,f)&&se.set.focusDate(d)}else if(13===t){var f=se.get.mode(),p=se.get.focusDate();p&&!ue.isDisabled(p,f)&&!se.helper.isDisabled(p,f)&&se.helper.isEnabled(p,f)&&se.selectDate(p),e.preventDefault(),e.stopPropagation()}38!==t&&40!==t||(e.preventDefault(),se.popup("show"))},inputChange:function(){var e=u.val(),t=a.date(e,ue);se.set.date(t,!1)},inputFocus:function(){me.addClass(de.active)},inputBlur:function(){if(me.removeClass(de.active),ue.formatInput){var e=se.get.date(),t=fe.datetime(e,ue);u.val(t)}}},get:{weekOfYear:function(e,t,a){var n,r,o;return n=Date.UTC(e,t,a+3)/864e5,r=Math.floor(n/7),o=new Date(6048e5*r).getUTCFullYear(),r-Math.floor(Date.UTC(o,0,7)/6048e5)+1},date:function(){return se.helper.sanitiseDate(s.data(pe.date))||null},inputDate:function(){return u.val()},focusDate:function(){return s.data(pe.focusDate)||null},startDate:function(){var e=se.get.calendarModule(ue.startCalendar);return(e?e.get.date():s.data(pe.startDate))||null},endDate:function(){var e=se.get.calendarModule(ue.endCalendar);return(e?e.get.date():s.data(pe.endDate))||null},minDate:function(){return s.data(pe.minDate)||null},maxDate:function(){return s.data(pe.maxDate)||null},monthOffset:function(){return s.data(pe.monthOffset)||0},mode:function(){var e=s.data(pe.mode)||ue.startMode,t=se.get.validModes();return 0<=he.inArray(e,t)?e:"time"===ue.type?"hour":"month"===ue.type?"month":"year"===ue.type?"year":"day"},type:function(){return s.data(pe.type)||ue.type},validModes:function(){var e=[];return"time"!==ue.type&&(ue.disableYear&&"year"!==ue.type||e.push("year"),(ue.disableMonth||"year"===ue.type)&&"month"!==ue.type||e.push("month"),0<=ue.type.indexOf("date")&&e.push("day")),0<=ue.type.indexOf("time")&&(e.push("hour"),ue.disableMinute||e.push("minute")),e},isTouch:function(){try{return M.createEvent("TouchEvent"),!0}catch(e){return!1}},calendarModule:function(e){return e?(e instanceof he||(e=he(e).first()),e.data(n)):null}},set:{date:function(e,t,a){t=!1!==t,a=!1!==a,e=se.helper.sanitiseDate(e),e=se.helper.dateInRange(e);var n=se.get.mode(),r=fe.datetime(e,ue);if(a&&!1===ue.onBeforeChange.call(f,e,r,n))return!1;if(se.set.focusDate(e),ue.isDisabled(e,n))return!1;var o=se.get.endDate();o&&e&&o=e?se.verbose("Unable to set maxDate variable lower that minDate variable",e,ue.minDate):(se.setting("maxDate",e),se.set.dataKeyValue(pe.maxDate,e))},monthOffset:function(e,t){var a=Math.max(ue.multiMonth,1);e=Math.max(1-a,Math.min(0,e)),se.set.dataKeyValue(pe.monthOffset,e,t)},mode:function(e,t){se.set.dataKeyValue(pe.mode,e,t)},dataKeyValue:function(e,t,a){var n=s.data(e),r=n===t||n<=t&&t<=n;return t?s.data(e,t):s.removeData(e),(a=!1!==a&&!r)&&se.refresh(),!r}},selectDate:function(e,t){se.verbose("New date selection",e);var a=se.get.mode();if(t||"minute"===a||ue.disableMinute&&"hour"===a||"date"===ue.type&&"day"===a||"month"===ue.type&&"month"===a||"year"===ue.type&&"year"===a){if(!(!1===se.set.date(e))&&ue.closable){se.popup("hide");var n=se.get.calendarModule(ue.endCalendar);n&&("focus"!==n.setting("on")&&n.popup("show"),n.focus())}}else{var r="year"===a?ue.disableMonth?"day":"month":"month"===a?"day":"day"===a?"hour":"minute";se.set.mode(r),"hour"===a||"day"===a&&se.get.date()?se.set.date(e,!0,!1):se.set.focusDate(e)}},changeDate:function(e){se.set.date(e)},clear:function(){se.set.date(x)},popup:function(){return d.popup.apply(d,arguments)},focus:function(){u.length?u.focus():me.focus()},blur:function(){u.length?u.blur():me.blur()},helper:{isDisabled:function(a,n){return("day"===n||"month"===n||"year"===n)&&(-1!==ue.disabledDaysOfWeek.indexOf(a.getDay())||ue.disabledDates.some(function(e){if("string"==typeof e&&(e=se.helper.sanitiseDate(e)),e instanceof Date)return se.helper.dateEqual(a,e,n);if(null!==e&&"object"==typeof e)if(e[pe.year]){if("number"==typeof e[pe.year])return a.getFullYear()==e[pe.year];if(Array.isArray(e[pe.year]))return-1=t.centuryBreak&&a===y.length-1){n<=99&&(n+=t.currentCentury-100),c=n,y.splice(a,1);break}if(p<0)for(a=0;a",{id:ne.popupId}).addClass(_.popup).appendTo(y.find(z.context))):(e=0<(t=s.parent()).closest(n.append).length?"appendTo":"prependTo",oe("
").addClass(_.popup)[e](t)):te).addClass(_.calendar),ae&&te.addClass(_.inverted),e=function(){return ne.refreshTooltips(),z.onVisible.apply(te,arguments)},0===i.length&&(te.attr("tabindex","0"),e=function(){return ne.refreshTooltips(),ne.focus(),z.onVisible.apply(te,arguments)}),t=ne.setting("on"),t=oe.extend({},z.popupOptions,{popup:te,movePopup:!z.context,on:t,hoverable:"hover"===t,closable:"click"===t,onShow:function(){return ne.set.focusDate(ne.get.date()),ne.set.mode(ne.get.validatedMode(z.startMode)),z.onShow.apply(te,arguments)},onVisible:e,onHide:z.onHide,onHidden:function(){return ne.blur(),z.onHidden.apply(te,arguments)}}),ne.popup(t)))},inline:function(){0").addClass(_.calendar).appendTo(o),0===i.length&&te.attr("tabindex","0"))},input:function(){z.touchReadonly&&0").addClass(_.grid).appendTo(D)),t=0;t").addClass(_.column).appendTo(j));var D,v=G+t,B=(new Date(h,v,1).getDay()-z.firstDayOfWeek%7+7)%7,b=(!z.constantHeight&&l&&(b=new Date(h,v+1,0).getDate()+B,P=Math.ceil(b/7)),i?10:s?1:0),M=l?1:0,C=d||u?1:0,w=d||u?f:1,x=new Date(h-b,v-M,w-C,c),M=new Date(h+b,v+M,w+C,c),w=i?new Date(10*Math.ceil(h/10)-9,0,0):s?new Date(h,0,0):l?new Date(h,v,0):new Date(h,v,f,-1),C=i?new Date(10*Math.ceil(h/10)+1,0,1):s?new Date(h+1,0,1):l?new Date(h,v+1,1):new Date(h,v,f+1),T=a,T=(l&&z.showWeekNumbers&&(T+=" andweek"),oe("").addClass(_.table).addClass(T).addClass(re[m]+" column").appendTo(D)),K=(ae&&T.addClass(_.inverted),m);if(!W){var U=oe("").appendTo(T),Y=oe("").appendTo(U),k=oe("").appendTo(U),z.showWeekNumbers&&((k=oe("").appendTo(T),N=i?10*Math.ceil(h/10)-9:l?1-B:0,L=0;L").appendTo(J),l&&z.showWeekNumbers&&((k=oe("").appendTo(J),(w=oe("
").attr("colspan",""+m).appendTo(Y),O=i||s?new Date(h,0,1):l?new Date(h,v,1):new Date(h,v,f,c,p),A=oe("").addClass(_.link).appendTo(k),O=(A.text(ne.helper.dateFormat(Q[a+"Header"],O)),s?z.disableYear?"day":"year":l?z.disableMonth?"year":"month":"day");if(A.data(X.mode,O),0===t&&((A=oe("").addClass(_.prev).appendTo(k)).data(X.focusDate,x),A.toggleClass(_.disabledCell,!ne.helper.isDateInRange(w,a)),oe("").addClass(_.prevIcon).appendTo(A)),t===g-1&&((O=oe("").addClass(_.next).appendTo(k)).data(X.focusDate,M),O.toggleClass(_.disabledCell,!ne.helper.isDateInRange(C,a)),oe("").addClass(_.nextIcon).appendTo(O)),l)for(Y=oe("
").appendTo(Y)).text(z.text.weekNo),k.addClass(_.weekCell),K--),N=0;N").appendTo(Y)).text(Q.dayColumnHeader((N+z.firstDayOfWeek)%7,z))}for(var J=oe("
").appendTo(Y)).text(ne.get.weekOfYear(h,v,N+1-z.firstDayOfWeek)),k.addClass(_.weekCell)),e=0;e").addClass(_.cell).appendTo(Y)).text(E),k.data(X.date,H),l&&H.getMonth()!==(v+12)%12),I=!z.selectAdjacentDays&&E||!ne.helper.isDateInRange(H,a)||z.isDisabled(H,a)||ne.helper.isDisabled(H,a)||!ne.helper.isEnabled(H,a),S=(I?(null!==(S=ne.helper.findDayAsObject(H,a,z.disabledDates))&&S[X.message]&&(k.attr("data-tooltip",S[X.message]),k.attr("data-position",S[X.position]||y),(S[X.inverted]||ae&&void 0===S[X.inverted])&&k.attr("data-inverted",""),S[X.variation]&&k.attr("data-variation",S[X.variation])),"hour"===a&&null!==(S=ne.helper.findHourAsObject(H,a,z.disabledHours))&&S[X.message]&&(k.attr("data-tooltip",S[X.message]),k.attr("data-position",S[X.position]||y),(S[X.inverted]||ae&&void 0===S[X.inverted])&&k.attr("data-inverted",""),S[X.variation]&&k.attr("data-variation",S[X.variation]))):null!==(F=ne.helper.findDayAsObject(H,a,z.eventDates))&&(k.addClass(F[X.class]||z.eventClass),F[X.message]&&(k.attr("data-tooltip",F[X.message]),k.attr("data-position",F[X.position]||y),(F[X.inverted]||ae&&void 0===F[X.inverted])&&k.attr("data-inverted",""),F[X.variation]&&k.attr("data-variation",F[X.variation]))),ne.helper.dateEqual(H,q,a)),$=ne.helper.dateEqual(H,n,a),E=(k.toggleClass(_.adjacentCell,E&&!F),k.toggleClass(_.disabledCell,I),k.toggleClass(_.activeCell,S&&!(E&&I)),d||u||k.toggleClass(_.todayCell,!E&&$),{mode:a,adjacent:E,disabled:I,active:S,today:$});Q.cell(k,H,E),ne.helper.dateEqual(H,r,a)&&ne.set.focusDate(H,!1,!1)}z.today&&(x=oe("
").attr("colspan",""+m).addClass(_.today).appendTo(x)).text(Q.today(z)),w.data(X.date,n)),ne.update.focus(!1,T),z.inline&&ne.refreshTooltips()}}},update:{focus:function(e,t){t=t||te;var i=ne.get.mode(),a=ne.get.date(),s=ne.get.focusDate(),l=ne.get.startDate(),d=ne.get.endDate(),u=(e?s:null)||a||(p?null:s);t.find("td").each(function(){var e,t,a,n,r=oe(this),o=r.data(X.date);o&&(e=r.hasClass(_.disabledCell),t=r.hasClass(_.activeCell),a=r.hasClass(_.adjacentCell),n=ne.helper.dateEqual(o,s,i),o=!!u&&(!!l&&ne.helper.isDateInRange(o,i,l,u)||!!d&&ne.helper.isDateInRange(o,i,u,d)),r.toggleClass(_.focusCell,n&&(!p||c)&&(!a||z.selectAdjacentDays&&a)&&!e),ne.helper.isTodayButton(r)||r.toggleClass(_.rangeCell,o&&!t&&!e))})}},refresh:function(){ne.create.calendar()},refreshTooltips:function(){var n=oe(x).width();te.find("td[data-position]").each(function(){var e=oe(this),t=x.getComputedStyle(e[0],"::after").width.replace(/[^\d.]/g,""),a=e.attr("data-position"),t=n-e.width()-(parseInt(t,10)||250)>e.offset().left?"right":"left";-1===a.indexOf(t)&&e.attr("data-position",a.replace(/(left|right)/,t))})},bind:{events:function(){ne.debug("Binding events"),te.on("mousedown"+t,ne.event.mousedown),te.on("touchstart"+t,ne.event.mousedown),te.on("mouseup"+t,ne.event.mouseup),te.on("touchend"+t,ne.event.mouseup),te.on("mouseover"+t,ne.event.mouseover),0=e?ne.verbose("Unable to set maxDate variable lower that minDate variable",e,z.minDate):(ne.setting("maxDate",e),ne.set.dataKeyValue(X.maxDate,e))},monthOffset:function(e,t){var a=Math.max(z.multiMonth,1);e=Math.max(1-a,Math.min(0,e)),ne.set.dataKeyValue(X.monthOffset,e,t)},mode:function(e,t){ne.set.dataKeyValue(X.mode,e,t)},dataKeyValue:function(e,t,a){var n=o.data(e),n=n===t||n<=t&&t<=n;return t?o.data(e,t):o.removeData(e),(a=!1!==a&&!n)&&ne.refresh(),!n}},selectDate:function(e,t){ne.verbose("New date selection",e);var a=ne.get.mode();t||"minute"===a||z.disableMinute&&"hour"===a||"date"===z.type&&"day"===a||"month"===z.type&&"month"===a||"year"===z.type&&"year"===a?!1!==ne.set.date(e)&&(h=!0,z.closable&&(ne.popup("hide"),(t=ne.get.calendarModule(z.endCalendar))&&(t.refresh(),"focus"!==t.setting("on")&&t.popup("show"),t.focus()))):(t="year"===a?z.disableMonth?"day":"month":"month"===a?"day":"day"===a?"hour":"minute",ne.set.mode(t),"hour"===a||"day"===a&&ne.get.date()?ne.set.date(e,!0,!1):ne.set.focusDate(e))},changeDate:function(e){ne.set.date(e)},clear:function(){ne.set.date()},popup:function(){return s.popup.apply(s,arguments)},focus:function(){(0=t.centuryBreak&&a===y.length-1){n<=99&&(n+=t.currentCentury-100),h=n,y.splice(a,1);break}if(f<0)for(a=0;a .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; + flex-direction: column; width: 290px; min-height: 0; - background: #FFFFFF; + background: #fff; padding: 0; border: none; border-radius: 0.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 0.1s ease, -webkit-transform 0.1s ease; - transition: -webkit-box-shadow 0.1s ease, -webkit-transform 0.1s ease; + box-shadow: 0 1px 3px 0 #d4d4d5, 0 0 0 1px #d4d4d5; 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: ''; + z-index: ""; word-wrap: break-word; } .ui.card { @@ -58,31 +48,25 @@ margin-bottom: 0; } -/*-------------- +/* -------------- Cards ----------------*/ - +--------------- */ .ui.cards { - display: -webkit-box; - display: -ms-flexbox; display: flex; margin: -0.875em -0.5em; - -ms-flex-wrap: wrap; - 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 { +.ui.cards::after, +.ui.card::after { display: block; - content: ' '; + content: " "; height: 0; clear: both; overflow: hidden; @@ -94,10 +78,9 @@ margin-top: 0.875em; } -/*-------------- +/* -------------- Rounded Edges ----------------*/ - +--------------- */ .ui.cards > .card > :first-child, .ui.card > :first-child { border-radius: 0.28571429rem 0.28571429rem 0 0 !important; @@ -112,17 +95,14 @@ border-radius: 0.28571429rem !important; } -/*-------------- - Images ----------------*/ - +/* -------------- + 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; + flex: 0 0 auto; padding: 0; background: rgba(0, 0, 0, 0.05); } @@ -138,29 +118,25 @@ border: none; } -/*-------------- +/* -------------- Content ----------------*/ - +--------------- */ .ui.cards > .card > .content, .ui.card > .content { - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; + flex-grow: 1; border: none; border-top: 1px solid rgba(34, 36, 38, 0.1); background: none; margin: 0; - padding: 1em 1em; - -webkit-box-shadow: none; - box-shadow: none; + padding: 1em; + box-shadow: none; font-size: 1em; border-radius: 0; } -.ui.cards > .card > .content:after, -.ui.card > .content:after { +.ui.cards > .card > .content::after, +.ui.card > .content::after { display: block; - content: ' '; + content: " "; height: 0; clear: both; overflow: hidden; @@ -169,8 +145,8 @@ .ui.cards > .card > .content > .header, .ui.card > .content > .header { display: block; - margin: ''; - font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif; + margin: ""; + font-family: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; color: rgba(0, 0, 0, 0.85); } @@ -189,10 +165,9 @@ margin-top: 0.5em; } -/*---------------- - Floated Content ------------------*/ - +/* ---------------- + Floated Content + ----------------- */ .ui.cards > .card [class*="left floated"], .ui.card [class*="left floated"] { float: left; @@ -202,10 +177,9 @@ float: right; } -/*-------------- - Aligned ----------------*/ - +/* -------------- + Aligned + --------------- */ .ui.cards > .card [class*="left aligned"], .ui.card [class*="left aligned"] { text-align: left; @@ -219,15 +193,14 @@ text-align: right; } -/*-------------- - Content Image ----------------*/ - +/* -------------- + Content Image + --------------- */ .ui.cards > .card .content img, .ui.card .content img { display: inline-block; vertical-align: middle; - width: ''; + width: ""; } .ui.cards > .card img.avatar, .ui.cards > .card .avatar img, @@ -238,20 +211,18 @@ border-radius: 500rem; } -/*-------------- - Description ----------------*/ - +/* -------------- + 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: 0 0 0.5em; @@ -261,10 +232,9 @@ margin-bottom: 0; } -/*-------------- - Meta ----------------*/ - +/* -------------- + Meta + --------------- */ .ui.cards > .card .meta, .ui.card .meta { font-size: 1em; @@ -284,21 +254,19 @@ 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; + color: ""; transition: color 0.1s ease; } .ui.cards > .card > .content a:not(.ui):hover, .ui.card > .content a:not(.ui):hover { - color: ''; + color: ""; } /* Header */ @@ -321,10 +289,9 @@ color: rgba(0, 0, 0, 0.87); } -/*-------------- - Buttons ----------------*/ - +/* -------------- + Buttons + --------------- */ .ui.cards > .card > .buttons, .ui.card > .buttons, .ui.cards > .card > .button, @@ -339,86 +306,97 @@ margin-bottom: -1px; } -/*-------------- - Dimmer ----------------*/ +/* -------------- + Basic + --------------- */ +.ui.cards:not(.raised) > .basic.card:not(.raised), +.ui.ui.ui.basic.cards:not(.raised) > .card:not(.raised), +.ui.ui.ui.basic.card:not(.raised) { + box-shadow: none; +} +.ui.cards:not(.raised) > .basic.card:not(.raised) > .buttons, +.ui.ui.ui.basic.cards:not(.raised) > .card:not(.raised) > .buttons, +.ui.ui.ui.basic.card:not(.raised) > .buttons, +.ui.cards:not(.raised) > .basic.card:not(.raised) > .button, +.ui.ui.ui.basic.cards:not(.raised) > .card:not(.raised) > .button, +.ui.ui.ui.basic.card:not(.raised) > .button { + margin: 0; + width: 100%; +} +.ui.ui.ui.ui.ui.basic.card:not(.raised):hover, +.ui.ui.ui.ui.ui.basic.cards:not(.raised) .card:not(.raised):hover { + box-shadow: none; +} +/* -------------- + Dimmer +--------------- */ .ui.cards > .card .dimmer, .ui.card .dimmer { - background-color: ''; + background: ""; z-index: 10; } -/*-------------- +/* -------------- Labels ----------------*/ - - -/*-----Star----- */ +--------------- */ +/* -----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; + color: #ffb70a; } .ui.cards > .card > .content .active.star.icon, .ui.card > .content .active.star.icon { - color: #FFE623; + color: #ffe623; } -/*-----Like----- */ - +/* -----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; + color: #ff2733; } .ui.cards > .card > .content .active.like.icon, .ui.card > .content .active.like.icon { - color: #FF2733; + color: #ff2733; } -/*---------------- - Extra Content ------------------*/ - +/* ---------------- + Extra Content + ----------------- */ .ui.cards > .card > .extra, .ui.card > .extra { max-width: 100%; min-height: 0 !important; - -webkit-box-flex: 0; - -ms-flex-positive: 0; - flex-grow: 0; + flex-grow: 0; border-top: 1px solid rgba(0, 0, 0, 0.05) !important; position: static; background: none; width: auto; - margin: 0 0; + margin: 0; padding: 0.75em 1em; top: 0; left: 0; color: rgba(0, 0, 0, 0.4); - -webkit-box-shadow: none; - box-shadow: none; - -webkit-transition: color 0.1s ease; + box-shadow: none; transition: color 0.1s ease; } .ui.cards > .card > .extra a:not(.ui), @@ -432,22 +410,67 @@ /******************************* - Variations + States *******************************/ -/*------------------- - Horizontal - --------------------*/ +/* -------------- + Disabled + --------------- */ +.ui.disabled.card { + opacity: 0.45; + color: rgba(40, 40, 40, 0.3); + pointer-events: none; +} + +/* -------------- + Loading + --------------- */ +.ui.loading.card { + position: relative; + cursor: default; + pointer-events: none; + transition: all 0s linear; +} +.ui.loading.card::before { + position: absolute; + content: ""; + top: 0; + left: 0; + background: rgba(255, 255, 255, 0.8); + width: 100%; + height: 100%; + border-radius: 0.28571429rem; + z-index: 100; +} +.ui.loading.card::after { + position: absolute; + content: ""; + top: 50%; + left: 50%; + margin: -1.5em 0 0 -1.5em; + width: 3em; + height: 3em; + animation: loader 0.6s infinite linear; + border: 0.2em solid #767676; + border-radius: 500rem; + box-shadow: 0 0 0 1px transparent; + visibility: visible; + z-index: 101; +} + +/******************************* + Variations +*******************************/ + + +/* ------------------- + Horizontal + -------------------- */ .ui.horizontal.cards > .card, .ui.card.horizontal { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - -ms-flex-wrap: wrap; - flex-wrap: wrap; + flex-flow: row wrap; min-width: 270px; width: 400px; max-width: 100%; @@ -462,17 +485,10 @@ background-size: cover; background-repeat: no-repeat; background-position: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - display: -webkit-box; - display: -ms-flexbox; + justify-content: center; + align-items: center; display: flex; width: 100%; - height: 100%; border-radius: 0.28571429rem 0 0 0.28571429rem; } .ui.horizontal.cards > .card > .image:last-child > img, @@ -481,65 +497,70 @@ } .ui.horizontal.cards > .card > .content, .ui.horizontal.card > .content { - -ms-flex-preferred-size: 1px; - flex-basis: 1px; + border-top: none; + flex-basis: 1px; } .ui.horizontal.cards > .card > .extra, .ui.horizontal.card > .extra { - -ms-flex-preferred-size: 100%; - flex-basis: 100%; + flex-basis: 100%; } -/*------------------- - Raised - --------------------*/ - +/* ------------------- + Raised + -------------------- */ +.ui.cards > .raised.card, .ui.raised.cards > .card, .ui.raised.card { - -webkit-box-shadow: 0 0 0 1px #D4D4D5, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15); - box-shadow: 0 0 0 1px #D4D4D5, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15); + box-shadow: 0 0 0 1px #d4d4d5, 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 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: 0 0 0 1px #D4D4D5, 0 2px 4px 0 rgba(34, 36, 38, 0.15), 0 2px 10px 0 rgba(34, 36, 38, 0.25); - box-shadow: 0 0 0 1px #D4D4D5, 0 2px 4px 0 rgba(34, 36, 38, 0.15), 0 2px 10px 0 rgba(34, 36, 38, 0.25); -} - -/*------------------- - Centered - --------------------*/ - + box-shadow: 0 0 0 1px #d4d4d5, 0 2px 4px 0 rgba(34, 36, 38, 0.15), 0 2px 10px 0 rgba(34, 36, 38, 0.25); +} +.ui.basic.cards > .raised.card, +.ui.basic.raised.cards > .card, +.ui.raised.cards > .basic.card, +.ui.basic.raised.card { + box-shadow: 0 2px 4px 0 rgba(34, 36, 38, 0.12), 0 2px 10px 0 rgba(34, 36, 38, 0.15); +} +.ui.basic.raised.cards a.card:hover, +.ui.link.cards .basic.raised.card:hover, +.ui.link.basic.cards .raised.card:hover, +.ui.link.basic.raised.cards .card:hover, +a.ui.basic.raised.card:hover, +.ui.link.basic.raised.card:hover { + box-shadow: 0 2px 4px 0 rgba(34, 36, 38, 0.15), 0 2px 10px 0 rgba(34, 36, 38, 0.25); +} + +/* ------------------- + Centered + -------------------- */ .ui.centered.cards { - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; + justify-content: center; } .ui.centered.card { margin-left: auto; margin-right: auto; } -/*------------------- - Fluid - --------------------*/ - +/* ------------------- + Fluid + -------------------- */ .ui.fluid.card { width: 100%; max-width: 9999px; } -/*------------------- - Link - --------------------*/ - +/* ------------------- + Link + -------------------- */ .ui.cards a.card, .ui.link.cards .card, a.ui.card, .ui.link.card { - -webkit-transform: none; - transform: none; + transform: none; } .ui.cards a.card:hover, .ui.link.cards .card:not(.icon):hover, @@ -547,383 +568,907 @@ a.ui.card:hover, .ui.link.card:hover { cursor: pointer; z-index: 5; - background: #FFFFFF; + 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); + box-shadow: 0 1px 3px 0 #bcbdbd, 0 0 0 1px #d4d4d5; + transform: translateY(-3px); } -/*------------------- +/* ------------------- Colors ---------------------*/ - +-------------------- */ .ui.primary.cards > .card, .ui.cards > .primary.card, .ui.primary.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.primary.cards > .card:hover, -.ui.cards > .primary.card:hover, -.ui.primary.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; + box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #2185d0, 0 1px 3px 0 #d4d4d5; +} +.ui.cards a.primary.card:hover, +.ui.primary.cards a.card:hover, +.ui.link.primary.cards .card:not(.icon):hover, +.ui.link.cards .primary.card:not(.icon):hover, +a.ui.primary.card:hover, +.ui.link.primary.card:hover { + box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #1678c2, 0 1px 3px 0 #bcbdbd; +} +.ui.cards > .basic.primary.card, +.ui.basic.primary.cards > .card, +.ui.basic.cards > .primary.card, +.ui.basic.primary.card { + background: #54c8ff; +} +.ui.basic.cards a.primary.card:hover, +.ui.cards a.basic.primary.card:hover, +.ui.basic.primary.cards a.card:hover, +.ui.link.cards .basic.primary.card:not(.icon):hover, +.ui.link.basic.primary.cards .card:not(.icon):hover, +.ui.link.basic.cards .primary.card:not(.icon):hover, +a.ui.basic.primary.card:hover, +.ui.link.basic.primary.card:hover { + background: #21b8ff; } .ui.inverted.primary.cards > .card, .ui.inverted.cards > .primary.card, .ui.inverted.primary.card { - -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #54C8FF, 0 0 0 1px #555555; - box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #54C8FF, 0 0 0 1px #555555; -} -.ui.inverted.primary.cards > .card:hover, -.ui.inverted.cards > .primary.card:hover, -.ui.inverted.primary.card:hover { - -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #21b8ff, 0 0 0 1px #555555; - box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #21b8ff, 0 0 0 1px #555555; + box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #54c8ff, 0 0 0 1px #555; +} +.ui.inverted.cards a.primary.card:hover, +.ui.inverted.primary.cards a.card:hover, +.ui.link.inverted.primary.cards .card:not(.icon):hover, +.ui.link.inverted.cards .primary.card:not(.icon):hover, +a.ui.inverted.primary.card:hover, +.ui.link.inverted.primary.card:hover { + box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #21b8ff, 0 0 0 1px #555; +} +.ui.inverted.cards > .basic.primary.card, +.ui.basic.inverted.primary.cards > .card, +.ui.basic.inverted.cards > .primary.card, +.ui.basic.inverted.primary.card { + background: #2185d0; +} +.ui.inverted.cards a.basic.primary.card:hover, +.ui.basic.inverted.cards a.primary.card:hover, +.ui.basic.inverted.primary.cards a.card:hover, +.ui.link.inverted.cards .basic.primary.card:not(.icon):hover, +.ui.link.basic.inverted.primary.cards .card:not(.icon):hover, +.ui.link.basic.inverted.cards .primary.card:not(.icon):hover, +a.ui.basic.inverted.primary.card:hover, +.ui.link.basic.inverted.primary.card:hover { + background: #1678c2; } .ui.secondary.cards > .card, .ui.cards > .secondary.card, .ui.secondary.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.secondary.cards > .card:hover, -.ui.cards > .secondary.card:hover, -.ui.secondary.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; + box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #1b1c1d, 0 1px 3px 0 #d4d4d5; +} +.ui.cards a.secondary.card:hover, +.ui.secondary.cards a.card:hover, +.ui.link.secondary.cards .card:not(.icon):hover, +.ui.link.cards .secondary.card:not(.icon):hover, +a.ui.secondary.card:hover, +.ui.link.secondary.card:hover { + box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #27292a, 0 1px 3px 0 #bcbdbd; +} +.ui.cards > .basic.secondary.card, +.ui.basic.secondary.cards > .card, +.ui.basic.cards > .secondary.card, +.ui.basic.secondary.card { + background: #545454; +} +.ui.basic.cards a.secondary.card:hover, +.ui.cards a.basic.secondary.card:hover, +.ui.basic.secondary.cards a.card:hover, +.ui.link.cards .basic.secondary.card:not(.icon):hover, +.ui.link.basic.secondary.cards .card:not(.icon):hover, +.ui.link.basic.cards .secondary.card:not(.icon):hover, +a.ui.basic.secondary.card:hover, +.ui.link.basic.secondary.card:hover { + background: #6e6e6e; } .ui.inverted.secondary.cards > .card, .ui.inverted.cards > .secondary.card, .ui.inverted.secondary.card { - -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #545454, 0 0 0 1px #555555; - box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #545454, 0 0 0 1px #555555; -} -.ui.inverted.secondary.cards > .card:hover, -.ui.inverted.cards > .secondary.card:hover, -.ui.inverted.secondary.card:hover { - -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #6e6e6e, 0 0 0 1px #555555; - box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #6e6e6e, 0 0 0 1px #555555; + box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #545454, 0 0 0 1px #555; +} +.ui.inverted.cards a.secondary.card:hover, +.ui.inverted.secondary.cards a.card:hover, +.ui.link.inverted.secondary.cards .card:not(.icon):hover, +.ui.link.inverted.cards .secondary.card:not(.icon):hover, +a.ui.inverted.secondary.card:hover, +.ui.link.inverted.secondary.card:hover { + box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #6e6e6e, 0 0 0 1px #555; +} +.ui.inverted.cards > .basic.secondary.card, +.ui.basic.inverted.secondary.cards > .card, +.ui.basic.inverted.cards > .secondary.card, +.ui.basic.inverted.secondary.card { + background: #1b1c1d; +} +.ui.inverted.cards a.basic.secondary.card:hover, +.ui.basic.inverted.cards a.secondary.card:hover, +.ui.basic.inverted.secondary.cards a.card:hover, +.ui.link.inverted.cards .basic.secondary.card:not(.icon):hover, +.ui.link.basic.inverted.secondary.cards .card:not(.icon):hover, +.ui.link.basic.inverted.cards .secondary.card:not(.icon):hover, +a.ui.basic.inverted.secondary.card:hover, +.ui.link.basic.inverted.secondary.card:hover { + background: #27292a; } .ui.red.cards > .card, .ui.cards > .red.card, .ui.red.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.red.cards > .card:hover, -.ui.cards > .red.card:hover, -.ui.red.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; + box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #db2828, 0 1px 3px 0 #d4d4d5; +} +.ui.cards a.red.card:hover, +.ui.red.cards a.card:hover, +.ui.link.red.cards .card:not(.icon):hover, +.ui.link.cards .red.card:not(.icon):hover, +a.ui.red.card:hover, +.ui.link.red.card:hover { + box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #d01919, 0 1px 3px 0 #bcbdbd; +} +.ui.cards > .basic.red.card, +.ui.basic.red.cards > .card, +.ui.basic.cards > .red.card, +.ui.basic.red.card { + background: #ff695e; +} +.ui.basic.cards a.red.card:hover, +.ui.cards a.basic.red.card:hover, +.ui.basic.red.cards a.card:hover, +.ui.link.cards .basic.red.card:not(.icon):hover, +.ui.link.basic.red.cards .card:not(.icon):hover, +.ui.link.basic.cards .red.card:not(.icon):hover, +a.ui.basic.red.card:hover, +.ui.link.basic.red.card:hover { + background: #ff392b; } .ui.inverted.red.cards > .card, .ui.inverted.cards > .red.card, .ui.inverted.red.card { - -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #FF695E, 0 0 0 1px #555555; - box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #FF695E, 0 0 0 1px #555555; -} -.ui.inverted.red.cards > .card:hover, -.ui.inverted.cards > .red.card:hover, -.ui.inverted.red.card:hover { - -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #ff392b, 0 0 0 1px #555555; - box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #ff392b, 0 0 0 1px #555555; + box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #ff695e, 0 0 0 1px #555; +} +.ui.inverted.cards a.red.card:hover, +.ui.inverted.red.cards a.card:hover, +.ui.link.inverted.red.cards .card:not(.icon):hover, +.ui.link.inverted.cards .red.card:not(.icon):hover, +a.ui.inverted.red.card:hover, +.ui.link.inverted.red.card:hover { + box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #ff392b, 0 0 0 1px #555; +} +.ui.inverted.cards > .basic.red.card, +.ui.basic.inverted.red.cards > .card, +.ui.basic.inverted.cards > .red.card, +.ui.basic.inverted.red.card { + background: #db2828; +} +.ui.inverted.cards a.basic.red.card:hover, +.ui.basic.inverted.cards a.red.card:hover, +.ui.basic.inverted.red.cards a.card:hover, +.ui.link.inverted.cards .basic.red.card:not(.icon):hover, +.ui.link.basic.inverted.red.cards .card:not(.icon):hover, +.ui.link.basic.inverted.cards .red.card:not(.icon):hover, +a.ui.basic.inverted.red.card:hover, +.ui.link.basic.inverted.red.card:hover { + background: #d01919; } .ui.orange.cards > .card, .ui.cards > .orange.card, .ui.orange.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.orange.cards > .card:hover, -.ui.cards > .orange.card:hover, -.ui.orange.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; + box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #f2711c, 0 1px 3px 0 #d4d4d5; +} +.ui.cards a.orange.card:hover, +.ui.orange.cards a.card:hover, +.ui.link.orange.cards .card:not(.icon):hover, +.ui.link.cards .orange.card:not(.icon):hover, +a.ui.orange.card:hover, +.ui.link.orange.card:hover { + box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #f26202, 0 1px 3px 0 #bcbdbd; +} +.ui.cards > .basic.orange.card, +.ui.basic.orange.cards > .card, +.ui.basic.cards > .orange.card, +.ui.basic.orange.card { + background: #ff851b; +} +.ui.basic.cards a.orange.card:hover, +.ui.cards a.basic.orange.card:hover, +.ui.basic.orange.cards a.card:hover, +.ui.link.cards .basic.orange.card:not(.icon):hover, +.ui.link.basic.orange.cards .card:not(.icon):hover, +.ui.link.basic.cards .orange.card:not(.icon):hover, +a.ui.basic.orange.card:hover, +.ui.link.basic.orange.card:hover { + background: #e76b00; } .ui.inverted.orange.cards > .card, .ui.inverted.cards > .orange.card, .ui.inverted.orange.card { - -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #FF851B, 0 0 0 1px #555555; - box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #FF851B, 0 0 0 1px #555555; -} -.ui.inverted.orange.cards > .card:hover, -.ui.inverted.cards > .orange.card:hover, -.ui.inverted.orange.card:hover { - -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #e76b00, 0 0 0 1px #555555; - box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #e76b00, 0 0 0 1px #555555; + box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #ff851b, 0 0 0 1px #555; +} +.ui.inverted.cards a.orange.card:hover, +.ui.inverted.orange.cards a.card:hover, +.ui.link.inverted.orange.cards .card:not(.icon):hover, +.ui.link.inverted.cards .orange.card:not(.icon):hover, +a.ui.inverted.orange.card:hover, +.ui.link.inverted.orange.card:hover { + box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #e76b00, 0 0 0 1px #555; +} +.ui.inverted.cards > .basic.orange.card, +.ui.basic.inverted.orange.cards > .card, +.ui.basic.inverted.cards > .orange.card, +.ui.basic.inverted.orange.card { + background: #f2711c; +} +.ui.inverted.cards a.basic.orange.card:hover, +.ui.basic.inverted.cards a.orange.card:hover, +.ui.basic.inverted.orange.cards a.card:hover, +.ui.link.inverted.cards .basic.orange.card:not(.icon):hover, +.ui.link.basic.inverted.orange.cards .card:not(.icon):hover, +.ui.link.basic.inverted.cards .orange.card:not(.icon):hover, +a.ui.basic.inverted.orange.card:hover, +.ui.link.basic.inverted.orange.card:hover { + background: #f26202; } .ui.yellow.cards > .card, .ui.cards > .yellow.card, .ui.yellow.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.yellow.cards > .card:hover, -.ui.cards > .yellow.card:hover, -.ui.yellow.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; + box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #fbbd08, 0 1px 3px 0 #d4d4d5; +} +.ui.cards a.yellow.card:hover, +.ui.yellow.cards a.card:hover, +.ui.link.yellow.cards .card:not(.icon):hover, +.ui.link.cards .yellow.card:not(.icon):hover, +a.ui.yellow.card:hover, +.ui.link.yellow.card:hover { + box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #eaae00, 0 1px 3px 0 #bcbdbd; +} +.ui.cards > .basic.yellow.card, +.ui.basic.yellow.cards > .card, +.ui.basic.cards > .yellow.card, +.ui.basic.yellow.card { + background: #ffe21f; +} +.ui.basic.cards a.yellow.card:hover, +.ui.cards a.basic.yellow.card:hover, +.ui.basic.yellow.cards a.card:hover, +.ui.link.cards .basic.yellow.card:not(.icon):hover, +.ui.link.basic.yellow.cards .card:not(.icon):hover, +.ui.link.basic.cards .yellow.card:not(.icon):hover, +a.ui.basic.yellow.card:hover, +.ui.link.basic.yellow.card:hover { + background: #ebcd00; } .ui.inverted.yellow.cards > .card, .ui.inverted.cards > .yellow.card, .ui.inverted.yellow.card { - -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #FFE21F, 0 0 0 1px #555555; - box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #FFE21F, 0 0 0 1px #555555; -} -.ui.inverted.yellow.cards > .card:hover, -.ui.inverted.cards > .yellow.card:hover, -.ui.inverted.yellow.card:hover { - -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #ebcd00, 0 0 0 1px #555555; - box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #ebcd00, 0 0 0 1px #555555; + box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #ffe21f, 0 0 0 1px #555; +} +.ui.inverted.cards a.yellow.card:hover, +.ui.inverted.yellow.cards a.card:hover, +.ui.link.inverted.yellow.cards .card:not(.icon):hover, +.ui.link.inverted.cards .yellow.card:not(.icon):hover, +a.ui.inverted.yellow.card:hover, +.ui.link.inverted.yellow.card:hover { + box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #ebcd00, 0 0 0 1px #555; +} +.ui.inverted.cards > .basic.yellow.card, +.ui.basic.inverted.yellow.cards > .card, +.ui.basic.inverted.cards > .yellow.card, +.ui.basic.inverted.yellow.card { + background: #fbbd08; +} +.ui.inverted.cards a.basic.yellow.card:hover, +.ui.basic.inverted.cards a.yellow.card:hover, +.ui.basic.inverted.yellow.cards a.card:hover, +.ui.link.inverted.cards .basic.yellow.card:not(.icon):hover, +.ui.link.basic.inverted.yellow.cards .card:not(.icon):hover, +.ui.link.basic.inverted.cards .yellow.card:not(.icon):hover, +a.ui.basic.inverted.yellow.card:hover, +.ui.link.basic.inverted.yellow.card:hover { + background: #eaae00; } .ui.olive.cards > .card, .ui.cards > .olive.card, .ui.olive.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.olive.cards > .card:hover, -.ui.cards > .olive.card:hover, -.ui.olive.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; + box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #b5cc18, 0 1px 3px 0 #d4d4d5; +} +.ui.cards a.olive.card:hover, +.ui.olive.cards a.card:hover, +.ui.link.olive.cards .card:not(.icon):hover, +.ui.link.cards .olive.card:not(.icon):hover, +a.ui.olive.card:hover, +.ui.link.olive.card:hover { + box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #a7bd0d, 0 1px 3px 0 #bcbdbd; +} +.ui.cards > .basic.olive.card, +.ui.basic.olive.cards > .card, +.ui.basic.cards > .olive.card, +.ui.basic.olive.card { + background: #d9e778; +} +.ui.basic.cards a.olive.card:hover, +.ui.cards a.basic.olive.card:hover, +.ui.basic.olive.cards a.card:hover, +.ui.link.cards .basic.olive.card:not(.icon):hover, +.ui.link.basic.olive.cards .card:not(.icon):hover, +.ui.link.basic.cards .olive.card:not(.icon):hover, +a.ui.basic.olive.card:hover, +.ui.link.basic.olive.card:hover { + background: #d2e745; } .ui.inverted.olive.cards > .card, .ui.inverted.cards > .olive.card, .ui.inverted.olive.card { - -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #D9E778, 0 0 0 1px #555555; - box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #D9E778, 0 0 0 1px #555555; -} -.ui.inverted.olive.cards > .card:hover, -.ui.inverted.cards > .olive.card:hover, -.ui.inverted.olive.card:hover { - -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #d2e745, 0 0 0 1px #555555; - box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #d2e745, 0 0 0 1px #555555; + box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #d9e778, 0 0 0 1px #555; +} +.ui.inverted.cards a.olive.card:hover, +.ui.inverted.olive.cards a.card:hover, +.ui.link.inverted.olive.cards .card:not(.icon):hover, +.ui.link.inverted.cards .olive.card:not(.icon):hover, +a.ui.inverted.olive.card:hover, +.ui.link.inverted.olive.card:hover { + box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #d2e745, 0 0 0 1px #555; +} +.ui.inverted.cards > .basic.olive.card, +.ui.basic.inverted.olive.cards > .card, +.ui.basic.inverted.cards > .olive.card, +.ui.basic.inverted.olive.card { + background: #b5cc18; +} +.ui.inverted.cards a.basic.olive.card:hover, +.ui.basic.inverted.cards a.olive.card:hover, +.ui.basic.inverted.olive.cards a.card:hover, +.ui.link.inverted.cards .basic.olive.card:not(.icon):hover, +.ui.link.basic.inverted.olive.cards .card:not(.icon):hover, +.ui.link.basic.inverted.cards .olive.card:not(.icon):hover, +a.ui.basic.inverted.olive.card:hover, +.ui.link.basic.inverted.olive.card:hover { + background: #a7bd0d; } .ui.green.cards > .card, .ui.cards > .green.card, .ui.green.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.green.cards > .card:hover, -.ui.cards > .green.card:hover, -.ui.green.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; + box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #21ba45, 0 1px 3px 0 #d4d4d5; +} +.ui.cards a.green.card:hover, +.ui.green.cards a.card:hover, +.ui.link.green.cards .card:not(.icon):hover, +.ui.link.cards .green.card:not(.icon):hover, +a.ui.green.card:hover, +.ui.link.green.card:hover { + box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #16ab39, 0 1px 3px 0 #bcbdbd; +} +.ui.cards > .basic.green.card, +.ui.basic.green.cards > .card, +.ui.basic.cards > .green.card, +.ui.basic.green.card { + background: #2ecc40; +} +.ui.basic.cards a.green.card:hover, +.ui.cards a.basic.green.card:hover, +.ui.basic.green.cards a.card:hover, +.ui.link.cards .basic.green.card:not(.icon):hover, +.ui.link.basic.green.cards .card:not(.icon):hover, +.ui.link.basic.cards .green.card:not(.icon):hover, +a.ui.basic.green.card:hover, +.ui.link.basic.green.card:hover { + background: #1ea92e; } .ui.inverted.green.cards > .card, .ui.inverted.cards > .green.card, .ui.inverted.green.card { - -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #2ECC40, 0 0 0 1px #555555; - box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #2ECC40, 0 0 0 1px #555555; -} -.ui.inverted.green.cards > .card:hover, -.ui.inverted.cards > .green.card:hover, -.ui.inverted.green.card:hover { - -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #1ea92e, 0 0 0 1px #555555; - box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #1ea92e, 0 0 0 1px #555555; + box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #2ecc40, 0 0 0 1px #555; +} +.ui.inverted.cards a.green.card:hover, +.ui.inverted.green.cards a.card:hover, +.ui.link.inverted.green.cards .card:not(.icon):hover, +.ui.link.inverted.cards .green.card:not(.icon):hover, +a.ui.inverted.green.card:hover, +.ui.link.inverted.green.card:hover { + box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #1ea92e, 0 0 0 1px #555; +} +.ui.inverted.cards > .basic.green.card, +.ui.basic.inverted.green.cards > .card, +.ui.basic.inverted.cards > .green.card, +.ui.basic.inverted.green.card { + background: #21ba45; +} +.ui.inverted.cards a.basic.green.card:hover, +.ui.basic.inverted.cards a.green.card:hover, +.ui.basic.inverted.green.cards a.card:hover, +.ui.link.inverted.cards .basic.green.card:not(.icon):hover, +.ui.link.basic.inverted.green.cards .card:not(.icon):hover, +.ui.link.basic.inverted.cards .green.card:not(.icon):hover, +a.ui.basic.inverted.green.card:hover, +.ui.link.basic.inverted.green.card:hover { + background: #16ab39; } .ui.teal.cards > .card, .ui.cards > .teal.card, .ui.teal.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.teal.cards > .card:hover, -.ui.cards > .teal.card:hover, -.ui.teal.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; + box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #00b5ad, 0 1px 3px 0 #d4d4d5; +} +.ui.cards a.teal.card:hover, +.ui.teal.cards a.card:hover, +.ui.link.teal.cards .card:not(.icon):hover, +.ui.link.cards .teal.card:not(.icon):hover, +a.ui.teal.card:hover, +.ui.link.teal.card:hover { + box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #009c95, 0 1px 3px 0 #bcbdbd; +} +.ui.cards > .basic.teal.card, +.ui.basic.teal.cards > .card, +.ui.basic.cards > .teal.card, +.ui.basic.teal.card { + background: #6dffff; +} +.ui.basic.cards a.teal.card:hover, +.ui.cards a.basic.teal.card:hover, +.ui.basic.teal.cards a.card:hover, +.ui.link.cards .basic.teal.card:not(.icon):hover, +.ui.link.basic.teal.cards .card:not(.icon):hover, +.ui.link.basic.cards .teal.card:not(.icon):hover, +a.ui.basic.teal.card:hover, +.ui.link.basic.teal.card:hover { + background: #3affff; } .ui.inverted.teal.cards > .card, .ui.inverted.cards > .teal.card, .ui.inverted.teal.card { - -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #6DFFFF, 0 0 0 1px #555555; - box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #6DFFFF, 0 0 0 1px #555555; -} -.ui.inverted.teal.cards > .card:hover, -.ui.inverted.cards > .teal.card:hover, -.ui.inverted.teal.card:hover { - -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #3affff, 0 0 0 1px #555555; - box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #3affff, 0 0 0 1px #555555; + box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #6dffff, 0 0 0 1px #555; +} +.ui.inverted.cards a.teal.card:hover, +.ui.inverted.teal.cards a.card:hover, +.ui.link.inverted.teal.cards .card:not(.icon):hover, +.ui.link.inverted.cards .teal.card:not(.icon):hover, +a.ui.inverted.teal.card:hover, +.ui.link.inverted.teal.card:hover { + box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #3affff, 0 0 0 1px #555; +} +.ui.inverted.cards > .basic.teal.card, +.ui.basic.inverted.teal.cards > .card, +.ui.basic.inverted.cards > .teal.card, +.ui.basic.inverted.teal.card { + background: #00b5ad; +} +.ui.inverted.cards a.basic.teal.card:hover, +.ui.basic.inverted.cards a.teal.card:hover, +.ui.basic.inverted.teal.cards a.card:hover, +.ui.link.inverted.cards .basic.teal.card:not(.icon):hover, +.ui.link.basic.inverted.teal.cards .card:not(.icon):hover, +.ui.link.basic.inverted.cards .teal.card:not(.icon):hover, +a.ui.basic.inverted.teal.card:hover, +.ui.link.basic.inverted.teal.card:hover { + background: #009c95; } .ui.blue.cards > .card, .ui.cards > .blue.card, .ui.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.cards > .card:hover, -.ui.cards > .blue.card:hover, -.ui.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; + box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #2185d0, 0 1px 3px 0 #d4d4d5; +} +.ui.cards a.blue.card:hover, +.ui.blue.cards a.card:hover, +.ui.link.blue.cards .card:not(.icon):hover, +.ui.link.cards .blue.card:not(.icon):hover, +a.ui.blue.card:hover, +.ui.link.blue.card:hover { + box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #1678c2, 0 1px 3px 0 #bcbdbd; +} +.ui.cards > .basic.blue.card, +.ui.basic.blue.cards > .card, +.ui.basic.cards > .blue.card, +.ui.basic.blue.card { + background: #54c8ff; +} +.ui.basic.cards a.blue.card:hover, +.ui.cards a.basic.blue.card:hover, +.ui.basic.blue.cards a.card:hover, +.ui.link.cards .basic.blue.card:not(.icon):hover, +.ui.link.basic.blue.cards .card:not(.icon):hover, +.ui.link.basic.cards .blue.card:not(.icon):hover, +a.ui.basic.blue.card:hover, +.ui.link.basic.blue.card:hover { + background: #21b8ff; } .ui.inverted.blue.cards > .card, .ui.inverted.cards > .blue.card, .ui.inverted.blue.card { - -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #54C8FF, 0 0 0 1px #555555; - box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #54C8FF, 0 0 0 1px #555555; -} -.ui.inverted.blue.cards > .card:hover, -.ui.inverted.cards > .blue.card:hover, -.ui.inverted.blue.card:hover { - -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #21b8ff, 0 0 0 1px #555555; - box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #21b8ff, 0 0 0 1px #555555; + box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #54c8ff, 0 0 0 1px #555; +} +.ui.inverted.cards a.blue.card:hover, +.ui.inverted.blue.cards a.card:hover, +.ui.link.inverted.blue.cards .card:not(.icon):hover, +.ui.link.inverted.cards .blue.card:not(.icon):hover, +a.ui.inverted.blue.card:hover, +.ui.link.inverted.blue.card:hover { + box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #21b8ff, 0 0 0 1px #555; +} +.ui.inverted.cards > .basic.blue.card, +.ui.basic.inverted.blue.cards > .card, +.ui.basic.inverted.cards > .blue.card, +.ui.basic.inverted.blue.card { + background: #2185d0; +} +.ui.inverted.cards a.basic.blue.card:hover, +.ui.basic.inverted.cards a.blue.card:hover, +.ui.basic.inverted.blue.cards a.card:hover, +.ui.link.inverted.cards .basic.blue.card:not(.icon):hover, +.ui.link.basic.inverted.blue.cards .card:not(.icon):hover, +.ui.link.basic.inverted.cards .blue.card:not(.icon):hover, +a.ui.basic.inverted.blue.card:hover, +.ui.link.basic.inverted.blue.card:hover { + background: #1678c2; } .ui.violet.cards > .card, .ui.cards > .violet.card, .ui.violet.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.violet.cards > .card:hover, -.ui.cards > .violet.card:hover, -.ui.violet.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; + box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #6435c9, 0 1px 3px 0 #d4d4d5; +} +.ui.cards a.violet.card:hover, +.ui.violet.cards a.card:hover, +.ui.link.violet.cards .card:not(.icon):hover, +.ui.link.cards .violet.card:not(.icon):hover, +a.ui.violet.card:hover, +.ui.link.violet.card:hover { + box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #5829bb, 0 1px 3px 0 #bcbdbd; +} +.ui.cards > .basic.violet.card, +.ui.basic.violet.cards > .card, +.ui.basic.cards > .violet.card, +.ui.basic.violet.card { + background: #a291fb; +} +.ui.basic.cards a.violet.card:hover, +.ui.cards a.basic.violet.card:hover, +.ui.basic.violet.cards a.card:hover, +.ui.link.cards .basic.violet.card:not(.icon):hover, +.ui.link.basic.violet.cards .card:not(.icon):hover, +.ui.link.basic.cards .violet.card:not(.icon):hover, +a.ui.basic.violet.card:hover, +.ui.link.basic.violet.card:hover { + background: #745aff; } .ui.inverted.violet.cards > .card, .ui.inverted.cards > .violet.card, .ui.inverted.violet.card { - -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #A291FB, 0 0 0 1px #555555; - box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #A291FB, 0 0 0 1px #555555; -} -.ui.inverted.violet.cards > .card:hover, -.ui.inverted.cards > .violet.card:hover, -.ui.inverted.violet.card:hover { - -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #745aff, 0 0 0 1px #555555; - box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #745aff, 0 0 0 1px #555555; + box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #a291fb, 0 0 0 1px #555; +} +.ui.inverted.cards a.violet.card:hover, +.ui.inverted.violet.cards a.card:hover, +.ui.link.inverted.violet.cards .card:not(.icon):hover, +.ui.link.inverted.cards .violet.card:not(.icon):hover, +a.ui.inverted.violet.card:hover, +.ui.link.inverted.violet.card:hover { + box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #745aff, 0 0 0 1px #555; +} +.ui.inverted.cards > .basic.violet.card, +.ui.basic.inverted.violet.cards > .card, +.ui.basic.inverted.cards > .violet.card, +.ui.basic.inverted.violet.card { + background: #6435c9; +} +.ui.inverted.cards a.basic.violet.card:hover, +.ui.basic.inverted.cards a.violet.card:hover, +.ui.basic.inverted.violet.cards a.card:hover, +.ui.link.inverted.cards .basic.violet.card:not(.icon):hover, +.ui.link.basic.inverted.violet.cards .card:not(.icon):hover, +.ui.link.basic.inverted.cards .violet.card:not(.icon):hover, +a.ui.basic.inverted.violet.card:hover, +.ui.link.basic.inverted.violet.card:hover { + background: #5829bb; } .ui.purple.cards > .card, .ui.cards > .purple.card, .ui.purple.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.purple.cards > .card:hover, -.ui.cards > .purple.card:hover, -.ui.purple.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; + box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #a333c8, 0 1px 3px 0 #d4d4d5; +} +.ui.cards a.purple.card:hover, +.ui.purple.cards a.card:hover, +.ui.link.purple.cards .card:not(.icon):hover, +.ui.link.cards .purple.card:not(.icon):hover, +a.ui.purple.card:hover, +.ui.link.purple.card:hover { + box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #9627ba, 0 1px 3px 0 #bcbdbd; +} +.ui.cards > .basic.purple.card, +.ui.basic.purple.cards > .card, +.ui.basic.cards > .purple.card, +.ui.basic.purple.card { + background: #dc73ff; +} +.ui.basic.cards a.purple.card:hover, +.ui.cards a.basic.purple.card:hover, +.ui.basic.purple.cards a.card:hover, +.ui.link.cards .basic.purple.card:not(.icon):hover, +.ui.link.basic.purple.cards .card:not(.icon):hover, +.ui.link.basic.cards .purple.card:not(.icon):hover, +a.ui.basic.purple.card:hover, +.ui.link.basic.purple.card:hover { + background: #cf40ff; } .ui.inverted.purple.cards > .card, .ui.inverted.cards > .purple.card, .ui.inverted.purple.card { - -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #DC73FF, 0 0 0 1px #555555; - box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #DC73FF, 0 0 0 1px #555555; -} -.ui.inverted.purple.cards > .card:hover, -.ui.inverted.cards > .purple.card:hover, -.ui.inverted.purple.card:hover { - -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #cf40ff, 0 0 0 1px #555555; - box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #cf40ff, 0 0 0 1px #555555; + box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #dc73ff, 0 0 0 1px #555; +} +.ui.inverted.cards a.purple.card:hover, +.ui.inverted.purple.cards a.card:hover, +.ui.link.inverted.purple.cards .card:not(.icon):hover, +.ui.link.inverted.cards .purple.card:not(.icon):hover, +a.ui.inverted.purple.card:hover, +.ui.link.inverted.purple.card:hover { + box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #cf40ff, 0 0 0 1px #555; +} +.ui.inverted.cards > .basic.purple.card, +.ui.basic.inverted.purple.cards > .card, +.ui.basic.inverted.cards > .purple.card, +.ui.basic.inverted.purple.card { + background: #a333c8; +} +.ui.inverted.cards a.basic.purple.card:hover, +.ui.basic.inverted.cards a.purple.card:hover, +.ui.basic.inverted.purple.cards a.card:hover, +.ui.link.inverted.cards .basic.purple.card:not(.icon):hover, +.ui.link.basic.inverted.purple.cards .card:not(.icon):hover, +.ui.link.basic.inverted.cards .purple.card:not(.icon):hover, +a.ui.basic.inverted.purple.card:hover, +.ui.link.basic.inverted.purple.card:hover { + background: #9627ba; } .ui.pink.cards > .card, .ui.cards > .pink.card, .ui.pink.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.pink.cards > .card:hover, -.ui.cards > .pink.card:hover, -.ui.pink.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; + box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #e03997, 0 1px 3px 0 #d4d4d5; +} +.ui.cards a.pink.card:hover, +.ui.pink.cards a.card:hover, +.ui.link.pink.cards .card:not(.icon):hover, +.ui.link.cards .pink.card:not(.icon):hover, +a.ui.pink.card:hover, +.ui.link.pink.card:hover { + box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #e61a8d, 0 1px 3px 0 #bcbdbd; +} +.ui.cards > .basic.pink.card, +.ui.basic.pink.cards > .card, +.ui.basic.cards > .pink.card, +.ui.basic.pink.card { + background: #ff8edf; +} +.ui.basic.cards a.pink.card:hover, +.ui.cards a.basic.pink.card:hover, +.ui.basic.pink.cards a.card:hover, +.ui.link.cards .basic.pink.card:not(.icon):hover, +.ui.link.basic.pink.cards .card:not(.icon):hover, +.ui.link.basic.cards .pink.card:not(.icon):hover, +a.ui.basic.pink.card:hover, +.ui.link.basic.pink.card:hover { + background: #ff5bd1; } .ui.inverted.pink.cards > .card, .ui.inverted.cards > .pink.card, .ui.inverted.pink.card { - -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #FF8EDF, 0 0 0 1px #555555; - box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #FF8EDF, 0 0 0 1px #555555; -} -.ui.inverted.pink.cards > .card:hover, -.ui.inverted.cards > .pink.card:hover, -.ui.inverted.pink.card:hover { - -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #ff5bd1, 0 0 0 1px #555555; - box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #ff5bd1, 0 0 0 1px #555555; + box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #ff8edf, 0 0 0 1px #555; +} +.ui.inverted.cards a.pink.card:hover, +.ui.inverted.pink.cards a.card:hover, +.ui.link.inverted.pink.cards .card:not(.icon):hover, +.ui.link.inverted.cards .pink.card:not(.icon):hover, +a.ui.inverted.pink.card:hover, +.ui.link.inverted.pink.card:hover { + box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #ff5bd1, 0 0 0 1px #555; +} +.ui.inverted.cards > .basic.pink.card, +.ui.basic.inverted.pink.cards > .card, +.ui.basic.inverted.cards > .pink.card, +.ui.basic.inverted.pink.card { + background: #e03997; +} +.ui.inverted.cards a.basic.pink.card:hover, +.ui.basic.inverted.cards a.pink.card:hover, +.ui.basic.inverted.pink.cards a.card:hover, +.ui.link.inverted.cards .basic.pink.card:not(.icon):hover, +.ui.link.basic.inverted.pink.cards .card:not(.icon):hover, +.ui.link.basic.inverted.cards .pink.card:not(.icon):hover, +a.ui.basic.inverted.pink.card:hover, +.ui.link.basic.inverted.pink.card:hover { + background: #e61a8d; } .ui.brown.cards > .card, .ui.cards > .brown.card, .ui.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.cards > .card:hover, -.ui.cards > .brown.card:hover, -.ui.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; + box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #a5673f, 0 1px 3px 0 #d4d4d5; +} +.ui.cards a.brown.card:hover, +.ui.brown.cards a.card:hover, +.ui.link.brown.cards .card:not(.icon):hover, +.ui.link.cards .brown.card:not(.icon):hover, +a.ui.brown.card:hover, +.ui.link.brown.card:hover { + box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #975b33, 0 1px 3px 0 #bcbdbd; +} +.ui.cards > .basic.brown.card, +.ui.basic.brown.cards > .card, +.ui.basic.cards > .brown.card, +.ui.basic.brown.card { + background: #d67c1c; +} +.ui.basic.cards a.brown.card:hover, +.ui.cards a.basic.brown.card:hover, +.ui.basic.brown.cards a.card:hover, +.ui.link.cards .basic.brown.card:not(.icon):hover, +.ui.link.basic.brown.cards .card:not(.icon):hover, +.ui.link.basic.cards .brown.card:not(.icon):hover, +a.ui.basic.brown.card:hover, +.ui.link.basic.brown.card:hover { + background: #b0620f; } .ui.inverted.brown.cards > .card, .ui.inverted.cards > .brown.card, .ui.inverted.brown.card { - -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #D67C1C, 0 0 0 1px #555555; - box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #D67C1C, 0 0 0 1px #555555; -} -.ui.inverted.brown.cards > .card:hover, -.ui.inverted.cards > .brown.card:hover, -.ui.inverted.brown.card:hover { - -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #b0620f, 0 0 0 1px #555555; - box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #b0620f, 0 0 0 1px #555555; + box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #d67c1c, 0 0 0 1px #555; +} +.ui.inverted.cards a.brown.card:hover, +.ui.inverted.brown.cards a.card:hover, +.ui.link.inverted.brown.cards .card:not(.icon):hover, +.ui.link.inverted.cards .brown.card:not(.icon):hover, +a.ui.inverted.brown.card:hover, +.ui.link.inverted.brown.card:hover { + box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #b0620f, 0 0 0 1px #555; +} +.ui.inverted.cards > .basic.brown.card, +.ui.basic.inverted.brown.cards > .card, +.ui.basic.inverted.cards > .brown.card, +.ui.basic.inverted.brown.card { + background: #a5673f; +} +.ui.inverted.cards a.basic.brown.card:hover, +.ui.basic.inverted.cards a.brown.card:hover, +.ui.basic.inverted.brown.cards a.card:hover, +.ui.link.inverted.cards .basic.brown.card:not(.icon):hover, +.ui.link.basic.inverted.brown.cards .card:not(.icon):hover, +.ui.link.basic.inverted.cards .brown.card:not(.icon):hover, +a.ui.basic.inverted.brown.card:hover, +.ui.link.basic.inverted.brown.card:hover { + background: #975b33; } .ui.grey.cards > .card, .ui.cards > .grey.card, .ui.grey.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.grey.cards > .card:hover, -.ui.cards > .grey.card:hover, -.ui.grey.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; + box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #767676, 0 1px 3px 0 #d4d4d5; +} +.ui.cards a.grey.card:hover, +.ui.grey.cards a.card:hover, +.ui.link.grey.cards .card:not(.icon):hover, +.ui.link.cards .grey.card:not(.icon):hover, +a.ui.grey.card:hover, +.ui.link.grey.card:hover { + box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #838383, 0 1px 3px 0 #bcbdbd; +} +.ui.cards > .basic.grey.card, +.ui.basic.grey.cards > .card, +.ui.basic.cards > .grey.card, +.ui.basic.grey.card { + background: #dcddde; +} +.ui.basic.cards a.grey.card:hover, +.ui.cards a.basic.grey.card:hover, +.ui.basic.grey.cards a.card:hover, +.ui.link.cards .basic.grey.card:not(.icon):hover, +.ui.link.basic.grey.cards .card:not(.icon):hover, +.ui.link.basic.cards .grey.card:not(.icon):hover, +a.ui.basic.grey.card:hover, +.ui.link.basic.grey.card:hover { + background: #c2c4c5; } .ui.inverted.grey.cards > .card, .ui.inverted.cards > .grey.card, .ui.inverted.grey.card { - -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #DCDDDE, 0 0 0 1px #555555; - box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #DCDDDE, 0 0 0 1px #555555; -} -.ui.inverted.grey.cards > .card:hover, -.ui.inverted.cards > .grey.card:hover, -.ui.inverted.grey.card:hover { - -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #c2c4c5, 0 0 0 1px #555555; - box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #c2c4c5, 0 0 0 1px #555555; + box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #dcddde, 0 0 0 1px #555; +} +.ui.inverted.cards a.grey.card:hover, +.ui.inverted.grey.cards a.card:hover, +.ui.link.inverted.grey.cards .card:not(.icon):hover, +.ui.link.inverted.cards .grey.card:not(.icon):hover, +a.ui.inverted.grey.card:hover, +.ui.link.inverted.grey.card:hover { + box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #c2c4c5, 0 0 0 1px #555; +} +.ui.inverted.cards > .basic.grey.card, +.ui.basic.inverted.grey.cards > .card, +.ui.basic.inverted.cards > .grey.card, +.ui.basic.inverted.grey.card { + background: #767676; +} +.ui.inverted.cards a.basic.grey.card:hover, +.ui.basic.inverted.cards a.grey.card:hover, +.ui.basic.inverted.grey.cards a.card:hover, +.ui.link.inverted.cards .basic.grey.card:not(.icon):hover, +.ui.link.basic.inverted.grey.cards .card:not(.icon):hover, +.ui.link.basic.inverted.cards .grey.card:not(.icon):hover, +a.ui.basic.inverted.grey.card:hover, +.ui.link.basic.inverted.grey.card:hover { + background: #838383; } .ui.black.cards > .card, .ui.cards > .black.card, .ui.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.cards > .card:hover, -.ui.cards > .black.card:hover, -.ui.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; + box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #1b1c1d, 0 1px 3px 0 #d4d4d5; +} +.ui.cards a.black.card:hover, +.ui.black.cards a.card:hover, +.ui.link.black.cards .card:not(.icon):hover, +.ui.link.cards .black.card:not(.icon):hover, +a.ui.black.card:hover, +.ui.link.black.card:hover { + box-shadow: 0 0 0 1px #d4d4d5, 0 2px 0 0 #27292a, 0 1px 3px 0 #bcbdbd; +} +.ui.cards > .basic.black.card, +.ui.basic.black.cards > .card, +.ui.basic.cards > .black.card, +.ui.basic.black.card { + background: #545454; +} +.ui.cards > .basic.black.card .header, +.ui.basic.black.cards > .card .header, +.ui.basic.cards > .black.card .header, +.ui.basic.black.card .header, +.ui.cards > .basic.black.card .content, +.ui.basic.black.cards > .card .content, +.ui.basic.cards > .black.card .content, +.ui.basic.black.card .content, +.ui.cards > .basic.black.card .meta, +.ui.basic.black.cards > .card .meta, +.ui.basic.cards > .black.card .meta, +.ui.basic.black.card .meta, +.ui.cards > .basic.black.card .description, +.ui.basic.black.cards > .card .description, +.ui.basic.cards > .black.card .description, +.ui.basic.black.card .description { + color: #fff; +} +.ui.basic.cards a.black.card:hover, +.ui.cards a.basic.black.card:hover, +.ui.basic.black.cards a.card:hover, +.ui.link.cards .basic.black.card:not(.icon):hover, +.ui.link.basic.black.cards .card:not(.icon):hover, +.ui.link.basic.cards .black.card:not(.icon):hover, +a.ui.basic.black.card:hover, +.ui.link.basic.black.card:hover { + background: #000000; } .ui.inverted.black.cards > .card, .ui.inverted.cards > .black.card, .ui.inverted.black.card { - -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #545454, 0 0 0 1px #555555; - box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #545454, 0 0 0 1px #555555; -} -.ui.inverted.black.cards > .card:hover, -.ui.inverted.cards > .black.card:hover, -.ui.inverted.black.card:hover { - -webkit-box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #000000, 0 0 0 1px #555555; - box-shadow: 0 1px 3px 0 #555555, 0 2px 0 0 #000000, 0 0 0 1px #555555; -} - -/*-------------- - Card Count ----------------*/ - + box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #545454, 0 0 0 1px #555; +} +.ui.inverted.cards a.black.card:hover, +.ui.inverted.black.cards a.card:hover, +.ui.link.inverted.black.cards .card:not(.icon):hover, +.ui.link.inverted.cards .black.card:not(.icon):hover, +a.ui.inverted.black.card:hover, +.ui.link.inverted.black.card:hover { + box-shadow: 0 1px 3px 0 #555, 0 2px 0 0 #000000, 0 0 0 1px #555; +} +.ui.inverted.cards > .basic.black.card, +.ui.basic.inverted.black.cards > .card, +.ui.basic.inverted.cards > .black.card, +.ui.basic.inverted.black.card { + background: #1b1c1d; +} +.ui.inverted.cards a.basic.black.card:hover, +.ui.basic.inverted.cards a.black.card:hover, +.ui.basic.inverted.black.cards a.card:hover, +.ui.link.inverted.cards .basic.black.card:not(.icon):hover, +.ui.link.basic.inverted.black.cards .card:not(.icon):hover, +.ui.link.basic.inverted.cards .black.card:not(.icon):hover, +a.ui.basic.inverted.black.card:hover, +.ui.link.basic.inverted.black.card:hover { + background: #27292a; +} + +/* -------------- + Card Count + --------------- */ .ui.one.cards { margin-left: 0; margin-right: 0; @@ -1015,10 +1560,9 @@ a.ui.card:hover, margin-right: 0.5em; } -/*------------------- - Doubling - --------------------*/ - +/* ------------------- + Doubling + -------------------- */ /* Mobile Only */ @media only screen and (max-width: 767.98px) { @@ -1190,10 +1734,9 @@ a.ui.card:hover, } } -/*------------------- - Stackable - --------------------*/ - +/* ------------------- + Stackable + -------------------- */ @media only screen and (max-width: 767.98px) { .ui.stackable.cards { display: block !important; @@ -1210,44 +1753,48 @@ a.ui.card:hover, } } -/*-------------- +/* -------------- Size ----------------*/ - +--------------- */ .ui.cards > .card { font-size: 1em; } +.ui.mini.card, .ui.mini.cards .card { font-size: 0.78571429rem; } +.ui.tiny.card, .ui.tiny.cards .card { font-size: 0.85714286rem; } +.ui.small.card, .ui.small.cards .card { font-size: 0.92857143rem; } +.ui.large.card, .ui.large.cards .card { font-size: 1.14285714rem; } +.ui.big.card, .ui.big.cards .card { font-size: 1.28571429rem; } +.ui.huge.card, .ui.huge.cards .card { font-size: 1.42857143rem; } +.ui.massive.card, .ui.massive.cards .card { font-size: 1.71428571rem; } -/*----------------- - Inverted - ------------------*/ - +/* ----------------- + Inverted + ------------------ */ .ui.inverted.cards > .card, .ui.inverted.card { - background: #1B1C1D; - -webkit-box-shadow: 0 1px 3px 0 #555555, 0 0 0 1px #555555; - box-shadow: 0 1px 3px 0 #555555, 0 0 0 1px #555555; + background: #1b1c1d; + box-shadow: 0 1px 3px 0 #555, 0 0 0 1px #555; } /* Content */ @@ -1261,6 +1808,14 @@ a.ui.card:hover, .ui.inverted.card > .content > .header { color: rgba(255, 255, 255, 0.9); } +.ui.inverted.cards > .card > .content > a.header, +.ui.inverted.card > .content > a.header { + color: rgba(255, 255, 255, 0.9); +} +.ui.inverted.cards > .card > .content > a.header:hover, +.ui.inverted.card > .content > a.header:hover { + color: #1e70bf; +} /* Description */ .ui.inverted.cards > .card > .content > .description, @@ -1302,7 +1857,15 @@ a.ui.card:hover, .ui.inverted.link.cards .card:not(.icon):hover, a.inverted.ui.card:hover, .ui.inverted.link.card:hover { - background: #1B1C1D; + background: #1b1c1d; +} + +/* Loading */ +.ui.inverted.loading.card { + color: #fff; +} +.ui.inverted.loading.card::before { + background: rgba(0, 0, 0, 0.85); } diff --git a/src/main/resources/kweb/static/plugins/fomantic/components/card.min.css b/src/main/resources/kweb/static/plugins/fomantic/components/card.min.css index 1abffc8867..9456831fb4 100644 --- a/src/main/resources/kweb/static/plugins/fomantic/components/card.min.css +++ b/src/main/resources/kweb/static/plugins/fomantic/components/card.min.css @@ -1,9 +1,9 @@ /*! - * # Fomantic-UI - Card - * http://github.com/fomantic/Fomantic-UI/ + * # Fomantic-UI 2.9.3 - Card + * https://github.com/fomantic/Fomantic-UI/ * * * Released under the MIT license - * http://opensource.org/licenses/MIT + * https://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:'';word-wrap:break-word}.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>.button:last-child,.ui.card>.buttons:last-child,.ui.cards>.card>.button:last-child,.ui.cards>.card>.buttons:last-child{margin-bottom:-1px}.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.card.horizontal,.ui.horizontal.cards>.card{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;min-width:270px;width:400px;max-width:100%}.ui.card.horizontal>.image,.ui.horizontal.cards>.card>.image{border-radius:.28571429rem 0 0 .28571429rem;width:150px}.ui.card.horizontal>.image>img,.ui.horizontal.cards>.card>.image>img{background-size:cover;background-repeat:no-repeat;background-position:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;height:100%;border-radius:.28571429rem 0 0 .28571429rem}.ui.card.horizontal>.image:last-child>img,.ui.horizontal.cards>.card>.image:last-child>img{border-radius:0 .28571429rem .28571429rem 0}.ui.horizontal.card>.content,.ui.horizontal.cards>.card>.content{-ms-flex-preferred-size:1px;flex-basis:1px}.ui.horizontal.card>.extra,.ui.horizontal.cards>.card>.extra{-ms-flex-preferred-size:100%;flex-basis:100%}.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.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:not(.icon):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>.primary.card,.ui.primary.card,.ui.primary.cards>.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.cards>.primary.card:hover,.ui.primary.card:hover,.ui.primary.cards>.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.inverted.cards>.primary.card,.ui.inverted.primary.card,.ui.inverted.primary.cards>.card{-webkit-box-shadow:0 1px 3px 0 #555,0 2px 0 0 #54c8ff,0 0 0 1px #555;box-shadow:0 1px 3px 0 #555,0 2px 0 0 #54c8ff,0 0 0 1px #555}.ui.inverted.cards>.primary.card:hover,.ui.inverted.primary.card:hover,.ui.inverted.primary.cards>.card:hover{-webkit-box-shadow:0 1px 3px 0 #555,0 2px 0 0 #21b8ff,0 0 0 1px #555;box-shadow:0 1px 3px 0 #555,0 2px 0 0 #21b8ff,0 0 0 1px #555}.ui.cards>.secondary.card,.ui.secondary.card,.ui.secondary.cards>.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.cards>.secondary.card:hover,.ui.secondary.card:hover,.ui.secondary.cards>.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.inverted.cards>.secondary.card,.ui.inverted.secondary.card,.ui.inverted.secondary.cards>.card{-webkit-box-shadow:0 1px 3px 0 #555,0 2px 0 0 #545454,0 0 0 1px #555;box-shadow:0 1px 3px 0 #555,0 2px 0 0 #545454,0 0 0 1px #555}.ui.inverted.cards>.secondary.card:hover,.ui.inverted.secondary.card:hover,.ui.inverted.secondary.cards>.card:hover{-webkit-box-shadow:0 1px 3px 0 #555,0 2px 0 0 #6e6e6e,0 0 0 1px #555;box-shadow:0 1px 3px 0 #555,0 2px 0 0 #6e6e6e,0 0 0 1px #555}.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.inverted.cards>.red.card,.ui.inverted.red.card,.ui.inverted.red.cards>.card{-webkit-box-shadow:0 1px 3px 0 #555,0 2px 0 0 #ff695e,0 0 0 1px #555;box-shadow:0 1px 3px 0 #555,0 2px 0 0 #ff695e,0 0 0 1px #555}.ui.inverted.cards>.red.card:hover,.ui.inverted.red.card:hover,.ui.inverted.red.cards>.card:hover{-webkit-box-shadow:0 1px 3px 0 #555,0 2px 0 0 #ff392b,0 0 0 1px #555;box-shadow:0 1px 3px 0 #555,0 2px 0 0 #ff392b,0 0 0 1px #555}.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.inverted.cards>.orange.card,.ui.inverted.orange.card,.ui.inverted.orange.cards>.card{-webkit-box-shadow:0 1px 3px 0 #555,0 2px 0 0 #ff851b,0 0 0 1px #555;box-shadow:0 1px 3px 0 #555,0 2px 0 0 #ff851b,0 0 0 1px #555}.ui.inverted.cards>.orange.card:hover,.ui.inverted.orange.card:hover,.ui.inverted.orange.cards>.card:hover{-webkit-box-shadow:0 1px 3px 0 #555,0 2px 0 0 #e76b00,0 0 0 1px #555;box-shadow:0 1px 3px 0 #555,0 2px 0 0 #e76b00,0 0 0 1px #555}.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.inverted.cards>.yellow.card,.ui.inverted.yellow.card,.ui.inverted.yellow.cards>.card{-webkit-box-shadow:0 1px 3px 0 #555,0 2px 0 0 #ffe21f,0 0 0 1px #555;box-shadow:0 1px 3px 0 #555,0 2px 0 0 #ffe21f,0 0 0 1px #555}.ui.inverted.cards>.yellow.card:hover,.ui.inverted.yellow.card:hover,.ui.inverted.yellow.cards>.card:hover{-webkit-box-shadow:0 1px 3px 0 #555,0 2px 0 0 #ebcd00,0 0 0 1px #555;box-shadow:0 1px 3px 0 #555,0 2px 0 0 #ebcd00,0 0 0 1px #555}.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.inverted.cards>.olive.card,.ui.inverted.olive.card,.ui.inverted.olive.cards>.card{-webkit-box-shadow:0 1px 3px 0 #555,0 2px 0 0 #d9e778,0 0 0 1px #555;box-shadow:0 1px 3px 0 #555,0 2px 0 0 #d9e778,0 0 0 1px #555}.ui.inverted.cards>.olive.card:hover,.ui.inverted.olive.card:hover,.ui.inverted.olive.cards>.card:hover{-webkit-box-shadow:0 1px 3px 0 #555,0 2px 0 0 #d2e745,0 0 0 1px #555;box-shadow:0 1px 3px 0 #555,0 2px 0 0 #d2e745,0 0 0 1px #555}.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.inverted.cards>.green.card,.ui.inverted.green.card,.ui.inverted.green.cards>.card{-webkit-box-shadow:0 1px 3px 0 #555,0 2px 0 0 #2ecc40,0 0 0 1px #555;box-shadow:0 1px 3px 0 #555,0 2px 0 0 #2ecc40,0 0 0 1px #555}.ui.inverted.cards>.green.card:hover,.ui.inverted.green.card:hover,.ui.inverted.green.cards>.card:hover{-webkit-box-shadow:0 1px 3px 0 #555,0 2px 0 0 #1ea92e,0 0 0 1px #555;box-shadow:0 1px 3px 0 #555,0 2px 0 0 #1ea92e,0 0 0 1px #555}.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.inverted.cards>.teal.card,.ui.inverted.teal.card,.ui.inverted.teal.cards>.card{-webkit-box-shadow:0 1px 3px 0 #555,0 2px 0 0 #6dffff,0 0 0 1px #555;box-shadow:0 1px 3px 0 #555,0 2px 0 0 #6dffff,0 0 0 1px #555}.ui.inverted.cards>.teal.card:hover,.ui.inverted.teal.card:hover,.ui.inverted.teal.cards>.card:hover{-webkit-box-shadow:0 1px 3px 0 #555,0 2px 0 0 #3affff,0 0 0 1px #555;box-shadow:0 1px 3px 0 #555,0 2px 0 0 #3affff,0 0 0 1px #555}.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.inverted.blue.card,.ui.inverted.blue.cards>.card,.ui.inverted.cards>.blue.card{-webkit-box-shadow:0 1px 3px 0 #555,0 2px 0 0 #54c8ff,0 0 0 1px #555;box-shadow:0 1px 3px 0 #555,0 2px 0 0 #54c8ff,0 0 0 1px #555}.ui.inverted.blue.card:hover,.ui.inverted.blue.cards>.card:hover,.ui.inverted.cards>.blue.card:hover{-webkit-box-shadow:0 1px 3px 0 #555,0 2px 0 0 #21b8ff,0 0 0 1px #555;box-shadow:0 1px 3px 0 #555,0 2px 0 0 #21b8ff,0 0 0 1px #555}.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.inverted.cards>.violet.card,.ui.inverted.violet.card,.ui.inverted.violet.cards>.card{-webkit-box-shadow:0 1px 3px 0 #555,0 2px 0 0 #a291fb,0 0 0 1px #555;box-shadow:0 1px 3px 0 #555,0 2px 0 0 #a291fb,0 0 0 1px #555}.ui.inverted.cards>.violet.card:hover,.ui.inverted.violet.card:hover,.ui.inverted.violet.cards>.card:hover{-webkit-box-shadow:0 1px 3px 0 #555,0 2px 0 0 #745aff,0 0 0 1px #555;box-shadow:0 1px 3px 0 #555,0 2px 0 0 #745aff,0 0 0 1px #555}.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.inverted.cards>.purple.card,.ui.inverted.purple.card,.ui.inverted.purple.cards>.card{-webkit-box-shadow:0 1px 3px 0 #555,0 2px 0 0 #dc73ff,0 0 0 1px #555;box-shadow:0 1px 3px 0 #555,0 2px 0 0 #dc73ff,0 0 0 1px #555}.ui.inverted.cards>.purple.card:hover,.ui.inverted.purple.card:hover,.ui.inverted.purple.cards>.card:hover{-webkit-box-shadow:0 1px 3px 0 #555,0 2px 0 0 #cf40ff,0 0 0 1px #555;box-shadow:0 1px 3px 0 #555,0 2px 0 0 #cf40ff,0 0 0 1px #555}.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.inverted.cards>.pink.card,.ui.inverted.pink.card,.ui.inverted.pink.cards>.card{-webkit-box-shadow:0 1px 3px 0 #555,0 2px 0 0 #ff8edf,0 0 0 1px #555;box-shadow:0 1px 3px 0 #555,0 2px 0 0 #ff8edf,0 0 0 1px #555}.ui.inverted.cards>.pink.card:hover,.ui.inverted.pink.card:hover,.ui.inverted.pink.cards>.card:hover{-webkit-box-shadow:0 1px 3px 0 #555,0 2px 0 0 #ff5bd1,0 0 0 1px #555;box-shadow:0 1px 3px 0 #555,0 2px 0 0 #ff5bd1,0 0 0 1px #555}.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.inverted.brown.card,.ui.inverted.brown.cards>.card,.ui.inverted.cards>.brown.card{-webkit-box-shadow:0 1px 3px 0 #555,0 2px 0 0 #d67c1c,0 0 0 1px #555;box-shadow:0 1px 3px 0 #555,0 2px 0 0 #d67c1c,0 0 0 1px #555}.ui.inverted.brown.card:hover,.ui.inverted.brown.cards>.card:hover,.ui.inverted.cards>.brown.card:hover{-webkit-box-shadow:0 1px 3px 0 #555,0 2px 0 0 #b0620f,0 0 0 1px #555;box-shadow:0 1px 3px 0 #555,0 2px 0 0 #b0620f,0 0 0 1px #555}.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.inverted.cards>.grey.card,.ui.inverted.grey.card,.ui.inverted.grey.cards>.card{-webkit-box-shadow:0 1px 3px 0 #555,0 2px 0 0 #dcddde,0 0 0 1px #555;box-shadow:0 1px 3px 0 #555,0 2px 0 0 #dcddde,0 0 0 1px #555}.ui.inverted.cards>.grey.card:hover,.ui.inverted.grey.card:hover,.ui.inverted.grey.cards>.card:hover{-webkit-box-shadow:0 1px 3px 0 #555,0 2px 0 0 #c2c4c5,0 0 0 1px #555;box-shadow:0 1px 3px 0 #555,0 2px 0 0 #c2c4c5,0 0 0 1px #555}.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.inverted.black.card,.ui.inverted.black.cards>.card,.ui.inverted.cards>.black.card{-webkit-box-shadow:0 1px 3px 0 #555,0 2px 0 0 #545454,0 0 0 1px #555;box-shadow:0 1px 3px 0 #555,0 2px 0 0 #545454,0 0 0 1px #555}.ui.inverted.black.card:hover,.ui.inverted.black.cards>.card:hover,.ui.inverted.cards>.black.card:hover{-webkit-box-shadow:0 1px 3px 0 #555,0 2px 0 0 #000,0 0 0 1px #555;box-shadow:0 1px 3px 0 #555,0 2px 0 0 #000,0 0 0 1px #555}.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.33333333333333% - 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.666666666666664% - 1.5em);margin-left:.75em;margin-right:.75em}.ui.seven.cards{margin-left:-.5em;margin-right:-.5em}.ui.seven.cards>.card{width:calc(14.285714285714285% - 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.11111111111111% - 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:767.98px){.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.33333333333333% - 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.33333333333333% - 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.33333333333333% - 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.33333333333333% - 2em);margin-left:1em;margin-right:1em}}@media only screen and (min-width:768px) and (max-width:991.98px){.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.33333333333333% - 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.33333333333333% - 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.33333333333333% - 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:767.98px){.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}.ui.mini.cards .card{font-size:.78571429rem}.ui.tiny.cards .card{font-size:.85714286rem}.ui.small.cards .card{font-size:.92857143rem}.ui.large.cards .card{font-size:1.14285714rem}.ui.big.cards .card{font-size:1.28571429rem}.ui.huge.cards .card{font-size:1.42857143rem}.ui.massive.cards .card{font-size:1.71428571rem}.ui.inverted.card,.ui.inverted.cards>.card{background:#1b1c1d;-webkit-box-shadow:0 1px 3px 0 #555,0 0 0 1px #555;box-shadow:0 1px 3px 0 #555,0 0 0 1px #555}.ui.inverted.card>.content,.ui.inverted.cards>.card>.content{border-top:1px solid rgba(255,255,255,.15)}.ui.inverted.card>.content>.header,.ui.inverted.cards>.card>.content>.header{color:rgba(255,255,255,.9)}.ui.inverted.card>.content>.description,.ui.inverted.cards>.card>.content>.description{color:rgba(255,255,255,.8)}.ui.inverted.card .meta,.ui.inverted.cards>.card .meta{color:rgba(255,255,255,.7)}.ui.inverted.card .meta>a:not(.ui),.ui.inverted.cards>.card .meta>a:not(.ui){color:rgba(255,255,255,.7)}.ui.inverted.card .meta>a:not(.ui):hover,.ui.inverted.cards>.card .meta>a:not(.ui):hover{color:#fff}.ui.inverted.card>.extra,.ui.inverted.cards>.card>.extra{border-top:1px solid rgba(255,255,255,.15)!important;color:rgba(255,255,255,.7)}.ui.inverted.card>.extra a:not(.ui),.ui.inverted.cards>.card>.extra a:not(.ui){color:rgba(255,255,255,.5)}.ui.inverted.card>.extra a:not(.ui):hover,.ui.inverted.cards>.card>.extra a:not(.ui):hover{color:#1e70bf}.ui.inverted.cards a.card:hover,.ui.inverted.link.card:hover,.ui.inverted.link.cards .card:not(.icon):hover,a.inverted.ui.card:hover{background:#1b1c1d} \ No newline at end of file + */.ui.card,.ui.cards>.card{max-width:100%;position:relative;display:flex;flex-direction:column;width:290px;min-height:0;background:#fff;padding:0;border:none;border-radius:.28571429rem;box-shadow:0 1px 3px 0 #d4d4d5,0 0 0 1px #d4d4d5;transition:box-shadow .1s ease,transform .1s ease;z-index:"";word-wrap:break-word}.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:flex;margin:-.875em -.5em;flex-wrap:wrap}.ui.cards>.card{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;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{flex-grow:1;border:none;border-top:1px solid rgba(34,36,38,.1);background:0 0;margin:0;padding:1em;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,system-ui,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";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:"";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>.button:last-child,.ui.card>.buttons:last-child,.ui.cards>.card>.button:last-child,.ui.cards>.card>.buttons:last-child{margin-bottom:-1px}.ui.cards:not(.raised)>.basic.card:not(.raised),.ui.ui.ui.basic.card:not(.raised),.ui.ui.ui.basic.cards:not(.raised)>.card:not(.raised){box-shadow:none}.ui.cards:not(.raised)>.basic.card:not(.raised)>.button,.ui.cards:not(.raised)>.basic.card:not(.raised)>.buttons,.ui.ui.ui.basic.card:not(.raised)>.button,.ui.ui.ui.basic.card:not(.raised)>.buttons,.ui.ui.ui.basic.cards:not(.raised)>.card:not(.raised)>.button,.ui.ui.ui.basic.cards:not(.raised)>.card:not(.raised)>.buttons{margin:0;width:100%}.ui.ui.ui.ui.ui.basic.card:not(.raised):hover,.ui.ui.ui.ui.ui.basic.cards:not(.raised) .card:not(.raised):hover{box-shadow:none}.ui.card .dimmer,.ui.cards>.card .dimmer{background:"";z-index:10}.ui.card>.content .star.icon,.ui.cards>.card>.content .star.icon{cursor:pointer;opacity:.75;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;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;flex-grow:0;border-top:1px solid rgba(0,0,0,.05)!important;position:static;background:0 0;width:auto;margin:0;padding:.75em 1em;top:0;left:0;color:rgba(0,0,0,.4);box-shadow:none;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.disabled.card{opacity:.45;color:rgba(40,40,40,.3);pointer-events:none}.ui.loading.card{position:relative;cursor:default;pointer-events:none;transition:all 0s linear}.ui.loading.card::before{position:absolute;content:"";top:0;left:0;background:rgba(255,255,255,.8);width:100%;height:100%;border-radius:.28571429rem;z-index:100}.ui.loading.card::after{position:absolute;content:"";top:50%;left:50%;margin:-1.5em 0 0 -1.5em;width:3em;height:3em;animation:loader .6s infinite linear;border:.2em solid #767676;border-radius:500rem;box-shadow:0 0 0 1px transparent;visibility:visible;z-index:101}.ui.card.horizontal,.ui.horizontal.cards>.card{flex-flow:row wrap;min-width:270px;width:400px;max-width:100%}.ui.card.horizontal>.image,.ui.horizontal.cards>.card>.image{border-radius:.28571429rem 0 0 .28571429rem;width:150px}.ui.card.horizontal>.image>img,.ui.horizontal.cards>.card>.image>img{background-size:cover;background-repeat:no-repeat;background-position:center;justify-content:center;align-items:center;display:flex;width:100%;border-radius:.28571429rem 0 0 .28571429rem}.ui.card.horizontal>.image:last-child>img,.ui.horizontal.cards>.card>.image:last-child>img{border-radius:0 .28571429rem .28571429rem 0}.ui.horizontal.card>.content,.ui.horizontal.cards>.card>.content{border-top:none;flex-basis:1px}.ui.horizontal.card>.extra,.ui.horizontal.cards>.card>.extra{flex-basis:100%}.ui.cards>.raised.card,.ui.raised.card,.ui.raised.cards>.card{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{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.basic.cards>.raised.card,.ui.basic.raised.card,.ui.basic.raised.cards>.card,.ui.raised.cards>.basic.card{box-shadow:0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15)}.ui.basic.raised.cards a.card:hover,.ui.link.basic.cards .raised.card:hover,.ui.link.basic.raised.card:hover,.ui.link.basic.raised.cards .card:hover,.ui.link.cards .basic.raised.card:hover,a.ui.basic.raised.card:hover{box-shadow:0 2px 4px 0 rgba(34,36,38,.15),0 2px 10px 0 rgba(34,36,38,.25)}.ui.centered.cards{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{transform:none}.ui.cards a.card:hover,.ui.link.card:hover,.ui.link.cards .card:not(.icon):hover,a.ui.card:hover{cursor:pointer;z-index:5;background:#fff;border:none;box-shadow:0 1px 3px 0 #bcbdbd,0 0 0 1px #d4d4d5;transform:translateY(-3px)}.ui.cards>.primary.card,.ui.primary.card,.ui.primary.cards>.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #2185d0,0 1px 3px 0 #d4d4d5}.ui.cards a.primary.card:hover,.ui.link.cards .primary.card:not(.icon):hover,.ui.link.primary.card:hover,.ui.link.primary.cards .card:not(.icon):hover,.ui.primary.cards a.card:hover,a.ui.primary.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #1678c2,0 1px 3px 0 #bcbdbd}.ui.basic.cards>.primary.card,.ui.basic.primary.card,.ui.basic.primary.cards>.card,.ui.cards>.basic.primary.card{background:#54c8ff}.ui.basic.cards a.primary.card:hover,.ui.basic.primary.cards a.card:hover,.ui.cards a.basic.primary.card:hover,.ui.link.basic.cards .primary.card:not(.icon):hover,.ui.link.basic.primary.card:hover,.ui.link.basic.primary.cards .card:not(.icon):hover,.ui.link.cards .basic.primary.card:not(.icon):hover,a.ui.basic.primary.card:hover{background:#21b8ff}.ui.inverted.cards>.primary.card,.ui.inverted.primary.card,.ui.inverted.primary.cards>.card{box-shadow:0 1px 3px 0 #555,0 2px 0 0 #54c8ff,0 0 0 1px #555}.ui.inverted.cards a.primary.card:hover,.ui.inverted.primary.cards a.card:hover,.ui.link.inverted.cards .primary.card:not(.icon):hover,.ui.link.inverted.primary.card:hover,.ui.link.inverted.primary.cards .card:not(.icon):hover,a.ui.inverted.primary.card:hover{box-shadow:0 1px 3px 0 #555,0 2px 0 0 #21b8ff,0 0 0 1px #555}.ui.basic.inverted.cards>.primary.card,.ui.basic.inverted.primary.card,.ui.basic.inverted.primary.cards>.card,.ui.inverted.cards>.basic.primary.card{background:#2185d0}.ui.basic.inverted.cards a.primary.card:hover,.ui.basic.inverted.primary.cards a.card:hover,.ui.inverted.cards a.basic.primary.card:hover,.ui.link.basic.inverted.cards .primary.card:not(.icon):hover,.ui.link.basic.inverted.primary.card:hover,.ui.link.basic.inverted.primary.cards .card:not(.icon):hover,.ui.link.inverted.cards .basic.primary.card:not(.icon):hover,a.ui.basic.inverted.primary.card:hover{background:#1678c2}.ui.cards>.secondary.card,.ui.secondary.card,.ui.secondary.cards>.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #1b1c1d,0 1px 3px 0 #d4d4d5}.ui.cards a.secondary.card:hover,.ui.link.cards .secondary.card:not(.icon):hover,.ui.link.secondary.card:hover,.ui.link.secondary.cards .card:not(.icon):hover,.ui.secondary.cards a.card:hover,a.ui.secondary.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #27292a,0 1px 3px 0 #bcbdbd}.ui.basic.cards>.secondary.card,.ui.basic.secondary.card,.ui.basic.secondary.cards>.card,.ui.cards>.basic.secondary.card{background:#545454}.ui.basic.cards a.secondary.card:hover,.ui.basic.secondary.cards a.card:hover,.ui.cards a.basic.secondary.card:hover,.ui.link.basic.cards .secondary.card:not(.icon):hover,.ui.link.basic.secondary.card:hover,.ui.link.basic.secondary.cards .card:not(.icon):hover,.ui.link.cards .basic.secondary.card:not(.icon):hover,a.ui.basic.secondary.card:hover{background:#6e6e6e}.ui.inverted.cards>.secondary.card,.ui.inverted.secondary.card,.ui.inverted.secondary.cards>.card{box-shadow:0 1px 3px 0 #555,0 2px 0 0 #545454,0 0 0 1px #555}.ui.inverted.cards a.secondary.card:hover,.ui.inverted.secondary.cards a.card:hover,.ui.link.inverted.cards .secondary.card:not(.icon):hover,.ui.link.inverted.secondary.card:hover,.ui.link.inverted.secondary.cards .card:not(.icon):hover,a.ui.inverted.secondary.card:hover{box-shadow:0 1px 3px 0 #555,0 2px 0 0 #6e6e6e,0 0 0 1px #555}.ui.basic.inverted.cards>.secondary.card,.ui.basic.inverted.secondary.card,.ui.basic.inverted.secondary.cards>.card,.ui.inverted.cards>.basic.secondary.card{background:#1b1c1d}.ui.basic.inverted.cards a.secondary.card:hover,.ui.basic.inverted.secondary.cards a.card:hover,.ui.inverted.cards a.basic.secondary.card:hover,.ui.link.basic.inverted.cards .secondary.card:not(.icon):hover,.ui.link.basic.inverted.secondary.card:hover,.ui.link.basic.inverted.secondary.cards .card:not(.icon):hover,.ui.link.inverted.cards .basic.secondary.card:not(.icon):hover,a.ui.basic.inverted.secondary.card:hover{background:#27292a}.ui.cards>.red.card,.ui.red.card,.ui.red.cards>.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #db2828,0 1px 3px 0 #d4d4d5}.ui.cards a.red.card:hover,.ui.link.cards .red.card:not(.icon):hover,.ui.link.red.card:hover,.ui.link.red.cards .card:not(.icon):hover,.ui.red.cards a.card:hover,a.ui.red.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #d01919,0 1px 3px 0 #bcbdbd}.ui.basic.cards>.red.card,.ui.basic.red.card,.ui.basic.red.cards>.card,.ui.cards>.basic.red.card{background:#ff695e}.ui.basic.cards a.red.card:hover,.ui.basic.red.cards a.card:hover,.ui.cards a.basic.red.card:hover,.ui.link.basic.cards .red.card:not(.icon):hover,.ui.link.basic.red.card:hover,.ui.link.basic.red.cards .card:not(.icon):hover,.ui.link.cards .basic.red.card:not(.icon):hover,a.ui.basic.red.card:hover{background:#ff392b}.ui.inverted.cards>.red.card,.ui.inverted.red.card,.ui.inverted.red.cards>.card{box-shadow:0 1px 3px 0 #555,0 2px 0 0 #ff695e,0 0 0 1px #555}.ui.inverted.cards a.red.card:hover,.ui.inverted.red.cards a.card:hover,.ui.link.inverted.cards .red.card:not(.icon):hover,.ui.link.inverted.red.card:hover,.ui.link.inverted.red.cards .card:not(.icon):hover,a.ui.inverted.red.card:hover{box-shadow:0 1px 3px 0 #555,0 2px 0 0 #ff392b,0 0 0 1px #555}.ui.basic.inverted.cards>.red.card,.ui.basic.inverted.red.card,.ui.basic.inverted.red.cards>.card,.ui.inverted.cards>.basic.red.card{background:#db2828}.ui.basic.inverted.cards a.red.card:hover,.ui.basic.inverted.red.cards a.card:hover,.ui.inverted.cards a.basic.red.card:hover,.ui.link.basic.inverted.cards .red.card:not(.icon):hover,.ui.link.basic.inverted.red.card:hover,.ui.link.basic.inverted.red.cards .card:not(.icon):hover,.ui.link.inverted.cards .basic.red.card:not(.icon):hover,a.ui.basic.inverted.red.card:hover{background:#d01919}.ui.cards>.orange.card,.ui.orange.card,.ui.orange.cards>.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #f2711c,0 1px 3px 0 #d4d4d5}.ui.cards a.orange.card:hover,.ui.link.cards .orange.card:not(.icon):hover,.ui.link.orange.card:hover,.ui.link.orange.cards .card:not(.icon):hover,.ui.orange.cards a.card:hover,a.ui.orange.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #f26202,0 1px 3px 0 #bcbdbd}.ui.basic.cards>.orange.card,.ui.basic.orange.card,.ui.basic.orange.cards>.card,.ui.cards>.basic.orange.card{background:#ff851b}.ui.basic.cards a.orange.card:hover,.ui.basic.orange.cards a.card:hover,.ui.cards a.basic.orange.card:hover,.ui.link.basic.cards .orange.card:not(.icon):hover,.ui.link.basic.orange.card:hover,.ui.link.basic.orange.cards .card:not(.icon):hover,.ui.link.cards .basic.orange.card:not(.icon):hover,a.ui.basic.orange.card:hover{background:#e76b00}.ui.inverted.cards>.orange.card,.ui.inverted.orange.card,.ui.inverted.orange.cards>.card{box-shadow:0 1px 3px 0 #555,0 2px 0 0 #ff851b,0 0 0 1px #555}.ui.inverted.cards a.orange.card:hover,.ui.inverted.orange.cards a.card:hover,.ui.link.inverted.cards .orange.card:not(.icon):hover,.ui.link.inverted.orange.card:hover,.ui.link.inverted.orange.cards .card:not(.icon):hover,a.ui.inverted.orange.card:hover{box-shadow:0 1px 3px 0 #555,0 2px 0 0 #e76b00,0 0 0 1px #555}.ui.basic.inverted.cards>.orange.card,.ui.basic.inverted.orange.card,.ui.basic.inverted.orange.cards>.card,.ui.inverted.cards>.basic.orange.card{background:#f2711c}.ui.basic.inverted.cards a.orange.card:hover,.ui.basic.inverted.orange.cards a.card:hover,.ui.inverted.cards a.basic.orange.card:hover,.ui.link.basic.inverted.cards .orange.card:not(.icon):hover,.ui.link.basic.inverted.orange.card:hover,.ui.link.basic.inverted.orange.cards .card:not(.icon):hover,.ui.link.inverted.cards .basic.orange.card:not(.icon):hover,a.ui.basic.inverted.orange.card:hover{background:#f26202}.ui.cards>.yellow.card,.ui.yellow.card,.ui.yellow.cards>.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #fbbd08,0 1px 3px 0 #d4d4d5}.ui.cards a.yellow.card:hover,.ui.link.cards .yellow.card:not(.icon):hover,.ui.link.yellow.card:hover,.ui.link.yellow.cards .card:not(.icon):hover,.ui.yellow.cards a.card:hover,a.ui.yellow.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #eaae00,0 1px 3px 0 #bcbdbd}.ui.basic.cards>.yellow.card,.ui.basic.yellow.card,.ui.basic.yellow.cards>.card,.ui.cards>.basic.yellow.card{background:#ffe21f}.ui.basic.cards a.yellow.card:hover,.ui.basic.yellow.cards a.card:hover,.ui.cards a.basic.yellow.card:hover,.ui.link.basic.cards .yellow.card:not(.icon):hover,.ui.link.basic.yellow.card:hover,.ui.link.basic.yellow.cards .card:not(.icon):hover,.ui.link.cards .basic.yellow.card:not(.icon):hover,a.ui.basic.yellow.card:hover{background:#ebcd00}.ui.inverted.cards>.yellow.card,.ui.inverted.yellow.card,.ui.inverted.yellow.cards>.card{box-shadow:0 1px 3px 0 #555,0 2px 0 0 #ffe21f,0 0 0 1px #555}.ui.inverted.cards a.yellow.card:hover,.ui.inverted.yellow.cards a.card:hover,.ui.link.inverted.cards .yellow.card:not(.icon):hover,.ui.link.inverted.yellow.card:hover,.ui.link.inverted.yellow.cards .card:not(.icon):hover,a.ui.inverted.yellow.card:hover{box-shadow:0 1px 3px 0 #555,0 2px 0 0 #ebcd00,0 0 0 1px #555}.ui.basic.inverted.cards>.yellow.card,.ui.basic.inverted.yellow.card,.ui.basic.inverted.yellow.cards>.card,.ui.inverted.cards>.basic.yellow.card{background:#fbbd08}.ui.basic.inverted.cards a.yellow.card:hover,.ui.basic.inverted.yellow.cards a.card:hover,.ui.inverted.cards a.basic.yellow.card:hover,.ui.link.basic.inverted.cards .yellow.card:not(.icon):hover,.ui.link.basic.inverted.yellow.card:hover,.ui.link.basic.inverted.yellow.cards .card:not(.icon):hover,.ui.link.inverted.cards .basic.yellow.card:not(.icon):hover,a.ui.basic.inverted.yellow.card:hover{background:#eaae00}.ui.cards>.olive.card,.ui.olive.card,.ui.olive.cards>.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #b5cc18,0 1px 3px 0 #d4d4d5}.ui.cards a.olive.card:hover,.ui.link.cards .olive.card:not(.icon):hover,.ui.link.olive.card:hover,.ui.link.olive.cards .card:not(.icon):hover,.ui.olive.cards a.card:hover,a.ui.olive.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #a7bd0d,0 1px 3px 0 #bcbdbd}.ui.basic.cards>.olive.card,.ui.basic.olive.card,.ui.basic.olive.cards>.card,.ui.cards>.basic.olive.card{background:#d9e778}.ui.basic.cards a.olive.card:hover,.ui.basic.olive.cards a.card:hover,.ui.cards a.basic.olive.card:hover,.ui.link.basic.cards .olive.card:not(.icon):hover,.ui.link.basic.olive.card:hover,.ui.link.basic.olive.cards .card:not(.icon):hover,.ui.link.cards .basic.olive.card:not(.icon):hover,a.ui.basic.olive.card:hover{background:#d2e745}.ui.inverted.cards>.olive.card,.ui.inverted.olive.card,.ui.inverted.olive.cards>.card{box-shadow:0 1px 3px 0 #555,0 2px 0 0 #d9e778,0 0 0 1px #555}.ui.inverted.cards a.olive.card:hover,.ui.inverted.olive.cards a.card:hover,.ui.link.inverted.cards .olive.card:not(.icon):hover,.ui.link.inverted.olive.card:hover,.ui.link.inverted.olive.cards .card:not(.icon):hover,a.ui.inverted.olive.card:hover{box-shadow:0 1px 3px 0 #555,0 2px 0 0 #d2e745,0 0 0 1px #555}.ui.basic.inverted.cards>.olive.card,.ui.basic.inverted.olive.card,.ui.basic.inverted.olive.cards>.card,.ui.inverted.cards>.basic.olive.card{background:#b5cc18}.ui.basic.inverted.cards a.olive.card:hover,.ui.basic.inverted.olive.cards a.card:hover,.ui.inverted.cards a.basic.olive.card:hover,.ui.link.basic.inverted.cards .olive.card:not(.icon):hover,.ui.link.basic.inverted.olive.card:hover,.ui.link.basic.inverted.olive.cards .card:not(.icon):hover,.ui.link.inverted.cards .basic.olive.card:not(.icon):hover,a.ui.basic.inverted.olive.card:hover{background:#a7bd0d}.ui.cards>.green.card,.ui.green.card,.ui.green.cards>.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #21ba45,0 1px 3px 0 #d4d4d5}.ui.cards a.green.card:hover,.ui.green.cards a.card:hover,.ui.link.cards .green.card:not(.icon):hover,.ui.link.green.card:hover,.ui.link.green.cards .card:not(.icon):hover,a.ui.green.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #16ab39,0 1px 3px 0 #bcbdbd}.ui.basic.cards>.green.card,.ui.basic.green.card,.ui.basic.green.cards>.card,.ui.cards>.basic.green.card{background:#2ecc40}.ui.basic.cards a.green.card:hover,.ui.basic.green.cards a.card:hover,.ui.cards a.basic.green.card:hover,.ui.link.basic.cards .green.card:not(.icon):hover,.ui.link.basic.green.card:hover,.ui.link.basic.green.cards .card:not(.icon):hover,.ui.link.cards .basic.green.card:not(.icon):hover,a.ui.basic.green.card:hover{background:#1ea92e}.ui.inverted.cards>.green.card,.ui.inverted.green.card,.ui.inverted.green.cards>.card{box-shadow:0 1px 3px 0 #555,0 2px 0 0 #2ecc40,0 0 0 1px #555}.ui.inverted.cards a.green.card:hover,.ui.inverted.green.cards a.card:hover,.ui.link.inverted.cards .green.card:not(.icon):hover,.ui.link.inverted.green.card:hover,.ui.link.inverted.green.cards .card:not(.icon):hover,a.ui.inverted.green.card:hover{box-shadow:0 1px 3px 0 #555,0 2px 0 0 #1ea92e,0 0 0 1px #555}.ui.basic.inverted.cards>.green.card,.ui.basic.inverted.green.card,.ui.basic.inverted.green.cards>.card,.ui.inverted.cards>.basic.green.card{background:#21ba45}.ui.basic.inverted.cards a.green.card:hover,.ui.basic.inverted.green.cards a.card:hover,.ui.inverted.cards a.basic.green.card:hover,.ui.link.basic.inverted.cards .green.card:not(.icon):hover,.ui.link.basic.inverted.green.card:hover,.ui.link.basic.inverted.green.cards .card:not(.icon):hover,.ui.link.inverted.cards .basic.green.card:not(.icon):hover,a.ui.basic.inverted.green.card:hover{background:#16ab39}.ui.cards>.teal.card,.ui.teal.card,.ui.teal.cards>.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #00b5ad,0 1px 3px 0 #d4d4d5}.ui.cards a.teal.card:hover,.ui.link.cards .teal.card:not(.icon):hover,.ui.link.teal.card:hover,.ui.link.teal.cards .card:not(.icon):hover,.ui.teal.cards a.card:hover,a.ui.teal.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #009c95,0 1px 3px 0 #bcbdbd}.ui.basic.cards>.teal.card,.ui.basic.teal.card,.ui.basic.teal.cards>.card,.ui.cards>.basic.teal.card{background:#6dffff}.ui.basic.cards a.teal.card:hover,.ui.basic.teal.cards a.card:hover,.ui.cards a.basic.teal.card:hover,.ui.link.basic.cards .teal.card:not(.icon):hover,.ui.link.basic.teal.card:hover,.ui.link.basic.teal.cards .card:not(.icon):hover,.ui.link.cards .basic.teal.card:not(.icon):hover,a.ui.basic.teal.card:hover{background:#3affff}.ui.inverted.cards>.teal.card,.ui.inverted.teal.card,.ui.inverted.teal.cards>.card{box-shadow:0 1px 3px 0 #555,0 2px 0 0 #6dffff,0 0 0 1px #555}.ui.inverted.cards a.teal.card:hover,.ui.inverted.teal.cards a.card:hover,.ui.link.inverted.cards .teal.card:not(.icon):hover,.ui.link.inverted.teal.card:hover,.ui.link.inverted.teal.cards .card:not(.icon):hover,a.ui.inverted.teal.card:hover{box-shadow:0 1px 3px 0 #555,0 2px 0 0 #3affff,0 0 0 1px #555}.ui.basic.inverted.cards>.teal.card,.ui.basic.inverted.teal.card,.ui.basic.inverted.teal.cards>.card,.ui.inverted.cards>.basic.teal.card{background:#00b5ad}.ui.basic.inverted.cards a.teal.card:hover,.ui.basic.inverted.teal.cards a.card:hover,.ui.inverted.cards a.basic.teal.card:hover,.ui.link.basic.inverted.cards .teal.card:not(.icon):hover,.ui.link.basic.inverted.teal.card:hover,.ui.link.basic.inverted.teal.cards .card:not(.icon):hover,.ui.link.inverted.cards .basic.teal.card:not(.icon):hover,a.ui.basic.inverted.teal.card:hover{background:#009c95}.ui.blue.card,.ui.blue.cards>.card,.ui.cards>.blue.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #2185d0,0 1px 3px 0 #d4d4d5}.ui.blue.cards a.card:hover,.ui.cards a.blue.card:hover,.ui.link.blue.card:hover,.ui.link.blue.cards .card:not(.icon):hover,.ui.link.cards .blue.card:not(.icon):hover,a.ui.blue.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #1678c2,0 1px 3px 0 #bcbdbd}.ui.basic.blue.card,.ui.basic.blue.cards>.card,.ui.basic.cards>.blue.card,.ui.cards>.basic.blue.card{background:#54c8ff}.ui.basic.blue.cards a.card:hover,.ui.basic.cards a.blue.card:hover,.ui.cards a.basic.blue.card:hover,.ui.link.basic.blue.card:hover,.ui.link.basic.blue.cards .card:not(.icon):hover,.ui.link.basic.cards .blue.card:not(.icon):hover,.ui.link.cards .basic.blue.card:not(.icon):hover,a.ui.basic.blue.card:hover{background:#21b8ff}.ui.inverted.blue.card,.ui.inverted.blue.cards>.card,.ui.inverted.cards>.blue.card{box-shadow:0 1px 3px 0 #555,0 2px 0 0 #54c8ff,0 0 0 1px #555}.ui.inverted.blue.cards a.card:hover,.ui.inverted.cards a.blue.card:hover,.ui.link.inverted.blue.card:hover,.ui.link.inverted.blue.cards .card:not(.icon):hover,.ui.link.inverted.cards .blue.card:not(.icon):hover,a.ui.inverted.blue.card:hover{box-shadow:0 1px 3px 0 #555,0 2px 0 0 #21b8ff,0 0 0 1px #555}.ui.basic.inverted.blue.card,.ui.basic.inverted.blue.cards>.card,.ui.basic.inverted.cards>.blue.card,.ui.inverted.cards>.basic.blue.card{background:#2185d0}.ui.basic.inverted.blue.cards a.card:hover,.ui.basic.inverted.cards a.blue.card:hover,.ui.inverted.cards a.basic.blue.card:hover,.ui.link.basic.inverted.blue.card:hover,.ui.link.basic.inverted.blue.cards .card:not(.icon):hover,.ui.link.basic.inverted.cards .blue.card:not(.icon):hover,.ui.link.inverted.cards .basic.blue.card:not(.icon):hover,a.ui.basic.inverted.blue.card:hover{background:#1678c2}.ui.cards>.violet.card,.ui.violet.card,.ui.violet.cards>.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #6435c9,0 1px 3px 0 #d4d4d5}.ui.cards a.violet.card:hover,.ui.link.cards .violet.card:not(.icon):hover,.ui.link.violet.card:hover,.ui.link.violet.cards .card:not(.icon):hover,.ui.violet.cards a.card:hover,a.ui.violet.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #5829bb,0 1px 3px 0 #bcbdbd}.ui.basic.cards>.violet.card,.ui.basic.violet.card,.ui.basic.violet.cards>.card,.ui.cards>.basic.violet.card{background:#a291fb}.ui.basic.cards a.violet.card:hover,.ui.basic.violet.cards a.card:hover,.ui.cards a.basic.violet.card:hover,.ui.link.basic.cards .violet.card:not(.icon):hover,.ui.link.basic.violet.card:hover,.ui.link.basic.violet.cards .card:not(.icon):hover,.ui.link.cards .basic.violet.card:not(.icon):hover,a.ui.basic.violet.card:hover{background:#745aff}.ui.inverted.cards>.violet.card,.ui.inverted.violet.card,.ui.inverted.violet.cards>.card{box-shadow:0 1px 3px 0 #555,0 2px 0 0 #a291fb,0 0 0 1px #555}.ui.inverted.cards a.violet.card:hover,.ui.inverted.violet.cards a.card:hover,.ui.link.inverted.cards .violet.card:not(.icon):hover,.ui.link.inverted.violet.card:hover,.ui.link.inverted.violet.cards .card:not(.icon):hover,a.ui.inverted.violet.card:hover{box-shadow:0 1px 3px 0 #555,0 2px 0 0 #745aff,0 0 0 1px #555}.ui.basic.inverted.cards>.violet.card,.ui.basic.inverted.violet.card,.ui.basic.inverted.violet.cards>.card,.ui.inverted.cards>.basic.violet.card{background:#6435c9}.ui.basic.inverted.cards a.violet.card:hover,.ui.basic.inverted.violet.cards a.card:hover,.ui.inverted.cards a.basic.violet.card:hover,.ui.link.basic.inverted.cards .violet.card:not(.icon):hover,.ui.link.basic.inverted.violet.card:hover,.ui.link.basic.inverted.violet.cards .card:not(.icon):hover,.ui.link.inverted.cards .basic.violet.card:not(.icon):hover,a.ui.basic.inverted.violet.card:hover{background:#5829bb}.ui.cards>.purple.card,.ui.purple.card,.ui.purple.cards>.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #a333c8,0 1px 3px 0 #d4d4d5}.ui.cards a.purple.card:hover,.ui.link.cards .purple.card:not(.icon):hover,.ui.link.purple.card:hover,.ui.link.purple.cards .card:not(.icon):hover,.ui.purple.cards a.card:hover,a.ui.purple.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #9627ba,0 1px 3px 0 #bcbdbd}.ui.basic.cards>.purple.card,.ui.basic.purple.card,.ui.basic.purple.cards>.card,.ui.cards>.basic.purple.card{background:#dc73ff}.ui.basic.cards a.purple.card:hover,.ui.basic.purple.cards a.card:hover,.ui.cards a.basic.purple.card:hover,.ui.link.basic.cards .purple.card:not(.icon):hover,.ui.link.basic.purple.card:hover,.ui.link.basic.purple.cards .card:not(.icon):hover,.ui.link.cards .basic.purple.card:not(.icon):hover,a.ui.basic.purple.card:hover{background:#cf40ff}.ui.inverted.cards>.purple.card,.ui.inverted.purple.card,.ui.inverted.purple.cards>.card{box-shadow:0 1px 3px 0 #555,0 2px 0 0 #dc73ff,0 0 0 1px #555}.ui.inverted.cards a.purple.card:hover,.ui.inverted.purple.cards a.card:hover,.ui.link.inverted.cards .purple.card:not(.icon):hover,.ui.link.inverted.purple.card:hover,.ui.link.inverted.purple.cards .card:not(.icon):hover,a.ui.inverted.purple.card:hover{box-shadow:0 1px 3px 0 #555,0 2px 0 0 #cf40ff,0 0 0 1px #555}.ui.basic.inverted.cards>.purple.card,.ui.basic.inverted.purple.card,.ui.basic.inverted.purple.cards>.card,.ui.inverted.cards>.basic.purple.card{background:#a333c8}.ui.basic.inverted.cards a.purple.card:hover,.ui.basic.inverted.purple.cards a.card:hover,.ui.inverted.cards a.basic.purple.card:hover,.ui.link.basic.inverted.cards .purple.card:not(.icon):hover,.ui.link.basic.inverted.purple.card:hover,.ui.link.basic.inverted.purple.cards .card:not(.icon):hover,.ui.link.inverted.cards .basic.purple.card:not(.icon):hover,a.ui.basic.inverted.purple.card:hover{background:#9627ba}.ui.cards>.pink.card,.ui.pink.card,.ui.pink.cards>.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #e03997,0 1px 3px 0 #d4d4d5}.ui.cards a.pink.card:hover,.ui.link.cards .pink.card:not(.icon):hover,.ui.link.pink.card:hover,.ui.link.pink.cards .card:not(.icon):hover,.ui.pink.cards a.card:hover,a.ui.pink.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #e61a8d,0 1px 3px 0 #bcbdbd}.ui.basic.cards>.pink.card,.ui.basic.pink.card,.ui.basic.pink.cards>.card,.ui.cards>.basic.pink.card{background:#ff8edf}.ui.basic.cards a.pink.card:hover,.ui.basic.pink.cards a.card:hover,.ui.cards a.basic.pink.card:hover,.ui.link.basic.cards .pink.card:not(.icon):hover,.ui.link.basic.pink.card:hover,.ui.link.basic.pink.cards .card:not(.icon):hover,.ui.link.cards .basic.pink.card:not(.icon):hover,a.ui.basic.pink.card:hover{background:#ff5bd1}.ui.inverted.cards>.pink.card,.ui.inverted.pink.card,.ui.inverted.pink.cards>.card{box-shadow:0 1px 3px 0 #555,0 2px 0 0 #ff8edf,0 0 0 1px #555}.ui.inverted.cards a.pink.card:hover,.ui.inverted.pink.cards a.card:hover,.ui.link.inverted.cards .pink.card:not(.icon):hover,.ui.link.inverted.pink.card:hover,.ui.link.inverted.pink.cards .card:not(.icon):hover,a.ui.inverted.pink.card:hover{box-shadow:0 1px 3px 0 #555,0 2px 0 0 #ff5bd1,0 0 0 1px #555}.ui.basic.inverted.cards>.pink.card,.ui.basic.inverted.pink.card,.ui.basic.inverted.pink.cards>.card,.ui.inverted.cards>.basic.pink.card{background:#e03997}.ui.basic.inverted.cards a.pink.card:hover,.ui.basic.inverted.pink.cards a.card:hover,.ui.inverted.cards a.basic.pink.card:hover,.ui.link.basic.inverted.cards .pink.card:not(.icon):hover,.ui.link.basic.inverted.pink.card:hover,.ui.link.basic.inverted.pink.cards .card:not(.icon):hover,.ui.link.inverted.cards .basic.pink.card:not(.icon):hover,a.ui.basic.inverted.pink.card:hover{background:#e61a8d}.ui.brown.card,.ui.brown.cards>.card,.ui.cards>.brown.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #a5673f,0 1px 3px 0 #d4d4d5}.ui.brown.cards a.card:hover,.ui.cards a.brown.card:hover,.ui.link.brown.card:hover,.ui.link.brown.cards .card:not(.icon):hover,.ui.link.cards .brown.card:not(.icon):hover,a.ui.brown.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #975b33,0 1px 3px 0 #bcbdbd}.ui.basic.brown.card,.ui.basic.brown.cards>.card,.ui.basic.cards>.brown.card,.ui.cards>.basic.brown.card{background:#d67c1c}.ui.basic.brown.cards a.card:hover,.ui.basic.cards a.brown.card:hover,.ui.cards a.basic.brown.card:hover,.ui.link.basic.brown.card:hover,.ui.link.basic.brown.cards .card:not(.icon):hover,.ui.link.basic.cards .brown.card:not(.icon):hover,.ui.link.cards .basic.brown.card:not(.icon):hover,a.ui.basic.brown.card:hover{background:#b0620f}.ui.inverted.brown.card,.ui.inverted.brown.cards>.card,.ui.inverted.cards>.brown.card{box-shadow:0 1px 3px 0 #555,0 2px 0 0 #d67c1c,0 0 0 1px #555}.ui.inverted.brown.cards a.card:hover,.ui.inverted.cards a.brown.card:hover,.ui.link.inverted.brown.card:hover,.ui.link.inverted.brown.cards .card:not(.icon):hover,.ui.link.inverted.cards .brown.card:not(.icon):hover,a.ui.inverted.brown.card:hover{box-shadow:0 1px 3px 0 #555,0 2px 0 0 #b0620f,0 0 0 1px #555}.ui.basic.inverted.brown.card,.ui.basic.inverted.brown.cards>.card,.ui.basic.inverted.cards>.brown.card,.ui.inverted.cards>.basic.brown.card{background:#a5673f}.ui.basic.inverted.brown.cards a.card:hover,.ui.basic.inverted.cards a.brown.card:hover,.ui.inverted.cards a.basic.brown.card:hover,.ui.link.basic.inverted.brown.card:hover,.ui.link.basic.inverted.brown.cards .card:not(.icon):hover,.ui.link.basic.inverted.cards .brown.card:not(.icon):hover,.ui.link.inverted.cards .basic.brown.card:not(.icon):hover,a.ui.basic.inverted.brown.card:hover{background:#975b33}.ui.cards>.grey.card,.ui.grey.card,.ui.grey.cards>.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #767676,0 1px 3px 0 #d4d4d5}.ui.cards a.grey.card:hover,.ui.grey.cards a.card:hover,.ui.link.cards .grey.card:not(.icon):hover,.ui.link.grey.card:hover,.ui.link.grey.cards .card:not(.icon):hover,a.ui.grey.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #838383,0 1px 3px 0 #bcbdbd}.ui.basic.cards>.grey.card,.ui.basic.grey.card,.ui.basic.grey.cards>.card,.ui.cards>.basic.grey.card{background:#dcddde}.ui.basic.cards a.grey.card:hover,.ui.basic.grey.cards a.card:hover,.ui.cards a.basic.grey.card:hover,.ui.link.basic.cards .grey.card:not(.icon):hover,.ui.link.basic.grey.card:hover,.ui.link.basic.grey.cards .card:not(.icon):hover,.ui.link.cards .basic.grey.card:not(.icon):hover,a.ui.basic.grey.card:hover{background:#c2c4c5}.ui.inverted.cards>.grey.card,.ui.inverted.grey.card,.ui.inverted.grey.cards>.card{box-shadow:0 1px 3px 0 #555,0 2px 0 0 #dcddde,0 0 0 1px #555}.ui.inverted.cards a.grey.card:hover,.ui.inverted.grey.cards a.card:hover,.ui.link.inverted.cards .grey.card:not(.icon):hover,.ui.link.inverted.grey.card:hover,.ui.link.inverted.grey.cards .card:not(.icon):hover,a.ui.inverted.grey.card:hover{box-shadow:0 1px 3px 0 #555,0 2px 0 0 #c2c4c5,0 0 0 1px #555}.ui.basic.inverted.cards>.grey.card,.ui.basic.inverted.grey.card,.ui.basic.inverted.grey.cards>.card,.ui.inverted.cards>.basic.grey.card{background:#767676}.ui.basic.inverted.cards a.grey.card:hover,.ui.basic.inverted.grey.cards a.card:hover,.ui.inverted.cards a.basic.grey.card:hover,.ui.link.basic.inverted.cards .grey.card:not(.icon):hover,.ui.link.basic.inverted.grey.card:hover,.ui.link.basic.inverted.grey.cards .card:not(.icon):hover,.ui.link.inverted.cards .basic.grey.card:not(.icon):hover,a.ui.basic.inverted.grey.card:hover{background:#838383}.ui.black.card,.ui.black.cards>.card,.ui.cards>.black.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #1b1c1d,0 1px 3px 0 #d4d4d5}.ui.black.cards a.card:hover,.ui.cards a.black.card:hover,.ui.link.black.card:hover,.ui.link.black.cards .card:not(.icon):hover,.ui.link.cards .black.card:not(.icon):hover,a.ui.black.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #27292a,0 1px 3px 0 #bcbdbd}.ui.basic.black.card,.ui.basic.black.cards>.card,.ui.basic.cards>.black.card,.ui.cards>.basic.black.card{background:#545454}.ui.basic.black.card .content,.ui.basic.black.card .description,.ui.basic.black.card .header,.ui.basic.black.card .meta,.ui.basic.black.cards>.card .content,.ui.basic.black.cards>.card .description,.ui.basic.black.cards>.card .header,.ui.basic.black.cards>.card .meta,.ui.basic.cards>.black.card .content,.ui.basic.cards>.black.card .description,.ui.basic.cards>.black.card .header,.ui.basic.cards>.black.card .meta,.ui.cards>.basic.black.card .content,.ui.cards>.basic.black.card .description,.ui.cards>.basic.black.card .header,.ui.cards>.basic.black.card .meta{color:#fff}.ui.basic.black.cards a.card:hover,.ui.basic.cards a.black.card:hover,.ui.cards a.basic.black.card:hover,.ui.link.basic.black.card:hover,.ui.link.basic.black.cards .card:not(.icon):hover,.ui.link.basic.cards .black.card:not(.icon):hover,.ui.link.cards .basic.black.card:not(.icon):hover,a.ui.basic.black.card:hover{background:#000}.ui.inverted.black.card,.ui.inverted.black.cards>.card,.ui.inverted.cards>.black.card{box-shadow:0 1px 3px 0 #555,0 2px 0 0 #545454,0 0 0 1px #555}.ui.inverted.black.cards a.card:hover,.ui.inverted.cards a.black.card:hover,.ui.link.inverted.black.card:hover,.ui.link.inverted.black.cards .card:not(.icon):hover,.ui.link.inverted.cards .black.card:not(.icon):hover,a.ui.inverted.black.card:hover{box-shadow:0 1px 3px 0 #555,0 2px 0 0 #000,0 0 0 1px #555}.ui.basic.inverted.black.card,.ui.basic.inverted.black.cards>.card,.ui.basic.inverted.cards>.black.card,.ui.inverted.cards>.basic.black.card{background:#1b1c1d}.ui.basic.inverted.black.cards a.card:hover,.ui.basic.inverted.cards a.black.card:hover,.ui.inverted.cards a.basic.black.card:hover,.ui.link.basic.inverted.black.card:hover,.ui.link.basic.inverted.black.cards .card:not(.icon):hover,.ui.link.basic.inverted.cards .black.card:not(.icon):hover,.ui.link.inverted.cards .basic.black.card:not(.icon):hover,a.ui.basic.inverted.black.card:hover{background:#27292a}.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.33333333333333% - 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.666666666666664% - 1.5em);margin-left:.75em;margin-right:.75em}.ui.seven.cards{margin-left:-.5em;margin-right:-.5em}.ui.seven.cards>.card{width:calc(14.285714285714285% - 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.11111111111111% - 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:767.98px){.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.33333333333333% - 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.33333333333333% - 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.33333333333333% - 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.33333333333333% - 2em);margin-left:1em;margin-right:1em}}@media only screen and (min-width:768px) and (max-width:991.98px){.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.33333333333333% - 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.33333333333333% - 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.33333333333333% - 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:767.98px){.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}.ui.mini.card,.ui.mini.cards .card{font-size:.78571429rem}.ui.tiny.card,.ui.tiny.cards .card{font-size:.85714286rem}.ui.small.card,.ui.small.cards .card{font-size:.92857143rem}.ui.large.card,.ui.large.cards .card{font-size:1.14285714rem}.ui.big.card,.ui.big.cards .card{font-size:1.28571429rem}.ui.huge.card,.ui.huge.cards .card{font-size:1.42857143rem}.ui.massive.card,.ui.massive.cards .card{font-size:1.71428571rem}.ui.inverted.card,.ui.inverted.cards>.card{background:#1b1c1d;box-shadow:0 1px 3px 0 #555,0 0 0 1px #555}.ui.inverted.card>.content,.ui.inverted.cards>.card>.content{border-top:1px solid rgba(255,255,255,.15)}.ui.inverted.card>.content>.header,.ui.inverted.cards>.card>.content>.header{color:rgba(255,255,255,.9)}.ui.inverted.card>.content>a.header,.ui.inverted.cards>.card>.content>a.header{color:rgba(255,255,255,.9)}.ui.inverted.card>.content>a.header:hover,.ui.inverted.cards>.card>.content>a.header:hover{color:#1e70bf}.ui.inverted.card>.content>.description,.ui.inverted.cards>.card>.content>.description{color:rgba(255,255,255,.8)}.ui.inverted.card .meta,.ui.inverted.cards>.card .meta{color:rgba(255,255,255,.7)}.ui.inverted.card .meta>a:not(.ui),.ui.inverted.cards>.card .meta>a:not(.ui){color:rgba(255,255,255,.7)}.ui.inverted.card .meta>a:not(.ui):hover,.ui.inverted.cards>.card .meta>a:not(.ui):hover{color:#fff}.ui.inverted.card>.extra,.ui.inverted.cards>.card>.extra{border-top:1px solid rgba(255,255,255,.15)!important;color:rgba(255,255,255,.7)}.ui.inverted.card>.extra a:not(.ui),.ui.inverted.cards>.card>.extra a:not(.ui){color:rgba(255,255,255,.5)}.ui.inverted.card>.extra a:not(.ui):hover,.ui.inverted.cards>.card>.extra a:not(.ui):hover{color:#1e70bf}.ui.inverted.cards a.card:hover,.ui.inverted.link.card:hover,.ui.inverted.link.cards .card:not(.icon):hover,a.inverted.ui.card:hover{background:#1b1c1d}.ui.inverted.loading.card{color:#fff}.ui.inverted.loading.card::before{background:rgba(0,0,0,.85)} \ No newline at end of file diff --git a/src/main/resources/kweb/static/plugins/fomantic/components/checkbox.css b/src/main/resources/kweb/static/plugins/fomantic/components/checkbox.css index b3f786ddb2..a6afa7a03a 100644 --- a/src/main/resources/kweb/static/plugins/fomantic/components/checkbox.css +++ b/src/main/resources/kweb/static/plugins/fomantic/components/checkbox.css @@ -1,10 +1,10 @@ /*! - * # Fomantic-UI - Checkbox - * http://github.com/fomantic/Fomantic-UI/ + * # Fomantic-UI 2.9.3 - Checkbox + * https://github.com/fomantic/Fomantic-UI/ * * * Released under the MIT license - * http://opensource.org/licenses/MIT + * https://opensource.org/licenses/MIT * */ @@ -14,10 +14,9 @@ *******************************/ -/*-------------- +/* -------------- Content ----------------*/ - +--------------- */ .ui.checkbox { position: relative; display: inline-block; @@ -49,31 +48,29 @@ cursor: auto; position: relative; display: block; - padding-left: 1.85714em; outline: none; font-size: 1em; } -.ui.checkbox label:before { +.ui.checkbox:not(.invisible) label { + padding-left: 1.85714em; +} +.ui.checkbox label::before { position: absolute; top: 0; left: 0; width: 17px; height: 17px; - content: ''; - background: #FFFFFF; + content: ""; + background: #fff; 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; + border: 1px solid #d4d4d5; } -/*-------------- +/* -------------- Checkmark ----------------*/ - -.ui.checkbox label:after { +--------------- */ +.ui.checkbox label::after { position: absolute; font-size: 14px; top: 0; @@ -83,22 +80,26 @@ 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; +} +.ui.right.aligned.checkbox label { + padding-left: 0; + padding-right: 1.85714em; +} +.ui.right.aligned.checkbox label::after, +.ui.right.aligned.checkbox label::before { + right: 0; + left: auto; } -/*-------------- +/* -------------- 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; } @@ -113,120 +114,116 @@ *******************************/ -/*-------------- +/* -------------- Hover ----------------*/ - +--------------- */ .ui.checkbox label:hover::before { - background: #FFFFFF; + background: #fff; border-color: rgba(34, 36, 38, 0.35); } -.ui.checkbox label:hover, -.ui.checkbox + label:hover { +.ui.checkbox:not(.invisible) label:hover, +.ui.checkbox:not(.invisible) + label:hover { color: rgba(0, 0, 0, 0.8); } -/*-------------- +/* -------------- Down ----------------*/ - +--------------- */ .ui.checkbox label:active::before { - background: #F9FAFB; + background: #f9fafb; border-color: rgba(34, 36, 38, 0.35); } .ui.checkbox label:active::after { color: rgba(0, 0, 0, 0.95); } -.ui.checkbox input:active ~ label { +.ui.checkbox:not(.invisible) input:active ~ label { color: rgba(0, 0, 0, 0.95); } -/*-------------- +/* -------------- Focus ----------------*/ - -.ui.checkbox input:focus ~ label:before { - background: #FFFFFF; - border-color: #96C8DA; +--------------- */ +.ui.checkbox input:focus ~ label::before { + background: #fff; + border-color: #96c8da; } -.ui.checkbox input:focus ~ label:after { +.ui.checkbox input:focus ~ label::after { color: rgba(0, 0, 0, 0.95); } -.ui.checkbox input:focus ~ label { +.ui.checkbox:not(.invisible) input:focus ~ label { color: rgba(0, 0, 0, 0.95); } -/*-------------- +/* -------------- Active ----------------*/ - -.ui.checkbox input:checked ~ label:before { - background: #FFFFFF; +--------------- */ +.ui.checkbox input:checked ~ label::before { + background: #fff; border-color: rgba(34, 36, 38, 0.35); } -.ui.checkbox input:checked ~ label:after { +.ui.checkbox input:checked ~ label::after { opacity: 1; color: rgba(0, 0, 0, 0.95); } -/*-------------- - Indeterminate - ---------------*/ - -.ui.checkbox input:not([type=radio]):indeterminate ~ label:before { - background: #FFFFFF; +/* -------------- + Indeterminate + --------------- */ +.ui.checkbox input:not([type="radio"]):indeterminate ~ label::before { + background: #fff; border-color: rgba(34, 36, 38, 0.35); } -.ui.checkbox input:not([type=radio]):indeterminate ~ label:after { +.ui.checkbox input:not([type="radio"]):indeterminate ~ label::after { opacity: 1; color: rgba(0, 0, 0, 0.95); } -.ui.indeterminate.toggle.checkbox input:not([type=radio]):indeterminate ~ label:before { +.ui.indeterminate.toggle.checkbox input:not([type="radio"]):indeterminate ~ label::before { background: rgba(0, 0, 0, 0.15); } -.ui.indeterminate.toggle.checkbox input:not([type=radio]) ~ label:after { +.ui.indeterminate.toggle.checkbox input:not([type="radio"]) ~ label::after { left: 1.075rem; } +.ui.right.aligned.indeterminate.toggle.checkbox input:not([type="radio"]) ~ label::after { + left: auto; + right: 1.075rem; +} -/*-------------- +/* -------------- Active Focus ----------------*/ - -.ui.checkbox input:not([type=radio]):indeterminate:focus ~ label:before, -.ui.checkbox input:checked:focus ~ label:before { - background: #FFFFFF; - border-color: #96C8DA; -} -.ui.checkbox input:not([type=radio]):indeterminate:focus ~ label:after, -.ui.checkbox input:checked:focus ~ label:after { +--------------- */ +.ui.checkbox input:not([type="radio"]):indeterminate:focus ~ label::before, +.ui.checkbox input:checked:focus ~ label::before { + background: #fff; + border-color: #96c8da; +} +.ui.checkbox input:not([type="radio"]):indeterminate:focus ~ label::after, +.ui.checkbox input:checked:focus ~ label::after { color: rgba(0, 0, 0, 0.95); } -/*-------------- - Read-Only ----------------*/ - +/* -------------- + Read-Only + --------------- */ .ui.read-only.checkbox, .ui.read-only.checkbox label { cursor: default; + pointer-events: none; } -/*-------------- - Disabled - ---------------*/ - +/* -------------- + Disabled + --------------- */ .ui.disabled.checkbox label, .ui.checkbox input[disabled] ~ label { - cursor: default !important; + cursor: default; opacity: 0.5; color: #000000; pointer-events: none; } -/*-------------- +/* -------------- Hidden ----------------*/ - +--------------- */ /* Initialized checkbox moves input below element to prevent manually triggering */ @@ -235,10 +232,10 @@ } /* Selectable Label */ +.ui.checkbox input + label[for], .ui.checkbox input.hidden + label { cursor: pointer; -webkit-user-select: none; - -moz-user-select: none; -ms-user-select: none; user-select: none; } @@ -249,10 +246,9 @@ *******************************/ -/*-------------- - Radio - ---------------*/ - +/* -------------- + Radio + --------------- */ .ui.radio.checkbox { min-height: 15px; } @@ -261,10 +257,9 @@ } /* Box */ -.ui.radio.checkbox label:before { - content: ''; - -webkit-transform: none; - transform: none; +.ui.radio.checkbox label::before { + content: ""; + transform: none; width: 15px; height: 15px; border-radius: 500rem; @@ -273,53 +268,51 @@ } /* Bullet */ -.ui.radio.checkbox label:after { +.ui.radio.checkbox label::after { border: none; - content: '' !important; + content: "" !important; line-height: 15px; top: 1px; left: 0; width: 15px; height: 15px; border-radius: 500rem; - -webkit-transform: scale(0.46666667); - transform: scale(0.46666667); + transform: scale(0.46666667); background-color: rgba(0, 0, 0, 0.87); } /* Focus */ -.ui.radio.checkbox input:focus ~ label:before { - background-color: #FFFFFF; +.ui.radio.checkbox input:focus ~ label::before { + background-color: #fff; } -.ui.radio.checkbox input:focus ~ label:after { +.ui.radio.checkbox input:focus ~ label::after { background-color: rgba(0, 0, 0, 0.95); } /* Indeterminate */ -.ui.radio.checkbox input:indeterminate ~ label:after { +.ui.radio.checkbox input:indeterminate ~ label::after { opacity: 0; } /* Active */ -.ui.radio.checkbox input:checked ~ label:before { - background-color: #FFFFFF; +.ui.radio.checkbox input:checked ~ label::before { + background-color: #fff; } -.ui.radio.checkbox input:checked ~ label:after { +.ui.radio.checkbox input:checked ~ label::after { background-color: rgba(0, 0, 0, 0.95); } /* Active Focus */ -.ui.radio.checkbox input:focus:checked ~ label:before { - background-color: #FFFFFF; +.ui.radio.checkbox input:focus:checked ~ label::before { + background-color: #fff; } -.ui.radio.checkbox input:focus:checked ~ label:after { +.ui.radio.checkbox input:focus:checked ~ label::after { background-color: rgba(0, 0, 0, 0.95); } -/*-------------- - Slider - ---------------*/ - +/* -------------- + Slider + --------------- */ .ui.slider.checkbox { min-height: 1.25rem; } @@ -338,12 +331,11 @@ } /* Line */ -.ui.slider.checkbox label:before { +.ui.slider.checkbox label::before { display: block; position: absolute; - content: ''; - -webkit-transform: none; - transform: none; + content: ""; + transform: none; border: none !important; left: 0; z-index: 1; @@ -352,35 +344,29 @@ width: 3.5rem; height: 0.21428571rem; border-radius: 500rem; - -webkit-transition: background 0.3s ease; transition: background 0.3s ease; } /* Handle */ -.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)); +.ui.slider.checkbox label::after { + background: #fff linear-gradient(transparent, rgba(0, 0, 0, 0.05)); position: absolute; - content: '' !important; + content: "" !important; opacity: 1; z-index: 2; border: none; - -webkit-box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15), 0 0 0 1px rgba(34, 36, 38, 0.15) inset; - box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15), 0 0 0 1px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15), 0 0 0 1px rgba(34, 36, 38, 0.15) inset; width: 1.5rem; height: 1.5rem; top: -0.25rem; left: 0; - -webkit-transform: none; - transform: none; + transform: none; border-radius: 500rem; - -webkit-transition: left 0.3s ease; transition: left 0.3s ease; } /* Focus */ -.ui.slider.checkbox input:focus ~ label:before { +.ui.slider.checkbox input:focus ~ label::before { background-color: rgba(0, 0, 0, 0.15); border: none; } @@ -395,27 +381,39 @@ /* Active */ .ui.slider.checkbox input:checked ~ label { - color: rgba(0, 0, 0, 0.95) !important; + color: rgba(0, 0, 0, 0.95); } -.ui.slider.checkbox input:checked ~ label:before { - background-color: #545454 !important; +.ui.slider.checkbox input:checked ~ label::before { + background-color: #545454; } -.ui.slider.checkbox input:checked ~ label:after { +.ui.slider.checkbox input:checked ~ label::after { left: 2rem; } /* Active Focus */ .ui.slider.checkbox input:focus:checked ~ label { - color: rgba(0, 0, 0, 0.95) !important; + color: rgba(0, 0, 0, 0.95); } -.ui.slider.checkbox input:focus:checked ~ label:before { - background-color: #000000 !important; +.ui.slider.checkbox input:focus:checked ~ label::before { + background-color: #000000; +} +.ui.right.aligned.slider.checkbox label { + padding-left: 0; + padding-right: 4.5rem; +} +.ui.right.aligned.slider.checkbox label::after { + left: auto; + right: 2rem; + transition: right 0.3s ease; +} +.ui.right.aligned.slider.checkbox input:checked ~ label::after { + left: auto; + right: 0; } -/*-------------- - Toggle - ---------------*/ - +/* -------------- + Toggle + --------------- */ .ui.toggle.checkbox { min-height: 1.5rem; } @@ -437,51 +435,44 @@ } /* Switch */ -.ui.toggle.checkbox label:before { +.ui.toggle.checkbox label::before { display: block; position: absolute; - content: ''; + content: ""; z-index: 1; - -webkit-transform: none; - transform: none; + transform: none; border: none; top: 0; background: rgba(0, 0, 0, 0.05); - -webkit-box-shadow: none; - box-shadow: none; + box-shadow: none; width: 3.5rem; height: 1.5rem; border-radius: 500rem; } /* Handle */ -.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)); +.ui.toggle.checkbox label::after { + background: #fff linear-gradient(transparent, rgba(0, 0, 0, 0.05)); position: absolute; - content: '' !important; + content: "" !important; opacity: 1; z-index: 2; border: none; - -webkit-box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15), 0 0 0 1px rgba(34, 36, 38, 0.15) inset; - box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15), 0 0 0 1px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15), 0 0 0 1px rgba(34, 36, 38, 0.15) inset; width: 1.5rem; height: 1.5rem; top: 0; left: 0; 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 ~ label:after { +.ui.toggle.checkbox input ~ label::after { left: -0.05rem; - -webkit-box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15), 0 0 0 1px rgba(34, 36, 38, 0.15) inset; - box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15), 0 0 0 1px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15), 0 0 0 1px rgba(34, 36, 38, 0.15) inset; } /* Focus */ -.ui.toggle.checkbox input:focus ~ label:before { +.ui.toggle.checkbox input:focus ~ label::before { background-color: rgba(0, 0, 0, 0.15); border: none; } @@ -494,23 +485,35 @@ /* Active */ .ui.toggle.checkbox input:checked ~ label { - color: rgba(0, 0, 0, 0.95) !important; + color: rgba(0, 0, 0, 0.95); } -.ui.toggle.checkbox input:checked ~ label:before { - background-color: #2185D0 !important; +.ui.toggle.checkbox input:checked ~ label::before { + background-color: #2185d0; } -.ui.toggle.checkbox input:checked ~ label:after { +.ui.toggle.checkbox input:checked ~ label::after { left: 2.15rem; - -webkit-box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15), 0 0 0 1px rgba(34, 36, 38, 0.15) inset; - box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15), 0 0 0 1px rgba(34, 36, 38, 0.15) inset; + box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15), 0 0 0 1px rgba(34, 36, 38, 0.15) inset; } /* Active Focus */ .ui.toggle.checkbox input:focus:checked ~ label { - color: rgba(0, 0, 0, 0.95) !important; + color: rgba(0, 0, 0, 0.95); +} +.ui.toggle.checkbox input:focus:checked ~ label::before { + background-color: #0d71bb; +} +.ui.right.aligned.toggle.checkbox label { + padding-left: 0; + padding-right: 4.5rem; } -.ui.toggle.checkbox input:focus:checked ~ label:before { - background-color: #0d71bb !important; +.ui.right.aligned.toggle.checkbox input ~ label::after { + left: auto; + right: 2.15rem; + transition: background 0.3s ease, right 0.3s ease; +} +.ui.right.aligned.toggle.checkbox input:checked ~ label::after { + left: auto; + right: -0.05rem; } @@ -519,12 +522,11 @@ *******************************/ -/*-------------- - Fitted - ---------------*/ - -.ui.fitted.checkbox label { - padding-left: 0 !important; +/* -------------- + Fitted + --------------- */ +.ui.ui.fitted.checkbox label { + padding-left: 0; } .ui.fitted.toggle.checkbox { width: 3.5rem; @@ -533,83 +535,124 @@ width: 3.5rem; } -/*-------------- - Inverted - ---------------*/ - -.ui.inverted.checkbox label, -.ui.inverted.checkbox + label { - color: rgba(255, 255, 255, 0.9) !important; +/* -------------- + Inverted + --------------- */ +.ui.ui.ui.inverted.checkbox label, +.ui.ui.ui.inverted.checkbox + label { + color: rgba(255, 255, 255, 0.9); } /* Hover */ -.ui.inverted.checkbox label:hover { - color: #ffffff !important; +.ui.ui.inverted.checkbox label:hover { + color: #ffffff; } .ui.inverted.checkbox label:hover::before { border-color: rgba(34, 36, 38, 0.5); } -/*Slider Label */ + +/* Slider Label */ .ui.inverted.slider.checkbox label { color: rgba(255, 255, 255, 0.5); } /* Slider Line */ -.ui.inverted.slider.checkbox label:before { - background-color: rgba(255, 255, 255, 0.5) !important; +.ui.ui.inverted.slider.checkbox label::before { + background-color: rgba(255, 255, 255, 0.5); } /* Slider Hover */ -.ui.inverted.slider.checkbox label:hover::before { - background: rgba(255, 255, 255, 0.7) !important; +.ui.ui.inverted.slider.checkbox label:hover::before { + background: rgba(255, 255, 255, 0.7); } /* Slider Active */ -.ui.inverted.slider.checkbox input:checked ~ label { - color: #ffffff !important; +.ui.ui.inverted.slider.checkbox input:checked ~ label { + color: #ffffff; } -.ui.inverted.slider.checkbox input:checked ~ label:before { - background-color: rgba(255, 255, 255, 0.8) !important; +.ui.ui.inverted.slider.checkbox input:checked ~ label::before { + background-color: rgba(255, 255, 255, 0.8); } /* Slider Active Focus */ -.ui.inverted.slider.checkbox input:focus:checked ~ label { - color: #ffffff !important; +.ui.ui.inverted.slider.checkbox input:focus:checked ~ label { + color: #ffffff; } -.ui.inverted.slider.checkbox input:focus:checked ~ label:before { - background-color: rgba(255, 255, 255, 0.8) !important; +.ui.ui.inverted.slider.checkbox input:focus:checked ~ label::before { + background-color: rgba(255, 255, 255, 0.8); } /* Toggle Switch */ -.ui.inverted.toggle.checkbox label:before { - background-color: rgba(255, 255, 255, 0.9) !important; +.ui.ui.inverted.toggle.checkbox label::before { + background-color: rgba(255, 255, 255, 0.9); } /* Toggle Hover */ -.ui.inverted.toggle.checkbox label:hover::before { - background: #ffffff !important; +.ui.ui.inverted.toggle.checkbox label:hover::before { + background: #ffffff; } /* Toggle Active */ -.ui.inverted.toggle.checkbox input:checked ~ label { - color: #ffffff !important; +.ui.ui.inverted.toggle.checkbox input:checked ~ label { + color: #ffffff; } -.ui.inverted.toggle.checkbox input:checked ~ label:before { - background-color: #2185D0 !important; +.ui.ui.inverted.toggle.checkbox input:checked ~ label::before { + background-color: #2185d0; } /* Toggle Active Focus */ -.ui.inverted.toggle.checkbox input:focus:checked ~ label { - color: #ffffff !important; +.ui.ui.inverted.toggle.checkbox input:focus:checked ~ label { + color: #ffffff; } -.ui.inverted.toggle.checkbox input:focus:checked ~ label:before { - background-color: #0d71bb !important; +.ui.ui.inverted.toggle.checkbox input:focus:checked ~ label::before { + background-color: #0d71bb; } -/*-------------------- - Size ----------------------*/ +/* -------------- + Invisible + --------------- */ +.ui.invisible.checkbox:not(.compact) { + display: block; +} +.ui.invisible.checkbox input { + left: -99999px; + position: absolute; +} +.ui.invisible.checkbox label::before, +.ui.invisible.checkbox label::after { + display: none; +} +.ui.invisible.checkbox label { + transition: all 0.1s ease; +} +.ui.ui.ui.ui.ui.invisible.checkbox input:not(:checked) + label { + background: transparent; + border-color: transparent; + box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.15) inset; + color: inherit; +} +.ui.ui.ui.ui.ui.invisible.checkbox input:not(:checked):not(:hover):focus + label:not(.image) { + box-shadow: 0 0 0 1px rgba(34, 36, 38, 0.35) inset; +} +.ui.ui.ui.ui.ui.invisible.checkbox input:not(:checked) + label.image, +.basic.ui.ui.ui.ui.ui.invisible.checkbox input:not(:checked) + label { + box-shadow: none; +} +.ui.invisible.checkbox input:not(:checked) + label.image { + opacity: 0.5; + filter: grayscale(1); +} +.ui.invisible.checkbox input:not(:checked):not(:hover):focus + label.image { + opacity: 0.75; +} +.ui.invisible.checkbox input:not(:checked)[disabled] + label.image, +.disabled.ui.invisible.checkbox input:not(:checked) + label.image { + opacity: 0.25; +} +/* -------------------- + Size +--------------------- */ .ui.mini.checkbox { font-size: 0.78571429em; } @@ -622,109 +665,85 @@ .ui.large.checkbox { font-size: 1.14285714em; } -.ui.large.form .checkbox:not(.slider):not(.toggle):not(.radio) label:after, -.ui.large.checkbox:not(.slider):not(.toggle):not(.radio) label:after, -.ui.large.form .checkbox:not(.slider):not(.toggle):not(.radio) label:before, -.ui.large.checkbox:not(.slider):not(.toggle):not(.radio) label:before { - -webkit-transform: scale(1.14285714); - transform: scale(1.14285714); - -webkit-transform-origin: left; - transform-origin: left; -} -.ui.large.form .checkbox.radio label:before, -.ui.large.checkbox.radio label:before { - -webkit-transform: scale(1.14285714); - transform: scale(1.14285714); - -webkit-transform-origin: left; - transform-origin: left; -} -.ui.large.form .checkbox.radio label:after, -.ui.large.checkbox.radio label:after { - -webkit-transform: scale(0.57142857); - transform: scale(0.57142857); - -webkit-transform-origin: left; - transform-origin: left; +.ui.large.form .checkbox:not(.slider):not(.toggle):not(.radio) label::after, +.ui.large.checkbox:not(.slider):not(.toggle):not(.radio) label::after, +.ui.large.form .checkbox:not(.slider):not(.toggle):not(.radio) label::before, +.ui.large.checkbox:not(.slider):not(.toggle):not(.radio) label::before { + transform: scale(1.14285714); + transform-origin: left; +} +.ui.large.form .checkbox.radio label::before, +.ui.large.checkbox.radio label::before { + transform: scale(1.14285714); + transform-origin: left; +} +.ui.large.form .checkbox.radio label::after, +.ui.large.checkbox.radio label::after { + transform: scale(0.57142857); + transform-origin: left; left: 0.33571429em; } .ui.big.checkbox { font-size: 1.28571429em; } -.ui.big.form .checkbox:not(.slider):not(.toggle):not(.radio) label:after, -.ui.big.checkbox:not(.slider):not(.toggle):not(.radio) label:after, -.ui.big.form .checkbox:not(.slider):not(.toggle):not(.radio) label:before, -.ui.big.checkbox:not(.slider):not(.toggle):not(.radio) label:before { - -webkit-transform: scale(1.28571429); - transform: scale(1.28571429); - -webkit-transform-origin: left; - transform-origin: left; -} -.ui.big.form .checkbox.radio label:before, -.ui.big.checkbox.radio label:before { - -webkit-transform: scale(1.28571429); - transform: scale(1.28571429); - -webkit-transform-origin: left; - transform-origin: left; -} -.ui.big.form .checkbox.radio label:after, -.ui.big.checkbox.radio label:after { - -webkit-transform: scale(0.64285714); - transform: scale(0.64285714); - -webkit-transform-origin: left; - transform-origin: left; +.ui.big.form .checkbox:not(.slider):not(.toggle):not(.radio) label::after, +.ui.big.checkbox:not(.slider):not(.toggle):not(.radio) label::after, +.ui.big.form .checkbox:not(.slider):not(.toggle):not(.radio) label::before, +.ui.big.checkbox:not(.slider):not(.toggle):not(.radio) label::before { + transform: scale(1.28571429); + transform-origin: left; +} +.ui.big.form .checkbox.radio label::before, +.ui.big.checkbox.radio label::before { + transform: scale(1.28571429); + transform-origin: left; +} +.ui.big.form .checkbox.radio label::after, +.ui.big.checkbox.radio label::after { + transform: scale(0.64285714); + transform-origin: left; left: 0.37142857em; } .ui.huge.checkbox { font-size: 1.42857143em; } -.ui.huge.form .checkbox:not(.slider):not(.toggle):not(.radio) label:after, -.ui.huge.checkbox:not(.slider):not(.toggle):not(.radio) label:after, -.ui.huge.form .checkbox:not(.slider):not(.toggle):not(.radio) label:before, -.ui.huge.checkbox:not(.slider):not(.toggle):not(.radio) label:before { - -webkit-transform: scale(1.42857143); - transform: scale(1.42857143); - -webkit-transform-origin: left; - transform-origin: left; -} -.ui.huge.form .checkbox.radio label:before, -.ui.huge.checkbox.radio label:before { - -webkit-transform: scale(1.42857143); - transform: scale(1.42857143); - -webkit-transform-origin: left; - transform-origin: left; -} -.ui.huge.form .checkbox.radio label:after, -.ui.huge.checkbox.radio label:after { - -webkit-transform: scale(0.71428571); - transform: scale(0.71428571); - -webkit-transform-origin: left; - transform-origin: left; +.ui.huge.form .checkbox:not(.slider):not(.toggle):not(.radio) label::after, +.ui.huge.checkbox:not(.slider):not(.toggle):not(.radio) label::after, +.ui.huge.form .checkbox:not(.slider):not(.toggle):not(.radio) label::before, +.ui.huge.checkbox:not(.slider):not(.toggle):not(.radio) label::before { + transform: scale(1.42857143); + transform-origin: left; +} +.ui.huge.form .checkbox.radio label::before, +.ui.huge.checkbox.radio label::before { + transform: scale(1.42857143); + transform-origin: left; +} +.ui.huge.form .checkbox.radio label::after, +.ui.huge.checkbox.radio label::after { + transform: scale(0.71428571); + transform-origin: left; left: 0.40714286em; } .ui.massive.checkbox { font-size: 1.71428571em; } -.ui.massive.form .checkbox:not(.slider):not(.toggle):not(.radio) label:after, -.ui.massive.checkbox:not(.slider):not(.toggle):not(.radio) label:after, -.ui.massive.form .checkbox:not(.slider):not(.toggle):not(.radio) label:before, -.ui.massive.checkbox:not(.slider):not(.toggle):not(.radio) label:before { - -webkit-transform: scale(1.71428571); - transform: scale(1.71428571); - -webkit-transform-origin: left; - transform-origin: left; -} -.ui.massive.form .checkbox.radio label:before, -.ui.massive.checkbox.radio label:before { - -webkit-transform: scale(1.71428571); - transform: scale(1.71428571); - -webkit-transform-origin: left; - transform-origin: left; -} -.ui.massive.form .checkbox.radio label:after, -.ui.massive.checkbox.radio label:after { - -webkit-transform: scale(0.85714286); - transform: scale(0.85714286); - -webkit-transform-origin: left; - transform-origin: left; +.ui.massive.form .checkbox:not(.slider):not(.toggle):not(.radio) label::after, +.ui.massive.checkbox:not(.slider):not(.toggle):not(.radio) label::after, +.ui.massive.form .checkbox:not(.slider):not(.toggle):not(.radio) label::before, +.ui.massive.checkbox:not(.slider):not(.toggle):not(.radio) label::before { + transform: scale(1.71428571); + transform-origin: left; +} +.ui.massive.form .checkbox.radio label::before, +.ui.massive.checkbox.radio label::before { + transform: scale(1.71428571); + transform-origin: left; +} +.ui.massive.form .checkbox.radio label::after, +.ui.massive.checkbox.radio label::after { + transform: scale(0.85714286); + transform-origin: left; left: 0.47857143em; } @@ -734,32 +753,29 @@ *******************************/ @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'); + font-family: Checkbox; + src: url("data:application/font-woff;base64,d09GRgABAAAAAAR8AA0AAAAABtwAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEYAAAABoAAAAcgbCWJ0dERUYAAARIAAAAFwAAABgAJQAAT1MvMgAAAZgAAABAAAAAYA8SBD9jbWFwAAAB9AAAAFMAAAFc71zo6Wdhc3AAAARAAAAACAAAAAgAAAAQZ2x5ZgAAAlwAAADJAAABVHshwGBoZWFkAAABMAAAAC4AAAA2Bj3tWWhoZWEAAAFgAAAAHQAAACQHfQPIaG10eAAAAdgAAAAZAAAAHg56AEVsb2NhAAACSAAAABIAAAASAQoAjG1heHAAAAGAAAAAGAAAACAACgAvbmFtZQAAAygAAADnAAABp5xOC4Fwb3N0AAAEEAAAADAAAABaHRtWW3icY2BkYGBgYmDgqbAVjee3+crAzcIAAhc3XilHppl3M+cBKQ6QWgYGAAHnCVsAAHicY2BkYGA+8P8AAwMLAwgw72ZgZEAF7ABaJgNOAAAAeJxjYGRgYOBg0GUA0QwMTAxoAAAFtQA6eJxjYGYWYpzAwMrAwDST6QwDA0M/hGZ8zWDMyMmAChgF0AQYHBgYXjAxH/h/gMGB+QCIx8CIJKvAwAgAIOcKW3icY2GAAMZQCM0ExCwMDK7MqiAeAAqXAM4AAAB4nN2NwQ2AMAwDL00pHYJH52AQ9n/w6BbFCS9WwJFlO3IUwHl5YAQuJctcOaVdU6TGmGWt7IxJuHXnvmcrnLPR2GWb6NnF4rrwhT5U/o0Hf5EJGAAAAAAAAAgACAAQABgASABsAKoAAHichY09CsJAEIVndiG2gyQ7IASJIbHQyvyIiFhZpBE8iNsIeiVvYOFx7FPbKE6yUcHGgZ23jzd8DxDeowAWCv77Dez0Vd1hAIB+D714NMa0yNdYZrMhum0CfaWnT4bpeSPaEjOd8djIltTBNBlhSGzES3Jqb5oW6UOrE1WBL7/A73lxNBqnK8znZRbNWMgJET8qJhlWF1HV3zvXSceBSifawrTjTLrd0uI3c4lFu4UcYvbh1/KsIaodUayx7Kxr+wb8Y+EFi+YsngAAAHicfc5BSsNAGMXxf9q0agURFy50M3shlOoNikIXddGFa5N0SEvLDKQp2KUH8AxuXXkkz+JL+NYJJPzmffNmAlzxS0L7JJxzYx5wxoN5qPzZnMrv5hGXfJrHyr/NE+74UytJL5Rcdye0Huiue/NQ+aM5lV/NI27ZmsfKv8wTnvhhzgZPyY6CyAfMN77cFVFaaVBxZE9OraWvjvtc6Kn0jN40qDnoVyIBx4yMqWJfH7YxuFk27a2/dLVGxUpbQndYrrVnrazgpO9C1chSb7s3UymGxlU++Dpv/NoVJ7co4zLGkPEPj0VARQB4nGNgYsAPOBgYGJkYmBiZGZgZWRhZGdnYS/MyDYAAShuCaFcLCB9Iw/hGAOPdCuMAAQAB//8AD3icY2BkYGDgAWIBIGYCYhYIDQACOwAmAHicY2BgYGQAgns+by1A9MWNV8phNABQ5wfrAAA=") format("woff"); } /* Checkmark */ -.ui.checkbox label:after, -.ui.checkbox .box:after { - font-family: 'Checkbox'; +.ui.checkbox label::after { + font-family: Checkbox; } /* Checked */ -.ui.checkbox input:checked ~ .box:after, -.ui.checkbox input:checked ~ label:after { - content: '\e800'; +.ui.checkbox input:checked ~ label::after { + content: "\e800"; } /* Indeterminate */ -.ui.checkbox input:indeterminate ~ .box:after, -.ui.checkbox input:indeterminate ~ label:after { +.ui.checkbox input:indeterminate ~ label::after { font-size: 12px; - content: '\e801'; + content: "\e801"; } -/* UTF Reference -.check:before { content: '\e800'; } -.dash:before { content: '\e801'; } -.plus:before { content: '\e802'; } +/* UTF Reference +.check::before { content: '\e800'; } +.dash::before { content: '\e801'; } +.plus::before { content: '\e802'; } */ diff --git a/src/main/resources/kweb/static/plugins/fomantic/components/checkbox.js b/src/main/resources/kweb/static/plugins/fomantic/components/checkbox.js index 9222bfbf6e..d59d514b43 100644 --- a/src/main/resources/kweb/static/plugins/fomantic/components/checkbox.js +++ b/src/main/resources/kweb/static/plugins/fomantic/components/checkbox.js @@ -1,876 +1,882 @@ /*! - * # Fomantic-UI - Checkbox - * http://github.com/fomantic/Fomantic-UI/ + * # Fomantic-UI 2.9.3 - Checkbox + * https://github.com/fomantic/Fomantic-UI/ * * * Released under the MIT license - * http://opensource.org/licenses/MIT + * https://opensource.org/licenses/MIT * */ -;(function ($, window, document, undefined) { +(function ($, window, document) { + 'use strict'; -'use strict'; + function isFunction(obj) { + return typeof obj === 'function' && typeof obj.nodeType !== 'number'; + } -$.isFunction = $.isFunction || function(obj) { - return typeof obj === "function" && typeof obj.nodeType !== "number"; -}; + window = window !== undefined && window.Math === Math + ? window + : globalThis; -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), -$.fn.checkbox = function(parameters) { - var - $allModules = $(this), - moduleSelector = $allModules.selector || '', + time = Date.now(), + performance = [], - time = new Date().getTime(), - performance = [], + query = arguments[0], + methodInvoked = typeof query === 'string', + queryArguments = [].slice.call(arguments, 1), + returnedValue + ; - 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); - } - }, - - preventDefaultOnInputTarget: function() { - if(typeof event !== 'undefined' && event !== null && $(event.target).is(selector.input)) { - module.verbose('Preventing default check action after manual check action'); - event.preventDefault(); - } - }, - - event: { - change: function(event) { - if( !module.should.ignoreCallbacks() ) { - settings.onChange.call(input); - } - }, - 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, - left : 37, - up : 38, - right : 39, - down : 40 - } - ; - - var r = module.get.radios(), - rIndex = r.index($module), - rLen = r.length, - checkIndex = false; - - if(key == keyCode.left || key == keyCode.up) { - checkIndex = (rIndex === 0 ? rLen : rIndex) - 1; - } else if(key == keyCode.right || key == keyCode.down) { - checkIndex = rIndex === rLen-1 ? 0 : rIndex+1; - } - - if (!module.should.ignoreCallbacks() && checkIndex !== false) { - if(settings.beforeUnchecked.apply(input)===false) { - module.verbose('Option not allowed to be unchecked, cancelling key navigation'); - return false; - } - if (settings.beforeChecked.apply($(r[checkIndex]).children(selector.input)[0])===false) { - module.verbose('Next option should not allow check, cancelling key navigation'); - return false; - } - } - - 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 && settings.enableEnterKey)) ) { - 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); - module.trigger.change(); - } - module.preventDefaultOnInputTarget(); - }, - - uncheck: function() { - if( !module.should.allowUncheck() ) { - return; - } - module.debug('Unchecking checkbox'); - module.set.unchecked(); - if( !module.should.ignoreCallbacks() ) { - settings.onUnchecked.call(input); - module.trigger.change(); - } - module.preventDefaultOnInputTarget(); - }, - - 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); - module.trigger.change(); - } - }, - - 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); - module.trigger.change(); - } - }, - - enable: function() { - if( module.is.enabled() ) { - module.debug('Checkbox is already enabled'); - return; - } - module.debug('Enabling checkbox'); - module.set.enabled(); - if( !module.should.ignoreCallbacks() ) { - settings.onEnable.call(input); - // preserve legacy callbacks - settings.onEnabled.call(input); - module.trigger.change(); - } - }, - - disable: function() { - if( module.is.disabled() ) { - module.debug('Checkbox is already disabled'); - return; - } - module.debug('Disabling checkbox'); - module.set.disabled(); - if( !module.should.ignoreCallbacks() ) { - settings.onDisable.call(input); - // preserve legacy callbacks - settings.onDisabled.call(input); - module.trigger.change(); - } - }, - - 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.is.initialLoad() ) { - module.debug('Should not allow check, checkbox is already checked'); - return false; - } - if(!module.should.ignoreCallbacks() && 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.is.initialLoad() ) { - module.debug('Should not allow uncheck, checkbox is already unchecked'); - return false; - } - if(!module.should.ignoreCallbacks() && settings.beforeUnchecked.apply(input) === false) { - module.debug('Should not allow uncheck, beforeUnchecked cancelled'); - return false; - } - return true; - }, - allowIndeterminate: function() { - if(module.is.indeterminate() && !module.is.initialLoad() ) { - module.debug('Should not allow indeterminate, checkbox is already indeterminate'); - return false; - } - if(!module.should.ignoreCallbacks() && settings.beforeIndeterminate.apply(input) === false) { - module.debug('Should not allow indeterminate, beforeIndeterminate cancelled'); - return false; - } - return true; - }, - allowDeterminate: function() { - if(module.is.determinate() && !module.is.initialLoad() ) { - module.debug('Should not allow determinate, checkbox is already determinate'); - return false; - } - if(!module.should.ignoreCallbacks() && settings.beforeDeterminate.apply(input) === false) { - module.debug('Should not allow determinate, beforeDeterminate cancelled'); - return false; - } - return true; - }, - 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) - ; - }, - 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) - ; - }, - 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) - ; - }, - 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') - ; - }, - 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) - ; - }, - 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() { + $allModules.each(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); - } - } - }, + settings = $.extend(true, {}, $.fn.checkbox.settings, parameters), + className = settings.className, + namespace = settings.namespace, + selector = settings.selector, + error = settings.error, - 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 = $('