edryd.org

Unnamed repository; edit this file 'description' to name the repository.
git clone git://edryd.org/edryd.org
Log | Files | Refs | LICENSE

commit e53fca834f93d520877d3f2cc9d3c2202869eeda
Author: Ed van Bruggen <edvb@uw.edu>
Date:   Fri,  8 Jan 2021 21:11:56 -0800

Initial commit

Diffstat:
.gitignore | 13+++++++++++++
LICENSE | 19+++++++++++++++++++
archetypes/default.md | 6++++++
config.toml | 14++++++++++++++
content/photos/_index.md | 11+++++++++++
content/posts/deriv-proofs.md | 75+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
content/posts/gen-phys-cs.md | 262+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
content/posts/libsl.md | 276+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
content/posts/macro-dangers.md | 249+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
content/posts/multivar-calc.md | 118+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
content/posts/tp-mk.md | 461+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
content/posts/vim-indenting.md | 146+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
content/projects/_index.md | 25+++++++++++++++++++++++++
data/photos.yaml | 23+++++++++++++++++++++++
data/projects.yaml | 58++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
data/quotes.yaml | 282+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
layouts/404.html | 7+++++++
layouts/_default/_markup/render-image.html | 9+++++++++
layouts/_default/baseof.html | 65+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
layouts/_default/list.html | 22++++++++++++++++++++++
layouts/_default/single.html | 63+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
layouts/_default/summary.html | 7+++++++
layouts/index.html | 154+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
layouts/partials/links.html | 10++++++++++
layouts/partials/photo.html | 7+++++++
layouts/partials/quote.html | 10++++++++++
layouts/partials/share.html | 22++++++++++++++++++++++
layouts/photos.html | 0
layouts/shortcodes/photos.html | 35+++++++++++++++++++++++++++++++++++
static/css/bootstrap.min.css | 8++++++++
static/css/custom.css | 114+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
static/css/fontawesome.min.css | 6++++++
static/css/lightbox.min.css | 1+
static/css/theme.css | 1860+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
static/docs/vanbruggen_resume.pdf | 0
static/img/ed.jpg | 0
static/img/favicon.png | 0
static/img/lightbox/close.png | 0
static/img/lightbox/loading.gif | 0
static/img/lightbox/next.png | 0
static/img/lightbox/prev.png | 0
static/img/photos/britain/2016-07-29_09.00.57.jpg | 0
static/img/photos/britain/2016-07-29_09.12.09.jpg | 0
static/img/photos/britain/2016-07-30_03.52.45.jpg | 0
static/img/photos/britain/2016-07-30_04.17.30.jpg | 0
static/img/photos/britain/2016-07-30_04.19.53.jpg | 0
static/img/photos/britain/2016-08-02_05.53.03.jpg | 0
static/img/photos/britain/2016-08-02_05.58.05.jpg | 0
static/img/photos/britain/2016-08-02_06.05.12.jpg | 0
static/img/photos/britain/2016-08-02_06.07.29.jpg | 0
static/img/photos/britain/2016-08-02_06.18.35.jpg | 0
static/img/photos/britain/2016-08-02_06.50.03.jpg | 0
static/img/photos/britain/2016-08-02_06.50.37.jpg | 0
static/img/photos/britain/2016-08-02_07.10.04.jpg | 0
static/img/photos/britain/2016-08-02_07.10.25.jpg | 0
static/img/photos/britain/2016-08-02_07.17.02.jpg | 0
static/img/photos/britain/2016-08-02_08.28.44.jpg | 0
static/img/photos/britain/2016-08-02_08.28.56.jpg | 0
static/img/photos/britain/2016-08-03_04.13.14.jpg | 0
static/img/photos/britain/2016-08-03_04.13.43.jpg | 0
static/img/photos/britain/2016-08-05_10.21.09.jpg | 0
static/img/photos/britain/2016-08-06_05.55.21.jpg | 0
static/img/photos/britain/2016-08-06_06.05.13.jpg | 0
static/img/photos/britain/2016-08-06_06.10.44.jpg | 0
static/img/photos/britain/2016-08-06_06.17.13.jpg | 0
static/img/photos/britain/2016-08-06_07.11.05.jpg | 0
static/img/photos/britain/2016-08-07_07.09.23.jpg | 0
static/img/photos/britain/2016-08-07_07.13.20.jpg | 0
static/img/photos/britain/2016-08-07_07.16.23.jpg | 0
static/img/photos/britain/2016-08-07_07.16.32.jpg | 0
static/img/photos/britain/2016-08-08_04.35.15.jpg | 0
static/img/photos/britain/2016-08-08_04.45.10.jpg | 0
static/img/photos/britain/2016-08-08_04.55.13.jpg | 0
static/img/photos/britain/2016-08-08_05.00.57.jpg | 0
static/img/photos/britain/2016-08-08_05.01.04.jpg | 0
static/img/photos/britain/2016-08-08_05.02.23.jpg | 0
static/img/photos/britain/2016-08-08_05.06.42.jpg | 0
static/img/photos/britain/2016-08-08_05.16.06.jpg | 0
static/img/photos/britain/2016-08-08_07.25.56.jpg | 0
static/img/photos/britain/2016-08-08_07.38.27.jpg | 0
static/img/photos/britain/2016-08-08_07.41.54.jpg | 0
static/img/photos/britain/2016-08-08_08.25.28.jpg | 0
static/img/photos/britain/2016-08-10_06.08.28.jpg | 0
static/img/photos/britain/2016-08-10_06.12.32.jpg | 0
static/img/photos/britain/2016-08-10_06.15.53.jpg | 0
static/img/photos/britain/2016-08-10_06.17.31.jpg | 0
static/img/photos/britain/2016-08-10_06.18.57.jpg | 0
static/img/photos/france/IMG_20140805_025242.jpg | 0
static/img/photos/france/IMG_20140807_024220.jpg | 0
static/img/photos/france/IMG_20140807_030315.jpg | 0
static/img/photos/france/IMG_20140807_031845.jpg | 0
static/img/photos/galapagos/DSC05174.jpg | 0
static/img/photos/galapagos/DSC05228.jpg | 0
static/img/photos/galapagos/DSC05290.jpg | 0
static/img/photos/galapagos/DSC05296.jpg | 0
static/img/photos/galapagos/DSC05341.jpg | 0
static/img/photos/galapagos/DSC05418.jpg | 0
static/img/photos/galapagos/DSC05442.jpg | 0
static/img/photos/galapagos/DSC05500.jpg | 0
static/img/photos/galapagos/DSC05527.jpg | 0
static/img/photos/galapagos/DSC05558.jpg | 0
static/img/photos/galapagos/DSC05571.jpg | 0
static/img/photos/galapagos/DSC05583.jpg | 0
static/img/photos/galapagos/DSC05586.jpg | 0
static/img/photos/galapagos/DSC05594.jpg | 0
static/img/photos/galapagos/DSC05663.jpg | 0
static/img/photos/galapagos/DSC05669.jpg | 0
static/img/photos/galapagos/DSC05680.jpg | 0
static/img/photos/galapagos/DSC05695.jpg | 0
static/img/photos/galapagos/DSC05720.jpg | 0
static/img/photos/galapagos/DSC05750.jpg | 0
static/img/photos/galapagos/DSC05753.jpg | 0
static/img/photos/galapagos/DSC05783.jpg | 0
static/img/photos/galapagos/DSC05949.jpg | 0
static/img/photos/galapagos/DSC05970.jpg | 0
static/img/photos/galapagos/DSC05974.jpg | 0
static/img/photos/galapagos/DSC05988.jpg | 0
static/img/photos/galapagos/DSC06042.jpg | 0
static/img/photos/galapagos/DSC06053.jpg | 0
static/img/photos/galapagos/DSC06113.jpg | 0
static/img/photos/galapagos/DSC06120.jpg | 0
static/img/photos/galapagos/DSC06139.jpg | 0
static/img/photos/galapagos/DSC06297.jpg | 0
static/img/photos/galapagos/DSC06371.jpg | 0
static/img/photos/galapagos/DSC06406.jpg | 0
static/img/photos/galapagos/DSC06485.jpg | 0
static/img/photos/galapagos/DSC06505.jpg | 0
static/img/photos/galapagos/DSC06525.jpg | 0
static/img/photos/galapagos/DSC06597.jpg | 0
static/img/photos/galapagos/DSC06663.jpg | 0
static/img/photos/galapagos/DSC06664.jpg | 0
static/img/photos/galapagos/DSC06706.jpg | 0
static/img/photos/galapagos/DSC06723.jpg | 0
static/img/photos/galapagos/DSC06749.jpg | 0
static/img/photos/galapagos/DSC06757.jpg | 0
static/img/photos/galapagos/DSC06771.jpg | 0
static/img/photos/galapagos/DSC06776.jpg | 0
static/img/photos/galapagos/DSC06782.jpg | 0
static/img/photos/galapagos/DSC06822.jpg | 0
static/img/photos/galapagos/DSC06903.jpg | 0
static/img/photos/galapagos/DSC06935.jpg | 0
static/img/photos/galapagos/DSC06966.jpg | 0
static/img/photos/galapagos/DSC07032.jpg | 0
static/img/photos/galapagos/DSC07081.jpg | 0
static/img/photos/galapagos/DSC07098.jpg | 0
static/img/photos/galapagos/DSC07100.jpg | 0
static/img/photos/galapagos/DSC07154.jpg | 0
static/img/photos/galapagos/DSC07368.jpg | 0
static/img/photos/galapagos/DSC07378.jpg | 0
static/img/photos/galapagos/DSC07382.jpg | 0
static/img/photos/galapagos/DSC07412.jpg | 0
static/img/photos/galapagos/DSC07417.jpg | 0
static/img/photos/galapagos/DSC07437.jpg | 0
static/img/photos/galapagos/DSC07458.jpg | 0
static/img/photos/galapagos/DSC07480.jpg | 0
static/img/photos/galapagos/DSC07485.jpg | 0
static/img/photos/galapagos/DSC07509.jpg | 0
static/img/photos/galapagos/DSC07522.jpg | 0
static/img/photos/galapagos/DSC07529.jpg | 0
static/img/photos/galapagos/DSC07532.jpg | 0
static/img/photos/galapagos/DSC07540.jpg | 0
static/img/photos/galapagos/DSC07547.jpg | 0
static/img/photos/galapagos/DSC07551.jpg | 0
static/img/photos/galapagos/DSC07560.jpg | 0
static/img/photos/galapagos/DSC07575.jpg | 0
static/img/photos/galapagos/DSC07584.jpg | 0
static/img/photos/galapagos/DSC07590.jpg | 0
static/img/photos/galapagos/DSC07611.jpg | 0
static/img/photos/galapagos/DSC07638.jpg | 0
static/img/photos/galapagos/DSC07644.jpg | 0
static/img/photos/galapagos/DSC07657.jpg | 0
static/img/photos/galapagos/DSC07682.jpg | 0
static/img/photos/galapagos/DSC07748.jpg | 0
static/img/photos/galapagos/DSC07751.jpg | 0
static/img/photos/galapagos/DSC07755.jpg | 0
static/img/photos/galapagos/DSC07757.jpg | 0
static/img/photos/galapagos/DSC07765.jpg | 0
static/img/photos/peru/IMG_20150803_134856.jpg | 0
static/img/photos/peru/IMG_20150803_144712.jpg | 0
static/img/photos/peru/IMG_20150804_091529.jpg | 0
static/img/photos/peru/IMG_20150804_095634.jpg | 0
static/img/photos/peru/IMG_20150804_101438.jpg | 0
static/img/photos/peru/IMG_20150805_094944.jpg | 0
static/img/photos/peru/IMG_20150805_095135.jpg | 0
static/img/photos/peru/IMG_20150805_140810.jpg | 0
static/img/photos/peru/IMG_20150805_141209.jpg | 0
static/img/photos/peru/IMG_20150805_141402.jpg | 0
static/img/photos/peru/IMG_20150805_142020.jpg | 0
static/img/photos/peru/IMG_20150805_145319.jpg | 0
static/img/photos/peru/IMG_20150805_145620.jpg | 0
static/img/photos/peru/IMG_20150805_155959.jpg | 0
static/img/photos/peru/IMG_20150805_160053.jpg | 0
static/img/photos/peru/IMG_20150805_160245.jpg | 0
static/img/photos/peru/IMG_20150805_160250.jpg | 0
static/img/photos/peru/IMG_20150805_162501.jpg | 0
static/img/photos/peru/IMG_20150805_162952.jpg | 0
static/img/photos/peru/IMG_20150806_070356.jpg | 0
static/img/photos/peru/IMG_20150806_071308.jpg | 0
static/img/photos/peru/IMG_20150806_074401.jpg | 0
static/img/photos/peru/IMG_20150806_075154.jpg | 0
static/img/photos/peru/IMG_20150806_080710.jpg | 0
static/img/photos/peru/IMG_20150806_080713.jpg | 0
static/img/photos/peru/IMG_20150806_162416.jpg | 0
static/img/photos/peru/IMG_20150808_130107.jpg | 0
static/img/photos/peru/IMG_20150808_130138.jpg | 0
static/img/photos/peru/IMG_20150808_145722.jpg | 0
static/img/photos/quarantine/DSC00083.jpg | 0
static/img/photos/quarantine/DSC00125.jpg | 0
static/img/photos/quarantine/DSC00136.jpg | 0
static/img/photos/quarantine/DSC00149.jpg | 0
static/img/photos/quarantine/DSC00177.jpg | 0
static/img/photos/quarantine/DSC00211.jpg | 0
static/img/photos/quarantine/DSC00279.jpg | 0
static/img/photos/quarantine/DSC00322.jpg | 0
static/img/photos/quarantine/DSC00341.jpg | 0
static/img/photos/quarantine/DSC00383.jpg | 0
static/img/photos/quarantine/DSC00401.jpg | 0
static/img/photos/quarantine/DSC00406.jpg | 0
static/img/photos/quarantine/DSC00447.jpg | 0
static/img/photos/quarantine/DSC00514.jpg | 0
static/img/photos/quarantine/DSC00530.jpg | 0
static/img/photos/quarantine/DSC00551.jpg | 0
static/img/photos/quarantine/DSC00649.jpg | 0
static/img/photos/quarantine/DSC00658.jpg | 0
static/img/photos/quarantine/DSC00867.jpg | 0
static/img/photos/quarantine/DSC00894.jpg | 0
static/img/photos/quarantine/DSC00937.jpg | 0
static/img/photos/quarantine/DSC00956.jpg | 0
static/img/photos/quarantine/DSC01044.jpg | 0
static/img/photos/quarantine/DSC01066.jpg | 0
static/img/photos/quarantine/DSC01397.jpg | 0
static/img/photos/quarantine/DSC01439.jpg | 0
static/img/photos/quarantine/DSC01542.jpg | 0
static/img/photos/quarantine/DSC01613.jpg | 0
static/img/photos/quarantine/DSC09365.jpg | 0
static/img/photos/quarantine/DSC09386.jpg | 0
static/img/photos/quarantine/DSC09445.jpg | 0
static/img/photos/quarantine/DSC09484.jpg | 0
static/img/photos/quarantine/DSC09512.jpg | 0
static/img/photos/quarantine/DSC09517.jpg | 0
static/img/photos/quarantine/DSC09538.jpg | 0
static/img/photos/quarantine/DSC09569.jpg | 0
static/img/photos/quarantine/DSC09613.jpg | 0
static/img/photos/quarantine/DSC09625.jpg | 0
static/img/photos/quarantine/DSC09677.jpg | 0
static/img/photos/quarantine/L1130748.jpg | 0
static/img/photos/quarantine/L1130859.jpg | 0
static/img/photos/quarantine/L1130873.jpg | 0
static/img/photos/quarantine/L1130902.jpg | 0
static/img/photos/quarantine/clock-better.jpg | 0
static/img/photos/quarantine/egg-bw.jpg | 0
static/img/photos/quarantine/flip3.jpg | 0
static/img/photos/quarantine/moon.jpg | 0
static/img/photos/quarantine/silohoutte.jpg | 0
static/img/photos/quarantine/sofa.jpg | 0
static/img/photos/quarantine/stars.jpg | 0
static/img/photos/quarantine/sunset-6.jpg | 0
static/img/photos/seattle/DSC01621.jpg | 0
static/img/photos/seattle/DSC01625.jpg | 0
static/img/photos/seattle/DSC01631.jpg | 0
static/img/photos/seattle/DSC01642.jpg | 0
static/img/photos/seattle/DSC01677.jpg | 0
static/img/photos/seattle/DSC01693.jpg | 0
static/img/photos/seattle/DSC01715.jpg | 0
static/img/photos/seattle/DSC01731.jpg | 0
static/img/photos/seattle/DSC01742.jpg | 0
static/img/photos/seattle/DSC01782.jpg | 0
static/img/posts/Jerry-the-Robot.jpg | 0
static/img/posts/sl-header.png | 0
static/img/posts/tp-mk/columns.jpg | 0
static/img/posts/tp-mk/cut-keycaps.jpg | 0
static/img/posts/tp-mk/diodes-done.jpg | 0
static/img/posts/tp-mk/diodes-extend.jpg | 0
static/img/posts/tp-mk/diodes-linked.jpg | 0
static/img/posts/tp-mk/diodes-side.jpg | 0
static/img/posts/tp-mk/diodes.jpg | 0
static/img/posts/tp-mk/finish-top.jpg | 0
static/img/posts/tp-mk/finish.jpg | 0
static/img/posts/tp-mk/ibm-thinkpad.jpg | 0
static/img/posts/tp-mk/kb-parts.jpg | 0
static/img/posts/tp-mk/kb-screws.jpg | 0
static/img/posts/tp-mk/keycaps-silicone.jpg | 0
static/img/posts/tp-mk/keylayout.jpg | 0
static/img/posts/tp-mk/parts.jpg | 0
static/img/posts/tp-mk/plate-cut.jpg | 0
static/img/posts/tp-mk/plate.jpg | 0
static/img/posts/tp-mk/pullup-resistors-lower.jpg | 0
static/img/posts/tp-mk/pullup-resistors-shrinkwrap.jpg | 0
static/img/posts/tp-mk/pullup-resistors-upper.jpg | 0
static/img/posts/tp-mk/resistors.jpg | 0
static/img/posts/tp-mk/stabilizers.jpg | 0
static/img/posts/tp-mk/standoffs-close.jpg | 0
static/img/posts/tp-mk/standoffs.jpg | 0
static/img/posts/tp-mk/stem-board.jpg | 0
static/img/posts/tp-mk/stem-comparison.jpg | 0
static/img/posts/tp-mk/stem-installed.jpg | 0
static/img/posts/tp-mk/stem.jpg | 0
static/img/posts/tp-mk/switch-diodes.jpg | 0
static/img/posts/tp-mk/switch-solder.jpg | 0
static/img/posts/tp-mk/switches.jpg | 0
static/img/posts/tp-mk/teensy-wire.jpg | 0
static/img/posts/tp-mk/tp-attached.jpg | 0
static/img/posts/tp-mk/tp-cap.jpg | 0
static/img/posts/tp-mk/tp-installed.jpg | 0
static/img/posts/tp-mk/tp-module.jpg | 0
static/img/posts/tp-mk/tp-soldered.jpg | 0
static/img/posts/tp-mk/tp-test.jpg | 0
static/img/posts/tp-mk/tp-wire.jpg | 0
static/img/posts/vim-indenting/indent-guides.png | 0
static/img/posts/vim-indenting/prog-languages.png | 0
static/img/posts/vim-indenting/tabs-1.png | 0
static/img/posts/vim-indenting/tabs-2.png | 0
static/img/posts/vim-indenting/tabs-3.png | 0
static/img/posts/vim-indenting/vim.jpg | 0
static/js/addtoany.min.js | 2++
static/js/bootstrap.bundle.min.js | 8++++++++
static/js/jquery.min.js | 3+++
static/js/lightbox.min.js | 16++++++++++++++++
static/webfonts/fa-brands-400.eot | 0
static/webfonts/fa-brands-400.svg | 3717+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
static/webfonts/fa-brands-400.ttf | 0
static/webfonts/fa-brands-400.woff | 0
static/webfonts/fa-brands-400.woff2 | 0
static/webfonts/fa-regular-400.eot | 0
static/webfonts/fa-regular-400.svg | 801+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
static/webfonts/fa-regular-400.ttf | 0
static/webfonts/fa-regular-400.woff | 0
static/webfonts/fa-regular-400.woff2 | 0
static/webfonts/fa-solid-900.eot | 0
static/webfonts/fa-solid-900.svg | 5028+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
static/webfonts/fa-solid-900.ttf | 0
static/webfonts/fa-solid-900.woff | 0
static/webfonts/fa-solid-900.woff2 | 0
333 files changed, 14013 insertions(+), 0 deletions(-)

diff --git a/.gitignore b/.gitignore @@ -0,0 +1,13 @@ +# swap files +*~ +*.swn +*.swo +*.swp +\#*\# + +tags +Session.vim +public +resources +content/photos/[^_]*.md +content/projects/[^_]*.md diff --git a/LICENSE b/LICENSE @@ -0,0 +1,19 @@ +zlib License + +Copyright (c) 2017-2021 Ed van Bruggen + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. diff --git a/archetypes/default.md b/archetypes/default.md @@ -0,0 +1,6 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +draft: true +--- + diff --git a/config.toml b/config.toml @@ -0,0 +1,14 @@ +baseURL = "https://edryd.org/" +languageCode = "en-us" +title = "edryd" +name = "Ed van Bruggen" +copyright = "Copyleft © 2017-2021 Ed van Bruggen" + +enableInlineShortcodes = true +ignoreErrors = ["error-remote-getjson"] + +[markup] + [markup.highlight] + guessSyntax = true + style = "friendly" + tabWidth = 8 diff --git a/content/photos/_index.md b/content/photos/_index.md @@ -0,0 +1,11 @@ +--- +title: photos +--- + +<!-- TODO move photos to layout and make for loop --> +{{< photos limit="9" dir="seattle">}} +{{< photos limit="9" dir="quarantine">}} +{{< photos limit="9" dir="galapagos">}} +{{< photos limit="9" dir="britain">}} +{{< photos limit="9" dir="france">}} +{{< photos limit="9" dir="peru">}} diff --git a/content/posts/deriv-proofs.md b/content/posts/deriv-proofs.md @@ -0,0 +1,75 @@ +--- +title: "Proof of Derivative Properties" +date: 2017-10-04 +tags: math calculus proof notes +categories: math +math: true +--- + +## derivation of the quotient rule + +The quotient rule is used to take the derivative of a function with divided +expressions: + +$$ +\left(\frac{u}{v}\right)' = \frac{vu' - uv'}{v^2} +$$ + +It is possible to prove this rule by utilizing the definition of the +derivative; however, this is not nearly as elegant as the following simple +proofs which use other derivative properties instead. + +### product rule + +$$\begin{align} + y & = \frac{u}{v} \\ + & = uv^{-1} \\ +y' & = v^{-1}u' + u(-v^{-2}v') \\ + & = \frac{u'}{v} - \frac{uv'}{v^2} \\ + & = \frac{v}{v}\cdot\frac{u'}{v} - \frac{uv'}{v^2} \\ + & = \frac{vu'}{v^2} - \frac{uv'}{v^2} \\ + & = \frac{vu' - uv'}{v^2} \\ +\end{align}$$ + +### logarithm + +$$\begin{align} + y & = \frac{u}{v} \\ +\mathrm{ln} y & = \mathrm{ln} \frac{u}{v} \\ + & = \mathrm{ln} u - \mathrm{ln} v \\ + \frac{y'}{y} & = \frac{u'}{u} - \frac{v'}{v} \\ + & = \frac{v}{v}\frac{u'}{u} - \frac{u}{u}\frac{v'}{v} \\ + & = \frac{vu' - uv'}{uv} \\ + y' & = y\frac{vu' - uv'}{uv} \\ + & = \frac{u}{v}\frac{vu' - uv'}{uv} \\ + & = \frac{vu' - uv'}{v^2} \\ +\end{align}$$ + +## logarithmic proofs + +As well as being used in the proof of the quotient rule, logarithms can also be +used to prove a couple of other derivative rules. + +### power rule + +$$\begin{align} + y & = x^n \\ +\mathrm{ln} y & = \mathrm{ln} x^n \\ + & = n \mathrm{ln} x \\ + \frac{y'}{y} & = n \frac{1}{x} \\ + y' & = yn \frac{1}{x} \\ + & = n x^n x^{-1} \\ + & = nx^{n-1}\\ +\end{align}$$ + +### product rule + +$$\begin{align} + y & = uv \\ +\mathrm{ln} y & = \mathrm{ln} uv \\ + & = \mathrm{ln} u + \mathrm{ln} v \\ + \frac{y'}{y} & = \frac{u'}{u} + \frac{v'}{v} \\ + y' & = y \frac{u'}{u} + \frac{v'}{v} \\ + & = uv \left(\frac{u'}{u} + \frac{v'}{v}\right) \\ + & = vu' + uv' \\ +\end{align}$$ diff --git a/content/posts/gen-phys-cs.md b/content/posts/gen-phys-cs.md @@ -0,0 +1,262 @@ +--- +title: "General Physics Cheatsheet" +date: 2017-06-02 +tags: phys cheatsheet +categories: phys +math: true +--- + +$ \newcommand{\e}[1]{ \times 10^{#1}} $ + +## constants + +$m_e = 9.11\e{-31} kg = .511 \frac{MeV}{c^2} = 5.4858\e{-4} u$ + +$m_p = 1.673\e{-27} kg = 938 \frac{MeV}{c^2} = 1.007276 u$ + +$m_n = 1.675\e{-27} kg = 940 \frac{MeV}{c^2} = 1.008665 u$ + +$u = 1.6605\e{-27} kg = 931.5 \frac{MeV}{c^2}$ + +$e = 1.6012\e{-19} C$ + +$\mu_0 = 4\pi\e{-7}$ + +$k = 8.988\e9 \frac{Nm^2}{C^2}$ + +$\varepsilon_0 = 8.854\e{-12} \frac{F}{m}$ + +$c = 2.998\e8 \frac{m}{s}$ + +$h = 6.626\e{-34} Js = 4.136\e{-15} eVs$ + +$T = 1.6\e{-19}$ + +$E_1 = -13.6 eV$ + +$r_0 = 1.2\e{-15} m$ + +## equations + +$\varepsilon_0 = \frac1{4\pi k} = \frac1{\mu_0c^2}$ + +### electric fields + +$E = \frac{\sigma}{\varepsilon_0}$ + +$\Phi_E = \vec E \cdot \vec A = EA\cos \theta = \frac{q_A}{\varepsilon_0}$ + +$\vec F_E = \frac{kqQ}{r^2} = Q \vec E$ + +$W = \vec F \Delta x \cos \theta$ + +$\Delta U = -\Delta E_k = -W$ + +$\Delta V = \frac{\Delta U}{q_0} = -\vec E \Delta x$ + +$V = \frac{kQ}r$ + +### capacitance + +$V = Ed$ + +$Q = \sigma A$ + +$C = \frac{Q}V = kC_0$ + +$U = \frac{CV^2}2$ + +### electric currents + +$V = IR$ + +$P = IV$ + +$I = \frac{\Delta Q}{\Delta t}$ + +$I = v_DAnq$ + +$I_{rms} = \frac{I_0}{\sqrt2}$ + +$R = \frac{\rho \ell}A$ + +### dc circuits + +$\tau = RC$ + +$V_0 = \frac{Q_0}C$ + +$I_0 = \frac{V_0}R$ + +$Q_{max} = CV_B$ + +$\sum I_{in} = \sum I_{out}$ + +$\sum V_{loop} = 0$ + +#### series + +$\sum Q = Q_1 = Q_2 = \cdots = Q_n$ + +$\frac1{\sum C} = \frac1{C_1} + \frac1{C_2} + \cdots + \frac1{C_n}$ + +$\sum U = \frac{Q_1^2}{2C_1} + \frac{Q_2^2}{2C_2} + \cdots + \frac{Q_n^2}{2C_n}$ + +$\sum R = R_1 + R_2 + \cdots + R_n$ + +#### parallel + +$\sum V = V_1 = V_2 = \cdots + R_n$ + +$\sum C = C_1 + C_2 + \cdots + C_n$ + +$\sum U = \frac{Q_1}{2C_1} + \frac{Q_2}{2C_2} + \cdots + \frac{Q_n}{2C_n}$ + +$\frac1{\sum R} = \frac1{R_1} + \frac1{R_2} + \cdots + \frac1{R_n}$ + +### rc circuits + +$i = I_0 e^{\frac{-t}\tau}$ + +$V_R = I_0 R e^{\frac{-t}\tau}$ + +$U = \frac{q^2}{2C}$ + +$P = i^2 R$ + +#### charging + +$q = Q_{max} \left(1 - e^{\frac{-t}\tau}\right)$ + +$V_C = V_B \left(1 - e^{\frac{-t}\tau}\right)$ + +#### discharging + +$q = Q_{max} e^{\frac{-t}\tau}$ + +$V_C = V_B e^{\frac{-t}\tau}$ + +### magnetism + +$\vec F_B = q \vec v \cdot \vec B = qvB\sin\theta$ + +$F_B = \frac{mv^2}{R} = qvB$ + +$\frac{F_M}{\ell} = BI\sin\theta$ + +$B = \frac{\mu_0 I}{2 \pi r} = \frac{\mu_0 I N}{\ell}$ + +$\frac{F_{21}}{\Delta \ell} = \frac{\mu_0 I_1 I_2}{2 \pi d}$ + +### electromagnetic induction + +$\mathcal{E} = \left\|\frac{\Delta \Phi_B}{\Delta t}\right\| = -vBL = NBAq$ + +$I_{avg} = \frac{\left\|\mathcal{E}\right\|}R$ + +$\Delta \Phi_B = B \Delta A = \Delta B A$ + +$U = \frac{LI^2}2 = \frac{B^2V_{ol}}{2\mu_0}= \frac{B^2\pi r^2\ell}{2\mu_0}$ + +$\tau = \vec \mu \cdot \vec B$ + +$P = \vec F \cdot \vec v = \frac{\left(B \ell v\right)^2}R$ + +$\frac{N_P}{N_S} = \frac{V_P}{V_S} = \frac{I_S}{V_P}$ + +### electromagnetic waves + +$v = f\lambda$ + +$\vec{S} = \frac{EB}{2\mu_0} = \frac{P}A$ + +$E = \frac{I}{A\mathcal{E}_0} = cB$ + +$\sum U = U_E + U_B = \mathcal{E}_0E^2$ + +$U_E = \frac{\mathcal{E}_oE^2}2$ + +$U_B = \frac{B^2}{2\mu_0}$ + +$S = \frac{CB^2}{\mu_0} = \frac{\Delta U}{A\Delta t}$ + +### optics + +$\frac1{d_0} + \frac1{d_i} = \frac1{f} = \frac2{r}$ + +$\frac1{f} = (n-1)\left(\frac1{R_1}-\frac1{R_2}\right)$ + +$M = \frac{-d_i}{d_0} = \frac{h_i}{h_0}$ + +$n_1\sin\theta_1 = n_2\sin\theta_2$ + +$\lambda_m = \frac{\lambda_v}n$ + +### special theory of relativity + +$\Delta t = \gamma \Delta t_0$ + +$L = \frac{L_0}{\gamma}$ + +$\gamma = \frac1{\sqrt{1-\frac{v^2}{c^2}}}$ + +$v = c \sqrt{1-\frac1{\gamma^2}}$ + +### quantum mechanics + +$\hbar = \frac{h}{2\pi}$ + +$\Delta x \Delta p \gtrsim \hbar$ + +$\Delta E \Delta t \gtrsim \hbar$ + +$E_n = \frac{Z^2}{n^2}(-13.6eV)$ + +### nuclear physics + +$r = r_0 A^{1/3}$ + +$N = N_0e^{-\lambda t}$ + +$A = \lambda N$ + +## info + +### prefixes + +| name | prefix | power | +| ---- | ------ | ---------- | +| exa | E | $10^{18}$ | +| peta | P | $10^{15}$ | +| tera | T | $10^{12}$ | +| giga | G | $10^9$ | +| mega | M | $10^6$ | +| kilo | k | $10^3$ | +| hecto | h | $10^2$ | +| deca | da | $10^1$ | +| - | - | - | +| deci | d | $10^{-1}$ | +| centi | c | $10^{-2}$ | +| milli | m | $10^{-3}$ | +| mirco | μ | $10^{-6}$ | +| nano | n | $10^{-9}$ | +| pico | p | $10^{-12}$ | +| femto | f | $10^{-15}$ | +| atto | a | $10^{-18}$ | + +### right hand rules + +| hand | vector | +| ------- | --------------- | +| fingers | $\vec v$ or $I$ | +| palm | $\vec B$ | +| thumb | $\vec F$ | + +### quantum numbers + +| (n, ℓ, m, s) | +| --------------- | +| n = 1, 2, 3 … ∞ | +| ℓ = 0 … n-1 | +| m = -ℓ … +ℓ | +| s = ±½ | diff --git a/content/posts/libsl.md b/content/posts/libsl.md @@ -0,0 +1,276 @@ +--- +title: "Overview of libsl" +date: 2017-06-04 +tags: tech c library suckless +categories: tech +--- + +![suckless](/img/posts/sl-header.png) + +[libsl][8] is an extremely small library used to write better and clearer C +programs. The code was created by the [suckless][9] community, a small group of +C hackers and developers creating powerful yet simple programs for Linux +designed to be lightweight, configurable, and easier to maintain then the many +other unnecessarily bloated [alternatives][10]. You can read more about their +[philosophy][11] on their website. Some of their most notable projects include +[dwm][12], [dmenu][13], [st][14], and [surf][15]. + +libsl is composed of tiny C99 source and headers files designed to be simply +copied into a project's source tree. This allows the library to be easily used +and easily modified to fit every project's need. + +All of libsl is protected under the MIT license, allowing you to use it in your +own projects with little strings attached. See [LICENSE][6] in the source tree +for more. + +## arg.h + +One of the most utilized and most important files in libsl is [arg.h][1], a +C header designed to easily interpret short options from the command line. +This removes the necessity to copy complex boiler plate or clunky libraries to +simply see if an option has been supplied by the user. While `arg.h` does not +support long options (`--option` vs `-o`), if your project's CLI is relatively +straight forward it is a great, simple, and lightweight method to quickly parse +short options in your C code. + +To start reading short options simply use the macro `ARGBEGIN` followed by a +`{` in your C program's `main` function, don't forget to `#include "arg.h"` at +the top of the file. This macro loops through all the command line arguments +and finds the short option (beginning with a single `-`) and allows you to +select one in a switch statement by using `case 'a':`, where `a` can be any +character for the desired option. + +`arg.h` also defines other macros to read data in the `ARGBEGIN` block. One +example is `ARGC()` which is defined to `ARGBEGIN`'s internal variable `argc_`, +the character for the short option currently being interpreted. + +`ARGF()` is another useful macro to get an argument after an option. For +example if a program `prog` is run as `prog -s string` then `ARGF()` in the `s` +case will return `string` as a C string. This can also be converted to a number +through a function such as `atoi`. A similar macro `EARGF(x)` can also run the +supplied function upon an error. It is common to define a `usage()` function +in suckless projects such as the one below. + +```c +void +usage(void) +{ + die("usage: %s [-ab] [-c STR] [-d STR] [-n NUM | -NUM]", argv0); +} +``` + +`die()` is a function in libsl defined in `util.c`, see the [section](#utilc) +below for more. + +`arg.h` also defines a string, `argv0`, which is set to the program's name, +equivalent to `argv[0]`, but global allowing it to be used throughout your +code, like in the usage message above. + +In this example `EARGF(usage())` would display usage info on an error reading +the next string. + +While `ARGF()` with `atoi()` can be used to get a number from given arguments, +it is often faster to use the `-NUM` format (eg `prog -4` to get the number `4` +instead of `prog -n 4`). In order to achieve this I have added my own macros +to `arg.h` that can be used. + +```c +/* handles -NUM syntax */ +#define ARGNUM case '0':\ + case '1':\ + case '2':\ + case '3':\ + case '4':\ + case '5':\ + case '6':\ + case '7':\ + case '8':\ + case '9' + +/* get option number */ +#define ARGNUMF() (brk_ = 1, atoi(argv[0])) +``` + +The first is `ARGNUM` which is used in replace of a case statement in the +`ARG` block (eg `case 'n':` becomes `ARGNUM:`). Inside of this case +replacement `ARGNUMF()` is used to get the number given by the argument +supplied by the user. These macros, while only needing to be defined for 1-9, +work on any number over 10 as well. + +After running through all the options you want---remembering to use `break` +after each one, possibly including a `default` in case an argument given is not +supported---`ARGBEGIN` and the curly bracket we opened need to be +closed via `} ARGEND`. `ARGEND` is essentially just closing all the brackets +`ARGBEGIN` opened, not counting the one we placed. + +A complete `ARG` block example is shown below, don't forget that it needs to be +placed in inside the `int main(int argc, char *argv[])` function. + +```c +ARGBEGIN { +case 'a': + printf("option a selected\n"); +case 'b': + printf("option b also runs if your not careful\n"); + break; +case 'c': + printf("options can also have arguments: %s\n", ARGF()); + break; +case 'd': + printf("support for error messages: %s\n", EARGF(usage())); + break; +case 'n': + printf("they can also be numbers: %d\n", atoi(EARGF(usage()))); + break; +ARGNUM: + printf("or in this format: %d\n", ARGNUMF()); + break; +case 'v': + verbose++; /* define before ARGBEGIN block */ + printf("options can also be repeated: %d\n", verbose); + break; +default: + usage(); +} ARGEND; +``` + +Note that `arg.h` modifies `argv` and `argc`. If, for example, after parsing +the arguments you now want to read any strings after, such as file names, +`argv[0]` is the first argument after the valid options. So if `prog -s option +filename anotherfile` is used, the `s` case in `ARGBEGIN` is run with the +argument `option`, then `argv[0]` will be equal to `filename`, `argv[1]` to +`anotherfile`, etc. + +## util.c + +The next file in libsl is [util.c][2]. This file defines many general purpose C +functions used throughout different projects. + +One function found here which is common in many C projects, including +[Linux][7], is `die()`. This utility takes a formatted string, adds a newline +at the end, and prints it to `stderr` before `exit()`ing with a return value of +`1`. This is useful for writing simple and clean error messages which need to +quit the program. `die()` is used above in the `usage()` example as well as the +quick examples below. + +```c +struct MyData data; +data->str = init_str(); +if (!data->str || !strcmp(data->str, "")) + die("%s: error: could not init data->str", argv0); +``` + +```c +int strlen = 20; +char *str; +if (!(str = calloc(strlen, sizeof(char)))) + die("fatal: could not calloc() %u bytes", strlen * sizeof(char)); +``` + +As well as formatting the output similar to `printf()`, libsl's `die()` also +supports automatic error messages for functions which set the C global `errno`. +If the string given ends in a colon (`:`), `die()` will append a space and the +error message thrown by a called function with `errno` support. Thus the above +`calloc` example can be replaced with the more adaptive: + +```c +int strlen = 20; +char *str; +if (!(str = calloc(strlen, sizeof(char)))) + die("calloc:"); /* example error: "calloc: out of memory" */ +``` + +The above example is the bases for another useful function `util` defines, +`ecalloc()`. This new function makes sure the pointer allocated by `calloc` is +not `NULL`, which indicates an error occurred. Using this new wrapper we can +replace the example above with the following. + +```c +int strlen = 20; +char *str = ecalloc(strlen, sizeof(char)); +``` + +This function can also be duplicated for other similar functions such as +`realloc()`, `malloc()`, `strdup()`, etc. A new example `erealloc()` function +is displayed below. + +```c +void * +erealloc(void *p, size_t size) +{ + if (!(p = realloc(p, size))) + die("realloc:"); + + return p; +} +``` + +### util.h + +The [header][3], as well as defining the previous functions, creates some +useful macros. + +Two macros which are often copy and pasted between projects and files is +`MAX()` and `MIN()`. They are fairly simple, two integers are given as +arguments and the biggest or smallest one is returned respectively. + +```c +#define MAX(A, B) ((A) > (B) ? (A) : (B)) +#define MIN(A, B) ((A) < (B) ? (A) : (B)) +``` + +```c +MAX(4, 8); /* => 8 */ +MIN(-38, -18); /* => -38 */ +MAX(10, -47); /* => 10 */ +``` + +In a similar vain `BETWEEN()` returns whether the first integer supplied is +between the next two given integers. + +```c +#define BETWEEN(X, A, B) ((A) <= (X) && (X) <= (B)) +``` + +```c +BETWEEN(4, -8, 12); /* => 1 (true) */ +BETWEEN(9, 20, 67); /* => 0 (flase) */ +``` + +`LEN()` is also often defined here, it is used to return the size of an array. + +```c +#define LEN(X) (sizeof(X) / sizeof((X)[0])) +``` + +## drw.c + +[drw.c][4] and its header [drw.h][5] are used as an X interfaced for making +basic graphical programs, for example [dmenu](http://tools.suckless.org/dmenu). +An in depth overview of the many functions and `typedef`s offered in this file +is coming soon as its own post. + +## conclusion + +I hope this post has be beneficial and will help you create more elegant and +cleaner code in C. For other projects putting this philosophy into practice +checkout some of my [projects](/projects), the [suckless git +repo](http://git.suckless.org), and their other [recommended +projects](http://suckless.org/rocks) page. + +[1]: http://git.suckless.org/libsl/tree/arg.h +[2]: http://git.suckless.org/libsl/tree/util.c +[3]: http://git.suckless.org/libsl/tree/util.h +[4]: http://git.suckless.org/libsl/tree/drw.c +[5]: http://git.suckless.org/libsl/tree/drw.h +[6]: http://git.suckless.org/libsl/tree/LICENSE +[7]: https://github.com/torvalds/linux/blob/16f73eb02d7e1765ccab3d2018e0bd98eb93d973/arch/mn10300/boot/tools/build.c#L47 +[8]: http://git.suckless.org/libsl +[9]: http://suckless.org +[10]: http://suckless.org/sucks +[11]: http://suckless.org/philosophy +[12]: http://dwm.suckless.org/ +[13]: http://tools.suckless.org/dmenu +[14]: http://st.suckless.org/ +[15]: http://surf.suckless.org/ + diff --git a/content/posts/macro-dangers.md b/content/posts/macro-dangers.md @@ -0,0 +1,249 @@ +--- +title: "The Dangers of C Macros" +date: 2018-09-11 +tags: tech code c +categories: tech +--- + +C macros, while being extremely powerful when used correctly, can also be the +cause for a lot of unnecessary headaches if you are not aware of their +limitations. It is easy to view macros as just a fast shorthand for making +simple functions, but there are very important differences which need to be +addressed. + +This post outlines some real life examples of macros I have come across or +attempted to use, some are very beneficial, improving life for everyone, +others are terrible and impossible to debug, and then some just are plain +stupid. + +## intro + +In C, macros are delegated to the preprocessor, a program run before the +compiler which changes the source C files so they are ready to be compiled. +This includes basic things such as removing comments or adding the contents of +others files with `#include`. The preprocessor also handles a crude, yet +powerful, form of constant variable creation with `#define`. For example, the +following makes the C preprocessor replaces every occurrence of `PI` with the +number `3.14159`. + +```c +#define PI 3.14159 +``` + +This is also extended to accept arguments, allowing for macros which act as +basic functions. + +```c +#define RADTODEG(X) ((X) * 57.29578) +``` + +The preceding macro replaces every `RADTODEG(PI/2)`, with `((3.14159/2) * +57.29578)`, converting *π/2* radians to about 90 degrees. + +## the good + +```c +#define MAX(A, B) ((A) > (B) ? (A) : (B)) +#define MIN(A, B) ((A) < (B) ? (A) : (B)) +#define BETWEEN(X, A, B) ((A) <= (X) && (X) <= (B)) +#define LEN(X) (sizeof(X) / sizeof((X)[0])) +``` + +Above is a list of four macros which I have in pretty much every project I am +working on, just because they are so useful. The first one, `MAX` returns the +larger of the two given numbers. This is a nice shorthand, making the code much +easier to read by hiding the ternary operator away. In companion with it is of +course `MIN`, which does exactly what you think it does. + +Next, I often find my self needing `BETWEEN`, which returns whether or not the +given character `X` is inside `A` and `B`. One example of this is to figure out +if a given character is a lower case letter: `BETWEEN(c, 'a', 'z')`. Finally, +`LEN` returns the length of an array, fairly basic and well needed. + +## the bad + +Here is a seemly innocent macro I wrote to check if a character is valid for a +specific application: + +```c +#define ISVALID(C) (BETWEEN(C, 'a', 'z') || strchr("_-", C)) +``` + +The macro should return 1 if the passed character, `C`, is a lowercase letter, +an underscore, or a hyphen. At first, it might seem like this macro works +perfectly fine, and it does for the most part; however, in certain cases, there +are undesirable side effects which are hard to figure out. For example, I +wanted to use this macro, which had been working well so far, to strip the +characters at the end of a string that are not valid. Simple enough, right? + +```c +for (char *s = str; *s && ISVALID(*s++); len++) + /* do nothing in here */ ; +str[len] = '\0'; +``` + +This should move the terminating null character to where the last valid +character of the string is, but in this current usage, it doesn't seem to +work correctly. If you use the example string `"test-string! removed"` +you would expect `"test-string"`, instead you get `"te"`, which is much +shorter than it ought to be. + +In order to know why this happens you have to understand what the C +preprocessor is doing under the hood. For every instance of `ISVALID`, C +replaces it with the defined expression, in this case `(BETWEEN(C, 'a', 'z') || +strchr("_-", C))`. If you specified arguments, which is the case for macros, +the variable is then replaced with every occurrence within the given +expression, so the for loop gets replaced with: + +```c +for (char *s = str; *s && (('a' <= *s++ && *s++ <= 'z') || strchr("_-", *s++)); len++) ; +``` + +It should be clear now why this is producing weird results, the increment is +duplicated three times. When a function is run, each argument is evaluated +before being supplied to the body, but for macros, the preprocessor doesn't +understand the expression, it just blindly copies and pastes it to every +occurrence, causing the character to be incremented more times than wanted. + +This subtle, but critical, distinction between macros and functions can cause +these hard to find bugs when you refuse to acknowledge their differences. + +To solve this error I ended up just replacing this short macro with a function, +which in this case demonstrates some of the limitations of macros. Sometimes it +is just easier to use a function. + +Another example I have come across is a macro used in a codebase to report and +keep count of any errors encountered. The initial version of this macro is +shown. + +```c +#define report(M, ...) \ + fprintf(stderr, "%s:%d: " M "\n", __FILE__, __LINE__, ##__VA_ARGS__); \ + errors++; +``` + +This works fine for many causes, but problems arise when you start to use it +more often in different situations. One of these use cases which no longer +works as intended is when you try to call it in an `if` statement. + +```c +if (val != A_NUM) + report("error: variable 'val' is [%d] not A_NUM", val); +``` + +In C the curly braces around a conditional statement can be omitted if the +statement only contains a single line. Most of the time this works fine and +makes the code look cleaner, but this example complicates things. While the +macro may look like a single line, when the preprocessor modifies it is now two +separate lines, the `fprintf` function and the `errors++` statement. The `if` +statement only encompasses the `fprintf`, so the program always increments +`errors` by one, even if `val` is the desired value and there is no issue. + +At first, this seems easy enough to fix, once you realize that you are calling +a multi-lined macro, not a function, you just add some curly braces to your +macro. + +```c +#define report(M, ...) { \ + fprintf(stderr, "%s:%d: " M "\n", __FILE__, __LINE__, ##__VA_ARGS__); \ + errors++; \ +} +``` + +This does indeed solve this particular problem, but it also introduces some +others. Later on, I wanted to add an `else` to the `if` statement, but the +compiler spat out a syntax error complaining that the there is no `if` for the +`else`. After much examination, I realized that the semicolon after the macro +is actually not needed and is getting in the way of the `else`. When expanded +this code: + +```c +if (str == NULL) + report("error: variable str is NULL"); +else + do_something(str); +``` + +Becomes: + +```c +if (str == NULL) { + fprintf(stderr, "%s:%d: " M "\n", __FILE__, __LINE__, ##__VA_ARGS__); + errors++; +}; +else + do_something(str); +``` + +Now it is clear that this semicolon is separating the `if` and `else` +statements. You could just remove this semicolon since it's not actually +needed, but now it looks like your code is missing a semicolon, and every time +you use this macro you have to remember that you can't use a semicolon. This is +less than ideal, so instead, you can extend these curly braces to become a +do-while loop. + +```c +#define report(M, ...) do { \ + fprintf(stderr, "%s:%d: " M "\n", __FILE__, __LINE__, ##__VA_ARGS__); \ + errors++; \ +} while(0) +``` + +Since it is a do-while loop it is always evaluated at least once, but because +the condition is `0`, it never repeats. A while loop also needs a semicolon at +the end, this allows us to include one after the macro, giving the programmer +the expected results. The do-while loop also only counts as one line, so the +shorten `if` statement notation can be used. + +In this example, macros are still a very viable option, once you are aware of +their limitations. + +## the ugly + +The next portion is for serious macro abuses, one such example I found +stumbling through `tcsh`'s source code. + +```c +#define DO_STRBUF(STRBUF, CHAR, STRLEN) \ + \ +struct STRBUF * \ +STRBUF##_alloc(void) \ +{ \ + return xcalloc(1, sizeof(struct STRBUF)); \ +} \ + \ +void \ +STRBUF##_free(void *xbuf) \ +{ \ + STRBUF##_cleanup(xbuf); \ + xfree(xbuf); \ +} \ + \ +const struct STRBUF STRBUF##_init /* = STRBUF##_INIT; */ + +DO_STRBUF(strbuf, char, strlen); +DO_STRBUF(Strbuf, Char, Strlen); +``` + +`tcsh`'s `tc.str.c` defines an 80 line long macro (small portion displayed +above, the whole mess is [here][1]) in order to duplicate a family of functions +to work with their `Char` variable type as well as normal `char`. The macro is +defined as `DO_STRBUF` which takes 3 arguments, a struct `STRBUF`, a type +`CHAR`, and a function `STRLEN`. `tcsh`'s old code base is designed to work on +many legacy and outdated systems, so it needs to support the various types of +`char`, such as `wchar_t`, `wint_t`, `short`, etc. The overly complex +assignment of `Char` can be seen [here][2]. For some reason, the authors +thought it best to include two types of these boilerplate functions, instead of +unifying them as one set, which would greatly improve the entire code base's +simplicity and readability. + +## conclusion + +If you are aware of macros' limitations then they can become a powerful +tool to quickly write clean and effective code. You always have to be careful +though when utilizing them, use your judgement to determine when their +advantages over normal functions become problems and headaches instead of fast +time savers. + +[1]: https://github.com/tcsh-org/tcsh/blob/master/tc.str.c#L628-L710 +[2]: https://github.com/tcsh-org/tcsh/blob/master/sh.h#L94-L124 diff --git a/content/posts/multivar-calc.md b/content/posts/multivar-calc.md @@ -0,0 +1,118 @@ +--- +title: "Multivariable Calculus Cheatsheet" +date: 2017-11-14 +tags: math calculus cheatsheet +categories: math +math: true +--- + +# trig identities + +$$\sin^2 \theta + \cos^2 \theta = 1$$ + +$$1+ \tan^2 \theta = \sec^2 \theta$$ + +$$1+ \cot^2 \theta = \csc^2 \theta$$ + +$$\sin(a \pm b) = \sin(a)\cos(b) \pm \cos(a)\sin(b)$$ + +$$\cos(a \pm b) = \cos(a)\cos(b) \pm \sin(a)\sin(b)$$ + +$$\sin(-\theta) = -\sin \theta$$ + +$$\cos(-\theta) = \cos \theta$$ + +$$\tan(-\theta) = -\tan \theta$$ + +# derivatives + +$$\frac{dy}{dx} = \frac{\frac{dy}{dt}}{\frac{dx}{dt}}$$ + +$$\frac{d^2y}{dx^2} = \frac{\frac{d}{dt}\frac{dy}{dx}}{\frac{dx}{dt}}$$ + +$$\frac{d}{d\theta}\sin \theta = \cos \theta$$ + +$$\frac{d}{d\theta}\cos \theta = -\sin \theta$$ + +$$\frac{d}{d\theta}\tan \theta = \sec^2 \theta$$ + +$$\frac{d}{d\theta}\cot \theta = -\csc^2 \theta$$ + +$$\frac{d}{d\theta}\sec \theta = \sec \theta \tan \theta$$ + +$$\frac{d}{d\theta}\csc \theta = -\csc \theta \cot \theta$$ + +$$\frac{d}{dx}\sin^{-1} x = \frac1{\sqrt{1-x^2}}, x \in [-1,1]$$ + +$$\frac{d}{dx}\cos^{-1} x = \frac{-1}{\sqrt{1-x^2}}, x \in [-1,1]$$ + +$$\frac{d}{dx}\tan^{-1} x = \frac1{1+x^2}, x \in [\frac{-\pi}2, \frac{\pi}2]$$ + +$$\frac{d}{dx}\sec^{-1} x = \frac1{|x|\sqrt{x^2-1}}, |x| > 1$$ + +# integrals + +$$\int{udv} = uv - \int{vdu}$$ + +$$\int_a^b{f(x)dx} = \lim_{n \to \infty} \sum_{i=1}^n f(x_i)\Delta x$$ + +$$\iint_R{f(x,y)dA} = \lim_{\substack{n \to \infty \\ m \to \infty}} \sum_{i=1}^n \sum_{j=1}^m f(x_i,y_i)\Delta x\Delta y$$ + +# vectors + +$$\vec a \cdot \vec b = |\vec a||\vec b| \cos \theta$$ + +$$|\vec a \times \vec b| = |\vec a||\vec b| \sin \theta$$ + +$$\mathrm{proj}_{\vec b} \vec a = \frac{\vec a \cdot \vec b}{|\vec b|}\frac{\vec b}{|\vec b|}$$ + +$$\cos \theta = \frac{n_1n_2}{|n_1||n_2|}$$ + +$$D = \frac{|d_1-d_2|}{\sqrt{a^2+b^2+c^2}} = \frac{|ax_1+by_1+cz_1+d|}{\sqrt{a^2+b^2+c^2}}$$ + +$$A = \int_\alpha^\beta g(t)f'(t)dt$$ + +$$L = \int_\alpha^\beta\sqrt{\left(\frac{dx}{dt}\right)^2+\left(\frac{dy}{dt}\right)^2}$$ + +$$a_T(t) = \frac{r'(t) \cdot r'(t)'}{|r'(t)|}$$ + +$$a_N(t) = \frac{|r'(t) \times r'(t)'|}{|r'(t)|}$$ + +# surfaces + +| name | equation | +| ----------------------- | ---------------------------------------------------------- | +| ellipsoid | $\frac{x^2}{a^2} + \frac{y^2}{b^2} + \frac{z^2}{c^2} = 1$ | +| elliptical paraboloid | $\frac{x^2}{a^2} + \frac{y^2}{b^2} = \frac{z}{c}$ | +| hyperbolic paraboloid | $\frac{x^2}{a^2} - \frac{y^2}{b^2} = \frac{z}{c}$ | +| cone | $\frac{x^2}{a^2} + \frac{y^2}{b^2} = \frac{z^2}{c^2}$ | +| hyperboloid of 1 sheet | $\frac{x^2}{a^2} + \frac{y^2}{b^2} - \frac{z^2}{c^2} = 1$ | +| hyperboloid of 2 sheets | $-\frac{x^2}{a^2} - \frac{y^2}{b^2} + \frac{z^2}{c^2} = 1$ | + +# polar coordinates + +$$x = r \cos \theta$$ + +$$y = r \sin \theta$$ + +$$r = \sqrt{x^2+y^2}$$ + +$$\tan \theta = \frac{y}{x}$$ + +# curvature + +$$\vec T(t) = \frac{\vec r'{t}}{|r'(t)|}$$ + +$$\vec N(t) = \frac{\vec T'{t}}{|T'(t)|}$$ + +$$\vec B(t) = \vec T(t) \times \vec N(t)\$$ + +$$\kappa(t) = \left| \frac{d\vec T}{ds} \right| = \frac{|\vec T(t)|}{|\vec r(t)|} = \frac{|r'(t) \times r''(t)|}{|r'(t)|^3} = \frac{|f''(x)|}{(1+f'(x)^2)^{\frac{3}{2}}}$$ + +# partial derivatives + +$$z - z_0 = \frac{\partial z}{\partial x}(x-a) + \frac{\partial z}{\partial y}(y-b)$$ + +$$dz = \frac{\partial z}{\partial x}dx + \frac{\partial z}{\partial y}dy$$ + +$$D(a,b) = f_{xx}(a,b)f_{yy}(a,b)-f_{xy}(a,b)^2$$ diff --git a/content/posts/tp-mk.md b/content/posts/tp-mk.md @@ -0,0 +1,461 @@ +--- +title: "DIY Trackpoint Mechanic Keyboard" +date: 2019-09-09 +tags: tech electronics mechboard thinkpad diy +categories: tech +--- + +![finish](/img/posts/tp-mk/finish.jpg) + +I've used a mechanical keyboard for many years now. I currently own a +tenkeyless layout, even though as a programmer I almost never use the +arrow cluster or function row, so I to try the much more compact 60% +design. I also no longer care for the Cherry MX blue switches on my old board +since they are quite loud, so I went with MX clears instead in this new design. + +I have also owned many ThinkPads to use in conjunction to my desktop's +mechanical board. While ThinkPads have, in my opinion, the best laptop +keyboards, they are still nothing compared to a good mechanical keyboard. While +I could just use a regular mechanical keyboard with my laptop when needed, all +mechanical keyboard's I could find are missing an important part of the +ThinkPad's keyboard, the trackpoint. + +It because of these unique requirements that I decided to try and build my own +keyboard. I've done plenty of small electronic projects before and thought it +would be fun to attempt this new one. It also allows me to configure everything +about this keyboard the exact way I want it. + +Since I need to include a trackpoint stem in the middle of the board I also +choose to go with hand wiring a board instead of printing a custom PCB to +solder the switches onto. Since I have much more soldering experience than PCB +design I didn't think this would be too much more work and allows much more +flexibility. I sure you could somehow fit a trackpoint to a PCB it would require +much more work than I'm willing to give. + +After doing some research on what others have done in the past to install +trackpoints to their boards I found the best method is to simply savage an old +trackpoint from an existing ThinkPad keyboard. This way a lot of the hard work +and coding is already done for you, you just need to adapt it to work in your +board with your microcontroller. I found an old IBM ThinkPad's replacement +keyboard for cheap on eBay, but there are many others you can find if you get +creative and look hard enough. + +## parts + +![kb-parts](/img/posts/tp-mk/kb-parts.jpg) + +* [60% plastic case][2] \$15 +* [60% aluminium plate][3] \$20 +* Cherry MX Switches *x61* ~\$70 +* Cherry MX Keycaps *x61* ~\$50 +* [MX Stabilizers][5] \$7.99 +* [Through hole diodes][4] *x61* \$6 +* [22 AWG Wire][6] +* [Teensy][7] 2.0 or 3.2 +* USB cable (micro or mini) +* Trackpoint module ~\$15 +* 1 kΩ Resistors *x5* +* 100 kΩ Resistor *x1* +* 4.7 kΩ Resistors *x2* +* 2.2 μF Capacitor *x1* +* [30 AWG wire][10] \$30 +* Shrink wrap +* [Perfboard][11] +* [Standoffs][9] *x5* +* Trackpoint stem (be creative) + +[2]: https://sentraq.com/products/plastic-60-case +[3]: https://sentraq.com/products/60-aluminum-plate-1 +[4]: https://www.amazon.com/gp/product/B06XB1R2NK +[5]: https://sentraq.com/products/cherry-stabilizers +[6]: https://www.amazon.com/dp/B01LH1FV0Y/ +[7]: https://www.amazon.com/dp/B015M3K5NG/ +[10]: https://www.amazon.com/dp/B01CK9GZV6 +[11]: https://www.amazon.com/dp/B019Q0ZTJ6 +[9]: https://www.amazon.com/dp/B07GGJ4YLC/ + +## tools + +* Hot glue gun +* Soldering iron +* Solder +* [Wire strippers][15] \$21 +* Needle nose pliers +* Philips screwdriver +* Multimeter (optional) +* Alligator clips (optional) + +[15]: https://www.amazon.com/dp/B000XEUPMQ/ + +## steps + +### 1. cut aluminium plate + +![plate](/img/posts/tp-mk/plate.jpg) + +The first modification needed to support the trackpoint is to cut the metal +plate used to hold the keycaps. This makes room for both the trackpoint's stem +and the 5 spacebar keys (2 spacebars surrounding the 3 mouse buttons). You can +see where I made the cuts in read above. You have to be careful not to cut too +much off, comprising the plates structure, while still making enough new room +for the stem to move freely and the new keys to fit straight. + +![plate-cut](/img/posts/tp-mk/plate-cut.jpg) + +Shown above is the plate after the careful cuts. The right side of the spacebar +didn't turn out super straight so the far key ended up a little crooked, but +can't be noticed once the keycaps are placed. + +### 2. insert switches + +Place your choice of mechanical switches into the cut plate, I went with Cherry +MX clears. You might need to use some hot glue to hold the new spacebar keys +in place depending on how straight and tightly you cut. Because we are +hand wiring and not using a PCB to firmly attach the switches, hot glueing all +the switches could be a good idea to make it more sturdy and easier to remove +keycaps without pulling the switch out by mistake. + +It might also be wise to add the key stabilizers at this step but I forgot +this. You can add them later after everything is soldered but it is not as +easy. + +![switches](/img/posts/tp-mk/switches.jpg) + +### 3. solder rows + +#### a) prepare diodes + +![diodes](/img/posts/tp-mk/diodes.jpg) + +Cut off enough diodes from the bundle for the first row being soldered. With +this strip you can bend them all 90° at once on the anode side (side without +black or grey marking band), about a millimeter from the base. This joint is +where they are soldered onto the switches pin. By doing this at once they will +look more uniform in the finished product.It's important which side you bend +since the purpose of a diode is to act as a one way value, so if it's facing the +wrong way its not going to work. + +#### b) place solder globs + +![switch-solder](/img/posts/tp-mk/switch-solder.jpg) + +To prepare soldering the diodes, place a small glob of solder on the top +left pin of each switch. I salvaged some of these switches from an old keyboard +so the image above shows some additional left over solder. + +#### c) attach diodes + +![switch-diodes](/img/posts/tp-mk/switch-diodes.jpg) + +Use the pre placed glob to quickly solder the bent diodes down the row to all the +switches. An additional bend is then made on the cathode side near the bottom +of the switch so it can reach the next diode when they are linked in the next +step. There should still be enough overlap so you +don't have to solder the end to the bend, around 2-3 mm worked for me. +Before moving on you should use the wire cutters to trim to anode as to +clear up some space. + +#### d) link diodes + +![diodes-linked](/img/posts/tp-mk/diodes-linked.jpg) + +Lastly connect all the diodes in each row with a bit of solder. You might have +to use some of that 22 AWG wire to extend the diodes if they don't reach +between the longer keys. + +![diodes-side](/img/posts/tp-mk/diodes-side.jpg) + +Black wire extenders: + +![diodes-extend](/img/posts/tp-mk/diodes-extend.jpg) + +#### e) repeat + +Repeat steps (a) through (d) for all the rows + +![diodes-done](/img/posts/tp-mk/diodes-done.jpg) + + +### 4. solder columns + +Now that the rows are completed it's time for the columns. The 22 gauge wire is +used to connect the switch's right pins downwards. The easiest way to do this is to cut a +long wire to span the entire column with a bit left over. Simply use wire +cutters or a blade to slice the insulation at each pin and push the insulation +down before soldering. Leave enough wire at the end to attach the columns +directly to the microcontroller in the next step to reduce soldering. In +hindsight I could have left the extra wire at the top where the controller is +located but either way works. + +![columns](/img/posts/tp-mk/columns.jpg) + +I used alternating colored wires to make connecting to the microcontroller more +organized. If you are constructing a staggered layout keyboard like me you +might not be able to connect every key to a complete column, I had two keys in +the upper left and one in the bottom right as you can see. You can get creative +with how you wire it, making a new short column like I did with the left two +switches, or attach them to existing short rows like the bottom key. You just +need to keep in mind that no two keys can be on the same row and column, +because otherwise they would appear to be the same key. + +### 5. wire the microcontroller + +With these newly soldered columns and rows it's time to connect them to the +microcontroller. First I connected the columns to the digital pins on the +Teensy board, I had to resolder a lot of new wires onto the ends since I didn't +leave enough room or couldn't bend it fully. I realized halfway through that +you didn't actually need to solder the connecting wire to the end of the +columns like you need to with the rows, so I could have simplified it. + +To connect the rows new wires are attached with different colors to make it +easy to wire and trouble shoot. + +![teensy-wire](/img/posts/tp-mk/teensy-wire.jpg) + +### 6. attach pull up resistors + +Depending on the microcontroller you are using you might have to manually add +pull up resistors to any of the input pins. Many microcontrollers do this for +you, such as most Arduino boards. I found out the hard way that the Teensy 3.2 +does not. These resistors have to be added to each of the input rows connecting +them to ground, luckily because of the design of the matrix only 5 resistors +are needed for the 5 corresponding inputs at each of the rows. + +![pullup-resistors-upper](/img/posts/tp-mk/pullup-resistors-upper.jpg) + +If I had know this about the Teensy before hand I would have probably come up +with a better way then just adding the resistors free standing last minute. + +![pullup-resistors-lower](/img/posts/tp-mk/pullup-resistors-lower.jpg) + +I used shrink wrap on the long portions of exposed wire to prevent any shorts +when the keyboard is closed together. + +![pullup-resistors-shrinkwrap](/img/posts/tp-mk/pullup-resistors-shrinkwrap.jpg) + +### 7. remove trackpoint + +![ibm-thinkpad](/img/posts/tp-mk/ibm-thinkpad.jpg) + +The easily way to build a trackpoint into our custom keyboard is to just savage +an existing module from an old keyboard and wire it into ours. I found an old +IBM ThinkPad replacement keyboard on eBay for cheap which will work perfectly +well. There are tons of different keyboards with trackpoints that work, but the +removal, wiring, and fitting might be slightly different. + +To remove my trackpoint module form the ThinkPad keyboard I first took off the +key caps around the red dot, exposing the screws attaching it. By unscrewing +these the module should fall out. + +![kb-screws](/img/posts/tp-mk/kb-screws.jpg) + +The ribbon cable connecting it can then be cut freeing the +module. Cutting it at the base of the cable where it joins with the module's +board is fine since wires will be attached directly on to the exposed solder +later. + +![tp-module](/img/posts/tp-mk/tp-module.jpg) + +### 8. construct trackpoint circuit + +This circuit will be used to connect the pins from the trackpoint module to the +microcontroller + +#### a) resistors + +The bottom two resistors are pull-up resistors which connect the trackpoint's +clock and data lines to high so they are not left floating when there is no +data passing through them. The top resistor is used with the next step to make +an RC circuit which automatically triggers the reset pin after the appropriate +amount of time has passed, instead of having to do it in code. + +![resistors](/img/posts/tp-mk/resistors.jpg) + +#### b) capacitor + +Capacitor to complete the RC circuit in order to trigger the reset pin at the +correct interval. + +![tp-cap](/img/posts/tp-mk/tp-cap.jpg) + +### 9. wire trackpoint + +With the completed intermediating circuit you next need to solder the +corresponding pins on the trackpoint module to the circuit. [This GitHub +repo][25] has the pin out for various different modules so you can find the one +you salvaged. Since the exposed pins on the module are normally very close +together it is necessary to use the very thin 30 AWG wire here. I also +recommend using some electrical type to make sure none of the wires come loose. + +[25]: https://github.com/alonswartz/trackpoint/tree/master/pinouts + +![tp-soldered](/img/posts/tp-mk/tp-soldered.jpg) + +### 10. test trackpoint + +In order to test to make sure the trackpoint works correctly solder more +wire (any will do) to the other side of the RC circuit and use a breadboard or alligator +clips to test the trackpoint, circuit, and wiring with the teensy. + +![tp-test](/img/posts/tp-mk/tp-test.jpg) + +### 11. flash firmware + +To confirm that the keyboard is working correctly so far we need to connect the +teensy to a computer and upload firmware to read all the inputs and communicate +with your device. There are many different tutorials online about uploading +code to our microcontroller, I used [the official teensy arduino tutorial][32] +so that I could push code with the easy-to-use arduino IDE. + +[32]: https://www.pjrc.com/teensy/tutorial.html + +Once you know how to upload code we now need the actual code that's going to +make the keyboard work. Depending on the choice of microcontroller, the well +supported [QMK firmware][33] is a good choice. Unfortunately I realized too +late that the teensy 3.2's new ARM processor was not supported when I +originally tried QMK, so I had to write my own arduino code from scratch +which can be found [here][34]. Either way since this is a custom hand wired +board you will need to tweak the program to the layout you wired + +[33]: https://qmk.fm/ +[34]: https://gist.github.com/edvb/2b63ac6ac29eeb5bb1cdd117f2b5b5ed + +![teensy](https://i1.wp.com/makezine.com/wp-content/uploads/2015/09/Screen-Shot-2015-09-14-at-4.07.31-PM.png) + +### 12. attach trackpoint + +Once the teensy is working with the trackpoint it can be soldered permanently +to the board. + +![tp-attached](/img/posts/tp-mk/tp-attached.jpg) + +The trackpoint module was then hot glued to the bottom of the case. Depending +on the case the thin protruding support structures might need to be clipped off +in order to fit the module as low as possible. + +![tp-installed](/img/posts/tp-mk/tp-installed.jpg) + +I chose to position the module sideways since placing it straight down would +require me to cut out much more of the case's supporting structure. This just +meant that I needed to tweak the code a bit so that the new orientation is +taken into account. + +### 13. construct trackpoint stem + +To control the trackpoint from outside the keyboard enclosure a stem +needs to be attach to the top of the module. This is the point where you have +to get pretty creative as there are many different ways to achieve this. Some +people use a lip piercing, one of the keys themselves, or a simple screw. +Since I had some screws and bolts laying around I opted for this option as it +seemed the simplest. + +![stem](/img/posts/tp-mk/stem.jpg) + +To make the screw feel more like a traditional trackpoint some coarse sandpaper +cut with a hole puncher was glued to the top of the screw and red spray paint +was coated on the top of it. While the sandpaper gives the screw texture, +the paint covering it gives it a softer and rubbery feel which is much less +harsh then the sandpaper by itself. + +![stem-comparison](/img/posts/tp-mk/stem-comparison.jpg) + +### 14. attach trackpoint stem + +![stem-board](/img/posts/tp-mk/stem-board.jpg) + +To attach the screw to the trackpoint the textured red control was removed and +a series of washers and a bolt were first super glued together and then glued +onto the controller of the module. This allows a short screw to be easily +attach and detached from the board controlling the direction the cursor +moves. + +![stem-installed](/img/posts/tp-mk/stem-installed.jpg) + +A small amount of silicone tape is added to the end of the threads of the screw +to reduce the amount of play in the screw, making its movements more precise. + +![tp-wire](/img/posts/tp-mk/tp-wire.jpg) + +A new wire has to be connected as well to make the stem fit through the +previously cut opening. + +### 15. attach standoffs + +Since the trackpoint requires extra room in the case the top plate needs to be +raised above from where it normally sits so the keys aren't interfering with +the trackpoint. This can be done in many different ways, but I decided to go +with motherboard standoffs that fit over the existing screw bases. + +![standoffs](/img/posts/tp-mk/standoffs.jpg) + +![standoffs-close](/img/posts/tp-mk/standoffs-close.jpg) + +### 16. keycaps + +#### a) trim keycaps + +To make room for the trackpoint stem outside of the cause and allow it to +freely move the edges might have to be trimmed out of the surrounding keycaps. +I did this by simply pressing hard on the corner with a sharp blade, but +similar results could be achieved with a dremel, drill, or file. For me only +the G and H keys needed to be modified, but depending on the trackpoint's +position the top of the B key might also need to be filed down. + +![cut-keycaps](/img/posts/tp-mk/cut-keycaps.jpg) + +#### b) place keycaps + +![finish-top](/img/posts/tp-mk/finish-top.jpg) + +The rest of the keycaps can now be placed according to the layout below. + +![keylayout](/img/posts/tp-mk/keylayout.jpg) + +More silicone type might be required to get the keycaps with stabilizers to fit +correctly. + +![stabilizers](/img/posts/tp-mk/stabilizers.jpg) + +![keycaps-silicone](/img/posts/tp-mk/keycaps-silicone.jpg) + + +## future + +[![https://xkcd\.com/243/][1]](https://xkcd.com/243/) + +[1]: https://imgs.xkcd.com/comics/appropriate_term.png "I know a lot of people hate these, but I prefer them to touchpads." + +In future projects I probably won't choose to use a teensy 3.0 again unless +there is significant shift away from the currently popular 2.3 non-ARM +architecture supported by most firmwares. + +I also need a micro USB port to attach to the case so the cable can be removed +and reattached from outside, currently there is just a hole leading to +the microcontroller directly. + +If I were doing it over I would also think more careful about where I position +the microcontroller and wires since right now the USB port on the board is +facing away from the case's opening making the cable be a little tangled +inside. + +Overall I am extremely happy with how the keyboard turned out and learned a lot +from making it myself. Feel free to [contact](/contact) me with any questions +or advice with your own keyboard! + +## see also + +Here are some other useful guides which I used: + +* [A different hand wiring build log][26] +* [Another hand wiring log][27] +* [Keyboard matrix tutorial][28] +* [QMK's hand wiring guide][29] +* [Trackpoint keyboard build][30] +* [Trackpoint keyboard tutorial][31] + +[26]: https://deskthority.net/workshop-f7/brownfox-step-by-step-t6050.html +[27]: http://www.davecooper.org/i-built-a-keyboard +[28]: http://www.dribin.org/dave/keyboard/one_html/ +[29]: https://github.com/qmk/qmk_firmware/blob/master/docs/hand_wire.md +[30]: https://imgur.com/a/O6BdH +[31]: https://github.com/alonswartz/trackpoint diff --git a/content/posts/vim-indenting.md b/content/posts/vim-indenting.md @@ -0,0 +1,146 @@ +--- +title: "Understanding Vim's Indenting System" +date: 2017-04-30 +tags: tech vim tutorial +categories: tech +--- + +![Vim](/img/posts/vim-indenting/vim.jpg) + +Like most things in Vim, the indenting (tabs) system is complex making it +extremely flexible so that it can fit any programming language or use case. +However, the commands and terminology can be confusing for beginners, this +post is designed to explain all the different commands and options needed to +fully control and customize tab's size, type, and look for any purpose. + +To start of you should know that Vim has two different types of tabs, hard tabs +and soft tabs. Hard tabs are a single `<TAB>` character per indent level, while +soft tabs are multiple spaces per level. Hard tabs, while being only one +character, can be displayed by a text editor or viewer as any size, normally 8. +Different languages have different recommendations for the type and length of +tab to use, so learning how to control them can sometimes be necessary to +format your code properly. + +## creating indents + +To insert a tab in Vim you can do it much like any other editor by pressing +`<TAB>` at the start of a line while in insert mode. In insert mode you can +also press `<C-t>` anywhere in the line to increase the lines indentation +and `<C-b>` to decrease. + +In normal mode you can also use `>` and `<` followed by a motion to increase +and decrease the lines tabs as well. For example, `>>` will increase the tabs +on the current line, `>ap` will increase the indentation level of the entire +paragraph, `<j` will decrease two lines. The `>` and `<` commands also work +with a selected region in visual mode, but after every indent you have to +select the area again if you want to add another indent. To solve this I use +the following mapping in my `.vimrc` to automatically reopen the visual +selection for multiple levels of indents. + + vnoremap > >gv + vnoremap < <gv + +## stylizing indents + +By default vim displays hard tabs as clear white space, however you can change +this with the `listchars` option. `listchars` has multiple different possible +options such as `eol`, `space`, `trail`, etc. The option we care about for +indents is `tab`, which takes two single character arguments: the first one +being the character shown at the start of a hard tab and the second one being +the character that is repeated for the rest of the tab space. See `:h +listchars` for more. + +### examples + +The following command sets the first character to a vertical bar `|` and the +rest of the tab to spaces. Remember to put the space at the end after the +second `\ `. + + :set listchars=tab:\|\ + +![tabs-1](/assets/img/posts/vim-indenting/tabs-1.png) + +To have hard tabs look like dots you can use this: + + :set listchars=tab:·· + +![tabs-2](/assets/img/posts/vim-indenting/tabs-2.png) + +Another example: + + :set listchars=tab:»- + +![tabs-3](/assets/img/posts/vim-indenting/tabs-3.png) + +### indent-guides plugin + +This customization can be extending beyond what Vim offers by default with a +plugin such as [vim-indent-guides][1]. indent-guides lets you color and +stylize not only hard tabs, but soft ones, as well as many other features. + +![indentation-guides](/assets/img/posts/vim-indenting/indent-guides.png) + +## configuring indents + +Now if you need to learn to manually change tabs settings, here is an outline +of the options: + + * `shiftwidth` sets the length that vim indents by (default 8) + * `expandtab` makes Vim insert soft tabs instead of hard tabs (default off) + * `noexpandtab` makes Vim hard tabs instead of soft ones (default: on) + * `tabstop` changes displayed length of hard tabs in Vim only, should almost + always be equal to `shiftwidth` (default 8) + * `softtabstop` like `tabstop` but only for soft tabs (default 0) + * `autoindent` automatically indent newline to the level of the last one + (default off) + * `smartindent` enables auto indenting based on context (eg after `{`) + (default off) + * `smarttab` when on Vim inserts tabs according to `shiftwidth` at the + beginning of the line, whereas `tabstop` and `softtabstop` are used + elsewhere. + +For more info run `:help 'OPTION'` in Vim, where `OPTION` is any option from +above. + +### examples + +Small hard tabs (html): + + :set noexpandtab + :set shiftwidth=2 + :set softtabstop=2 + +Soft tabs (python): + + :set expandtab + :set shiftwidth=4 + :set softtabstop=4 + +Normal hard tabs (C): + + :set noexpandtab + :set shiftwidth=8 + :set tabstop=8 + +To automatically change the options for indents per file type you could put +lines such as these in your `.vimrc` file: + + autocmd FileType html setlocal shiftwidth=2 tabstop=2 + autocmd FileType python setlocal expandtab shiftwidth=4 softtabstop=4 + autocmd FileType c setlocal noexpandtab shiftwidth=8 softtabstop=8 + +### polyglot plugin + +![languages](/assets/img/posts/vim-indenting/prog-languages.png) + +Unless you want to add a new line to your `.vimrc` every time you want to edit +a new type of file, I would recommend installing the Vim plugin +[vim-polyglot][2]. Not only does this plugin provide syntax highlighting for +hundreds of languages but it also provides default indentation settings for +each as well. While these defaults are useful, it can also be necessary to +manually control each setting. For example if you want to change the defaults +to your own preference or if a file is already formatted a specific way +polyglot will not change it, so you will have to. + +[1]: https://github.com/nathanaelkane/vim-indent-guides +[2]: https://github.com/sheerun/vim-polyglot diff --git a/content/projects/_index.md b/content/projects/_index.md @@ -0,0 +1,25 @@ +--- +title: projects +--- + +{{< projects.inline >}} + <div class="container"> + <!-- TODO combine code and scripts, loop over all projects --> + {{ range $.Site.Data.projects.code }} + <div class="row text-inc"> + {{ $link := or .link (path.Join "projects/" .name | relURL) }} + <div class="col-lg-4 text-lg-right"><a href="{{ $link }}">{{ .name }}</a></div> + <div class="col-lg-6"><a href="{{ $link }}" class="italic-off text-primary">{{ .desc }}</a></div> + </div> + {{ end }} + <h2 class="heading pt-4">SCRIPTS</h2> + {{ range $.Site.Data.projects.scripts }} + {{ $gist := getJSON "https://api.github.com/gists/" .id }} + {{ $link := path.Join "projects/" .name | relURL }} + <div class="row text-inc"> + <div class="col-lg-4 text-lg-right"><a href="{{ $link }}">{{ .name }}</a></div> + <div class="col-lg-6"><a href="{{ $link }}" class="italic-off text-primary">{{ $gist.description }}</a></div> + </div> + {{ end }} + </div> +{{< /projects.inline >}} diff --git a/data/photos.yaml b/data/photos.yaml @@ -0,0 +1,23 @@ +photos: + - name: 'seattle' + year: 2020 + lat: 37.29 + long: -122.16 + - name: 'quarantine' + year: 2020 + lat: 37.29 + long: -122.16 + - name: 'galapagos' + year: 2017 + lat: -.40 + long: -90.33 + - name: 'britain' + year: 2016 + lat: 51.30 + long: -.07 + - name: 'france' + lat: 48.51 + long: 2.21 + - name: 'peru' + lat: -12.03 + long: -77.02 diff --git a/data/projects.yaml b/data/projects.yaml @@ -0,0 +1,58 @@ +research: + - name: 'RECAST-workflow' + desc: 'IRIS-HEP Fellowship' + link: 'https://iris-hep.org/fellows/edvanbruggen.html' + - name: 'mono-sbb' + desc: 'Dark Higgs Model' + link: 'https://github.com/edvb/mono-sbb' +code: + - name: 'tisp' + desc: 'Tiny lisp, simple and embeddable scheme-like language' + - name: 'gst' + desc: 'Painless CLI gist creator' + - name: 'dotfiles' + desc: 'Config files for my linux setup' + - name: 's' + desc: 'Command line interpreter' + link: 'https://github.com/rain-1/s' + - name: 'nt' + desc: 'Simple note taker' + - name: 'dmenium' + desc: 'Small collection of dmenu scripts' + - name: 'dmenu.vim' + desc: 'Dmenu functions for vim' + - name: 'dmenu-center' + desc: 'Center dmenu in the middle of the screen' + link: 'https://tools.suckless.org/dmenu/patches/center' + - name: 'catium.vim' + desc: 'Add an element of nyan cat to vim' + - name: 'tim' + desc: 'Extendable personal assistant' +scripts: + - name: 'body' + id: 'fc7d3ab445e5c917c7158f3a607c24a6' + - name: 'ed' + id: 'f5bab89ba7afe6ee9e606fe3784bfacd' + - name: 'slant' + id: '1fe5a4d13e84ddb024fab3259d1b8dfd' + - name: 'sett' + id: '227d5080339c00515da9434069027a98' + - name: 'tg' + id: 'c320e7b531193d4a981a4cc6e585728c' + - name: 'aln2grishin' + id: '466f5b555878b67ea53dcdc7fab59d97' + - name: 'pub' + id: '142b23f7e89cc115bdef53438b128eb9' + - name: 'echk' + id: '2ec7f33dbc1a805917ec903ec8c6c392' + - name: 'g' + id: '1b668d6df73bb7623fe977cfcca182a9' + - name: 'calc' + id: 'b2dd8946da6a19349af518bc0be24d57' +websites: + - name: 'MHEA' + link: 'https://projectmhea.org' + - name: 'LMB' + link: 'https://lmbrealestate.org' + - name: 'Synbio' + link: 'http://students.washington.edu/uwigem/sitdownsynbio/' diff --git a/data/quotes.yaml b/data/quotes.yaml @@ -0,0 +1,282 @@ +quotes: + - [ "There is no terror in a bang, only in the anticipation of it", "Alfred Hitchcock" ] + - [ "Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety", "Ben Franklin" ] + - [ "It seems that perfection is achieved not when there is nothing more to add, but when there is nothing more to subtract" ] + - [ "Remember to always be yourself... Unless you suck", "Josh Whedon" ] + - [ "Those who do not move, do not notice their chains", "Rosa Luxemburg" ] + - [ "Ought implies can" ] + - [ "Very little matters much, and most things don't matter at all" ] + - [ "The master has failed more times than the beginner has even tried", "Stephen McCranie" ] + - [ "Achieving perfection is hard, but remaining perfect, that's impossible" ] + - [ "The test of our progress is not whether we add to the abundance of those who have much, it is whether we provide enough to those who have too little" ] + - [ "Creativity is the ability to hide your sources" ] + - [ "If you want to build a ship, don't drum up the men to gather wood, divide the work and give orders. Instead, teach them to yearn for the vast and endless sea", "Antoine de Saint–Exupéry" ] + - [ "Years of love have been forgot, in the hatred of a minute", "Edgar Allan Poe" ] + - [ "You don't have to set yourself on fire to keep others warm" ] + - [ "We judge others by their actions and ourselves by our intentions" ] + - [ "A ship is safe in harbor, but that's not what ships are made for" ] + - [ "Hard work beats talent when talent stops working hard" ] + - [ "Between youth and wisdom lies a chasm that words alone can never cross" ] + - [ "Learn from the mistakes of others. You can't live long enough to make them all yourselves" ] + - [ "How odd I can have all this inside me and to you it's just words", "David Foster Wallace" ] + - [ "The grass isn't greener on the other side, it's greener where you choose to water it" ] + - [ "It's easier to fool people than it is to convince people they have been fooled", "Mark Twain" ] + - [ "You can be the ripest, juiciest peach in the world, and there's still going to be somebody who hates peaches", "Dita Von Teese" ] + - [ "Being a professional means doing your job on the days you don't feel like doing it", "David Halberstram" ] + - [ "Suffer the pain of discipline, or suffer the pain of regret", "Jim Rohn" ] + - [ "A society grows great when old men plant trees whose shade they know they shall never sit in" ] + - [ "Some people die at 25 and aren't buried until 75", "Benjamin Franklin" ] + - [ "Life is just a death with a story behind it" ] + - [ "Better to remain silent and thought a fool than to speak and remove all doubt" ] + - [ "Advocates of capitalism are very apt to appeal to the sacred principles of liberty, which are embodied in one maxim: the fortunate must not be restrained in the exercise of tyranny over the unfortunate", "Bertrand Russell" ] + - [ "The saddest aspect of life right now is that science gathers knowledge faster than society gathers wisdom", "Isaac Asimov" ] + - [ "People who are brutally honest generally enjoy the brutality more than the honesty", "Richard Needham" ] + - [ "One of the cruelest things you can do to another person is pretend you care about them more than you really do", "Douglas Coupland" ] + - [ "To look at people in capitalist society and conclude that human nature is egoism, is like looking at people in a factory where pollution is destroying their lungs and saying that it is human nature to cough", "Andrew Collier" ] + - [ "Choose a major you love and you'll never have to work a day in your life, because that field probably isn't hiring" ] + - [ "Great minds think a like, but fools seldom differ" ] + - [ "Freedom in capitalist society always remains about the same as in ancient Greek republics: freedom for slave owners", "Lenin" ] + - [ "I have no country to fight for: my country is the earth and I am a citizen of the world", "Eugene V Debs" ] + - [ "The leaders come and go, but the people remain. Only the people are immortal", "I.V. Dzhugashvili" ] + - [ "It is difficult to free fools from the chains they revere", "Voltaire" ] + - [ "There are just two classes in this world. One owns tools it cannot use, and the other uses tools it does not own", "Eugene Debs" ] + - [ "If it takes less than five minutes, just do it now" ] + - [ "An amateur practices until he can play it correctly, a professional practices until he can't play it incorrectly" ] + - [ "When you are torn between two choices, always pick the one that will make the best story" ] + - [ "How you live each day is how you live your life" ] + - [ "Only boring people are bored" ] + - [ "Every revolution is impossible until it happens. At that point, all agree that it was inevitable" ] + - [ "Hydrogen is a colourless, odorless gas, which if left alone in large enough quantities, for long enough, will begin to think about itself" ] + - [ "Trying is the first step towards failure", "Homer Simpson" ] + - [ "Lesser artists borrow, great artists steal" ] + - [ "The best way to keep a prisoner from escaping is to make sure he never knows he's in prison", "Fyodor Dostoyevsky" ] + - [ "Socialism never took root in America because the poor seem themselves not as an exploited proletariat but as temporarily embarrassed millionaires" ] + - [ "Peace is not merely the absence of war but the presence of justice, of law, of order — in short, of government", "Albert Einstein" ] + - [ "We are what we repeatedly do. Excellence, then, is not an act, but a habit", "Will Durant" ] + - [ "You can easily judge the character of a man by how he treats those who can do nothing for him", "Malcolm S. Forbes" ] + - [ "If you understood everything I said, you'd be me", "Miles Davis" ] + - [ "Sell a man a fish, he eats for a day. Teach a man how to fish, you ruin a wonderful business opportunity", "Karl Marx" ] + - [ "He who makes a beast of himself gets rid of the pain of being a man", "Samuel Johnson" ] + - [ "Shyness has a strange element of narcissism, a belief that how we look, how we perform, is truly important to other people", "Andre Dubus" ] + - [ "The best time to plant a tree is 50 years ago, the second best time is now" ] + - [ "Listen to understand, not to respond" ] + - [ "Under pressure you don't rise to the occasion, you sink to the level of your training. That's why we train so hard" ] + - [ "You know what uranium is, right? It's this thing called nuclear weapons. And other things. Like lots of things are done with uranium. Including some bad things", "Donald Trump" ] + - [ "Those who can make you believe absurdities, can make you commit atrocities", "Voltaire" ] + - [ "What Orwell failed to predict was that we'd buy the cameras ourselves, and that our biggest fear would be that nobody was watching", "Keith Jnsen" ] + - [ "The day the child realizes that all adults are imperfect, he becomes an adolescent; the day he forgives them, he becomes an adult; the day he forgives himself, he becomes wise", "Alden Nowlan" ] + - [ "A bore is someone who deprives you of solitude without providing you with company", "Oscar Wilde" ] + - [ "One of the hardest things you will ever have to do is grieve the loss of a person who is still alive" ] + - [ "Another flaw in the human character is that everybody wants to build and nobody wants to do maintenance", "Kurt Vonnegut" ] + - [ "When the axe came into the woods, many of the trees said: at least the handle is one of us" ] + - [ "I am, somehow, less interested in the weight and convolutions of Einstein's brain than in the near certainty that people of equal talent have lived and died in cotton fields and sweatshops", "Stephen Jay Gould" ] + - [ "Arguing that you don't care about the right to privacy because you have nothing to hide is no different than saying you don't care about free speech because you have nothing to say", "Edward Snowden" ] + - [ "It's so hard to forget pain, but it's even harder to remember sweetness. We have no scar to show for happiness. We learn so little from peace", "Chuck Palahniuk" ] + - [ "One of the penalties for refusing to participate in politics is that you end up being governed by your inferiors", "Plato" ] + - [ "Some people are born on third base and go through life thinking they hit a triple", "Barry Switzer" ] + - [ "The man who asks a question is a fool for a minute, the man who does not ask is a fool for life" ] + - [ "Go on, get out. Last words are for fools who haven't said enough", "Karl Marx's last words" ] + - [ "Ideas not coupled with action never become bigger than the brain cells they occupied" ] + - [ "When you do things right, people won't be sure you've done anything at all" ] + - [ "The philosophers have only interpreted the world in various ways — the point, however, is to change it", "Karl Marx" ] + - [ "People don't want to buy a drill, they want to buy a hole" ] + - [ "Each generation imagines itself to be more intelligent than the one that went before it, and wiser than the one that comes after it", "George Orwell" ] + - [ "In our age there is no such thing as 'keeping out of politics.' All issues are political issues, and politics itself is a mass of lies, evasions, folly, hatred and schizophrenia", "George Orwell" ] + - [ "Men can only be happy when they do not assume that the object of life is happiness", "George Orwell" ] + - [ "Happiness can exist only in acceptance", "George Orwell" ] + - [ "The only antidote to mental suffering is physical pain", "Karl Marx" ] + - [ "I think I am, actually humble. I think I'm much more humble than you would understand", "Donald Trump" ] + - [ "I could stand in the middle of Fifth Avenue and shoot somebody, and I wouldn't lose any voters, okay? It's, like, incredible", "Donald Trump" ] + - [ "The beauty of me is that I'm very rich", "Donald Trump" ] + - [ "In life you have to rely on the past, and that's called history", "Donald Trump" ] + - [ "In the end, we will remember not the words of our enemies, but the silence of our friends", "Martin Luther King Jr." ] + - [ "Capitalism started out with a noble and high motive, but like most human systems it fell victim to the very thing it was revolting against", "Martin Luther King Jr." ] + - [ "Privileged classes do not give up their privileges voluntarily", "Martin Luther King Jr." ] + - [ "The evils of capitalism are as real as the evils of militarism and evils of racism", "Martin Luther King Jr." ] + - [ "Most economic fallacies derive from the tendency to assume that there is a fixed pie, that one party can gain only at the expense of another", "Milton Friedman" ] + - [ "Nobody actually creates perfect code the first time around, except me. But there's only one of me", "Linus Torvalds" ] + - [ "An infinite number of monkeys typing into GNU emacs would never make a good program", "Linus Torvalds" ] + - [ "If it compiles, it is good; if it boots up, it is perfect", "Linus Torvalds" ] + - [ "I'm always right. This time I'm just even more right than usual", "Linus Torvalds" ] + - [ "C++ is a horrible language. It's made more horrible by the fact that a lot of substandard programmers use it, to the point where it's much much easier to generate total and utter crap with it", "Linus Torvalds" ] + - [ "If the choice of C were to do nothing but keep the C++ programmers out, that in itself would be a huge reason to use C", "Linus Torvalds" ] + - [ "Your code is shit... your argument is shit", "Linus Torvalds" ] + - [ "In its majestic equality, the law forbids rich and poor alike to sleep under bridges, beg in the streets and steal loaves of bread", "Anatole France" ] + - [ "To accomplish great things we must not only act, but also dream; not only plan, but also believe", "Anatole France" ] + - [ "Ignorance and error are necessary to life, like bread and water", "Anatole France" ] + - [ "If fifty million people say a foolish thing, it is still a foolish thing", "Anatole France" ] + - [ "Man is so made that he can only find relaxation from one kind of labor by taking up another", "Anatole France" ] + - [ "It is by acts, and not by ideas that people live", "Anatole France" ] + - [ "An ounce of action is worth a ton of theory", "Friedrich Engels" ] + - [ "Personal success is not wrong, but it is limited in importance, and once you have enough of it it is a shame to keep striving for that, instead of for truth, beauty, or justice", "Richard Stallman" ] + - [ "If you want to accomplish something in the world, idealism is not enough — you need to choose a method that works to achieve the goal", "Richard Stallman" ] + - [ "Open source is a development methodology; free software is a social movement" ] + - [ "I am a pessimist by nature. Many people can only keep on fighting when they expect to win. I'm not like that, I always expect to lose. I fight anyway, and sometimes I win", "Richard Stallman" ] + - [ "I'm not asking you to call it 'Stallmanix' right?", "Richard Stallman" ] + - [ "The smart way to keep people passive and obedient is to strictly limit the spectrum of opinion, but allow very lively debate within that spectrum", "Noam Chomsky" ] + - [ "There'll be plenty of time to rest in the grave", "Paul Erdős" ] + - [ "Some French socialist said that private property was theft, I say that private property is a nuisance", "Paul Erdős" ] + - [ "The best chapters in our economic history are those that embrace the many, not the few", "David Cameron" ] + - [ "Everybody thinks of changing humanity, and nobody thinks of changing himself", "Leo Tolstoy" ] + - [ "The difference between the poet and the mathematician is that the poet tries to get his head into the heavens while the mathematician tries to get the heavens into his head", "G.K. Chesterton" ] + - [ "Physics depends on a universe infinitely centered on an equals sign", "Mark Z. Danielewski" ] + - [ "Freedom does not mean maximising what you are allowed to do, but rather minimising what you are obliged to do" ] + - [ "Capitalism tends to destroy its two sources of wealth: nature and human beings", "Karl Marx" ] + - [ "Rights are to be taken, not requested; seized, not begged for", "José Martí" ] + - [ "Shoot first, ask questions never but maybe apologize for the shooting because that probably wasn't helpful of me", "Linus Torvalds" ] + - [ "A wise man proportions his belief to the evidence", "David Hume" ] + - [ "The best code is no code at all", "Jeff Atwood" ] + - [ "Code never lies, comments sometimes do", "Ron Jeffries" ] + - [ "Euler lacked only one thing to make him a perfect genius: he failed to be incomprehensible", "Frobenius" ] + - [ "Talent is doing easily what others find difficult, genius is doing easily what others find impossible" ] + - [ "You don't have to come up with really smart stuff, you just have to come up with dumb stuff first", "Bob Nystrom" ] + - [ "I've never seen the Icarus story as a lesson about the limitations of humans. I see it as a lesson about the limitations of wax as an adhesive", "Randall Munroe" ] + - [ "Just because you don't take an interest in politics doesn't mean politics won't take an interest in you", "Pericles" ] + - [ "People like Coldplay and voted for the Nazis, you can't trust people", "Super Hans" ] + - [ "History is the fiction we invent to persuade ourselves that events are knowable and that life has order and direction", "Calvin, from Calvin and Hobbbs" ] + - [ "Man is the most insane species. He worships an invisible God and destroys a visible Nature. Unaware that the Nature he is destroying is this God he is worshipping", "Hubert Reeves" ] + - [ "Human beings are the only creatures on Earth that claim a god, and the only living thing that behaves like it hasn't got one", "Hunter Thompson" ] + - [ "The first gulp from the glass of natural sciences will make you an atheist, but at the bottom of the glass God is waiting for you", "Werner Heisenberg" ] + - [ "Civil government, so far as it is instituted for the security of property, is in reality instituted for the defence of the rich against the poor, or of those who have some property against those who have none at all", "Adam Smith" ] + - [ "Better to die on your feet, than live on your knees", "Emiliano Zapata" ] + - [ "I don't want to live in a world where someone else makes the world a better place, better than we do", "Gavin Belson" ] + - [ "Journalism is printing what someone else does not want printed: everything else is public relations", "George Orwell" ] + - [ "There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies", "Tony Hoare" ] + - [ "One of my most productive days was throwing away 1000 lines of code", "Ken Thompson" ] + - [ "It's a curious thing about computer science: not only do we not learn from our mistakes, we also don't learn from our successes", "Keith Braithwaite" ] + - [ "Object oriented design is the roman numerals of computing", "Rob Pike" ] + - [ "From music people accept pure emotion. But from art, they demand explanation", "Agnes Martin" ] + - [ "If you wake up in the morning and you feel very happy, about nothing, no cause, that's what I paint about, the subtle emotions that we feel without cause in this world", "Agnes Martin" ] + - [ "The relentless unforeseen was what we schoolchildren studied as 'history,' harmless history, where everything unexpected in its own time is chronicled on the page as inevitable", "Philip Roth" ] + - [ "History is merely a list of surprises. It can only prepare us to be surprised yet again", "Kurt Vonnegut" ] + - [ "I used to think the worst thing in life was to end up all alone. It's not. The worst thing in life is to end up with people that make you feel all alone", "Robin Williams" ] + - [ "Now I know how what's his name felt when he'd finished the Mona Lisa, knackered", "Jeremy Usborne" ] + - [ "There must be something rotten in the very core of a social system which increases its wealth without diminishing its misery", "Karl Marx" ] + - [ "Four naan, Jeremy? Four? That's insane", "Mark Corrigan" ] + - [ "If we can hit that bullseye the rest of the dominoes will fall like a house of cards, check mate", "Zapp Brannigan" ] + - [ "In the game of chess you can never let your adversary see your pieces", "Zapp Brannigan" ] + - [ "I would challenge you to a battle of wits but I see that you are unarmed" ] + - [ "Peace has cost you your strength, victory has defeated you", "Bane" ] + - [ "If people do not realize that mathematics is simple, it is only because they do not realize how complicated life is", "John von Neumann" ] + - [ "Everything is vague to a degree you do not realize until you try to make it precise", "Bertrand Russell" ] + - [ "Endure, Mr. Wayne. Take it. They'll hate you for it, but that's the point of the Batman. He can be the outcast, he can make the choice that no one else can make, the right choice", "Alfred Pennyworth" ] + - [ "When information is plentiful the scarce resource is attention", "Joseph Nye" ] + - [ "I suppose they were booing at me as I interrupted their fantasy with a little reality", "Marlon Brando" ] + - [ "If there isn't room here for people who stand against everything you believe in, then what sort of a hippie free–for–all is this", "Mark Corrigan" ] + - [ "The inner machinations of my mind are an enigma", "Patrick Star" ] + - [ "We die. That may be the meaning of life. But we do language. That may be the measure of our lives", "Toni Morrison" ] + - [ "Frosties are just corn flakes for people who can't face reality", "Mark Corrigan" ] + - [ "Out of everything I've lost, I miss my mind the most", "Ozzy Osbourne" ] + - [ "The pen is mightier then the sword, the dollar just buys both" ] + - [ "Not a good start Boris" ] + - [ "A cons is an object which cares", "Bernie Greenberg" ] + - [ "I am already eating from the trash can all of the time, the trash can of ideology", "Slavoj Žižek" ] + - [ "I secretly think reality exists so we can speculate about it", "Slavoj Žižek" ] + - [ "I have reached the regrettable conclusion that the Negro's greatest stumbling block in his stride toward freedom is the white moderate, who is more devoted to 'order' than to justice", "Martin Luther King Jr." ] + - [ "If you have reasons to love someone, you don't love them", "Slavoj Žižek" ] + - [ "Words are never 'only words'; they matter because they define the contours of what we can do", "Slavoj Žižek" ] + - [ "The true ethical test is not only the readiness to save the victims, but the ruthless dedication to annihilating those who made them victims", "Slavoj Žižek" ] + - [ "Do not blame people and their attitudes: the problem is not corruption or greed, the problem is the system that pushes you to be corrupt", "Slavoj Žižek" ] + - [ "I think that the task of philosophy is not to provide answers, but to show how the way we perceive a problem can be itself part of a problem", "Slavoj Žižek" ] + - [ "Ideology is strong exactly because it is no longer experienced as ideology, we feel free because we lack the very language to articulate our unfreedom", "Slavoj Žižek" ] + - [ "No one yet has learned to drive a locomotive sitting in his study", "Leon Trotsky" ] + - [ "In mathematics you don't understand things, you just get used to them", "John von Neumann" ] + - [ "There is no such thing as a random number — there are only methods to produce random numbers", "John von Neumann" ] + - [ "In our sincerely cynical times, the greatest taboo seems to be sincerity itself", "Slavoj Žižek" ] + - [ "Terror without virtue is destructive; virtue without terror is impotent", "Maximilien Robespierre" ] + - [ "The value of an education is not the learning of many facts, but the training of the mind to think", "Albert Einstein" ] + - [ "Strange women lying in ponds disturbing swords is no basis for a system of government", "Denis" ] + - [ "The universe is a cruel uncaring void. The key to being happy isn't to search for meaning its to just keep yourself busy with unimportant nonsense and eventually, you'll be dead", "Mr Peanutbutter" ] + - [ "There is no shame in dying for nothing. That's why most people die", "Henry Winkler" ] + - [ "When you look at someone through rose–colored glasses, all the red flags just look like flags", "Wanda Pierce" ] + - [ "Things don't become traditions because they're good, they become good because they're traditions", "Todd Chavez" ] + - [ "I am not afraid of commitment. I commit to things all the time. It's the following through on that commitment that I take issue with", "BoJack Horseman" ] + - [ "He's so stupid he doesn't realize how miserable he should be", "BoJack Horseman" ] + - [ "Not understanding that you're a horrible person doesn't make you less of a horrible person", "BoJack Horseman" ] + - [ "One day, you're gonna look around and you're going to realize that everybody loves you, but nobody likes you. And that is the loneliest feeling in the world", "BoJack Horseman" ] + - [ "You have reached the end of your free trial at benjaminfranklinquotes.com", "Benjamin Franklin" ] + - [ "Friends, family, religion, these are the three demons you must slay if you wish to succeed in business", "C.M. Burns" ] + - [ "I'd trade it all for a little more", "C.M. Burns" ] + - [ "Physics is just maths with the restriction of reality, engineering is physics with the restriction of budget" ] + - [ "The power of accurate observation is commonly called cynicism by those who have not got it", "George Bernard Shaw" ] + - [ "Inside every cynical person is a disappointed idealist", "George Carlin" ] + - [ "You either die a hero or live long enough to see yourself become the villain", "Harvey Dent" ] + - [ "I know not what I may seem to the world, but as to myself, I seem to have been only like a boy playing on the seashore, whilst the great ocean of truth lay all undiscovered before me", "Isaac Newton" ] + - [ "They asked me how well I understood theoretical physics. I said I had a theoretical degree in physics. They said welcome aboard", "Fantastic" ] + - [ "As our circle of knowledge expands, so does the circumference of darkness surrounding it", "Albert Einstein" ] + - [ "Courage is not the absence of fear, but rather the assessment that something else is more important than fear" ] + - [ "Perfection is the enemy of perfectly adequate", "Jimmy McGill" ] + - [ "Is math related to science?", "Katy Perry" ] + - [ "If wealth was the inevitable result of hard work and enterprise, every women in Africa would be a millionaire", "George Monbiot" ] + - [ "Any fool can write code that a computer can understand. Good programmers write code that humans can understand", "Martin Fowler" ] + - [ "The radio, nuclear weapons, and above all else, the microwave burrito, is the legacy of modern physics", "Bruce Hevly" ] + - [ "Truth is not a weeny roaster", "Bruce Hevly" ] + - [ "As soon as you get a parking spot, you are a professor", "Professor Bruce Hevly" ] + - [ "One problem with this theory is that it's physically nonsense, other than that it's a pretty good model", "Bruce Hevly" ] + - [ "My father always wanted me to do real work and not be lazy, little did he know I would become an historian", "Bruce Hevly" ] + - [ "There are only two kinds of math books: Those you cannot read beyond the first sentence, and those you cannot read beyond the first page", "Chen–Ning Yang" ] + - [ "The only difference between science and screwing around is writing it down", "Alex Jason" ] + - [ "Truth is in the eye of the beholder", "Ruth Hubbard" ] + - [ "Laws change depending on who's making them, but justice is justice", "Odo" ] + - [ "Trump hears that you don't like what Trump is doing", "Donald Trump" ] + - [ "There are no rules for good photographs, there are only good photographs", "Ansel Adams" ] + - [ "If you wish to make an apple pie from scratch, you must first invent the universe", "Carl Sagan" ] + - [ "Why does this same God tell me how to raise my children when he had to drown his", " Robert G Ingersoll" ] + - [ "With the first link, the chain is forged. The first speech censured, the first thought forbidden, the first freedom denied — chains us all irrevocably", "Aaron Satie" ] + - [ "We used to look up at the sky and wonder at our place in the stars, now we just look down and worry about our place in the dirt", "Joseph Cooper" ] + - [ "We’re still pioneers, we’ve barely begun. Our greatest accomplishments cannot be behind us, cause our destiny lies above us", "Joseph Cooper" ] + - [ "Mankind was born on Earth. It was never meant to die here", "Joseph Cooper" ] + - [ "When I look at myself in the first grade and I look at myself now, I’m basically the same", "Donald Trump" ] + - [ "Do not mistake composer for ease", "Tuvok" ] + - [ "We don't make risks in life so we can make it safely to death" ] + - [ "The only thing necessary for the triumph of evil is for good men to do nothing" ] + - [ "Why do they act so surprised? When you treat people like animals you're going to get bit", "Frank Military" ] + - [ "Pride is not the opposite of shame, but it's source. True humility is the only antidote to shame", "Uncle Iroh" ] + - [ "In the darkest times, hope is something you give yourself. That is the meaning of inner strength", "Uncle Iroh" ] + - [ "Good art should disturb the comfortable and comfort the disturbed", "Cesar A. Cruz" ] + - [ "No. No. No. I don't repeat myself. I don't repeat myself", "Donald Trump" ] + - [ "Dumb people are always blissfully unaware of how dumb they really are", "Patrick Star" ] + - [ "Do you know why they call it the American Dream? Because you have to be asleep to believe it", "George Carlin" ] + - [ "The problem with the world is that the intelligent people are full of doubt, while the stupid people are full of confidence", "Betrand Russell" ] + - [ "Live now. Make now always the most precious time. Now will never come again", "Jean–Luc Picard" ] + - [ "Amateurs wait for inspiration, professionals get to work", "Stephen King" ] + - [ "A wise man fears three things: a sea under a storm, a moonless night, and the rage of a gentle man" ] + - [ "All physics models are wrong, but some are useful" ] + - [ "Oh dear, I really ought to do something. But, I am already in my pajamas", "Professor Farnsworth" ] + - [ "This is the worst kind of discrimination, the kind against me", "Bender Bending Rodríguez" ] + - [ "You ever notice that the worst of us have all the chips? It really kinda takes the sheen off people getting rich", "El–P" ] + - [ "I used to wanna get the chance to show the world I'm smart. But I should've focused mostly on the heart, cause I seen smarter people trample life like it's an art", "El–P" ] + - [ "The whole world must learn our peaceful ways, by force!", "Bender Bending Rodríguez" ] + - [ "The United States is also a one–party state but, with typical American extravagance, they have two of them", "Julius Nyerere" ] + - [ "Eternal peace is probably overrated", "Klaus Hargreeves" ] + - [ "One grows used to things, even if sometimes one shouldn't", "Pogo" ] + - [ "You are an open book written for very dumb children", "Lila" ] + - [ "There is nothing worse than a sharp image of a fuzzy concept", "Ansel Adams" ] + - [ "Jack of all trades, master of none; though ofttimes better than master of one" ] + - [ "I'm tired of being calm, calm never got me a damn thing", "Benjamin Sisko" ] + - [ "In this country American means white. Everyone else has to hyphenate", "Toni Morrison" ] + - [ "Environmentalism without class struggle is just gardening", "Chico Mendes" ] + - [ "Someones got to add a bit of culture, and it can't be the person who's entire culture is powering my BRAKE LIGHTS!", "Rick Santchez" ] + - [ "I don't believe in morning people, I think they're just people who go to bed too early" ] + - [ "The only way to solve a differential equation is to know the answer already", "Richard Feynman" ] + - [ "Scientists discover the world that is; engineers create the world that never was", "Theodore Von Karman" ] + - [ "The only time you have too much fuel is when you're on fire" ] + - [ "No amount of experimentation can ever prove me right. A single experiment can prove me wrong", "Albert Einstein" ] + - [ "To an engineer, good enough is perfect. With an artist, there is no such thing as perfect", "Alexander Calder" ] + - [ "Give me a lever long enough and a fulcrum on which to place it, and I shall move the world", "Archimedes" ] + - [ "A good scientist is a person with original ideas. A good engineer is a person who makes a design that works with as few original ideas as possible", "Freeman Dyson" ] + - [ "I never did give them hell. I just told the truth, and they thought it was hell", "Harry Truman" ] + - [ "Looking at the earth from afar you realise it is too small for conflict, and just big enough for cooperation", "Yuri Gagarin" ] + - [ "See that's why we can't win. They fuck up, they get beat. We fuck up, they give us pensions" ] + - [ "This is America, you're either a duper or a dupee", "Frank Reynolds" ] + - [ "Freud was right about a lot of things, but for all the wrong reasons" ] + - [ "If you fail to plan, you plan to fail" ] + - [ "If you killed Ted Cruz on the floor of the Senate, and the trail was in the Senate, nobody would convict you", "Lindsey Graham" ] + - [ "Fool me once shame on me, fool me twice fiddle dee dee", "Mr Peanutbutter" ] + - [ "The Earth is littered with the ruins of empires that believed they were eternal", "Camille Paglia" ] + - [ "Before you criticize someone, walk a mile in their shoes. That way, you'll be a mile from them, and you'll have their shoes", "Jack Handey" ] + - [ "What is today but yesterday's tomorrow?", "Mr. Krabs" ] + - [ "God made the integers, everything else is the work of man", "Leopold Kronecker" ] + - [ "If man is to survive he will have learned to take delight in the essential difference between men and between cultures", "Gene Roddenberry" ] + - [ "Comuputer science is no more about computers than astronomy is about telescopes", "Edsger Dijkstra" ] + - [ "You cannot loose if you do not play", "Marla Daniels" ] diff --git a/layouts/404.html b/layouts/404.html @@ -0,0 +1,7 @@ +{{ define "main" }} + <div class="error"> + <h1>404</h1> + + <p>the requested page could not be found</p> + </div> +{{ end }} diff --git a/layouts/_default/_markup/render-image.html b/layouts/_default/_markup/render-image.html @@ -0,0 +1,9 @@ +{{ if eq .Text "Build Status" }} + <div> + <img src="{{ .Destination | safeURL }}" alt="{{ .Text }}" {{ with .Title}} title="{{ . }}" {{ end }} class="img-fluid"/> + </div> +{{ else }} + <div class="col-12 text-center"> + <img src="{{ .Destination | safeURL }}" alt="{{ .Text }}" {{ with .Title}} title="{{ . }}" {{ end }} class="img-fluid p-md-5"/> + </div> +{{ end }} diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html @@ -0,0 +1,65 @@ +<!DOCTYPE html> +<html> + <head> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <meta name="robots" content="all,follow"> + <title>{{ if not (eq .Title .Site.Title) }}{{ .Title }} - {{ end }}edryd</title> + <meta name="description" content="Ed van Bruggen's personal website"> + <link rel="stylesheet" href="{{ "css/bootstrap.min.css" | relURL}}"> + <link rel="stylesheet" href="{{ "css/fontawesome.min.css" | relURL }}"> + <!-- TODO make fonts local --> + <link rel="preconnect" href="https://fonts.gstatic.com"> + <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=EB+Garamond&family=Raleway:wght@800&display=swap"> + <link rel="stylesheet" href="{{ "css/lightbox.min.css" | relURL }}"> + <link rel="stylesheet" href="{{ "css/theme.css" | relURL }}"> + <link rel="stylesheet" href="{{ "css/custom.css" | relURL }}"> + <link rel="shortcut icon" href="{{ "img/favicon.png" | relURL }}"> + </head> + <body> + + <header class="header"> + <nav class="navbar fixed-top navbar-expand-lg"> + <div class="container"> + <!-- TODO improve name nav look --> + <a href="{{ "index.html" | relURL }}" class="navbar-brand link-scroll italic-off">edryd</a> + <button type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation" class="navbar-toggler navbar-toggler-right"><i class="fa fa-bars"></i></button> + <div id="navbarSupportedContent" class="collapse navbar-collapse"> + <ul class="navbar-nav ml-auto"> + <li class="nav-item"><a href="{{ "index.html#about" | relURL }}" class="nav-link">about</a></li> + <li class="nav-item"><a href="{{ "posts" | relURL }}" class="nav-link">posts</a></li> + <li class="nav-item"><a href="{{ "projects" | relURL }}" class="nav-link">projects</a></li> + <li class="nav-item"><a href="{{ "photos" | relURL }}" class="nav-link">photos</a></li> + <li class="nav-item"><a href="{{ "index.html#contact" | relURL }}" class="nav-link">contact</a></li> + <li class="nav-item"><a href="https://git.edryd.org" class="nav-link">code</a></li> + </ul> + </div> + </div> + </nav> + </header> + + {{- block "main" . }}{{- end }} + + <footer class="section-dark pt-7 slant-t-up"> + <div class="container"> + <div class="row copyright"> + <div class="col-md-6"> + <p class="mb-md-0 text-center text-md-left"> + {{ .Site.Copyright }} + </p> + </div> + <div class="col-md-6"> + <p class="links mb-md-0 text-center text-inc text-md-right"> + {{ partial "links.html" }} + </p> + </div> + </div> + </div> + </footer> + + <script src="{{ "js/jquery.min.js" | relURL }}"></script> + <script src="{{ "js/bootstrap.bundle.min.js" | relURL }}"></script> + <script src="{{ "js/lightbox.min.js" | relURL }}"></script> + </body> +</html> diff --git a/layouts/_default/list.html b/layouts/_default/list.html @@ -0,0 +1,22 @@ +{{ define "main" }} + <section> + <div class="container"> + <div class="row"> + <div class="col-lg-12"> + {{- with .Title }} + <h1 class="heading">{{ . | upper }}</h1> + {{- end }} + <!-- TODO post word cloud --> + {{- with .Content }} + <div class="row"> + {{ . }} + </div> + {{- end }} + {{- range .Pages }} + {{- .Render "summary" }} + {{- end }} + </div> + </div> + </div> + </section> +{{ end }} diff --git a/layouts/_default/single.html b/layouts/_default/single.html @@ -0,0 +1,63 @@ +{{ define "main" }} + <section itemscope itemtype="http://schema.org/BlogPosting"> + <div class="container"> + + <header class="post-header heading"> + <h1>{{ .Title }}</h1> + {{ with .Description }} + <h3>{{ . }}</h3> + {{ end }} + <h5 class="post-meta"> + <!-- TODO fix author --> + <span itemprop="author" itemscope itemtype="http://schema.org/Person"> + <span itemprop="name">{{ .Site.Author.Name }}</span> + </span> + {{ if eq .Section "posts" }} + <time datetime="{{ .Date }}" itemprop="datePublished"> + <i class="far fa-calendar"></i> {{ .Date.Format "Jan 2, 2006" }} + </time> + <i class="far fa-clock"></i> {{ .ReadingTime }} mins + {{ end }} + + {{ partial "share.html" }} + </h5> + </header> + + <div class="post-content" itemprop="articleBody"> + {{ .Content }} + </div> + + {{ if eq .Section "posts" }} + <h5 class="pt-4" style="text-transform: none;"> + <span itemprop="author" itemscope itemtype="http://schema.org/Person"> + <span itemprop="name">Ed van Bruggen</span> + </span> + </h5> + {{ end }} + + {{ if not (eq .Section "projects") }} + <div class="row text-center justify-content-between pt-4"> + <div class="col-md-4"> + {{ with .PrevInSection }} + <span class="block text-inc text-bold">Previous:</span> + <a class="btn btn-block text-med" href="{{ .Permalink }}"> + <i class="fa fa-arrow-left mr-1"></i> + {{ .Title | title }} + </a> + {{ end }} + </div> + <div class="col-md-4"> + {{ with .NextInSection }} + <span class="block text-inc text-bold">Next:</span> + <a class="btn btn-block text-med" href="{{ .Permalink }}"> + {{ .Title | title }} + <i class="fa fa-arrow-right ml-1"></i> + </a> + {{ end }} + </div> + </div> + {{ end }} + + </div> + </section> +{{ end }} diff --git a/layouts/_default/summary.html b/layouts/_default/summary.html @@ -0,0 +1,7 @@ +<div class="row text-inc"> + {{ if eq .Section "posts" }} + <div class="col-12 col-lg-6"><a href="{{ .Permalink }}">{{ .Title }}</a></div> + <div class="col-6 col-lg-2 text-lg-right offset-lg-2 order-lg-first">{{ .Date.Format "Jan 2, 2006" }}</div> + <div class="col-6 col-lg-2 text-right text-lg-left"><i class="far fa-clock pr-2"></i>{{ .ReadingTime }} mins</div> + {{ end }} +</div> diff --git a/layouts/index.html b/layouts/index.html @@ -0,0 +1,154 @@ +{{ define "main" }} + <section id="about" class="text"> + <div class="container"> + <div class="row"> + <div class="col-lg-6"> + <h2 class="heading">ED VAN BRUGGEN</h2> + <p> + I'm a senior at the University of Washington studying physics and + applied math. Currently I'm conducting research on a new Dark Higgs + model which would allow for dark matter production at the Large + Hadron Collider. In conjunction, I'm working on a + <a href="https://iris-hep.org/fellows/edvanbruggen.html">project</a> + to automate truth level reinterpretations of particle + analyses. I am also the lead web developer for + <a href="https://projectmhea.org">Mental Health for Every Adolescent</a> + and a member of UW's + <a href="https://uwexploitsprisonlabor.com/">United Students Against Sweatshops.</a> + </p> + <p> + In my free time I work on various + <a href="{{ "projects" | relURL}}">programming projects</a> and do + <a href="{{ "photos" | relURL }}">photography.</a> You can find my full + <a href="{{ "docs/vanbruggen_resume.pdf" | relURL}}">resume here</a> and contact + information below. + </p> + <div class="links text-center display-4"> + {{ partial "links.html" }} + </div> + {{ partial "quote.html" (index (shuffle $.Site.Data.quotes.quotes) 0) }} + </div> + <div class="col-lg-5 mx-auto"> + <p><img src="img/ed.jpg" class="img-fluid rounded-circle"></p> + </div> + </div> + </div> + </section> + + <section id="posts" class="section-grey slant-up"> + <div class="container"> + <div class="row"> + <div class="col-lg-12"> + <h2 class="heading">POSTS</h2> + <div class="box"> + {{ range first 5 .Site.RegularPages }} + {{ .Render "summary" }} + {{ end }} + </div> + <div class="col-md-2 offset-md-5 btn-effect"> + <a class="btn btn-block" href="posts"> + See More <i class="far fa-newspaper ml-2"></i> + </a> + </div> + </div> + </div> + </div> + </section> + + <section id="projects"> + <div class="container"> + <div class="row"> + <div class="col-lg-12"> + <h2 class="heading">PROJECTS</h2> + {{ range first 5 .Site.Data.projects.code }} + <div class="row text-inc"> + {{ $link := or .link (path.Join "projects/" .name | relURL) }} + <div class="col-lg-4 text-lg-right"><a href="{{ $link }}">{{ .name }}</a></div> + <div class="col-lg-6"><a href="{{ $link }}" class="italic-off text-primary">{{ .desc }}</a></div> + </div> + {{ end }} + <div class="col-sm-2 offset-sm-5 btn-effect"> + <a class="btn btn-block" href="projects"> + See More <i class="fa fa-rocket ml-2"></i> + </a> + </div> + </div> + </div> + </div> + </section> + + <section id="photos" class="section-inverse slant-up"> + <div class="container clearfix"> + <div class="row"> + <div class="col-lg-12"> + <h2 class="heading">PHOTOS</h2> + <div class="row"> + <!-- TODO loop over all files --> + {{- $files := shuffle (readDir "/static/img/photos/quarantine") }} + {{/* {{- $files := shuffle (readDir $files) */}} + {{- range first 9 $files -}} + {{- $imgURL := print "/img/photos/quarantine/" .Name | relURL }} + <div class="col-md-4"> + <div class="box"> + <a href="{{ $imgURL }}" data-lightbox="image-1"> + <!-- TODO generate thumbnail --> + <img src="{{ $imgURL }}" alt="image" class="img-card"> + </a> + </div> + </div> + {{- end }} + <div class="col-md-2 offset-md-5 btn-effect"> + <a class="btn btn-block" href="photos"> + See More <i class="fa ml-2 fa-camera"></i> + </a> + </div> + </div> + </div> + </div> + </section> + + <section id="contact" style="background-color: #fff;" class="pb-4"> + <div class="container"> + <div class="row"> + <div class="col-lg-12"> + <h2 class="heading">CONTACT</h2> + <div class="row"> + <div class="col-lg-6 offset-lg-3"> + <form id="contact-form" method="post" action="#" class="contact-form"> + <div class="controls"> + <div class="form-group"> + <input type="text" name="name" placeholder="Name" required="required" class="form-control"> + </div> + <div class="form-group"> + <input type="email" name="email" placeholder="Email" required="required" class="form-control"> + </div> + <div class="form-group"> + <textarea rows="4" name="message" placeholder="Message" required="required" class="form-control"></textarea> + </div> + <div class="text-center"> + <button type="submit" name="name" class="btn btn-outline-primary btn-block"> + Send <i class="fa ml-2 fa-paper-plane"></i> + </button> + </div> + </div> + </form> + </div> + <!-- <div class="col-lg-6"> --> + <!-- <p>Feel free to contact me about any questions or comments you might have. I also do freelance website design and hosting.</p> --> + <!-- <div class="text-center display-4"> --> + <!-- <a href="contact" class="change-icon"> --> + <!-- <i class="fa fa-envelope"></i> --> + <!-- <i class="fa fa-envelope-open"></i> --> + <!-- </a> --> + <!-- <a href="https://www.linkedin.com/in/ed-van-bruggen-58a379171/" class="fa fa-linkedin-square"></a> --> + <!-- <a href="https://github.com/edvb" class="fa fa-github"></a> --> + <!-- <a href="https://git.edryd.org" class="fa fa-git"></a> --> + <!-- <!-1- <a href="{{ "/feed.xml" | relURL }}" class="fa fa-rss"></a> -1-> --> + <!-- </div> --> + <!-- </div> --> + </div> + </div> + </div> + </div> + </section> +{{ end }} diff --git a/layouts/partials/links.html b/layouts/partials/links.html @@ -0,0 +1,10 @@ +<a href="{{ "index.html#contact" | relURL }}" class="change-icon"> + <i class="fa fa-envelope"></i> + <i class="fa fa-envelope-open"></i> +</a> +<a href="https://www.instagram.com/edrydv/" class="fab fa-instagram"></a> +<a href="https://www.linkedin.com/in/ed-van-bruggen-58a379171/" class="fab fa-linkedin"></a> +<a href="https://github.com/edvb" class="fab fa-github"></a> +<a href="https://git.edryd.org" class="fab fa-git"></a> +<!-- TODO fix rss --> +<!-- <a href="{{ "index.xml" | relURL }}" class="fa fa-rss-square"></a> --> diff --git a/layouts/partials/photo.html b/layouts/partials/photo.html @@ -0,0 +1,7 @@ +<div class="col-md-4"> + <div class="box"> + <a href="img/portfolio-1.jpg" data-lightbox="image-1" data-title="Some footer information" class="has-border"> + <img src="img/portfolio-1.jpg" alt="image" class="img-fluid"> + </a> + </div> +</div> diff --git a/layouts/partials/quote.html b/layouts/partials/quote.html @@ -0,0 +1,10 @@ +<figure class="text-center pt-3"> + <blockquote class="blockquote pl-3"> + <p>“{{ index . 0 }}”</p> + </blockquote> + {{ with (index . 1) }} + <figcaption class="blockquote-footer italic"> + {{ . }} + </figcaption> + {{ end }} +</figure> diff --git a/layouts/partials/share.html b/layouts/partials/share.html @@ -0,0 +1,22 @@ +<div class="links text-inc pt-2"> + <a href="https://www.facebook.com/sharer/sharer.php?u={{ .Permalink }}" class="fab fa-facebook"></a> + <a href="https://twitter.com/share?url={{ .Permalink }}&text={{ .Title }}" class="fab fa-twitter-square"></a> + <a href="mailto:?subject={{ .Title }}&body=Check out this article: {{ .Permalink }}" class="change-icon"> + <i class="fa fa-envelope"></i> + <i class="fa fa-envelope-open"></i> + </a> + <a href="https://reddit.com/submit?url={{ .Permalink }}&title={{ .Title }}" class="fab fa-reddit"></a> + <a href="https://news.ycombinator.com/submitlink?u={{ .Permalink }}&t={{ .Title }}" class="fab fa-hacker-news-square"></a> + <a href="https://www.linkedin.com/shareArticle?url={{ .Permalink }}&title={{ .Title }}&summary={{ .Summary }}" class="fab fa-linkedin"></a> + <button onclick="clipboard_copy()" class="fas fa-link" style="border:none; background:none;"></button> + <script async> + function clipboard_copy() { + $("body").append('<input id="copyURL" type="text" value="" />'); + $("#copyURL").val(window.location.href).select(); + document.execCommand("copy"); + $("#copyURL").remove(); + document.execCommand("copy"); + /* TODO show "copied to clipboard" */ + } + </script> +</div> diff --git a/layouts/photos.html b/layouts/photos.html diff --git a/layouts/shortcodes/photos.html b/layouts/shortcodes/photos.html @@ -0,0 +1,35 @@ +<div class="container"> + <div class="row"> + <div class="col-12"> + {{ if lt (.Get "limit") 10 }} + <h2 class="heading pt-5">{{ .Get "dir" | upper }}</h2> + {{ end }} + <div class="row"> + {{ $dir := (path.Join "/photos/" (replace (.Get "dir") " " "-")) }} + {{ range first (.Get "limit") (readDir (path.Join "/static/img" $dir)) }} + {{ $imgURL := path.Join "/img" $dir .Name | relURL }} + <div class="col-sm-4 p-2"> + <a href="{{ $imgURL }}" data-lightbox="image-1"> + <!-- TODO generate thumbnail --> + <!-- TODO fix for mobile not being full width --> + <img src="{{ $imgURL }}" alt="image" class="img-card"> + </a> + </div> + {{ end }} + </div> + <div class="row justify-content-center"> + <div class="col-md-3 btn-effect"> + {{ if lt (.Get "limit") 10 }} + <a class="btn btn-block" href="{{ $dir }}"> + See More <i class="fa fa-images ml-2"></i> + </a> + {{ else }} + <a class="btn btn-block" href=".."> + All Photos <i class="fa fa-images ml-2"></i> + </a> + {{ end }} + </div> + </div> + </div> + </div> +</div> diff --git a/static/css/bootstrap.min.css b/static/css/bootstrap.min.css @@ -0,0 +1,7 @@ +/*! + * Bootstrap v4.5.3 (https://getbootstrap.com/) + * Copyright 2011-2020 The Bootstrap Authors + * Copyright 2011-2020 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/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,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--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%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){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;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}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}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}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",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{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}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}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[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}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-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-weight:500;line-height:1.2}.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{font-size:87.5%;color:#e83e8c;word-wrap: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,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{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%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-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;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-sm-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-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;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-md-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-md-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-md-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-md-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-md-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-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;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-lg-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-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;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-xl-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-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%;margin-bottom:1rem;color:#212529}.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-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-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.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-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.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-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.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-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.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-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.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-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.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-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.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-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.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:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.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{color:#fff;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}.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}.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}.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}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;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}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.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}input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none}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:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{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,.form-check-input[disabled]~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-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%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.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{border-color:#28a745}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;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 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#28a745}.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:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;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%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.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{border-color:#dc3545}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;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 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#dc3545}.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:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-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 .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;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}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;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}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{color:#fff;background-color:#0069d9;border-color:#0062cc;box-shadow:0 0 0 .2rem rgba(38,143,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(38,143,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{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(130,138,145,.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(130,138,145,.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{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,.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(72,180,97,.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{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,.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(58,176,195,.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{color:#212529;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(222,170,12,.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(222,170,12,.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{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(225,83,97,.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(225,83,97,.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{color:#212529;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(216,217,219,.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(216,217,219,.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{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(82,88,93,.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(82,88,93,.5)}.btn-outline-primary{color:#007bff;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;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;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;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;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;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;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;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;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.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{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;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}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;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{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;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{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;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-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.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;pointer-events:none;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}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:1 1 auto;flex:1 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-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.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,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right: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{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.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:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.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,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.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:-ms-flexbox;display:flex;-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::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.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:-ms-flexbox;display:flex;-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-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.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-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.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-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.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;z-index:1;display:block;min-height:1.5rem;padding-left:1.5rem;-webkit-print-color-adjust:exact;color-adjust:exact}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before,.custom-control-input[disabled]~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#adb5bd solid 1px}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:no-repeat 50%/50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' 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::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' 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-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-switch .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(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/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:0 0 0 .2rem rgba(0,123,255,.25)}.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{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;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(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{-ms-transition:none;transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{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;pointer-events:none;cursor:default}.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,.nav-fill>.nav-link{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{-ms-flex-preferred-size:0;flex-basis:0;-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:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-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:-ms-flexbox;display:flex;-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%;-ms-flex-positive:1;flex-grow:1;-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-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,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.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,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' 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,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' 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:-ms-flexbox;display:flex;-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{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;min-height:1px;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-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;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{-ms-flex-negative:0;flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{-ms-flex:1 0 0%;flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-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:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-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;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{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{display:-ms-flexbox;display:flex}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.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:-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{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.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:3;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;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.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}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.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;z-index:2;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:-ms-flexbox;display:flex;height:1rem;overflow:hidden;line-height:0;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.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 (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;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;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width: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:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0}a.close.disabled{pointer-events:none}.toast{-ms-flex-preferred-size:350px;flex-basis:350px;max-width:350px;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.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,-50px);transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal.modal-static .modal-dialog{-webkit-transform:scale(1.02);transform:scale(1.02)}.modal-dialog-scrollable{display:-ms-flexbox;display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);height:-webkit-min-content;height:-moz-min-content;height:min-content;content:""}.modal-dialog-centered.modal-dialog-scrollable{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:-ms-flexbox;display:flex;-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;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.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-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem);height:-webkit-min-content;height:-moz-min-content;height:min-content}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";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,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";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)}.bs-popover-auto[x-placement^=top]>.arrow::before,.bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 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-width:.5rem .5rem 0;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);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 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-width:.5rem .5rem .5rem 0;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)}.bs-popover-auto[x-placement^=bottom]>.arrow::before,.bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;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);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;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.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.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:no-repeat 50%/100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.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-sm{border-radius:.2rem!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-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!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:-ms-flexbox!important;display:flex!important}.d-inline-flex{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:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{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:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{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:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{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:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{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:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{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{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-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}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-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{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-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{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-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}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-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{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-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{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-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}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-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{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-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{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-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}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-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{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-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{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-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}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-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{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-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}}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;-ms-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!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;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!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-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-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-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-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-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-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-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-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-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-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}}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!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-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!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:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;word-wrap:break-word!important}.text-reset{color:inherit!important}.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 #adb5bd;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 #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}} +/*# sourceMappingURL=bootstrap.min.css.map */+ \ No newline at end of file diff --git a/static/css/custom.css b/static/css/custom.css @@ -0,0 +1,114 @@ +.links a { + color: #111; + text-decoration: none; +} + +.text-med { + font-size: 105% +} + +.text-inc { + font-size: 125% +} + +.slant-up { + clip-path: polygon(0 5vw, 100% 0, 100% calc(100% - 5vw), 0 100%); +} + +.slant-t-up { + clip-path: polygon(0 5vw, 100% 0, 100% 100%, 0 100%); +} + +.pt-7 { + padding-top: 9rem !important; +} + +.img-card { + width: 100%; + height: 15vw; + object-fit: contain; +} + +.change-icon > .fa + .fa, +.change-icon:hover > .fa { + display: none; +} +.change-icon:hover > .fa + .fa { + display: inherit; +} + +/* 404 page */ +.error { + margin: 10px auto; + max-width: 600px; + text-align: center; + h1 { + margin: 30px 0; + font-size: 10em; + line-height: 1; + letter-spacing: -1px; + } +} + +.btn-effect a { + padding: 0 20px; + height: 45px; + line-height: 45px; + position: relative; + display: inline-block; + margin: 15px 25px; + letter-spacing: 1px; + font-weight: 400; + text-shadow: 0 0 1px rgba(255,255,255,0.3); +} + +.btn-effect a::before, +.btn-effect a::after { + position: absolute; + width: 45px; + height: 1px; + background: #777; + content: ''; + -webkit-transition: all 0.3s; + -moz-transition: all 0.3s; + transition: all 0.3s; + pointer-events: none; +} + +.btn-effect a::before { + top: 0; + left: 0; + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + transform: rotate(90deg); + -webkit-transform-origin: 0 0; + -moz-transform-origin: 0 0; + transform-origin: 0 0; +} + +.btn-effect a::after { + right: 0; + bottom: 0; + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + transform: rotate(90deg); + -webkit-transform-origin: 100% 0; + -moz-transform-origin: 100% 0; + transform-origin: 100% 0; +} + +.btn-effect a:hover::before, +.btn-effect a:focus::before { + left: 50%; + -webkit-transform: rotate(0deg) translateX(-50%); + -moz-transform: rotate(0deg) translateX(-50%); + transform: rotate(0deg) translateX(-50%); +} + +.btn-effect a:hover::after, +.btn-effect a:focus::after { + right: 50%; + -webkit-transform: rotate(0deg) translateX(50%); + -moz-transform: rotate(0deg) translateX(50%); + transform: rotate(0deg) translateX(50%); +} diff --git a/static/css/fontawesome.min.css b/static/css/fontawesome.min.css @@ -0,0 +1,6 @@ +/*! + * Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-bacteria:before{content:"\e059"}.fa-bacterium:before{content:"\e05a"}.fa-bahai:before{content:"\f666"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\e05b"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudflare:before{content:"\e07d"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-cotton-bureau:before{content:"\f89e"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\e052"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-deezer:before{content:"\e077"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-disease:before{content:"\f7fa"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edge-legacy:before{content:"\e078"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-faucet:before{content:"\e005"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\e007"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-pay:before{content:"\e079"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guilded:before{content:"\e07e"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\e05d"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-hands-wash:before{content:"\e05e"}.fa-handshake:before{content:"\f2b5"}.fa-handshake-alt-slash:before{content:"\e05f"}.fa-handshake-slash:before{content:"\e060"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-hdd:before{content:"\f0a0"}.fa-head-side-cough:before{content:"\e061"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-head-side-mask:before{content:"\e063"}.fa-head-side-virus:before{content:"\e064"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hive:before{content:"\e07f"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hospital-user:before{content:"\f80d"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-house-user:before{content:"\e065"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-ideal:before{content:"\e013"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-innosoft:before{content:"\e080"}.fa-instagram:before{content:"\f16d"}.fa-instagram-square:before{content:"\e055"}.fa-instalod:before{content:"\e081"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-house:before{content:"\e066"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\e067"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microblog:before{content:"\e01a"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\e056"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse:before{content:"\f8cc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-octopus-deploy:before{content:"\e082"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-arrows:before{content:"\e068"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-perbyte:before{content:"\e083"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\e01e"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-slash:before{content:"\e069"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pump-medical:before{content:"\e06a"}.fa-pump-soap:before{content:"\e06b"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-rust:before{content:"\e07a"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-shield-virus:before{content:"\e06c"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopify:before{content:"\e057"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sink:before{content:"\e06d"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\e06e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\e06f"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-store-alt-slash:before{content:"\e070"}.fa-store-slash:before{content:"\e071"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swift:before{content:"\f8e1"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-tiktok:before{content:"\e07b"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\e041"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-uncharted:before{content:"\e084"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\e049"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-unsplash:before{content:"\e07c"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-users-slash:before{content:"\e073"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-vest:before{content:"\e085"}.fa-vest-patches:before{content:"\e086"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-virus:before{content:"\e074"}.fa-virus-slash:before{content:"\e075"}.fa-viruses:before{content:"\e076"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-watchman-monitoring:before{content:"\e087"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wodu:before{content:"\e088"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands"}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.fab,.far{font-weight:400}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.far,.fas{font-family:"Font Awesome 5 Free"}.fa,.fas{font-weight:900} +@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands";font-weight:400} diff --git a/static/css/lightbox.min.css b/static/css/lightbox.min.css @@ -0,0 +1 @@ +.lb-loader,.lightbox{text-align:center;line-height:0;position:absolute;left:0}body.lb-disable-scrolling{overflow:hidden}.lightboxOverlay{position:absolute;top:0;left:0;z-index:9999;background-color:#000;filter:alpha(Opacity=80);opacity:.8;display:none}.lightbox{width:100%;z-index:10000;font-weight:400;outline:0}.lightbox .lb-image{display:block;height:auto;max-width:inherit;max-height:none;border-radius:3px;border:4px solid #fff}.lightbox a img{border:none}.lb-outerContainer{position:relative;width:250px;height:250px;margin:0 auto;border-radius:4px;background-color:#fff}.lb-outerContainer:after{content:"";display:table;clear:both}.lb-loader{top:43%;height:25%;width:100%}.lb-cancel{display:block;width:32px;height:32px;margin:0 auto;background:url(../img/lightbox/loading.gif) no-repeat}.lb-nav{position:absolute;top:0;left:0;height:100%;width:100%;z-index:10}.lb-container>.nav{left:0}.lb-nav a{outline:0;background-image:url(data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==)}.lb-next,.lb-prev{height:100%;cursor:pointer;display:block}.lb-nav a.lb-prev{width:34%;left:0;float:left;background:url(../img/lightbox/prev.png) left 48% no-repeat;filter:alpha(Opacity=0);opacity:0;-webkit-transition:opacity .6s;-moz-transition:opacity .6s;-o-transition:opacity .6s;transition:opacity .6s}.lb-nav a.lb-prev:hover{filter:alpha(Opacity=100);opacity:1}.lb-nav a.lb-next{width:64%;right:0;float:right;background:url(../img/lightbox/next.png) right 48% no-repeat;filter:alpha(Opacity=0);opacity:0;-webkit-transition:opacity .6s;-moz-transition:opacity .6s;-o-transition:opacity .6s;transition:opacity .6s}.lb-nav a.lb-next:hover{filter:alpha(Opacity=100);opacity:1}.lb-dataContainer{margin:0 auto;padding-top:5px;width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.lb-dataContainer:after{content:"";display:table;clear:both}.lb-data{padding:0 4px;color:#ccc}.lb-data .lb-details{width:85%;float:left;text-align:left;line-height:1.1em}.lb-data .lb-caption{font-size:13px;font-weight:700;line-height:1em}.lb-data .lb-caption a{color:#4ae}.lb-data .lb-number{display:block;clear:left;padding-bottom:1em;font-size:12px;color:#999}.lb-data .lb-close{display:block;float:right;width:30px;height:30px;background:url(../img/lightbox/close.png) top right no-repeat;text-align:right;outline:0;filter:alpha(Opacity=70);opacity:.7;-webkit-transition:opacity .2s;-moz-transition:opacity .2s;-o-transition:opacity .2s;transition:opacity .2s}.lb-data .lb-close:hover{cursor:pointer;filter:alpha(Opacity=100);opacity:1} diff --git a/static/css/theme.css b/static/css/theme.css @@ -0,0 +1,1860 @@ +/* + * general + */ +.text-bold { + font-weight: 700; +} + +.text-small { + font-size: 0.9rem; +} + +html { + height: 100%; +} + +body { + height: 100%; +} + +.italic { + font-style: italic; +} + +.italic-off { + font-style: normal; +} + +@media (max-width: 767.98px) { + section { + padding: 60px 0; + } +} + +.overlay { + position: absolute; + width: 100%; + height: 100%; + left: 0; + top: 0; + background: #000; + z-index: 2; + opacity: 0.6; +} + +section { + padding: 150px 0; +} + +.heading { + margin-bottom: 40px; +} + +.heading:after { + content: " "; + display: block; + width: 100px; + height: 1px; + margin: 20px 0 20px; + background: #555; +} + +.section-grey { + background: #eee; +} + +.section-dark { + background-color: #111; +} + +.section-inverse { + color: #fff; + background: #333; +} + +.section-inverse h1, +.section-inverse h2, +.section-inverse h3, +.section-inverse h4, +.section-inverse h5, +.section-inverse h6 { + color: #fff; +} + +.section-inverse .heading:after { + background: #fff; +} + +.section-inverse .btn { + color: #fff; +} + +.box { + margin-bottom: 20px; +} + +/* + * navbar + */ +nav.navbar { + background: #fff; + padding-top: 0; + padding-bottom: 0; + -webkit-box-shadow: 0 1px 0 #ddd; + box-shadow: 0 1px 0 #ddd; +} + +nav.navbar a.nav-link { + position: relative; + top: 1px; + color: #777; + font-style: italic; + border-bottom: 1px solid transparent; + padding-top: 1rem; + padding-bottom: 1rem; +} + +nav.navbar a.nav-link.active, nav.navbar a.nav-link:hover, nav.navbar a.nav-link:focus { + color: #333; +} + +nav.navbar a.nav-link.active { + border-bottom: 1px solid #333; +} + +nav.navbar .navbar-brand { + padding-top: 0; + padding-bottom: 0; +} + +nav.navbar.sticky { + width: 100%; + position: fixed; + top: 0; + left: 0; + background: #fff; + z-index: 999; +} + +/* + * footer + */ +footer { + padding: 20px 0; +} + +.copyright { + margin-top: 40px; + margin-bottom: 40px; + color: #eee; +} + +.copyright p { + text-align: right; +} + +.copyright p a { + color: #eee; +} + +/* + * + * bootstrap + * + */ + +/* + * navbar + */ +.navbar { + padding: 0.5rem 1rem; +} + +.navbar-brand { + display: inline-block; + padding-top: 0.3125rem; + padding-bottom: 0.3125rem; + margin-right: 1rem; + font-size: 2.25rem; +} + +.navbar-toggler { + padding: 0.25rem 0.75rem; + font-size: 1.25rem; + line-height: 1; + border: 1px solid transparent; + border-radius: 0rem; +} + +.navbar-light .navbar-brand { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-nav .nav-link { + color: rgba(0, 0, 0, 0.5); +} + +.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { + color: rgba(0, 0, 0, 0.7); +} + +.navbar-light .navbar-nav .nav-link.disabled { + color: rgba(0, 0, 0, 0.3); +} + +.navbar-light .navbar-nav .show > .nav-link, +.navbar-light .navbar-nav .active > .nav-link, +.navbar-light .navbar-nav .nav-link.show, +.navbar-light .navbar-nav .nav-link.active { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-toggler { + color: rgba(0, 0, 0, 0.5); + border-color: rgba(0, 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, 0.5); +} + +.navbar-dark .navbar-brand { + color: #fff; +} + +.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { + color: #fff; +} + +.navbar-dark .navbar-nav .nav-link { + color: rgba(255, 255, 255, 0.5); +} + +.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { + color: rgba(255, 255, 255, 0.75); +} + +.navbar-dark .navbar-nav .nav-link.disabled { + color: rgba(255, 255, 255, 0.25); +} + +.navbar-dark .navbar-nav .show > .nav-link, +.navbar-dark .navbar-nav .active > .nav-link, +.navbar-dark .navbar-nav .nav-link.show, +.navbar-dark .navbar-nav .nav-link.active { + color: #fff; +} + +.navbar-dark .navbar-toggler { + color: rgba(255, 255, 255, 0.5); + border-color: rgba(255, 255, 255, 0.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, 0.5); +} + +/* + * buttons + */ +.btn { + font-weight: 400; + border: 1px solid transparent; + padding: 0.375rem 0.75rem; + font-size: 1rem; + line-height: 1.5; + border-radius: 0rem; + -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; +} + +.btn:focus, .btn.focus { + -webkit-box-shadow: 0 0 0 0.2rem rgba(51, 51, 51, 0.25); + box-shadow: 0 0 0 0.2rem rgba(51, 51, 51, 0.25); +} + +.btn.disabled, .btn:disabled { + opacity: 0.65; +} + +.btn:not(:disabled):not(.disabled):active, .btn:not(:disabled):not(.disabled).active { + background-image: none; +} + +.btn-link { + font-weight: 400; + color: #333; +} + +.btn-link:hover { + color: #0d0d0d; + text-decoration: underline; +} + +.btn-link:focus, .btn-link.focus { + text-decoration: underline; +} + +.btn-link:disabled, .btn-link.disabled { + color: #6c757d; +} + +.btn-primary { + color: #fff; + background-color: #333; + border-color: #333; +} + +.btn-primary:hover { + color: #fff; + background-color: #202020; + border-color: #1a1a1a; +} + +.btn-primary:focus, .btn-primary.focus { + -webkit-box-shadow: 0 0 0 0.2rem rgba(51, 51, 51, 0.5); + box-shadow: 0 0 0 0.2rem rgba(51, 51, 51, 0.5); +} + +.btn-primary.disabled, .btn-primary:disabled { + color: #fff; + background-color: #333; + border-color: #333; +} + +.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, +.show > .btn-primary.dropdown-toggle { + color: #fff; + background-color: #1a1a1a; + border-color: #131313; +} + +.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, +.show > .btn-primary.dropdown-toggle:focus { + -webkit-box-shadow: 0 0 0 0.2rem rgba(51, 51, 51, 0.5); + box-shadow: 0 0 0 0.2rem rgba(51, 51, 51, 0.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 { + -webkit-box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.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 { + -webkit-box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.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 { + -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.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 { + -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.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 { + -webkit-box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.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 { + -webkit-box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.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 { + -webkit-box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.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 { + -webkit-box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.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 { + -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.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 { + -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.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 { + -webkit-box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.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 { + -webkit-box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.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 { + -webkit-box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.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 { + -webkit-box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.btn-outline-primary { + color: #333; + background-color: transparent; + background-image: none; + border-color: #333; +} + +.btn-outline-primary:hover { + color: #fff; + background-color: #333; + border-color: #333; +} + +.btn-outline-primary:focus, .btn-outline-primary.focus { + -webkit-box-shadow: 0 0 0 0.2rem rgba(51, 51, 51, 0.5); + box-shadow: 0 0 0 0.2rem rgba(51, 51, 51, 0.5); +} + +.btn-outline-primary.disabled, .btn-outline-primary:disabled { + color: #333; + 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: #333; + border-color: #333; +} + +.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 { + -webkit-box-shadow: 0 0 0 0.2rem rgba(51, 51, 51, 0.5); + box-shadow: 0 0 0 0.2rem rgba(51, 51, 51, 0.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 { + -webkit-box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.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 { + -webkit-box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.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 { + -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.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 { + -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.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 { + -webkit-box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.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 { + -webkit-box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.btn-outline-warning { + color: #ffc107; + background-color: transparent; + background-image: none; + border-color: #ffc107; +} + +.btn-outline-warning:hover { + color: #fff; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-outline-warning:focus, .btn-outline-warning.focus { + -webkit-box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.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 { + -webkit-box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.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 { + -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.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 { + -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.btn-outline-light { + color: #f8f9fa; + background-color: transparent; + background-image: none; + border-color: #f8f9fa; +} + +.btn-outline-light:hover { + color: #fff; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-outline-light:focus, .btn-outline-light.focus { + -webkit-box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.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 { + -webkit-box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.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 { + -webkit-box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.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 { + -webkit-box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.btn-lg { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0rem; +} + +.btn-sm { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0rem; +} + +/* + * type + */ +body { + font-family: 'EB Garamond', Times, sans-serif; + font-size: 1.25rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + background-color: #fff; +} + +a { + color: #555; + text-decoration: none; + font-style: italic; + /* font-weight: 500; */ +} + +a:hover, a:focus { + color: #0d0d0d; + text-decoration: underline; +} + +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + margin-bottom: 0.5rem; + font-family: "Raleway", sans-serif; + font-weight: 800; + line-height: 1.44; + color: inherit; + text-transform: uppercase; + letter-spacing: 0.2em; +} + +h1, +.h1 { + font-size: 2.8rem; +} + +h2, +.h2 { + font-size: 2.1rem; +} + +h3, +.h3 { + font-size: 1.75rem; +} + +h4, +.h4 { + font-size: 1.5rem; +} + +h5, +.h5 { + font-size: 1.25rem; + text-transform: none; + letter-spacing: 0.1em; +} + +h6, +.h6 { + font-size: 1rem; + text-transform: none; + letter-spacing: 0.1em; +} + +.lead { + font-size: 1.4375rem; + 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 { + border-top: 1px solid rgba(0, 0, 0, 0.1); +} + +small, +.small { + font-size: 80%; + font-weight: 400; +} + +mark, +.mark { + padding: 0.2em; + background-color: #fcf8e3; +} + +.blockquote { + margin-bottom: 1rem; + font-size: 1.5rem; + border-left: 5px solid #333; +} + +.blockquote-footer { + color: #6c757d; + font-size: 1.3rem; +} + +.blockquote-footer::before { + content: "\2014 \00A0"; +} + +.text-primary { + color: #333 !important; +} + +a.text-primary:hover, a.text-primary:focus { + color: #1a1a1a !important; +} + +/* + * pagination + */ +.page-item:first-child .page-link { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.page-item:last-child .page-link { + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; +} + +.page-item.active .page-link { + color: #fff; + background-color: #333; + border-color: #333; +} + +.page-item.disabled .page-link { + color: #6c757d; + background-color: #fff; + border-color: #dee2e6; +} + +.page-link { + padding: 0.5rem 0.75rem; + line-height: 1.25; + color: #333; + background-color: #fff; + border: 1px solid #dee2e6; +} + +.page-link:hover, .page-link:focus { + color: #0d0d0d; + text-decoration: none; + background-color: #eee; + border-color: #dee2e6; +} + +.pagination-lg .page-link { + padding: 0.75rem 1.5rem; + font-size: 1.25rem; + line-height: 1.5; +} + +.pagination-lg .page-item:first-child .page-link { + border-top-left-radius: 0.3rem; + border-bottom-left-radius: 0.3rem; +} + +.pagination-lg .page-item:last-child .page-link { + border-top-right-radius: 0.3rem; + border-bottom-right-radius: 0.3rem; +} + +.pagination-sm .page-link { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; +} + +.pagination-sm .page-item:first-child .page-link { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; +} + +.pagination-sm .page-item:last-child .page-link { + border-top-right-radius: 0.2rem; + border-bottom-right-radius: 0.2rem; +} + +/* +* utilities +*/ +.bg-primary { + background-color: #333 !important; +} + +a.bg-primary:hover, a.bg-primary:focus, +button.bg-primary:hover, +button.bg-primary:focus { + background-color: #1a1a1a !important; +} + +.bg-secondary { + background-color: #6c757d !important; +} + +a.bg-secondary:hover, a.bg-secondary:focus, +button.bg-secondary:hover, +button.bg-secondary:focus { + background-color: #545b62 !important; +} + +.bg-success { + background-color: #28a745 !important; +} + +a.bg-success:hover, a.bg-success:focus, +button.bg-success:hover, +button.bg-success:focus { + background-color: #1e7e34 !important; +} + +.bg-info { + background-color: #17a2b8 !important; +} + +a.bg-info:hover, a.bg-info:focus, +button.bg-info:hover, +button.bg-info:focus { + background-color: #117a8b !important; +} + +.bg-warning { + background-color: #ffc107 !important; +} + +a.bg-warning:hover, a.bg-warning:focus, +button.bg-warning:hover, +button.bg-warning:focus { + background-color: #d39e00 !important; +} + +.bg-danger { + background-color: #dc3545 !important; +} + +a.bg-danger:hover, a.bg-danger:focus, +button.bg-danger:hover, +button.bg-danger:focus { + background-color: #bd2130 !important; +} + +.bg-light { + background-color: #f8f9fa !important; +} + +a.bg-light:hover, a.bg-light:focus, +button.bg-light:hover, +button.bg-light:focus { + background-color: #dae0e5 !important; +} + +.bg-dark { + background-color: #343a40 !important; +} + +a.bg-dark:hover, a.bg-dark:focus, +button.bg-dark:hover, +button.bg-dark:focus { + background-color: #1d2124 !important; +} + +.border-primary { + border-color: #333 !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; +} + +.text-primary { + color: #333 !important; +} + +a.text-primary:hover, a.text-primary:focus { + color: #1a1a1a !important; +} + +.text-secondary { + color: #6c757d !important; +} + +a.text-secondary:hover, a.text-secondary:focus { + color: #545b62 !important; +} + +.text-success { + color: #28a745 !important; +} + +a.text-success:hover, a.text-success:focus { + color: #1e7e34 !important; +} + +.text-info { + color: #17a2b8 !important; +} + +a.text-info:hover, a.text-info:focus { + color: #117a8b !important; +} + +.text-warning { + color: #ffc107 !important; +} + +a.text-warning:hover, a.text-warning:focus { + color: #d39e00 !important; +} + +.text-danger { + color: #dc3545 !important; +} + +a.text-danger:hover, a.text-danger:focus { + color: #bd2130 !important; +} + +.text-light { + color: #f8f9fa !important; +} + +a.text-light:hover, a.text-light:focus { + color: #dae0e5 !important; +} + +.text-dark { + color: #343a40 !important; +} + +a.text-dark:hover, a.text-dark:focus { + color: #1d2124 !important; +} + +.badge-primary { + color: #fff; + background-color: #333; +} + +.badge-primary[href]:hover, .badge-primary[href]:focus { + color: #fff; + text-decoration: none; + background-color: #1a1a1a; +} + +.badge-secondary { + color: #fff; + background-color: #6c757d; +} + +.badge-secondary[href]:hover, .badge-secondary[href]:focus { + color: #fff; + text-decoration: none; + background-color: #545b62; +} + +.badge-success { + color: #fff; + background-color: #28a745; +} + +.badge-success[href]:hover, .badge-success[href]:focus { + color: #fff; + text-decoration: none; + background-color: #1e7e34; +} + +.badge-info { + color: #fff; + background-color: #17a2b8; +} + +.badge-info[href]:hover, .badge-info[href]:focus { + color: #fff; + text-decoration: none; + background-color: #117a8b; +} + +.badge-warning { + color: #212529; + background-color: #ffc107; +} + +.badge-warning[href]:hover, .badge-warning[href]:focus { + color: #212529; + text-decoration: none; + background-color: #d39e00; +} + +.badge-danger { + color: #fff; + background-color: #dc3545; +} + +.badge-danger[href]:hover, .badge-danger[href]:focus { + color: #fff; + text-decoration: none; + background-color: #bd2130; +} + +.badge-light { + color: #212529; + background-color: #f8f9fa; +} + +.badge-light[href]:hover, .badge-light[href]:focus { + color: #212529; + text-decoration: none; + background-color: #dae0e5; +} + +.badge-dark { + color: #fff; + background-color: #343a40; +} + +.badge-dark[href]:hover, .badge-dark[href]:focus { + color: #fff; + text-decoration: none; + background-color: #1d2124; +} + +/* + * forms + */ +.form-control { + padding: 0.375rem 0.75rem; + font-size: 1rem; + line-height: 1.5; + color: #555; + background-color: #fff; + border: 1px solid #ced4da; + border-radius: 0rem; + -webkit-transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; +} + +.form-control::-ms-expand { + background-color: transparent; + border: 0; +} + +.form-control:focus { + color: #555; + background-color: #fff; + border-color: #737373; + outline: 0; + -webkit-box-shadow: 0 0 0 0.2rem rgba(51, 51, 51, 0.25); + box-shadow: 0 0 0 0.2rem rgba(51, 51, 51, 0.25); +} + +.form-control::-webkit-input-placeholder { + color: #6c757d; +} + +.form-control:-ms-input-placeholder { + color: #6c757d; +} + +.form-control::-ms-input-placeholder { + color: #6c757d; +} + +.form-control::placeholder { + color: #6c757d; +} + +.form-control:disabled, .form-control[readonly] { + background-color: #eee; +} + +select.form-control:not([size]):not([multiple]) { + height: calc(2.25rem + 2px); +} + +select.form-control:focus::-ms-value { + color: #555; + background-color: #fff; +} + +.form-control-sm { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0rem; +} + +select.form-control-sm:not([size]):not([multiple]) { + height: calc(1.8125rem + 2px); +} + +.form-control-lg { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0rem; +} + +select.form-control-lg:not([size]):not([multiple]) { + height: calc(2.875rem + 2px); +} + +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.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, 0.8); + border-radius: .2rem; +} + +.was-validated .form-control:valid, .form-control.is-valid, .was-validated +.custom-select:valid, +.custom-select.is-valid { + border-color: #28a745; +} + +.was-validated .form-control:valid:focus, .form-control.is-valid:focus, .was-validated +.custom-select:valid:focus, +.custom-select.is-valid:focus { + border-color: #28a745; + -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.was-validated .form-control:valid ~ .valid-feedback, +.was-validated .form-control: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, +.custom-select.is-valid ~ .valid-feedback, +.custom-select.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { + color: #28a745; +} + +.was-validated .form-check-input:valid ~ .valid-feedback, +.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback, +.form-check-input.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label { + color: #28a745; +} + +.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before { + background-color: #71dd8a; +} + +.was-validated .custom-control-input:valid ~ .valid-feedback, +.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback, +.custom-control-input.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before { + background-color: #34ce57; +} + +.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before { + -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(40, 167, 69, 0.25); + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label { + border-color: #28a745; +} + +.was-validated .custom-file-input:valid ~ .custom-file-label::before, .custom-file-input.is-valid ~ .custom-file-label::before { + border-color: inherit; +} + +.was-validated .custom-file-input:valid ~ .valid-feedback, +.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback, +.custom-file-input.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label { + -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.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, 0.8); + border-radius: .2rem; +} + +.was-validated .form-control:invalid, .form-control.is-invalid, .was-validated +.custom-select:invalid, +.custom-select.is-invalid { + border-color: #dc3545; +} + +.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus, .was-validated +.custom-select:invalid:focus, +.custom-select.is-invalid:focus { + border-color: #dc3545; + -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.was-validated .form-control:invalid ~ .invalid-feedback, +.was-validated .form-control: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, +.custom-select.is-invalid ~ .invalid-feedback, +.custom-select.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { + color: #dc3545; +} + +.was-validated .form-check-input:invalid ~ .invalid-feedback, +.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback, +.form-check-input.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label { + color: #dc3545; +} + +.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before { + background-color: #efa2a9; +} + +.was-validated .custom-control-input:invalid ~ .invalid-feedback, +.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback, +.custom-control-input.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before { + background-color: #e4606d; +} + +.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before { + -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(220, 53, 69, 0.25); + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label { + border-color: #dc3545; +} + +.was-validated .custom-file-input:invalid ~ .custom-file-label::before, .custom-file-input.is-invalid ~ .custom-file-label::before { + border-color: inherit; +} + +.was-validated .custom-file-input:invalid ~ .invalid-feedback, +.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback, +.custom-file-input.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label { + -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +/* + * code + */ +pre, +code { + font-size: 80%; + border-radius: 3px; + background-color: #eee; !important +} + +code { + background-color: #eee; + color: #111; + padding: 1px 5px; +} + +pre { + background-color: #eee; + padding: 8px 12px; + overflow-x: auto; +} + +pre > code { + background-color: #eee; + border: 0; + padding-right: 0; + padding-left: 0; +} + +/* + * nav + */ +.nav-link { + font-size: 1.5rem; + padding: 0.5rem 1rem; +} + +.nav-link.disabled { + color: #6c757d; +} + +.nav-tabs .nav-item { + margin-bottom: -1px; +} + +.nav-tabs .nav-link { + border: 1px solid transparent; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { + border-color: #eee #eee #dee2e6; +} + +.nav-tabs .nav-link.disabled { + color: #6c757d; +} + +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: #555; + background-color: #fff; +} + +.nav-tabs .dropdown-menu { + margin-top: -1px; +} + +.nav-pills .nav-link { + border-radius: 0.25rem; +} + +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: #fff; + background-color: #333; +} + +/* + * card + */ +.card { + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.125); + border-radius: 0.25rem; +} + +.card > .list-group:first-child .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.card > .list-group:last-child .list-group-item:last-child { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.card-body { + padding: 1.25rem; +} + +.card-title { + margin-bottom: 0.75rem; +} + +.card-subtitle { + margin-top: -0.375rem; +} + +.card-link + .card-link { + margin-left: 1.25rem; +} + +.card-header { + padding: 0.75rem 1.25rem; + background-color: rgba(0, 0, 0, 0.03); + border-bottom: 1px solid rgba(0, 0, 0, 0.125); +} + +.card-header:first-child { + border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; +} + +.card-header-transparent { + background-color: rgba(0, 0, 0, 0.3); + border-bottom: none; +} + +.card-footer { + padding: 0.75rem 1.25rem; + background-color: #f8f9fa; + border-top: 1px solid rgba(0, 0, 0, 0.125); +} + +.card-footer:last-child { + border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); +} + +.card-header-tabs { + margin-right: -0.625rem; + margin-bottom: -0.75rem; + margin-left: -0.625rem; + border-bottom: 0; +} + +.card-header-pills { + margin-right: -0.625rem; + margin-left: -0.625rem; +} + +.card-img-overlay { + padding: 1.25rem; +} + +.card-img-overlay-opacity { + background: rgba(0, 0, 0, 0.2); +} + +.card-img { + border-radius: calc(0.25rem - 1px); +} + +.card-img-top { + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} + +.card-img-bottom { + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); +} + +.card-deck .card { + margin-bottom: 15px; +} + +@media (min-width: 576px) { + .card-deck { + margin-right: -15px; + margin-left: -15px; + } + .card-deck .card { + margin-right: 15px; + margin-left: 15px; + } +} diff --git a/static/docs/vanbruggen_resume.pdf b/static/docs/vanbruggen_resume.pdf Binary files differ. diff --git a/static/img/ed.jpg b/static/img/ed.jpg Binary files differ. diff --git a/static/img/favicon.png b/static/img/favicon.png Binary files differ. diff --git a/static/img/lightbox/close.png b/static/img/lightbox/close.png Binary files differ. diff --git a/static/img/lightbox/loading.gif b/static/img/lightbox/loading.gif Binary files differ. diff --git a/static/img/lightbox/next.png b/static/img/lightbox/next.png Binary files differ. diff --git a/static/img/lightbox/prev.png b/static/img/lightbox/prev.png Binary files differ. diff --git a/static/img/photos/britain/2016-07-29_09.00.57.jpg b/static/img/photos/britain/2016-07-29_09.00.57.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-07-29_09.12.09.jpg b/static/img/photos/britain/2016-07-29_09.12.09.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-07-30_03.52.45.jpg b/static/img/photos/britain/2016-07-30_03.52.45.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-07-30_04.17.30.jpg b/static/img/photos/britain/2016-07-30_04.17.30.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-07-30_04.19.53.jpg b/static/img/photos/britain/2016-07-30_04.19.53.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-02_05.53.03.jpg b/static/img/photos/britain/2016-08-02_05.53.03.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-02_05.58.05.jpg b/static/img/photos/britain/2016-08-02_05.58.05.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-02_06.05.12.jpg b/static/img/photos/britain/2016-08-02_06.05.12.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-02_06.07.29.jpg b/static/img/photos/britain/2016-08-02_06.07.29.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-02_06.18.35.jpg b/static/img/photos/britain/2016-08-02_06.18.35.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-02_06.50.03.jpg b/static/img/photos/britain/2016-08-02_06.50.03.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-02_06.50.37.jpg b/static/img/photos/britain/2016-08-02_06.50.37.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-02_07.10.04.jpg b/static/img/photos/britain/2016-08-02_07.10.04.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-02_07.10.25.jpg b/static/img/photos/britain/2016-08-02_07.10.25.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-02_07.17.02.jpg b/static/img/photos/britain/2016-08-02_07.17.02.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-02_08.28.44.jpg b/static/img/photos/britain/2016-08-02_08.28.44.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-02_08.28.56.jpg b/static/img/photos/britain/2016-08-02_08.28.56.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-03_04.13.14.jpg b/static/img/photos/britain/2016-08-03_04.13.14.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-03_04.13.43.jpg b/static/img/photos/britain/2016-08-03_04.13.43.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-05_10.21.09.jpg b/static/img/photos/britain/2016-08-05_10.21.09.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-06_05.55.21.jpg b/static/img/photos/britain/2016-08-06_05.55.21.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-06_06.05.13.jpg b/static/img/photos/britain/2016-08-06_06.05.13.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-06_06.10.44.jpg b/static/img/photos/britain/2016-08-06_06.10.44.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-06_06.17.13.jpg b/static/img/photos/britain/2016-08-06_06.17.13.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-06_07.11.05.jpg b/static/img/photos/britain/2016-08-06_07.11.05.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-07_07.09.23.jpg b/static/img/photos/britain/2016-08-07_07.09.23.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-07_07.13.20.jpg b/static/img/photos/britain/2016-08-07_07.13.20.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-07_07.16.23.jpg b/static/img/photos/britain/2016-08-07_07.16.23.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-07_07.16.32.jpg b/static/img/photos/britain/2016-08-07_07.16.32.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-08_04.35.15.jpg b/static/img/photos/britain/2016-08-08_04.35.15.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-08_04.45.10.jpg b/static/img/photos/britain/2016-08-08_04.45.10.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-08_04.55.13.jpg b/static/img/photos/britain/2016-08-08_04.55.13.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-08_05.00.57.jpg b/static/img/photos/britain/2016-08-08_05.00.57.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-08_05.01.04.jpg b/static/img/photos/britain/2016-08-08_05.01.04.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-08_05.02.23.jpg b/static/img/photos/britain/2016-08-08_05.02.23.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-08_05.06.42.jpg b/static/img/photos/britain/2016-08-08_05.06.42.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-08_05.16.06.jpg b/static/img/photos/britain/2016-08-08_05.16.06.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-08_07.25.56.jpg b/static/img/photos/britain/2016-08-08_07.25.56.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-08_07.38.27.jpg b/static/img/photos/britain/2016-08-08_07.38.27.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-08_07.41.54.jpg b/static/img/photos/britain/2016-08-08_07.41.54.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-08_08.25.28.jpg b/static/img/photos/britain/2016-08-08_08.25.28.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-10_06.08.28.jpg b/static/img/photos/britain/2016-08-10_06.08.28.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-10_06.12.32.jpg b/static/img/photos/britain/2016-08-10_06.12.32.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-10_06.15.53.jpg b/static/img/photos/britain/2016-08-10_06.15.53.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-10_06.17.31.jpg b/static/img/photos/britain/2016-08-10_06.17.31.jpg Binary files differ. diff --git a/static/img/photos/britain/2016-08-10_06.18.57.jpg b/static/img/photos/britain/2016-08-10_06.18.57.jpg Binary files differ. diff --git a/static/img/photos/france/IMG_20140805_025242.jpg b/static/img/photos/france/IMG_20140805_025242.jpg Binary files differ. diff --git a/static/img/photos/france/IMG_20140807_024220.jpg b/static/img/photos/france/IMG_20140807_024220.jpg Binary files differ. diff --git a/static/img/photos/france/IMG_20140807_030315.jpg b/static/img/photos/france/IMG_20140807_030315.jpg Binary files differ. diff --git a/static/img/photos/france/IMG_20140807_031845.jpg b/static/img/photos/france/IMG_20140807_031845.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC05174.jpg b/static/img/photos/galapagos/DSC05174.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC05228.jpg b/static/img/photos/galapagos/DSC05228.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC05290.jpg b/static/img/photos/galapagos/DSC05290.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC05296.jpg b/static/img/photos/galapagos/DSC05296.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC05341.jpg b/static/img/photos/galapagos/DSC05341.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC05418.jpg b/static/img/photos/galapagos/DSC05418.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC05442.jpg b/static/img/photos/galapagos/DSC05442.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC05500.jpg b/static/img/photos/galapagos/DSC05500.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC05527.jpg b/static/img/photos/galapagos/DSC05527.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC05558.jpg b/static/img/photos/galapagos/DSC05558.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC05571.jpg b/static/img/photos/galapagos/DSC05571.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC05583.jpg b/static/img/photos/galapagos/DSC05583.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC05586.jpg b/static/img/photos/galapagos/DSC05586.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC05594.jpg b/static/img/photos/galapagos/DSC05594.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC05663.jpg b/static/img/photos/galapagos/DSC05663.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC05669.jpg b/static/img/photos/galapagos/DSC05669.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC05680.jpg b/static/img/photos/galapagos/DSC05680.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC05695.jpg b/static/img/photos/galapagos/DSC05695.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC05720.jpg b/static/img/photos/galapagos/DSC05720.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC05750.jpg b/static/img/photos/galapagos/DSC05750.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC05753.jpg b/static/img/photos/galapagos/DSC05753.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC05783.jpg b/static/img/photos/galapagos/DSC05783.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC05949.jpg b/static/img/photos/galapagos/DSC05949.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC05970.jpg b/static/img/photos/galapagos/DSC05970.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC05974.jpg b/static/img/photos/galapagos/DSC05974.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC05988.jpg b/static/img/photos/galapagos/DSC05988.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC06042.jpg b/static/img/photos/galapagos/DSC06042.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC06053.jpg b/static/img/photos/galapagos/DSC06053.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC06113.jpg b/static/img/photos/galapagos/DSC06113.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC06120.jpg b/static/img/photos/galapagos/DSC06120.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC06139.jpg b/static/img/photos/galapagos/DSC06139.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC06297.jpg b/static/img/photos/galapagos/DSC06297.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC06371.jpg b/static/img/photos/galapagos/DSC06371.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC06406.jpg b/static/img/photos/galapagos/DSC06406.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC06485.jpg b/static/img/photos/galapagos/DSC06485.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC06505.jpg b/static/img/photos/galapagos/DSC06505.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC06525.jpg b/static/img/photos/galapagos/DSC06525.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC06597.jpg b/static/img/photos/galapagos/DSC06597.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC06663.jpg b/static/img/photos/galapagos/DSC06663.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC06664.jpg b/static/img/photos/galapagos/DSC06664.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC06706.jpg b/static/img/photos/galapagos/DSC06706.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC06723.jpg b/static/img/photos/galapagos/DSC06723.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC06749.jpg b/static/img/photos/galapagos/DSC06749.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC06757.jpg b/static/img/photos/galapagos/DSC06757.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC06771.jpg b/static/img/photos/galapagos/DSC06771.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC06776.jpg b/static/img/photos/galapagos/DSC06776.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC06782.jpg b/static/img/photos/galapagos/DSC06782.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC06822.jpg b/static/img/photos/galapagos/DSC06822.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC06903.jpg b/static/img/photos/galapagos/DSC06903.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC06935.jpg b/static/img/photos/galapagos/DSC06935.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC06966.jpg b/static/img/photos/galapagos/DSC06966.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC07032.jpg b/static/img/photos/galapagos/DSC07032.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC07081.jpg b/static/img/photos/galapagos/DSC07081.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC07098.jpg b/static/img/photos/galapagos/DSC07098.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC07100.jpg b/static/img/photos/galapagos/DSC07100.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC07154.jpg b/static/img/photos/galapagos/DSC07154.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC07368.jpg b/static/img/photos/galapagos/DSC07368.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC07378.jpg b/static/img/photos/galapagos/DSC07378.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC07382.jpg b/static/img/photos/galapagos/DSC07382.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC07412.jpg b/static/img/photos/galapagos/DSC07412.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC07417.jpg b/static/img/photos/galapagos/DSC07417.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC07437.jpg b/static/img/photos/galapagos/DSC07437.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC07458.jpg b/static/img/photos/galapagos/DSC07458.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC07480.jpg b/static/img/photos/galapagos/DSC07480.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC07485.jpg b/static/img/photos/galapagos/DSC07485.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC07509.jpg b/static/img/photos/galapagos/DSC07509.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC07522.jpg b/static/img/photos/galapagos/DSC07522.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC07529.jpg b/static/img/photos/galapagos/DSC07529.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC07532.jpg b/static/img/photos/galapagos/DSC07532.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC07540.jpg b/static/img/photos/galapagos/DSC07540.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC07547.jpg b/static/img/photos/galapagos/DSC07547.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC07551.jpg b/static/img/photos/galapagos/DSC07551.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC07560.jpg b/static/img/photos/galapagos/DSC07560.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC07575.jpg b/static/img/photos/galapagos/DSC07575.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC07584.jpg b/static/img/photos/galapagos/DSC07584.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC07590.jpg b/static/img/photos/galapagos/DSC07590.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC07611.jpg b/static/img/photos/galapagos/DSC07611.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC07638.jpg b/static/img/photos/galapagos/DSC07638.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC07644.jpg b/static/img/photos/galapagos/DSC07644.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC07657.jpg b/static/img/photos/galapagos/DSC07657.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC07682.jpg b/static/img/photos/galapagos/DSC07682.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC07748.jpg b/static/img/photos/galapagos/DSC07748.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC07751.jpg b/static/img/photos/galapagos/DSC07751.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC07755.jpg b/static/img/photos/galapagos/DSC07755.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC07757.jpg b/static/img/photos/galapagos/DSC07757.jpg Binary files differ. diff --git a/static/img/photos/galapagos/DSC07765.jpg b/static/img/photos/galapagos/DSC07765.jpg Binary files differ. diff --git a/static/img/photos/peru/IMG_20150803_134856.jpg b/static/img/photos/peru/IMG_20150803_134856.jpg Binary files differ. diff --git a/static/img/photos/peru/IMG_20150803_144712.jpg b/static/img/photos/peru/IMG_20150803_144712.jpg Binary files differ. diff --git a/static/img/photos/peru/IMG_20150804_091529.jpg b/static/img/photos/peru/IMG_20150804_091529.jpg Binary files differ. diff --git a/static/img/photos/peru/IMG_20150804_095634.jpg b/static/img/photos/peru/IMG_20150804_095634.jpg Binary files differ. diff --git a/static/img/photos/peru/IMG_20150804_101438.jpg b/static/img/photos/peru/IMG_20150804_101438.jpg Binary files differ. diff --git a/static/img/photos/peru/IMG_20150805_094944.jpg b/static/img/photos/peru/IMG_20150805_094944.jpg Binary files differ. diff --git a/static/img/photos/peru/IMG_20150805_095135.jpg b/static/img/photos/peru/IMG_20150805_095135.jpg Binary files differ. diff --git a/static/img/photos/peru/IMG_20150805_140810.jpg b/static/img/photos/peru/IMG_20150805_140810.jpg Binary files differ. diff --git a/static/img/photos/peru/IMG_20150805_141209.jpg b/static/img/photos/peru/IMG_20150805_141209.jpg Binary files differ. diff --git a/static/img/photos/peru/IMG_20150805_141402.jpg b/static/img/photos/peru/IMG_20150805_141402.jpg Binary files differ. diff --git a/static/img/photos/peru/IMG_20150805_142020.jpg b/static/img/photos/peru/IMG_20150805_142020.jpg Binary files differ. diff --git a/static/img/photos/peru/IMG_20150805_145319.jpg b/static/img/photos/peru/IMG_20150805_145319.jpg Binary files differ. diff --git a/static/img/photos/peru/IMG_20150805_145620.jpg b/static/img/photos/peru/IMG_20150805_145620.jpg Binary files differ. diff --git a/static/img/photos/peru/IMG_20150805_155959.jpg b/static/img/photos/peru/IMG_20150805_155959.jpg Binary files differ. diff --git a/static/img/photos/peru/IMG_20150805_160053.jpg b/static/img/photos/peru/IMG_20150805_160053.jpg Binary files differ. diff --git a/static/img/photos/peru/IMG_20150805_160245.jpg b/static/img/photos/peru/IMG_20150805_160245.jpg Binary files differ. diff --git a/static/img/photos/peru/IMG_20150805_160250.jpg b/static/img/photos/peru/IMG_20150805_160250.jpg Binary files differ. diff --git a/static/img/photos/peru/IMG_20150805_162501.jpg b/static/img/photos/peru/IMG_20150805_162501.jpg Binary files differ. diff --git a/static/img/photos/peru/IMG_20150805_162952.jpg b/static/img/photos/peru/IMG_20150805_162952.jpg Binary files differ. diff --git a/static/img/photos/peru/IMG_20150806_070356.jpg b/static/img/photos/peru/IMG_20150806_070356.jpg Binary files differ. diff --git a/static/img/photos/peru/IMG_20150806_071308.jpg b/static/img/photos/peru/IMG_20150806_071308.jpg Binary files differ. diff --git a/static/img/photos/peru/IMG_20150806_074401.jpg b/static/img/photos/peru/IMG_20150806_074401.jpg Binary files differ. diff --git a/static/img/photos/peru/IMG_20150806_075154.jpg b/static/img/photos/peru/IMG_20150806_075154.jpg Binary files differ. diff --git a/static/img/photos/peru/IMG_20150806_080710.jpg b/static/img/photos/peru/IMG_20150806_080710.jpg Binary files differ. diff --git a/static/img/photos/peru/IMG_20150806_080713.jpg b/static/img/photos/peru/IMG_20150806_080713.jpg Binary files differ. diff --git a/static/img/photos/peru/IMG_20150806_162416.jpg b/static/img/photos/peru/IMG_20150806_162416.jpg Binary files differ. diff --git a/static/img/photos/peru/IMG_20150808_130107.jpg b/static/img/photos/peru/IMG_20150808_130107.jpg Binary files differ. diff --git a/static/img/photos/peru/IMG_20150808_130138.jpg b/static/img/photos/peru/IMG_20150808_130138.jpg Binary files differ. diff --git a/static/img/photos/peru/IMG_20150808_145722.jpg b/static/img/photos/peru/IMG_20150808_145722.jpg Binary files differ. diff --git a/static/img/photos/quarantine/DSC00083.jpg b/static/img/photos/quarantine/DSC00083.jpg Binary files differ. diff --git a/static/img/photos/quarantine/DSC00125.jpg b/static/img/photos/quarantine/DSC00125.jpg Binary files differ. diff --git a/static/img/photos/quarantine/DSC00136.jpg b/static/img/photos/quarantine/DSC00136.jpg Binary files differ. diff --git a/static/img/photos/quarantine/DSC00149.jpg b/static/img/photos/quarantine/DSC00149.jpg Binary files differ. diff --git a/static/img/photos/quarantine/DSC00177.jpg b/static/img/photos/quarantine/DSC00177.jpg Binary files differ. diff --git a/static/img/photos/quarantine/DSC00211.jpg b/static/img/photos/quarantine/DSC00211.jpg Binary files differ. diff --git a/static/img/photos/quarantine/DSC00279.jpg b/static/img/photos/quarantine/DSC00279.jpg Binary files differ. diff --git a/static/img/photos/quarantine/DSC00322.jpg b/static/img/photos/quarantine/DSC00322.jpg Binary files differ. diff --git a/static/img/photos/quarantine/DSC00341.jpg b/static/img/photos/quarantine/DSC00341.jpg Binary files differ. diff --git a/static/img/photos/quarantine/DSC00383.jpg b/static/img/photos/quarantine/DSC00383.jpg Binary files differ. diff --git a/static/img/photos/quarantine/DSC00401.jpg b/static/img/photos/quarantine/DSC00401.jpg Binary files differ. diff --git a/static/img/photos/quarantine/DSC00406.jpg b/static/img/photos/quarantine/DSC00406.jpg Binary files differ. diff --git a/static/img/photos/quarantine/DSC00447.jpg b/static/img/photos/quarantine/DSC00447.jpg Binary files differ. diff --git a/static/img/photos/quarantine/DSC00514.jpg b/static/img/photos/quarantine/DSC00514.jpg Binary files differ. diff --git a/static/img/photos/quarantine/DSC00530.jpg b/static/img/photos/quarantine/DSC00530.jpg Binary files differ. diff --git a/static/img/photos/quarantine/DSC00551.jpg b/static/img/photos/quarantine/DSC00551.jpg Binary files differ. diff --git a/static/img/photos/quarantine/DSC00649.jpg b/static/img/photos/quarantine/DSC00649.jpg Binary files differ. diff --git a/static/img/photos/quarantine/DSC00658.jpg b/static/img/photos/quarantine/DSC00658.jpg Binary files differ. diff --git a/static/img/photos/quarantine/DSC00867.jpg b/static/img/photos/quarantine/DSC00867.jpg Binary files differ. diff --git a/static/img/photos/quarantine/DSC00894.jpg b/static/img/photos/quarantine/DSC00894.jpg Binary files differ. diff --git a/static/img/photos/quarantine/DSC00937.jpg b/static/img/photos/quarantine/DSC00937.jpg Binary files differ. diff --git a/static/img/photos/quarantine/DSC00956.jpg b/static/img/photos/quarantine/DSC00956.jpg Binary files differ. diff --git a/static/img/photos/quarantine/DSC01044.jpg b/static/img/photos/quarantine/DSC01044.jpg Binary files differ. diff --git a/static/img/photos/quarantine/DSC01066.jpg b/static/img/photos/quarantine/DSC01066.jpg Binary files differ. diff --git a/static/img/photos/quarantine/DSC01397.jpg b/static/img/photos/quarantine/DSC01397.jpg Binary files differ. diff --git a/static/img/photos/quarantine/DSC01439.jpg b/static/img/photos/quarantine/DSC01439.jpg Binary files differ. diff --git a/static/img/photos/quarantine/DSC01542.jpg b/static/img/photos/quarantine/DSC01542.jpg Binary files differ. diff --git a/static/img/photos/quarantine/DSC01613.jpg b/static/img/photos/quarantine/DSC01613.jpg Binary files differ. diff --git a/static/img/photos/quarantine/DSC09365.jpg b/static/img/photos/quarantine/DSC09365.jpg Binary files differ. diff --git a/static/img/photos/quarantine/DSC09386.jpg b/static/img/photos/quarantine/DSC09386.jpg Binary files differ. diff --git a/static/img/photos/quarantine/DSC09445.jpg b/static/img/photos/quarantine/DSC09445.jpg Binary files differ. diff --git a/static/img/photos/quarantine/DSC09484.jpg b/static/img/photos/quarantine/DSC09484.jpg Binary files differ. diff --git a/static/img/photos/quarantine/DSC09512.jpg b/static/img/photos/quarantine/DSC09512.jpg Binary files differ. diff --git a/static/img/photos/quarantine/DSC09517.jpg b/static/img/photos/quarantine/DSC09517.jpg Binary files differ. diff --git a/static/img/photos/quarantine/DSC09538.jpg b/static/img/photos/quarantine/DSC09538.jpg Binary files differ. diff --git a/static/img/photos/quarantine/DSC09569.jpg b/static/img/photos/quarantine/DSC09569.jpg Binary files differ. diff --git a/static/img/photos/quarantine/DSC09613.jpg b/static/img/photos/quarantine/DSC09613.jpg Binary files differ. diff --git a/static/img/photos/quarantine/DSC09625.jpg b/static/img/photos/quarantine/DSC09625.jpg Binary files differ. diff --git a/static/img/photos/quarantine/DSC09677.jpg b/static/img/photos/quarantine/DSC09677.jpg Binary files differ. diff --git a/static/img/photos/quarantine/L1130748.jpg b/static/img/photos/quarantine/L1130748.jpg Binary files differ. diff --git a/static/img/photos/quarantine/L1130859.jpg b/static/img/photos/quarantine/L1130859.jpg Binary files differ. diff --git a/static/img/photos/quarantine/L1130873.jpg b/static/img/photos/quarantine/L1130873.jpg Binary files differ. diff --git a/static/img/photos/quarantine/L1130902.jpg b/static/img/photos/quarantine/L1130902.jpg Binary files differ. diff --git a/static/img/photos/quarantine/clock-better.jpg b/static/img/photos/quarantine/clock-better.jpg Binary files differ. diff --git a/static/img/photos/quarantine/egg-bw.jpg b/static/img/photos/quarantine/egg-bw.jpg Binary files differ. diff --git a/static/img/photos/quarantine/flip3.jpg b/static/img/photos/quarantine/flip3.jpg Binary files differ. diff --git a/static/img/photos/quarantine/moon.jpg b/static/img/photos/quarantine/moon.jpg Binary files differ. diff --git a/static/img/photos/quarantine/silohoutte.jpg b/static/img/photos/quarantine/silohoutte.jpg Binary files differ. diff --git a/static/img/photos/quarantine/sofa.jpg b/static/img/photos/quarantine/sofa.jpg Binary files differ. diff --git a/static/img/photos/quarantine/stars.jpg b/static/img/photos/quarantine/stars.jpg Binary files differ. diff --git a/static/img/photos/quarantine/sunset-6.jpg b/static/img/photos/quarantine/sunset-6.jpg Binary files differ. diff --git a/static/img/photos/seattle/DSC01621.jpg b/static/img/photos/seattle/DSC01621.jpg Binary files differ. diff --git a/static/img/photos/seattle/DSC01625.jpg b/static/img/photos/seattle/DSC01625.jpg Binary files differ. diff --git a/static/img/photos/seattle/DSC01631.jpg b/static/img/photos/seattle/DSC01631.jpg Binary files differ. diff --git a/static/img/photos/seattle/DSC01642.jpg b/static/img/photos/seattle/DSC01642.jpg Binary files differ. diff --git a/static/img/photos/seattle/DSC01677.jpg b/static/img/photos/seattle/DSC01677.jpg Binary files differ. diff --git a/static/img/photos/seattle/DSC01693.jpg b/static/img/photos/seattle/DSC01693.jpg Binary files differ. diff --git a/static/img/photos/seattle/DSC01715.jpg b/static/img/photos/seattle/DSC01715.jpg Binary files differ. diff --git a/static/img/photos/seattle/DSC01731.jpg b/static/img/photos/seattle/DSC01731.jpg Binary files differ. diff --git a/static/img/photos/seattle/DSC01742.jpg b/static/img/photos/seattle/DSC01742.jpg Binary files differ. diff --git a/static/img/photos/seattle/DSC01782.jpg b/static/img/photos/seattle/DSC01782.jpg Binary files differ. diff --git a/static/img/posts/Jerry-the-Robot.jpg b/static/img/posts/Jerry-the-Robot.jpg Binary files differ. diff --git a/static/img/posts/sl-header.png b/static/img/posts/sl-header.png Binary files differ. diff --git a/static/img/posts/tp-mk/columns.jpg b/static/img/posts/tp-mk/columns.jpg Binary files differ. diff --git a/static/img/posts/tp-mk/cut-keycaps.jpg b/static/img/posts/tp-mk/cut-keycaps.jpg Binary files differ. diff --git a/static/img/posts/tp-mk/diodes-done.jpg b/static/img/posts/tp-mk/diodes-done.jpg Binary files differ. diff --git a/static/img/posts/tp-mk/diodes-extend.jpg b/static/img/posts/tp-mk/diodes-extend.jpg Binary files differ. diff --git a/static/img/posts/tp-mk/diodes-linked.jpg b/static/img/posts/tp-mk/diodes-linked.jpg Binary files differ. diff --git a/static/img/posts/tp-mk/diodes-side.jpg b/static/img/posts/tp-mk/diodes-side.jpg Binary files differ. diff --git a/static/img/posts/tp-mk/diodes.jpg b/static/img/posts/tp-mk/diodes.jpg Binary files differ. diff --git a/static/img/posts/tp-mk/finish-top.jpg b/static/img/posts/tp-mk/finish-top.jpg Binary files differ. diff --git a/static/img/posts/tp-mk/finish.jpg b/static/img/posts/tp-mk/finish.jpg Binary files differ. diff --git a/static/img/posts/tp-mk/ibm-thinkpad.jpg b/static/img/posts/tp-mk/ibm-thinkpad.jpg Binary files differ. diff --git a/static/img/posts/tp-mk/kb-parts.jpg b/static/img/posts/tp-mk/kb-parts.jpg Binary files differ. diff --git a/static/img/posts/tp-mk/kb-screws.jpg b/static/img/posts/tp-mk/kb-screws.jpg Binary files differ. diff --git a/static/img/posts/tp-mk/keycaps-silicone.jpg b/static/img/posts/tp-mk/keycaps-silicone.jpg Binary files differ. diff --git a/static/img/posts/tp-mk/keylayout.jpg b/static/img/posts/tp-mk/keylayout.jpg Binary files differ. diff --git a/static/img/posts/tp-mk/parts.jpg b/static/img/posts/tp-mk/parts.jpg Binary files differ. diff --git a/static/img/posts/tp-mk/plate-cut.jpg b/static/img/posts/tp-mk/plate-cut.jpg Binary files differ. diff --git a/static/img/posts/tp-mk/plate.jpg b/static/img/posts/tp-mk/plate.jpg Binary files differ. diff --git a/static/img/posts/tp-mk/pullup-resistors-lower.jpg b/static/img/posts/tp-mk/pullup-resistors-lower.jpg Binary files differ. diff --git a/static/img/posts/tp-mk/pullup-resistors-shrinkwrap.jpg b/static/img/posts/tp-mk/pullup-resistors-shrinkwrap.jpg Binary files differ. diff --git a/static/img/posts/tp-mk/pullup-resistors-upper.jpg b/static/img/posts/tp-mk/pullup-resistors-upper.jpg Binary files differ. diff --git a/static/img/posts/tp-mk/resistors.jpg b/static/img/posts/tp-mk/resistors.jpg Binary files differ. diff --git a/static/img/posts/tp-mk/stabilizers.jpg b/static/img/posts/tp-mk/stabilizers.jpg Binary files differ. diff --git a/static/img/posts/tp-mk/standoffs-close.jpg b/static/img/posts/tp-mk/standoffs-close.jpg Binary files differ. diff --git a/static/img/posts/tp-mk/standoffs.jpg b/static/img/posts/tp-mk/standoffs.jpg Binary files differ. diff --git a/static/img/posts/tp-mk/stem-board.jpg b/static/img/posts/tp-mk/stem-board.jpg Binary files differ. diff --git a/static/img/posts/tp-mk/stem-comparison.jpg b/static/img/posts/tp-mk/stem-comparison.jpg Binary files differ. diff --git a/static/img/posts/tp-mk/stem-installed.jpg b/static/img/posts/tp-mk/stem-installed.jpg Binary files differ. diff --git a/static/img/posts/tp-mk/stem.jpg b/static/img/posts/tp-mk/stem.jpg Binary files differ. diff --git a/static/img/posts/tp-mk/switch-diodes.jpg b/static/img/posts/tp-mk/switch-diodes.jpg Binary files differ. diff --git a/static/img/posts/tp-mk/switch-solder.jpg b/static/img/posts/tp-mk/switch-solder.jpg Binary files differ. diff --git a/static/img/posts/tp-mk/switches.jpg b/static/img/posts/tp-mk/switches.jpg Binary files differ. diff --git a/static/img/posts/tp-mk/teensy-wire.jpg b/static/img/posts/tp-mk/teensy-wire.jpg Binary files differ. diff --git a/static/img/posts/tp-mk/tp-attached.jpg b/static/img/posts/tp-mk/tp-attached.jpg Binary files differ. diff --git a/static/img/posts/tp-mk/tp-cap.jpg b/static/img/posts/tp-mk/tp-cap.jpg Binary files differ. diff --git a/static/img/posts/tp-mk/tp-installed.jpg b/static/img/posts/tp-mk/tp-installed.jpg Binary files differ. diff --git a/static/img/posts/tp-mk/tp-module.jpg b/static/img/posts/tp-mk/tp-module.jpg Binary files differ. diff --git a/static/img/posts/tp-mk/tp-soldered.jpg b/static/img/posts/tp-mk/tp-soldered.jpg Binary files differ. diff --git a/static/img/posts/tp-mk/tp-test.jpg b/static/img/posts/tp-mk/tp-test.jpg Binary files differ. diff --git a/static/img/posts/tp-mk/tp-wire.jpg b/static/img/posts/tp-mk/tp-wire.jpg Binary files differ. diff --git a/static/img/posts/vim-indenting/indent-guides.png b/static/img/posts/vim-indenting/indent-guides.png Binary files differ. diff --git a/static/img/posts/vim-indenting/prog-languages.png b/static/img/posts/vim-indenting/prog-languages.png Binary files differ. diff --git a/static/img/posts/vim-indenting/tabs-1.png b/static/img/posts/vim-indenting/tabs-1.png Binary files differ. diff --git a/static/img/posts/vim-indenting/tabs-2.png b/static/img/posts/vim-indenting/tabs-2.png Binary files differ. diff --git a/static/img/posts/vim-indenting/tabs-3.png b/static/img/posts/vim-indenting/tabs-3.png Binary files differ. diff --git a/static/img/posts/vim-indenting/vim.jpg b/static/img/posts/vim-indenting/vim.jpg Binary files differ. diff --git a/static/js/addtoany.min.js b/static/js/addtoany.min.js @@ -0,0 +1 @@ +var a2a_config=a2a_config||{};a2a_config.vars={vars:["menu_type","static_server","linkmedia","linkname","linkurl","linkname_escape",["http_s","http:"!=document.location.protocol?"s":""],"show_title","onclick","num_services","hide_embeds","prioritize","exclude_services","custom_services",["templates",{}],"orientation",["track_links",!1],["track_links_key",""],"tracking_callback","track_pub","color_main","color_bg","color_border","color_link_text","color_link_text_hover","color_arrow","color_arrow_hover",["add_services",!1,1],["thanks",{}],"locale","delay","icon_color","no_3p","show_menu","target"],process:function(){for(var e,a,t=a2a_config.vars.vars,n=0,i=t.length;n<i;n++)void 0!==(a="string"==typeof t[n]?(e=t[n],undefined):(e=t[n][0],t[n][1]))&&"undefined"==typeof a2a_config[e]&&(a2a_config[e]=a)}},a2a_config.vars.process(),a2a_config.localize=window.a2a_localize||"",a2a_config.static_server=a2a_config.static_server||"https://static.addtoany.com/menu";var a2a=a2a||{static_addtoany:"https://static.addtoany.com/menu",total:0,kit_services:[],icons_img_url:a2a_config.static_server+"/icons.36.png",head_tag:document.getElementsByTagName("head")[0],canonical_url:function(){if(!document.querySelector)return!1;var e,a=document.querySelector('meta[property="og:url"]');return a?a.content:!!(e=document.querySelector('link[rel="canonical"]'))&&e.href}(),ieo:function(){for(var e=-1,a=document.createElement("b");a.innerHTML="\x3c!--[if gt IE "+ ++e+"]>1<![endif]--\x3e",+a.innerHTML;);return a2a.ieo=function(){return e},e},quirks:document.compatMode&&"BackCompat"==document.compatMode?1:null,is_mobile:navigator.userAgent.match(/Mobi/)||"screen"in window&&window.screen.width<1366,has_menter:document.documentElement&&"onmouseenter"in document.documentElement,has_touch:"ontouchend"in window,has_pointer:window.PointerEvent||navigator.msPointerEnabled,dom:{isReady:!1,ready:function(e){var a=function(){if(!document.body)return setTimeout(a2a.dom.ready(e));e(),a2a.dom.isReady=!0},t=function(e){(document.addEventListener||"load"===e.type||"complete"===document.readyState)&&(n(),a())},n=function(){document.addEventListener?(document.removeEventListener("DOMContentLoaded",t,!1),window.removeEventListener("load",t,!1)):(document.detachEvent("onreadystatechange",t),window.detachEvent("onload",t))};if("complete"===document.readyState)a();else if(document.addEventListener)document.addEventListener("DOMContentLoaded",t,!1),window.addEventListener("load",t,!1);else{document.attachEvent("onreadystatechange",t),window.attachEvent("onload",t);var i=!1;try{i=null==window.frameElement&&document.documentElement}catch(o){}i&&i.doScroll&&!function l(){if(!a2a.dom.isReady){try{i.doScroll("left")}catch(o){return setTimeout(l,50)}n(),a()}}()}}},ready:function(){a2a.type="page",a2a.cbs("ready"),a2a.ready=function(){}},init:function(e,a){var t,n,i,o,l=a2a.c,r=(a=a||{},{}),s=null,c={},d=location.href;for(var u in a2a.make_once(e),a)l[u]=a[u];for(var u in l)r[u]=l[u];if(n=l.target)if("string"==typeof n){if(i=n.substr(0,1),o=n.substr(1),"."==i)return a2a.multi_init(a2a.HTMLcollToArray(a2a.getByClass(o,document)),e,a),void(l.target=!1);0<=(t=(s=a2a.gEl(o)).className).indexOf("a2a_kit")&&t.indexOf("a2a_target")<0&&(s=null)}else s=l.target;(e=l.menu_type?"mail":e)&&(a2a.type=e,l.vars.process()),c.type=a2a.type,c.node=s,c.linkmedia=l.linkmedia,c.linkname=l.linkname||document.title||location.href,c.linkurl=l.linkurl||location.href,c.linkname_escape=l.linkname_escape,c.linkname_implicit=!l.linkname_escape&&(document.title||d)==c.linkname,c.linkurl_implicit=d==c.linkurl,c.orientation=l.orientation||!1,c.track_links=l.track_links||!1,c.track_links_key=l.track_links_key||"",c.track_pub=l.track_pub||!1,l.linkmedia=l.linkname=l.linkurl=l.linkname_escape=l.show_title=l.custom_services=l.exclude_services=l.orientation=l.track_pub=l.target=!1,"custom"==l.track_links&&(l.track_links=!1,l.track_links_key=""),a2a.last_type=a2a.type,window["a2a"+a2a.type+"_init"]=1,function(e,a){a2a.total++,a2a.n=a2a.total;var t,n,i=(a2a["n"+a2a.n]=e).node=a2a.set_this_index(e.node),o=document.createElement("div"),l=a2a.getData(i)["a2a-media"],r=a2a.getData(i)["a2a-title"],s=a2a.getData(i)["a2a-url"];i?(e.linkname_escape&&(n=a2a.getByClass("a2a_linkname_escape",i.parentNode)[0]||a2a.getByClass("a2a_linkname_escape",i.parentNode.parentNode)[0])&&(e.linkname=n.textContent||n.innerText),e.linkmedia=a.linkmedia=l||e.linkmedia,e.linkname=a.linkname=r||e.linkname,e.linkurl=a.linkurl=s||e.linkurl,r&&(e.linkname_implicit=!1),s&&(e.linkurl_implicit=!1),"textContent"in document?o.textContent=e.linkname:o.innerText=e.linkname,(t=o.childNodes[0])&&(e.linkname=t.nodeValue),delete o,i.a2a_kit?a2a.kit(e,a):a2a.button(e)):a2a.c.show_menu||a2a.total--}(c,r),l.menu_type=!1,a2a.init_show()},init_all:function(a){a2a.unindexed(function(e){0<=e.className.indexOf("a2a_follow")?a2a.init("feed",{target:e}):a2a.init(a||"page",{target:e})},!0)||!a2a.gEl("a2a_menu_container")||a2a.init_show.a2a_done||a2a.init(a)},multi_init:function(e,a,t){for(var n=0,i=e.length;n<i;n++)t.target=e[n],a2a.init(a,t)},button:function(e){var n=a2a.gEl,i=e.node,o=e.type,l="a2a"+o,r=n(l+"_dropdown"),a=n(l+"_full"),t=a2a.has_menter,s=i.firstChild,c=a2a[o].onclick;i.getAttribute("onclick")&&-1!=(i.getAttribute("onclick")+"").indexOf("a2a_")||i.getAttribute("onmouseover")&&-1!=(i.getAttribute("onmouseover")+"").indexOf("a2a_")||(a2a.add_event(i,"click",function(e){a2a.preventDefault(e),a2a.stopPropagation(e);var a="none"!==r.style.display,t=document.activeElement;if(a?a2a.toggle_dropdown("none",o):2!==c&&(a2a.show_menu(i),a2a[o].last_focus=t,r.focus()),a&&a2a.isDisplayed(n(l+"_show_more_less"))||2===c){if("mail"==o)return;a2a.show_full(),a2a[o].last_focus=t}}),a2a.add_event(i,"click",a2a.stopPropagation),a2a.add_event(i,"touchstart",a2a.stopPropagation,!!a2a.evOpts()&&{passive:!0}),!a2a[a2a.type].onclick&&t&&(a2a.c.delay?i.onmouseenter=function(){a2a[a2a.type].over_delay=setTimeout(function(){a2a.show_menu(i)},a2a.c.delay)}:i.onmouseenter=function(){a2a.show_menu(i)},i.onmouseleave=function(){a2a.miniLeaveDelay(),a2a[a2a.type].over_delay&&clearTimeout(a2a[a2a.type].over_delay)}),a2a.add_event(i,"mouseenter",function(){a.style.willChange="transform, opacity",n("a2a_overlay").style.willChange="backdrop-filter, opacity"})),"a"==i.tagName.toLowerCase()&&"page"==a2a.type&&(i.href="https://www.addtoany.com/share#url="+encodeURIComponent(e.linkurl)+"&title="+encodeURIComponent(e.linkname).replace(/'/g,"%27")),s&&"undefined"!=typeof s.srcset&&/\/share_save_171_16.(?:gif|png)$/.test(s.src)&&(s.srcset="https://static.addtoany.com/buttons/share_save_342_32.png 2x")},kit:function(o,e){var a,t,n,i,l,p=o.type,r={behance:{name:"Behance",icon:"behance",color:"007EFF",url:"https://www.behance.net/${id}"},facebook:{name:"Facebook",icon:"facebook",color:"1877f2",url:"https://www.facebook.com/${id}"},flickr:{name:"Flickr",icon:"flickr",color:"FF0084",url:"https://www.flickr.com/photos/${id}"},foursquare:{name:"Foursquare",icon:"foursquare",color:"F94877",url:"https://foursquare.com/${id}"},github:{name:"GitHub",icon:"github",color:"2A2A2A",url:"https://github.com/${id}"},instagram:{name:"Instagram",icon:"instagram",color:"E4405F",url:"https://www.instagram.com/${id}"},linkedin:{name:"LinkedIn",icon:"linkedin",color:"007BB5",url:"https://www.linkedin.com/in/${id}"},linkedin_company:{name:"LinkedIn",icon:"linkedin",color:"007BB5",url:"https://www.linkedin.com/company/${id}"},medium:{name:"Medium",icon:"medium",color:"2A2A2A",url:"https://medium.com/@${id}"},pinterest:{name:"Pinterest",icon:"pinterest",color:"BD081C",url:"https://www.pinterest.com/${id}"},snapchat:{name:"Snapchat",icon:"snapchat",color:"2A2A2A",url:"https://www.snapchat.com/add/${id}"},tumblr:{name:"Tumblr",icon:"tumblr",color:"35465C",url:"http://${id}.tumblr.com"},twitter:{name:"Twitter",icon:"twitter",color:"55ACEE",url:"https://twitter.com/${id}"},vimeo:{name:"Vimeo",icon:"vimeo",color:"1AB7EA",url:"https://vimeo.com/${id}"},youtube:{name:"YouTube",icon:"youtube",color:"FF0000",url:"https://www.youtube.com/user/${id}"},youtube_channel:{name:"YouTube Channel",icon:"youtube",color:"FF0000",url:"https://www.youtube.com/channel/${id}"}},s=["facebook_like","twitter_tweet","pinterest_pin","linkedin_share"],c=a2a.counters.avail,d=function(e,a){if(e&&!a2a.in_array(e,s))for(var t=0,n=a?a2a[p].services.most.concat(a2a[p].services.email):a2a.services,i=n.length;t<i;t++)if(e==n[t][1])return[n[t][0],n[t][2],n[t][3],n[t][4],n[t][5]];return!a&&[e,e]},u=function(e,a){for(var t,n=0,i=e.attributes.length,o=a;n<i;n++)(t=e.attributes[n]).name&&"data-"==t.name.substr(0,5)&&(o[t.name.substr(5)]=t.value);return o},m=function(){E=o.linkurl=a2a.getData(h)["a2a-url"]||E,S=o.linkname=a2a.getData(h)["a2a-title"]||S,B=o.linkmedia=a2a.getData(h)["a2a-media"]||B,a2a.linker(this)},f=function(e,a,t){var n={node:a,service:e,title:S,url:E,media:B,mediaNode:h.a2a_mediaNode},i=a2a.cbs("share",n);return void 0!==i&&(i.url&&(o.linkurl=i.url,o.linkurl_implicit=!1),i.title&&(o.linkname=i.title,o.linkname_implicit=!1),i.media&&(o.linkmedia=i.media),a2a.linker(a),i.stop&&t&&a2a.preventDefault(t)),i},_=a2a.c.templates,g=a2a.in_array,h=o.node,v=a2a.getData(h),y=h.className,k=h.a2a_follow,w=a2a.HTMLcollToArray(h.getElementsByTagName("a")),b=w.length,x=document.createElement("div"),A=encodeURIComponent,E=o.linkurl,C=A(o.linkurl).replace(/'/g,"%27"),S=o.linkname,B=(A(o.linkname).replace(/'/g,"%27"),o.linkmedia),T=(B&&A(o.linkmedia).replace(/'/g,"%27"),v["a2a-icon-color"]||a2a.c.icon_color),F=T?T.split(",",2):T,L=F?F[0]:F,N=F?F[1]:F,z=y.match(/a2a_kit_size_([\w\.]+)(?:\s|$)/),D=z?z[1]:"16",I=D+"px",M="a2a_svg a2a_s__default a2a_s_",j={},P={},O=o.linkurl_implicit&&a2a.canonical_url?encodeURIComponent(a2a.canonical_url).replace(/'/g,"%27"):C,H=v["a2a-scroll-show"],R=0<=y.indexOf("a2a_vertical_style");D&&!isNaN(D)&&(a2a.svg.load(),T&&"unset"!=T&&a2a.svg.works()&&(L&&"unset"!=L&&(j.backgroundColor=L),N&&"unset"!=N.trim()&&(N=N.trim())),h.style.lineHeight=P.height=P.lineHeight=I,P.width=2*D+"px",P.fontSize="16px",R&&(P.height=P.lineHeight=D/2+"px",P.fontSize="10px",P.width=D+"px"),H&&a2a.scrollToggle(h,H),32!=D&&(j.backgroundSize=j.height=j.lineHeight=j.width=I,P.borderRadius=j.borderRadius=(.14*D).toFixed()+"px",P.fontSize=(parseInt(P.height,10)+(R?4:0))/2+"px")),a2a.kit.facebook_like=function(){pe.href=E,pe.width="90",pe.layout="button_count",pe.ref="addtoany",pe=u(V,pe),V.style.width=pe.width+"px";var e,a,t,n,i=a2a.i18n();for(var o in 2==(i=i?i.replace(/-/,"_"):"en_US").length&&(i+="_"+i.toUpperCase()),pe)ue+=" data-"+o+'="'+pe[o]+'"';window.fbAsyncInit||(window.fbAsyncInit=function(){FB.init({appId:"0",status:!1,xfbml:!0,version:"v3.1"}),FB.Event.subscribe("edge.create",function(e,a){a2a.GA.track("Facebook Like","facebook_like",e,"pages","AddToAny Share/Save Button"),f("Facebook Like",V)})},(U=document.createElement("span")).id="fb-root",document.body.insertBefore(U,document.body.firstChild)),a2a.kit.facebook_like_script||(e=document,a="facebook-jssdk",n=e.getElementsByTagName("script")[0],e.getElementById(a)||((t=e.createElement("script")).id=a,t.src="https://connect.facebook.net/"+i+"/sdk.js#xfbml=1&version=v3.1",n.parentNode.insertBefore(t,n))),a2a.kit.facebook_like_script=1,V.innerHTML='<div class="fb-like"'+ue+"></div>";try{FB.XFBML.parse(V)}catch(l){}},a2a.kit.twitter_tweet=function(){pe.url=E,pe.lang=a2a.i18n()||"en",pe.related="AddToAny,micropat";var e=_.twitter,a="string"==typeof e?e.lastIndexOf("@"):null;a&&-1!==a&&(a++,a=(a=e.substr(a).split(" ",1))[0].replace(/:/g,"").replace(/\//g,"").replace(/-/g,"").replace(/\./g,"").replace(/,/g,"").replace(/;/g,"").replace(/!/g,""),pe.related=a+",AddToAny"),pe=u(V,pe);var t,n,i,o,l,r=document.createElement("a");for(var s in r.className="twitter-share-button",pe)r.setAttribute("data-"+s,pe[s]);V.appendChild(r),a2a.kit.twitter_tweet_script||(t=document,n="twitter-wjs",l=t.getElementsByTagName("script")[0],t.getElementById(n)||((o=t.createElement("script")).id=n,o.src="https://platform.twitter.com/widgets.js",l.parentNode.insertBefore(o,l),window.twttr=window.twttr||(i={_e:[],ready:function(e){i._e.push(e)}}))),a2a.kit.twitter_tweet_script=1;try{twttr.ready(function(e){a2a.twitter_bind||(e.events.bind("click",function(l){if(l&&"tweet"==l.region){var e=function(){var e=l.target.src.split("#")[1]||"";if(e&&-1<e.indexOf("url=")){for(var a={},t=e.split("&"),n=t.length,i=0;i<n;i++){var o=t[i].split("=");a[o[0]]=o[1]}return a}return!1}();e&&e.url&&(a2a.GA.track("Twitter Tweet","twitter_tweet",unescape(e.url),"pages","AddToAny Share/Save Button"),f("Twitter Tweet",V))}}),a2a.twitter_bind=1),e.widgets&&e.widgets.load()})}catch(c){}},a2a.kit.pinterest_pin=function(){pe["pin-config"]="beside",pe["pin-do"]="buttonPin",pe.media=B,pe.url=E,pe=u(V,pe);var e,a,t,n=document.createElement("a");for(var i in pe)n.setAttribute("data-"+i,pe[i]);"beside"==pe["pin-config"]&&"buttonPin"==pe["pin-do"]&&(V.style.width="76px"),n.href="https://www.pinterest.com/pin/create/button/?url="+pe.url+(pe.media?"&media="+pe.media:"")+(pe.description?"&description="+encodeURIComponent(pe.description).replace(/'/g,"%27"):""),a2a.add_event(V,"click",function(){a2a.GA.track("Pinterest Pin","pinterest_pin",E,"pages","AddToAny Share/Save Button"),f("Pinterest Pin",V)}),V.appendChild(n),a2a.kit.pinterest_pin_script||(e=document,a=e.createElement("script"),t=e.getElementsByTagName("script")[0],a.type="text/javascript",a.async=!0,a.src="https://assets.pinterest.com/js/pinit.js",t.parentNode.insertBefore(a,t)),a2a.kit.pinterest_pin_script=1},a2a.kit.linkedin_share=function(){for(var e in pe.onsuccess="a2a.kit.linkedin_share_event",pe.url=E,pe=u(V,pe))ue+=" data-"+e+'="'+pe[e]+'"';var a,t,n;a2a.kit.linkedin_share_event=function(){a2a.GA.track("LinkedIn Share","linkedin_share",E,"pages","AddToAny Share/Save Button"),f("LinkedIn Share",V)},a2a.kit.linkedin_share_script||(a=document,t=a.createElement("script"),n=a.getElementsByTagName("script")[0],t.type="text/javascript",t.async=!0,t.src="https://platform.linkedin.com/in.js",n.parentNode.insertBefore(t,n)),a2a.kit.linkedin_share_script=1,V.innerHTML='<script type="IN/Share"'+ue+"><\/script>"};for(var $=0;$<b;$++){var U,W,q,G,V=w[$],J=V.className,Y=J.match(/a2a_button_([\w\.]+)(?:\s|$)/),K=0<=J.indexOf("a2a_dd"),X=0<=J.indexOf("a2a_counter"),Q=!!Y&&Y[1],Z=V.childNodes,ee=d(Q),ae=k&&r[Q]?r[Q].name:ee[0],te=" noopener",ne="_blank",ie=k&&r[Q]?r[Q].icon:ee[1],oe=k&&r[Q]?r[Q].color:ee[2]||"CAE0FF",le=ee[3]||{},re=le.type,se=ee[4],ce=!1,de=!1,ue="",pe={};if(K)e.target=V,a2a.init(p,e),oe="0166FF",ie=Q="a2a",de=X&&1,0<=y.indexOf("a2a_floating_style")&&(V.a2a_floating=1);else if("feed"==Q||"print"==Q)te=ne="";else if("copy_link"==Q)a2a.add_event(V,"mouseenter",function(){a2a.gEl("a2a_modal").style.willChange="transform, opacity",a2a.gEl("a2a_overlay").style.willChange="backdrop-filter, opacity"});else if(X&&Q&&g(Q,c))de=1;else if(Q&&g(Q,s)){if("1"===navigator.doNotTrack||"1"===window.doNotTrack)continue;a2a.kit[Q](),ce=1}if(Q&&!g(Q,["google_plus","stumbleupon"])&&!ce){if(K||(V.target=ne,!k||!r[Q]&&d(Q,!0)?"feed"==Q?V.href=V.href||o.linkurl:(V.href="/#"+Q,"js"===re?a2a.add_event(V,"click",m):(a2a.add_event(V,"mousedown",m),a2a.add_event(V,"keydown",m)),V.rel="nofollow"+te):V.href=(t=Q,l=n=void 0,i=u(a=V,{})["a2a-follow"],l=r[t],i&&l&&(n=l.url.replace("${id}",i)),n||a.href),V.a2a={},V.a2a.customserviceuri=se,V.a2a.stype=re,V.a2a.linkurl=o.linkurl,V.a2a.servicename=ae,V.a2a.safename=Q,le.src&&(V.a2a.js_src=le.src),le.url&&(V.a2a.url=le.url),le.pu&&(V.a2a.popup=1),le.media&&(V.a2a.media=1),h.a2a_codes=h.a2a_codes||[],h.a2a_codes.push(Q),k||a2a.add_event(V,"click",function(r,s,c,d,u){return function(e){var a,t,n,i="js"===u.a2a.stype,o=screen.height,l="event=service_click&url="+A(location.href)+"&title="+A(document.title||"")+"&ev_service="+A(r)+"&ev_service_type=kit&ev_menu_type="+p+"&ev_url="+A(c)+"&ev_title="+A(d).replace(/'/g,"%27");t=!(!(a=f(s,u,e))||!a.stop),n=u.a2a.js_skip,"feed"==p||u.a2a.url||u.a2a.js_src||a2a.postClick(h),!u.a2a.popup||a2a.defaultPrevented(e)||i||(a2a.preventDefault(e),window.open(u.href,"_blank","toolbar=0,personalbar=0,resizable,scrollbars,status,width=550,height=450,top="+(450<o?Math.round(o/2-225):40)+",left="+Math.round(screen.width/2-275))),!u.a2a.externalJS&&!u.a2a.literalJS||t||n||a2a.runJS(u.a2a),i&&!n&&a2a.preventDefault(e),n&&delete u.a2a.js_skip,a2a.util_frame_post(p,l),a2a.GA.track(s,r,c,"pages","AddToAny Share/Save Button")}}(Q,ae,E,S,V))),Z.length){for(var me,fe,_e,ge=0,he=Z.length;ge<he;ge++)if(_e=(fe="string"==typeof(me=Z[ge].className))&&("a2a_label"===me||0<=me.indexOf("a2a_ignore")),1==Z[ge].nodeType&&(_e||(G=!0),fe&&0<=me.indexOf("a2a_count"))){q=!0;break}if(!G){for(var ve in(U=document.createElement("span")).className=M+ie+" a2a_img_text",oe&&(U.style.backgroundColor="#"+oe),"pending"!==(W=a2a.svg.get(ie,U,N))&&(U.innerHTML=W),j)U.style[ve]=j[ve];V.insertBefore(U,Z[0])}}else{for(var ve in(U=document.createElement("span")).className=M+ie,oe&&(U.style.backgroundColor="#"+oe),"pending"!==(W=a2a.svg.get(ie,U,N))&&(U.innerHTML=W),j)U.style[ve]=j[ve];V.appendChild(U),(U=document.createElement("span")).className="a2a_label",U.innerHTML=ae||("feed"==p?a2a.c.localize.Subscribe:a2a.c.localize.Share),ae||(U.className+=" a2a_localize",U.setAttribute("data-a2a-localize","inner,"+("feed"==p?"Subscribe":"Share"))),V.appendChild(U)}if(R&&D&&D<20&&(de=!1),de&&!q){for(var ve in(U=document.createElement("span")).className="a2a_count",U.a2a={},U.a2a.kit=h,P)U.style[ve]=P[ve];V.appendChild(U),K?(U.a2a.is_a2a_dd_counter=1,h.a2a_dd_counter=U,a2a.counters.get("facebook",U,O)):a2a.counters.get(Q,U,O)}"a2a_dd"!=J&&a2a.kit_services.push(V)}}0<=y.indexOf("a2a_default_style")&&(x.style.clear="both",h.appendChild(x))},counters:{get:function(i,o,e,l){a2a_config.counts;var r,a,t=decodeURIComponent(e),n=a2a.counters.bonus(i,t,e,o.a2a.kit),s="",c=a2a.counters[i],d=c.api,u=(c.cb,o.a2a.is_a2a_dd_counter);!l&&n&&(s="2",a2a.counters.get(i,o,n,!0)),"string"!=typeof(r=c[t]=c[t]||{}).num||l?"number"!=typeof r.num?(r.queued=r.queued||[],r.queued.push(o),c.n=c.n||0,c.n++,c["cb"+c.n]=function(e){var a,t=a2a.counters[i].cb(e,o);if(void 0!==t){if("string"==typeof t&&"facebook"==i)return"empty"==t?a="Note: Facebook no longer provides public API access to share counts. AddToAny is soon launching a premium service to manage private API access to Facebook and display share counts.":"limit"==t&&(a="Facebook's public share counts API has reached its request limit from your connection. Try again later."),console&&"function"==typeof console.log&&console.log("%c"+a,"color:#1877f2"),l||(o.style.display="none"),void(r.num="error");for(var n=0;n<r.queued.length;n++)queued_count_element=r.queued[n],r.num=t,queued_count_element.a2a.is_a2a_dd_counter?a2a.counters.sum(queued_count_element,t,i+s):a2a.counters.set(queued_count_element,t,i+s)}},1==r.queued.length&&(a=d[0]+e+(d[1]||"&callback")+"=a2a.counters."+i+".cb"+c.n,a2a.dom.ready(function(){a2a.loadExtScript(a)}))):u?a2a.counters.sum(o,r.num,i+s):a2a.counters.set(o,r.num,i+s):o.style.display="none"},set:function(e,a,t){var n=a;a="undefined"!=typeof e.a2a.last_count?e.a2a.last_count+a:a,e.innerHTML="<span>"+a2a.counters.format(a)+"</span>","a2a"!=t&&(e.a2a.last_count=n,a2a.counters.sum(e,n,t))},sum:function(e,a,t){var n=e.a2a.kit,i=n.a2a_counts_sum||0,o=n.a2a_counts_summed||[];"a2a"!=t&&-1===o.indexOf(t)&&(i=n.a2a_counts_sum=i+a,(o=n.a2a_counts_summed=o||[]).push(t)),n.a2a_dd_counter&&a2a.counters.set(n.a2a_dd_counter,i,"a2a")},format:function(e){var a=a2a.counters.format,t="localize";return a[t]||(a.locale=a2a.i18n(),a[t]=function n(){return!("object"!=typeof Intl||!Intl||"function"!=typeof Intl.NumberFormat)}()?function i(e){return e.toLocaleString(a.locale,{maximumFractionDigits:1})}:function o(e,a){return a&&"decimal"===a?Math.round(10*e)/10:e=(e+="").charAt(0)+","+e.substring(1)}),999<e&&(e=e<1e6?1e4<e?a[t](e/1e3,"decimal")+"k":a[t](e):e<1e9?a[t](e/1e6,"decimal")+"M":"1B+"),e},bonus:function(e,a,t,n){var i,o,l,r=a2a_config.counts,s="%3A%2F%2F";return r&&(r.recover_protocol&&"http"===r.recover_protocol&&(i=t.replace(/^https%/,"http%"),a=decodeURIComponent(i)),r.recover_domain&&(i=encodeURIComponent(a.replace(/^(https?\:\/\/)(?:[^\/?#]+)([\/?#]|$)/i,"$1"+r.recover_domain+"$2")),a=decodeURIComponent(i)),r.recover&&"function"==typeof r.recover&&(l={url:(o=document.createElement("a")).href=a,pathParts:o.pathname.split("/"),domain:o.hostname,protocol:o.protocol,kit:n},i=encodeURIComponent(r.recover(l)))),!(!i||i===t||-1!==["tumblr"].indexOf(e)&&i.split(s).pop()===t.split(s).pop())&&i},avail:["facebook","pinterest","reddit","tumblr"],facebook:{api:["https://graph.facebook.com/?fields=og_object%7Bengagement%7D&id=","&callback"],cb:function(e,a){return e&&e.og_object&&e.og_object.engagement&&!isNaN(e.og_object.engagement.count)?e.og_object.engagement.count:e&&e.error&&e.error.code&&4===e.error.code?"limit":"empty"}},pinterest:{api:["https://widgets.pinterest.com/v1/urls/count.json?url="],cb:function(e,a){if(e&&!isNaN(e.count))return e.count}},reddit:{api:["https://www.reddit.com/api/info.json?url=","&jsonp"],cb:function(e,a){var t=e.data;if(e&&t&&t.children){for(var n,i=0,o=[],l=t.children;i<l.length;i++)(n=l[i].data)&&!isNaN(n.ups)&&o.push(n.ups);return 0<o.length?Math.max.apply(null,o):0}}},tumblr:{api:["https://api.tumblr.com/v2/share/stats?url="],cb:function(e,a){if(e&&e.response&&!isNaN(e.response.note_count))return e.response.note_count}}},overlays:function(){var e=a2a.c.overlays||[],a=!!a2a.evOpts()&&{passive:!0},t=window,n=t.innerWidth,i=t.innerHeight,y=n&&(n<375||i<375)?150:200,k=200,w=location.href,b=document.title||w;function o(e,a,t,n){var i,o,l,r,s,c,d,u,p,m=function v(e){return e.target?3===e.target.nodeType?e.target.parentNode:e.target:e.srcElement}(e),f=m,_=0,g=0,h=m.longDesc;if(a2a.matches(m,n)&&"false"!==m.getAttribute("data-a2a-overlay")){if(l=m.width<y||m.height<y,r="naturalWidth"in m&&(m.naturalWidth<k||m.naturalHeight<k),l||r)return;if(a2a.matches(m,"header img,footer img"))return;o=a2a.getPos(m,"scroll"),a.style.display="",s=a.clientHeight||a.offsetHeight,c=a.clientWidth||a.offsetWidth,t[0]&&("bottom"===t[0]?g=m.height-s:"center"===t[0]&&(g=x((m.height-s)/2))),t[1]&&("right"===t[1]?_=m.width-c:"center"===t[1]&&(_=x((m.width-c)/2))),d=o.left+_,u=o.top+g,a.style.left=d+"px",a.style.top=u+"px",a.setAttribute("data-a2a-media",m.src),(a.a2a_mediaNode=m).alt?a.setAttribute("data-a2a-title",m.alt):a.setAttribute("data-a2a-title",b),!h||"#"!==h.substr(0,1)&&"http"!==h.substr(0,4)?a.setAttribute("data-a2a-url",w):(p="#"===h.substr(0,1)?w.split("#")[0]+m.longDesc:h,a.setAttribute("data-a2a-url",p))}else if("none"!==a.style.display){for(;(i=f)&&"body"!==f.tagName.toLowerCase();){if(i===a)return;f=f.parentNode}a.style.display="none"}}for(var l=0,r=e.length;l<r;l++){var s,c=e[l],d=c.services||["pinterest","facebook"],u="",p=c.html,m=c.position,f=c.style,_=c.size||32,g=c.target,x=Math.round;if(m=m&&2<m.length?m.split(" "):["top","left"],f=!f||"horizontal"!==f&&"default"!==f?"vertical":"default",g=g||"img",p)document.body.insertAdjacentHTML("beforeend",p),s=document.body.lastChild;else{for(var h=0,v=d.length;h<v;h++){u+='<a class="a2a_button_'+d[h]+'"></a>'}(s=document.createElement("div")).className="a2a_kit a2a_kit_size_"+_+" a2a_overlay_style a2a_"+f+"_style",s.innerHTML=u,document.body.insertBefore(s,null)}s.style.display="none",s.style.position="absolute",s.setAttribute("data-a2a-title",b),s.setAttribute("data-a2a-url",w),a2a.add_event(document.body,"mouseover",function(a,t,n){return function(e){o(e,a,t,n)}}(s,m,g),a)}a2a.c.overlays=[]},init_show:function(){var e=a2a_config,a=a2a[a2a.type],t=a2a.show_menu,n=a2a.init_show,i=a2a.n;e.bookmarklet&&(a.no_hide=1,a2a.sole_index=i,t()),e.show_menu&&(a.no_hide=1,a2a.sole_index=i,t(!1,e.show_menu),e.show_menu=!1),n.a2a_done=1},unindexed:function(o,e){var a=document,t=a2a.getByClass,n=t("a2a_kit",a),i=a2a.HTMLcollToArray(a.getElementsByName("a2a_dd")).concat(t("a2a_dd",a));function l(e){for(var a,t,n=0,i=e.length;n<i;n++)if(("undefined"==typeof(a=e[n]).a2a_index||""===a.a2a_index)&&a.className.indexOf("a2a_target")<0&&a.parentNode.className.indexOf("a2a_kit")<0&&(t=o(a)),t)return t;return null}if(e)return l(n)||l(i);l(n.concat(i))},set_this_index:function(e){var a=a2a.n;function t(e){if(!(0<=e.className.indexOf("a2a_kit")))return!1;e.a2a_kit=1,0<=e.className.indexOf("a2a_follow")&&(e.a2a_follow=1)}return e?(e.a2a_index=a,t(e),e):a2a.unindexed(function(e){return e.a2a_index=a,t(e),e},!0)},gEl:function(e){return document.getElementById(e)},getByClass:function(e,a,t){return document.getElementsByClassName&&/\{\s*\[native code\]\s*\}/.test(""+document.getElementsByClassName)?a2a.getByClass=function(e,a,t){for(var n,i=(a=a||a2a.gEl("a2a"+a2a.type+"_dropdown")).getElementsByClassName(e),o=t?new RegExp("\\b"+t+"\\b","i"):null,l=[],r=0,s=i.length;r<s;r+=1)n=i[r],o&&!o.test(n.nodeName)||l.push(n);return l}:document.evaluate?a2a.getByClass=function(e,a,t){t=t||"*",a=a||a2a.gEl("a2a"+a2a.type+"_dropdown");for(var n,i,o=e.split(" "),l="",r="http://www.w3.org/1999/xhtml",s=document.documentElement.namespaceURI===r?r:null,c=[],d=0,u=o.length;d<u;d+=1)l+="[contains(concat(' ',@class,' '), ' "+o[d]+" ')]";try{n=document.evaluate(".//"+t+l,a,s,0,null)}catch(p){n=document.evaluate(".//"+t+l,a,null,0,null)}for(;i=n.iterateNext();)c.push(i);return c}:a2a.getByClass=function(e,a,t){t=t||"*",a=a||a2a.gEl("a2a"+a2a.type+"_dropdown");for(var n,i,o=e.split(" "),l=[],r="*"===t&&a.all?a.all:a.getElementsByTagName(t),s=[],c=0,d=o.length;c<d;c+=1)l.push(new RegExp("(^|\\s)"+o[c]+"(\\s|$)"));for(var u=0,p=r.length;u<p;u+=1){n=r[u],i=!1;for(var m=0,f=l.length;m<f&&(i=l[m].test(n.className));m+=1);i&&s.push(n)}return s},a2a.getByClass(e,a,t)},HTMLcollToArray:function(e){for(var a=[],t=e.length,n=0;n<t;n++)a[a.length]=e[n];return a},matches:function(e,a){var t,n="MatchesSelector",i="ms"+n,o="webkit"+n;if(e.matches)t="matches";else if(e[i])t=i;else{if(!e[o])return!(a2a.matches=function(e,a){return!1});t=o}return a2a.matches=function(e,a){return e[t](a)},a2a.matches(e,a)},evOpts:function(){var e=!1;try{var a=Object.defineProperty({},"passive",{get:function(){e=!0}});window.addEventListener("test",null,a)}catch(t){}return a2a.evOpts=function(){return e},e},add_event:function(e,a,t,n){if(e.addEventListener){if("object"==typeof n){var i=!!n.useCapture;n=a2a.evOpts()?n:i}return e.addEventListener(a,t,n),{destroy:function(){e.removeEventListener(a,t,n)}}}var o=function(){t.call(e,window.event)};return e.attachEvent("on"+a,o),{destroy:function(){e.detachEvent("on"+a,o)}}},stopPropagation:function(e){e||(e=window.event),e.cancelBubble=!0,e.stopPropagation&&e.stopPropagation()},preventDefault:function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},defaultPrevented:function(e){return!!(e.defaultPrevented||!1===e.returnValue||"undefined"==typeof e.defaultPrevented&&e.getPreventDefault&&e.getPreventDefault())},onLoad:function(e){var a=window.onload;"function"!=typeof window.onload?window.onload=e:window.onload=function(){a&&a(),e()}},in_array:function(e,a,t,n,i){if("object"==typeof a){e=e.toLowerCase();for(var o,l=a.length,r=0;r<l;r++)if(o=n?a[r][n]:a[r],o=i?o[i]:o,t){if(e==o.toLowerCase())return a[r]}else if(-1!=e.indexOf(o.toLowerCase())&&""!==o)return a[r]}return!1},serialize:function(e,a){var t=[];for(var n in e)if(e.hasOwnProperty(n)){var i=a?a+"["+n+"]":n,o=e[n];t.push("object"==typeof o?a2a.serialize(o,i):encodeURIComponent(i)+"="+encodeURIComponent(o))}return t.join("&")},throttle:function(t,n,i){var o,l,r,s;previous=0,i||(i={});var c=Date.now||function(){return(new Date).getTime()},d=function(){previous=!1===i.leading?0:c(),o=null,s=t.apply(l,r),o||(l=r=null)},e=function(){var e=c();previous||!1!==i.leading||(previous=e);var a=n-(e-previous);return l=this,r=arguments,a<=0||n<a?(o&&(clearTimeout(o),o=null),previous=e,s=t.apply(l,r),o||(l=r=null)):o||!1===i.trailing||(o=setTimeout(d,a)),s};return e.cancel=function(){clearTimeout(o),previous=0,o=l=r=null},e},scrollToggle:function(e,a){(a=a.split(","))[0]&&a[0].trim(),a[1]&&a[1].trim();var n,o=window,t=parseInt(a[0],10)||0,i=parseInt(a[1],10)||0,l=function(e,a,t){var n=o.pageYOffset,i=document.documentElement.scrollHeight-o.innerHeight-n;e.style.display=a<=n&&t<=i?"":"none"}.bind(null,e,t,i);(t||i)&&(a2a.scrollToggle.handlers=a2a.scrollToggle.handlers||[],(n=a2a.scrollToggle.handlers).push(l),n.length<2&&o.addEventListener("scroll",a2a.throttle(function(){for(var e=0,a=n,t=a.length;e<t;e++)a[e]()},20)),l())},miniLeaveDelay:function(){var e=a2a.type,a="a2a"+e,t=a2a.gEl;a2a.isDisplayed(t(a+"_dropdown"))&&"none"===a2a.getStyle(t(a+"_full"),"display")&&(a2a[e].out_delay=setTimeout(function(){a2a.toggle_dropdown("none",e),a2a[e].out_delay=null},501))},miniEnterStay:function(){a2a.type=a2a["n"+(a2a.sole_index||a2a.n)].type;var e=a2a.type;a2a[e]&&a2a[e].out_delay&&clearTimeout(a2a[e].out_delay)},toggle_dropdown:function(e,a){if("none"!=e||!a2a[a].no_hide){var t=(0,a2a.gEl)("a2a"+a+"_dropdown"),n=(document.activeElement,a2a.show_menu.key_listener);t.style.display=e,a2a.miniEnterStay(),"none"==e&&(a2a.show_menu["doc_click_listener_"+a].destroy(),delete a2a[a].doc_click_close_mini,n&&n[a]&&n[a].destroy())}},getData:function(e){if(!e)return{};for(var a,t=0,n=e.attributes.length,i={};t<n;t++)(a=e.attributes[t]).name&&"data-"==a.name.substr(0,5)&&(i[a.name.substr(5)]=a.value);return i},getStyle:function(e,a){return e?e.currentStyle?e.currentStyle[a.replace(/-(\w)/gi,function(e,a){return a.toUpperCase()})]:window.getComputedStyle(e,null).getPropertyValue(a):null},isDisplayed:function(e){var a=a2a.getStyle(e,"display");return!(!a||"none"===a)},getPos:function(e,a){var t,n=Math.round,i=(a2a.getScrollDocDims,"scroll"===a?a2a.getScrollDocDims("w"):0),o="scroll"===a?a2a.getScrollDocDims("h"):0;return"undefined"==typeof e.getBoundingClientRect?a2a.getPosOld(e):{left:n((t=e.getBoundingClientRect()).left+i),top:n(t.top+o)}},getPosOld:function(e){for(var a=0,t=0;a+=e.offsetLeft||0,t+=e.offsetTop||0,e=e.offsetParent;);return{left:a,top:t}},getDocDims:function(e){var a=0,t=0;return"number"==typeof window.innerWidth?(a=window.innerWidth,t=window.innerHeight):document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)?(a=document.documentElement.clientWidth,t=document.documentElement.clientHeight):document.body&&(document.body.clientWidth||document.body.clientHeight)&&(a=document.body.clientWidth,t=document.body.clientHeight),"w"==e?a:t},getScrollDocDims:function(e){var a=0,t=0;return"number"==typeof window.pageYOffset?(a=window.pageXOffset,t=window.pageYOffset):document.body&&(document.body.scrollLeft||document.body.scrollTop)?(a=document.body.scrollLeft,t=document.body.scrollTop):document.documentElement&&(document.documentElement.scrollLeft||document.documentElement.scrollTop)&&(a=document.documentElement.scrollLeft,t=document.documentElement.scrollTop),"w"==e?a:t},show_more_less:function(e){var a="a2a"+a2a.type;(0,a2a.gEl)(a+"_show_more_less");a2a.show_full()},focus_find:function(){var e=a2a.gEl("a2a"+a2a.type+"_find");"none"!=e.parentNode.style.display&&e.focus()},default_services:function(e){for(var a=e||a2a.type,t=a2a[a].main_services_col_1,n=t.length,i=0;i<n;i++)t[i].style.display=""},do_find:function(){var e,a=a2a.type,t=a2a[a].main_services,n=t.length,i=a2a.gEl("a2a"+a+"_find").value,o=a2a.in_array;if(""!==i){e=i.split(" ");for(var l=0;l<n;l++)o(t[l].a2a.serviceNameLowerCase,e,!1)?t[l].style.display="":t[l].style.display="none"}else a2a.default_services()},selection:function(e){var a,t,n=document.getElementsByTagName("meta"),i=n.length;if(window.getSelection)a=window.getSelection()+"";else if(document.selection){try{a=document.selection.createRange()}catch(s){a=""}a=a.text?a.text:""}if(a&&""!==a)return a;if(a2a["n"+a2a.n].linkurl===location.href&&-1===["facebook","twitter","linkedin"].indexOf(e))for(var o,l,r=0;r<i;r++)if(o=(o=n[r].getAttribute("name"))?o.toLowerCase():"",l=(l=n[r].getAttribute("property"))?l.toLowerCase():"",o&&"description"===o||l&&"og:description"===l){t=n[r].getAttribute("content");break}return t?t.substring(0,1200):""},collections:function(e){var a=a2a.gEl,t=a2a[e],n="a2a"+e;t.main_services_col_1=a2a.getByClass("a2a_i",a(n+"_full_services"),"a"),t.main_services=t.main_services_col_1,t.email_services=a2a.getByClass("a2a_i",a(n+"_2_col1","a")),t.all_services=t.main_services.concat(t.email_services)},cbs:function(e,a){var t=a2a.c.callbacks||[],n=a2a.c.tracking_callback,i={};n&&(n[e]?t.push(n):n[0]==e?(i[e]=n[1],t.push(i)):"function"==typeof n&&(i[e]=n,t.push(i)),a2a.c.tracking_callback=null);for(var o,l=0,r=t.length;l<r;l++)if("function"==typeof(o=t[l][e])&&(returned=o(a),"ready"==e&&(o=null),"undefined"!=typeof returned))return returned},linker:function(e){var a,t,n=location.href,i=document.title||n,o=e.parentNode,l=a2a["n"+(o.a2a_index||o.parentNode.a2a_index||a2a.sole_index||a2a.n)],r=l.type,s=e.a2a.safename,c=l.linkurl_implicit&&n!=l.linkurl?n:l.linkurl,d=encodeURIComponent(c).replace(/'/g,"%27"),u=l.linkname_implicit&&i!=l.linkname?i:l.linkname,p=encodeURIComponent(u).replace(/'/g,"%27"),m=l.linkmedia,f=!!m&&encodeURIComponent(m).replace(/'/g,"%27"),_=encodeURIComponent(a2a.selection(s)).replace(/'/g,"%27"),g=!l.track_links||"page"!=r&&"mail"!=r?"":"&linktrack="+l.track_links+"&linktrackkey="+encodeURIComponent(l.track_links_key),h=e.a2a.customserviceuri||!1,v=e.a2a.stype,y=e.a2a.js_src,k=e.a2a.url,w=e.a2a.media,b=a2a.c.templates,x=b[s],A="email",E=navigator.userAgent,C=-1!=E.indexOf("Safari")&&-1==E.indexOf("Chrome");function S(e){return encodeURIComponent(e).replace(/'/g,"%27").replace(/%24%7Blink%7D/g,"${link}").replace(/%24%7Blink_noenc%7D/g,"${link_noenc}").replace(/%24%7Blink_nohttp%7D/g,"${link_nohttp}").replace(/%24%7Bmedia%7D/g,"${media}").replace(/%24%7Btitle%7D/g,"${title}").replace(/%24%7Btitle_noenc%7D/g,"${title_noenc}").replace(/%24%7Bnotes%7D/g,"${notes}")}if(w&&f)e.a2a.js_skip=1,e.target="_blank";else if(v&&"js"==v&&y)e.target="","javascript:"==y.substr(0,11)?(t=y.replace("${link}",c.replace(/'/g,"\\'")),e.a2a.literalJS=t.substr(11)):e.a2a.externalJS=y,a="#"+s;else if(k&&(s!=A||s==A&&(a2a.is_mobile||C))&&!g){if(e.target="","object"==typeof x)for(var B in x)k=a2a.urlParam(k,B,S(x[B]));else"string"==typeof x&&(k=a2a.urlParam(k,"text",S(x)));a=k.replace(/\$\{link\}/g,d).replace(/\$\{media\}/g,f).replace(/\$\{link_noenc\}/g,c).replace(/\$\{link_nohttp\}/g,c.replace(/^https?:\/\//,"")).replace(/\$\{title\}/g,p)}else h&&"undefined"!=h&&(a=h.replace(/A2A_LINKNAME_ENC/,p).replace(/A2A_LINKURL_ENC/,d).replace(/A2A_LINKNOTE_ENC/,_));return e.href=a||"http"+a2a.c.http_s+"://www.addtoany.com/add_to/"+s+"?linkurl="+d+"&linkname="+p+(f?"&linkmedia="+f:"")+g+function T(){var e="";return x?e="&"+a2a.serialize({template:x}):b[A]&&v&&v==A&&(e="&"+a2a.serialize({template:b[A]})),e}()+("feed"==r?"&type=feed":"")+"&linknote="+_,!0},runJS:function(e){if(e.literalJS){var a=document.createElement("script");a.textContent=e.literalJS,a2a.head_tag.appendChild(a)}else e.externalJS&&a2a.loadExtScript(e.externalJS)},animate:function(e,a,t){if(a){var n=a2a.isDisplayed(a),i=a.classList,o="a2a_starting",l="transitionend";if("show"===e){if(n)return;!function r(e,a){a&&a2a.getStyle(e,"transition-duration")&&a.add(o)}(a,i),a.style.display="block",i&&setTimeout(function(){i.remove(o)},1)}else i?n?(a.addEventListener(l,function s(){a.style.display="show"===e?"block":"none",t&&t(),a.removeEventListener(l,s,!1)},!1),i.add(o)):t&&t():t&&(a.style.display="none",t())}},overlay:{show:function(){var e=a2a.gEl,n=a2a.type,a="a2a"+n,t=e("a2a_overlay"),i=e(a+"_find");"none"===a2a.getStyle(t,"display")&&(a2a.animate("show",t),a2a.overlay.key_listener=a2a.add_event(document,"keydown",function(e){var a=(e=e||window.event).which||e.keyCode,t=document.activeElement;27==a&&i!=t?a2a.hide_modals(n):40<a&&a<91&&i!=t&&i.focus()}))},hide:function(e){var a=a2a.gEl("a2a_overlay"),t=a2a.overlay,n=t.key_listener;a2a.animate("hide",a,e),n&&(n.destroy(),setTimeout(function(){delete t.key_listener},1))}},hide_modals:function(e){var a=a2a.gEl,t="a2a"+e,n=a(t+"_full"),i=a("a2a_overlay"),o=a("a2a_modal");a2a.show_full.full_shown=!1,a2a.animate("hide",o),a2a.animate("hide",n),a2a.overlay.hide(function l(){i.style.display=o.style.display="none",i.style.willChange=o.style.willChange="",n&&(n.style.display="none",n.style.willChange=""),a2a.thanks.showing=!1,a2a.isDisplayed(a(t+"_dropdown"))&&a(t+"_show_more_less").focus()})},show_modal:function(){a2a.type;for(var e=a2a.gEl,a=(e("a2a_overlay"),e("a2a_modal")),t=a2a.getByClass("a2a_modal_body",a),n=0;n<t.length;n++)t[n].style.display="none";a2a.overlay.show(),a2a.animate("show",a)},show_full:function(){var e=a2a.type,a="a2a"+e,t=a2a.gEl,n=a2a.getByClass,i=t(a+"_full"),o=n("a2a_full_header",i)[0],l=t(a+"_full_services"),r=n("a2a_full_footer",i)[0];a2a.fill_menus(e),a2a.overlay.show(),a2a.animate("show",i),l.style.cssText="height:calc(10px)",l.style.height.length&&(l.style.height="calc(100% - "+(o.offsetHeight+r.offsetHeight)+"px)"),i.focus(),a2a.stats("full")},show_menu:function(e,a){e?a2a.n=e.a2a_index:a2a.sole_index&&(a2a.n=a2a.sole_index);var t,n,i,o,l,r,s,c,d,u,p,m,f=a2a["n"+a2a.n],_=a2a.type=f.type,g="a2a"+_,h=a2a.gEl(g+"_dropdown"),v=a2a.has_touch,y=v?"touchstart":"click",k=!(!v||!a2a.evOpts())&&{passive:!0};a2a.fill_menus(_),a2a.gEl(g+"_title").value=f.linkname,a2a.toggle_dropdown("block",_),i=[h.clientWidth,h.clientHeight],o=a2a.getDocDims("w"),l=a2a.getDocDims("h"),e?(n=(t=e.a2a_floating)?"viewport":"scroll",h.style.position=t?"fixed":"",r=t?0:a2a.getScrollDocDims("w"),s=t?0:a2a.getScrollDocDims("h"),p=(c=e.getElementsByTagName("img")[0])?(d=a2a.getPos(c,n),u=c.clientWidth,c.clientHeight):(d=a2a.getPos(e,n),u=e.offsetWidth,e.offsetHeight),d.left-r+i[0]+u>o&&(d.left=d.left-i[0]+u-8),("up"==f.orientation||"down"!=f.orientation&&d.top-s+i[1]+p>l&&d.top>i[1])&&(d.top=d.top-i[1]-p),h.style.left=(d.left<0?0:d.left)+2+"px",h.style.top=d.top+p+"px"):(a||(a={}),h.style.position=a.position||"absolute",h.style.left=a.left||o/2-i[0]/2+"px",h.style.top=a.top||l/2-i[1]/2+"px"),a2a[_].doc_click_close_mini||a2a[_].no_hide||(a2a[_].doc_click_close_mini=(m=_,function(e){!a2a.ieo()&&"number"==typeof e.button&&0<e.button||(a2a[_].last_focus&&a2a[_].last_focus.focus(),a2a.toggle_dropdown("none",m))}),a2a.show_menu["doc_click_listener_"+_]=a2a.add_event(document,y,a2a[_].doc_click_close_mini,k)),a2a.show_menu.key_listener=a2a.show_menu.key_listener||{},a2a.show_menu.key_listener[_]=a2a.add_event(document,"keydown",function(e){27!=((e=e||window.event).which||e.keyCode)||a2a.overlay.key_listener||a2a.toggle_dropdown("none",_)}),a2a.svg.load();var w=encodeURIComponent,b="event=menu_show&url="+w(location.href)+"&title="+w(document.title||"")+"&ev_menu_type="+_;a2a.util_frame_post(_,b)},fill_menus:function(e){if(a2a.fill_menus.a2a=a2a.fill_menus.a2a||{},!a2a.fill_menus.a2a[e]){var a,t,n="a2a"+e,i=a2a.gEl,o=a2a.make_service,l=document.createDocumentFragment(),r=document.createDocumentFragment(),s=a2a[e].services,c=i(n+"_find"),d=document.createElement("i");if("mail"!=e){for(var u=0,p=s.most,m=p.length,f=parseInt(a2a[e].num_services),_=0,g=a2a[e].exclude_services;u<m;u++){var h=p[u];g&&a2a.in_array(h[1],g,!0)||l.appendChild(o(h[0],h[1],h[2],h[3],h[4])),!(_<f)||g&&a2a.in_array(h[1],g,!0)||(r.appendChild(o(h[0],h[1],h[2],h[3],h[4])),_++)}i(n+"_full_services").appendChild(l),i(n+"_mini_services").appendChild(r)}t=i(n+"_full_services"),d.className="a2a_i",a=d.cloneNode(),t.appendChild(d),t.appendChild(a);u=0;for(var v=s.email,y=v.length;u<y;u++){h=v[u];g&&a2a.in_array(h[1],g,!0)||i(n+"_2_col1").appendChild(o(h[0],h[1],h[2],h[3],h[4]))}a2a.arrange_services(),a2a.util_frame_listen(e),a2a.collections(e),a2a.default_services(),"mail"!=e&&(c.onkeydown=function(e){var a=(e=e||window.event).which||e.keyCode,t=a2a.type;if(13==a){for(var n,i=0,o=a2a[t].main_services,l=o.length;i<l;i++)if("none"!=(n=o[i]).style.display)return n.focus(),!1}else 27==a&&(""==c.value&&c.blur(),c.value="",a2a.do_find())}),a2a.fill_menus.a2a[e]=1}},bmBrowser:function(){},copyLink:function(e){var a=a2a.gEl,t=(a2a.getStyle,a("a2apage_full")),n=(a("a2a_overlay"),a("a2a_modal")),i=a("a2a_copy_link"),o=a("a2a_copy_link_copied"),l=a("a2a_copy_link_text");function r(){n.setAttribute("aria-label","Copy link"),l.value=e,a2a.show_modal(),i.style.display="block",n.focus(),a2a.stats("copy")}a2a.show_full.full_shown=a2a.isDisplayed(t),a2a.copyLink.clickListen||(a2a.add_event(l,"click",function(e){l.setSelectionRange?l.setSelectionRange(0,l.value.length):l.select(),document.execCommand&&document.execCommand("copy")&&(l.blur(),o.style.display="block",setTimeout(function(){n.style.display=i.style.display=o.style.display="none",a2a.show_full.full_shown?a2a.show_full():a2a.hide_modals("page")},700))}),a2a.copyLink.clickListen=1),a2a.show_full.full_shown?a2a.animate("hide",t,r):r()},thanks:{off:function(){var e=a2a_config.thanks;return"boolean"==typeof e&&!1===e||e&&"boolean"==typeof e.postShare&&!1===e.postShare},show:function(){var e=a2a.ads,a="a2a"+a2a.type,t=a2a.gEl,n=a2a.getStyle,i=t("a2a_modal"),o=t(a+"_full"),l=t("a2a_thanks"),r=a2a_config.thanks,s=a2a.thanks.off();function c(){i.setAttribute("aria-label","Thanks for sharing"),a2a.show_modal(),l.style.display="inline-block",a2a.thanks.showing=!0}a2a.ads.lit()&&r&&!s&&(e.has(!0)||r.postShare)&&!a2a.thanks.showing&&"none"===n(i,"display")&&(a2a.isDisplayed(o)?a2a.animate("hide",o,c):c())},showing:!1},postClick:function(e){var a=window,m=document,t=a2a.thanks,n="blur",i="focus",o="waiting";a2a.ads;function l(){a2a.stats("post"),a2a.thanks.show(),a.removeEventListener(i,l),t[o]=0}t[o]||(t[o]=1,a.addEventListener(n,function r(){a.removeEventListener(n,r),a.addEventListener(i,l),function p(e){var a,t=a2a.gEl,n="",i=e?e.a2a_index:null,o=e?e.a2a_codes:["facebook","twitter","email"],l=a2a["n"+(i||a2a.n)],r=l.type,s=t("a2a_thanks"),c="a2a_thanks_kit",d=t(c);d||((d=m.createElement("div")).id=c,s.appendChild(d)),d.innerHTML="",(a=m.createElement("div")).className="a2a_kit a2a_kit_size_32 a2a_default_style",a.setAttribute("data-a2a-url",l.linkurl),a.setAttribute("data-a2a-title",l.linkname),l.linkmedia&&a.setAttribute("data-a2a-media",l.linkmedia),a.style.display="flex",a.style.justifyContent="center";for(var u=0;u<o.length&&u<8;u++)n+='<a class="a2a_button_'+o[u]+'"></a>';a.innerHTML=n,d.appendChild(a),a2a.init("page",{target:a}),a2a.type=r}(e)}))},loadExtScript:function(e,t,n){var a=document.createElement("script");if(a.charset="UTF-8",a.src=e,document.body.appendChild(a),"function"==typeof t)var i=setInterval(function(){var e=!1;try{e=t.call()}catch(a){}e&&(clearInterval(i),n.call())},100)},domEval:function(e,a){var o=/^$|^module$|\/(?:java|ecma)script/i;function l(){var e=document.createEvent("Event");e.initEvent("DOMContentLoaded",!0,!0),document.dispatchEvent(e)}a.innerHTML=e,function r(e){var t,a=e.querySelectorAll("script"),n=[];[].forEach.call(a,function(a){(t=a.getAttribute("type"))&&!o.test(t)||n.push(function(e){!function n(e,a){var t=document.createElement("script");e.src?(t.onload=a,t.onerror=a,t.src=e.src):t.textContent=e.innerText,document.head.appendChild(t),e.src||a()}(a,e)})}),n.length&&function i(e,a,t){void 0===t&&(t=0),e[t](function(){++t===e.length?a():i(e,a,t)})}(n,l)}(a)},ads:{lit:function(){var e=a2a_config.thanks;return!((a2a.gEl("wpadminbar")||"undefined"!=typeof wp&&wp.customize)&&(!e||!e.postShare))},has:function(e){var a={},t=!1,n=window;return("object"==typeof adsbygoogle&&adsbygoogle.loaded||"object"==typeof google_ad_modifications)&&(a.as=t=!0),"object"==typeof googletag&&googletag.slots&&"function"==typeof Object.keys&&0<Object.keys(googletag.slots).length&&(a.dc=t=!0),n.vglnk&&n.vglnk.key&&(a.vl=t=!0),n.__SKIM_JS_GLOBAL__&&(a.sl=t=!0),(n.amazon_ad_tag||n.amzn_assoc_ad)&&(a.az=t=!0),!(e&&!a.as&&!a.dc)&&(t?a:void 0)},set:function(e){var i=a2a.gEl,o=(a2a.type,"a2a_thanks_a2a_ad"),a="a2a_thanks_pub_ad",l=i(o),r=i(a),s=i("a2a_thanks"),t=a2a_config.thanks,n="boolean"==typeof t&&!1===t||t&&"boolean"==typeof t.postShare&&!1===t.postShare||t&&"boolean"==typeof t.ad&&!1===t.ad,c=t&&"undefined"!=typeof t.ad&&!1!==t.ad;function d(){var e=window.innerHeight,a=e<460,t=Math.max(.5,(e/600).toFixed(1)),n=Math.floor(250*(t-1)/2);l.style.marginTop=e<360?"25px":"45px",l.style.transform=a?"translateY("+n+"px) scale("+t+")":"none"}(a2a.ads.lit()&&a2a.ads.has(!0)&&!n||c)&&(t&&"string"==typeof t.ad&&t.ad&&.5<=Math.random()?function u(){if(l&&(l.style.display="none"),!r){var e=document.createElement("div");e.id=a,e.style="margin:45px auto 0;",s.appendChild(e),a2a.domEval(t.ad,e)}}():e&&function p(){var e,a=encodeURIComponent(location.href),t="width:300px;height:250px;";r&&(r.style.display="none"),l?window.postMessage&&i("a2a_thanks_ifr").contentWindow.postMessage("a2a_refresh_slot1","*"):(function n(){if(window.postMessage)var t=a2a.add_event(window,"message",function(e){if(".a2a.me"===e.origin.substr(-7)){var a=e.data;a&&"a2a_display_slot1"===a&&(l.style.display="",t.destroy())}});else l.style.display=""}(),(e=document.createElement("iframe")).id="a2a_thanks_ifr",e.title="Post-Share Container",e.setAttribute("transparency","true"),e.setAttribute("allowTransparency","true"),e.setAttribute("frameBorder","0"),e.src="https://www.a2a.me/html/tag.html#url="+a,(l=document.createElement("div")).id=o,l.insertBefore(e,null),e.style=t,l.style=t+"display:none;border-radius:6px;margin:45px auto 0;overflow:hidden;",s.appendChild(l),d(),a2a.add_event(window,"resize",d))}())}},stats:function(a){if(a2a.stats.a2a=a2a.stats.a2a||{},!a2a.stats.a2a[a]){var e,t,n,i,o,l,r="&domain="+encodeURIComponent(location.href.split("/")[2]),s=a2a.ads,c=s.has();e=c&&c.as?"&as=1":"",t=c&&c.dc?"&dc=1":"",c&&c.vl?"&vl=1":"",n=c&&c.sl?"&sl=1":"",i=c&&c.az?"&az=1":"",o=c?"&ad=1":"",(l=new XMLHttpRequest).open("POST","https://stats.addtoany.com/menu"),l.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),l.timeout=3e3,l.ontimeout=function(e){l.abort(),"post"===a&&s.set()},"post"===a&&(l.onload=function(e){var a=this.responseText;200===this.status&&a&&"1"===a?s.set(!0):s.set()}),l.send("view="+a+r+o+e+t+n+i),a2a.stats.a2a[a]=1}},track:function(e){var a=new Image(1,1);a.src=e,a.width=1,a.height=1},GA:function(){var l=window,c=a2a.type,d="feed",e=function(){},a=function(){if("function"==typeof urchinTracker)a2a.GA.track=function(e,a,t,n,i){urchinTracker("/addtoany.com/"+n),urchinTracker("/addtoany.com/"+n+"/"+(t||a2a["n"+a2a.n].linkurl)),urchinTracker("/addtoany.com/services/"+a)};else if("object"==typeof pageTracker&&"object"==typeof _gat)a2a.GA.track=function(e,a,t,n,i){c!=d&&(_gat._anonymizeIp(),_gat._forceSSL(),pageTracker._trackSocial("AddToAny",e,t||a2a["n"+a2a.n].linkurl))};else if("object"==typeof _gaq)a2a.GA.track=function(e,a,t,n,i){c!=d&&(_gaq.push(["_gat._anonymizeIp"]),_gaq.push(["_gat._forceSSL"]),_gaq.push(["_trackSocial","AddToAny",e,t||a2a["n"+a2a.n].linkurl]))};else if("string"==typeof GoogleAnalyticsObject&&"object"!=typeof dataLayer)a2a.GA.track=function(e,a,t,n,i){if(c!=d){var o=t||a2a["n"+a2a.n].linkurl;l[GoogleAnalyticsObject]("send","social",{anonymizeIp:!0,forceSSL:!0,socialNetwork:"AddToAny",socialAction:e,socialTarget:o,page:o})}};else{if("object"!=typeof dataLayer)return;a2a.GA.track=function(e,a,t,n,i){if(c!=d){var o=t||a2a["n"+a2a.n].linkurl,l=a2a.c.callbacks;!function r(){dataLayer.push(arguments)}("event",e,{anonymize_ip:!0,event_category:"AddToAny",event_label:o}),l&&l.length&&"function"==typeof l.some&&l.some(function s(e){var a=e.share;return!!a&&/dataLayer[^]+AddToAnyShare[^]+socialAction/.test(a.toString())})||dataLayer.push({event:"AddToAnyShare",socialNetwork:"AddToAny",socialAction:e,socialTarget:o})}}}};a2a.GA.track=e,a(),a2a.GA.track===e&&a2a.onLoad(a)},add_services:function(){var e,a=a2a.type,t=a2a.gEl,n=parseInt(a2a[a].num_services),i=t("a2a"+a+"_full_services"),o=t("a2a"+a+"_mini_services");if(a2a[a].custom_services){var l=(d=a2a[a].custom_services).length,r=a2a.make_service;d.reverse();for(var s,c=0;c<l;c++)d[c]&&(1,s=r(d[c][0],d[c][0].replace(/ /g,"_"),!1,null,{},d[c][1],d[c][2]),i.insertBefore(s,i.firstChild),s=r(d[c][0],d[c][0].replace(/ /g,"_"),!1,null,{},d[c][1],d[c][2]),o.insertBefore(s,o.firstChild))}if("page"==a&&a2a.c.add_services){l=(d=a2a.c.add_services).length,r=a2a.make_service;var d,u=a2a.c.http_s;for(c=0;c<l;c++)d[c]&&(1,u&&(d[c].icon=!1),s=r(d[c].name,d[c].safe_name,!1,null,{},!1,d[c].icon),i.insertBefore(s,i.firstChild),s=r(d[c].name,d[c].safe_name,!1,null,{},!1,d[c].icon),o.insertBefore(s,o.firstChild))}if((e=a2a.getByClass("a2a_i",o,"a")).length>n){c=0;for(var p=e.length;c<p-n;c++)o.removeChild(o.lastChild)}},util_frame_make:function(e){var a=document.createElement("iframe"),t=document.createElement("div"),n=encodeURIComponent,i=document.referrer?n(document.referrer):"",o=n(location.href),l=(n(document.title||""),navigator.browserLanguage||navigator.language,a2a.c.no_3p?"&no_3p=1":"");a.id="a2a"+e+"_sm_ifr",a.width=a.height=1,a.style.width=a.style.height=t.style.width=t.style.height="1px",a.style.top=a.style.left=a.frameborder=a.style.border=0,a.style.position=t.style.position="absolute",a.style.zIndex=t.style.zIndex=1e5,a.title="AddToAny Utility Frame",a.setAttribute("transparency","true"),a.setAttribute("allowTransparency","true"),a.setAttribute("frameBorder","0"),a.src="https://static.addtoany.com/menu/sm.22.html#type="+e+"&event=load&url="+o+"&referrer="+i+l,t.style.top="0",t.style.visibility="hidden",a2a.gEl("a2a"+e+"_dropdown").parentNode.insertBefore(t,null),t.insertBefore(a,null)},util_frame_listen:function(e){a2a.util_frame_make(e),window.postMessage&&!a2a[e].message_event&&(a2a.add_event(window,"message",function(e){if(".addtoany.com"===e.origin.substr(-13)){var a="string"==typeof e.data?e.data.split("="):[""],t=a[0].substr(4),n=a[1],i=t.substr(0,4);if(a2a.c.http_s="s",-1===["page","feed","mail"].indexOf(i))return;t==i+"_services"&&(n=""!=n&&n.split(","),a2a.top_services(n,i," a2a_sss"),a2a.collections(i),a2a.default_services(i)),a2a.gEl("a2a"+i+"_sm_ifr").style.display="none"}}),a2a[e].message_event=1)},util_frame_post:function(e,a){var t=a2a.gEl("a2a"+e+"_sm_ifr");window.postMessage&&t&&t.contentWindow.postMessage(a,"*")},urlParam:function(e,a,t){var n,i,o=new RegExp("[?&]"+a.replace(/[.\\+*?\[\^\]$(){}=!<>|:\-]/g,"\\$&")+"=([^&#]*)","i"),l=o.exec(e);null===l?i=e+(n=/\?/.test(e)?"&":"?")+a+"="+t:(n=l[0].charAt(0),i=e.replace(o,n+a+"="+t));return i},fix_icons:function(){var e=a2a.ieo();if(e&&e<9){var a=(a=a2a.getByClass("a2a_s_a2a",document))[0],t=a2a.fix_icons.tryNum||0;if(a&&!a.a2aFixed&&!a.currentStyle.backgroundImage.split('"')[1]&&t<999)return a2a.fix_icons.tryNum=t+1,setTimeout(a2a.fix_icons,99);for(var n,i,o,l,r=0,s=a2a.getByClass("a2a_svg",document),c=s.length;r<c;r++)i=(n=(l=s[r]).currentStyle).backgroundImage.split('"')[1],!l.a2aFixed&&i&&((o=new Image).style.backgroundColor=n.backgroundColor,o.style.border=0,o.style.height=n.height,o.style.width=n.width,o.src=i,l.style.background="none",l.insertBefore(o,l.firstChild)),l.a2aFixed=1}else fix_icons=function(){}},arrange_services:function(){var e=a2a.type,a=a2a.c.prioritize;a&&a2a.top_services(a,e),a2a.add_services()},top_services:function(e,a,t){var n=a||a2a.type,i=a2a.in_array,o=a2a.make_service,l=parseInt(a2a[n].num_services),r=a2a.gEl("a2a"+n+"_full_services"),s=a2a.gEl("a2a"+n+"_mini_services"),c=a2a.getByClass("a2a_i",r,"a"),d=a2a.getByClass("a2a_i",s,"a"),u=[];if(e){var p=e.length-1;for(t=t;-1<p;p--){var m=i(e[p],c,!0,"a2a","safename");m&&(t&&(m.className=m.className+t),r.insertBefore(m,r.firstChild),u.push(m))}if(0<u.length){var f,_,g;for(p=0,t=t;p<u.length;p++)g=(f=i(u[p].a2a.safename,d,!0,"a2a","safename"))?f:o((_=u[p].a2a).servicename,_.safename,_.serviceIcon,_.serviceColor,{src:_.js_src,url:_.url,type:_.serviceType,pu:_.popup,media:_.media}),t&&(g.className=g.className+t),s.insertBefore(g,s.firstChild);if((d=a2a.getByClass("a2a_i",s,"a")).length>l){p=0;for(var h=d.length;p<h-l;p++)s.removeChild(s.lastChild)}}}},css:function(){var e,a,t=a2a.type,n=a2a.c,i=n.css=document.createElement("style"),o=n.color_main||"EEE",l=n.color_bg||"FFF",r=n.color_border||"CCC",s=n.color_link_text||"0166FF",c=n.color_link_text_hover||"2A2A2A",d=(n.color_link_text_hover,n.color_link_text||"2A2A2A"),u=(o.toLowerCase(),n.color_link_text||"2A2A2A"),p=n.color_border||r,m=".a2a_",f=m+"menu",_="border",g="background-color:",h="color:",v="margin:",y="padding:";e=f+","+f+" *{-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;float:none;"+v+"0;"+y+"0;position:static;height:auto;width:auto}"+f+"{"+_+"-radius:6px;display:none;direction:ltr;background:#"+l+';font:16px sans-serif-light,HelveticaNeue-Light,"Helvetica Neue Light","Helvetica Neue",Arial,Helvetica,"Liberation Sans",sans-serif;'+h+"#000;line-height:12px;"+_+":1px solid #"+r+";vertical-align:baseline;overflow:hidden}"+m+"mini{min-width:200px;position:absolute;width:300px;z-index:9999997}"+m+'overlay{display:none;background:#616c7d;_height:expression( ((e=document.documentElement.clientHeight)?e:document.body.clientHeight)+"px" );_width:expression( ((e=document.documentElement.clientWidth)?e:document.body.clientWidth)+"px" );filter:alpha(opacity=90);opacity:.92;backdrop-filter:blur(8px);position:fixed;_position:absolute;top:0;right:0;left:0;bottom:0;z-index:9999998;-webkit-tap-highlight-'+h+"rgba(0,0,0,0);transition:opacity .14s,backdrop-filter .14s}"+m+"full{background:#"+l+";"+_+":1px solid #"+l+';height:auto;height:calc(320px);top:15%;_top:expression(40+((e=document.documentElement.scrollTop)?e:document.body.scrollTop)+"px");left:50%;margin-left:-320px;position:fixed;_position:absolute;text-align:center;width:640px;z-index:9999999;transition:transform .14s,opacity .14s}'+m+"full_footer,"+m+"full_header,"+m+"full_services{"+_+":0;"+v+"0;"+y+"12px;box-sizing:"+_+"-box}"+m+"full_header{padding-bottom:8px}"+m+"full_services{height:280px;overflow-y:scroll;"+y+"0 12px;-webkit-overflow-scrolling:touch}"+m+"full_services "+m+"i{display:inline-block;float:none;width:181px;width:calc(33.334% - 18px)}div"+m+"full_footer{font-size:12px;text-align:center;"+y+"8px 14px}div"+m+"full_footer a,div"+m+"full_footer a:visited{display:inline;font-size:12px;line-height:14px;"+y+"8px 14px}div"+m+"full_footer a:focus,div"+m+"full_footer a:hover{background:0 0;"+_+":0;"+h+"#"+s+"}div"+m+"full_footer a span"+m+"s_a2a,div"+m+"full_footer a span"+m+"w_a2a{background-size:14px;"+_+"-radius:3px;display:inline-block;height:14px;line-height:14px;"+v+"0 3px 0 0;vertical-align:top;*vertical-align:middle;width:14px}"+m+'modal{height:0;left:50%;margin-left:-320px;position:fixed;_position:absolute;text-align:center;top:15%;_top:expression(40+((e=document.documentElement.scrollTop)?e:document.body.scrollTop)+"px");width:640px;z-index:9999999;transition:transform .14s,opacity .14s;-webkit-tap-highlight-'+h+"rgba(0,0,0,0)}"+m+"modal_body{background:0 0;"+_+':0;font:24px sans-serif-light,HelveticaNeue-Light,"Helvetica Neue Light","Helvetica Neue",Arial,Helvetica,"Liberation Sans",sans-serif;position:relative;height:auto;width:auto}'+m+"thanks{"+h+"#fff;height:auto;margin-top:20px;width:auto}"+m+"thanks>div:first-child{"+v+"0 0 40px 0}"+m+"thanks div *{height:inherit}#a2a_copy_link{background:#"+l+";"+_+":1px solid #"+l+";margin-top:15%}span"+m+"s_link#a2a_copy_link_icon,span"+m+"w_link#a2a_copy_link_icon{background-size:48px;"+_+"-radius:0;display:inline-block;height:48px;left:0;line-height:48px;"+v+"0 3px 0 0;position:absolute;vertical-align:top;*vertical-align:middle;width:48px}#a2a_modal input#a2a_copy_link_text{"+g+"transparent;_"+g+"#"+l+";"+_+":0;"+h+"#"+u+";font:inherit;height:48px;left:62px;max-width:initial;"+y+"0;position:relative;width:564px;width:calc(100% - 76px)}#a2a_copy_link_copied{"+g+"#0166ff;"+h+"#fff;display:none;font:inherit;font-size:16px;margin-top:1px;"+y+"3px 8px}@media (prefers-color-scheme:dark){"+f+" a,"+f+" a"+m+"i,"+f+" a"+m+"i:visited,"+f+" a"+m+"more,i"+m+"i{"+_+"-"+h+"#2a2a2a!important;"+h+"#fff!important}"+f+" a"+m+"i:active,"+f+" a"+m+"i:focus,"+f+" a"+m+"i:hover,"+f+" a"+m+"more:active,"+f+" a"+m+"more:focus,"+f+" a"+m+"more:hover,"+f+"_find_container{"+_+"-"+h+"#444!important;"+g+"#444!important}"+f+"{"+g+"#2a2a2a;"+_+"-"+h+"#2a2a2a}"+f+"_find{"+h+"#fff!important}"+f+" span"+m+"s_find svg{"+g+"transparent!important}"+f+" span"+m+"s_find svg path{fill:#fff!important}}@media print{"+m+"floating_style,"+f+","+m+"overlay{visibility:hidden}}@keyframes a2aFadeIn{from{opacity:0}to{opacity:1}}"+m+"starting{opacity:0}"+m+"starting"+m+"full,"+m+"starting"+m+"modal{transform:scale(.8)}@media (max-width:639px){"+m+"full{"+_+"-radius:0;top:15%;left:0;margin-left:auto;width:100%}"+m+"modal{left:0;margin-left:10px;width:calc(100% - 20px)}}@media (min-width:318px) and (max-width:437px){"+m+"full "+m+"full_services "+m+"i{width:calc(50% - 18px)}}@media (max-width:317px){"+m+"full "+m+"full_services "+m+"i{width:calc(100% - 18px)}}@media (max-height:436px){"+m+"full{bottom:40px;height:auto;top:40px}}@media (max-height:550px){"+m+"modal{top:30px}}@media (max-height:360px){"+m+"modal{top:20px}"+m+"thanks>div:first-child{margin-bottom:20px}}"+f+" a{"+h+"#"+s+';text-decoration:none;font:16px sans-serif-light,HelveticaNeue-Light,"Helvetica Neue Light","Helvetica Neue",Arial,Helvetica,"Liberation Sans",sans-serif;line-height:14px;height:auto;width:auto;outline:0}'+f+" a"+m+"i:visited,"+f+" a"+m+"more{"+h+"#"+s+"}"+f+" a"+m+"i:active,"+f+" a"+m+"i:focus,"+f+" a"+m+"i:hover,"+f+" a"+m+"more:active,"+f+" a"+m+"more:focus,"+f+" a"+m+"more:hover{"+h+"#"+c+";"+_+"-"+h+"#"+o+";"+_+"-style:solid;"+g+"#"+o+";text-decoration:none}"+f+" span"+m+"s_find{background-size:24px;height:24px;left:8px;position:absolute;top:7px;width:24px}"+f+" span"+m+"s_find svg{"+g+"#"+l+"}"+f+" span"+m+"s_find svg path{fill:#"+p+"}#a2a_menu_container{display:inline-block}#a2a_menu_container{_display:inline}"+f+"_find_container{"+_+":1px solid #"+p+";"+_+"-radius:6px;"+y+"2px 24px 2px 0;position:relative;text-align:left}"+m+"cols_container "+m+"col1{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}#a2a_modal input,#a2a_modal input[type=text],"+f+" input,"+f+" input[type=text]{display:block;background-image:none;box-shadow:none;line-height:100%;"+v+"0;outline:0;overflow:hidden;"+y+"0;-moz-box-shadow:none;-webkit-box-shadow:none;-webkit-appearance:none}#a2a"+t+"_find_container input,#a2a"+t+"_find_container input[type=text]{"+g+"transparent;_"+g+"#"+l+";"+_+":0;box-sizing:content-box;"+h+"#"+u+";font:inherit;font-size:16px;height:28px;line-height:20px;left:38px;outline:0;"+v+"0;max-width:initial;"+y+"2px 0;position:relative;width:99%}"+("undefined"!=typeof document.body.style.maxHeight?m+"clear{clear:both}":m+"clear{clear:both;height:0;width:0;line-height:0;font-size:0}")+" "+m+"svg{background-repeat:no-repeat;display:block;overflow:hidden;height:32px;line-height:32px;"+y+"0;width:32px}"+m+"svg svg{background-repeat:no-repeat;background-position:50% 50%;"+_+":none;display:block;left:0;"+v+"0 auto;overflow:hidden;"+y+"0;position:relative;top:0;width:auto;height:auto}a"+m+"i,i"+m+"i{display:block;float:left;"+_+":1px solid #"+l+";line-height:24px;"+y+"6px 8px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:132px}a"+m+"i span,a"+m+"more span{display:inline-block;overflow:hidden;vertical-align:top;*vertical-align:middle}a"+m+"i "+m+"svg{"+v+"0 6px 0 0}a"+m+"i "+m+"svg,a"+m+"more "+m+"svg{background-size:24px;height:24px;line-height:24px;width:24px}a"+m+"sss:hover{"+_+"-left:1px solid #"+r+"}a"+f+"_show_more_less{"+_+"-bottom:1px solid #"+l+";"+_+"-left:0;"+_+"-right:0;line-height:24px;"+v+"6px 0 0;"+y+"6px;-webkit-touch-callout:none}a"+f+"_show_more_less span{display:inline-block;height:24px;"+v+"0 6px 0 0}"+m+"kit "+m+"svg{background-repeat:repeat}"+m+"default_style a{float:left;line-height:16px;"+y+"0 2px}"+m+"default_style a:hover "+m+"svg,"+m+"floating_style a:hover "+m+"svg,"+m+"overlay_style a:hover "+m+"svg svg{opacity:.7}"+m+"overlay_style"+m+"default_style a:hover "+m+"svg{opacity:1}"+m+"default_style "+m+"count,"+m+"default_style "+m+"svg,"+m+"floating_style "+m+"svg,"+f+" "+m+"svg,"+m+"vertical_style "+m+"count,"+m+"vertical_style "+m+"svg{"+_+"-radius:4px}"+m+"default_style "+m+"counter img,"+m+"default_style "+m+"dd,"+m+"default_style "+m+"svg{float:left}"+m+"default_style "+m+"img_text{margin-right:4px}"+m+"default_style "+m+"divider{"+_+"-left:1px solid #000;display:inline;float:left;height:16px;line-height:16px;"+v+"0 5px}"+m+"kit a{cursor:pointer}"+m+"floating_style{"+g+"#fff;"+_+"-radius:6px;position:fixed;z-index:9999995}"+m+"overlay_style{z-index:2147483647}"+m+"floating_style,"+m+"overlay_style{animation:a2aFadeIn .2s ease-in;"+y+"4px}"+m+"vertical_style a{clear:left;display:block;overflow:hidden;"+y+"4px;text-decoration:none}"+m+"floating_style"+m+"default_style{bottom:0}"+m+"floating_style"+m+"default_style a,"+m+"overlay_style"+m+"default_style a{"+y+"4px}"+m+"count{"+g+"#fff;"+_+":1px solid #ccc;box-sizing:"+_+"-box;"+h+"#2a2a2a;display:block;float:left;font:12px Arial,Helvetica,sans-serif;height:16px;margin-left:4px;position:relative;text-align:center;width:50px}"+m+"count:after,"+m+"count:before{"+_+":solid transparent;"+_+'-width:4px 4px 4px 0;content:"";height:0;left:0;line-height:0;'+v+"-4px 0 0 -4px;position:absolute;top:50%;width:0}"+m+"count:before{"+_+"-right-"+h+"#ccc}"+m+"count:after{"+_+"-right-"+h+"#fff;margin-left:-3px}"+m+"count span{animation:a2aFadeIn .14s ease-in}"+m+"vertical_style "+m+"counter img{display:block}"+m+"vertical_style "+m+"count{float:none;margin-left:0;margin-top:6px}"+m+"vertical_style "+m+"count:after,"+m+"vertical_style "+m+"count:before{"+_+":solid transparent;"+_+'-width:0 4px 4px 4px;content:"";height:0;left:50%;line-height:0;'+v+"-4px 0 0 -4px;position:absolute;top:0;width:0}"+m+"vertical_style "+m+"count:before{"+_+"-bottom-"+h+"#ccc}"+m+"vertical_style "+m+"count:after{"+_+"-bottom-"+h+"#fff;margin-top:-3px}"+m+"nowrap{white-space:nowrap}"+m+"note{"+v+"0 auto;"+y+"9px;font-size:12px;text-align:center}"+m+"note "+m+"note_note{"+v+"0;"+h+"#"+d+"}"+m+"wide a{display:block;margin-top:3px;"+_+"-top:1px solid #"+o+";text-align:center}"+m+"label{position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);clip-path:polygon(0 0,0 0,0 0);-webkit-clip-path:polygon(0 0,0 0,0 0);overflow:hidden;height:1px;width:1px}"+m+"kit,"+f+","+m+"modal,"+m+"overlay{-ms-touch-action:manipulation;touch-action:manipulation;outline:0}"+m+"dd img{"+_+":0}"+m+"button_facebook_like iframe{max-width:none}",i.setAttribute("type","text/css"),a2a.head_tag.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:(a=document.createTextNode(e),i.appendChild(a))},svg_css:function(){a2a.init("page");var e=a2a.c.css.sheet||a2a.c.css.styleSheet||{},a="insertRule"in e,t="addRule"in e;all_services=a2a.services.concat([[0,0,"a2a","0166FF"]]);for(var n,i,o=0,l=all_services.length;o<l;o++)n=".a2a_s_"+all_services[o][2],i="background-color:#"+all_services[o][3]+";",a?e.insertRule(n+"{"+i+"}",0):t&&e.addRule(n,i,0);a2a.svg.load(!0),a2a.svg_css=function(){}},svg:{icons:{},queue:[],tagO:'<svg focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">',tagC:"</svg>",fill:function(e,a){return e.replace(/#FFF/gi,a)},get:function(e,a,t){var n=a2a.svg,i=n.fill;return icons=n.icons,svg_tag_open=n.tagO,svg_tag_close=n.tagC,svg_src=icons[e],svg_src_default=icons.a2a,svg_src?(svg_src=t?i(svg_src,t):svg_src,svg_tag_open+svg_src+svg_tag_close):svg_src_default?(svg_src_default=t?i(svg_src_default,t):svg_src_default,svg_tag_open+svg_src_default+svg_tag_close):(a2a.svg.queue.push({name:e,node:a,color:t}),"pending")},set:function(e){var a=a2a.svg,t=a.queue;if(icons=a.icons=e,svg_tag_open=a.tagO,svg_tag_close=a.tagC,icons.a2a)for(var n,i,o,l=0,r=t.length;l<r;l++)i=(n=t[l]).name,color=n.color,o=icons[i]?icons[i]:icons.a2a,o=color?a.fill(o,color):o,n.node.innerHTML=svg_tag_open+o+svg_tag_close},load:function(t){var n=a2a.svg.works(),i=new window.Image;i.onerror=function(){a2a.svg.loadCSS(!1)},i.onload=function(){var a,e=1===i.width&&1===i.height;n&&!t?a2a.svg.loadJS(document):a2a.svg.loadCSS(e),a2a.svg.load=(a=e,function(e){e&&a2a.svg.loadCSS(a)})},a2a.svg.load=function(){},i.src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw=="},loadCSS:function(e){var a=a2a.static_addtoany,t=a2a.c.static_server,n=a2a.fix_icons,i=a2a.svg.works(),o=window.document.createElement("link"),l=e&&i&&t!=a?t+"/":a+"/svg/";o.rel="stylesheet",o.href=l+["icons.29.svg.css","icons.29.png.css","icons.29.old.css"][e&&i?0:e?1:2],a2a.head_tag.appendChild(o),n(),a2a.svg.loadCSS=n},loadJS:function(){var e=document,a=a2a.c.static_server,t=e.createElement("script"),n=e.getElementsByTagName("script")[0],i=a!=a2a.static_addtoany?a+"/":a+"/svg/";t.async=!0,t.src=i+"icons.29.svg.js",n.parentNode.insertBefore(t,n),a2a.svg.loadJS=function(){}},works:function(){var e=document,a=!(!e.createElementNS||!e.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect||!e.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#Image","1.1")||window.opera&&-1===navigator.userAgent.indexOf("Chrome"));return a2a.svg.works=function(){return a},a}},make_service:function(m,f,e,a,t,n,i){var o,l,_=document.createElement("a"),r=a2a.c,s=function(){a2a.linker(this)},g=a2a.type,c=(t=t||{},"a2a_svg a2a_s__default"),d=r.icon_color,u=d?d.split(",",2):d,p=u?u[0]:u,h=u?u[1]:u;return _.rel="nofollow noopener",_.className="a2a_i",_.href="/#"+f,_.target="_blank",_.a2a={},_.a2a.safename=f,_.a2a.servicename=m,_.a2a.serviceNameLowerCase=m.toLowerCase(),_.a2a.serviceIcon=e,_.a2a.serviceColor=a,_.a2a.serviceType=t.type,_.innerHTML="<span></span>"+m+" ",o=_.firstChild,t.type&&(_.a2a.stype=t.type),t.src&&(_.a2a.js_src=t.src),t.url&&(_.a2a.url=t.url),t.pu&&(_.a2a.popup=1),t.media&&(_.a2a.media=1),n&&(_.a2a.customserviceuri=n),i?(o.style.backgroundImage="url("+i+")",o.className=c):d&&a2a.svg.works()?(o.className=c+" a2a_s_"+e,p&&"unset"!=p?o.style.backgroundColor=p:a&&(o.style.backgroundColor="#"+a),h&&(h=h.trim())):e?(o.className=c+" a2a_s_"+e,a&&(o.style.backgroundColor="#"+a)):o.className=c,i||"pending"!==(l=a2a.svg.get(e,o,h))&&(o.innerHTML=l),"js"===_.a2a.stype?a2a.add_event(_,"click",s):(a2a.add_event(_,"mousedown",s),a2a.add_event(_,"keydown",s)),"copy_link"==f&&a2a.add_event(_,"mouseenter",function(){a2a.gEl("a2a_modal").style.willChange="transform, opacity",a2a.gEl("a2a_overlay").style.willChange="backdrop-filter, opacity"}),a2a.add_event(_,"click",function(e){var a,t=a2a["n"+a2a.n],n={node:_,service:m,title:t.linkname,url:t.linkurl,media:t.linkmedia},i=encodeURIComponent,o="page"==g?"pages":"subscriptions",l="page"==g?"AddToAny Share/Save Button":"AddToAny Subscribe Button",r=_.a2a,s="js"===r.stype,c=screen.height,d="event=service_click&url="+i(location.href)+"&title="+i(document.title||"")+"&ev_service="+i(f)+"&ev_service_type=menu&ev_menu_type="+g+"&ev_url="+i(t.linkurl)+"&ev_title="+i(t.linkname).replace(/'/g,"%27"),u=a2a.cbs("share",n),p=!1;void 0!==u&&(u.url&&(t.linkurl=u.url,t.linkurl_implicit=!1),u.title&&(t.linkname=u.title,t.linkname_implicit=!1),u.media&&(t.linkmedia=u.media),a2a.linker(_),u.stop&&(p=!0,a2a.preventDefault(e))),"feed"==g||r.url||r.js_src||a2a.postClick(),!r.popup||a2a.defaultPrevented(e)||s||(a2a.preventDefault(e),window.open(_.href,"_blank","toolbar=0,personalbar=0,resizable,scrollbars,status,width=550,height=450,top="+(450<c?Math.round(c/2-225):40)+",left="+Math.round(screen.width/2-275))),a=r.js_skip,!r.externalJS&&!r.literalJS||p||a||a2a.runJS(r),s&&!a&&a2a.preventDefault(e),a&&delete _.a2a.js_skip,a2a.util_frame_post(g,d),a2a.GA.track(m,f,t.linkurl,o,l)}),_},i18n:function(){if(a2a.c.static_server!=a2a.static_addtoany)return!1;var e=["ar","id","ms","bn","bn-IN","bs","bs-BA","bg","ca","ca-AD","ca-ES","cs","cs-CZ","cy","cy-GB","da","da-DK","de","dv","el","el-GR","et","et-EE","es","es-AR","es-VE","eo","en-US","eu","eu-ES","fa","fa-IR","fr","fr-CA","gd","he","hi","hi-IN","hr","hy","hy-AM","is","it","ja","ja-JP","ko","ko-KR","ku","ku-TR","lv","lt","li","li-NL","hu","mk","ms-MY","nl","nn-NO","no","pl","pt","pt-BR","pt-PT","ro","ru","sr","sr-RS","fi","sk","sl","sl-SI","sv","sv-SE","ta","ta-IN","tr","te-IN","uk","uk-UA","vi","vi-VN","zh-CN","zh-TW"],a=a2a.c.locale||(navigator.browserLanguage||navigator.language).toLowerCase(),t=a2a.in_array(a,e,!0);if(!t){var n=a.indexOf("-");-1!=n&&(t=a2a.in_array(a.substr(0,n),e,!0))}return!("en-us"==a||!t)&&t},localize:function(){var i=document,e=a2a.getByClass("a2a_localize",i),a=a2a.c.localize,t=a2a.locale;function n(e){var a,t,n=i.createElement("div");return n.innerHTML=e,(a=n.childNodes[0])&&(t=a.nodeValue),delete n,t}for(var o,l,r,s,c,d=0,u=e.length;d<u;d++)(l=(l=(o=e[d]).getAttribute("data-a2a-localize"))?l.split(",",2):l)&&(s=l[0],c=a[r=l[1]]||t[r]||"","inner"===s?o.innerHTML=c:"label"===s?o.setAttribute("aria-label",n(c)):"title"===s&&o.setAttribute("title",n(c)))},locale:{Share:"Share",Save:"Save",Subscribe:"Subscribe",Email:"Email",Bookmark:"Bookmark",ShowAll:"Show all",ShowLess:"Show less",FindAnyServiceToAddTo:"Find any service",PoweredBy:"By",AnyEmail:"Any email",ShareViaEmail:"Share via email",SubscribeViaEmail:"Subscribe via email",BookmarkInYourBrowser:"Bookmark in your browser",BookmarkInstructions:"Press Ctrl+D or &#8984;+D to bookmark this page",AddToYourFavorites:"Add to Favorites",SendFromWebOrProgram:"Send from any other email service",EmailProgram:"Email application",More:"More&#8230;",ThanksForSharing:"Thanks for sharing!",ThanksForFollowing:"Thanks for following!"}};a2a.c=a2a_config,a2a.make_once=function(e){if(a2a.type=a2a.c.menu_type||e,!a2a[a2a.type]&&!window["a2a"+a2a.type+"_init"]){a2a[a2a.type]={},window.a2a_show_dropdown=a2a.show_menu,window.a2a_miniLeaveDelay=a2a.miniLeaveDelay,window.a2a_init=a2a.init,a2a["create_"+a2a.type+"_html"]=function(e,a){var t,n,i,o=a2a.html_container,l="",r="",s=a2a.gEl,c=a2a.type=e,d="a2a"+c,u=a2a.c,p=a2a.ieo(),m=a2a.has_menter,f=(document.createElement("a"),u.icon_color),_=f?f.split(",",2):f,g=_?_[0]:_,h=_?_[1]:_,v="a2a_svg a2a_s__default a2a_s_",y=h||"#FFF",k=' style="background-color:'+(g&&"unset"!=g?g:"#0166ff")+'"',w='<svg focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><g fill="'+y+'"><path d="M14 7h4v18h-4z"/><path d="M7 14h18v4H7z"/></g></svg>',b=a2a.locale,x=u.localize;if(a2a.css(),x=u.localize={Share:x.Share||b.Share,Save:x.Save||b.Save,Subscribe:x.Subscribe||b.Subscribe,Email:x.Email||b.Email,Bookmark:x.Bookmark||b.Bookmark,ShowAll:x.ShowAll||b.ShowAll,ShowLess:x.ShowLess||b.ShowLess,FindAnyServiceToAddTo:x.FindAnyServiceToAddTo||b.FindAnyServiceToAddTo,PoweredBy:x.PoweredBy||b.PoweredBy,AnyEmail:"Any email",ShareViaEmail:x.ShareViaEmail||b.ShareViaEmail,SubscribeViaEmail:x.SubscribeViaEmail||b.SubscribeViaEmail,BookmarkInYourBrowser:x.BookmarkInYourBrowser||b.BookmarkInYourBrowser,BookmarkInstructions:x.BookmarkInstructions||b.BookmarkInstructions,AddToYourFavorites:x.AddToYourFavorites||b.AddToYourFavorites,SendFromWebOrProgram:x.SendFromWebOrProgram||b.SendFromWebOrProgram,EmailProgram:x.EmailProgram||b.EmailProgram,More:x.More||b.More,ThanksForSharing:x.ThanksForSharing||b.ThanksForSharing,ThanksForFollowing:x.ThanksForFollowing||b.ThanksForFollowing},o||(r+='<div class="a2a_overlay" id="a2a_overlay"></div>',r+='<div id="a2a_modal" class="a2a_modal" role="dialog" tabindex="-1" aria-label="" style="display:none">',r+='<div class="a2a_modal_body a2a_menu" id="a2a_copy_link" style="display:none"><span id="a2a_copy_link_icon" class="a2a_svg a2a_s_link"'+k+'><svg focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="'+y+'" d="M24.4 21.18c0-.36-.1-.67-.36-.92l-2.8-2.8a1.24 1.24 0 0 0-.92-.38c-.38 0-.7.14-.97.43.02.04.1.12.25.26l.3.3.2.24c.08.12.14.24.17.35.03.1.05.23.05.37 0 .36-.13.66-.38.92a1.25 1.25 0 0 1-.92.37 1.4 1.4 0 0 1-.37-.03 1.06 1.06 0 0 1-.35-.18 2.27 2.27 0 0 1-.25-.2 6.82 6.82 0 0 1-.3-.3l-.24-.25c-.3.28-.44.6-.44.98 0 .36.13.66.38.92l2.78 2.8c.24.23.54.35.9.35.37 0 .68-.12.93-.35l1.98-1.97c.26-.25.38-.55.38-.9zm-9.46-9.5c0-.37-.13-.67-.38-.92l-2.78-2.8a1.24 1.24 0 0 0-.9-.37c-.36 0-.67.1-.93.35L7.97 9.92c-.26.25-.38.55-.38.9 0 .36.1.67.37.92l2.8 2.8c.24.25.55.37.92.37.36 0 .7-.13.96-.4-.03-.04-.1-.12-.26-.26s-.24-.23-.3-.3a2.67 2.67 0 0 1-.2-.24 1.05 1.05 0 0 1-.17-.35 1.4 1.4 0 0 1-.04-.37c0-.36.1-.66.36-.9.26-.26.56-.4.92-.4.14 0 .26.03.37.06.12.03.23.1.35.17.1.1.2.16.25.2l.3.3.24.26c.3-.28.44-.6.44-.98zM27 21.17c0 1.07-.38 2-1.15 2.73l-1.98 1.98c-.74.75-1.66 1.12-2.73 1.12-1.1 0-2-.38-2.75-1.14l-2.8-2.8c-.74-.74-1.1-1.65-1.1-2.73 0-1.1.38-2.04 1.17-2.82l-1.18-1.17c-.8.8-1.72 1.18-2.82 1.18-1.08 0-2-.36-2.75-1.12l-2.8-2.8C5.38 12.8 5 11.9 5 10.82c0-1.08.38-2 1.15-2.74L8.13 6.1C8.87 5.37 9.78 5 10.86 5c1.1 0 2 .38 2.75 1.15l2.8 2.8c.74.73 1.1 1.65 1.1 2.72 0 1.1-.38 2.05-1.17 2.82l1.18 1.18c.8-.8 1.72-1.2 2.82-1.2 1.08 0 2 .4 2.75 1.14l2.8 2.8c.76.76 1.13 1.68 1.13 2.76z"/></svg></span><input id="a2a_copy_link_text" type="text" title="Copy link" readonly><div id="a2a_copy_link_copied">&check;</div></div>',r+='<div class="a2a_modal_body a2a_menu a2a_thanks" id="a2a_thanks" style="display:none"><div class="a2a_localize" data-a2a-localize="inner,ThanksForSharing">'+x.ThanksForSharing+"</div></div>",r+="</div>"),l+='<div class="a2a_menu a2a_full a2a_localize" id="a2a'+c+'_full" role="dialog" tabindex="-1" aria-label="'+("feed"==c?x.Subscribe:x.Share)+'" data-a2a-localize="title,'+("feed"==c?"Subscribe":"Share")+'"><div class="a2a_full_header"><div id="a2a'+c+'_find_container" class="a2a_menu_find_container"><input id="a2a'+c+'_find" class="a2a_menu_find a2a_localize" type="text" autocomplete="off" title="'+x.FindAnyServiceToAddTo+'" data-a2a-localize="title,FindAnyServiceToAddTo"><span id="a2a'+c+'_find_icon" class="a2a_svg a2a_s_find"><svg focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="#CCC" d="M19.7 18.2l-4.5-4.5c.7-1.1 1.2-2.3 1.2-3.6 0-3.5-2.8-6.3-6.3-6.3s-6.3 2.8-6.3 6.3 2.8 6.3 6.3 6.3c1.4 0 2.6-.4 3.6-1.2l4.5 4.5c.6.6 1.3.7 1.7.2.5-.4.4-1.1-.2-1.7zm-9.6-3.6c-2.5 0-4.5-2.1-4.5-4.5 0-2.5 2.1-4.5 4.5-4.5 2.5 0 4.5 2.1 4.5 4.5s-2 4.5-4.5 4.5z"/></svg></span></div></div><div class="a2a_full_services" id="a2a'+c+'_full_services" role="presentation"></div><div class="a2a_full_footer"><a href="https://www.addtoany.com" title="Share Buttons" rel="noopener" target="_blank"><span class="'+v+'a2a"'+k+">"+w+'</span>AddToAny</a></div></div><div id="a2a'+c+'_dropdown" class="a2a_menu a2a_mini a2a_localize" tabindex="-1" aria-label="'+("feed"==c?x.Subscribe:x.Share)+'" data-a2a-localize="label,'+("feed"==c?"Subscribe":"Share")+'" style="display:none"><div id="a2a'+c+'_title_container" class="a2a_menu_title_container" style="display:none"><div id="a2a'+c+'_title" class="a2a_menu_title"></div></div><div class="a2a_mini_services" id="a2a'+c+'_mini_services"></div><div id="a2a'+c+'_cols_container" class="a2a_cols_container"><div class="a2a_col1" id="a2a'+c+'_col1"'+("mail"==c?' style="display:none"':"")+'></div><div id="a2a'+c+'_2_col1"'+("mail"!=c?' style="display:none"':"")+'></div><div class="a2a_clear"></div></div>',"mail"!=c&&(l+='<div class="a2a'+c+'_wide a2a_wide"><a href="" id="a2a'+c+'_show_more_less" class="a2a_menu_show_more_less a2a_more a2a_localize" title="'+x.ShowAll+'" data-a2a-localize="title,ShowAll"><span class="'+v+'a2a"'+k+">"+w+'</span><span class="a2a_localize" data-a2a-localize="inner,More">'+x.More+"</a></span></div>"),l+="</div>",o)o.insertAdjacentHTML("beforeend",l);else{var A="a2a_menu_container",E=s(A);o=a2a.html_container=E&&!a2a.init_show.a2a_done?E:document.createElement("div");a2a.add_event(o,"click",a2a.stopPropagation),a2a.add_event(o,"touchstart",a2a.stopPropagation,!!a2a.evOpts()&&{passive:!0}),o.innerHTML=r+l}o.id!=A&&(o.style.position="static",p&&p<9?document.body.insertBefore(o,document.body.firstChild):document.body.insertBefore(o,null)),(n=s(d+"_dropdown"))&&m&&(a2a.add_event(n,"mouseenter",a2a.miniEnterStay),a2a[c].onclick||a2a.add_event(n,"mouseleave",a2a.miniLeaveDelay)),(t=s(d+"_find"))&&(a2a.add_event(s(d+"_find_icon"),"click",a2a.focus_find),a2a.add_event(t,"click",a2a.focus_find),a2a.add_event(t,"keyup",a2a.do_find)),(i=s("a2a_copy_link_icon"))&&a2a.add_event(i,"click",function(){s("a2a_copy_link_text").click()}),a2a[c].services=a,a2a.add_event(s("a2a_overlay"),"click",function(e){a2a.hide_modals(c)}),"mail"!=c&&a2a.add_event(s(d+"_show_more_less"),"click",function(e){a2a.preventDefault(e),a2a.show_more_less()})};var a={page:{most:[["Facebook","facebook","facebook","1877F2",{pu:1}],["Twitter","twitter","twitter","55ACEE",{pu:1}],["Email","email","email","0166FF",{url:"mailto:?subject=${title}&body=${link}"}],["Pinterest","pinterest","pinterest","BD081C",{type:"js",src:"https://assets.pinterest.com/js/pinmarklet.js",media:1,pu:1}],["LinkedIn","linkedin","linkedin","007BB5",{pu:1}],["Reddit","reddit","reddit","ff4500"],["WhatsApp","whatsapp","whatsapp","12AF0A"],["Gmail","google_gmail","gmail","DD5347",{type:"email",pu:1}],["Telegram","telegram","telegram","2CA5E0"],["Pocket","pocket","pocket","EE4056"],["Mix","mix","mix","ff8226"],["Tumblr","tumblr","tumblr","35465C",{media:1,pu:1}],["Amazon Wish List","amazon_wish_list","amazon","F90"],["AOL Mail","aol_mail","aol","2A2A2A",{type:"email",pu:1}],["Balatarin","balatarin","balatarin","079948"],["BibSonomy","bibsonomy","bibsonomy","2A2A2A"],["Bitty Browser","bitty_browser","bitty","999"],["Blogger","blogger","blogger","FDA352"],["BlogMarks","blogmarks","blogmarks","535353"],["Bookmarks.fr","bookmarks_fr","bookmarks_fr","96C044"],["Box.net","box_net","box","1A74B0"],["Buffer","buffer","buffer","2A2A2A"],["Care2 News","care2_news","care2","6EB43F"],["CiteULike","citeulike","citeulike","2781CD"],["Copy Link","copy_link","link","0166FF",{type:"js",src:"javascript:a2a.copyLink('${link}')"}],["Design Float","design_float","designfloat","8AC8FF"],["Diary.Ru","diary_ru","diary_ru","912D31"],["Diaspora","diaspora","diaspora","2E3436"],["Digg","digg","digg","2A2A2A"],["Diigo","diigo","diigo","4A8BCA"],["Douban","douban","douban","071",{pu:1}],["Draugiem","draugiem","draugiem","F60",{pu:1}],["DZone","dzone","dzone","82C251"],["Evernote","evernote","evernote","00A82D"],["Facebook Messenger","facebook_messenger","facebook_messenger","0084FF",{pu:1}],["Fark","fark","fark","555"],["Flipboard","flipboard","flipboard","C00",{pu:1}],["Folkd","folkd","folkd","0F70B2"],["Google Bookmarks","google_bookmarks","google","4285F4"],["Google Classroom","google_classroom","google_classroom","FFC112"],["Hacker News","hacker_news","y18","F60"],["Hatena","hatena","hatena","00A6DB"],["Houzz","houzz","houzz","7AC143",{type:"js",src:"https://www.houzz.com/js/clipperBookmarklet.js",media:1,pu:1}],["Instapaper","instapaper","instapaper","2A2A2A"],["Kakao","kakao","kakao","FCB700",{pu:1}],["Kik","kik","kik","2A2A2A"],["Push to Kindle","kindle_it","kindle","2A2A2A"],["Known","known","known","2A2A2A"],["Line","line","line","00C300",{pu:1}],["LiveJournal","livejournal","livejournal","113140"],["Mail.Ru","mail_ru","mail_ru","356FAC"],["Mastodon","mastodon","mastodon","2b90d9"],["Mendeley","mendeley","mendeley","A70805"],["Meneame","meneame","meneame","FF7D12"],["MeWe","mewe","mewe","007DA1"],["Mixi","mixi","mixi","D1AD5A"],["MySpace","myspace","myspace","2A2A2A"],["Netvouz","netvouz","netvouz","6C3"],["Odnoklassniki","odnoklassniki","odnoklassniki","F2720C"],["Outlook.com","outlook_com","outlook_com","0072C6",{type:"email"}],["Papaly","papaly","papaly","3AC0F6",{pu:1}],["Pinboard","pinboard","pinboard","1341DE",{pu:1}],["Plurk","plurk","plurk","CF682F"],["Print","print","print","0166FF",{type:"js",src:"javascript:print()"}],["PrintFriendly","printfriendly","printfriendly","6D9F00"],["Protopage Bookmarks","protopage_bookmarks","protopage","413FFF"],["Pusha","pusha","pusha","0072B8"],["Qzone","qzone","qzone","2B82D9"],["Rediff MyPage","rediff","rediff","D20000"],["Refind","refind","refind","1492ef"],["Renren","renren","renren","005EAC",{pu:1}],["Sina Weibo","sina_weibo","sina_weibo","E6162D"],["SiteJot","sitejot","sitejot","FFC808"],["Skype","skype","skype","00AFF0"],["Slashdot","slashdot","slashdot","004242"],["SMS","sms","sms","6CBE45",{url:"sms:?&body=${title}%20${link}"}],["StockTwits","stocktwits","stocktwits","40576F",{pu:1}],["Svejo","svejo","svejo","5BD428"],["Symbaloo Bookmarks","symbaloo_bookmarks","symbaloo","6DA8F7"],["Threema","threema","threema","2A2A2A",{url:"threema://compose?text=${title}%20${link}"}],["Trello","trello","trello","0079BF",{pu:1}],["Tuenti","tuenti","tuenti","0075C9"],["Twiddla","twiddla","twiddla","2A2A2A"],["TypePad Post","typepad_post","typepad","D2DE61"],["Viadeo","viadeo","viadeo","2A2A2A",{pu:1}],["Viber","viber","viber","7C529E",{url:"viber://forward?text=${title}%20${link}"}],["VK","vk","vk","587EA3",{pu:1}],["Wanelo","wanelo","wanelo","9cb092"],["WeChat","wechat","wechat","7BB32E"],["WordPress","wordpress","wordpress","464646"],["Wykop","wykop","wykop","367DA9"],["XING","xing","xing","165B66",{pu:1}],["Yahoo Mail","yahoo_mail","yahoo","400090",{type:"email"}],["Yoolink","yoolink","yoolink","A2C538"],["Yummly","yummly","yummly","E16120",{type:"js",src:"https://www.yummly.com/js/yumlet.js",media:1,pu:1}]],email:[["Email","email","email","0166FF",{type:"email"}],["Gmail","google_gmail","gmail","DD5347",{type:"email",pu:1}],["AOL Mail","aol_mail","aol","2A2A2A",{type:"email",pu:1}],["Outlook.com","outlook_com","outlook_com","0072C6",{type:"email"}],["Yahoo Mail","yahoo_mail","yahoo","400090",{type:"email"}]]},feed:{most:[["Feed","feed","feed","E3702D",{url:"${link_noenc}"}],["Feedly","feedly","feedly","2BB24C"],["My Yahoo","my_yahoo","yahoo","400090"],["FeedBlitz","feedblitz","feedblitz","FF8B23",{type:"email"}],["AOL Reader","my_aol","aol","2A2A2A"],["The Old Reader","oldreader","oldreader","D73F31"],["Agregator","agregator","agregator","359440"],["Bitty Browser Preview","bitty_browser_preview","bitty","999"],["Daily Rotation","daily_rotation","dailyrotation","2A2A2A"],["Feed Mailer","feed_mailer","feedmailer","78A8D1"],["FeedBucket","feedbucket","feedbucket","E3702D"],["iTunes","itunes","itunes","FB233A",{url:"itpc://${link_nohttp}"}],["Miro","miro","miro","D41700"],["Netvibes","netvibes","netvibes","7CA900"],["NewsAlloy","newsalloy","newsalloy","8E2B3D"],["NewsIsFree","newsisfree","newsisfree","316CA9"],["Outlook","outlook","outlook_com","0072C6",{url:"feed://${link_nohttp}"}],["PodNova","podnova","podnova","B50419"],["Protopage News Feeds","protopage_news_feeds","protopage","413FFF"],["Symbaloo Feeds","symbaloo_feeds","symbaloo","6DA8F7"],["The Free Dictionary","the_free_dictionary","thefreedictionary","004B85"],["The Free Library","the_free_library","thefreelibrary","004B85"],["WINKsite","winksite","winksite","6FE738"]],email:[["FeedBlitz","feedblitz","feedblitz","FF8B23",{type:"email"}]]}};a2a.services=a.page.most.concat(a.feed.most);var t,n=a2a.type,i=a2a[n],o="feed"==n?"feed":"page",l=a2a.c;location.host.split(".").slice(-1);i.onclick=l.onclick||!1,i.show_title=l.show_title||!1,i.num_services=l.num_services||8,i.exclude_services=l.exclude_services||!1,i.custom_services=l.custom_services||!1,(t=a2a.i18n())&&"custom"!=t&&a2a.loadExtScript(l.static_server+"/locale/"+t+".js",function(){return""!=a2a_localize},function(){l.localize=a2a_localize,a2a.localize()}),a2a["create_"+n+"_html"](n,a[o]),a2a.GA()}},function(){function e(){a2a.overlays(),a2a.init_all("page"),a2a.ready()}document.body&&e(),a2a.dom.ready(e)}();+ \ No newline at end of file diff --git a/static/js/bootstrap.bundle.min.js b/static/js/bootstrap.bundle.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v4.5.3 (https://getbootstrap.com/) + * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery")):"function"==typeof define&&define.amd?define(["exports","jquery"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap={},t.jQuery)}(this,(function(t,e){"use strict";function n(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var i=n(e);function o(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function r(t,e,n){return e&&o(t.prototype,e),n&&o(t,n),t}function a(){return(a=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t}).apply(this,arguments)}function s(t){var e=this,n=!1;return i.default(this).one(l.TRANSITION_END,(function(){n=!0})),setTimeout((function(){n||l.triggerTransitionEnd(e)}),t),this}var l={TRANSITION_END:"bsTransitionEnd",getUID:function(t){do{t+=~~(1e6*Math.random())}while(document.getElementById(t));return t},getSelectorFromElement:function(t){var e=t.getAttribute("data-target");if(!e||"#"===e){var n=t.getAttribute("href");e=n&&"#"!==n?n.trim():""}try{return document.querySelector(e)?e:null}catch(t){return null}},getTransitionDurationFromElement:function(t){if(!t)return 0;var e=i.default(t).css("transition-duration"),n=i.default(t).css("transition-delay"),o=parseFloat(e),r=parseFloat(n);return o||r?(e=e.split(",")[0],n=n.split(",")[0],1e3*(parseFloat(e)+parseFloat(n))):0},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(t){i.default(t).trigger("transitionend")},supportsTransitionEnd:function(){return Boolean("transitionend")},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(t,e,n){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var o=n[i],r=e[i],a=r&&l.isElement(r)?"element":null===(s=r)||"undefined"==typeof s?""+s:{}.toString.call(s).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(o).test(a))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+a+'" but expected type "'+o+'".')}var s},findShadowRoot:function(t){if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){var e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?l.findShadowRoot(t.parentNode):null},jQueryDetection:function(){if("undefined"==typeof i.default)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var t=i.default.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||1===t[0]&&9===t[1]&&t[2]<1||t[0]>=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}};l.jQueryDetection(),i.default.fn.emulateTransitionEnd=s,i.default.event.special[l.TRANSITION_END]={bindType:"transitionend",delegateType:"transitionend",handle:function(t){if(i.default(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}};var u="alert",f=i.default.fn[u],d=function(){function t(t){this._element=t}var e=t.prototype;return e.close=function(t){var e=this._element;t&&(e=this._getRootElement(t)),this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},e.dispose=function(){i.default.removeData(this._element,"bs.alert"),this._element=null},e._getRootElement=function(t){var e=l.getSelectorFromElement(t),n=!1;return e&&(n=document.querySelector(e)),n||(n=i.default(t).closest(".alert")[0]),n},e._triggerCloseEvent=function(t){var e=i.default.Event("close.bs.alert");return i.default(t).trigger(e),e},e._removeElement=function(t){var e=this;if(i.default(t).removeClass("show"),i.default(t).hasClass("fade")){var n=l.getTransitionDurationFromElement(t);i.default(t).one(l.TRANSITION_END,(function(n){return e._destroyElement(t,n)})).emulateTransitionEnd(n)}else this._destroyElement(t)},e._destroyElement=function(t){i.default(t).detach().trigger("closed.bs.alert").remove()},t._jQueryInterface=function(e){return this.each((function(){var n=i.default(this),o=n.data("bs.alert");o||(o=new t(this),n.data("bs.alert",o)),"close"===e&&o[e](this)}))},t._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},r(t,null,[{key:"VERSION",get:function(){return"4.5.3"}}]),t}();i.default(document).on("click.bs.alert.data-api",'[data-dismiss="alert"]',d._handleDismiss(new d)),i.default.fn[u]=d._jQueryInterface,i.default.fn[u].Constructor=d,i.default.fn[u].noConflict=function(){return i.default.fn[u]=f,d._jQueryInterface};var c=i.default.fn.button,h=function(){function t(t){this._element=t,this.shouldAvoidTriggerChange=!1}var e=t.prototype;return e.toggle=function(){var t=!0,e=!0,n=i.default(this._element).closest('[data-toggle="buttons"]')[0];if(n){var o=this._element.querySelector('input:not([type="hidden"])');if(o){if("radio"===o.type)if(o.checked&&this._element.classList.contains("active"))t=!1;else{var r=n.querySelector(".active");r&&i.default(r).removeClass("active")}t&&("checkbox"!==o.type&&"radio"!==o.type||(o.checked=!this._element.classList.contains("active")),this.shouldAvoidTriggerChange||i.default(o).trigger("change")),o.focus(),e=!1}}this._element.hasAttribute("disabled")||this._element.classList.contains("disabled")||(e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains("active")),t&&i.default(this._element).toggleClass("active"))},e.dispose=function(){i.default.removeData(this._element,"bs.button"),this._element=null},t._jQueryInterface=function(e,n){return this.each((function(){var o=i.default(this),r=o.data("bs.button");r||(r=new t(this),o.data("bs.button",r)),r.shouldAvoidTriggerChange=n,"toggle"===e&&r[e]()}))},r(t,null,[{key:"VERSION",get:function(){return"4.5.3"}}]),t}();i.default(document).on("click.bs.button.data-api",'[data-toggle^="button"]',(function(t){var e=t.target,n=e;if(i.default(e).hasClass("btn")||(e=i.default(e).closest(".btn")[0]),!e||e.hasAttribute("disabled")||e.classList.contains("disabled"))t.preventDefault();else{var o=e.querySelector('input:not([type="hidden"])');if(o&&(o.hasAttribute("disabled")||o.classList.contains("disabled")))return void t.preventDefault();"INPUT"!==n.tagName&&"LABEL"===e.tagName||h._jQueryInterface.call(i.default(e),"toggle","INPUT"===n.tagName)}})).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',(function(t){var e=i.default(t.target).closest(".btn")[0];i.default(e).toggleClass("focus",/^focus(in)?$/.test(t.type))})),i.default(window).on("load.bs.button.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-toggle="buttons"] .btn')),e=0,n=t.length;e<n;e++){var i=t[e],o=i.querySelector('input:not([type="hidden"])');o.checked||o.hasAttribute("checked")?i.classList.add("active"):i.classList.remove("active")}for(var r=0,a=(t=[].slice.call(document.querySelectorAll('[data-toggle="button"]'))).length;r<a;r++){var s=t[r];"true"===s.getAttribute("aria-pressed")?s.classList.add("active"):s.classList.remove("active")}})),i.default.fn.button=h._jQueryInterface,i.default.fn.button.Constructor=h,i.default.fn.button.noConflict=function(){return i.default.fn.button=c,h._jQueryInterface};var p="carousel",m=".bs.carousel",g=i.default.fn[p],v={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},_={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},b={TOUCH:"touch",PEN:"pen"},y=function(){function t(t,e){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._element=t,this._indicatorsElement=this._element.querySelector(".carousel-indicators"),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners()}var e=t.prototype;return e.next=function(){this._isSliding||this._slide("next")},e.nextWhenVisible=function(){var t=i.default(this._element);!document.hidden&&t.is(":visible")&&"hidden"!==t.css("visibility")&&this.next()},e.prev=function(){this._isSliding||this._slide("prev")},e.pause=function(t){t||(this._isPaused=!0),this._element.querySelector(".carousel-item-next, .carousel-item-prev")&&(l.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},e.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},e.to=function(t){var e=this;this._activeElement=this._element.querySelector(".active.carousel-item");var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)i.default(this._element).one("slid.bs.carousel",(function(){return e.to(t)}));else{if(n===t)return this.pause(),void this.cycle();var o=t>n?"next":"prev";this._slide(o,this._items[t])}},e.dispose=function(){i.default(this._element).off(m),i.default.removeData(this._element,"bs.carousel"),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},e._getConfig=function(t){return t=a({},v,t),l.typeCheckConfig(p,t,_),t},e._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;this.touchDeltaX=0,e>0&&this.prev(),e<0&&this.next()}},e._addEventListeners=function(){var t=this;this._config.keyboard&&i.default(this._element).on("keydown.bs.carousel",(function(e){return t._keydown(e)})),"hover"===this._config.pause&&i.default(this._element).on("mouseenter.bs.carousel",(function(e){return t.pause(e)})).on("mouseleave.bs.carousel",(function(e){return t.cycle(e)})),this._config.touch&&this._addTouchEventListeners()},e._addTouchEventListeners=function(){var t=this;if(this._touchSupported){var e=function(e){t._pointerEvent&&b[e.originalEvent.pointerType.toUpperCase()]?t.touchStartX=e.originalEvent.clientX:t._pointerEvent||(t.touchStartX=e.originalEvent.touches[0].clientX)},n=function(e){t._pointerEvent&&b[e.originalEvent.pointerType.toUpperCase()]&&(t.touchDeltaX=e.originalEvent.clientX-t.touchStartX),t._handleSwipe(),"hover"===t._config.pause&&(t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout((function(e){return t.cycle(e)}),500+t._config.interval))};i.default(this._element.querySelectorAll(".carousel-item img")).on("dragstart.bs.carousel",(function(t){return t.preventDefault()})),this._pointerEvent?(i.default(this._element).on("pointerdown.bs.carousel",(function(t){return e(t)})),i.default(this._element).on("pointerup.bs.carousel",(function(t){return n(t)})),this._element.classList.add("pointer-event")):(i.default(this._element).on("touchstart.bs.carousel",(function(t){return e(t)})),i.default(this._element).on("touchmove.bs.carousel",(function(e){return function(e){e.originalEvent.touches&&e.originalEvent.touches.length>1?t.touchDeltaX=0:t.touchDeltaX=e.originalEvent.touches[0].clientX-t.touchStartX}(e)})),i.default(this._element).on("touchend.bs.carousel",(function(t){return n(t)})))}},e._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},e._getItemIndex=function(t){return this._items=t&&t.parentNode?[].slice.call(t.parentNode.querySelectorAll(".carousel-item")):[],this._items.indexOf(t)},e._getItemByDirection=function(t,e){var n="next"===t,i="prev"===t,o=this._getItemIndex(e),r=this._items.length-1;if((i&&0===o||n&&o===r)&&!this._config.wrap)return e;var a=(o+("prev"===t?-1:1))%this._items.length;return-1===a?this._items[this._items.length-1]:this._items[a]},e._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),o=this._getItemIndex(this._element.querySelector(".active.carousel-item")),r=i.default.Event("slide.bs.carousel",{relatedTarget:t,direction:e,from:o,to:n});return i.default(this._element).trigger(r),r},e._setActiveIndicatorElement=function(t){if(this._indicatorsElement){var e=[].slice.call(this._indicatorsElement.querySelectorAll(".active"));i.default(e).removeClass("active");var n=this._indicatorsElement.children[this._getItemIndex(t)];n&&i.default(n).addClass("active")}},e._slide=function(t,e){var n,o,r,a=this,s=this._element.querySelector(".active.carousel-item"),u=this._getItemIndex(s),f=e||s&&this._getItemByDirection(t,s),d=this._getItemIndex(f),c=Boolean(this._interval);if("next"===t?(n="carousel-item-left",o="carousel-item-next",r="left"):(n="carousel-item-right",o="carousel-item-prev",r="right"),f&&i.default(f).hasClass("active"))this._isSliding=!1;else if(!this._triggerSlideEvent(f,r).isDefaultPrevented()&&s&&f){this._isSliding=!0,c&&this.pause(),this._setActiveIndicatorElement(f);var h=i.default.Event("slid.bs.carousel",{relatedTarget:f,direction:r,from:u,to:d});if(i.default(this._element).hasClass("slide")){i.default(f).addClass(o),l.reflow(f),i.default(s).addClass(n),i.default(f).addClass(n);var p=parseInt(f.getAttribute("data-interval"),10);p?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=p):this._config.interval=this._config.defaultInterval||this._config.interval;var m=l.getTransitionDurationFromElement(s);i.default(s).one(l.TRANSITION_END,(function(){i.default(f).removeClass(n+" "+o).addClass("active"),i.default(s).removeClass("active "+o+" "+n),a._isSliding=!1,setTimeout((function(){return i.default(a._element).trigger(h)}),0)})).emulateTransitionEnd(m)}else i.default(s).removeClass("active"),i.default(f).addClass("active"),this._isSliding=!1,i.default(this._element).trigger(h);c&&this.cycle()}},t._jQueryInterface=function(e){return this.each((function(){var n=i.default(this).data("bs.carousel"),o=a({},v,i.default(this).data());"object"==typeof e&&(o=a({},o,e));var r="string"==typeof e?e:o.slide;if(n||(n=new t(this,o),i.default(this).data("bs.carousel",n)),"number"==typeof e)n.to(e);else if("string"==typeof r){if("undefined"==typeof n[r])throw new TypeError('No method named "'+r+'"');n[r]()}else o.interval&&o.ride&&(n.pause(),n.cycle())}))},t._dataApiClickHandler=function(e){var n=l.getSelectorFromElement(this);if(n){var o=i.default(n)[0];if(o&&i.default(o).hasClass("carousel")){var r=a({},i.default(o).data(),i.default(this).data()),s=this.getAttribute("data-slide-to");s&&(r.interval=!1),t._jQueryInterface.call(i.default(o),r),s&&i.default(o).data("bs.carousel").to(s),e.preventDefault()}}},r(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return v}}]),t}();i.default(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",y._dataApiClickHandler),i.default(window).on("load.bs.carousel.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-ride="carousel"]')),e=0,n=t.length;e<n;e++){var o=i.default(t[e]);y._jQueryInterface.call(o,o.data())}})),i.default.fn[p]=y._jQueryInterface,i.default.fn[p].Constructor=y,i.default.fn[p].noConflict=function(){return i.default.fn[p]=g,y._jQueryInterface};var w="collapse",E=i.default.fn[w],T={toggle:!0,parent:""},C={toggle:"boolean",parent:"(string|element)"},S=function(){function t(t,e){this._isTransitioning=!1,this._element=t,this._config=this._getConfig(e),this._triggerArray=[].slice.call(document.querySelectorAll('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'));for(var n=[].slice.call(document.querySelectorAll('[data-toggle="collapse"]')),i=0,o=n.length;i<o;i++){var r=n[i],a=l.getSelectorFromElement(r),s=[].slice.call(document.querySelectorAll(a)).filter((function(e){return e===t}));null!==a&&s.length>0&&(this._selector=a,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var e=t.prototype;return e.toggle=function(){i.default(this._element).hasClass("show")?this.hide():this.show()},e.show=function(){var e,n,o=this;if(!this._isTransitioning&&!i.default(this._element).hasClass("show")&&(this._parent&&0===(e=[].slice.call(this._parent.querySelectorAll(".show, .collapsing")).filter((function(t){return"string"==typeof o._config.parent?t.getAttribute("data-parent")===o._config.parent:t.classList.contains("collapse")}))).length&&(e=null),!(e&&(n=i.default(e).not(this._selector).data("bs.collapse"))&&n._isTransitioning))){var r=i.default.Event("show.bs.collapse");if(i.default(this._element).trigger(r),!r.isDefaultPrevented()){e&&(t._jQueryInterface.call(i.default(e).not(this._selector),"hide"),n||i.default(e).data("bs.collapse",null));var a=this._getDimension();i.default(this._element).removeClass("collapse").addClass("collapsing"),this._element.style[a]=0,this._triggerArray.length&&i.default(this._triggerArray).removeClass("collapsed").attr("aria-expanded",!0),this.setTransitioning(!0);var s="scroll"+(a[0].toUpperCase()+a.slice(1)),u=l.getTransitionDurationFromElement(this._element);i.default(this._element).one(l.TRANSITION_END,(function(){i.default(o._element).removeClass("collapsing").addClass("collapse show"),o._element.style[a]="",o.setTransitioning(!1),i.default(o._element).trigger("shown.bs.collapse")})).emulateTransitionEnd(u),this._element.style[a]=this._element[s]+"px"}}},e.hide=function(){var t=this;if(!this._isTransitioning&&i.default(this._element).hasClass("show")){var e=i.default.Event("hide.bs.collapse");if(i.default(this._element).trigger(e),!e.isDefaultPrevented()){var n=this._getDimension();this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",l.reflow(this._element),i.default(this._element).addClass("collapsing").removeClass("collapse show");var o=this._triggerArray.length;if(o>0)for(var r=0;r<o;r++){var a=this._triggerArray[r],s=l.getSelectorFromElement(a);if(null!==s)i.default([].slice.call(document.querySelectorAll(s))).hasClass("show")||i.default(a).addClass("collapsed").attr("aria-expanded",!1)}this.setTransitioning(!0);this._element.style[n]="";var u=l.getTransitionDurationFromElement(this._element);i.default(this._element).one(l.TRANSITION_END,(function(){t.setTransitioning(!1),i.default(t._element).removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")})).emulateTransitionEnd(u)}}},e.setTransitioning=function(t){this._isTransitioning=t},e.dispose=function(){i.default.removeData(this._element,"bs.collapse"),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},e._getConfig=function(t){return(t=a({},T,t)).toggle=Boolean(t.toggle),l.typeCheckConfig(w,t,C),t},e._getDimension=function(){return i.default(this._element).hasClass("width")?"width":"height"},e._getParent=function(){var e,n=this;l.isElement(this._config.parent)?(e=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&(e=this._config.parent[0])):e=document.querySelector(this._config.parent);var o='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]',r=[].slice.call(e.querySelectorAll(o));return i.default(r).each((function(e,i){n._addAriaAndCollapsedClass(t._getTargetFromElement(i),[i])})),e},e._addAriaAndCollapsedClass=function(t,e){var n=i.default(t).hasClass("show");e.length&&i.default(e).toggleClass("collapsed",!n).attr("aria-expanded",n)},t._getTargetFromElement=function(t){var e=l.getSelectorFromElement(t);return e?document.querySelector(e):null},t._jQueryInterface=function(e){return this.each((function(){var n=i.default(this),o=n.data("bs.collapse"),r=a({},T,n.data(),"object"==typeof e&&e?e:{});if(!o&&r.toggle&&"string"==typeof e&&/show|hide/.test(e)&&(r.toggle=!1),o||(o=new t(this,r),n.data("bs.collapse",o)),"string"==typeof e){if("undefined"==typeof o[e])throw new TypeError('No method named "'+e+'"');o[e]()}}))},r(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return T}}]),t}();i.default(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',(function(t){"A"===t.currentTarget.tagName&&t.preventDefault();var e=i.default(this),n=l.getSelectorFromElement(this),o=[].slice.call(document.querySelectorAll(n));i.default(o).each((function(){var t=i.default(this),n=t.data("bs.collapse")?"toggle":e.data();S._jQueryInterface.call(t,n)}))})),i.default.fn[w]=S._jQueryInterface,i.default.fn[w].Constructor=S,i.default.fn[w].noConflict=function(){return i.default.fn[w]=E,S._jQueryInterface};var D="undefined"!=typeof window&&"undefined"!=typeof document&&"undefined"!=typeof navigator,N=function(){for(var t=["Edge","Trident","Firefox"],e=0;e<t.length;e+=1)if(D&&navigator.userAgent.indexOf(t[e])>=0)return 1;return 0}();var k=D&&window.Promise?function(t){var e=!1;return function(){e||(e=!0,window.Promise.resolve().then((function(){e=!1,t()})))}}:function(t){var e=!1;return function(){e||(e=!0,setTimeout((function(){e=!1,t()}),N))}};function A(t){return t&&"[object Function]"==={}.toString.call(t)}function I(t,e){if(1!==t.nodeType)return[];var n=t.ownerDocument.defaultView.getComputedStyle(t,null);return e?n[e]:n}function O(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function x(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=I(t),n=e.overflow,i=e.overflowX,o=e.overflowY;return/(auto|scroll|overlay)/.test(n+o+i)?t:x(O(t))}function j(t){return t&&t.referenceNode?t.referenceNode:t}var L=D&&!(!window.MSInputMethodContext||!document.documentMode),P=D&&/MSIE 10/.test(navigator.userAgent);function F(t){return 11===t?L:10===t?P:L||P}function R(t){if(!t)return document.documentElement;for(var e=F(10)?document.body:null,n=t.offsetParent||null;n===e&&t.nextElementSibling;)n=(t=t.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&"BODY"!==i&&"HTML"!==i?-1!==["TH","TD","TABLE"].indexOf(n.nodeName)&&"static"===I(n,"position")?R(n):n:t?t.ownerDocument.documentElement:document.documentElement}function H(t){return null!==t.parentNode?H(t.parentNode):t}function M(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return document.documentElement;var n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,i=n?t:e,o=n?e:t,r=document.createRange();r.setStart(i,0),r.setEnd(o,0);var a,s,l=r.commonAncestorContainer;if(t!==l&&e!==l||i.contains(o))return"BODY"===(s=(a=l).nodeName)||"HTML"!==s&&R(a.firstElementChild)!==a?R(l):l;var u=H(t);return u.host?M(u.host,e):M(t,H(e).host)}function B(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top",n="top"===e?"scrollTop":"scrollLeft",i=t.nodeName;if("BODY"===i||"HTML"===i){var o=t.ownerDocument.documentElement,r=t.ownerDocument.scrollingElement||o;return r[n]}return t[n]}function q(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=B(e,"top"),o=B(e,"left"),r=n?-1:1;return t.top+=i*r,t.bottom+=i*r,t.left+=o*r,t.right+=o*r,t}function Q(t,e){var n="x"===e?"Left":"Top",i="Left"===n?"Right":"Bottom";return parseFloat(t["border"+n+"Width"])+parseFloat(t["border"+i+"Width"])}function W(t,e,n,i){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],F(10)?parseInt(n["offset"+t])+parseInt(i["margin"+("Height"===t?"Top":"Left")])+parseInt(i["margin"+("Height"===t?"Bottom":"Right")]):0)}function U(t){var e=t.body,n=t.documentElement,i=F(10)&&getComputedStyle(n);return{height:W("Height",e,n,i),width:W("Width",e,n,i)}}var V=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},Y=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),z=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t},X=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t};function K(t){return X({},t,{right:t.left+t.width,bottom:t.top+t.height})}function G(t){var e={};try{if(F(10)){e=t.getBoundingClientRect();var n=B(t,"top"),i=B(t,"left");e.top+=n,e.left+=i,e.bottom+=n,e.right+=i}else e=t.getBoundingClientRect()}catch(t){}var o={left:e.left,top:e.top,width:e.right-e.left,height:e.bottom-e.top},r="HTML"===t.nodeName?U(t.ownerDocument):{},a=r.width||t.clientWidth||o.width,s=r.height||t.clientHeight||o.height,l=t.offsetWidth-a,u=t.offsetHeight-s;if(l||u){var f=I(t);l-=Q(f,"x"),u-=Q(f,"y"),o.width-=l,o.height-=u}return K(o)}function $(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=F(10),o="HTML"===e.nodeName,r=G(t),a=G(e),s=x(t),l=I(e),u=parseFloat(l.borderTopWidth),f=parseFloat(l.borderLeftWidth);n&&o&&(a.top=Math.max(a.top,0),a.left=Math.max(a.left,0));var d=K({top:r.top-a.top-u,left:r.left-a.left-f,width:r.width,height:r.height});if(d.marginTop=0,d.marginLeft=0,!i&&o){var c=parseFloat(l.marginTop),h=parseFloat(l.marginLeft);d.top-=u-c,d.bottom-=u-c,d.left-=f-h,d.right-=f-h,d.marginTop=c,d.marginLeft=h}return(i&&!n?e.contains(s):e===s&&"BODY"!==s.nodeName)&&(d=q(d,e)),d}function J(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=t.ownerDocument.documentElement,i=$(t,n),o=Math.max(n.clientWidth,window.innerWidth||0),r=Math.max(n.clientHeight,window.innerHeight||0),a=e?0:B(n),s=e?0:B(n,"left"),l={top:a-i.top+i.marginTop,left:s-i.left+i.marginLeft,width:o,height:r};return K(l)}function Z(t){var e=t.nodeName;if("BODY"===e||"HTML"===e)return!1;if("fixed"===I(t,"position"))return!0;var n=O(t);return!!n&&Z(n)}function tt(t){if(!t||!t.parentElement||F())return document.documentElement;for(var e=t.parentElement;e&&"none"===I(e,"transform");)e=e.parentElement;return e||document.documentElement}function et(t,e,n,i){var o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],r={top:0,left:0},a=o?tt(t):M(t,j(e));if("viewport"===i)r=J(a,o);else{var s=void 0;"scrollParent"===i?"BODY"===(s=x(O(e))).nodeName&&(s=t.ownerDocument.documentElement):s="window"===i?t.ownerDocument.documentElement:i;var l=$(s,a,o);if("HTML"!==s.nodeName||Z(a))r=l;else{var u=U(t.ownerDocument),f=u.height,d=u.width;r.top+=l.top-l.marginTop,r.bottom=f+l.top,r.left+=l.left-l.marginLeft,r.right=d+l.left}}var c="number"==typeof(n=n||0);return r.left+=c?n:n.left||0,r.top+=c?n:n.top||0,r.right-=c?n:n.right||0,r.bottom-=c?n:n.bottom||0,r}function nt(t){return t.width*t.height}function it(t,e,n,i,o){var r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var a=et(n,i,r,o),s={top:{width:a.width,height:e.top-a.top},right:{width:a.right-e.right,height:a.height},bottom:{width:a.width,height:a.bottom-e.bottom},left:{width:e.left-a.left,height:a.height}},l=Object.keys(s).map((function(t){return X({key:t},s[t],{area:nt(s[t])})})).sort((function(t,e){return e.area-t.area})),u=l.filter((function(t){var e=t.width,i=t.height;return e>=n.clientWidth&&i>=n.clientHeight})),f=u.length>0?u[0].key:l[0].key,d=t.split("-")[1];return f+(d?"-"+d:"")}function ot(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=i?tt(e):M(e,j(n));return $(n,o,i)}function rt(t){var e=t.ownerDocument.defaultView.getComputedStyle(t),n=parseFloat(e.marginTop||0)+parseFloat(e.marginBottom||0),i=parseFloat(e.marginLeft||0)+parseFloat(e.marginRight||0);return{width:t.offsetWidth+i,height:t.offsetHeight+n}}function at(t){var e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,(function(t){return e[t]}))}function st(t,e,n){n=n.split("-")[0];var i=rt(t),o={width:i.width,height:i.height},r=-1!==["right","left"].indexOf(n),a=r?"top":"left",s=r?"left":"top",l=r?"height":"width",u=r?"width":"height";return o[a]=e[a]+e[l]/2-i[l]/2,o[s]=n===s?e[s]-i[u]:e[at(s)],o}function lt(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function ut(t,e,n){return(void 0===n?t:t.slice(0,function(t,e,n){if(Array.prototype.findIndex)return t.findIndex((function(t){return t[e]===n}));var i=lt(t,(function(t){return t[e]===n}));return t.indexOf(i)}(t,"name",n))).forEach((function(t){t.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=t.function||t.fn;t.enabled&&A(n)&&(e.offsets.popper=K(e.offsets.popper),e.offsets.reference=K(e.offsets.reference),e=n(e,t))})),e}function ft(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=ot(this.state,this.popper,this.reference,this.options.positionFixed),t.placement=it(this.options.placement,t.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),t.originalPlacement=t.placement,t.positionFixed=this.options.positionFixed,t.offsets.popper=st(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",t=ut(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}function dt(t,e){return t.some((function(t){var n=t.name;return t.enabled&&n===e}))}function ct(t){for(var e=[!1,"ms","Webkit","Moz","O"],n=t.charAt(0).toUpperCase()+t.slice(1),i=0;i<e.length;i++){var o=e[i],r=o?""+o+n:t;if("undefined"!=typeof document.body.style[r])return r}return null}function ht(){return this.state.isDestroyed=!0,dt(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.position="",this.popper.style.top="",this.popper.style.left="",this.popper.style.right="",this.popper.style.bottom="",this.popper.style.willChange="",this.popper.style[ct("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}function pt(t){var e=t.ownerDocument;return e?e.defaultView:window}function mt(t,e,n,i){n.updateBound=i,pt(t).addEventListener("resize",n.updateBound,{passive:!0});var o=x(t);return function t(e,n,i,o){var r="BODY"===e.nodeName,a=r?e.ownerDocument.defaultView:e;a.addEventListener(n,i,{passive:!0}),r||t(x(a.parentNode),n,i,o),o.push(a)}(o,"scroll",n.updateBound,n.scrollParents),n.scrollElement=o,n.eventsEnabled=!0,n}function gt(){this.state.eventsEnabled||(this.state=mt(this.reference,this.options,this.state,this.scheduleUpdate))}function vt(){var t,e;this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=(t=this.reference,e=this.state,pt(t).removeEventListener("resize",e.updateBound),e.scrollParents.forEach((function(t){t.removeEventListener("scroll",e.updateBound)})),e.updateBound=null,e.scrollParents=[],e.scrollElement=null,e.eventsEnabled=!1,e))}function _t(t){return""!==t&&!isNaN(parseFloat(t))&&isFinite(t)}function bt(t,e){Object.keys(e).forEach((function(n){var i="";-1!==["width","height","top","right","bottom","left"].indexOf(n)&&_t(e[n])&&(i="px"),t.style[n]=e[n]+i}))}var yt=D&&/Firefox/i.test(navigator.userAgent);function wt(t,e,n){var i=lt(t,(function(t){return t.name===e})),o=!!i&&t.some((function(t){return t.name===n&&t.enabled&&t.order<i.order}));if(!o){var r="`"+e+"`",a="`"+n+"`";console.warn(a+" modifier is required by "+r+" modifier in order to work, be sure to include it before "+r+"!")}return o}var Et=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],Tt=Et.slice(3);function Ct(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=Tt.indexOf(t),i=Tt.slice(n+1).concat(Tt.slice(0,n));return e?i.reverse():i}var St="flip",Dt="clockwise",Nt="counterclockwise";function kt(t,e,n,i){var o=[0,0],r=-1!==["right","left"].indexOf(i),a=t.split(/(\+|\-)/).map((function(t){return t.trim()})),s=a.indexOf(lt(a,(function(t){return-1!==t.search(/,|\s/)})));a[s]&&-1===a[s].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,u=-1!==s?[a.slice(0,s).concat([a[s].split(l)[0]]),[a[s].split(l)[1]].concat(a.slice(s+1))]:[a];return(u=u.map((function(t,i){var o=(1===i?!r:r)?"height":"width",a=!1;return t.reduce((function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,a=!0,t):a?(t[t.length-1]+=e,a=!1,t):t.concat(e)}),[]).map((function(t){return function(t,e,n,i){var o=t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),r=+o[1],a=o[2];if(!r)return t;if(0===a.indexOf("%")){var s=void 0;switch(a){case"%p":s=n;break;case"%":case"%r":default:s=i}return K(s)[e]/100*r}if("vh"===a||"vw"===a){return("vh"===a?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*r}return r}(t,o,e,n)}))}))).forEach((function(t,e){t.forEach((function(n,i){_t(n)&&(o[e]+=n*("-"===t[i-1]?-1:1))}))})),o}var At={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(t){var e=t.placement,n=e.split("-")[0],i=e.split("-")[1];if(i){var o=t.offsets,r=o.reference,a=o.popper,s=-1!==["bottom","top"].indexOf(n),l=s?"left":"top",u=s?"width":"height",f={start:z({},l,r[l]),end:z({},l,r[l]+r[u]-a[u])};t.offsets.popper=X({},a,f[i])}return t}},offset:{order:200,enabled:!0,fn:function(t,e){var n=e.offset,i=t.placement,o=t.offsets,r=o.popper,a=o.reference,s=i.split("-")[0],l=void 0;return l=_t(+n)?[+n,0]:kt(n,r,a,s),"left"===s?(r.top+=l[0],r.left-=l[1]):"right"===s?(r.top+=l[0],r.left+=l[1]):"top"===s?(r.left+=l[0],r.top-=l[1]):"bottom"===s&&(r.left+=l[0],r.top+=l[1]),t.popper=r,t},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(t,e){var n=e.boundariesElement||R(t.instance.popper);t.instance.reference===n&&(n=R(n));var i=ct("transform"),o=t.instance.popper.style,r=o.top,a=o.left,s=o[i];o.top="",o.left="",o[i]="";var l=et(t.instance.popper,t.instance.reference,e.padding,n,t.positionFixed);o.top=r,o.left=a,o[i]=s,e.boundaries=l;var u=e.priority,f=t.offsets.popper,d={primary:function(t){var n=f[t];return f[t]<l[t]&&!e.escapeWithReference&&(n=Math.max(f[t],l[t])),z({},t,n)},secondary:function(t){var n="right"===t?"left":"top",i=f[n];return f[t]>l[t]&&!e.escapeWithReference&&(i=Math.min(f[n],l[t]-("right"===t?f.width:f.height))),z({},n,i)}};return u.forEach((function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";f=X({},f,d[e](t))})),t.offsets.popper=f,t},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(t){var e=t.offsets,n=e.popper,i=e.reference,o=t.placement.split("-")[0],r=Math.floor,a=-1!==["top","bottom"].indexOf(o),s=a?"right":"bottom",l=a?"left":"top",u=a?"width":"height";return n[s]<r(i[l])&&(t.offsets.popper[l]=r(i[l])-n[u]),n[l]>r(i[s])&&(t.offsets.popper[l]=r(i[s])),t}},arrow:{order:500,enabled:!0,fn:function(t,e){var n;if(!wt(t.instance.modifiers,"arrow","keepTogether"))return t;var i=e.element;if("string"==typeof i){if(!(i=t.instance.popper.querySelector(i)))return t}else if(!t.instance.popper.contains(i))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),t;var o=t.placement.split("-")[0],r=t.offsets,a=r.popper,s=r.reference,l=-1!==["left","right"].indexOf(o),u=l?"height":"width",f=l?"Top":"Left",d=f.toLowerCase(),c=l?"left":"top",h=l?"bottom":"right",p=rt(i)[u];s[h]-p<a[d]&&(t.offsets.popper[d]-=a[d]-(s[h]-p)),s[d]+p>a[h]&&(t.offsets.popper[d]+=s[d]+p-a[h]),t.offsets.popper=K(t.offsets.popper);var m=s[d]+s[u]/2-p/2,g=I(t.instance.popper),v=parseFloat(g["margin"+f]),_=parseFloat(g["border"+f+"Width"]),b=m-t.offsets.popper[d]-v-_;return b=Math.max(Math.min(a[u]-p,b),0),t.arrowElement=i,t.offsets.arrow=(z(n={},d,Math.round(b)),z(n,c,""),n),t},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(t,e){if(dt(t.instance.modifiers,"inner"))return t;if(t.flipped&&t.placement===t.originalPlacement)return t;var n=et(t.instance.popper,t.instance.reference,e.padding,e.boundariesElement,t.positionFixed),i=t.placement.split("-")[0],o=at(i),r=t.placement.split("-")[1]||"",a=[];switch(e.behavior){case St:a=[i,o];break;case Dt:a=Ct(i);break;case Nt:a=Ct(i,!0);break;default:a=e.behavior}return a.forEach((function(s,l){if(i!==s||a.length===l+1)return t;i=t.placement.split("-")[0],o=at(i);var u=t.offsets.popper,f=t.offsets.reference,d=Math.floor,c="left"===i&&d(u.right)>d(f.left)||"right"===i&&d(u.left)<d(f.right)||"top"===i&&d(u.bottom)>d(f.top)||"bottom"===i&&d(u.top)<d(f.bottom),h=d(u.left)<d(n.left),p=d(u.right)>d(n.right),m=d(u.top)<d(n.top),g=d(u.bottom)>d(n.bottom),v="left"===i&&h||"right"===i&&p||"top"===i&&m||"bottom"===i&&g,_=-1!==["top","bottom"].indexOf(i),b=!!e.flipVariations&&(_&&"start"===r&&h||_&&"end"===r&&p||!_&&"start"===r&&m||!_&&"end"===r&&g),y=!!e.flipVariationsByContent&&(_&&"start"===r&&p||_&&"end"===r&&h||!_&&"start"===r&&g||!_&&"end"===r&&m),w=b||y;(c||v||w)&&(t.flipped=!0,(c||v)&&(i=a[l+1]),w&&(r=function(t){return"end"===t?"start":"start"===t?"end":t}(r)),t.placement=i+(r?"-"+r:""),t.offsets.popper=X({},t.offsets.popper,st(t.instance.popper,t.offsets.reference,t.placement)),t=ut(t.instance.modifiers,t,"flip"))})),t},behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(t){var e=t.placement,n=e.split("-")[0],i=t.offsets,o=i.popper,r=i.reference,a=-1!==["left","right"].indexOf(n),s=-1===["top","left"].indexOf(n);return o[a?"left":"top"]=r[n]-(s?o[a?"width":"height"]:0),t.placement=at(e),t.offsets.popper=K(o),t}},hide:{order:800,enabled:!0,fn:function(t){if(!wt(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=lt(t.instance.modifiers,(function(t){return"preventOverflow"===t.name})).boundaries;if(e.bottom<n.top||e.left>n.right||e.top>n.bottom||e.right<n.left){if(!0===t.hide)return t;t.hide=!0,t.attributes["x-out-of-boundaries"]=""}else{if(!1===t.hide)return t;t.hide=!1,t.attributes["x-out-of-boundaries"]=!1}return t}},computeStyle:{order:850,enabled:!0,fn:function(t,e){var n=e.x,i=e.y,o=t.offsets.popper,r=lt(t.instance.modifiers,(function(t){return"applyStyle"===t.name})).gpuAcceleration;void 0!==r&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var a=void 0!==r?r:e.gpuAcceleration,s=R(t.instance.popper),l=G(s),u={position:o.position},f=function(t,e){var n=t.offsets,i=n.popper,o=n.reference,r=Math.round,a=Math.floor,s=function(t){return t},l=r(o.width),u=r(i.width),f=-1!==["left","right"].indexOf(t.placement),d=-1!==t.placement.indexOf("-"),c=e?f||d||l%2==u%2?r:a:s,h=e?r:s;return{left:c(l%2==1&&u%2==1&&!d&&e?i.left-1:i.left),top:h(i.top),bottom:h(i.bottom),right:c(i.right)}}(t,window.devicePixelRatio<2||!yt),d="bottom"===n?"top":"bottom",c="right"===i?"left":"right",h=ct("transform"),p=void 0,m=void 0;if(m="bottom"===d?"HTML"===s.nodeName?-s.clientHeight+f.bottom:-l.height+f.bottom:f.top,p="right"===c?"HTML"===s.nodeName?-s.clientWidth+f.right:-l.width+f.right:f.left,a&&h)u[h]="translate3d("+p+"px, "+m+"px, 0)",u[d]=0,u[c]=0,u.willChange="transform";else{var g="bottom"===d?-1:1,v="right"===c?-1:1;u[d]=m*g,u[c]=p*v,u.willChange=d+", "+c}var _={"x-placement":t.placement};return t.attributes=X({},_,t.attributes),t.styles=X({},u,t.styles),t.arrowStyles=X({},t.offsets.arrow,t.arrowStyles),t},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(t){var e,n;return bt(t.instance.popper,t.styles),e=t.instance.popper,n=t.attributes,Object.keys(n).forEach((function(t){!1!==n[t]?e.setAttribute(t,n[t]):e.removeAttribute(t)})),t.arrowElement&&Object.keys(t.arrowStyles).length&&bt(t.arrowElement,t.arrowStyles),t},onLoad:function(t,e,n,i,o){var r=ot(o,e,t,n.positionFixed),a=it(n.placement,r,e,t,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return e.setAttribute("x-placement",a),bt(e,{position:n.positionFixed?"fixed":"absolute"}),n},gpuAcceleration:void 0}}},It=function(){function t(e,n){var i=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};V(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(i.update)},this.update=k(this.update.bind(this)),this.options=X({},t.Defaults,o),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(X({},t.Defaults.modifiers,o.modifiers)).forEach((function(e){i.options.modifiers[e]=X({},t.Defaults.modifiers[e]||{},o.modifiers?o.modifiers[e]:{})})),this.modifiers=Object.keys(this.options.modifiers).map((function(t){return X({name:t},i.options.modifiers[t])})).sort((function(t,e){return t.order-e.order})),this.modifiers.forEach((function(t){t.enabled&&A(t.onLoad)&&t.onLoad(i.reference,i.popper,i.options,t,i.state)})),this.update();var r=this.options.eventsEnabled;r&&this.enableEventListeners(),this.state.eventsEnabled=r}return Y(t,[{key:"update",value:function(){return ft.call(this)}},{key:"destroy",value:function(){return ht.call(this)}},{key:"enableEventListeners",value:function(){return gt.call(this)}},{key:"disableEventListeners",value:function(){return vt.call(this)}}]),t}();It.Utils=("undefined"!=typeof window?window:global).PopperUtils,It.placements=Et,It.Defaults=At;var Ot="dropdown",xt=i.default.fn[Ot],jt=new RegExp("38|40|27"),Lt={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic",popperConfig:null},Pt={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string",popperConfig:"(null|object)"},Ft=function(){function t(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var e=t.prototype;return e.toggle=function(){if(!this._element.disabled&&!i.default(this._element).hasClass("disabled")){var e=i.default(this._menu).hasClass("show");t._clearMenus(),e||this.show(!0)}},e.show=function(e){if(void 0===e&&(e=!1),!(this._element.disabled||i.default(this._element).hasClass("disabled")||i.default(this._menu).hasClass("show"))){var n={relatedTarget:this._element},o=i.default.Event("show.bs.dropdown",n),r=t._getParentFromElement(this._element);if(i.default(r).trigger(o),!o.isDefaultPrevented()){if(!this._inNavbar&&e){if("undefined"==typeof It)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org/)");var a=this._element;"parent"===this._config.reference?a=r:l.isElement(this._config.reference)&&(a=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(a=this._config.reference[0])),"scrollParent"!==this._config.boundary&&i.default(r).addClass("position-static"),this._popper=new It(a,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===i.default(r).closest(".navbar-nav").length&&i.default(document.body).children().on("mouseover",null,i.default.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),i.default(this._menu).toggleClass("show"),i.default(r).toggleClass("show").trigger(i.default.Event("shown.bs.dropdown",n))}}},e.hide=function(){if(!this._element.disabled&&!i.default(this._element).hasClass("disabled")&&i.default(this._menu).hasClass("show")){var e={relatedTarget:this._element},n=i.default.Event("hide.bs.dropdown",e),o=t._getParentFromElement(this._element);i.default(o).trigger(n),n.isDefaultPrevented()||(this._popper&&this._popper.destroy(),i.default(this._menu).toggleClass("show"),i.default(o).toggleClass("show").trigger(i.default.Event("hidden.bs.dropdown",e)))}},e.dispose=function(){i.default.removeData(this._element,"bs.dropdown"),i.default(this._element).off(".bs.dropdown"),this._element=null,this._menu=null,null!==this._popper&&(this._popper.destroy(),this._popper=null)},e.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},e._addEventListeners=function(){var t=this;i.default(this._element).on("click.bs.dropdown",(function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}))},e._getConfig=function(t){return t=a({},this.constructor.Default,i.default(this._element).data(),t),l.typeCheckConfig(Ot,t,this.constructor.DefaultType),t},e._getMenuElement=function(){if(!this._menu){var e=t._getParentFromElement(this._element);e&&(this._menu=e.querySelector(".dropdown-menu"))}return this._menu},e._getPlacement=function(){var t=i.default(this._element.parentNode),e="bottom-start";return t.hasClass("dropup")?e=i.default(this._menu).hasClass("dropdown-menu-right")?"top-end":"top-start":t.hasClass("dropright")?e="right-start":t.hasClass("dropleft")?e="left-start":i.default(this._menu).hasClass("dropdown-menu-right")&&(e="bottom-end"),e},e._detectNavbar=function(){return i.default(this._element).closest(".navbar").length>0},e._getOffset=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=a({},e.offsets,t._config.offset(e.offsets,t._element)||{}),e}:e.offset=this._config.offset,e},e._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),a({},t,this._config.popperConfig)},t._jQueryInterface=function(e){return this.each((function(){var n=i.default(this).data("bs.dropdown");if(n||(n=new t(this,"object"==typeof e?e:null),i.default(this).data("bs.dropdown",n)),"string"==typeof e){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t._clearMenus=function(e){if(!e||3!==e.which&&("keyup"!==e.type||9===e.which))for(var n=[].slice.call(document.querySelectorAll('[data-toggle="dropdown"]')),o=0,r=n.length;o<r;o++){var a=t._getParentFromElement(n[o]),s=i.default(n[o]).data("bs.dropdown"),l={relatedTarget:n[o]};if(e&&"click"===e.type&&(l.clickEvent=e),s){var u=s._menu;if(i.default(a).hasClass("show")&&!(e&&("click"===e.type&&/input|textarea/i.test(e.target.tagName)||"keyup"===e.type&&9===e.which)&&i.default.contains(a,e.target))){var f=i.default.Event("hide.bs.dropdown",l);i.default(a).trigger(f),f.isDefaultPrevented()||("ontouchstart"in document.documentElement&&i.default(document.body).children().off("mouseover",null,i.default.noop),n[o].setAttribute("aria-expanded","false"),s._popper&&s._popper.destroy(),i.default(u).removeClass("show"),i.default(a).removeClass("show").trigger(i.default.Event("hidden.bs.dropdown",l)))}}}},t._getParentFromElement=function(t){var e,n=l.getSelectorFromElement(t);return n&&(e=document.querySelector(n)),e||t.parentNode},t._dataApiKeydownHandler=function(e){if(!(/input|textarea/i.test(e.target.tagName)?32===e.which||27!==e.which&&(40!==e.which&&38!==e.which||i.default(e.target).closest(".dropdown-menu").length):!jt.test(e.which))&&!this.disabled&&!i.default(this).hasClass("disabled")){var n=t._getParentFromElement(this),o=i.default(n).hasClass("show");if(o||27!==e.which){if(e.preventDefault(),e.stopPropagation(),!o||27===e.which||32===e.which)return 27===e.which&&i.default(n.querySelector('[data-toggle="dropdown"]')).trigger("focus"),void i.default(this).trigger("click");var r=[].slice.call(n.querySelectorAll(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)")).filter((function(t){return i.default(t).is(":visible")}));if(0!==r.length){var a=r.indexOf(e.target);38===e.which&&a>0&&a--,40===e.which&&a<r.length-1&&a++,a<0&&(a=0),r[a].focus()}}}},r(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return Lt}},{key:"DefaultType",get:function(){return Pt}}]),t}();i.default(document).on("keydown.bs.dropdown.data-api",'[data-toggle="dropdown"]',Ft._dataApiKeydownHandler).on("keydown.bs.dropdown.data-api",".dropdown-menu",Ft._dataApiKeydownHandler).on("click.bs.dropdown.data-api keyup.bs.dropdown.data-api",Ft._clearMenus).on("click.bs.dropdown.data-api",'[data-toggle="dropdown"]',(function(t){t.preventDefault(),t.stopPropagation(),Ft._jQueryInterface.call(i.default(this),"toggle")})).on("click.bs.dropdown.data-api",".dropdown form",(function(t){t.stopPropagation()})),i.default.fn[Ot]=Ft._jQueryInterface,i.default.fn[Ot].Constructor=Ft,i.default.fn[Ot].noConflict=function(){return i.default.fn[Ot]=xt,Ft._jQueryInterface};var Rt=i.default.fn.modal,Ht={backdrop:!0,keyboard:!0,focus:!0,show:!0},Mt={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},Bt=function(){function t(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=t.querySelector(".modal-dialog"),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0}var e=t.prototype;return e.toggle=function(t){return this._isShown?this.hide():this.show(t)},e.show=function(t){var e=this;if(!this._isShown&&!this._isTransitioning){i.default(this._element).hasClass("fade")&&(this._isTransitioning=!0);var n=i.default.Event("show.bs.modal",{relatedTarget:t});i.default(this._element).trigger(n),this._isShown||n.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),i.default(this._element).on("click.dismiss.bs.modal",'[data-dismiss="modal"]',(function(t){return e.hide(t)})),i.default(this._dialog).on("mousedown.dismiss.bs.modal",(function(){i.default(e._element).one("mouseup.dismiss.bs.modal",(function(t){i.default(t.target).is(e._element)&&(e._ignoreBackdropClick=!0)}))})),this._showBackdrop((function(){return e._showElement(t)})))}},e.hide=function(t){var e=this;if(t&&t.preventDefault(),this._isShown&&!this._isTransitioning){var n=i.default.Event("hide.bs.modal");if(i.default(this._element).trigger(n),this._isShown&&!n.isDefaultPrevented()){this._isShown=!1;var o=i.default(this._element).hasClass("fade");if(o&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),i.default(document).off("focusin.bs.modal"),i.default(this._element).removeClass("show"),i.default(this._element).off("click.dismiss.bs.modal"),i.default(this._dialog).off("mousedown.dismiss.bs.modal"),o){var r=l.getTransitionDurationFromElement(this._element);i.default(this._element).one(l.TRANSITION_END,(function(t){return e._hideModal(t)})).emulateTransitionEnd(r)}else this._hideModal()}}},e.dispose=function(){[window,this._element,this._dialog].forEach((function(t){return i.default(t).off(".bs.modal")})),i.default(document).off("focusin.bs.modal"),i.default.removeData(this._element,"bs.modal"),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._isTransitioning=null,this._scrollbarWidth=null},e.handleUpdate=function(){this._adjustDialog()},e._getConfig=function(t){return t=a({},Ht,t),l.typeCheckConfig("modal",t,Mt),t},e._triggerBackdropTransition=function(){var t=this;if("static"===this._config.backdrop){var e=i.default.Event("hidePrevented.bs.modal");if(i.default(this._element).trigger(e),e.isDefaultPrevented())return;var n=this._element.scrollHeight>document.documentElement.clientHeight;n||(this._element.style.overflowY="hidden"),this._element.classList.add("modal-static");var o=l.getTransitionDurationFromElement(this._dialog);i.default(this._element).off(l.TRANSITION_END),i.default(this._element).one(l.TRANSITION_END,(function(){t._element.classList.remove("modal-static"),n||i.default(t._element).one(l.TRANSITION_END,(function(){t._element.style.overflowY=""})).emulateTransitionEnd(t._element,o)})).emulateTransitionEnd(o),this._element.focus()}else this.hide()},e._showElement=function(t){var e=this,n=i.default(this._element).hasClass("fade"),o=this._dialog?this._dialog.querySelector(".modal-body"):null;this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),i.default(this._dialog).hasClass("modal-dialog-scrollable")&&o?o.scrollTop=0:this._element.scrollTop=0,n&&l.reflow(this._element),i.default(this._element).addClass("show"),this._config.focus&&this._enforceFocus();var r=i.default.Event("shown.bs.modal",{relatedTarget:t}),a=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,i.default(e._element).trigger(r)};if(n){var s=l.getTransitionDurationFromElement(this._dialog);i.default(this._dialog).one(l.TRANSITION_END,a).emulateTransitionEnd(s)}else a()},e._enforceFocus=function(){var t=this;i.default(document).off("focusin.bs.modal").on("focusin.bs.modal",(function(e){document!==e.target&&t._element!==e.target&&0===i.default(t._element).has(e.target).length&&t._element.focus()}))},e._setEscapeEvent=function(){var t=this;this._isShown?i.default(this._element).on("keydown.dismiss.bs.modal",(function(e){t._config.keyboard&&27===e.which?(e.preventDefault(),t.hide()):t._config.keyboard||27!==e.which||t._triggerBackdropTransition()})):this._isShown||i.default(this._element).off("keydown.dismiss.bs.modal")},e._setResizeEvent=function(){var t=this;this._isShown?i.default(window).on("resize.bs.modal",(function(e){return t.handleUpdate(e)})):i.default(window).off("resize.bs.modal")},e._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._showBackdrop((function(){i.default(document.body).removeClass("modal-open"),t._resetAdjustments(),t._resetScrollbar(),i.default(t._element).trigger("hidden.bs.modal")}))},e._removeBackdrop=function(){this._backdrop&&(i.default(this._backdrop).remove(),this._backdrop=null)},e._showBackdrop=function(t){var e=this,n=i.default(this._element).hasClass("fade")?"fade":"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className="modal-backdrop",n&&this._backdrop.classList.add(n),i.default(this._backdrop).appendTo(document.body),i.default(this._element).on("click.dismiss.bs.modal",(function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&e._triggerBackdropTransition()})),n&&l.reflow(this._backdrop),i.default(this._backdrop).addClass("show"),!t)return;if(!n)return void t();var o=l.getTransitionDurationFromElement(this._backdrop);i.default(this._backdrop).one(l.TRANSITION_END,t).emulateTransitionEnd(o)}else if(!this._isShown&&this._backdrop){i.default(this._backdrop).removeClass("show");var r=function(){e._removeBackdrop(),t&&t()};if(i.default(this._element).hasClass("fade")){var a=l.getTransitionDurationFromElement(this._backdrop);i.default(this._backdrop).one(l.TRANSITION_END,r).emulateTransitionEnd(a)}else r()}else t&&t()},e._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},e._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},e._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=Math.round(t.left+t.right)<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},e._setScrollbar=function(){var t=this;if(this._isBodyOverflowing){var e=[].slice.call(document.querySelectorAll(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top")),n=[].slice.call(document.querySelectorAll(".sticky-top"));i.default(e).each((function(e,n){var o=n.style.paddingRight,r=i.default(n).css("padding-right");i.default(n).data("padding-right",o).css("padding-right",parseFloat(r)+t._scrollbarWidth+"px")})),i.default(n).each((function(e,n){var o=n.style.marginRight,r=i.default(n).css("margin-right");i.default(n).data("margin-right",o).css("margin-right",parseFloat(r)-t._scrollbarWidth+"px")}));var o=document.body.style.paddingRight,r=i.default(document.body).css("padding-right");i.default(document.body).data("padding-right",o).css("padding-right",parseFloat(r)+this._scrollbarWidth+"px")}i.default(document.body).addClass("modal-open")},e._resetScrollbar=function(){var t=[].slice.call(document.querySelectorAll(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top"));i.default(t).each((function(t,e){var n=i.default(e).data("padding-right");i.default(e).removeData("padding-right"),e.style.paddingRight=n||""}));var e=[].slice.call(document.querySelectorAll(".sticky-top"));i.default(e).each((function(t,e){var n=i.default(e).data("margin-right");"undefined"!=typeof n&&i.default(e).css("margin-right",n).removeData("margin-right")}));var n=i.default(document.body).data("padding-right");i.default(document.body).removeData("padding-right"),document.body.style.paddingRight=n||""},e._getScrollbarWidth=function(){var t=document.createElement("div");t.className="modal-scrollbar-measure",document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},t._jQueryInterface=function(e,n){return this.each((function(){var o=i.default(this).data("bs.modal"),r=a({},Ht,i.default(this).data(),"object"==typeof e&&e?e:{});if(o||(o=new t(this,r),i.default(this).data("bs.modal",o)),"string"==typeof e){if("undefined"==typeof o[e])throw new TypeError('No method named "'+e+'"');o[e](n)}else r.show&&o.show(n)}))},r(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return Ht}}]),t}();i.default(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',(function(t){var e,n=this,o=l.getSelectorFromElement(this);o&&(e=document.querySelector(o));var r=i.default(e).data("bs.modal")?"toggle":a({},i.default(e).data(),i.default(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault();var s=i.default(e).one("show.bs.modal",(function(t){t.isDefaultPrevented()||s.one("hidden.bs.modal",(function(){i.default(n).is(":visible")&&n.focus()}))}));Bt._jQueryInterface.call(i.default(e),r,this)})),i.default.fn.modal=Bt._jQueryInterface,i.default.fn.modal.Constructor=Bt,i.default.fn.modal.noConflict=function(){return i.default.fn.modal=Rt,Bt._jQueryInterface};var qt=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],Qt={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Wt=/^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi,Ut=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i;function Vt(t,e,n){if(0===t.length)return t;if(n&&"function"==typeof n)return n(t);for(var i=(new window.DOMParser).parseFromString(t,"text/html"),o=Object.keys(e),r=[].slice.call(i.body.querySelectorAll("*")),a=function(t,n){var i=r[t],a=i.nodeName.toLowerCase();if(-1===o.indexOf(i.nodeName.toLowerCase()))return i.parentNode.removeChild(i),"continue";var s=[].slice.call(i.attributes),l=[].concat(e["*"]||[],e[a]||[]);s.forEach((function(t){(function(t,e){var n=t.nodeName.toLowerCase();if(-1!==e.indexOf(n))return-1===qt.indexOf(n)||Boolean(t.nodeValue.match(Wt)||t.nodeValue.match(Ut));for(var i=e.filter((function(t){return t instanceof RegExp})),o=0,r=i.length;o<r;o++)if(n.match(i[o]))return!0;return!1})(t,l)||i.removeAttribute(t.nodeName)}))},s=0,l=r.length;s<l;s++)a(s);return i.body.innerHTML}var Yt="tooltip",zt=i.default.fn[Yt],Xt=new RegExp("(^|\\s)bs-tooltip\\S+","g"),Kt=["sanitize","whiteList","sanitizeFn"],Gt={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string|function)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)",sanitize:"boolean",sanitizeFn:"(null|function)",whiteList:"object",popperConfig:"(null|object)"},$t={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},Jt={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:Qt,popperConfig:null},Zt={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},te=function(){function t(t,e){if("undefined"==typeof It)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var e=t.prototype;return e.enable=function(){this._isEnabled=!0},e.disable=function(){this._isEnabled=!1},e.toggleEnabled=function(){this._isEnabled=!this._isEnabled},e.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=i.default(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),i.default(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(i.default(this.getTipElement()).hasClass("show"))return void this._leave(null,this);this._enter(null,this)}},e.dispose=function(){clearTimeout(this._timeout),i.default.removeData(this.element,this.constructor.DATA_KEY),i.default(this.element).off(this.constructor.EVENT_KEY),i.default(this.element).closest(".modal").off("hide.bs.modal",this._hideModalHandler),this.tip&&i.default(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},e.show=function(){var t=this;if("none"===i.default(this.element).css("display"))throw new Error("Please use show on visible elements");var e=i.default.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){i.default(this.element).trigger(e);var n=l.findShadowRoot(this.element),o=i.default.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(e.isDefaultPrevented()||!o)return;var r=this.getTipElement(),a=l.getUID(this.constructor.NAME);r.setAttribute("id",a),this.element.setAttribute("aria-describedby",a),this.setContent(),this.config.animation&&i.default(r).addClass("fade");var s="function"==typeof this.config.placement?this.config.placement.call(this,r,this.element):this.config.placement,u=this._getAttachment(s);this.addAttachmentClass(u);var f=this._getContainer();i.default(r).data(this.constructor.DATA_KEY,this),i.default.contains(this.element.ownerDocument.documentElement,this.tip)||i.default(r).appendTo(f),i.default(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new It(this.element,r,this._getPopperConfig(u)),i.default(r).addClass("show"),"ontouchstart"in document.documentElement&&i.default(document.body).children().on("mouseover",null,i.default.noop);var d=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,i.default(t.element).trigger(t.constructor.Event.SHOWN),"out"===e&&t._leave(null,t)};if(i.default(this.tip).hasClass("fade")){var c=l.getTransitionDurationFromElement(this.tip);i.default(this.tip).one(l.TRANSITION_END,d).emulateTransitionEnd(c)}else d()}},e.hide=function(t){var e=this,n=this.getTipElement(),o=i.default.Event(this.constructor.Event.HIDE),r=function(){"show"!==e._hoverState&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),i.default(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(i.default(this.element).trigger(o),!o.isDefaultPrevented()){if(i.default(n).removeClass("show"),"ontouchstart"in document.documentElement&&i.default(document.body).children().off("mouseover",null,i.default.noop),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,i.default(this.tip).hasClass("fade")){var a=l.getTransitionDurationFromElement(n);i.default(n).one(l.TRANSITION_END,r).emulateTransitionEnd(a)}else r();this._hoverState=""}},e.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},e.isWithContent=function(){return Boolean(this.getTitle())},e.addAttachmentClass=function(t){i.default(this.getTipElement()).addClass("bs-tooltip-"+t)},e.getTipElement=function(){return this.tip=this.tip||i.default(this.config.template)[0],this.tip},e.setContent=function(){var t=this.getTipElement();this.setElementContent(i.default(t.querySelectorAll(".tooltip-inner")),this.getTitle()),i.default(t).removeClass("fade show")},e.setElementContent=function(t,e){"object"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=Vt(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?i.default(e).parent().is(t)||t.empty().append(e):t.text(i.default(e).text())},e.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},e._getPopperConfig=function(t){var e=this;return a({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:".arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},this.config.popperConfig)},e._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=a({},e.offsets,t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},e._getContainer=function(){return!1===this.config.container?document.body:l.isElement(this.config.container)?i.default(this.config.container):i.default(document).find(this.config.container)},e._getAttachment=function(t){return $t[t.toUpperCase()]},e._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach((function(e){if("click"===e)i.default(t.element).on(t.constructor.Event.CLICK,t.config.selector,(function(e){return t.toggle(e)}));else if("manual"!==e){var n="hover"===e?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,o="hover"===e?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;i.default(t.element).on(n,t.config.selector,(function(e){return t._enter(e)})).on(o,t.config.selector,(function(e){return t._leave(e)}))}})),this._hideModalHandler=function(){t.element&&t.hide()},i.default(this.element).closest(".modal").on("hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=a({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},e._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},e._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||i.default(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),i.default(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),i.default(e.getTipElement()).hasClass("show")||"show"===e._hoverState?e._hoverState="show":(clearTimeout(e._timeout),e._hoverState="show",e.config.delay&&e.config.delay.show?e._timeout=setTimeout((function(){"show"===e._hoverState&&e.show()}),e.config.delay.show):e.show())},e._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||i.default(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),i.default(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?"focus":"hover"]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState="out",e.config.delay&&e.config.delay.hide?e._timeout=setTimeout((function(){"out"===e._hoverState&&e.hide()}),e.config.delay.hide):e.hide())},e._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},e._getConfig=function(t){var e=i.default(this.element).data();return Object.keys(e).forEach((function(t){-1!==Kt.indexOf(t)&&delete e[t]})),"number"==typeof(t=a({},this.constructor.Default,e,"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),l.typeCheckConfig(Yt,t,this.constructor.DefaultType),t.sanitize&&(t.template=Vt(t.template,t.whiteList,t.sanitizeFn)),t},e._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},e._cleanTipClass=function(){var t=i.default(this.getTipElement()),e=t.attr("class").match(Xt);null!==e&&e.length&&t.removeClass(e.join(""))},e._handlePopperPlacementChange=function(t){this.tip=t.instance.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},e._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(i.default(t).removeClass("fade"),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},t._jQueryInterface=function(e){return this.each((function(){var n=i.default(this),o=n.data("bs.tooltip"),r="object"==typeof e&&e;if((o||!/dispose|hide/.test(e))&&(o||(o=new t(this,r),n.data("bs.tooltip",o)),"string"==typeof e)){if("undefined"==typeof o[e])throw new TypeError('No method named "'+e+'"');o[e]()}}))},r(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return Jt}},{key:"NAME",get:function(){return Yt}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return Zt}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return Gt}}]),t}();i.default.fn[Yt]=te._jQueryInterface,i.default.fn[Yt].Constructor=te,i.default.fn[Yt].noConflict=function(){return i.default.fn[Yt]=zt,te._jQueryInterface};var ee="popover",ne=i.default.fn[ee],ie=new RegExp("(^|\\s)bs-popover\\S+","g"),oe=a({},te.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),re=a({},te.DefaultType,{content:"(string|element|function)"}),ae={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},se=function(t){var e,n;function o(){return t.apply(this,arguments)||this}n=t,(e=o).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n;var a=o.prototype;return a.isWithContent=function(){return this.getTitle()||this._getContent()},a.addAttachmentClass=function(t){i.default(this.getTipElement()).addClass("bs-popover-"+t)},a.getTipElement=function(){return this.tip=this.tip||i.default(this.config.template)[0],this.tip},a.setContent=function(){var t=i.default(this.getTipElement());this.setElementContent(t.find(".popover-header"),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(".popover-body"),e),t.removeClass("fade show")},a._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},a._cleanTipClass=function(){var t=i.default(this.getTipElement()),e=t.attr("class").match(ie);null!==e&&e.length>0&&t.removeClass(e.join(""))},o._jQueryInterface=function(t){return this.each((function(){var e=i.default(this).data("bs.popover"),n="object"==typeof t?t:null;if((e||!/dispose|hide/.test(t))&&(e||(e=new o(this,n),i.default(this).data("bs.popover",e)),"string"==typeof t)){if("undefined"==typeof e[t])throw new TypeError('No method named "'+t+'"');e[t]()}}))},r(o,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return oe}},{key:"NAME",get:function(){return ee}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return ae}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return re}}]),o}(te);i.default.fn[ee]=se._jQueryInterface,i.default.fn[ee].Constructor=se,i.default.fn[ee].noConflict=function(){return i.default.fn[ee]=ne,se._jQueryInterface};var le="scrollspy",ue=i.default.fn[le],fe={offset:10,method:"auto",target:""},de={offset:"number",method:"string",target:"(string|element)"},ce=function(){function t(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" .nav-link,"+this._config.target+" .list-group-item,"+this._config.target+" .dropdown-item",this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,i.default(this._scrollElement).on("scroll.bs.scrollspy",(function(t){return n._process(t)})),this.refresh(),this._process()}var e=t.prototype;return e.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?"offset":"position",n="auto"===this._config.method?e:this._config.method,o="position"===n?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map((function(t){var e,r=l.getSelectorFromElement(t);if(r&&(e=document.querySelector(r)),e){var a=e.getBoundingClientRect();if(a.width||a.height)return[i.default(e)[n]().top+o,r]}return null})).filter((function(t){return t})).sort((function(t,e){return t[0]-e[0]})).forEach((function(e){t._offsets.push(e[0]),t._targets.push(e[1])}))},e.dispose=function(){i.default.removeData(this._element,"bs.scrollspy"),i.default(this._scrollElement).off(".bs.scrollspy"),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},e._getConfig=function(t){if("string"!=typeof(t=a({},fe,"object"==typeof t&&t?t:{})).target&&l.isElement(t.target)){var e=i.default(t.target).attr("id");e||(e=l.getUID(le),i.default(t.target).attr("id",e)),t.target="#"+e}return l.typeCheckConfig(le,t,de),t},e._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},e._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},e._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},e._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t<this._offsets[o+1])&&this._activate(this._targets[o])}}},e._activate=function(t){this._activeTarget=t,this._clear();var e=this._selector.split(",").map((function(e){return e+'[data-target="'+t+'"],'+e+'[href="'+t+'"]'})),n=i.default([].slice.call(document.querySelectorAll(e.join(","))));n.hasClass("dropdown-item")?(n.closest(".dropdown").find(".dropdown-toggle").addClass("active"),n.addClass("active")):(n.addClass("active"),n.parents(".nav, .list-group").prev(".nav-link, .list-group-item").addClass("active"),n.parents(".nav, .list-group").prev(".nav-item").children(".nav-link").addClass("active")),i.default(this._scrollElement).trigger("activate.bs.scrollspy",{relatedTarget:t})},e._clear=function(){[].slice.call(document.querySelectorAll(this._selector)).filter((function(t){return t.classList.contains("active")})).forEach((function(t){return t.classList.remove("active")}))},t._jQueryInterface=function(e){return this.each((function(){var n=i.default(this).data("bs.scrollspy");if(n||(n=new t(this,"object"==typeof e&&e),i.default(this).data("bs.scrollspy",n)),"string"==typeof e){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},r(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return fe}}]),t}();i.default(window).on("load.bs.scrollspy.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-spy="scroll"]')),e=t.length;e--;){var n=i.default(t[e]);ce._jQueryInterface.call(n,n.data())}})),i.default.fn[le]=ce._jQueryInterface,i.default.fn[le].Constructor=ce,i.default.fn[le].noConflict=function(){return i.default.fn[le]=ue,ce._jQueryInterface};var he=i.default.fn.tab,pe=function(){function t(t){this._element=t}var e=t.prototype;return e.show=function(){var t=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&i.default(this._element).hasClass("active")||i.default(this._element).hasClass("disabled"))){var e,n,o=i.default(this._element).closest(".nav, .list-group")[0],r=l.getSelectorFromElement(this._element);if(o){var a="UL"===o.nodeName||"OL"===o.nodeName?"> li > .active":".active";n=(n=i.default.makeArray(i.default(o).find(a)))[n.length-1]}var s=i.default.Event("hide.bs.tab",{relatedTarget:this._element}),u=i.default.Event("show.bs.tab",{relatedTarget:n});if(n&&i.default(n).trigger(s),i.default(this._element).trigger(u),!u.isDefaultPrevented()&&!s.isDefaultPrevented()){r&&(e=document.querySelector(r)),this._activate(this._element,o);var f=function(){var e=i.default.Event("hidden.bs.tab",{relatedTarget:t._element}),o=i.default.Event("shown.bs.tab",{relatedTarget:n});i.default(n).trigger(e),i.default(t._element).trigger(o)};e?this._activate(e,e.parentNode,f):f()}}},e.dispose=function(){i.default.removeData(this._element,"bs.tab"),this._element=null},e._activate=function(t,e,n){var o=this,r=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?i.default(e).children(".active"):i.default(e).find("> li > .active"))[0],a=n&&r&&i.default(r).hasClass("fade"),s=function(){return o._transitionComplete(t,r,n)};if(r&&a){var u=l.getTransitionDurationFromElement(r);i.default(r).removeClass("show").one(l.TRANSITION_END,s).emulateTransitionEnd(u)}else s()},e._transitionComplete=function(t,e,n){if(e){i.default(e).removeClass("active");var o=i.default(e.parentNode).find("> .dropdown-menu .active")[0];o&&i.default(o).removeClass("active"),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}if(i.default(t).addClass("active"),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),l.reflow(t),t.classList.contains("fade")&&t.classList.add("show"),t.parentNode&&i.default(t.parentNode).hasClass("dropdown-menu")){var r=i.default(t).closest(".dropdown")[0];if(r){var a=[].slice.call(r.querySelectorAll(".dropdown-toggle"));i.default(a).addClass("active")}t.setAttribute("aria-expanded",!0)}n&&n()},t._jQueryInterface=function(e){return this.each((function(){var n=i.default(this),o=n.data("bs.tab");if(o||(o=new t(this),n.data("bs.tab",o)),"string"==typeof e){if("undefined"==typeof o[e])throw new TypeError('No method named "'+e+'"');o[e]()}}))},r(t,null,[{key:"VERSION",get:function(){return"4.5.3"}}]),t}();i.default(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',(function(t){t.preventDefault(),pe._jQueryInterface.call(i.default(this),"show")})),i.default.fn.tab=pe._jQueryInterface,i.default.fn.tab.Constructor=pe,i.default.fn.tab.noConflict=function(){return i.default.fn.tab=he,pe._jQueryInterface};var me=i.default.fn.toast,ge={animation:"boolean",autohide:"boolean",delay:"number"},ve={animation:!0,autohide:!0,delay:500},_e=function(){function t(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners()}var e=t.prototype;return e.show=function(){var t=this,e=i.default.Event("show.bs.toast");if(i.default(this._element).trigger(e),!e.isDefaultPrevented()){this._clearTimeout(),this._config.animation&&this._element.classList.add("fade");var n=function(){t._element.classList.remove("showing"),t._element.classList.add("show"),i.default(t._element).trigger("shown.bs.toast"),t._config.autohide&&(t._timeout=setTimeout((function(){t.hide()}),t._config.delay))};if(this._element.classList.remove("hide"),l.reflow(this._element),this._element.classList.add("showing"),this._config.animation){var o=l.getTransitionDurationFromElement(this._element);i.default(this._element).one(l.TRANSITION_END,n).emulateTransitionEnd(o)}else n()}},e.hide=function(){if(this._element.classList.contains("show")){var t=i.default.Event("hide.bs.toast");i.default(this._element).trigger(t),t.isDefaultPrevented()||this._close()}},e.dispose=function(){this._clearTimeout(),this._element.classList.contains("show")&&this._element.classList.remove("show"),i.default(this._element).off("click.dismiss.bs.toast"),i.default.removeData(this._element,"bs.toast"),this._element=null,this._config=null},e._getConfig=function(t){return t=a({},ve,i.default(this._element).data(),"object"==typeof t&&t?t:{}),l.typeCheckConfig("toast",t,this.constructor.DefaultType),t},e._setListeners=function(){var t=this;i.default(this._element).on("click.dismiss.bs.toast",'[data-dismiss="toast"]',(function(){return t.hide()}))},e._close=function(){var t=this,e=function(){t._element.classList.add("hide"),i.default(t._element).trigger("hidden.bs.toast")};if(this._element.classList.remove("show"),this._config.animation){var n=l.getTransitionDurationFromElement(this._element);i.default(this._element).one(l.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},e._clearTimeout=function(){clearTimeout(this._timeout),this._timeout=null},t._jQueryInterface=function(e){return this.each((function(){var n=i.default(this),o=n.data("bs.toast");if(o||(o=new t(this,"object"==typeof e&&e),n.data("bs.toast",o)),"string"==typeof e){if("undefined"==typeof o[e])throw new TypeError('No method named "'+e+'"');o[e](this)}}))},r(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"DefaultType",get:function(){return ge}},{key:"Default",get:function(){return ve}}]),t}();i.default.fn.toast=_e._jQueryInterface,i.default.fn.toast.Constructor=_e,i.default.fn.toast.noConflict=function(){return i.default.fn.toast=me,_e._jQueryInterface},t.Alert=d,t.Button=h,t.Carousel=y,t.Collapse=S,t.Dropdown=Ft,t.Modal=Bt,t.Popover=se,t.Scrollspy=ce,t.Tab=pe,t.Toast=_e,t.Tooltip=te,t.Util=l,Object.defineProperty(t,"__esModule",{value:!0})})); +//# sourceMappingURL=bootstrap.bundle.min.js.map+ \ No newline at end of file diff --git a/static/js/jquery.min.js b/static/js/jquery.min.js @@ -0,0 +1,3 @@ +/*! jQuery v3.5.1 | (c) JS 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},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.5.1",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(),D=function(e,t){return e===t&&(l=!0),0},j={}.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.namespaceURI,n=(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="<a id='"+S+"'></a><select id='"+S+"-\r\\' msallowcapture=''><option selected=''></option></select>",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="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";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},D=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&&j.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(D),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(D).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===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="<input/>",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);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 D(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(D(this,e||[],!1))},not:function(e){return this.pushStack(D(this,e||[],!0))},is:function(e){return!!D(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var j,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"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,j=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,"-$&").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="<textarea>x</textarea>",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",y.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_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,"<select multiple='multiple'>","</select>"]);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=/^key/,we=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Te=/^([^.]*)(?:\.(.+)|)/;function Ce(){return!0}function Ee(){return!1}function Se(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function ke(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)ke(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=Ee;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 Ae(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.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,Ce)}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=Te.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=Te.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")&&Ae(t,"click",Ce),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ae(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?Ce:Ee,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:Ee,isPropagationStopped:Ee,isImmediatePropagationStopped:Ee,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ce,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ce,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ce,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:function(e){var t=e.button;return null==e.which&&be.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&we.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},S.event.addProp),S.each({focus:"focusin",blur:"focusout"},function(e,t){S.event.special[e]={setup:function(){return Ae(this,e,Se),!1},trigger:function(){return Ae(this,e),!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 ke(this,e,t,n,r)},one:function(e,t,n,r){return ke(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=Ee),this.each(function(){S.event.remove(this,e,n,t)})}});var Ne=/<script|<style|<link/i,De=/checked\s*(?:[^=]|=\s*.checked.)/i,je=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(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 Pe(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&&De.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Pe(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"),Le)).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,He),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(je,""),u,l))}return n}function Re(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++)Oe(o[r],a[r]);else Oe(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 Re(this,e,!0)},remove:function(e){return Re(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 Pe(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||qe(this,e).appendChild(e)})},prepend:function(){return Pe(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=qe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Pe(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&&!Ne.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 Pe(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 Me=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Ie=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},We=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},Fe=new RegExp(ne.join("|"),"i");function Be(e,t,n){var r,i,o,a,s=e.style;return(n=n||Ie(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Me.test(a)&&Fe.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 $e(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",t.style.height="1px",n.style.height="9px",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=3<parseInt(r.height),re.removeChild(e)),a}}))}();var _e=["Webkit","Moz","ms"],ze=E.createElement("div").style,Ue={};function Xe(e){var t=S.cssProps[e]||Ue[e];return t||(e in ze?e:Ue[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=_e.length;while(n--)if((e=_e[n]+t)in ze)return e}(e)||e)}var Ve=/^(none|table(?!-c[ea]).+)/,Ge=/^--/,Ye={position:"absolute",visibility:"hidden",display:"block"},Qe={letterSpacing:"0",fontWeight:"400"};function Je(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ke(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 Ze(e,t,n){var r=Ie(